gssd.x revision 7c478bd95313f5f23a4c958a745db2134aa03244
/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (the "License"). You may not use this file except in compliance
* with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
%/*
% * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
% * Use is subject to license terms.
% */
%
%#pragma ident "%Z%%M% %I% %E% SMI"
%
%/*
% * 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 <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 */
%
/*
* These are the definitions for the interface to GSSD.
*/
typedef unsigned int OM_UINT32;
typedef opaque GSS_CTX_ID_T<>;
typedef opaque GSS_CRED_ID_T<>;
typedef opaque GSS_BUFFER_T<>;
typedef gid_t GSSCRED_GIDS<>;
typedef GSS_OID GSS_OID_SET<>;
struct GSS_CHANNEL_BINDINGS_STRUCT {
int present;
};
typedef struct GSS_CHANNEL_BINDINGS_STRUCT GSS_CHANNEL_BINDINGS;
struct gss_acquire_cred_arg {
int cred_usage; /* init/accept/both */
};
struct gss_acquire_cred_res {
};
struct gss_add_cred_arg {
int cred_usage; /* init/accept/both */
};
/* Note: For gss_add_cred we always update the underlying credentials of
* input_cred_handle. We always pass NULL as output_cred_handle when the call
* to gss_add_cred is made
*/
struct gss_add_cred_res {
};
struct gss_release_cred_arg {
};
struct gss_release_cred_res {
};
struct gss_init_sec_context_arg {
int req_flags; /* requested context options */
input_chan_bindings; /* requested channel bindings */
};
struct gss_init_sec_context_res {
};
struct gss_accept_sec_context_arg {
input_chan_bindings; /* requested channel bindings */
};
struct gss_accept_sec_context_res {
};
struct gss_process_context_token_arg {
};
struct gss_process_context_token_res {
};
struct gss_delete_sec_context_arg {
};
struct gss_delete_sec_context_res {
};
struct gss_export_sec_context_arg {
};
struct gss_export_sec_context_res {
};
struct gss_import_sec_context_arg {
};
struct gss_import_sec_context_res {
};
struct gss_context_time_arg {
};
struct gss_context_time_res {
};
struct gss_sign_arg {
int qop_req; /* quality of protection */
};
struct gss_sign_res {
};
struct gss_verify_arg {
};
struct gss_verify_res {
int qop_state; /* quality of protection */
};
%/* EXPORT DELETE START */
struct gss_seal_arg {
int conf_req_flag; /* type of conf requested */
int qop_req; /* quality of prot. requested */
};
struct gss_seal_res {
int conf_state; /* type of conf. applied */
};
struct gss_unseal_arg {
};
struct gss_unseal_res {
int conf_state; /* type of conf. provided */
int qop_state; /* quality of prot. provided */
};
%/* EXPORT DELETE END */
struct gss_display_status_arg {
int status_value; /* status to be converted */
int status_type; /* GSS or mech status */
};
struct gss_display_status_res {
int message_context; /* recursion flag */
};
%/* gss_indicate_mechs_arg is void. This appears in the rpc call def */
struct gss_indicate_mechs_res {
};
struct gss_inquire_cred_arg {
};
struct gss_inquire_cred_res {
int cred_usage; /* how creds may be used */
};
struct gss_inquire_cred_by_mech_arg {
};
struct gss_inquire_cred_by_mech_res {
};
struct gsscred_name_to_unix_cred_arg {
};
struct gsscred_name_to_unix_cred_res {
};
struct
};
struct
};
struct gss_get_group_info_arg {
};
struct gss_get_group_info_res {
};
struct gss_get_kmod_arg {
};
union gss_get_kmod_res switch (bool module_follow) {
case TRUE:
case FALSE:
void;
};
/*
* The server accepts requests only from the loopback address.
* Unix authentication is used, and the port must be in the reserved range.
*/
/*
* Called by the client to acquire a credential.
*/
/*
* Called by the client to release a credential.
*/
/*
* Called by the client to initialize a security context.
*/
/*
* Called by the server to initialize a security context.
*/
/*
* Called to pass token to underlying mechanism.
*/
/*
* Called to delete a security context.
*/
/*
* Called to get remaining time security context has to live.
*/
/*
* Called to sign a message.
*/
/*
* Called to verify a signed message.
*/
/*
* Called to translate minor status into a string.
*/
/*
* Called to indicate which underlying mechanisms are supported
*/
GSS_INDICATE_MECHS(void) = 11;
/*
* Called by the client to inquire about a credential.
*/
/* EXPORT DELETE START */
/*
* Called to seal a message.
*/
/*
* Called to unseal a message.
*/
/* EXPORT DELETE END */
/*
* gsscred interface functions to obtain principal uid and gids
*/
/*
* Called by the client to add to a credential.
*/
= 22;
} = 1;
} = 100234;