00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef GLOBUS_XIO_GSI_DRIVER_H
00018 #define GLOBUS_XIO_GSI_DRIVER_H
00019
00027 #include "gssapi.h"
00028 #include "globus_common.h"
00029
00030 #ifdef __cplusplus
00031 extern "C" {
00032 #endif
00033
00034
00035 #ifndef GLOBUS_GLOBAL_DOCUMENT_SET
00036
00040 #endif
00041
00138 typedef enum
00139 {
00143 GLOBUS_XIO_GSI_ERROR_INVALID_PROTECTION_LEVEL,
00145 GLOBUS_XIO_GSI_ERROR_WRAP_GSSAPI,
00149 GLOBUS_XIO_GSI_ERROR_EMPTY_TARGET_NAME,
00153 GLOBUS_XIO_GSI_ERROR_EMPTY_HOST_NAME,
00155 GLOBUS_XIO_GSI_AUTHORIZATION_FAILED,
00159 GLOBUS_XIO_GSI_ERROR_TOKEN_TOO_BIG
00160 } globus_xio_gsi_error_t;
00161
00169 #define globus_xio_gsi_attr_cntl globus_xio_attr_cntl
00170 #define globus_xio_gsi_handle_cntl globus_xio_handle_cntl
00171
00176 typedef enum
00177 {
00189
00190 GLOBUS_XIO_GSI_SET_CREDENTIAL,
00191
00202
00203 GLOBUS_XIO_GSI_GET_CREDENTIAL,
00204
00212
00213 GLOBUS_XIO_GSI_SET_GSSAPI_REQ_FLAGS,
00214
00222
00223 GLOBUS_XIO_GSI_GET_GSSAPI_REQ_FLAGS,
00224
00235
00236 GLOBUS_XIO_GSI_SET_PROXY_MODE,
00237
00246
00247 GLOBUS_XIO_GSI_GET_PROXY_MODE,
00248
00258
00259 GLOBUS_XIO_GSI_SET_AUTHORIZATION_MODE,
00260
00268
00269 GLOBUS_XIO_GSI_GET_AUTHORIZATION_MODE,
00270
00279
00280 GLOBUS_XIO_GSI_SET_DELEGATION_MODE,
00281
00289
00290 GLOBUS_XIO_GSI_GET_DELEGATION_MODE,
00291
00304
00305 GLOBUS_XIO_GSI_SET_SSL_COMPATIBLE,
00306
00316
00317 GLOBUS_XIO_GSI_SET_ANON,
00318
00329
00330 GLOBUS_XIO_GSI_SET_WRAP_MODE,
00331
00342
00343 GLOBUS_XIO_GSI_GET_WRAP_MODE,
00344
00356
00357 GLOBUS_XIO_GSI_SET_BUFFER_SIZE,
00358
00370
00371 GLOBUS_XIO_GSI_GET_BUFFER_SIZE,
00372
00383
00384 GLOBUS_XIO_GSI_SET_PROTECTION_LEVEL,
00385
00393
00394 GLOBUS_XIO_GSI_GET_PROTECTION_LEVEL,
00395
00403
00404 GLOBUS_XIO_GSI_GET_TARGET_NAME,
00405
00415
00416 GLOBUS_XIO_GSI_SET_TARGET_NAME,
00417
00425
00426 GLOBUS_XIO_GSI_GET_CONTEXT,
00427
00435
00436 GLOBUS_XIO_GSI_GET_DELEGATED_CRED,
00437
00445
00446 GLOBUS_XIO_GSI_GET_PEER_NAME,
00447
00455
00456 GLOBUS_XIO_GSI_GET_LOCAL_NAME,
00457
00472
00473
00474
00475
00476 GLOBUS_XIO_GSI_INIT_DELEGATION,
00477
00496
00497
00498
00499
00500
00501
00502 GLOBUS_XIO_GSI_REGISTER_INIT_DELEGATION,
00517
00518
00519
00520
00521 GLOBUS_XIO_GSI_ACCEPT_DELEGATION,
00522
00539
00540
00541
00542
00543
00544 GLOBUS_XIO_GSI_REGISTER_ACCEPT_DELEGATION,
00545
00556
00557 GLOBUS_XIO_GSI_FORCE_SERVER_MODE,
00558
00567
00568 GLOBUS_XIO_GSI_SET_ALLOW_MISSING_SIGNING_POLICY,
00569
00577
00578 GLOBUS_XIO_GSI_GET_ALLOW_MISSING_SIGNING_POLICY,
00579
00590
00591 GLOBUS_XIO_GSI_SET_CREDENTIALS_DIR,
00592
00602
00603 GLOBUS_XIO_GSI_SET_APPLICATION_PROTOCOLS,
00604 } globus_xio_gsi_cmd_t;
00605
00610 typedef enum
00611 {
00613 GLOBUS_XIO_GSI_PROTECTION_LEVEL_NONE,
00615 GLOBUS_XIO_GSI_PROTECTION_LEVEL_INTEGRITY,
00617 GLOBUS_XIO_GSI_PROTECTION_LEVEL_PRIVACY
00618 } globus_xio_gsi_protection_level_t;
00619
00624 typedef enum
00625 {
00627 GLOBUS_XIO_GSI_DELEGATION_MODE_NONE,
00629 GLOBUS_XIO_GSI_DELEGATION_MODE_LIMITED,
00631 GLOBUS_XIO_GSI_DELEGATION_MODE_FULL
00632 } globus_xio_gsi_delegation_mode_t;
00633
00638 typedef enum
00639 {
00641 GLOBUS_XIO_GSI_PROXY_MODE_FULL,
00645 GLOBUS_XIO_GSI_PROXY_MODE_LIMITED,
00647 GLOBUS_XIO_GSI_PROXY_MODE_MANY
00648 } globus_xio_gsi_proxy_mode_t;
00649
00650
00655 typedef enum
00656 {
00660 GLOBUS_XIO_GSI_NO_AUTHORIZATION,
00662 GLOBUS_XIO_GSI_SELF_AUTHORIZATION,
00666 GLOBUS_XIO_GSI_IDENTITY_AUTHORIZATION,
00670 GLOBUS_XIO_GSI_HOST_AUTHORIZATION
00671 } globus_xio_gsi_authorization_mode_t;
00672
00677 typedef void (* globus_xio_gsi_delegation_init_callback_t)(
00678 globus_result_t result,
00679 void * user_arg);
00680
00685 typedef void (* globus_xio_gsi_delegation_accept_callback_t)(
00686 globus_result_t result,
00687 gss_cred_id_t delegated_cred,
00688 OM_uint32 time_rec,
00689 void * user_arg);
00690
00691 #ifdef __cplusplus
00692 }
00693 #endif
00694
00695 #endif