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