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