key_prot_xdr.c revision 256281
1275970Scy/*
2275970Scy * Please do not edit this file.
3275970Scy * It was generated using rpcgen.
4275970Scy */
5275970Scy
6275970Scy#include "namespace.h"
7275970Scy#include <rpc/key_prot.h>
8275970Scy#include "un-namespace.h"
9275970Scy/*
10275970Scy * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
11275970Scy * unrestricted use provided that this legend is included on all tape
12275970Scy * media and as a part of the software program in whole or part.  Users
13275970Scy * may copy or modify Sun RPC without charge, but are not authorized
14275970Scy * to license or distribute it to anyone else except as part of a product or
15275970Scy * program developed by the user.
16275970Scy *
17275970Scy * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
18275970Scy * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
19275970Scy * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
20275970Scy *
21275970Scy * Sun RPC is provided with no support and without any obligation on the
22275970Scy * part of Sun Microsystems, Inc. to assist in its use, correction,
23275970Scy * modification or enhancement.
24275970Scy *
25275970Scy * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
26275970Scy * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
27275970Scy * OR ANY PART THEREOF.
28275970Scy *
29275970Scy * In no event will Sun Microsystems, Inc. be liable for any lost revenue
30275970Scy * or profits or other special, indirect and consequential damages, even if
31275970Scy * Sun has been advised of the possibility of such damages.
32275970Scy *
33275970Scy * Sun Microsystems, Inc.
34275970Scy * 2550 Garcia Avenue
35275970Scy * Mountain View, California  94043
36275970Scy */
37275970Scy/* Copyright (c)  1990, 1991 Sun Microsystems, Inc. */
38275970Scy
39275970Scy/* #pragma ident	"@(#)key_prot.x	1.7	94/04/29 SMI" */
40275970Scy#include <sys/cdefs.h>
41275970Scy__FBSDID("$FreeBSD: stable/10/lib/libc/rpc/key_prot_xdr.c 173763 2007-11-20 01:51:20Z jb $");
42275970Scy
43275970Scy/*
44275970Scy * Compiled from key_prot.x using rpcgen.
45275970Scy * DO NOT EDIT THIS FILE!
46275970Scy * This is NOT source code!
47275970Scy */
48275970Scy
49275970Scybool_t
50275970Scyxdr_keystatus(register XDR *xdrs, keystatus *objp)
51275970Scy{
52275970Scy
53275970Scy	if (!xdr_enum(xdrs, (enum_t *)objp))
54275970Scy		return (FALSE);
55275970Scy	return (TRUE);
56275970Scy}
57275970Scy
58275970Scybool_t
59275970Scyxdr_keybuf(register XDR *xdrs, keybuf objp)
60275970Scy{
61275970Scy
62275970Scy	if (!xdr_opaque(xdrs, objp, HEXKEYBYTES))
63275970Scy		return (FALSE);
64275970Scy	return (TRUE);
65275970Scy}
66275970Scy
67275970Scybool_t
68275970Scyxdr_netnamestr(register XDR *xdrs, netnamestr *objp)
69275970Scy{
70275970Scy
71275970Scy	if (!xdr_string(xdrs, objp, MAXNETNAMELEN))
72275970Scy		return (FALSE);
73275970Scy	return (TRUE);
74275970Scy}
75275970Scy
76275970Scybool_t
77275970Scyxdr_cryptkeyarg(register XDR *xdrs, cryptkeyarg *objp)
78275970Scy{
79275970Scy
80	if (!xdr_netnamestr(xdrs, &objp->remotename))
81		return (FALSE);
82	if (!xdr_des_block(xdrs, &objp->deskey))
83		return (FALSE);
84	return (TRUE);
85}
86
87bool_t
88xdr_cryptkeyarg2(register XDR *xdrs, cryptkeyarg2 *objp)
89{
90
91	if (!xdr_netnamestr(xdrs, &objp->remotename))
92		return (FALSE);
93	if (!xdr_netobj(xdrs, &objp->remotekey))
94		return (FALSE);
95	if (!xdr_des_block(xdrs, &objp->deskey))
96		return (FALSE);
97	return (TRUE);
98}
99
100bool_t
101xdr_cryptkeyres(register XDR *xdrs, cryptkeyres *objp)
102{
103
104	if (!xdr_keystatus(xdrs, &objp->status))
105		return (FALSE);
106	switch (objp->status) {
107	case KEY_SUCCESS:
108		if (!xdr_des_block(xdrs, &objp->cryptkeyres_u.deskey))
109			return (FALSE);
110		break;
111	default:
112		break;
113	}
114	return (TRUE);
115}
116
117bool_t
118xdr_unixcred(register XDR *xdrs, unixcred *objp)
119{
120	u_int **pgids_val;
121
122	if (!xdr_u_int(xdrs, &objp->uid))
123		return (FALSE);
124	if (!xdr_u_int(xdrs, &objp->gid))
125		return (FALSE);
126	pgids_val = &objp->gids.gids_val;
127	if (!xdr_array(xdrs, (char **) pgids_val, (u_int *) &objp->gids.gids_len, MAXGIDS,
128		sizeof (u_int), (xdrproc_t) xdr_u_int))
129		return (FALSE);
130	return (TRUE);
131}
132
133bool_t
134xdr_getcredres(register XDR *xdrs, getcredres *objp)
135{
136
137	if (!xdr_keystatus(xdrs, &objp->status))
138		return (FALSE);
139	switch (objp->status) {
140	case KEY_SUCCESS:
141		if (!xdr_unixcred(xdrs, &objp->getcredres_u.cred))
142			return (FALSE);
143		break;
144	default:
145		break;
146	}
147	return (TRUE);
148}
149
150bool_t
151xdr_key_netstarg(register XDR *xdrs, key_netstarg *objp)
152{
153
154	if (!xdr_keybuf(xdrs, objp->st_priv_key))
155		return (FALSE);
156	if (!xdr_keybuf(xdrs, objp->st_pub_key))
157		return (FALSE);
158	if (!xdr_netnamestr(xdrs, &objp->st_netname))
159		return (FALSE);
160	return (TRUE);
161}
162
163bool_t
164xdr_key_netstres(register XDR *xdrs, key_netstres *objp)
165{
166
167	if (!xdr_keystatus(xdrs, &objp->status))
168		return (FALSE);
169	switch (objp->status) {
170	case KEY_SUCCESS:
171		if (!xdr_key_netstarg(xdrs, &objp->key_netstres_u.knet))
172			return (FALSE);
173		break;
174	default:
175		break;
176	}
177	return (TRUE);
178}
179