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 */