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
00232
00233 GLOBUS_XIO_GSI_SET_PROXY_MODE,
00234
00243
00244 GLOBUS_XIO_GSI_GET_PROXY_MODE,
00245
00253
00254 GLOBUS_XIO_GSI_SET_AUTHORIZATION_MODE,
00255
00263
00264 GLOBUS_XIO_GSI_GET_AUTHORIZATION_MODE,
00265
00274
00275 GLOBUS_XIO_GSI_SET_DELEGATION_MODE,
00276
00284
00285 GLOBUS_XIO_GSI_GET_DELEGATION_MODE,
00286
00297
00298 GLOBUS_XIO_GSI_SET_SSL_COMPATIBLE,
00299
00309
00310 GLOBUS_XIO_GSI_SET_ANON,
00311
00322
00323 GLOBUS_XIO_GSI_SET_WRAP_MODE,
00324
00335
00336 GLOBUS_XIO_GSI_GET_WRAP_MODE,
00337
00349
00350 GLOBUS_XIO_GSI_SET_BUFFER_SIZE,
00351
00363
00364 GLOBUS_XIO_GSI_GET_BUFFER_SIZE,
00365
00374
00375 GLOBUS_XIO_GSI_SET_PROTECTION_LEVEL,
00376
00384
00385 GLOBUS_XIO_GSI_GET_PROTECTION_LEVEL,
00386
00394
00395 GLOBUS_XIO_GSI_GET_TARGET_NAME,
00396
00404
00405 GLOBUS_XIO_GSI_SET_TARGET_NAME,
00406
00414
00415 GLOBUS_XIO_GSI_GET_CONTEXT,
00416
00424
00425 GLOBUS_XIO_GSI_GET_DELEGATED_CRED,
00426
00434
00435 GLOBUS_XIO_GSI_GET_PEER_NAME,
00436
00444
00445 GLOBUS_XIO_GSI_GET_LOCAL_NAME,
00446
00461
00462
00463
00464
00465 GLOBUS_XIO_GSI_INIT_DELEGATION,
00466
00485
00486
00487
00488
00489
00490
00491 GLOBUS_XIO_GSI_REGISTER_INIT_DELEGATION,
00506
00507
00508
00509
00510 GLOBUS_XIO_GSI_ACCEPT_DELEGATION,
00511
00528
00529
00530
00531
00532
00533 GLOBUS_XIO_GSI_REGISTER_ACCEPT_DELEGATION,
00534
00545
00546 GLOBUS_XIO_GSI_FORCE_SERVER_MODE,
00547
00556
00557 GLOBUS_XIO_GSI_SET_ALLOW_MISSING_SIGNING_POLICY,
00558
00566
00567 GLOBUS_XIO_GSI_GET_ALLOW_MISSING_SIGNING_POLICY
00568 } globus_xio_gsi_cmd_t;
00569
00574 typedef enum
00575 {
00577 GLOBUS_XIO_GSI_PROTECTION_LEVEL_NONE,
00579 GLOBUS_XIO_GSI_PROTECTION_LEVEL_INTEGRITY,
00581 GLOBUS_XIO_GSI_PROTECTION_LEVEL_PRIVACY
00582 } globus_xio_gsi_protection_level_t;
00583
00588 typedef enum
00589 {
00591 GLOBUS_XIO_GSI_DELEGATION_MODE_NONE,
00593 GLOBUS_XIO_GSI_DELEGATION_MODE_LIMITED,
00595 GLOBUS_XIO_GSI_DELEGATION_MODE_FULL
00596 } globus_xio_gsi_delegation_mode_t;
00597
00602 typedef enum
00603 {
00605 GLOBUS_XIO_GSI_PROXY_MODE_FULL,
00609 GLOBUS_XIO_GSI_PROXY_MODE_LIMITED,
00611 GLOBUS_XIO_GSI_PROXY_MODE_MANY
00612 } globus_xio_gsi_proxy_mode_t;
00613
00614
00619 typedef enum
00620 {
00624 GLOBUS_XIO_GSI_NO_AUTHORIZATION,
00626 GLOBUS_XIO_GSI_SELF_AUTHORIZATION,
00630 GLOBUS_XIO_GSI_IDENTITY_AUTHORIZATION,
00634 GLOBUS_XIO_GSI_HOST_AUTHORIZATION
00635 } globus_xio_gsi_authorization_mode_t;
00636
00641 typedef void (* globus_xio_gsi_delegation_init_callback_t)(
00642 globus_result_t result,
00643 void * user_arg);
00644
00649 typedef void (* globus_xio_gsi_delegation_accept_callback_t)(
00650 globus_result_t result,
00651 gss_cred_id_t delegated_cred,
00652 OM_uint32 time_rec,
00653 void * user_arg);
00654
00655 #ifdef __cplusplus
00656 }
00657 #endif
00658
00659 #endif