home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 4 / DATAFILE_PDCD4.iso / unix / armlinux / alpha / PARTITIONS / USR_GZ / usr / include / rpcsvc / rusers.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-05-14  |  1.9 KB  |  98 lines

  1. /*
  2.  * Find out about remote users
  3.  */
  4. #define RUSERS_MAXUSERLEN 32
  5. #define RUSERS_MAXLINELEN 32
  6. #define RUSERS_MAXHOSTLEN 257
  7.  
  8. struct rusers_utmp {
  9.     char *ut_user;
  10.     char *ut_line;
  11.     char *ut_host;
  12.     int ut_type;
  13.     int ut_time;
  14.     u_int ut_idle;
  15. };
  16. typedef struct rusers_utmp rusers_utmp;
  17. bool_t xdr_rusers_utmp();
  18.  
  19.  
  20. typedef struct {
  21.     u_int utmp_array_len;
  22.     rusers_utmp *utmp_array_val;
  23. } utmp_array;
  24. bool_t xdr_utmp_array();
  25.  
  26.  
  27. /*
  28.  * Values for ut_type field above.
  29.  */
  30. #define RUSERS_EMPTY 0
  31. #define RUSERS_RUN_LVL 1
  32. #define RUSERS_BOOT_TIME 2
  33. #define RUSERS_OLD_TIME 3
  34. #define RUSERS_NEW_TIME 4
  35. #define RUSERS_INIT_PROCESS 5
  36. #define RUSERS_LOGIN_PROCESS 6
  37. #define RUSERS_USER_PROCESS 7
  38. #define RUSERS_DEAD_PROCESS 8
  39. #define RUSERS_ACCOUNTING 9
  40.  
  41. #define RUSERSPROG ((u_long)100002)
  42. #define RUSERSVERS_3 ((u_long)3)
  43. #define RUSERSPROC_NUM ((u_long)1)
  44. extern int *rusersproc_num_3();
  45. #define RUSERSPROC_NAMES ((u_long)2)
  46. extern utmp_array *rusersproc_names_3();
  47. #define RUSERSPROC_ALLNAMES ((u_long)3)
  48. extern utmp_array *rusersproc_allnames_3();
  49.  
  50.  
  51.  
  52. #ifdef    __cplusplus
  53. extern "C" {
  54. #endif
  55.  
  56. /*
  57.  * The following structures are used by version 2 of the rusersd protocol.
  58.  * They were not developed with rpcgen, so they do not appear as RPCL.
  59.  */
  60.  
  61. #define    RUSERSVERS_IDLE 2
  62. #define    RUSERSVERS 3        /* current version */
  63. #define    MAXUSERS 100
  64.  
  65. /*
  66.  * This is the structure used in version 2 of the rusersd RPC service.
  67.  * It corresponds to the utmp structure for BSD sytems.
  68.  */
  69. struct ru_utmp {
  70.     char    ut_line[8];        /* tty name */
  71.     char    ut_name[8];        /* user id */
  72.     char    ut_host[16];        /* host name, if remote */
  73.     long    ut_time;        /* time on */
  74. };
  75.  
  76. struct utmparr {
  77.        struct ru_utmp **uta_arr;
  78.        int uta_cnt;
  79. };
  80. typedef struct utmparr utmparr;
  81. int xdr_utmparr();
  82.  
  83. struct utmpidle {
  84.     struct ru_utmp ui_utmp;
  85.     unsigned ui_idle;
  86. };
  87.  
  88. struct utmpidlearr {
  89.     struct utmpidle **uia_arr;
  90.     int uia_cnt;
  91. };
  92.  
  93. int xdr_utmpidlearr();
  94.  
  95. #ifdef    __cplusplus
  96. }
  97. #endif
  98.