blob: dc2d3b0d1c421bdefa322790c66bc7f281e4f9e3 [file] [log] [blame]
/*
* Please do not edit this file.
* It was generated using rpcgen.
*/
#ifndef _RUSERS_H_RPCGEN
#define _RUSERS_H_RPCGEN
#include <rpc/rpc.h>
#ifdef __cplusplus
extern "C" {
#endif
/*
* Find out about remote users
*/
#define RUSERS_MAXUSERLEN 32
#define RUSERS_MAXLINELEN 32
#define RUSERS_MAXHOSTLEN 257
struct rusers_utmp {
char *ut_user;
char *ut_line;
char *ut_host;
int ut_type;
int ut_time;
u_int ut_idle;
};
typedef struct rusers_utmp rusers_utmp;
typedef struct {
u_int utmp_array_len;
rusers_utmp *utmp_array_val;
} utmp_array;
/*
* Values for ut_type field above.
*/
#define RUSERS_EMPTY 0
#define RUSERS_RUN_LVL 1
#define RUSERS_BOOT_TIME 2
#define RUSERS_OLD_TIME 3
#define RUSERS_NEW_TIME 4
#define RUSERS_INIT_PROCESS 5
#define RUSERS_LOGIN_PROCESS 6
#define RUSERS_USER_PROCESS 7
#define RUSERS_DEAD_PROCESS 8
#define RUSERS_ACCOUNTING 9
#ifdef __cplusplus
extern "C" {
#endif
#include <rpc/xdr.h>
/*
* The following structures are used by version 2 of the rusersd protocol.
* They were not developed with rpcgen, so they do not appear as RPCL.
*/
#define RUSERSVERS_IDLE 2
#define RUSERSVERS 3 /* current version */
#define MAXUSERS 100
/*
* This is the structure used in version 2 of the rusersd RPC service.
* It corresponds to the utmp structure for BSD systems.
*/
struct ru_utmp {
char ut_line[8]; /* tty name */
char ut_name[8]; /* user id */
char ut_host[16]; /* host name, if remote */
long int ut_time; /* time on */
};
struct utmparr {
struct ru_utmp **uta_arr;
int uta_cnt;
};
typedef struct utmparr utmparr;
extern bool_t xdr_utmparr (XDR *xdrs, struct utmparr *objp) __THROW;
struct utmpidle {
struct ru_utmp ui_utmp;
unsigned int ui_idle;
};
struct utmpidlearr {
struct utmpidle **uia_arr;
int uia_cnt;
};
extern bool_t xdr_utmpidlearr (XDR *xdrs, struct utmpidlearr *objp) __THROW;
#ifdef __cplusplus
}
#endif
#define RUSERSPROG 100002
#define RUSERSVERS_3 3
#if defined(__STDC__) || defined(__cplusplus)
#define RUSERSPROC_NUM 1
extern int * rusersproc_num_3(void *, CLIENT *);
extern int * rusersproc_num_3_svc(void *, struct svc_req *);
#define RUSERSPROC_NAMES 2
extern utmp_array * rusersproc_names_3(void *, CLIENT *);
extern utmp_array * rusersproc_names_3_svc(void *, struct svc_req *);
#define RUSERSPROC_ALLNAMES 3
extern utmp_array * rusersproc_allnames_3(void *, CLIENT *);
extern utmp_array * rusersproc_allnames_3_svc(void *, struct svc_req *);
extern int rusersprog_3_freeresult (SVCXPRT *, xdrproc_t, caddr_t);
#else /* K&R C */
#define RUSERSPROC_NUM 1
extern int * rusersproc_num_3();
extern int * rusersproc_num_3_svc();
#define RUSERSPROC_NAMES 2
extern utmp_array * rusersproc_names_3();
extern utmp_array * rusersproc_names_3_svc();
#define RUSERSPROC_ALLNAMES 3
extern utmp_array * rusersproc_allnames_3();
extern utmp_array * rusersproc_allnames_3_svc();
extern int rusersprog_3_freeresult ();
#endif /* K&R C */
/* the xdr functions */
#if defined(__STDC__) || defined(__cplusplus)
extern bool_t xdr_rusers_utmp (XDR *, rusers_utmp*);
extern bool_t xdr_utmp_array (XDR *, utmp_array*);
#else /* K&R C */
extern bool_t xdr_rusers_utmp ();
extern bool_t xdr_utmp_array ();
#endif /* K&R C */
#ifdef __cplusplus
}
#endif
#endif /* !_RUSERS_H_RPCGEN */