cgsi_plugin.h

Go to the documentation of this file.
00001 /*  
00002  * Copyright (c) Members of the EGEE Collaboration. 2004-2009.
00003  * See http://public.eu-egee.org/partners/ for details on 
00004  * the copyright holders.
00005  * For license conditions see the license file or
00006  * http://www.apache.org/licenses/LICENSE-2.0
00007  */
00008 
00021 #include <stdsoap2.h>
00022 
00023 #ifdef __cplusplus
00024 extern "C" {
00025 #endif
00026 
00027 
00033 #define CGSI_OPT_CLIENT             0x1
00034 
00035 #define CGSI_OPT_SERVER             0x2
00036 
00037 #define CGSI_OPT_DELEG_FLAG         0x4
00038 
00039 #define CGSI_OPT_SSL_COMPATIBLE     0x8
00040 
00041 #define CGSI_OPT_DISABLE_NAME_CHECK 0x10
00042 
00043 #define CGSI_OPT_KEEP_ALIVE         0x20  
00044 
00045 #define CGSI_OPT_DISABLE_MAPPING    0x40
00046 
00048 #define CGSI_OPT_DISABLE_VOMS_CHECK 0x80
00049 
00051 #define CGSI_OPT_ALLOW_ONLY_SELF    0x100
00052 
00065 int soap_cgsi_init(struct soap *soap, int cgsi_options);
00066 
00076 int cgsi_plugin(struct soap *soap, struct soap_plugin *plugin, void *arg);
00077 
00087 int client_cgsi_plugin(struct soap *soap, struct soap_plugin *plugin, void *arg);
00088 
00098 int server_cgsi_plugin(struct soap *soap, struct soap_plugin *plugin, void *arg);
00099 
00107 int is_context_established(struct soap *soap);
00108 
00118 int get_client_dn(struct soap *soap, char *dn, size_t dnlen);
00119 
00129 int get_client_username(struct soap *soap, char *username, size_t dnlen);
00130 
00143 int get_delegated_credentials(struct soap *soap, void **buffer, size_t *length);
00144 
00153 int export_delegated_credentials(struct soap *soap, char *filename);
00154 
00162 int has_delegated_credentials(struct soap *soap);
00163 
00172 int set_default_proxy_file(struct soap *soap, char *filename);
00173 
00180 void clear_default_proxy_file(int unlink_file);
00181 
00191 int retrieve_voms_credentials(struct soap *soap);
00192 
00201 char *get_client_voname(struct soap *soap);
00202 
00213 char ** get_client_roles(struct soap *soap, int* nbfqans);
00214 
00215 
00216 #ifdef __cplusplus
00217 }
00218 #endif
Copyright © 2004-2009 EU-EGEE