CGSI_gSOAP 1.3.4

cgsi_plugin.h

Go to the documentation of this file.
00001 /*  
00002  * Copyright (c) Members of the EGEE Collaboration. 2004.
00003  * See http://www.eu-egee.org/partners/ for details on the copyright holders.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *     http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00029 #include <stdsoap2.h>
00030 
00031 #ifdef __cplusplus
00032 extern "C" {
00033 #endif
00034 
00035 
00041 #define CGSI_OPT_CLIENT             0x1
00042 
00043 #define CGSI_OPT_SERVER             0x2
00044 
00045 #define CGSI_OPT_DELEG_FLAG         0x4
00046 
00047 #define CGSI_OPT_SSL_COMPATIBLE     0x8
00048 
00049 #define CGSI_OPT_DISABLE_NAME_CHECK 0x10
00050 
00051 #define CGSI_OPT_KEEP_ALIVE         0x20  
00052 
00053 #define CGSI_OPT_DISABLE_MAPPING    0x40
00054 
00056 #define CGSI_OPT_DISABLE_VOMS_CHECK 0x80
00057 
00059 #define CGSI_OPT_ALLOW_ONLY_SELF    0x100
00060 
00073 int soap_cgsi_init(struct soap *soap, int cgsi_options);
00074 
00084 int cgsi_plugin(struct soap *soap, struct soap_plugin *plugin, void *arg);
00085 
00095 int client_cgsi_plugin(struct soap *soap, struct soap_plugin *plugin, void *arg);
00096 
00106 int server_cgsi_plugin(struct soap *soap, struct soap_plugin *plugin, void *arg);
00107 
00115 int is_context_established(struct soap *soap);
00116 
00126 int get_client_dn(struct soap *soap, char *dn, size_t dnlen);
00127 
00137 int get_client_username(struct soap *soap, char *username, size_t dnlen);
00138 
00151 int get_delegated_credentials(struct soap *soap, void **buffer, size_t *length);
00152 
00161 int export_delegated_credentials(struct soap *soap, char *filename);
00162 
00170 int has_delegated_credentials(struct soap *soap);
00171 
00180 int set_default_proxy_file(struct soap *soap, char *filename);
00181 
00188 void clear_default_proxy_file(int unlink_file);
00189 
00199 int retrieve_voms_creds(struct soap *soap);
00200 int retrieve_userca_and_voms_creds(struct soap *soap);
00201 
00210 char *get_client_ca(struct soap *soap);
00211 
00220 char *get_client_voname(struct soap *soap);
00221 
00232 char ** get_client_roles(struct soap *soap, int* nbfqans);
00233 
00234 
00235 #ifdef __cplusplus
00236 }
00237 #endif
Copyright © 2004-2009 EU-EGEE