Do not run mandoc for lintmanpages if MANPAGES is empty.
[netbsd-mini2440.git] / lib / librpcsvc / rnusers.x
blob41b8d3059125e3ca93c10251c69f9feab66159f0
1 /*
2  * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
3  * unrestricted use provided that this legend is included on all tape
4  * media and as a part of the software program in whole or part.  Users
5  * may copy or modify Sun RPC without charge, but are not authorized
6  * to license or distribute it to anyone else except as part of a product or
7  * program developed by the user.
8  *
9  * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
10  * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
11  * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
12  *
13  * Sun RPC is provided with no support and without any obligation on the
14  * part of Sun Microsystems, Inc. to assist in its use, correction,
15  * modification or enhancement.
16  *
17  * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
18  * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
19  * OR ANY PART THEREOF.
20  *
21  * In no event will Sun Microsystems, Inc. be liable for any lost revenue
22  * or profits or other special, indirect and consequential damages, even if
23  * Sun has been advised of the possibility of such damages.
24  *
25  * Sun Microsystems, Inc.
26  * 2550 Garcia Avenue
27  * Mountain View, California  94043
28  */
31  * Find out about remote users
32  */
34 #ifndef RPC_HDR
35 %#include <sys/cdefs.h>
36 %#ifndef __lint__
37 %/*static char sccsid[] = "from: @(#)rnusers.x 1.2 87/09/20 Copyr 1987 Sun Micro";*/
38 %/*static char sccsid[] = "from: @(#)rnusers.x  2.1 88/08/01 4.0 RPCSRC";*/
39 %__RCSID("$NetBSD: rnusers.x,v 1.12 2004/07/01 22:52:34 kleink Exp $");
40 %#endif /* not __lint__ */
41 #endif
44 #ifdef RPC_HDR
45 %/*
46 % * The following structures are used by version 2 of the rusersd protocol.
47 % * They were not developed with rpcgen, so they do not appear as RPCL.
48 % */
50 %#define        RUSERSVERS_ORIG 1       /* original version */
51 %#define        RUSERSVERS_IDLE 2
52 %#define        MAXUSERS 100
54 %/*
55 % * This is the structure used in version 2 of the rusersd RPC service.
56 % * It corresponds to the utmp structure for BSD sytems.
57 % */
58 %struct ru_utmp {
59 %       char    ut_line[8];             /* tty name */
60 %       char    ut_name[8];             /* user id */
61 %       char    ut_host[16];            /* host name, if remote */
62 %       long    ut_time;                /* time on */
63 %};
64 %typedef struct ru_utmp rutmp;
66 %struct utmparr {
67 %       struct utmp **uta_arr;
68 %       int uta_cnt;
69 %};
70 %typedef struct utmparr utmparr;
72 %struct utmpidle {
73 %       struct ru_utmp ui_utmp;
74 %       unsigned ui_idle;
75 %};
77 %struct utmpidlearr {
78 %       struct utmpidle **uia_arr;
79 %       int uia_cnt;
80 %};
81 %typedef struct utmpidlearr utmpidlearr;
83 %#include <sys/cdefs.h>
84 %__BEGIN_DECLS
85 %bool_t xdr_utmp __P((XDR *, struct ru_utmp *));
86 %bool_t xdr_utmpptr __P((XDR *, struct ru_utmp **));
87 %bool_t xdr_utmparr __P((XDR *, struct utmparr *));
88 %bool_t xdr_utmpidle __P((XDR *, struct utmpidle *));
89 %bool_t xdr_utmpidleptr __P((XDR *, struct utmpidle **));
90 %bool_t xdr_utmpidlearr __P((XDR *, struct utmpidlearr *));
91 %__END_DECLS
93 %#define RUSERSVERS_1 ((u_long)1)
94 %#define RUSERSVERS_2 ((u_long)2)
95 %#ifndef RUSERSPROG
96 %#define RUSERSPROG ((u_long)100002)
97 %#endif
98 %#ifndef RUSERSPROC_NUM
99 %#define RUSERSPROC_NUM ((u_long)1)
100 %#endif
101 %#ifndef RUSERSPROC_NAMES
102 %#define RUSERSPROC_NAMES ((u_long)2)
103 %#endif
104 %#ifndef RUSERSPROC_ALLNAMES
105 %#define RUSERSPROC_ALLNAMES ((u_long)3)
106 %#endif
108 #endif  /* RPC_HDR */
110 #ifdef  RPC_XDR
111 %bool_t
112 %xdr_utmp(xdrs, objp)
113 %       XDR *xdrs;
114 %       struct ru_utmp *objp;
116 %       char *ptr;
117 %       u_int size;
119 %       /*
120 %        * We are using a non-malloc allocated array,
121 %        * so we are not supposed to call xdr_free with it.
122 %        */
123 %       if (xdrs->x_op == XDR_FREE)
124 %               return (TRUE);
125 %       ptr  = objp->ut_line;
126 %       size = (u_int)sizeof(objp->ut_line);
127 %       if (!xdr_bytes(xdrs, &ptr, &size, size))
128 %               return (FALSE);
129 %       ptr  = objp->ut_name;
130 %       size = (u_int)sizeof(objp->ut_name);
131 %       if (!xdr_bytes(xdrs, &ptr, &size, size))
132 %               return (FALSE);
133 %       ptr  = objp->ut_host;
134 %       size = (u_int)sizeof(objp->ut_host);
135 %       if (!xdr_bytes(xdrs, &ptr, &size, size))
136 %               return (FALSE);
137 %       if (!xdr_long(xdrs, &objp->ut_time))
138 %               return (FALSE);
139 %       return (TRUE);
142 %bool_t
143 %xdr_utmpptr(xdrs, objpp)
144 %       XDR *xdrs;
145 %       struct ru_utmp **objpp;
148 %       if (!xdr_reference(xdrs, (char **) objpp, (u_int)sizeof(struct ru_utmp),
149 %                          xdr_utmp))
150 %               return (FALSE);
151 %       return (TRUE);
154 %bool_t
155 %xdr_utmparr(xdrs, objp)
156 %       XDR *xdrs;
157 %       struct utmparr *objp;
160 %       if (!xdr_array(xdrs, (char **)(void *)&objp->uta_arr,
161 %                      (u_int *)&objp->uta_cnt, MAXUSERS,
162 %                      (u_int)sizeof(struct utmp *), xdr_utmpptr))
163 %               return (FALSE);
164 %       return (TRUE);
167 %bool_t
168 %xdr_utmpidle(xdrs, objp)
169 %       XDR *xdrs;
170 %       struct utmpidle *objp;
173 %       if (!xdr_utmp(xdrs, &objp->ui_utmp))
174 %               return (FALSE);
175 %       if (!xdr_u_int(xdrs, &objp->ui_idle))
176 %               return (FALSE);
177 %       return (TRUE);
180 %bool_t
181 %xdr_utmpidleptr(xdrs, objpp)
182 %       XDR *xdrs;
183 %       struct utmpidle **objpp;
186 %       if (!xdr_reference(xdrs, (char **) objpp,
187 %                          (u_int)sizeof(struct utmpidle), xdr_utmpidle))
188 %               return (FALSE);
189 %       return (TRUE);
192 %bool_t
193 %xdr_utmpidlearr(xdrs, objp)
194 %       XDR *xdrs;
195 %       struct utmpidlearr *objp;
198 %       if (!xdr_array(xdrs, (char **)(void *)&objp->uia_arr,
199 %                      (u_int *)&objp->uia_cnt, MAXUSERS,
200 %                      (u_int)sizeof(struct utmpidle *), xdr_utmpidleptr))
201 %               return (FALSE);
202 %       return (TRUE);
204 #endif