xref: /original-bsd/sys/sys/acct.h (revision da818fbb)
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