CGSI_gSOAP 1.3.4
|
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