Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mobile
Path: blob/master/src/java.security.jgss/share/native/libj2gss/gssapi.h
41149 views
1
/*
2
* Copyright (c) 2005, 2021, Oracle and/or its affiliates. All rights reserved.
3
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4
*
5
* This code is free software; you can redistribute it and/or modify it
6
* under the terms of the GNU General Public License version 2 only, as
7
* published by the Free Software Foundation. Oracle designates this
8
* particular file as subject to the "Classpath" exception as provided
9
* by Oracle in the LICENSE file that accompanied this code.
10
*
11
* This code is distributed in the hope that it will be useful, but WITHOUT
12
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14
* version 2 for more details (a copy is included in the LICENSE file that
15
* accompanied this code).
16
*
17
* You should have received a copy of the GNU General Public License version
18
* 2 along with this work; if not, write to the Free Software Foundation,
19
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20
*
21
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22
* or visit www.oracle.com if you need additional information or have any
23
* questions.
24
*/
25
26
/* This is the gssapi.h prologue. */
27
/* It contains some choice pieces of autoconf.h */
28
#define GSS_SIZEOF_INT 4
29
#define GSS_SIZEOF_LONG 4
30
#define GSS_SIZEOF_SHORT 2
31
32
#ifndef _GSSAPI_H_
33
#define _GSSAPI_H_
34
35
#if defined(__MACH__) && defined(__APPLE__)
36
# include <TargetConditionals.h>
37
# if TARGET_RT_MAC_CFM
38
# error "Use KfM 4.0 SDK headers for CFM compilation."
39
# endif
40
#endif
41
42
#ifdef __cplusplus
43
extern "C" {
44
#endif /* __cplusplus */
45
46
// Condition was copied from
47
// Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/gssapi/gssapi.h
48
#if TARGET_OS_MAC && (defined(__ppc__) || defined(__ppc64__) || defined(__i386__) || defined(__x86_64__))
49
# pragma pack(push,2)
50
#endif
51
52
/*
53
* First, include stddef.h to get size_t defined.
54
*/
55
#include <stddef.h>
56
57
/*
58
* POSIX says that sys/types.h is where size_t is defined.
59
*/
60
#include <sys/types.h>
61
62
struct gss_name_struct;
63
typedef struct gss_name_struct * gss_name_t;
64
typedef const struct gss_name_struct *gss_const_name_t;
65
66
struct gss_cred_id_struct;
67
typedef struct gss_cred_id_struct * gss_cred_id_t;
68
typedef const struct gss_cred_id_struct *gss_const_cred_id_t;
69
70
struct gss_ctx_id_struct;
71
typedef struct gss_ctx_id_struct * gss_ctx_id_t;
72
typedef const struct gss_ctx_id_struct *gss_const_ctx_id_t;
73
74
/*
75
* The following type must be defined as the smallest natural unsigned integer
76
* supported by the platform that has at least 32 bits of precision.
77
*/
78
#if (GSS_SIZEOF_SHORT == 4)
79
typedef unsigned short gss_uint32;
80
typedef short gss_int32;
81
#elif (GSS_SIZEOF_INT == 4)
82
typedef unsigned int gss_uint32;
83
typedef int gss_int32;
84
#elif (GSS_SIZEOF_LONG == 4)
85
typedef unsigned long gss_uint32;
86
typedef long gss_int32;
87
#endif
88
89
typedef gss_uint32 OM_uint32;
90
91
typedef struct gss_OID_desc_struct {
92
OM_uint32 length;
93
void *elements;
94
} gss_OID_desc, *gss_OID;
95
typedef const gss_OID_desc * gss_const_OID;
96
97
typedef struct gss_OID_set_desc_struct {
98
size_t count;
99
gss_OID elements;
100
} gss_OID_set_desc, *gss_OID_set;
101
typedef const gss_OID_set_desc * gss_const_OID_set;
102
103
typedef struct gss_buffer_desc_struct {
104
size_t length;
105
void *value;
106
} gss_buffer_desc, *gss_buffer_t;
107
typedef const gss_buffer_desc * gss_const_buffer_t;
108
109
typedef struct gss_channel_bindings_struct {
110
OM_uint32 initiator_addrtype;
111
gss_buffer_desc initiator_address;
112
OM_uint32 acceptor_addrtype;
113
gss_buffer_desc acceptor_address;
114
gss_buffer_desc application_data;
115
} *gss_channel_bindings_t;
116
typedef const struct gss_channel_bindings_struct *gss_const_channel_bindings_t;
117
118
/*
119
* For now, define a QOP-type as an OM_uint32
120
*/
121
typedef OM_uint32 gss_qop_t;
122
typedef int gss_cred_usage_t;
123
124
/*
125
* Flag bits for context-level services.
126
*/
127
#define GSS_C_DELEG_FLAG 1
128
#define GSS_C_MUTUAL_FLAG 2
129
#define GSS_C_REPLAY_FLAG 4
130
#define GSS_C_SEQUENCE_FLAG 8
131
#define GSS_C_CONF_FLAG 16
132
#define GSS_C_INTEG_FLAG 32
133
#define GSS_C_ANON_FLAG 64
134
#define GSS_C_PROT_READY_FLAG 128
135
#define GSS_C_TRANS_FLAG 256
136
#define GSS_C_DELEG_POLICY_FLAG 32768
137
138
/*
139
* Credential usage options
140
*/
141
#define GSS_C_BOTH 0
142
#define GSS_C_INITIATE 1
143
#define GSS_C_ACCEPT 2
144
145
/*
146
* Status code types for gss_display_status
147
*/
148
#define GSS_C_GSS_CODE 1
149
#define GSS_C_MECH_CODE 2
150
151
/*
152
* The constant definitions for channel-bindings address families
153
*/
154
#define GSS_C_AF_UNSPEC 0
155
#define GSS_C_AF_LOCAL 1
156
#define GSS_C_AF_INET 2
157
#define GSS_C_AF_IMPLINK 3
158
#define GSS_C_AF_PUP 4
159
#define GSS_C_AF_CHAOS 5
160
#define GSS_C_AF_NS 6
161
#define GSS_C_AF_NBS 7
162
#define GSS_C_AF_ECMA 8
163
#define GSS_C_AF_DATAKIT 9
164
#define GSS_C_AF_CCITT 10
165
#define GSS_C_AF_SNA 11
166
#define GSS_C_AF_DECnet 12
167
#define GSS_C_AF_DLI 13
168
#define GSS_C_AF_LAT 14
169
#define GSS_C_AF_HYLINK 15
170
#define GSS_C_AF_APPLETALK 16
171
#define GSS_C_AF_BSC 17
172
#define GSS_C_AF_DSS 18
173
#define GSS_C_AF_OSI 19
174
#define GSS_C_AF_X25 21
175
176
#define GSS_C_AF_NULLADDR 255
177
178
/*
179
* Various Null values.
180
*/
181
#define GSS_C_NO_NAME ((gss_name_t) 0)
182
#define GSS_C_NO_BUFFER ((gss_buffer_t) 0)
183
#define GSS_C_NO_OID ((gss_OID) 0)
184
#define GSS_C_NO_OID_SET ((gss_OID_set) 0)
185
#define GSS_C_NO_CONTEXT ((gss_ctx_id_t) 0)
186
#define GSS_C_NO_CREDENTIAL ((gss_cred_id_t) 0)
187
#define GSS_C_NO_CHANNEL_BINDINGS ((gss_channel_bindings_t) 0)
188
#define GSS_C_EMPTY_BUFFER {0, NULL}
189
190
/*
191
* Some alternate names for a couple of the above values. These are defined
192
* for V1 compatibility.
193
*/
194
#define GSS_C_NULL_OID GSS_C_NO_OID
195
#define GSS_C_NULL_OID_SET GSS_C_NO_OID_SET
196
197
/*
198
* Define the default Quality of Protection for per-message services. Note
199
* that an implementation that offers multiple levels of QOP may either reserve
200
* a value (for example zero, as assumed here) to mean "default protection", or
201
* alternatively may simply equate GSS_C_QOP_DEFAULT to a specific explicit
202
* QOP value. However a value of 0 should always be interpreted by a GSSAPI
203
* implementation as a request for the default protection level.
204
*/
205
#define GSS_C_QOP_DEFAULT 0
206
207
/*
208
* Expiration time of 2^32-1 seconds means infinite lifetime for a
209
* credential or security context
210
*/
211
#define GSS_C_INDEFINITE ((OM_uint32) 0xfffffffful)
212
213
214
/* Major status codes */
215
216
#define GSS_S_COMPLETE 0
217
218
/*
219
* Some "helper" definitions to make the status code macros obvious.
220
*/
221
#define GSS_C_CALLING_ERROR_OFFSET 24
222
#define GSS_C_ROUTINE_ERROR_OFFSET 16
223
#define GSS_C_SUPPLEMENTARY_OFFSET 0
224
#define GSS_C_CALLING_ERROR_MASK ((OM_uint32) 0377ul)
225
#define GSS_C_ROUTINE_ERROR_MASK ((OM_uint32) 0377ul)
226
#define GSS_C_SUPPLEMENTARY_MASK ((OM_uint32) 0177777ul)
227
228
/*
229
* The macros that test status codes for error conditions. Note that the
230
* GSS_ERROR() macro has changed slightly from the V1 GSSAPI so that it now
231
* evaluates its argument only once.
232
*/
233
#define GSS_CALLING_ERROR(x) \
234
((x) & (GSS_C_CALLING_ERROR_MASK << GSS_C_CALLING_ERROR_OFFSET))
235
#define GSS_ROUTINE_ERROR(x) \
236
((x) & (GSS_C_ROUTINE_ERROR_MASK << GSS_C_ROUTINE_ERROR_OFFSET))
237
#define GSS_SUPPLEMENTARY_INFO(x) \
238
((x) & (GSS_C_SUPPLEMENTARY_MASK << GSS_C_SUPPLEMENTARY_OFFSET))
239
#define GSS_ERROR(x) \
240
((x) & ((GSS_C_CALLING_ERROR_MASK << GSS_C_CALLING_ERROR_OFFSET) | \
241
(GSS_C_ROUTINE_ERROR_MASK << GSS_C_ROUTINE_ERROR_OFFSET)))
242
243
/*
244
* Now the actual status code definitions
245
*/
246
247
/*
248
* Calling errors:
249
*/
250
#define GSS_S_CALL_INACCESSIBLE_READ \
251
(((OM_uint32) 1ul) << GSS_C_CALLING_ERROR_OFFSET)
252
#define GSS_S_CALL_INACCESSIBLE_WRITE \
253
(((OM_uint32) 2ul) << GSS_C_CALLING_ERROR_OFFSET)
254
#define GSS_S_CALL_BAD_STRUCTURE \
255
(((OM_uint32) 3ul) << GSS_C_CALLING_ERROR_OFFSET)
256
257
/*
258
* Routine errors:
259
*/
260
#define GSS_S_BAD_MECH (((OM_uint32) 1ul) << GSS_C_ROUTINE_ERROR_OFFSET)
261
#define GSS_S_BAD_NAME (((OM_uint32) 2ul) << GSS_C_ROUTINE_ERROR_OFFSET)
262
#define GSS_S_BAD_NAMETYPE (((OM_uint32) 3ul) << GSS_C_ROUTINE_ERROR_OFFSET)
263
#define GSS_S_BAD_BINDINGS (((OM_uint32) 4ul) << GSS_C_ROUTINE_ERROR_OFFSET)
264
#define GSS_S_BAD_STATUS (((OM_uint32) 5ul) << GSS_C_ROUTINE_ERROR_OFFSET)
265
#define GSS_S_BAD_SIG (((OM_uint32) 6ul) << GSS_C_ROUTINE_ERROR_OFFSET)
266
#define GSS_S_NO_CRED (((OM_uint32) 7ul) << GSS_C_ROUTINE_ERROR_OFFSET)
267
#define GSS_S_NO_CONTEXT (((OM_uint32) 8ul) << GSS_C_ROUTINE_ERROR_OFFSET)
268
#define GSS_S_DEFECTIVE_TOKEN (((OM_uint32) 9ul) << GSS_C_ROUTINE_ERROR_OFFSET)
269
#define GSS_S_DEFECTIVE_CREDENTIAL \
270
(((OM_uint32) 10ul) << GSS_C_ROUTINE_ERROR_OFFSET)
271
#define GSS_S_CREDENTIALS_EXPIRED \
272
(((OM_uint32) 11ul) << GSS_C_ROUTINE_ERROR_OFFSET)
273
#define GSS_S_CONTEXT_EXPIRED \
274
(((OM_uint32) 12ul) << GSS_C_ROUTINE_ERROR_OFFSET)
275
#define GSS_S_FAILURE (((OM_uint32) 13ul) << GSS_C_ROUTINE_ERROR_OFFSET)
276
#define GSS_S_BAD_QOP (((OM_uint32) 14ul) << GSS_C_ROUTINE_ERROR_OFFSET)
277
#define GSS_S_UNAUTHORIZED (((OM_uint32) 15ul) << GSS_C_ROUTINE_ERROR_OFFSET)
278
#define GSS_S_UNAVAILABLE (((OM_uint32) 16ul) << GSS_C_ROUTINE_ERROR_OFFSET)
279
#define GSS_S_DUPLICATE_ELEMENT \
280
(((OM_uint32) 17ul) << GSS_C_ROUTINE_ERROR_OFFSET)
281
#define GSS_S_NAME_NOT_MN \
282
(((OM_uint32) 18ul) << GSS_C_ROUTINE_ERROR_OFFSET)
283
284
/*
285
* Supplementary info bits:
286
*/
287
#define GSS_S_CONTINUE_NEEDED (1 << (GSS_C_SUPPLEMENTARY_OFFSET + 0))
288
#define GSS_S_DUPLICATE_TOKEN (1 << (GSS_C_SUPPLEMENTARY_OFFSET + 1))
289
#define GSS_S_OLD_TOKEN (1 << (GSS_C_SUPPLEMENTARY_OFFSET + 2))
290
#define GSS_S_UNSEQ_TOKEN (1 << (GSS_C_SUPPLEMENTARY_OFFSET + 3))
291
#define GSS_S_GAP_TOKEN (1 << (GSS_C_SUPPLEMENTARY_OFFSET + 4))
292
293
294
/*
295
* Finally, function prototypes for the GSSAPI routines.
296
*/
297
298
#if defined (_WIN32) && defined (_MSC_VER)
299
# ifdef GSS_DLL_FILE
300
# define GSS_DLLIMP __declspec(dllexport)
301
# else
302
# define GSS_DLLIMP __declspec(dllimport)
303
# endif
304
#else
305
# define GSS_DLLIMP
306
#endif
307
308
/* Reserved static storage for GSS_oids. Comments are quotes from RFC 2744.
309
*
310
* The implementation must reserve static storage for a
311
* gss_OID_desc object containing the value
312
* {10, (void *)"\x2a\x86\x48\x86\xf7\x12\x01\x02\x01\x01"},
313
* corresponding to an object-identifier value of
314
* {iso(1) member-body(2) United States(840) mit(113554)
315
* infosys(1) gssapi(2) generic(1) user_name(1)}. The constant
316
* GSS_C_NT_USER_NAME should be initialized to point
317
* to that gss_OID_desc.
318
*/
319
GSS_DLLIMP extern gss_OID GSS_C_NT_USER_NAME;
320
321
/*
322
* The implementation must reserve static storage for a
323
* gss_OID_desc object containing the value
324
* {10, (void *)"\x2a\x86\x48\x86\xf7\x12\x01\x02\x01\x02"},
325
* corresponding to an object-identifier value of
326
* {iso(1) member-body(2) United States(840) mit(113554)
327
* infosys(1) gssapi(2) generic(1) machine_uid_name(2)}.
328
* The constant GSS_C_NT_MACHINE_UID_NAME should be
329
* initialized to point to that gss_OID_desc.
330
*/
331
GSS_DLLIMP extern gss_OID GSS_C_NT_MACHINE_UID_NAME;
332
333
/*
334
* The implementation must reserve static storage for a
335
* gss_OID_desc object containing the value
336
* {10, (void *)"\x2a\x86\x48\x86\xf7\x12\x01\x02\x01\x03"},
337
* corresponding to an object-identifier value of
338
* {iso(1) member-body(2) United States(840) mit(113554)
339
* infosys(1) gssapi(2) generic(1) string_uid_name(3)}.
340
* The constant GSS_C_NT_STRING_UID_NAME should be
341
* initialized to point to that gss_OID_desc.
342
*/
343
GSS_DLLIMP extern gss_OID GSS_C_NT_STRING_UID_NAME;
344
345
/*
346
* The implementation must reserve static storage for a
347
* gss_OID_desc object containing the value
348
* {6, (void *)"\x2b\x06\x01\x05\x06\x02"},
349
* corresponding to an object-identifier value of
350
* {iso(1) org(3) dod(6) internet(1) security(5)
351
* nametypes(6) gss-host-based-services(2)). The constant
352
* GSS_C_NT_HOSTBASED_SERVICE_X should be initialized to point
353
* to that gss_OID_desc. This is a deprecated OID value, and
354
* implementations wishing to support hostbased-service names
355
* should instead use the GSS_C_NT_HOSTBASED_SERVICE OID,
356
* defined below, to identify such names;
357
* GSS_C_NT_HOSTBASED_SERVICE_X should be accepted a synonym
358
* for GSS_C_NT_HOSTBASED_SERVICE when presented as an input
359
* parameter, but should not be emitted by GSS-API
360
* implementations
361
*/
362
GSS_DLLIMP extern gss_OID GSS_C_NT_HOSTBASED_SERVICE_X;
363
364
/*
365
* The implementation must reserve static storage for a
366
* gss_OID_desc object containing the value
367
* {10, (void *)"\x2a\x86\x48\x86\xf7\x12"
368
* "\x01\x02\x01\x04"}, corresponding to an
369
* object-identifier value of {iso(1) member-body(2)
370
* Unites States(840) mit(113554) infosys(1) gssapi(2)
371
* generic(1) service_name(4)}. The constant
372
* GSS_C_NT_HOSTBASED_SERVICE should be initialized
373
* to point to that gss_OID_desc.
374
*/
375
GSS_DLLIMP extern gss_OID GSS_C_NT_HOSTBASED_SERVICE;
376
377
/*
378
* The implementation must reserve static storage for a
379
* gss_OID_desc object containing the value
380
* {6, (void *)"\x2b\x06\01\x05\x06\x03"},
381
* corresponding to an object identifier value of
382
* {1(iso), 3(org), 6(dod), 1(internet), 5(security),
383
* 6(nametypes), 3(gss-anonymous-name)}. The constant
384
* and GSS_C_NT_ANONYMOUS should be initialized to point
385
* to that gss_OID_desc.
386
*/
387
GSS_DLLIMP extern gss_OID GSS_C_NT_ANONYMOUS;
388
389
390
/*
391
* The implementation must reserve static storage for a
392
* gss_OID_desc object containing the value
393
* {6, (void *)"\x2b\x06\x01\x05\x06\x04"},
394
* corresponding to an object-identifier value of
395
* {1(iso), 3(org), 6(dod), 1(internet), 5(security),
396
* 6(nametypes), 4(gss-api-exported-name)}. The constant
397
* GSS_C_NT_EXPORT_NAME should be initialized to point
398
* to that gss_OID_desc.
399
*/
400
GSS_DLLIMP extern gss_OID GSS_C_NT_EXPORT_NAME;
401
402
403
/* Function Prototypes */
404
405
GSS_DLLIMP OM_uint32 gss_acquire_cred(
406
OM_uint32 *, /* minor_status */
407
gss_const_name_t, /* desired_name */
408
OM_uint32, /* time_req */
409
gss_const_OID_set, /* desired_mechs */
410
gss_cred_usage_t, /* cred_usage */
411
gss_cred_id_t *, /* output_cred_handle */
412
gss_OID_set *, /* actual_mechs */
413
OM_uint32 * /* time_rec */
414
);
415
416
GSS_DLLIMP OM_uint32 gss_release_cred(
417
OM_uint32 *, /* minor_status */
418
gss_cred_id_t * /* cred_handle */
419
);
420
421
GSS_DLLIMP OM_uint32 gss_init_sec_context(
422
OM_uint32 *, /* minor_status */
423
gss_const_cred_id_t, /* claimant_cred_handle */
424
gss_ctx_id_t *, /* context_handle */
425
gss_const_name_t, /* target_name */
426
gss_const_OID, /* mech_type */
427
OM_uint32, /* req_flags */
428
OM_uint32, /* time_req */
429
gss_const_channel_bindings_t, /* input_chan_bindings */
430
gss_const_buffer_t, /* input_token */
431
gss_OID *, /* actual_mech_type */
432
gss_buffer_t, /* output_token */
433
OM_uint32 *, /* ret_flags */
434
OM_uint32 * /* time_rec */
435
);
436
437
GSS_DLLIMP OM_uint32 gss_accept_sec_context(
438
OM_uint32 *, /* minor_status */
439
gss_ctx_id_t *, /* context_handle */
440
gss_const_cred_id_t, /* acceptor_cred_handle */
441
gss_const_buffer_t, /* input_token_buffer */
442
gss_const_channel_bindings_t, /* input_chan_bindings */
443
gss_name_t *, /* src_name */
444
gss_OID *, /* mech_type */
445
gss_buffer_t, /* output_token */
446
OM_uint32 *, /* ret_flags */
447
OM_uint32 *, /* time_rec */
448
gss_cred_id_t * /* delegated_cred_handle */
449
);
450
451
GSS_DLLIMP OM_uint32 gss_process_context_token(
452
OM_uint32 *, /* minor_status */
453
gss_const_ctx_id_t, /* context_handle */
454
gss_const_buffer_t /* token_buffer */
455
);
456
457
GSS_DLLIMP OM_uint32 gss_delete_sec_context(
458
OM_uint32 *, /* minor_status */
459
gss_ctx_id_t *, /* context_handle */
460
gss_buffer_t /* output_token */
461
);
462
463
GSS_DLLIMP OM_uint32 gss_context_time(
464
OM_uint32 *, /* minor_status */
465
gss_const_ctx_id_t, /* context_handle */
466
OM_uint32 * /* time_rec */
467
);
468
469
/* New for V2 */
470
GSS_DLLIMP OM_uint32 gss_get_mic(
471
OM_uint32 *, /* minor_status */
472
gss_const_ctx_id_t, /* context_handle */
473
gss_qop_t, /* qop_req */
474
gss_const_buffer_t, /* message_buffer */
475
gss_buffer_t /* message_token */
476
);
477
478
/* New for V2 */
479
GSS_DLLIMP OM_uint32 gss_verify_mic(
480
OM_uint32 *, /* minor_status */
481
gss_const_ctx_id_t, /* context_handle */
482
gss_const_buffer_t, /* message_buffer */
483
gss_const_buffer_t, /* message_token */
484
gss_qop_t * /* qop_state */
485
);
486
487
/* New for V2 */
488
GSS_DLLIMP OM_uint32 gss_wrap(
489
OM_uint32 *, /* minor_status */
490
gss_const_ctx_id_t, /* context_handle */
491
int, /* conf_req_flag */
492
gss_qop_t, /* qop_req */
493
gss_const_buffer_t, /* input_message_buffer */
494
int *, /* conf_state */
495
gss_buffer_t /* output_message_buffer */
496
);
497
498
/* New for V2 */
499
GSS_DLLIMP OM_uint32 gss_unwrap(
500
OM_uint32 *, /* minor_status */
501
gss_const_ctx_id_t, /* context_handle */
502
gss_const_buffer_t, /* input_message_buffer */
503
gss_buffer_t, /* output_message_buffer */
504
int *, /* conf_state */
505
gss_qop_t * /* qop_state */
506
);
507
508
GSS_DLLIMP OM_uint32 gss_display_status(
509
OM_uint32 *, /* minor_status */
510
OM_uint32, /* status_value */
511
int, /* status_type */
512
gss_const_OID, /* mech_type (used to be const) */
513
OM_uint32 *, /* message_context */
514
gss_buffer_t /* status_string */
515
);
516
517
GSS_DLLIMP OM_uint32 gss_indicate_mechs(
518
OM_uint32 *, /* minor_status */
519
gss_OID_set * /* mech_set */
520
);
521
522
GSS_DLLIMP OM_uint32 gss_compare_name(
523
OM_uint32 *, /* minor_status */
524
gss_const_name_t, /* name1 */
525
gss_const_name_t, /* name2 */
526
int * /* name_equal */
527
);
528
529
GSS_DLLIMP OM_uint32 gss_display_name(
530
OM_uint32 *, /* minor_status */
531
gss_const_name_t, /* input_name */
532
gss_buffer_t, /* output_name_buffer */
533
gss_OID * /* output_name_type */
534
);
535
536
GSS_DLLIMP OM_uint32 gss_import_name(
537
OM_uint32 *, /* minor_status */
538
gss_const_buffer_t, /* input_name_buffer */
539
gss_const_OID, /* input_name_type(used to be const) */
540
gss_name_t * /* output_name */
541
);
542
543
GSS_DLLIMP OM_uint32 gss_release_name(
544
OM_uint32 *, /* minor_status */
545
gss_name_t * /* input_name */
546
);
547
548
GSS_DLLIMP OM_uint32 gss_release_buffer(
549
OM_uint32 *, /* minor_status */
550
gss_buffer_t /* buffer */
551
);
552
553
GSS_DLLIMP OM_uint32 gss_release_oid_set(
554
OM_uint32 *, /* minor_status */
555
gss_OID_set * /* set */
556
);
557
558
GSS_DLLIMP OM_uint32 gss_inquire_cred(
559
OM_uint32 *, /* minor_status */
560
gss_const_cred_id_t, /* cred_handle */
561
gss_name_t *, /* name */
562
OM_uint32 *, /* lifetime */
563
gss_cred_usage_t *, /* cred_usage */
564
gss_OID_set * /* mechanisms */
565
);
566
567
/* Last argument new for V2 */
568
GSS_DLLIMP OM_uint32 gss_inquire_context(
569
OM_uint32 *, /* minor_status */
570
gss_const_ctx_id_t, /* context_handle */
571
gss_name_t *, /* src_name */
572
gss_name_t *, /* targ_name */
573
OM_uint32 *, /* lifetime_rec */
574
gss_OID *, /* mech_type */
575
OM_uint32 *, /* ctx_flags */
576
int *, /* locally_initiated */
577
int * /* open */
578
);
579
580
/* New for V2 */
581
GSS_DLLIMP OM_uint32 gss_wrap_size_limit(
582
OM_uint32 *, /* minor_status */
583
gss_const_ctx_id_t, /* context_handle */
584
int, /* conf_req_flag */
585
gss_qop_t, /* qop_req */
586
OM_uint32, /* req_output_size */
587
OM_uint32 * /* max_input_size */
588
);
589
590
/* New for V2 */
591
GSS_DLLIMP OM_uint32 gss_add_cred(
592
OM_uint32 *, /* minor_status */
593
gss_const_cred_id_t, /* input_cred_handle */
594
gss_const_name_t, /* desired_name */
595
gss_const_OID, /* desired_mech */
596
gss_cred_usage_t, /* cred_usage */
597
OM_uint32, /* initiator_time_req */
598
OM_uint32, /* acceptor_time_req */
599
gss_cred_id_t *, /* output_cred_handle */
600
gss_OID_set *, /* actual_mechs */
601
OM_uint32 *, /* initiator_time_rec */
602
OM_uint32 * /* acceptor_time_rec */
603
);
604
605
/* New for V2 */
606
GSS_DLLIMP OM_uint32 gss_inquire_cred_by_mech(
607
OM_uint32 *, /* minor_status */
608
gss_const_cred_id_t, /* cred_handle */
609
gss_const_OID, /* mech_type */
610
gss_name_t *, /* name */
611
OM_uint32 *, /* initiator_lifetime */
612
OM_uint32 *, /* acceptor_lifetime */
613
gss_cred_usage_t * /* cred_usage */
614
);
615
616
/* New for V2 */
617
GSS_DLLIMP OM_uint32 gss_export_sec_context(
618
OM_uint32 *, /* minor_status */
619
gss_ctx_id_t *, /* context_handle */
620
gss_buffer_t /* interprocess_token */
621
);
622
623
/* New for V2 */
624
GSS_DLLIMP OM_uint32 gss_import_sec_context(
625
OM_uint32 *, /* minor_status */
626
gss_const_buffer_t, /* interprocess_token */
627
gss_ctx_id_t * /* context_handle */
628
);
629
630
/* New for V2 */
631
GSS_DLLIMP OM_uint32 gss_release_oid(
632
OM_uint32 *, /* minor_status */
633
gss_OID * /* oid */
634
);
635
636
/* New for V2 */
637
GSS_DLLIMP OM_uint32 gss_create_empty_oid_set(
638
OM_uint32 *, /* minor_status */
639
gss_OID_set * /* oid_set */
640
);
641
642
/* New for V2 */
643
GSS_DLLIMP OM_uint32 gss_add_oid_set_member(
644
OM_uint32 *, /* minor_status */
645
gss_const_OID, /* member_oid */
646
gss_OID_set * /* oid_set */
647
);
648
649
/* New for V2 */
650
GSS_DLLIMP OM_uint32 gss_test_oid_set_member(
651
OM_uint32 *, /* minor_status */
652
gss_const_OID, /* member */
653
gss_const_OID_set, /* set */
654
int * /* present */
655
);
656
657
/* New for V2 */
658
GSS_DLLIMP OM_uint32 gss_str_to_oid(
659
OM_uint32 *, /* minor_status */
660
gss_const_buffer_t, /* oid_str */
661
gss_OID * /* oid */
662
);
663
664
/* New for V2 */
665
GSS_DLLIMP OM_uint32 gss_oid_to_str(
666
OM_uint32 *, /* minor_status */
667
gss_OID, /* oid */
668
gss_buffer_t /* oid_str */
669
);
670
671
/* New for V2 */
672
GSS_DLLIMP OM_uint32 gss_inquire_names_for_mech(
673
OM_uint32 *, /* minor_status */
674
gss_const_OID, /* mechanism */
675
gss_OID_set * /* name_types */
676
);
677
678
/* New for V2 */
679
GSS_DLLIMP OM_uint32 gss_export_name(
680
OM_uint32 *, /* minor_status */
681
gss_const_name_t, /* input_name */
682
gss_buffer_t /* exported_name */
683
);
684
685
/* New for V2 */
686
GSS_DLLIMP OM_uint32 gss_duplicate_name(
687
OM_uint32 *, /* minor_status */
688
gss_const_name_t, /* input_name */
689
gss_name_t * /* dest_name */
690
);
691
692
/* New for V2 */
693
GSS_DLLIMP OM_uint32 gss_canonicalize_name(
694
OM_uint32 *, /* minor_status */
695
gss_const_name_t, /* input_name */
696
gss_const_OID, /* mech_type */
697
gss_name_t * /* output_name */
698
);
699
700
#if TARGET_OS_MAC && (defined(__ppc__) || defined(__ppc64__) || defined(__i386__) || defined(__x86_64__))
701
# pragma pack(pop)
702
#endif
703
704
#ifdef __cplusplus
705
}
706
#endif
707
708
#endif /* _GSSAPI_H_ */
709
710