.TH "globus_gsi_sysconfig_win32" 3 "Tue Jul 5 2022" "Version 9.5" "globus_gsi_sysconfig" \" -*- nroff -*-
.ad l
.nh
.SH NAME
globus_gsi_sysconfig_win32 \- Functions for Win32 platforms
.PP
 \- Functions for Win32 platforms\&.  

.SH SYNOPSIS
.br
.PP
.SS "Functions"

.in +1c
.ti -1c
.RI "globus_result_t \fBglobus_gsi_sysconfig_set_key_permissions_win32\fP (char *filename)"
.br
.RI "Win32 - Set Key Permissions\&. "
.ti -1c
.RI "globus_result_t \fBglobus_gsi_sysconfig_file_exists_win32\fP (const char *filename)"
.br
.RI "Win32 - File Exists\&. "
.ti -1c
.RI "globus_result_t \fBglobus_gsi_sysconfig_dir_exists_win32\fP (const char *filename)"
.br
.RI "Win32 - Directory Exists\&. "
.ti -1c
.RI "globus_result_t \fBglobus_gsi_sysconfig_get_current_working_dir_win32\fP (char **working_dir)"
.br
.RI "Win32 - Get Current Working Directory\&. "
.ti -1c
.RI "globus_result_t \fBglobus_gsi_sysconfig_make_absolute_path_for_filename_win32\fP (char *filename, char **absolute_path)"
.br
.RI "Win32 - Make Absolute Path\&. "
.ti -1c
.RI "globus_result_t \fBglobus_gsi_sysconfig_split_dir_and_filename_win32\fP (char *full_filename, char **dir_string, char **filename_string)"
.br
.RI "Win32 - Split Directory and Filename\&. "
.ti -1c
.RI "globus_result_t \fBglobus_gsi_sysconfig_get_cert_dir_win32\fP (char **cert_dir)"
.br
.RI "Win32 - Get Trusted CA Cert Dir\&. "
.ti -1c
.RI "globus_result_t \fBglobus_gsi_sysconfig_get_user_cert_filename_win32\fP (char **user_cert, char **user_key)"
.br
.RI "Win32 - Get User Certificate Filename\&. "
.ti -1c
.RI "globus_result_t \fBglobus_gsi_sysconfig_get_host_cert_filename_win32\fP (char **host_cert, char **host_key)"
.br
.RI "Win32 - Get Host Certificate and Key Filenames\&. "
.ti -1c
.RI "globus_result_t \fBglobus_gsi_sysconfig_get_service_cert_filename_win32\fP (char *service_name, char **service_cert, char **service_key)"
.br
.RI "Win32 - Get Service Certificate and Key Filenames\&. "
.ti -1c
.RI "globus_result_t \fBglobus_gsi_sysconfig_get_proxy_filename_win32\fP (char **user_proxy, \fBglobus_gsi_proxy_file_type_t\fP proxy_file_type)"
.br
.RI "Win32 - Get Proxy Filename\&. "
.ti -1c
.RI "globus_result_t \fBglobus_gsi_sysconfig_get_ca_cert_files_win32\fP (char *ca_cert_dir, globus_fifo_t *ca_cert_list)"
.br
.RI "Win32 - Get CA Cert Filenames\&. "
.ti -1c
.RI "globus_result_t \fBglobus_gsi_sysconfig_remove_all_owned_files_win32\fP (char *default_filename)"
.br
.RI "Win32 - Remove all proxies owned by current uid\&. "
.ti -1c
.RI "globus_result_t \fBglobus_gsi_sysconfig_get_gridmap_filename_win32\fP (char **filename)"
.br
.RI "Win32 - Get the path and file name of the grid map file\&. "
.ti -1c
.RI "globus_result_t \fBglobus_gsi_sysconfig_get_authz_conf_filename_win32\fP (char **filename)"
.br
.RI "Win32 - Get the path and file name of the grid map file\&. "
.ti -1c
.RI "globus_result_t \fBglobus_gsi_sysconfig_get_authz_lib_conf_filename_win32\fP (char **filename)"
.br
.RI "Win32 - Get authorization configuration filename\&. "
.ti -1c
.RI "globus_result_t \fBglobus_gsi_sysconfig_get_gaa_conf_filename_win32\fP (char **filename)"
.br
.RI "Win32 - Get the path and file name of the gaa config file\&. "
.ti -1c
.RI "globus_result_t \fBglobus_gsi_sysconfig_is_superuser_win32\fP (int *is_superuser)"
.br
.RI "Win32 - Check if the current user is root\&. "
.ti -1c
.RI "globus_result_t \fBglobus_gsi_sysconfig_get_signing_policy_filename_win32\fP (X509_NAME *ca_name, char *cert_dir, char **signing_policy_filename)"
.br
.RI "Win32 - Get Signing Policy Filename\&. "
.in -1c
.SH "Detailed Description"
.PP 
Functions for Win32 platforms\&. 

These functions implement the Win32 version of the Globus GSI System Configuration API\&. \fBThey should never be called directly, please use the provided platform independent defines\&.\fP 
.SH "Function Documentation"
.PP 
.SS "globus_result_t globus_gsi_sysconfig_dir_exists_win32 (const char * filename)"

.PP
Win32 - Directory Exists\&. Check that the directory exists
.PP
\fBParameters\fP
.RS 4
\fIfilename\fP the file to check
.RE
.PP
\fBReturns\fP
.RS 4
GLOBUS_SUCCESS if the directory exists, otherwise an error object identifier\&. 
.RE
.PP

.SS "globus_result_t globus_gsi_sysconfig_file_exists_win32 (const char * filename)"

.PP
Win32 - File Exists\&. Check that the file exists
.PP
\fBParameters\fP
.RS 4
\fIfilename\fP the file to check
.RE
.PP
\fBReturns\fP
.RS 4
GLOBUS_SUCCESS (even if the file doesn't exist) - in some abortive cases an error object identifier is returned 
.RE
.PP

.SS "globus_result_t globus_gsi_sysconfig_get_authz_conf_filename_win32 (char ** filename)"

.PP
Win32 - Get the path and file name of the grid map file\&. Get the path and file name of the authorization callback configuration file
.PP
\fBParameters\fP
.RS 4
\fIfilename\fP Contains the location of the authorization callback configuration file upon successful return 
.RE
.PP
\fBReturns\fP
.RS 4
GLOBUS_SUCCESS if no error occurred, otherwise an error object ID is returned 
.RE
.PP

.SS "globus_result_t globus_gsi_sysconfig_get_authz_lib_conf_filename_win32 (char ** filename)"

.PP
Win32 - Get authorization configuration filename\&. Get the path and file name of the authorization callback library configuration file
.PP
\fBParameters\fP
.RS 4
\fIfilename\fP Contains the location of the authorization callback library configuration file upon successful return 
.RE
.PP
\fBReturns\fP
.RS 4
GLOBUS_SUCCESS if no error occurred, otherwise an error object ID is returned 
.RE
.PP

.SS "globus_result_t globus_gsi_sysconfig_get_ca_cert_files_win32 (char * ca_cert_dir, globus_fifo_t * ca_cert_list)"

.PP
Win32 - Get CA Cert Filenames\&. Gets a list of trusted CA certificate filenames in a trusted CA certificate directory\&. 
.br
.PP
\fBParameters\fP
.RS 4
\fIca_cert_dir\fP The trusted CA certificate directory to get the filenames from 
.br
\fIca_cert_list\fP The resulting list of CA certificate filenames\&. This is a globus list structure\&. 
.br
 
.RE
.PP
\fBSee also\fP
.RS 4
globus_fifo_t 
.RE
.PP
\fBReturns\fP
.RS 4
GLOBUS_SUCCESS if no error occurred, otherwise an error object ID is returned 
.RE
.PP

.SS "globus_result_t globus_gsi_sysconfig_get_cert_dir_win32 (char ** cert_dir)"

.PP
Win32 - Get Trusted CA Cert Dir\&. Get the Trusted Certificate Directory containing the trusted Certificate Authority certificates\&. This directory is determined in the order shown below\&. Failure in one method results in attempting the next\&.
.PP
.PD 0
.IP "1." 4
\fBX509_CERT_DIR environment variable\fP - if this is set, the trusted certificates will be searched for in that directory\&. This variable allows the end user to specify the location of trusted certificates\&. 
.IP "2." 4
\fBx509_cert_dir registry key\fP - If this registry key is set on windows, the directory it points to should contain the trusted certificates\&. The path to the registry key is software\\Globus\\GSI 
.IP "3." 4
\fB\\<user home directory>\\\fP\fB\&.globus\\certificates\fP - If this directory exists, and the previous methods of determining the trusted certs directory failed, this directory will be used\&. 
.br
 
.IP "4." 4
\fBHost Trusted Cert Dir\fP - This location is intended to be independent of the globus installation ($GLOBUS_LOCATION), and is generally only writeable by the host system administrator\&. 
.br
 
.IP "5." 4
\fBGlobus Install Trusted Cert Dir\fP - this is $GLOBUS_LOCATION\\share\\certificates\&. 
.br
 
.PP
.PP
\fBParameters\fP
.RS 4
\fIcert_dir\fP The trusted certificates directory 
.RE
.PP
\fBReturns\fP
.RS 4
GLOBUS_SUCCESS if no error occurred, and a sufficient trusted certificates directory was found\&. Otherwise, an error object identifier returned\&. 
.RE
.PP

.SS "globus_result_t globus_gsi_sysconfig_get_current_working_dir_win32 (char ** working_dir)"

.PP
Win32 - Get Current Working Directory\&. Get the current working directory on a windows system
.PP
\fBParameters\fP
.RS 4
\fIworking_dir\fP The working directory to get 
.RE
.PP
\fBReturns\fP
.RS 4
GLOBUS_SUCCESS if no error occurred, otherwise an error object ID is returned 
.RE
.PP

.SS "globus_result_t globus_gsi_sysconfig_get_gaa_conf_filename_win32 (char ** filename)"

.PP
Win32 - Get the path and file name of the gaa config file\&. Get the path and file name of the gaa config configuration file \&.
.PP
\fBParameters\fP
.RS 4
\fIfilename\fP Contains the location of the authorization callback configuration file upon successful return 
.RE
.PP
\fBReturns\fP
.RS 4
GLOBUS_SUCCESS if no error occurred, otherwise an error object ID is returned 
.RE
.PP

.SS "globus_result_t globus_gsi_sysconfig_get_gridmap_filename_win32 (char ** filename)"

.PP
Win32 - Get the path and file name of the grid map file\&. Get the path and file name of the grid map file\&.
.PP
\fBParameters\fP
.RS 4
\fIfilename\fP Contains the location of the grid map file upon successful return 
.RE
.PP
\fBReturns\fP
.RS 4
GLOBUS_SUCCESS if no error occurred, otherwise an error object ID is returned 
.RE
.PP

.SS "globus_result_t globus_gsi_sysconfig_get_host_cert_filename_win32 (char ** host_cert, char ** host_key)"

.PP
Win32 - Get Host Certificate and Key Filenames\&. Get the Host Certificate and Key Filenames based on the current user's environment\&. The host cert and key are searched for in the following locations (in order):
.PP
.PD 0
.IP "1." 4
X509_USER_CERT and X509_USER_KEY environment variables 
.IP "2." 4
registry keys x509_user_cert and x509_user_key in software\\Globus\\GSI 
.IP "3." 4
\fB<GLOBUS_LOCATION>\\etc\\host[cert|key]\&.pem\fP 
.IP "4." 4
\fB<users home directory>\\\fP\fB\&.globus\\host[cert|key]\&.pem\fP 
.PP
.PP
\fBParameters\fP
.RS 4
\fIhost_cert\fP pointer to the host certificate filename 
.br
\fIhost_key\fP pointer to the host key filename
.RE
.PP
\fBReturns\fP
.RS 4
GLOBUS_SUCCESS if the host cert and key were found, otherwise an error object identifier is returned 
.RE
.PP

.SS "globus_result_t globus_gsi_sysconfig_get_proxy_filename_win32 (char ** user_proxy, \fBglobus_gsi_proxy_file_type_t\fP proxy_file_type)"

.PP
Win32 - Get Proxy Filename\&. Get the proxy cert filename based on the following search order:
.PP
.PD 0
.IP "1." 4
X509_USER_PROXY environment variable - This environment variable is set by the at run time for the specific application\&. If the proxy_file_type variable is set to GLOBUS_PROXY_OUTPUT (a proxy filename for writing is requested), and the X509_USER_PROXY is set, this will be the resulting value of the user_proxy filename string passed in\&. If the proxy_file_type is set to GLOBUS_PROXY_INPUT and X509_USER_PROXY is set, but the file it points to does not exist, or has some other readability issues, the function will continue checking using the other methods available\&.
.PP

.IP "2." 4
check the registry key: x509_user_proxy\&. Just as with the environment variable, if the registry key is set, and proxy_file_type is GLOBUS_PROXY_OUTPUT, the string set to be the proxy filename will be this registry key's value\&. If proxy_file_type is GLOBUS_PROXY_INPUT, and the file doesn't exist, the function will check the next method for the proxy's filename\&.
.PP

.IP "3." 4
Check the default location for the proxy file\&. The default location should be set to reside in the temp directory on that host, with the filename taking the format: x509_u<user id> where <user id> is some unique string for that user on the host 
.PP
.PP
\fBParameters\fP
.RS 4
\fIuser_proxy\fP the proxy filename of the user 
.br
\fIproxy_file_type\fP Switch for determining whether to return a existing proxy filename or if a filename suitable for creating a proxy should be returned
.RE
.PP
\fBReturns\fP
.RS 4
GLOBUS_SUCCESS or an error object identifier 
.RE
.PP

.SS "globus_result_t globus_gsi_sysconfig_get_service_cert_filename_win32 (char * service_name, char ** service_cert, char ** service_key)"

.PP
Win32 - Get Service Certificate and Key Filenames\&. Get the Service Certificate Filename based on the current user's environment\&. The host cert and key are searched for in the following locations (in order):
.PP
.PD 0
.IP "1." 4
X509_USER_CERT and X509_USER_KEY environment variables 
.IP "2." 4
registry keys x509_user_cert and x509_user_key in software\\Globus\\GSI 
.IP "3." 4
GLOBUS_LOCATION\\etc\\{service_name}\\{service_name}[cert|key]\&.pem So for example, if my service was named: myservice, the location of the certificate would be: \fB<GLOBUS_LOCATION>\\etc\\myservice\\myservicecert\&.pem\fP 
.IP "4." 4
\fB<users home>\\\fP\fB\&.globus\\{service_name}\\{service_name}[cert|key]\&.pem\fP 
.PP
.PP
\fBParameters\fP
.RS 4
\fIservice_name\fP The name of the service which allows us to determine the locations of cert and key files to look for 
.br
\fIservice_cert\fP pointer to the host certificate filename 
.br
\fIservice_key\fP pointer to the host key filename
.RE
.PP
\fBReturns\fP
.RS 4
GLOBUS_SUCCESS if the service cert and key were found, otherwise an error object identifier 
.RE
.PP

.SS "globus_result_t globus_gsi_sysconfig_get_signing_policy_filename_win32 (X509_NAME * ca_name, char * cert_dir, char ** signing_policy_filename)"

.PP
Win32 - Get Signing Policy Filename\&. Get the Signing Policy Filename on the current system, based on the CA's subject name, and the trusted certificates directory
.PP
\fBParameters\fP
.RS 4
\fIca_name\fP The X\&.509 subject name of the CA to get the signing policy of\&. The hash of the CA is generated from this
.br
\fIcert_dir\fP The trusted CA certificates directory, containing the singing_policy files of the trusted CAs\&.
.br
\fIsigning_policy_filename\fP The resulting singing_policy filename 
.RE
.PP
\fBReturns\fP
.RS 4
GLOBUS_SUCCESS if no error occurred, otherwise an error object ID 
.RE
.PP

.SS "globus_result_t globus_gsi_sysconfig_get_user_cert_filename_win32 (char ** user_cert, char ** user_key)"

.PP
Win32 - Get User Certificate Filename\&. Get the User Certificate Filename based on the current user's environment\&. The following locations are searched for cert and key files in order:
.PP
.PD 0
.IP "1." 4
environment variables X509_USER_CERT and X509_USER_KEY 
.IP "2." 4
registry keys x509_user_cert and x509_user_key in software\\Globus\\GSI 
.IP "3." 4
\fB<users home directory>\\\fP\fB\&.globus\\usercert\&.pem\fP and \fB<users home directory>\\\fP\fB\&.globus\\userkey\&.pem\fP 
.IP "4." 4
\fB<users home directory>\\\fP\fB\&.globus\\usercred\&.p12\fP - this is a PKCS12 credential 
.PP
.PP
\fBParameters\fP
.RS 4
\fIuser_cert\fP pointer the filename of the user certificate 
.br
\fIuser_key\fP pointer to the filename of the user key 
.RE
.PP
\fBReturns\fP
.RS 4
GLOBUS_SUCCESS if the cert and key files were found in one of the possible locations, otherwise an error object identifier is returned 
.RE
.PP

.SS "globus_result_t globus_gsi_sysconfig_is_superuser_win32 (int * is_superuser)"

.PP
Win32 - Check if the current user is root\&. Checks whether the current user is root\&.
.PP
\fBParameters\fP
.RS 4
\fIis_superuser\fP 1 if the user is the superuser 0 if not 
.RE
.PP
\fBReturns\fP
.RS 4
GLOBUS_SUCCESS if no error occurred, otherwise an error object ID is returned 
.RE
.PP

.SS "globus_result_t globus_gsi_sysconfig_make_absolute_path_for_filename_win32 (char * filename, char ** absolute_path)"

.PP
Win32 - Make Absolute Path\&. Make the filename into an absolute path string based on the current working directory\&.
.PP
\fBParameters\fP
.RS 4
\fIfilename\fP the filename to get the absolute path of\&. 
.br
 
.br
\fIabsolute_path\fP The resulting absolute path 
.RE
.PP
\fBReturns\fP
.RS 4
GLOBUS_SUCCESS if no error occurred, otherwise an error object ID is returned 
.RE
.PP

.SS "globus_result_t globus_gsi_sysconfig_remove_all_owned_files_win32 (char * default_filename)"

.PP
Win32 - Remove all proxies owned by current uid\&. Removes all proxies (all delegated and grid-proxy-init generated proxies) found in the secure temp directory that are owned by the current user\&.
.PP
\fBParameters\fP
.RS 4
\fIdefault_filename\fP The filename of the default proxy 
.RE
.PP
\fBReturns\fP
.RS 4
GLOBUS_SUCCESS if no error occurred, otherwise an error object ID is returned 
.RE
.PP

.SS "globus_result_t globus_gsi_sysconfig_set_key_permissions_win32 (char * filename)"

.PP
Win32 - Set Key Permissions\&. Set the file permissions of a file to read only by the user which are the permissions that should be set for all private keys\&.
.PP
\fBParameters\fP
.RS 4
\fIfilename\fP 
.RE
.PP
\fBReturns\fP
.RS 4
GLOBUS_SUCCESS or an error object id 
.RE
.PP

.SS "globus_result_t globus_gsi_sysconfig_split_dir_and_filename_win32 (char * full_filename, char ** dir_string, char ** filename_string)"

.PP
Win32 - Split Directory and Filename\&. Split the directory and filename portions of a filename string into two separate strings
.PP
\fBParameters\fP
.RS 4
\fIfull_filename\fP 
.br
\fIdir_string\fP 
.br
\fIfilename_string\fP 
.RE
.PP
\fBReturns\fP
.RS 4
.RE
.PP

.SH "Author"
.PP 
Generated automatically by Doxygen for globus_gsi_sysconfig from the source code\&.