Loading...
Searching...
No Matches
globus_xio_gsi.h
Go to the documentation of this file.
/*
* Copyright 1999-2006 University of Chicago
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef GLOBUS_XIO_GSI_DRIVER_H
#define GLOBUS_XIO_GSI_DRIVER_H
#include "gssapi.h"
#include "globus_common.h"
#ifdef __cplusplus
extern "C" {
#endif
#ifndef GLOBUS_GLOBAL_DOCUMENT_SET
#endif
typedef enum
{
GLOBUS_XIO_GSI_ERROR_INVALID_PROTECTION_LEVEL,
GLOBUS_XIO_GSI_ERROR_WRAP_GSSAPI,
GLOBUS_XIO_GSI_ERROR_EMPTY_TARGET_NAME,
GLOBUS_XIO_GSI_ERROR_EMPTY_HOST_NAME,
GLOBUS_XIO_GSI_AUTHORIZATION_FAILED,
GLOBUS_XIO_GSI_ERROR_TOKEN_TOO_BIG
} globus_xio_gsi_error_t;
#define globus_xio_gsi_attr_cntl globus_xio_attr_cntl
#define globus_xio_gsi_handle_cntl globus_xio_handle_cntl
typedef enum
{
/* gss_cred_id_t credential */
GLOBUS_XIO_GSI_SET_CREDENTIAL,
/* gss_cred_id_t * credential */
GLOBUS_XIO_GSI_GET_CREDENTIAL,
/* OM_uint32 req_flags */
GLOBUS_XIO_GSI_SET_GSSAPI_REQ_FLAGS,
/* OM_uint32 * req_flags */
GLOBUS_XIO_GSI_GET_GSSAPI_REQ_FLAGS,
/* globus_xio_gsi_proxy_mode_t proxy_mode*/
GLOBUS_XIO_GSI_SET_PROXY_MODE,
/* globus_xio_gsi_proxy_mode_t * proxy_mode*/
GLOBUS_XIO_GSI_GET_PROXY_MODE,
/* globus_xio_gsi_authorization_mode_t authz_mode*/
GLOBUS_XIO_GSI_SET_AUTHORIZATION_MODE,
/* globus_xio_gsi_authorization_mode_t * authz_mode*/
GLOBUS_XIO_GSI_GET_AUTHORIZATION_MODE,
/* globus_xio_gsi_delegation_mode_t delegation_mode*/
GLOBUS_XIO_GSI_SET_DELEGATION_MODE,
/* globus_xio_gsi_delegation_mode_t * delegation_mode*/
GLOBUS_XIO_GSI_GET_DELEGATION_MODE,
/* globus_bool_t ssl_mode*/
GLOBUS_XIO_GSI_SET_SSL_COMPATIBLE,
/* globus_bool_t anon_mode*/
GLOBUS_XIO_GSI_SET_ANON,
/* globus_bool_t wrap_mode*/
GLOBUS_XIO_GSI_SET_WRAP_MODE,
/* globus_bool_t * wrap_mode*/
GLOBUS_XIO_GSI_GET_WRAP_MODE,
/* globus_size_t buffer_size*/
GLOBUS_XIO_GSI_SET_BUFFER_SIZE,
/* globus_size_t * buffer_size*/
GLOBUS_XIO_GSI_GET_BUFFER_SIZE,
/* globus_xio_gsi_protection_level_t protection_level*/
GLOBUS_XIO_GSI_SET_PROTECTION_LEVEL,
/* globus_xio_gsi_protection_level_t * protection_level*/
GLOBUS_XIO_GSI_GET_PROTECTION_LEVEL,
/* gss_name_t * target_name */
GLOBUS_XIO_GSI_GET_TARGET_NAME,
/* gss_name_t target_name */
GLOBUS_XIO_GSI_SET_TARGET_NAME,
/* gss_ctx_id_t * context */
GLOBUS_XIO_GSI_GET_CONTEXT,
/* gss_cred_id_t * credential */
GLOBUS_XIO_GSI_GET_DELEGATED_CRED,
/* gss_name_t * peer_name */
GLOBUS_XIO_GSI_GET_PEER_NAME,
/* gss_name_t * local_name */
GLOBUS_XIO_GSI_GET_LOCAL_NAME,
/* gss_cred_id_t credential,
gss_OID_set restriction_oids,
gss_buffer_set_t restriction_buffers,
OM_uint32 time_req */
GLOBUS_XIO_GSI_INIT_DELEGATION,
/* gss_cred_id_t credential,
gss_OID_set restriction_oids,
gss_buffer_set_t restriction_buffers,
OM_uint32 time_req,
globus_xio_gsi_delegation_init_callback_t callback,
void * callback_arg */
GLOBUS_XIO_GSI_REGISTER_INIT_DELEGATION,
/* gss_cred_id_t * credential,
gss_OID_set restriction_oids,
gss_buffer_set_t restriction_buffers,
OM_uint32 time_req */
GLOBUS_XIO_GSI_ACCEPT_DELEGATION,
/* gss_OID_set restriction_oids,
gss_buffer_set_t restriction_buffers,
OM_uint32 time_req,
globus_xio_gsi_delegation_accept_callback_t callback,
void * callback_arg */
GLOBUS_XIO_GSI_REGISTER_ACCEPT_DELEGATION,
/* globus_bool_t server_mode */
GLOBUS_XIO_GSI_FORCE_SERVER_MODE,
/* globus_bool_t allow*/
GLOBUS_XIO_GSI_SET_ALLOW_MISSING_SIGNING_POLICY,
/* globus_bool_t * allow*/
GLOBUS_XIO_GSI_GET_ALLOW_MISSING_SIGNING_POLICY,
/* const char * directory */
GLOBUS_XIO_GSI_SET_CREDENTIALS_DIR,
/* char ** protocols */
GLOBUS_XIO_GSI_SET_APPLICATION_PROTOCOLS,
} globus_xio_gsi_cmd_t;
typedef enum
{
GLOBUS_XIO_GSI_PROTECTION_LEVEL_NONE,
GLOBUS_XIO_GSI_PROTECTION_LEVEL_INTEGRITY,
GLOBUS_XIO_GSI_PROTECTION_LEVEL_PRIVACY
} globus_xio_gsi_protection_level_t;
typedef enum
{
GLOBUS_XIO_GSI_DELEGATION_MODE_NONE,
GLOBUS_XIO_GSI_DELEGATION_MODE_LIMITED,
GLOBUS_XIO_GSI_DELEGATION_MODE_FULL
} globus_xio_gsi_delegation_mode_t;
typedef enum
{
GLOBUS_XIO_GSI_PROXY_MODE_FULL,
GLOBUS_XIO_GSI_PROXY_MODE_LIMITED,
GLOBUS_XIO_GSI_PROXY_MODE_MANY
} globus_xio_gsi_proxy_mode_t;
typedef enum
{
GLOBUS_XIO_GSI_NO_AUTHORIZATION,
GLOBUS_XIO_GSI_SELF_AUTHORIZATION,
GLOBUS_XIO_GSI_IDENTITY_AUTHORIZATION,
GLOBUS_XIO_GSI_HOST_AUTHORIZATION
} globus_xio_gsi_authorization_mode_t;
typedef void (* globus_xio_gsi_delegation_init_callback_t)(
globus_result_t result,
void * user_arg);
typedef void (* globus_xio_gsi_delegation_accept_callback_t)(
globus_result_t result,
gss_cred_id_t delegated_cred,
OM_uint32 time_rec,
void * user_arg);
#ifdef __cplusplus
}
#endif
#endif /* GLOBUS_XIO_GSI_DRIVER_H */
globus_xio_gsi_error_t
globus_xio_gsi_error_t
Definition globus_xio_gsi.h:139
globus_xio_gsi_delegation_mode_t
globus_xio_gsi_delegation_mode_t
Definition globus_xio_gsi.h:327
globus_xio_gsi_delegation_accept_callback_t
void(* globus_xio_gsi_delegation_accept_callback_t)(globus_result_t result, gss_cred_id_t delegated_cred, OM_uint32 time_rec, void *user_arg)
Definition globus_xio_gsi.h:387
globus_xio_gsi_authorization_mode_t
globus_xio_gsi_authorization_mode_t
Definition globus_xio_gsi.h:358
globus_xio_gsi_delegation_init_callback_t
void(* globus_xio_gsi_delegation_init_callback_t)(globus_result_t result, void *user_arg)
Definition globus_xio_gsi.h:379
globus_xio_gsi_protection_level_t
globus_xio_gsi_protection_level_t
Definition globus_xio_gsi.h:313
globus_xio_gsi_cmd_t
globus_xio_gsi_cmd_t
Definition globus_xio_gsi.h:175
globus_xio_gsi_proxy_mode_t
globus_xio_gsi_proxy_mode_t
Definition globus_xio_gsi.h:341
GLOBUS_XIO_GSI_AUTHORIZATION_FAILED
@ GLOBUS_XIO_GSI_AUTHORIZATION_FAILED
Definition globus_xio_gsi.h:155
GLOBUS_XIO_GSI_ERROR_WRAP_GSSAPI
@ GLOBUS_XIO_GSI_ERROR_WRAP_GSSAPI
Definition globus_xio_gsi.h:145
GLOBUS_XIO_GSI_ERROR_INVALID_PROTECTION_LEVEL
@ GLOBUS_XIO_GSI_ERROR_INVALID_PROTECTION_LEVEL
Definition globus_xio_gsi.h:143
GLOBUS_XIO_GSI_ERROR_EMPTY_TARGET_NAME
@ GLOBUS_XIO_GSI_ERROR_EMPTY_TARGET_NAME
Definition globus_xio_gsi.h:149
GLOBUS_XIO_GSI_ERROR_TOKEN_TOO_BIG
@ GLOBUS_XIO_GSI_ERROR_TOKEN_TOO_BIG
Definition globus_xio_gsi.h:159
GLOBUS_XIO_GSI_ERROR_EMPTY_HOST_NAME
@ GLOBUS_XIO_GSI_ERROR_EMPTY_HOST_NAME
Definition globus_xio_gsi.h:153
GLOBUS_XIO_GSI_DELEGATION_MODE_LIMITED
@ GLOBUS_XIO_GSI_DELEGATION_MODE_LIMITED
Definition globus_xio_gsi.h:331
GLOBUS_XIO_GSI_DELEGATION_MODE_FULL
@ GLOBUS_XIO_GSI_DELEGATION_MODE_FULL
Definition globus_xio_gsi.h:333
GLOBUS_XIO_GSI_DELEGATION_MODE_NONE
@ GLOBUS_XIO_GSI_DELEGATION_MODE_NONE
Definition globus_xio_gsi.h:329
GLOBUS_XIO_GSI_SELF_AUTHORIZATION
@ GLOBUS_XIO_GSI_SELF_AUTHORIZATION
Definition globus_xio_gsi.h:364
GLOBUS_XIO_GSI_NO_AUTHORIZATION
@ GLOBUS_XIO_GSI_NO_AUTHORIZATION
Definition globus_xio_gsi.h:362
GLOBUS_XIO_GSI_IDENTITY_AUTHORIZATION
@ GLOBUS_XIO_GSI_IDENTITY_AUTHORIZATION
Definition globus_xio_gsi.h:368
GLOBUS_XIO_GSI_HOST_AUTHORIZATION
@ GLOBUS_XIO_GSI_HOST_AUTHORIZATION
Definition globus_xio_gsi.h:372
GLOBUS_XIO_GSI_PROTECTION_LEVEL_NONE
@ GLOBUS_XIO_GSI_PROTECTION_LEVEL_NONE
Definition globus_xio_gsi.h:315
GLOBUS_XIO_GSI_PROTECTION_LEVEL_PRIVACY
@ GLOBUS_XIO_GSI_PROTECTION_LEVEL_PRIVACY
Definition globus_xio_gsi.h:319
GLOBUS_XIO_GSI_PROTECTION_LEVEL_INTEGRITY
@ GLOBUS_XIO_GSI_PROTECTION_LEVEL_INTEGRITY
Definition globus_xio_gsi.h:317
GLOBUS_XIO_GSI_SET_APPLICATION_PROTOCOLS
@ GLOBUS_XIO_GSI_SET_APPLICATION_PROTOCOLS
Definition globus_xio_gsi.h:305
GLOBUS_XIO_GSI_GET_PROTECTION_LEVEL
@ GLOBUS_XIO_GSI_GET_PROTECTION_LEVEL
Definition globus_xio_gsi.h:246
GLOBUS_XIO_GSI_SET_AUTHORIZATION_MODE
@ GLOBUS_XIO_GSI_SET_AUTHORIZATION_MODE
Definition globus_xio_gsi.h:202
GLOBUS_XIO_GSI_ACCEPT_DELEGATION
@ GLOBUS_XIO_GSI_ACCEPT_DELEGATION
Definition globus_xio_gsi.h:281
GLOBUS_XIO_GSI_SET_DELEGATION_MODE
@ GLOBUS_XIO_GSI_SET_DELEGATION_MODE
Definition globus_xio_gsi.h:210
GLOBUS_XIO_GSI_GET_WRAP_MODE
@ GLOBUS_XIO_GSI_GET_WRAP_MODE
Definition globus_xio_gsi.h:230
GLOBUS_XIO_GSI_SET_ALLOW_MISSING_SIGNING_POLICY
@ GLOBUS_XIO_GSI_SET_ALLOW_MISSING_SIGNING_POLICY
Definition globus_xio_gsi.h:293
GLOBUS_XIO_GSI_SET_PROXY_MODE
@ GLOBUS_XIO_GSI_SET_PROXY_MODE
Definition globus_xio_gsi.h:194
GLOBUS_XIO_GSI_INIT_DELEGATION
@ GLOBUS_XIO_GSI_INIT_DELEGATION
Definition globus_xio_gsi.h:274
GLOBUS_XIO_GSI_GET_AUTHORIZATION_MODE
@ GLOBUS_XIO_GSI_GET_AUTHORIZATION_MODE
Definition globus_xio_gsi.h:206
GLOBUS_XIO_GSI_SET_CREDENTIAL
@ GLOBUS_XIO_GSI_SET_CREDENTIAL
Definition globus_xio_gsi.h:178
GLOBUS_XIO_GSI_GET_PROXY_MODE
@ GLOBUS_XIO_GSI_GET_PROXY_MODE
Definition globus_xio_gsi.h:198
GLOBUS_XIO_GSI_GET_CREDENTIAL
@ GLOBUS_XIO_GSI_GET_CREDENTIAL
Definition globus_xio_gsi.h:182
GLOBUS_XIO_GSI_SET_BUFFER_SIZE
@ GLOBUS_XIO_GSI_SET_BUFFER_SIZE
Definition globus_xio_gsi.h:234
GLOBUS_XIO_GSI_SET_TARGET_NAME
@ GLOBUS_XIO_GSI_SET_TARGET_NAME
Definition globus_xio_gsi.h:254
GLOBUS_XIO_GSI_GET_BUFFER_SIZE
@ GLOBUS_XIO_GSI_GET_BUFFER_SIZE
Definition globus_xio_gsi.h:238
GLOBUS_XIO_GSI_GET_DELEGATED_CRED
@ GLOBUS_XIO_GSI_GET_DELEGATED_CRED
Definition globus_xio_gsi.h:262
GLOBUS_XIO_GSI_GET_DELEGATION_MODE
@ GLOBUS_XIO_GSI_GET_DELEGATION_MODE
Definition globus_xio_gsi.h:214
GLOBUS_XIO_GSI_FORCE_SERVER_MODE
@ GLOBUS_XIO_GSI_FORCE_SERVER_MODE
Definition globus_xio_gsi.h:289
GLOBUS_XIO_GSI_SET_GSSAPI_REQ_FLAGS
@ GLOBUS_XIO_GSI_SET_GSSAPI_REQ_FLAGS
Definition globus_xio_gsi.h:186
GLOBUS_XIO_GSI_SET_PROTECTION_LEVEL
@ GLOBUS_XIO_GSI_SET_PROTECTION_LEVEL
Definition globus_xio_gsi.h:242
GLOBUS_XIO_GSI_GET_ALLOW_MISSING_SIGNING_POLICY
@ GLOBUS_XIO_GSI_GET_ALLOW_MISSING_SIGNING_POLICY
Definition globus_xio_gsi.h:297
GLOBUS_XIO_GSI_GET_GSSAPI_REQ_FLAGS
@ GLOBUS_XIO_GSI_GET_GSSAPI_REQ_FLAGS
Definition globus_xio_gsi.h:190
GLOBUS_XIO_GSI_GET_LOCAL_NAME
@ GLOBUS_XIO_GSI_GET_LOCAL_NAME
Definition globus_xio_gsi.h:270
GLOBUS_XIO_GSI_GET_TARGET_NAME
@ GLOBUS_XIO_GSI_GET_TARGET_NAME
Definition globus_xio_gsi.h:250
GLOBUS_XIO_GSI_REGISTER_INIT_DELEGATION
@ GLOBUS_XIO_GSI_REGISTER_INIT_DELEGATION
Definition globus_xio_gsi.h:278
GLOBUS_XIO_GSI_SET_SSL_COMPATIBLE
@ GLOBUS_XIO_GSI_SET_SSL_COMPATIBLE
Definition globus_xio_gsi.h:218
GLOBUS_XIO_GSI_REGISTER_ACCEPT_DELEGATION
@ GLOBUS_XIO_GSI_REGISTER_ACCEPT_DELEGATION
Definition globus_xio_gsi.h:285
GLOBUS_XIO_GSI_GET_CONTEXT
@ GLOBUS_XIO_GSI_GET_CONTEXT
Definition globus_xio_gsi.h:258
GLOBUS_XIO_GSI_SET_ANON
@ GLOBUS_XIO_GSI_SET_ANON
Definition globus_xio_gsi.h:222
GLOBUS_XIO_GSI_SET_CREDENTIALS_DIR
@ GLOBUS_XIO_GSI_SET_CREDENTIALS_DIR
Definition globus_xio_gsi.h:301
GLOBUS_XIO_GSI_SET_WRAP_MODE
@ GLOBUS_XIO_GSI_SET_WRAP_MODE
Definition globus_xio_gsi.h:226
GLOBUS_XIO_GSI_GET_PEER_NAME
@ GLOBUS_XIO_GSI_GET_PEER_NAME
Definition globus_xio_gsi.h:266
GLOBUS_XIO_GSI_PROXY_MODE_FULL
@ GLOBUS_XIO_GSI_PROXY_MODE_FULL
Definition globus_xio_gsi.h:343
GLOBUS_XIO_GSI_PROXY_MODE_MANY
@ GLOBUS_XIO_GSI_PROXY_MODE_MANY
Definition globus_xio_gsi.h:349
GLOBUS_XIO_GSI_PROXY_MODE_LIMITED
@ GLOBUS_XIO_GSI_PROXY_MODE_LIMITED
Definition globus_xio_gsi.h:347