]> git.saurik.com Git - apple/network_cmds.git/blob - yppush.tproj/yppush_xdr.c
581ab6d7ecce3678f529876dc1ac50b5ec201a93
[apple/network_cmds.git] / yppush.tproj / yppush_xdr.c
1 /*
2 * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
3 *
4 * @APPLE_LICENSE_HEADER_START@
5 *
6 * This file contains Original Code and/or Modifications of Original Code
7 * as defined in and that are subject to the Apple Public Source License
8 * Version 2.0 (the 'License'). You may not use this file except in
9 * compliance with the License. Please obtain a copy of the License at
10 * http://www.opensource.apple.com/apsl/ and read it before using this
11 * file.
12 *
13 * The Original Code and all software distributed under the License are
14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
18 * Please see the License for the specific language governing rights and
19 * limitations under the License.
20 *
21 * @APPLE_LICENSE_HEADER_END@
22 */
23 /* $OpenBSD: yppush_xdr.c,v 1.2 1996/05/30 09:53:22 deraadt Exp $ */
24
25 /*
26 * Copyright (c) 1996 Mats O Jansson <moj@stacken.kth.se>
27 * All rights reserved.
28 *
29 * Redistribution and use in source and binary forms, with or without
30 * modification, are permitted provided that the following conditions
31 * are met:
32 * 1. Redistributions of source code must retain the above copyright
33 * notice, this list of conditions and the following disclaimer.
34 * 2. Redistributions in binary form must reproduce the above copyright
35 * notice, this list of conditions and the following disclaimer in the
36 * documentation and/or other materials provided with the distribution.
37 * 3. All advertising materials mentioning features or use of this software
38 * must display the following acknowledgement:
39 * This product includes software developed by Mats O Jansson
40 * 4. The name of the author may not be used to endorse or promote products
41 * derived from this software without specific prior written permission.
42 *
43 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
44 * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
45 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
46 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
47 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
48 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
49 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
50 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
51 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
52 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
53 * SUCH DAMAGE.
54 */
55
56 #ifndef LINT
57 static char rcsid[] = "$OpenBSD: yppush_xdr.c,v 1.2 1996/05/30 09:53:22 deraadt Exp $";
58 #endif
59
60 #include <rpc/rpc.h>
61 #include <rpcsvc/yp.h>
62
63 __private_extern__
64 bool_t
65 xdr_domainname(xdrs, objp)
66 XDR *xdrs;
67 domainname *objp;
68 {
69 if (!xdr_string(xdrs, objp, YPMAXDOMAIN)) {
70 return (FALSE);
71 }
72 return (TRUE);
73 }
74
75 __private_extern__
76 bool_t
77 xdr_mapname(xdrs, objp)
78 XDR *xdrs;
79 mapname *objp;
80 {
81 if (!xdr_string(xdrs, objp, YPMAXMAP)) {
82 return (FALSE);
83 }
84 return (TRUE);
85 }
86
87 __private_extern__
88 bool_t
89 xdr_peername(xdrs, objp)
90 XDR *xdrs;
91 peername *objp;
92 {
93 if (!xdr_string(xdrs, objp, YPMAXPEER)) {
94 return (FALSE);
95 }
96 return (TRUE);
97 }
98
99 bool_t
100 xdr_ypmap_parms(xdrs, objp)
101 XDR *xdrs;
102 ypmap_parms *objp;
103 {
104 if (!xdr_domainname(xdrs, &objp->domain)) {
105 return (FALSE);
106 }
107 if (!xdr_mapname(xdrs, &objp->map)) {
108 return (FALSE);
109 }
110 if (!xdr_u_int(xdrs, &objp->ordernum)) {
111 return (FALSE);
112 }
113 if (!xdr_peername(xdrs, &objp->peer)) {
114 return (FALSE);
115 }
116 return (TRUE);
117 }
118
119 bool_t
120 xdr_ypreq_xfr(xdrs, objp)
121 XDR *xdrs;
122 ypreq_xfr *objp;
123 {
124 if (!xdr_ypmap_parms(xdrs, &objp->map_parms)) {
125 return (FALSE);
126 }
127 if (!xdr_u_int(xdrs, &objp->transid)) {
128 return (FALSE);
129 }
130 if (!xdr_u_int(xdrs, &objp->prog)) {
131 return (FALSE);
132 }
133 if (!xdr_u_int(xdrs, &objp->port)) {
134 return (FALSE);
135 }
136 return (TRUE);
137 }
138
139 bool_t
140 xdr_yppush_status(xdrs, objp)
141 XDR *xdrs;
142 yppush_status *objp;
143 {
144 register long *buf;
145
146 if (!xdr_enum(xdrs, (enum_t *)objp)) {
147 return (FALSE);
148 }
149 return (TRUE);
150 }
151
152 bool_t
153 xdr_yppushresp_xfr(xdrs, objp)
154 XDR *xdrs;
155 yppushresp_xfr *objp;
156 {
157
158 register long *buf;
159
160 if (!xdr_u_int(xdrs, &objp->transid)) {
161 return (FALSE);
162 }
163 if (!xdr_yppush_status(xdrs, &objp->status)) {
164 return (FALSE);
165 }
166 return (TRUE);
167 }
168
169
170