xref: /utopia/UTPA2-700.0.x/projects/tools/lint/mips-linux-gnu_include/rpcsvc/rusers.h (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
1*53ee8cc1Swenshuai.xi /*
2*53ee8cc1Swenshuai.xi  * Please do not edit this file.
3*53ee8cc1Swenshuai.xi  * It was generated using rpcgen.
4*53ee8cc1Swenshuai.xi  */
5*53ee8cc1Swenshuai.xi 
6*53ee8cc1Swenshuai.xi #ifndef _RUSERS_H_RPCGEN
7*53ee8cc1Swenshuai.xi #define _RUSERS_H_RPCGEN
8*53ee8cc1Swenshuai.xi 
9*53ee8cc1Swenshuai.xi #include <rpc/rpc.h>
10*53ee8cc1Swenshuai.xi 
11*53ee8cc1Swenshuai.xi 
12*53ee8cc1Swenshuai.xi #ifdef __cplusplus
13*53ee8cc1Swenshuai.xi extern "C" {
14*53ee8cc1Swenshuai.xi #endif
15*53ee8cc1Swenshuai.xi 
16*53ee8cc1Swenshuai.xi /*
17*53ee8cc1Swenshuai.xi  * Find out about remote users
18*53ee8cc1Swenshuai.xi  */
19*53ee8cc1Swenshuai.xi #define RUSERS_MAXUSERLEN 32
20*53ee8cc1Swenshuai.xi #define RUSERS_MAXLINELEN 32
21*53ee8cc1Swenshuai.xi #define RUSERS_MAXHOSTLEN 257
22*53ee8cc1Swenshuai.xi 
23*53ee8cc1Swenshuai.xi struct rusers_utmp {
24*53ee8cc1Swenshuai.xi 	char *ut_user;
25*53ee8cc1Swenshuai.xi 	char *ut_line;
26*53ee8cc1Swenshuai.xi 	char *ut_host;
27*53ee8cc1Swenshuai.xi 	int ut_type;
28*53ee8cc1Swenshuai.xi 	int ut_time;
29*53ee8cc1Swenshuai.xi 	u_int ut_idle;
30*53ee8cc1Swenshuai.xi };
31*53ee8cc1Swenshuai.xi typedef struct rusers_utmp rusers_utmp;
32*53ee8cc1Swenshuai.xi 
33*53ee8cc1Swenshuai.xi typedef struct {
34*53ee8cc1Swenshuai.xi 	u_int utmp_array_len;
35*53ee8cc1Swenshuai.xi 	rusers_utmp *utmp_array_val;
36*53ee8cc1Swenshuai.xi } utmp_array;
37*53ee8cc1Swenshuai.xi 
38*53ee8cc1Swenshuai.xi /*
39*53ee8cc1Swenshuai.xi  * Values for ut_type field above.
40*53ee8cc1Swenshuai.xi  */
41*53ee8cc1Swenshuai.xi #define RUSERS_EMPTY 0
42*53ee8cc1Swenshuai.xi #define RUSERS_RUN_LVL 1
43*53ee8cc1Swenshuai.xi #define RUSERS_BOOT_TIME 2
44*53ee8cc1Swenshuai.xi #define RUSERS_OLD_TIME 3
45*53ee8cc1Swenshuai.xi #define RUSERS_NEW_TIME 4
46*53ee8cc1Swenshuai.xi #define RUSERS_INIT_PROCESS 5
47*53ee8cc1Swenshuai.xi #define RUSERS_LOGIN_PROCESS 6
48*53ee8cc1Swenshuai.xi #define RUSERS_USER_PROCESS 7
49*53ee8cc1Swenshuai.xi #define RUSERS_DEAD_PROCESS 8
50*53ee8cc1Swenshuai.xi #define RUSERS_ACCOUNTING 9
51*53ee8cc1Swenshuai.xi 
52*53ee8cc1Swenshuai.xi 
53*53ee8cc1Swenshuai.xi #ifdef __cplusplus
54*53ee8cc1Swenshuai.xi extern "C" {
55*53ee8cc1Swenshuai.xi #endif
56*53ee8cc1Swenshuai.xi 
57*53ee8cc1Swenshuai.xi #include <rpc/xdr.h>
58*53ee8cc1Swenshuai.xi 
59*53ee8cc1Swenshuai.xi /*
60*53ee8cc1Swenshuai.xi  * The following structures are used by version 2 of the rusersd protocol.
61*53ee8cc1Swenshuai.xi  * They were not developed with rpcgen, so they do not appear as RPCL.
62*53ee8cc1Swenshuai.xi  */
63*53ee8cc1Swenshuai.xi 
64*53ee8cc1Swenshuai.xi #define RUSERSVERS_IDLE 2
65*53ee8cc1Swenshuai.xi #define RUSERSVERS 3 /* current version */
66*53ee8cc1Swenshuai.xi #define MAXUSERS 100
67*53ee8cc1Swenshuai.xi 
68*53ee8cc1Swenshuai.xi /*
69*53ee8cc1Swenshuai.xi  * This is the structure used in version 2 of the rusersd RPC service.
70*53ee8cc1Swenshuai.xi  * It corresponds to the utmp structure for BSD systems.
71*53ee8cc1Swenshuai.xi  */
72*53ee8cc1Swenshuai.xi struct ru_utmp {
73*53ee8cc1Swenshuai.xi  char ut_line[8]; /* tty name */
74*53ee8cc1Swenshuai.xi  char ut_name[8]; /* user id */
75*53ee8cc1Swenshuai.xi  char ut_host[16]; /* host name, if remote */
76*53ee8cc1Swenshuai.xi  long int ut_time; /* time on */
77*53ee8cc1Swenshuai.xi };
78*53ee8cc1Swenshuai.xi 
79*53ee8cc1Swenshuai.xi struct utmparr {
80*53ee8cc1Swenshuai.xi  struct ru_utmp **uta_arr;
81*53ee8cc1Swenshuai.xi  int uta_cnt;
82*53ee8cc1Swenshuai.xi };
83*53ee8cc1Swenshuai.xi typedef struct utmparr utmparr;
84*53ee8cc1Swenshuai.xi 
85*53ee8cc1Swenshuai.xi extern bool_t xdr_utmparr (XDR *xdrs, struct utmparr *objp) __THROW;
86*53ee8cc1Swenshuai.xi 
87*53ee8cc1Swenshuai.xi struct utmpidle {
88*53ee8cc1Swenshuai.xi  struct ru_utmp ui_utmp;
89*53ee8cc1Swenshuai.xi  unsigned int ui_idle;
90*53ee8cc1Swenshuai.xi };
91*53ee8cc1Swenshuai.xi 
92*53ee8cc1Swenshuai.xi struct utmpidlearr {
93*53ee8cc1Swenshuai.xi  struct utmpidle **uia_arr;
94*53ee8cc1Swenshuai.xi  int uia_cnt;
95*53ee8cc1Swenshuai.xi };
96*53ee8cc1Swenshuai.xi 
97*53ee8cc1Swenshuai.xi extern bool_t xdr_utmpidlearr (XDR *xdrs, struct utmpidlearr *objp) __THROW;
98*53ee8cc1Swenshuai.xi 
99*53ee8cc1Swenshuai.xi #ifdef __cplusplus
100*53ee8cc1Swenshuai.xi }
101*53ee8cc1Swenshuai.xi #endif
102*53ee8cc1Swenshuai.xi 
103*53ee8cc1Swenshuai.xi #define RUSERSPROG 100002
104*53ee8cc1Swenshuai.xi #define RUSERSVERS_3 3
105*53ee8cc1Swenshuai.xi 
106*53ee8cc1Swenshuai.xi #if defined(__STDC__) || defined(__cplusplus)
107*53ee8cc1Swenshuai.xi #define RUSERSPROC_NUM 1
108*53ee8cc1Swenshuai.xi extern  int * rusersproc_num_3(void *, CLIENT *);
109*53ee8cc1Swenshuai.xi extern  int * rusersproc_num_3_svc(void *, struct svc_req *);
110*53ee8cc1Swenshuai.xi #define RUSERSPROC_NAMES 2
111*53ee8cc1Swenshuai.xi extern  utmp_array * rusersproc_names_3(void *, CLIENT *);
112*53ee8cc1Swenshuai.xi extern  utmp_array * rusersproc_names_3_svc(void *, struct svc_req *);
113*53ee8cc1Swenshuai.xi #define RUSERSPROC_ALLNAMES 3
114*53ee8cc1Swenshuai.xi extern  utmp_array * rusersproc_allnames_3(void *, CLIENT *);
115*53ee8cc1Swenshuai.xi extern  utmp_array * rusersproc_allnames_3_svc(void *, struct svc_req *);
116*53ee8cc1Swenshuai.xi extern int rusersprog_3_freeresult (SVCXPRT *, xdrproc_t, caddr_t);
117*53ee8cc1Swenshuai.xi 
118*53ee8cc1Swenshuai.xi #else /* K&R C */
119*53ee8cc1Swenshuai.xi #define RUSERSPROC_NUM 1
120*53ee8cc1Swenshuai.xi extern  int * rusersproc_num_3();
121*53ee8cc1Swenshuai.xi extern  int * rusersproc_num_3_svc();
122*53ee8cc1Swenshuai.xi #define RUSERSPROC_NAMES 2
123*53ee8cc1Swenshuai.xi extern  utmp_array * rusersproc_names_3();
124*53ee8cc1Swenshuai.xi extern  utmp_array * rusersproc_names_3_svc();
125*53ee8cc1Swenshuai.xi #define RUSERSPROC_ALLNAMES 3
126*53ee8cc1Swenshuai.xi extern  utmp_array * rusersproc_allnames_3();
127*53ee8cc1Swenshuai.xi extern  utmp_array * rusersproc_allnames_3_svc();
128*53ee8cc1Swenshuai.xi extern int rusersprog_3_freeresult ();
129*53ee8cc1Swenshuai.xi #endif /* K&R C */
130*53ee8cc1Swenshuai.xi 
131*53ee8cc1Swenshuai.xi /* the xdr functions */
132*53ee8cc1Swenshuai.xi 
133*53ee8cc1Swenshuai.xi #if defined(__STDC__) || defined(__cplusplus)
134*53ee8cc1Swenshuai.xi extern  bool_t xdr_rusers_utmp (XDR *, rusers_utmp*);
135*53ee8cc1Swenshuai.xi extern  bool_t xdr_utmp_array (XDR *, utmp_array*);
136*53ee8cc1Swenshuai.xi 
137*53ee8cc1Swenshuai.xi #else /* K&R C */
138*53ee8cc1Swenshuai.xi extern bool_t xdr_rusers_utmp ();
139*53ee8cc1Swenshuai.xi extern bool_t xdr_utmp_array ();
140*53ee8cc1Swenshuai.xi 
141*53ee8cc1Swenshuai.xi #endif /* K&R C */
142*53ee8cc1Swenshuai.xi 
143*53ee8cc1Swenshuai.xi #ifdef __cplusplus
144*53ee8cc1Swenshuai.xi }
145*53ee8cc1Swenshuai.xi #endif
146*53ee8cc1Swenshuai.xi 
147*53ee8cc1Swenshuai.xi #endif /* !_RUSERS_H_RPCGEN */
148