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