/*
 * Please do not edit this file.
 * It was generated using rpcgen.
 */

#ifndef _GSSD_H_RPCGEN
#define	_GSSD_H_RPCGEN

#include <rpc/rpc.h>
#ifndef _KERNEL
#include <synch.h>
#include <thread.h>
#endif /* !_KERNEL */

#ifdef __cplusplus
extern "C" {
#endif

/*
 * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
 * Use is subject to license terms.
 */

/*
 *  RPC protocol information for gssd, the usermode daemon that
 *  assists the kernel with gssapi. It is gssd that executes all
 *  gssapi calls except for some such as gss_sign(), and
 *  gss_verify(), which are executed in the kernel itself.
 *
 *  File generated from gssd.x
 */

#define NO 0
#define YES 1
#define FOREVER 1

#include <sys/types.h>
#include <sys/time.h>
#include <rpc/auth_sys.h>
#ifndef _KERNEL
#include <locale.h>
#endif /* not _KERNEL */

#ifdef _KERNEL
extern void killgssd_handle(CLIENT *);
extern CLIENT *getgssd_handle(void);
#endif /* _KERNEL */


typedef u_int OM_UINT32;

typedef struct {
	u_int GSS_CTX_ID_T_len;
	char *GSS_CTX_ID_T_val;
} GSS_CTX_ID_T;

typedef struct {
	u_int GSS_CRED_ID_T_len;
	char *GSS_CRED_ID_T_val;
} GSS_CRED_ID_T;

typedef struct {
	u_int GSS_OID_len;
	char *GSS_OID_val;
} GSS_OID;

typedef struct {
	u_int GSS_BUFFER_T_len;
	char *GSS_BUFFER_T_val;
} GSS_BUFFER_T;

typedef struct {
	u_int GSSCRED_GIDS_len;
	gid_t *GSSCRED_GIDS_val;
} GSSCRED_GIDS;

typedef struct {
	u_int GSS_OID_SET_len;
	GSS_OID *GSS_OID_SET_val;
} GSS_OID_SET;

struct GSS_CHANNEL_BINDINGS_STRUCT {
	int present;
	OM_UINT32 initiator_addrtype;
	GSS_BUFFER_T initiator_address;
	OM_UINT32 acceptor_addrtype;
	GSS_BUFFER_T acceptor_address;
	GSS_BUFFER_T application_data;
};
typedef struct GSS_CHANNEL_BINDINGS_STRUCT GSS_CHANNEL_BINDINGS_STRUCT;

typedef GSS_CHANNEL_BINDINGS_STRUCT GSS_CHANNEL_BINDINGS;

struct gss_acquire_cred_arg {
	uid_t uid;
	GSS_BUFFER_T desired_name;
	GSS_OID name_type;
	OM_UINT32 time_req;
	GSS_OID_SET desired_mechs;
	int cred_usage;
};
typedef struct gss_acquire_cred_arg gss_acquire_cred_arg;

struct gss_acquire_cred_res {
	OM_UINT32 minor_status;
	GSS_CRED_ID_T output_cred_handle;
	OM_UINT32 gssd_cred_verifier;
	GSS_OID_SET actual_mechs;
	OM_UINT32 time_rec;
	OM_UINT32 status;
};
typedef struct gss_acquire_cred_res gss_acquire_cred_res;

struct gss_add_cred_arg {
	uid_t uid;
	GSS_CRED_ID_T input_cred_handle;
	OM_UINT32 gssd_cred_verifier;
	GSS_BUFFER_T desired_name;
	GSS_OID name_type;
	GSS_OID desired_mech_type;
	int cred_usage;
	OM_UINT32 initiator_time_req;
	OM_UINT32 acceptor_time_req;
};
typedef struct gss_add_cred_arg gss_add_cred_arg;

struct gss_add_cred_res {
	OM_UINT32 minor_status;
	GSS_OID_SET actual_mechs;
	OM_UINT32 initiator_time_rec;
	OM_UINT32 acceptor_time_rec;
	OM_UINT32 status;
};
typedef struct gss_add_cred_res gss_add_cred_res;

struct gss_release_cred_arg {
	uid_t uid;
	OM_UINT32 gssd_cred_verifier;
	GSS_CRED_ID_T cred_handle;
};
typedef struct gss_release_cred_arg gss_release_cred_arg;

struct gss_release_cred_res {
	OM_UINT32 minor_status;
	OM_UINT32 status;
};
typedef struct gss_release_cred_res gss_release_cred_res;

struct gss_init_sec_context_arg {
	uid_t uid;
	GSS_CTX_ID_T context_handle;
	OM_UINT32 gssd_context_verifier;
	GSS_CRED_ID_T claimant_cred_handle;
	OM_UINT32 gssd_cred_verifier;
	GSS_BUFFER_T target_name;
	GSS_OID name_type;
	GSS_OID mech_type;
	int req_flags;
	OM_UINT32 time_req;
	GSS_CHANNEL_BINDINGS input_chan_bindings;
	GSS_BUFFER_T input_token;
};
typedef struct gss_init_sec_context_arg gss_init_sec_context_arg;

struct gss_init_sec_context_res {
	GSS_CTX_ID_T context_handle;
	OM_UINT32 gssd_context_verifier;
	OM_UINT32 minor_status;
	GSS_OID actual_mech_type;
	GSS_BUFFER_T output_token;
	OM_UINT32 ret_flags;
	OM_UINT32 time_rec;
	OM_UINT32 status;
};
typedef struct gss_init_sec_context_res gss_init_sec_context_res;

struct gss_accept_sec_context_arg {
	uid_t uid;
	GSS_CTX_ID_T context_handle;
	OM_UINT32 gssd_context_verifier;
	GSS_CRED_ID_T verifier_cred_handle;
	OM_UINT32 gssd_cred_verifier;
	GSS_BUFFER_T input_token_buffer;
	GSS_CHANNEL_BINDINGS input_chan_bindings;
};
typedef struct gss_accept_sec_context_arg gss_accept_sec_context_arg;

struct gss_accept_sec_context_res {
	GSS_CTX_ID_T context_handle;
	OM_UINT32 gssd_context_verifier;
	OM_UINT32 minor_status;
	GSS_BUFFER_T src_name;
	GSS_OID mech_type;
	GSS_BUFFER_T output_token;
	OM_UINT32 ret_flags;
	OM_UINT32 time_rec;
	GSS_CRED_ID_T delegated_cred_handle;
	OM_UINT32 status;
};
typedef struct gss_accept_sec_context_res gss_accept_sec_context_res;

struct gss_process_context_token_arg {
	uid_t uid;
	OM_UINT32 gssd_context_verifier;
	GSS_CTX_ID_T context_handle;
	GSS_BUFFER_T token_buffer;
};
typedef struct gss_process_context_token_arg gss_process_context_token_arg;

struct gss_process_context_token_res {
	OM_UINT32 minor_status;
	OM_UINT32 status;
};
typedef struct gss_process_context_token_res gss_process_context_token_res;

struct gss_delete_sec_context_arg {
	OM_UINT32 gssd_context_verifier;
	GSS_CTX_ID_T context_handle;
};
typedef struct gss_delete_sec_context_arg gss_delete_sec_context_arg;

struct gss_delete_sec_context_res {
	OM_UINT32 minor_status;
	GSS_CTX_ID_T context_handle;
	GSS_BUFFER_T output_token;
	OM_UINT32 status;
};
typedef struct gss_delete_sec_context_res gss_delete_sec_context_res;

struct gss_export_sec_context_arg {
	GSS_CTX_ID_T context_handle;
	OM_UINT32 gssd_context_verifier;
};
typedef struct gss_export_sec_context_arg gss_export_sec_context_arg;

struct gss_export_sec_context_res {
	OM_UINT32 minor_status;
	GSS_CTX_ID_T context_handle;
	GSS_BUFFER_T output_token;
	OM_UINT32 status;
};
typedef struct gss_export_sec_context_res gss_export_sec_context_res;

struct gss_import_sec_context_arg {
	GSS_BUFFER_T input_token;
	OM_UINT32 gssd_context_verifier;
};
typedef struct gss_import_sec_context_arg gss_import_sec_context_arg;

struct gss_import_sec_context_res {
	OM_UINT32 minor_status;
	GSS_CTX_ID_T context_handle;
	OM_UINT32 status;
};
typedef struct gss_import_sec_context_res gss_import_sec_context_res;

struct gss_context_time_arg {
	uid_t uid;
	OM_UINT32 gssd_context_verifier;
	GSS_CTX_ID_T context_handle;
};
typedef struct gss_context_time_arg gss_context_time_arg;

struct gss_context_time_res {
	OM_UINT32 minor_status;
	OM_UINT32 time_rec;
	OM_UINT32 status;
};
typedef struct gss_context_time_res gss_context_time_res;

struct gss_sign_arg {
	OM_UINT32 gssd_context_verifier;
	GSS_CTX_ID_T context_handle;
	int qop_req;
	GSS_BUFFER_T message_buffer;
};
typedef struct gss_sign_arg gss_sign_arg;

struct gss_sign_res {
	OM_UINT32 minor_status;
	GSS_BUFFER_T msg_token;
	OM_UINT32 status;
};
typedef struct gss_sign_res gss_sign_res;

struct gss_verify_arg {
	OM_UINT32 gssd_context_verifier;
	GSS_CTX_ID_T context_handle;
	GSS_BUFFER_T message_buffer;
	GSS_BUFFER_T token_buffer;
};
typedef struct gss_verify_arg gss_verify_arg;

struct gss_verify_res {
	OM_UINT32 minor_status;
	int qop_state;
	OM_UINT32 status;
};
typedef struct gss_verify_res gss_verify_res;

struct gss_seal_arg {
	OM_UINT32 gssd_context_verifier;
	GSS_CTX_ID_T context_handle;
	int conf_req_flag;
	int qop_req;
	GSS_BUFFER_T input_message_buffer;
};
typedef struct gss_seal_arg gss_seal_arg;

struct gss_seal_res {
	OM_UINT32 minor_status;
	int conf_state;
	GSS_BUFFER_T output_message_buffer;
	OM_UINT32 status;
};
typedef struct gss_seal_res gss_seal_res;

struct gss_unseal_arg {
	OM_UINT32 gssd_context_verifier;
	GSS_CTX_ID_T context_handle;
	GSS_BUFFER_T input_message_buffer;
};
typedef struct gss_unseal_arg gss_unseal_arg;

struct gss_unseal_res {
	OM_UINT32 minor_status;
	GSS_BUFFER_T output_message_buffer;
	int conf_state;
	int qop_state;
	OM_UINT32 status;
};
typedef struct gss_unseal_res gss_unseal_res;

struct gss_display_status_arg {
	uid_t uid;
	int status_value;
	int status_type;
	GSS_OID mech_type;
	OM_UINT32 message_context;
};
typedef struct gss_display_status_arg gss_display_status_arg;

struct gss_display_status_res {
	OM_UINT32 minor_status;
	int message_context;
	GSS_BUFFER_T status_string;
	OM_UINT32 status;
};
typedef struct gss_display_status_res gss_display_status_res;
/* gss_indicate_mechs_arg is void. This appears in the rpc call def */

struct gss_indicate_mechs_res {
	OM_UINT32 minor_status;
	GSS_OID_SET mech_set;
	OM_UINT32 status;
};
typedef struct gss_indicate_mechs_res gss_indicate_mechs_res;

struct gss_inquire_cred_arg {
	uid_t uid;
	OM_UINT32 gssd_cred_verifier;
	GSS_CRED_ID_T cred_handle;
};
typedef struct gss_inquire_cred_arg gss_inquire_cred_arg;

struct gss_inquire_cred_res {
	OM_UINT32 minor_status;
	GSS_BUFFER_T name;
	GSS_OID name_type;
	OM_UINT32 lifetime;
	int cred_usage;
	GSS_OID_SET mechanisms;
	OM_UINT32 status;
};
typedef struct gss_inquire_cred_res gss_inquire_cred_res;

struct gss_inquire_cred_by_mech_arg {
	uid_t uid;
	OM_UINT32 gssd_cred_verifier;
	GSS_CRED_ID_T cred_handle;
	GSS_OID mech_type;
};
typedef struct gss_inquire_cred_by_mech_arg gss_inquire_cred_by_mech_arg;

struct gss_inquire_cred_by_mech_res {
	OM_UINT32 minor_status;
	OM_UINT32 status;
};
typedef struct gss_inquire_cred_by_mech_res gss_inquire_cred_by_mech_res;

struct gsscred_name_to_unix_cred_arg {
	uid_t uid;
	GSS_BUFFER_T pname;
	GSS_OID name_type;
	GSS_OID mech_type;
};
typedef struct gsscred_name_to_unix_cred_arg gsscred_name_to_unix_cred_arg;

struct gsscred_name_to_unix_cred_res {
	uid_t uid;
	gid_t gid;
	GSSCRED_GIDS gids;
	OM_UINT32 major;
};
typedef struct gsscred_name_to_unix_cred_res gsscred_name_to_unix_cred_res;

struct gsscred_expname_to_unix_cred_arg {
	uid_t uid;
	GSS_BUFFER_T expname;
};
typedef struct gsscred_expname_to_unix_cred_arg gsscred_expname_to_unix_cred_arg;

struct gsscred_expname_to_unix_cred_res {
	uid_t uid;
	gid_t gid;
	GSSCRED_GIDS gids;
	OM_UINT32 major;
};
typedef struct gsscred_expname_to_unix_cred_res gsscred_expname_to_unix_cred_res;

struct gss_get_group_info_arg {
	uid_t uid;
	uid_t puid;
};
typedef struct gss_get_group_info_arg gss_get_group_info_arg;

struct gss_get_group_info_res {
	gid_t gid;
	GSSCRED_GIDS gids;
	OM_UINT32 major;
};
typedef struct gss_get_group_info_res gss_get_group_info_res;

struct gss_get_kmod_arg {
	GSS_OID mech_oid;
};
typedef struct gss_get_kmod_arg gss_get_kmod_arg;

struct gss_get_kmod_res {
	bool_t module_follow;
	union {
		char *modname;
	} gss_get_kmod_res_u;
};
typedef struct gss_get_kmod_res gss_get_kmod_res;

#define	GSSPROG	100234
#define	GSSVERS	1

#if defined(__STDC__) || defined(__cplusplus)
#define	GSS_ACQUIRE_CRED	1
extern  enum clnt_stat gss_acquire_cred_1(gss_acquire_cred_arg *, gss_acquire_cred_res *, CLIENT *);
extern  bool_t gss_acquire_cred_1_svc(gss_acquire_cred_arg *, gss_acquire_cred_res *, struct svc_req *);
#define	GSS_RELEASE_CRED	2
extern  enum clnt_stat gss_release_cred_1(gss_release_cred_arg *, gss_release_cred_res *, CLIENT *);
extern  bool_t gss_release_cred_1_svc(gss_release_cred_arg *, gss_release_cred_res *, struct svc_req *);
#define	GSS_INIT_SEC_CONTEXT	3
extern  enum clnt_stat gss_init_sec_context_1(gss_init_sec_context_arg *, gss_init_sec_context_res *, CLIENT *);
extern  bool_t gss_init_sec_context_1_svc(gss_init_sec_context_arg *, gss_init_sec_context_res *, struct svc_req *);
#define	GSS_ACCEPT_SEC_CONTEXT	4
extern  enum clnt_stat gss_accept_sec_context_1(gss_accept_sec_context_arg *, gss_accept_sec_context_res *, CLIENT *);
extern  bool_t gss_accept_sec_context_1_svc(gss_accept_sec_context_arg *, gss_accept_sec_context_res *, struct svc_req *);
#define	GSS_PROCESS_CONTEXT_TOKEN	5
extern  enum clnt_stat gss_process_context_token_1(gss_process_context_token_arg *, gss_process_context_token_res *, CLIENT *);
extern  bool_t gss_process_context_token_1_svc(gss_process_context_token_arg *, gss_process_context_token_res *, struct svc_req *);
#define	GSS_DELETE_SEC_CONTEXT	6
extern  enum clnt_stat gss_delete_sec_context_1(gss_delete_sec_context_arg *, gss_delete_sec_context_res *, CLIENT *);
extern  bool_t gss_delete_sec_context_1_svc(gss_delete_sec_context_arg *, gss_delete_sec_context_res *, struct svc_req *);
#define	GSS_CONTEXT_TIME	7
extern  enum clnt_stat gss_context_time_1(gss_context_time_arg *, gss_context_time_res *, CLIENT *);
extern  bool_t gss_context_time_1_svc(gss_context_time_arg *, gss_context_time_res *, struct svc_req *);
#define	GSS_SIGN	8
extern  enum clnt_stat gss_sign_1(gss_sign_arg *, gss_sign_res *, CLIENT *);
extern  bool_t gss_sign_1_svc(gss_sign_arg *, gss_sign_res *, struct svc_req *);
#define	GSS_VERIFY	9
extern  enum clnt_stat gss_verify_1(gss_verify_arg *, gss_verify_res *, CLIENT *);
extern  bool_t gss_verify_1_svc(gss_verify_arg *, gss_verify_res *, struct svc_req *);
#define	GSS_DISPLAY_STATUS	10
extern  enum clnt_stat gss_display_status_1(gss_display_status_arg *, gss_display_status_res *, CLIENT *);
extern  bool_t gss_display_status_1_svc(gss_display_status_arg *, gss_display_status_res *, struct svc_req *);
#define	GSS_INDICATE_MECHS	11
extern  enum clnt_stat gss_indicate_mechs_1(void *, gss_indicate_mechs_res *, CLIENT *);
extern  bool_t gss_indicate_mechs_1_svc(void *, gss_indicate_mechs_res *, struct svc_req *);
#define	GSS_INQUIRE_CRED	12
extern  enum clnt_stat gss_inquire_cred_1(gss_inquire_cred_arg *, gss_inquire_cred_res *, CLIENT *);
extern  bool_t gss_inquire_cred_1_svc(gss_inquire_cred_arg *, gss_inquire_cred_res *, struct svc_req *);
#define	GSS_SEAL	13
extern  enum clnt_stat gss_seal_1(gss_seal_arg *, gss_seal_res *, CLIENT *);
extern  bool_t gss_seal_1_svc(gss_seal_arg *, gss_seal_res *, struct svc_req *);
#define	GSS_UNSEAL	14
extern  enum clnt_stat gss_unseal_1(gss_unseal_arg *, gss_unseal_res *, CLIENT *);
extern  bool_t gss_unseal_1_svc(gss_unseal_arg *, gss_unseal_res *, struct svc_req *);
#define	GSSCRED_EXPNAME_TO_UNIX_CRED	15
extern  enum clnt_stat gsscred_expname_to_unix_cred_1(gsscred_expname_to_unix_cred_arg *, gsscred_expname_to_unix_cred_res *, CLIENT *);
extern  bool_t gsscred_expname_to_unix_cred_1_svc(gsscred_expname_to_unix_cred_arg *, gsscred_expname_to_unix_cred_res *, struct svc_req *);
#define	GSSCRED_NAME_TO_UNIX_CRED	16
extern  enum clnt_stat gsscred_name_to_unix_cred_1(gsscred_name_to_unix_cred_arg *, gsscred_name_to_unix_cred_res *, CLIENT *);
extern  bool_t gsscred_name_to_unix_cred_1_svc(gsscred_name_to_unix_cred_arg *, gsscred_name_to_unix_cred_res *, struct svc_req *);
#define	GSS_GET_GROUP_INFO	17
extern  enum clnt_stat gss_get_group_info_1(gss_get_group_info_arg *, gss_get_group_info_res *, CLIENT *);
extern  bool_t gss_get_group_info_1_svc(gss_get_group_info_arg *, gss_get_group_info_res *, struct svc_req *);
#define	GSS_GET_KMOD	18
extern  enum clnt_stat gss_get_kmod_1(gss_get_kmod_arg *, gss_get_kmod_res *, CLIENT *);
extern  bool_t gss_get_kmod_1_svc(gss_get_kmod_arg *, gss_get_kmod_res *, struct svc_req *);
#define	GSS_EXPORT_SEC_CONTEXT	19
extern  enum clnt_stat gss_export_sec_context_1(gss_export_sec_context_arg *, gss_export_sec_context_res *, CLIENT *);
extern  bool_t gss_export_sec_context_1_svc(gss_export_sec_context_arg *, gss_export_sec_context_res *, struct svc_req *);
#define	GSS_IMPORT_SEC_CONTEXT	20
extern  enum clnt_stat gss_import_sec_context_1(gss_import_sec_context_arg *, gss_import_sec_context_res *, CLIENT *);
extern  bool_t gss_import_sec_context_1_svc(gss_import_sec_context_arg *, gss_import_sec_context_res *, struct svc_req *);
#define	GSS_ADD_CRED	21
extern  enum clnt_stat gss_add_cred_1(gss_add_cred_arg *, gss_add_cred_res *, CLIENT *);
extern  bool_t gss_add_cred_1_svc(gss_add_cred_arg *, gss_add_cred_res *, struct svc_req *);
#define	GSS_INQUIRE_CRED_BY_MECH	22
extern  enum clnt_stat gss_inquire_cred_by_mech_1(gss_inquire_cred_by_mech_arg *, gss_inquire_cred_by_mech_res *, CLIENT *);
extern  bool_t gss_inquire_cred_by_mech_1_svc(gss_inquire_cred_by_mech_arg *, gss_inquire_cred_by_mech_res *, struct svc_req *);
extern int gssprog_1_freeresult(SVCXPRT *, xdrproc_t, caddr_t);

#else /* K&R C */
#define	GSS_ACQUIRE_CRED	1
extern  enum clnt_stat gss_acquire_cred_1();
extern  bool_t gss_acquire_cred_1_svc();
#define	GSS_RELEASE_CRED	2
extern  enum clnt_stat gss_release_cred_1();
extern  bool_t gss_release_cred_1_svc();
#define	GSS_INIT_SEC_CONTEXT	3
extern  enum clnt_stat gss_init_sec_context_1();
extern  bool_t gss_init_sec_context_1_svc();
#define	GSS_ACCEPT_SEC_CONTEXT	4
extern  enum clnt_stat gss_accept_sec_context_1();
extern  bool_t gss_accept_sec_context_1_svc();
#define	GSS_PROCESS_CONTEXT_TOKEN	5
extern  enum clnt_stat gss_process_context_token_1();
extern  bool_t gss_process_context_token_1_svc();
#define	GSS_DELETE_SEC_CONTEXT	6
extern  enum clnt_stat gss_delete_sec_context_1();
extern  bool_t gss_delete_sec_context_1_svc();
#define	GSS_CONTEXT_TIME	7
extern  enum clnt_stat gss_context_time_1();
extern  bool_t gss_context_time_1_svc();
#define	GSS_SIGN	8
extern  enum clnt_stat gss_sign_1();
extern  bool_t gss_sign_1_svc();
#define	GSS_VERIFY	9
extern  enum clnt_stat gss_verify_1();
extern  bool_t gss_verify_1_svc();
#define	GSS_DISPLAY_STATUS	10
extern  enum clnt_stat gss_display_status_1();
extern  bool_t gss_display_status_1_svc();
#define	GSS_INDICATE_MECHS	11
extern  enum clnt_stat gss_indicate_mechs_1();
extern  bool_t gss_indicate_mechs_1_svc();
#define	GSS_INQUIRE_CRED	12
extern  enum clnt_stat gss_inquire_cred_1();
extern  bool_t gss_inquire_cred_1_svc();
#define	GSS_SEAL	13
extern  enum clnt_stat gss_seal_1();
extern  bool_t gss_seal_1_svc();
#define	GSS_UNSEAL	14
extern  enum clnt_stat gss_unseal_1();
extern  bool_t gss_unseal_1_svc();
#define	GSSCRED_EXPNAME_TO_UNIX_CRED	15
extern  enum clnt_stat gsscred_expname_to_unix_cred_1();
extern  bool_t gsscred_expname_to_unix_cred_1_svc();
#define	GSSCRED_NAME_TO_UNIX_CRED	16
extern  enum clnt_stat gsscred_name_to_unix_cred_1();
extern  bool_t gsscred_name_to_unix_cred_1_svc();
#define	GSS_GET_GROUP_INFO	17
extern  enum clnt_stat gss_get_group_info_1();
extern  bool_t gss_get_group_info_1_svc();
#define	GSS_GET_KMOD	18
extern  enum clnt_stat gss_get_kmod_1();
extern  bool_t gss_get_kmod_1_svc();
#define	GSS_EXPORT_SEC_CONTEXT	19
extern  enum clnt_stat gss_export_sec_context_1();
extern  bool_t gss_export_sec_context_1_svc();
#define	GSS_IMPORT_SEC_CONTEXT	20
extern  enum clnt_stat gss_import_sec_context_1();
extern  bool_t gss_import_sec_context_1_svc();
#define	GSS_ADD_CRED	21
extern  enum clnt_stat gss_add_cred_1();
extern  bool_t gss_add_cred_1_svc();
#define	GSS_INQUIRE_CRED_BY_MECH	22
extern  enum clnt_stat gss_inquire_cred_by_mech_1();
extern  bool_t gss_inquire_cred_by_mech_1_svc();
extern int gssprog_1_freeresult();
#endif /* K&R C */

/* the xdr functions */

#if defined(__STDC__) || defined(__cplusplus)
extern  bool_t xdr_OM_UINT32(XDR *, OM_UINT32*);
extern  bool_t xdr_GSS_CTX_ID_T(XDR *, GSS_CTX_ID_T*);
extern  bool_t xdr_GSS_CRED_ID_T(XDR *, GSS_CRED_ID_T*);
extern  bool_t xdr_GSS_OID(XDR *, GSS_OID*);
extern  bool_t xdr_GSS_BUFFER_T(XDR *, GSS_BUFFER_T*);
extern  bool_t xdr_GSSCRED_GIDS(XDR *, GSSCRED_GIDS*);
extern  bool_t xdr_GSS_OID_SET(XDR *, GSS_OID_SET*);
extern  bool_t xdr_GSS_CHANNEL_BINDINGS_STRUCT(XDR *, GSS_CHANNEL_BINDINGS_STRUCT*);
extern  bool_t xdr_GSS_CHANNEL_BINDINGS(XDR *, GSS_CHANNEL_BINDINGS*);
extern  bool_t xdr_gss_acquire_cred_arg(XDR *, gss_acquire_cred_arg*);
extern  bool_t xdr_gss_acquire_cred_res(XDR *, gss_acquire_cred_res*);
extern  bool_t xdr_gss_add_cred_arg(XDR *, gss_add_cred_arg*);
extern  bool_t xdr_gss_add_cred_res(XDR *, gss_add_cred_res*);
extern  bool_t xdr_gss_release_cred_arg(XDR *, gss_release_cred_arg*);
extern  bool_t xdr_gss_release_cred_res(XDR *, gss_release_cred_res*);
extern  bool_t xdr_gss_init_sec_context_arg(XDR *, gss_init_sec_context_arg*);
extern  bool_t xdr_gss_init_sec_context_res(XDR *, gss_init_sec_context_res*);
extern  bool_t xdr_gss_accept_sec_context_arg(XDR *, gss_accept_sec_context_arg*);
extern  bool_t xdr_gss_accept_sec_context_res(XDR *, gss_accept_sec_context_res*);
extern  bool_t xdr_gss_process_context_token_arg(XDR *, gss_process_context_token_arg*);
extern  bool_t xdr_gss_process_context_token_res(XDR *, gss_process_context_token_res*);
extern  bool_t xdr_gss_delete_sec_context_arg(XDR *, gss_delete_sec_context_arg*);
extern  bool_t xdr_gss_delete_sec_context_res(XDR *, gss_delete_sec_context_res*);
extern  bool_t xdr_gss_export_sec_context_arg(XDR *, gss_export_sec_context_arg*);
extern  bool_t xdr_gss_export_sec_context_res(XDR *, gss_export_sec_context_res*);
extern  bool_t xdr_gss_import_sec_context_arg(XDR *, gss_import_sec_context_arg*);
extern  bool_t xdr_gss_import_sec_context_res(XDR *, gss_import_sec_context_res*);
extern  bool_t xdr_gss_context_time_arg(XDR *, gss_context_time_arg*);
extern  bool_t xdr_gss_context_time_res(XDR *, gss_context_time_res*);
extern  bool_t xdr_gss_sign_arg(XDR *, gss_sign_arg*);
extern  bool_t xdr_gss_sign_res(XDR *, gss_sign_res*);
extern  bool_t xdr_gss_verify_arg(XDR *, gss_verify_arg*);
extern  bool_t xdr_gss_verify_res(XDR *, gss_verify_res*);
extern  bool_t xdr_gss_seal_arg(XDR *, gss_seal_arg*);
extern  bool_t xdr_gss_seal_res(XDR *, gss_seal_res*);
extern  bool_t xdr_gss_unseal_arg(XDR *, gss_unseal_arg*);
extern  bool_t xdr_gss_unseal_res(XDR *, gss_unseal_res*);
extern  bool_t xdr_gss_display_status_arg(XDR *, gss_display_status_arg*);
extern  bool_t xdr_gss_display_status_res(XDR *, gss_display_status_res*);
extern  bool_t xdr_gss_indicate_mechs_res(XDR *, gss_indicate_mechs_res*);
extern  bool_t xdr_gss_inquire_cred_arg(XDR *, gss_inquire_cred_arg*);
extern  bool_t xdr_gss_inquire_cred_res(XDR *, gss_inquire_cred_res*);
extern  bool_t xdr_gss_inquire_cred_by_mech_arg(XDR *, gss_inquire_cred_by_mech_arg*);
extern  bool_t xdr_gss_inquire_cred_by_mech_res(XDR *, gss_inquire_cred_by_mech_res*);
extern  bool_t xdr_gsscred_name_to_unix_cred_arg(XDR *, gsscred_name_to_unix_cred_arg*);
extern  bool_t xdr_gsscred_name_to_unix_cred_res(XDR *, gsscred_name_to_unix_cred_res*);
extern  bool_t xdr_gsscred_expname_to_unix_cred_arg(XDR *, gsscred_expname_to_unix_cred_arg*);
extern  bool_t xdr_gsscred_expname_to_unix_cred_res(XDR *, gsscred_expname_to_unix_cred_res*);
extern  bool_t xdr_gss_get_group_info_arg(XDR *, gss_get_group_info_arg*);
extern  bool_t xdr_gss_get_group_info_res(XDR *, gss_get_group_info_res*);
extern  bool_t xdr_gss_get_kmod_arg(XDR *, gss_get_kmod_arg*);
extern  bool_t xdr_gss_get_kmod_res(XDR *, gss_get_kmod_res*);

#else /* K&R C */
extern bool_t xdr_OM_UINT32();
extern bool_t xdr_GSS_CTX_ID_T();
extern bool_t xdr_GSS_CRED_ID_T();
extern bool_t xdr_GSS_OID();
extern bool_t xdr_GSS_BUFFER_T();
extern bool_t xdr_GSSCRED_GIDS();
extern bool_t xdr_GSS_OID_SET();
extern bool_t xdr_GSS_CHANNEL_BINDINGS_STRUCT();
extern bool_t xdr_GSS_CHANNEL_BINDINGS();
extern bool_t xdr_gss_acquire_cred_arg();
extern bool_t xdr_gss_acquire_cred_res();
extern bool_t xdr_gss_add_cred_arg();
extern bool_t xdr_gss_add_cred_res();
extern bool_t xdr_gss_release_cred_arg();
extern bool_t xdr_gss_release_cred_res();
extern bool_t xdr_gss_init_sec_context_arg();
extern bool_t xdr_gss_init_sec_context_res();
extern bool_t xdr_gss_accept_sec_context_arg();
extern bool_t xdr_gss_accept_sec_context_res();
extern bool_t xdr_gss_process_context_token_arg();
extern bool_t xdr_gss_process_context_token_res();
extern bool_t xdr_gss_delete_sec_context_arg();
extern bool_t xdr_gss_delete_sec_context_res();
extern bool_t xdr_gss_export_sec_context_arg();
extern bool_t xdr_gss_export_sec_context_res();
extern bool_t xdr_gss_import_sec_context_arg();
extern bool_t xdr_gss_import_sec_context_res();
extern bool_t xdr_gss_context_time_arg();
extern bool_t xdr_gss_context_time_res();
extern bool_t xdr_gss_sign_arg();
extern bool_t xdr_gss_sign_res();
extern bool_t xdr_gss_verify_arg();
extern bool_t xdr_gss_verify_res();
extern bool_t xdr_gss_seal_arg();
extern bool_t xdr_gss_seal_res();
extern bool_t xdr_gss_unseal_arg();
extern bool_t xdr_gss_unseal_res();
extern bool_t xdr_gss_display_status_arg();
extern bool_t xdr_gss_display_status_res();
extern bool_t xdr_gss_indicate_mechs_res();
extern bool_t xdr_gss_inquire_cred_arg();
extern bool_t xdr_gss_inquire_cred_res();
extern bool_t xdr_gss_inquire_cred_by_mech_arg();
extern bool_t xdr_gss_inquire_cred_by_mech_res();
extern bool_t xdr_gsscred_name_to_unix_cred_arg();
extern bool_t xdr_gsscred_name_to_unix_cred_res();
extern bool_t xdr_gsscred_expname_to_unix_cred_arg();
extern bool_t xdr_gsscred_expname_to_unix_cred_res();
extern bool_t xdr_gss_get_group_info_arg();
extern bool_t xdr_gss_get_group_info_res();
extern bool_t xdr_gss_get_kmod_arg();
extern bool_t xdr_gss_get_kmod_res();

#endif /* K&R C */

#ifdef __cplusplus
}
#endif

#endif /* !_GSSD_H_RPCGEN */
