globus_xio_gsi.h

Go to the documentation of this file.
00001 /*
00002  * Copyright 1999-2006 University of Chicago
00003  * 
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  * 
00008  * http://www.apache.org/licenses/LICENSE-2.0
00009  * 
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
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     /* gss_cred_id_t                    credential */
00189     GLOBUS_XIO_GSI_SET_CREDENTIAL,
00190 
00201     /* gss_cred_id_t *                  credential */
00202     GLOBUS_XIO_GSI_GET_CREDENTIAL,
00203 
00211     /* OM_uint32                        req_flags */
00212     GLOBUS_XIO_GSI_SET_GSSAPI_REQ_FLAGS,
00213 
00221     /* OM_uint32 *                       req_flags */
00222     GLOBUS_XIO_GSI_GET_GSSAPI_REQ_FLAGS,
00223     
00234     /* globus_xio_gsi_proxy_mode_t      proxy_mode*/
00235     GLOBUS_XIO_GSI_SET_PROXY_MODE,
00236 
00245     /* globus_xio_gsi_proxy_mode_t *    proxy_mode*/
00246     GLOBUS_XIO_GSI_GET_PROXY_MODE,
00247 
00257     /* globus_xio_gsi_authorization_mode_t      authz_mode*/
00258     GLOBUS_XIO_GSI_SET_AUTHORIZATION_MODE,
00259 
00267     /* globus_xio_gsi_authorization_mode_t *    authz_mode*/
00268     GLOBUS_XIO_GSI_GET_AUTHORIZATION_MODE,
00269 
00278     /* globus_xio_gsi_delegation_mode_t delegation_mode*/
00279     GLOBUS_XIO_GSI_SET_DELEGATION_MODE,
00280 
00288     /* globus_xio_gsi_delegation_mode_t *   delegation_mode*/
00289     GLOBUS_XIO_GSI_GET_DELEGATION_MODE,
00290     
00303     /* globus_bool_t                    ssl_mode*/
00304     GLOBUS_XIO_GSI_SET_SSL_COMPATIBLE,
00305 
00315     /* globus_bool_t                    anon_mode*/
00316     GLOBUS_XIO_GSI_SET_ANON,
00317 
00328     /* globus_bool_t                 wrap_mode*/
00329     GLOBUS_XIO_GSI_SET_WRAP_MODE,
00330 
00341     /* globus_bool_t *               wrap_mode*/
00342     GLOBUS_XIO_GSI_GET_WRAP_MODE,
00343 
00355     /* globus_size_t                    buffer_size*/
00356     GLOBUS_XIO_GSI_SET_BUFFER_SIZE,
00357 
00369     /* globus_size_t *                   buffer_size*/
00370     GLOBUS_XIO_GSI_GET_BUFFER_SIZE,
00371 
00382     /* globus_xio_gsi_protection_level_t    protection_level*/
00383     GLOBUS_XIO_GSI_SET_PROTECTION_LEVEL,
00384 
00392     /* globus_xio_gsi_protection_level_t *  protection_level*/
00393     GLOBUS_XIO_GSI_GET_PROTECTION_LEVEL,
00394 
00402     /* gss_name_t *                     target_name */
00403     GLOBUS_XIO_GSI_GET_TARGET_NAME,
00404 
00414     /* gss_name_t                       target_name */
00415     GLOBUS_XIO_GSI_SET_TARGET_NAME,
00416 
00424     /* gss_ctx_id_t *                   context */
00425     GLOBUS_XIO_GSI_GET_CONTEXT,
00426 
00434     /* gss_cred_id_t *                  credential */
00435     GLOBUS_XIO_GSI_GET_DELEGATED_CRED,
00436 
00444     /* gss_name_t *                     peer_name */
00445     GLOBUS_XIO_GSI_GET_PEER_NAME,
00446 
00454     /* gss_name_t *                     local_name */
00455     GLOBUS_XIO_GSI_GET_LOCAL_NAME,
00456 
00471     /* gss_cred_id_t                    credential,
00472        gss_OID_set                      restriction_oids,
00473        gss_buffer_set_t                 restriction_buffers,
00474        OM_uint32                        time_req */
00475     GLOBUS_XIO_GSI_INIT_DELEGATION,
00476 
00495     /* gss_cred_id_t                                credential,
00496        gss_OID_set                                  restriction_oids,
00497        gss_buffer_set_t                             restriction_buffers,
00498        OM_uint32                                    time_req,
00499        globus_xio_gsi_delegation_init_callback_t    callback,
00500        void *                                       callback_arg */
00501     GLOBUS_XIO_GSI_REGISTER_INIT_DELEGATION,
00516     /* gss_cred_id_t *                  credential,
00517        gss_OID_set                      restriction_oids,
00518        gss_buffer_set_t                 restriction_buffers,
00519        OM_uint32                        time_req */
00520     GLOBUS_XIO_GSI_ACCEPT_DELEGATION,
00521 
00538     /* gss_OID_set                                  restriction_oids,
00539        gss_buffer_set_t                             restriction_buffers,
00540        OM_uint32                                    time_req,
00541        globus_xio_gsi_delegation_accept_callback_t  callback,
00542        void *                                       callback_arg */
00543     GLOBUS_XIO_GSI_REGISTER_ACCEPT_DELEGATION,
00544 
00555     /* globus_bool_t                    server_mode */
00556     GLOBUS_XIO_GSI_FORCE_SERVER_MODE,
00557     
00566     /* globus_bool_t    allow*/
00567     GLOBUS_XIO_GSI_SET_ALLOW_MISSING_SIGNING_POLICY,
00568 
00576     /* globus_bool_t *  allow*/
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 /* GLOBUS_XIO_GSI_DRIVER_H */

Generated on 11 May 2016 for globus_xio_gsi_driver by  doxygen 1.4.7