1 /* 2 * Copyright (c) 1982, 1986 Regents of the University of California. 3 * All rights reserved. The Berkeley software License Agreement 4 * specifies the terms and conditions for redistribution. 5 * 6 * @(#)acct.h 7.2 (Berkeley) 05/09/89 7 */ 8 9 /* 10 * Accounting structures; 11 * these use a comp_t type which is a 3 bits base 8 12 * exponent, 13 bit fraction ``floating point'' number. 13 * Units are 1/AHZ seconds. 14 */ 15 typedef u_short comp_t; 16 17 struct acct 18 { 19 char ac_comm[10]; /* Accounting command name */ 20 comp_t ac_utime; /* Accounting user time */ 21 comp_t ac_stime; /* Accounting system time */ 22 comp_t ac_etime; /* Accounting elapsed time */ 23 time_t ac_btime; /* Beginning time */ 24 uid_t ac_uid; /* Accounting user ID */ 25 gid_t ac_gid; /* Accounting group ID */ 26 short ac_mem; /* average memory usage */ 27 comp_t ac_io; /* number of disk IO blocks */ 28 dev_t ac_tty; /* control typewriter */ 29 char ac_flag; /* Accounting flag */ 30 }; 31 32 #define AFORK 0001 /* has executed fork, but no exec */ 33 #define ASU 0002 /* used super-user privileges */ 34 #define ACOMPAT 0004 /* used compatibility mode */ 35 #define ACORE 0010 /* dumped core */ 36 #define AXSIG 0020 /* killed by a signal */ 37 38 /* 39 * 1/AHZ is the granularity of the data encoded in the various 40 * comp_t fields. This is not necessarily equal to hz. 41 */ 42 #define AHZ 64 43 44 #ifdef KERNEL 45 struct vnode *acctp; 46 #endif 47