acct.h raw

   1  #ifndef _SYS_ACCT_H
   2  #define _SYS_ACCT_H
   3  
   4  #ifdef __cplusplus
   5  extern "C" {
   6  #endif
   7  
   8  #include <features.h>
   9  #include <time.h>
  10  #include <stdint.h>
  11  
  12  #define ACCT_COMM 16
  13  
  14  typedef uint16_t comp_t;
  15  
  16  struct acct {
  17  	char ac_flag;
  18  	uint16_t ac_uid;
  19  	uint16_t ac_gid;
  20  	uint16_t ac_tty;
  21  	uint32_t ac_btime;
  22  	comp_t ac_utime;
  23  	comp_t ac_stime;
  24  	comp_t ac_etime;
  25  	comp_t ac_mem;
  26  	comp_t ac_io;
  27  	comp_t ac_rw;
  28  	comp_t ac_minflt;
  29  	comp_t ac_majflt;
  30  	comp_t ac_swaps;
  31  	uint32_t ac_exitcode;
  32  	char ac_comm[ACCT_COMM+1];
  33  	char ac_pad[10];
  34  };
  35  
  36  
  37  struct acct_v3 {
  38  	char ac_flag;
  39  	char ac_version;
  40  	uint16_t ac_tty;
  41  	uint32_t ac_exitcode;
  42  	uint32_t ac_uid;
  43  	uint32_t ac_gid;
  44  	uint32_t ac_pid;
  45  	uint32_t ac_ppid;
  46  	uint32_t ac_btime;
  47  	float ac_etime;
  48  	comp_t ac_utime;
  49  	comp_t ac_stime;
  50  	comp_t ac_mem;
  51  	comp_t ac_io;
  52  	comp_t ac_rw;
  53  	comp_t ac_minflt;
  54  	comp_t ac_majflt;
  55  	comp_t ac_swaps;
  56  	char ac_comm[ACCT_COMM];
  57  };
  58  
  59  #define AFORK 1
  60  #define ASU 2
  61  #define ACORE 8
  62  #define AXSIG 16
  63  #define ACCT_BYTEORDER (128*(__BYTE_ORDER==__BIG_ENDIAN))
  64  #define AHZ 100
  65  
  66  int acct(const char *);
  67  
  68  #ifdef __cplusplus
  69  }
  70  #endif
  71  
  72  #endif
  73