File indexing completed on 2025-01-18 10:12:37
0001
0002
0003
0004
0005
0006 #ifndef _RUSERS_H_RPCGEN
0007 #define _RUSERS_H_RPCGEN
0008
0009 #include <rpc/rpc.h>
0010
0011
0012 #ifdef __cplusplus
0013 extern "C" {
0014 #endif
0015
0016
0017
0018
0019 #define RUSERS_MAXUSERLEN 32
0020 #define RUSERS_MAXLINELEN 32
0021 #define RUSERS_MAXHOSTLEN 257
0022
0023 struct rusers_utmp {
0024 char *ut_user;
0025 char *ut_line;
0026 char *ut_host;
0027 int ut_type;
0028 int ut_time;
0029 u_int ut_idle;
0030 };
0031 typedef struct rusers_utmp rusers_utmp;
0032
0033 typedef struct {
0034 u_int utmp_array_len;
0035 rusers_utmp *utmp_array_val;
0036 } utmp_array;
0037
0038
0039
0040
0041 #define RUSERS_EMPTY 0
0042 #define RUSERS_RUN_LVL 1
0043 #define RUSERS_BOOT_TIME 2
0044 #define RUSERS_OLD_TIME 3
0045 #define RUSERS_NEW_TIME 4
0046 #define RUSERS_INIT_PROCESS 5
0047 #define RUSERS_LOGIN_PROCESS 6
0048 #define RUSERS_USER_PROCESS 7
0049 #define RUSERS_DEAD_PROCESS 8
0050 #define RUSERS_ACCOUNTING 9
0051
0052
0053 #ifdef __cplusplus
0054 extern "C" {
0055 #endif
0056
0057 #include <rpc/xdr.h>
0058
0059
0060
0061
0062
0063
0064 #define RUSERSVERS_IDLE 2
0065 #define RUSERSVERS 3
0066 #define MAXUSERS 100
0067
0068
0069
0070
0071
0072 struct ru_utmp {
0073 char ut_line[8];
0074 char ut_name[8];
0075 char ut_host[16];
0076 long int ut_time;
0077 };
0078
0079 struct utmparr {
0080 struct ru_utmp **uta_arr;
0081 int uta_cnt;
0082 };
0083 typedef struct utmparr utmparr;
0084
0085 extern bool_t xdr_utmparr (XDR *xdrs, struct utmparr *objp) __THROW;
0086
0087 struct utmpidle {
0088 struct ru_utmp ui_utmp;
0089 unsigned int ui_idle;
0090 };
0091
0092 struct utmpidlearr {
0093 struct utmpidle **uia_arr;
0094 int uia_cnt;
0095 };
0096
0097 extern bool_t xdr_utmpidlearr (XDR *xdrs, struct utmpidlearr *objp) __THROW;
0098
0099 #ifdef __cplusplus
0100 }
0101 #endif
0102
0103 #define RUSERSPROG 100002
0104 #define RUSERSVERS_3 3
0105
0106 #if defined(__STDC__) || defined(__cplusplus)
0107 #define RUSERSPROC_NUM 1
0108 extern int * rusersproc_num_3(void *, CLIENT *);
0109 extern int * rusersproc_num_3_svc(void *, struct svc_req *);
0110 #define RUSERSPROC_NAMES 2
0111 extern utmp_array * rusersproc_names_3(void *, CLIENT *);
0112 extern utmp_array * rusersproc_names_3_svc(void *, struct svc_req *);
0113 #define RUSERSPROC_ALLNAMES 3
0114 extern utmp_array * rusersproc_allnames_3(void *, CLIENT *);
0115 extern utmp_array * rusersproc_allnames_3_svc(void *, struct svc_req *);
0116 extern int rusersprog_3_freeresult (SVCXPRT *, xdrproc_t, caddr_t);
0117
0118 #else
0119 #define RUSERSPROC_NUM 1
0120 extern int * rusersproc_num_3();
0121 extern int * rusersproc_num_3_svc();
0122 #define RUSERSPROC_NAMES 2
0123 extern utmp_array * rusersproc_names_3();
0124 extern utmp_array * rusersproc_names_3_svc();
0125 #define RUSERSPROC_ALLNAMES 3
0126 extern utmp_array * rusersproc_allnames_3();
0127 extern utmp_array * rusersproc_allnames_3_svc();
0128 extern int rusersprog_3_freeresult ();
0129 #endif
0130
0131
0132
0133 #if defined(__STDC__) || defined(__cplusplus)
0134 extern bool_t xdr_rusers_utmp (XDR *, rusers_utmp*);
0135 extern bool_t xdr_utmp_array (XDR *, utmp_array*);
0136
0137 #else
0138 extern bool_t xdr_rusers_utmp ();
0139 extern bool_t xdr_utmp_array ();
0140
0141 #endif
0142
0143 #ifdef __cplusplus
0144 }
0145 #endif
0146
0147 #endif