File: meta.h

package info (click to toggle)
gss 1.0.4-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 8,172 kB
  • sloc: ansic: 22,018; sh: 7,411; python: 2,873; perl: 861; makefile: 335; xml: 52; sed: 16
file content (140 lines) | stat: -rw-r--r-- 5,059 bytes parent folder | download | duplicates (3)
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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
/* meta.h --- Prototypes for internally visible symbols from meta.c.
 * Copyright (C) 2003-2022 Simon Josefsson
 *
 * This file is part of the GNU Generic Security Service Library.
 *
 * This file is free software: you can redistribute it and/or modify
 * it under the terms of either:
 *
 *  * the GNU Lesser General Public License as published by the Free
 *    Software Foundation; either version 3 of the License, or (at
 *    your option) any later version.
 *
 * or
 *
 * * 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.
 *
 * or both in parallel, as here.
 *
 * This file 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 copies of the GNU General Public License
 * and the GNU Lesser General Public License along with this file.  If
 * not, see <http://www.gnu.org/licenses/>.
 *
 */

#ifndef META_H
# define META_H

# include <gss/api.h>

# define MAX_NT 5

typedef struct _gss_mech_api_struct
{
  gss_OID mech;
  const char *sasl_name;
  const char *mech_name;
  const char *mech_description;
  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);
_gss_mech_api_t _gss_find_mech_no_default (const gss_OID oid);
_gss_mech_api_t _gss_find_mech_by_saslname (const gss_buffer_t
					    sasl_mech_name);
OM_uint32 _gss_indicate_mechs1 (OM_uint32 * minor_status,
				gss_OID_set * mech_set);

#endif /* META_H */