1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119
|
/* meta.h --- Prototypes for internally visible symbols from meta.c.
* Copyright (C) 2003, 2004 Simon Josefsson
*
* This file is part of the Generic Security Service (GSS).
*
* GSS is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* GSS is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
* License for more details.
*
* You should have received a copy of the GNU General Public License
* along with GSS; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
*/
#include "api.h"
#define MAX_NT 5
typedef struct _gss_mech_api_struct
{
gss_OID mech;
gss_OID name_types[MAX_NT];
OM_uint32 (*init_sec_context)
(OM_uint32 * minor_status,
const gss_cred_id_t initiator_cred_handle,
gss_ctx_id_t * context_handle,
const gss_name_t target_name,
const gss_OID mech_type,
OM_uint32 req_flags,
OM_uint32 time_req,
const gss_channel_bindings_t input_chan_bindings,
const gss_buffer_t input_token,
gss_OID * actual_mech_type,
gss_buffer_t output_token, OM_uint32 * ret_flags, OM_uint32 * time_rec);
OM_uint32 (*canonicalize_name)
(OM_uint32 * minor_status,
const gss_name_t input_name,
const gss_OID mech_type, gss_name_t * output_name);
OM_uint32 (*export_name)
(OM_uint32 * minor_status,
const gss_name_t input_name, gss_buffer_t exported_name);
OM_uint32 (*wrap)
(OM_uint32 * minor_status,
const gss_ctx_id_t context_handle, int conf_req_flag,
gss_qop_t qop_req,
const gss_buffer_t input_message_buffer,
int *conf_state, gss_buffer_t output_message_buffer);
OM_uint32 (*unwrap)
(OM_uint32 * minor_status,
const gss_ctx_id_t context_handle,
const gss_buffer_t input_message_buffer,
gss_buffer_t output_message_buffer, int *conf_state,
gss_qop_t * qop_state);
OM_uint32 (*get_mic)
(OM_uint32 * minor_status,
const gss_ctx_id_t context_handle,
gss_qop_t qop_req,
const gss_buffer_t message_buffer, gss_buffer_t message_token);
OM_uint32 (*verify_mic)
(OM_uint32 * minor_status,
const gss_ctx_id_t context_handle,
const gss_buffer_t message_buffer,
const gss_buffer_t token_buffer, gss_qop_t * qop_state);
OM_uint32 (*display_status)
(OM_uint32 * minor_status,
OM_uint32 status_value, int status_type,
const gss_OID mech_type,
OM_uint32 * message_context, gss_buffer_t status_string);
OM_uint32 (*acquire_cred)
(OM_uint32 * minor_status,
const gss_name_t desired_name,
OM_uint32 time_req,
const gss_OID_set desired_mechs,
gss_cred_usage_t cred_usage,
gss_cred_id_t * output_cred_handle,
gss_OID_set * actual_mechs, OM_uint32 * time_rec);
OM_uint32 (*release_cred)
(OM_uint32 * minor_status, gss_cred_id_t * cred_handle);
OM_uint32 (*accept_sec_context)
(OM_uint32 * minor_status,
gss_ctx_id_t * context_handle,
const gss_cred_id_t acceptor_cred_handle,
const gss_buffer_t input_token_buffer,
const gss_channel_bindings_t input_chan_bindings,
gss_name_t * src_name,
gss_OID * mech_type,
gss_buffer_t output_token,
OM_uint32 * ret_flags,
OM_uint32 * time_rec, gss_cred_id_t * delegated_cred_handle);
OM_uint32 (*delete_sec_context)
(OM_uint32 * minor_status,
gss_ctx_id_t * context_handle, gss_buffer_t output_token);
OM_uint32 (*context_time)
(OM_uint32 * minor_status,
const gss_ctx_id_t context_handle, OM_uint32 * time_rec);
OM_uint32 (*inquire_cred)
(OM_uint32 * minor_status,
const gss_cred_id_t cred_handle,
gss_name_t * name, OM_uint32 * lifetime,
gss_cred_usage_t * cred_usage, gss_OID_set * mechanisms);
OM_uint32 (*inquire_cred_by_mech)
(OM_uint32 * minor_status,
const gss_cred_id_t cred_handle,
const gss_OID mech_type,
gss_name_t * name,
OM_uint32 * initiator_lifetime,
OM_uint32 * acceptor_lifetime, gss_cred_usage_t * cred_usage);
} _gss_mech_api_desc, *_gss_mech_api_t;
_gss_mech_api_t _gss_find_mech (const gss_OID oid);
OM_uint32 _gss_indicate_mechs1 (OM_uint32 * minor_status,
gss_OID_set * mech_set);
|