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
00137 typedef enum
00138 {
00142 GLOBUS_XIO_GSI_ERROR_INVALID_PROTECTION_LEVEL,
00144 GLOBUS_XIO_GSI_ERROR_WRAP_GSSAPI,
00148 GLOBUS_XIO_GSI_ERROR_EMPTY_TARGET_NAME,
00152 GLOBUS_XIO_GSI_ERROR_EMPTY_HOST_NAME,
00154 GLOBUS_XIO_GSI_AUTHORIZATION_FAILED,
00158 GLOBUS_XIO_GSI_ERROR_TOKEN_TOO_BIG
00159 } globus_xio_gsi_error_t;
00160
00168 #define globus_xio_gsi_attr_cntl globus_xio_attr_cntl
00169 #define globus_xio_gsi_handle_cntl globus_xio_handle_cntl
00170
00175 typedef enum
00176 {
00188
00189 GLOBUS_XIO_GSI_SET_CREDENTIAL,
00190
00201
00202 GLOBUS_XIO_GSI_GET_CREDENTIAL,
00203
00211
00212 GLOBUS_XIO_GSI_SET_GSSAPI_REQ_FLAGS,
00213
00221
00222 GLOBUS_XIO_GSI_GET_GSSAPI_REQ_FLAGS,
00223
00234
00235 GLOBUS_XIO_GSI_SET_PROXY_MODE,
00236
00245
00246 GLOBUS_XIO_GSI_GET_PROXY_MODE,
00247
00257
00258 GLOBUS_XIO_GSI_SET_AUTHORIZATION_MODE,
00259
00267
00268 GLOBUS_XIO_GSI_GET_AUTHORIZATION_MODE,
00269
00278
00279 GLOBUS_XIO_GSI_SET_DELEGATION_MODE,
00280
00288
00289 GLOBUS_XIO_GSI_GET_DELEGATION_MODE,
00290
00303
00304 GLOBUS_XIO_GSI_SET_SSL_COMPATIBLE,
00305
00315
00316 GLOBUS_XIO_GSI_SET_ANON,
00317
00328
00329 GLOBUS_XIO_GSI_SET_WRAP_MODE,
00330
00341
00342 GLOBUS_XIO_GSI_GET_WRAP_MODE,
00343
00355
00356 GLOBUS_XIO_GSI_SET_BUFFER_SIZE,
00357
00369
00370 GLOBUS_XIO_GSI_GET_BUFFER_SIZE,
00371
00382
00383 GLOBUS_XIO_GSI_SET_PROTECTION_LEVEL,
00384
00392
00393 GLOBUS_XIO_GSI_GET_PROTECTION_LEVEL,
00394
00402
00403 GLOBUS_XIO_GSI_GET_TARGET_NAME,
00404
00414
00415 GLOBUS_XIO_GSI_SET_TARGET_NAME,
00416
00424
00425 GLOBUS_XIO_GSI_GET_CONTEXT,
00426
00434
00435 GLOBUS_XIO_GSI_GET_DELEGATED_CRED,
00436
00444
00445 GLOBUS_XIO_GSI_GET_PEER_NAME,
00446
00454
00455 GLOBUS_XIO_GSI_GET_LOCAL_NAME,
00456
00471
00472
00473
00474
00475 GLOBUS_XIO_GSI_INIT_DELEGATION,
00476
00495
00496
00497
00498
00499
00500
00501 GLOBUS_XIO_GSI_REGISTER_INIT_DELEGATION,
00516
00517
00518
00519
00520 GLOBUS_XIO_GSI_ACCEPT_DELEGATION,
00521
00538
00539
00540
00541
00542
00543 GLOBUS_XIO_GSI_REGISTER_ACCEPT_DELEGATION,
00544
00555
00556 GLOBUS_XIO_GSI_FORCE_SERVER_MODE,
00557
00566
00567 GLOBUS_XIO_GSI_SET_ALLOW_MISSING_SIGNING_POLICY,
00568
00576
00577 GLOBUS_XIO_GSI_GET_ALLOW_MISSING_SIGNING_POLICY
00578 } globus_xio_gsi_cmd_t;
00579
00584 typedef enum
00585 {
00587 GLOBUS_XIO_GSI_PROTECTION_LEVEL_NONE,
00589 GLOBUS_XIO_GSI_PROTECTION_LEVEL_INTEGRITY,
00591 GLOBUS_XIO_GSI_PROTECTION_LEVEL_PRIVACY
00592 } globus_xio_gsi_protection_level_t;
00593
00598 typedef enum
00599 {
00601 GLOBUS_XIO_GSI_DELEGATION_MODE_NONE,
00603 GLOBUS_XIO_GSI_DELEGATION_MODE_LIMITED,
00605 GLOBUS_XIO_GSI_DELEGATION_MODE_FULL
00606 } globus_xio_gsi_delegation_mode_t;
00607
00612 typedef enum
00613 {
00615 GLOBUS_XIO_GSI_PROXY_MODE_FULL,
00619 GLOBUS_XIO_GSI_PROXY_MODE_LIMITED,
00621 GLOBUS_XIO_GSI_PROXY_MODE_MANY
00622 } globus_xio_gsi_proxy_mode_t;
00623
00624
00629 typedef enum
00630 {
00634 GLOBUS_XIO_GSI_NO_AUTHORIZATION,
00636 GLOBUS_XIO_GSI_SELF_AUTHORIZATION,
00640 GLOBUS_XIO_GSI_IDENTITY_AUTHORIZATION,
00644 GLOBUS_XIO_GSI_HOST_AUTHORIZATION
00645 } globus_xio_gsi_authorization_mode_t;
00646
00651 typedef void (* globus_xio_gsi_delegation_init_callback_t)(
00652 globus_result_t result,
00653 void * user_arg);
00654
00659 typedef void (* globus_xio_gsi_delegation_accept_callback_t)(
00660 globus_result_t result,
00661 gss_cred_id_t delegated_cred,
00662 OM_uint32 time_rec,
00663 void * user_arg);
00664
00665 #ifdef __cplusplus
00666 }
00667 #endif
00668
00669 #endif