master
  1/*
  2 * Please do not edit this file.
  3 * It was generated using rpcgen.
  4 */
  5
  6#ifndef _KEY_PROT_H_RPCGEN
  7#define	_KEY_PROT_H_RPCGEN
  8
  9#include <rpc/rpc.h>
 10
 11#ifdef __cplusplus
 12extern "C" {
 13#endif
 14
 15/*-
 16 * Copyright (c) 2010, Oracle America, Inc.
 17 *
 18 * Redistribution and use in source and binary forms, with or without
 19 * modification, are permitted provided that the following conditions are
 20 * met:
 21 *
 22 *     * Redistributions of source code must retain the above copyright
 23 *       notice, this list of conditions and the following disclaimer.
 24 *     * Redistributions in binary form must reproduce the above
 25 *       copyright notice, this list of conditions and the following
 26 *       disclaimer in the documentation and/or other materials
 27 *       provided with the distribution.
 28 *     * Neither the name of the "Oracle America, Inc." nor the names of its
 29 *       contributors may be used to endorse or promote products derived
 30 *       from this software without specific prior written permission.
 31 *
 32 *   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 33 *   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 34 *   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
 35 *   FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 36 *   COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
 37 *   INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 38 *   DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
 39 *   GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 40 *   INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 41 *   WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 42 *   NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 43 *   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 44 */
 45/* From: #pragma ident	"@(#)key_prot.x	1.7	94/04/29 SMI" */
 46/* Copyright (c)  1990, 1991 Sun Microsystems, Inc. */
 47#include <sys/cdefs.h>
 48
 49/* 
 50 * Compiled from key_prot.x using rpcgen.
 51 * DO NOT EDIT THIS FILE!
 52 * This is NOT source code!
 53 */
 54#define	PROOT 3
 55#define	HEXMODULUS "d4a0ba0250b6fd2ec626e7efd637df76c716e22d0944b88b"
 56#define	HEXKEYBYTES 48
 57#define	KEYSIZE 192
 58#define	KEYBYTES 24
 59#define	KEYCHECKSUMSIZE 16
 60
 61enum keystatus {
 62	KEY_SUCCESS = 0,
 63	KEY_NOSECRET = 1,
 64	KEY_UNKNOWN = 2,
 65	KEY_SYSTEMERR = 3
 66};
 67typedef enum keystatus keystatus;
 68
 69typedef char keybuf[HEXKEYBYTES];
 70
 71typedef char *netnamestr;
 72
 73struct cryptkeyarg {
 74	netnamestr remotename;
 75	des_block deskey;
 76};
 77typedef struct cryptkeyarg cryptkeyarg;
 78
 79struct cryptkeyarg2 {
 80	netnamestr remotename;
 81	netobj remotekey;
 82	des_block deskey;
 83};
 84typedef struct cryptkeyarg2 cryptkeyarg2;
 85
 86struct cryptkeyres {
 87	keystatus status;
 88	union {
 89		des_block deskey;
 90	} cryptkeyres_u;
 91};
 92typedef struct cryptkeyres cryptkeyres;
 93#define	MAXGIDS 16
 94
 95struct unixcred {
 96	u_int uid;
 97	u_int gid;
 98	struct {
 99		u_int gids_len;
100		u_int *gids_val;
101	} gids;
102};
103typedef struct unixcred unixcred;
104
105struct getcredres {
106	keystatus status;
107	union {
108		unixcred cred;
109	} getcredres_u;
110};
111typedef struct getcredres getcredres;
112
113struct key_netstarg {
114	keybuf st_priv_key;
115	keybuf st_pub_key;
116	netnamestr st_netname;
117};
118typedef struct key_netstarg key_netstarg;
119
120struct key_netstres {
121	keystatus status;
122	union {
123		key_netstarg knet;
124	} key_netstres_u;
125};
126typedef struct key_netstres key_netstres;
127
128#ifndef opaque
129#define opaque char
130#endif
131
132
133#define	KEY_PROG ((unsigned long)(100029))
134#define	KEY_VERS ((unsigned long)(1))
135
136extern  void key_prog_1(struct svc_req *rqstp, SVCXPRT *transp);
137#define	KEY_SET ((unsigned long)(1))
138extern  keystatus * key_set_1(char *, CLIENT *);
139extern  keystatus * key_set_1_svc(char *, struct svc_req *);
140#define	KEY_ENCRYPT ((unsigned long)(2))
141extern  cryptkeyres * key_encrypt_1(cryptkeyarg *, CLIENT *);
142extern  cryptkeyres * key_encrypt_1_svc(cryptkeyarg *, struct svc_req *);
143#define	KEY_DECRYPT ((unsigned long)(3))
144extern  cryptkeyres * key_decrypt_1(cryptkeyarg *, CLIENT *);
145extern  cryptkeyres * key_decrypt_1_svc(cryptkeyarg *, struct svc_req *);
146#define	KEY_GEN ((unsigned long)(4))
147extern  des_block * key_gen_1(void *, CLIENT *);
148extern  des_block * key_gen_1_svc(void *, struct svc_req *);
149#define	KEY_GETCRED ((unsigned long)(5))
150extern  getcredres * key_getcred_1(netnamestr *, CLIENT *);
151extern  getcredres * key_getcred_1_svc(netnamestr *, struct svc_req *);
152extern int key_prog_1_freeresult(SVCXPRT *, xdrproc_t, caddr_t);
153#define	KEY_VERS2 ((unsigned long)(2))
154
155extern  void key_prog_2(struct svc_req *rqstp, SVCXPRT *transp);
156extern  keystatus * key_set_2(char *, CLIENT *);
157extern  keystatus * key_set_2_svc(char *, struct svc_req *);
158extern  cryptkeyres * key_encrypt_2(cryptkeyarg *, CLIENT *);
159extern  cryptkeyres * key_encrypt_2_svc(cryptkeyarg *, struct svc_req *);
160extern  cryptkeyres * key_decrypt_2(cryptkeyarg *, CLIENT *);
161extern  cryptkeyres * key_decrypt_2_svc(cryptkeyarg *, struct svc_req *);
162extern  des_block * key_gen_2(void *, CLIENT *);
163extern  des_block * key_gen_2_svc(void *, struct svc_req *);
164extern  getcredres * key_getcred_2(netnamestr *, CLIENT *);
165extern  getcredres * key_getcred_2_svc(netnamestr *, struct svc_req *);
166#define	KEY_ENCRYPT_PK ((unsigned long)(6))
167extern  cryptkeyres * key_encrypt_pk_2(cryptkeyarg2 *, CLIENT *);
168extern  cryptkeyres * key_encrypt_pk_2_svc(cryptkeyarg2 *, struct svc_req *);
169#define	KEY_DECRYPT_PK ((unsigned long)(7))
170extern  cryptkeyres * key_decrypt_pk_2(cryptkeyarg2 *, CLIENT *);
171extern  cryptkeyres * key_decrypt_pk_2_svc(cryptkeyarg2 *, struct svc_req *);
172#define	KEY_NET_PUT ((unsigned long)(8))
173extern  keystatus * key_net_put_2(key_netstarg *, CLIENT *);
174extern  keystatus * key_net_put_2_svc(key_netstarg *, struct svc_req *);
175#define	KEY_NET_GET ((unsigned long)(9))
176extern  key_netstres * key_net_get_2(void *, CLIENT *);
177extern  key_netstres * key_net_get_2_svc(void *, struct svc_req *);
178#define	KEY_GET_CONV ((unsigned long)(10))
179extern  cryptkeyres * key_get_conv_2(char *, CLIENT *);
180extern  cryptkeyres * key_get_conv_2_svc(char *, struct svc_req *);
181extern int key_prog_2_freeresult(SVCXPRT *, xdrproc_t, caddr_t);
182
183/* the xdr functions */
184extern  bool_t xdr_keystatus(XDR *, keystatus*);
185extern  bool_t xdr_keybuf(XDR *, keybuf);
186extern  bool_t xdr_netnamestr(XDR *, netnamestr*);
187extern  bool_t xdr_cryptkeyarg(XDR *, cryptkeyarg*);
188extern  bool_t xdr_cryptkeyarg2(XDR *, cryptkeyarg2*);
189extern  bool_t xdr_cryptkeyres(XDR *, cryptkeyres*);
190extern  bool_t xdr_unixcred(XDR *, unixcred*);
191extern  bool_t xdr_getcredres(XDR *, getcredres*);
192extern  bool_t xdr_key_netstarg(XDR *, key_netstarg*);
193extern  bool_t xdr_key_netstres(XDR *, key_netstres*);
194
195#ifdef __cplusplus
196}
197#endif
198
199#endif /* !_KEY_PROT_H_RPCGEN */