summaryrefslogtreecommitdiffstats
path: root/src/lib/gssapi/gssapi.h
diff options
context:
space:
mode:
authorTheodore Tso <tytso@mit.edu>1991-06-04 13:20:10 +0000
committerTheodore Tso <tytso@mit.edu>1991-06-04 13:20:10 +0000
commitcae1d5bec69d569c8f6e9e51001cdb20e81ef7ee (patch)
tree4f03947d0593b39988a5868627a88192d771053b /src/lib/gssapi/gssapi.h
parentc16958ae2f69d57c458b55673ceffbab6e8ecb5e (diff)
downloadkrb5-cae1d5bec69d569c8f6e9e51001cdb20e81ef7ee.tar.gz
krb5-cae1d5bec69d569c8f6e9e51001cdb20e81ef7ee.tar.xz
krb5-cae1d5bec69d569c8f6e9e51001cdb20e81ef7ee.zip
Misc. fixes
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@2147 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib/gssapi/gssapi.h')
-rw-r--r--src/lib/gssapi/gssapi.h67
1 files changed, 51 insertions, 16 deletions
diff --git a/src/lib/gssapi/gssapi.h b/src/lib/gssapi/gssapi.h
index 929ea3b78..d0351aa25 100644
--- a/src/lib/gssapi/gssapi.h
+++ b/src/lib/gssapi/gssapi.h
@@ -9,12 +9,21 @@
#include <krb5/func-proto.h>
#include <com_err.h>
+/*
+ * Some compilers can't handle void *
+ */
+#ifdef __STDC__
+#define Voidptr void *
+#else
+#define Voidptr char *
+#endif
+
typedef unsigned int OM_uint32;
typedef unsigned short OM_uint16;
typedef struct gss_buffer_desc_struct {
size_t length;
- void *value;
+ Voidptr value;
} gss_buffer_desc, *gss_buffer_t;
typedef struct gss_OID_desc {
@@ -45,19 +54,19 @@ typedef struct gss_ctx_id_desc {
} *gss_ctx_id_t;
/* structure for address */
-typedef struct channel_bindings_struct {
- OM_uint32 sender_addrtype;
- gss_buffer_desc sender_address;
- OM_uint32 receiver_addrtype;
- gss_buffer_desc receiver_address;
- gss_buffer_desc appl_specific;
-} gss_channel_bindings;
-
-#define GSS_ADDRTYPE_INET 0x0002
-#define GSS_ADDRTYPE_CHAOS 0x0005
-#define GSS_ADDRTYPE_XNS 0x0006
-#define GSS_ADDRTYPE_ISO 0x0007
-#define GSS_ADDRTYPE_DDP 0x0010
+typedef struct gss_channel_bindings_desc {
+ OM_uint32 initiator_addrtype;
+ gss_buffer_desc initiator_address;
+ OM_uint32 acceptor_addrtype;
+ gss_buffer_desc acceptor_address;
+ gss_buffer_desc application_data;
+} *gss_channel_bindings;
+
+#define GSS_C_AF_INET 0x0002
+#define GSS_C_AF_CHAOS 0x0005
+#define GSS_C_AF_XNS 0x0006
+#define GSS_C_AF_ISO 0x0007
+#define GSS_C_AF_DDP 0x0010
#define GSS_KRB_STATE_DOWN 1
#define GSS_KRB_STATE_MUTWAIT 2
@@ -88,6 +97,8 @@ typedef struct gss_cred_id_desc {
#define GSS_C_NULL_OID_SET ((gss_OID_set) 0)
#define GSS_C_NO_CREDENTIAL (gss_default_credentials)
+extern gss_cred_id_t gss_default_credentials;
+
/*
* Indefinite time
*/
@@ -159,6 +170,13 @@ typedef struct gss_cred_id_desc {
#define gss_supplementary_info(r) ((r) & 0x0000ffff)
/*
+ * gss_acquire_cred --- cred_usage values
+ */
+#define GSS_C_INITIATE 0x0001
+#define GSS_C_ACCEPT 0x0002
+#define GSS_C_BOTH 0x0003
+
+/*
* gss_init_sec_context flags
*/
#define GSS_C_DELEG_FLAG 0x0001
@@ -173,12 +191,28 @@ typedef struct gss_cred_id_desc {
#define GSS_C_QOP_DEFAULT 0
/*
+ * Values for gss_display_status
+ */
+#define GSS_C_GSS_CODE 1
+#define GSS_C_MECH_CODE 2
+
+/*
* OID declarations
*/
extern struct gss_OID_desc gss_OID_krb5;
extern struct gss_OID_desc gss_OID_krb5_name;
/*
+ * XXX Stuff to make Kannan's flogin stuff happy.
+ */
+#define GSS_C_MAX_TOKEN 1024
+#define GSS_C_MAX_PRINTABLE_NAME 1024
+
+#define GSS_C_READ (1 << 0)
+#define GSS_C_WRITE (1 << 1)
+#define GSS_C_EXECUTE (1 << 2)
+
+/*
* Function declaragions, generated by mkptypes
*/
/* ac_cred.c */
@@ -223,7 +257,8 @@ int gss_compare_OID PROTOTYPE((gss_OID oid1,
/* dsp_name.c */
OM_uint32 gss_display_name PROTOTYPE((OM_uint32 *minor_status,
gss_name_t input_name,
- gss_buffer_t output_name_buffer));
+ gss_buffer_t output_name_buffer,
+ gss_OID *output_name_type));
/* imp_name.c */
OM_uint32 gss_import_name PROTOTYPE((OM_uint32 *minor_status,
@@ -258,7 +293,7 @@ OM_uint32 gss_make_token PROTOTYPE((OM_uint32 *minor_status,
unsigned int mechanism,
unsigned int type,
size_t length,
- void *data,
+ Voidptr data,
gss_buffer_t output_token));
/* rel_buffer.c */