148 lines
3.2 KiB
C
148 lines
3.2 KiB
C
/*
|
|
* 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 */
|