Changeset View
Changeset View
Standalone View
Standalone View
head/sys/sys/acct.h
Show All 39 Lines | |||||
#ifdef _KERNEL | #ifdef _KERNEL | ||||
#define float uint32_t | #define float uint32_t | ||||
#endif | #endif | ||||
#define AC_COMM_LEN 16 | #define AC_COMM_LEN 16 | ||||
/* | /* | ||||
* Accounting structure version 2 (current). | * Accounting structure version 3 (current). | ||||
* The first byte is always zero. | * The first byte is always zero. | ||||
* Time units are microseconds. | * Time units are microseconds. | ||||
*/ | */ | ||||
struct acctv2 { | struct acctv3 { | ||||
uint8_t ac_zero; /* zero identifies new version */ | uint8_t ac_zero; /* zero identifies new version */ | ||||
uint8_t ac_version; /* record version number */ | uint8_t ac_version; /* record version number */ | ||||
uint16_t ac_len; /* record length */ | uint16_t ac_len; /* record length */ | ||||
char ac_comm[AC_COMM_LEN]; /* command name */ | char ac_comm[AC_COMM_LEN]; /* command name */ | ||||
float ac_utime; /* user time */ | float ac_utime; /* user time */ | ||||
float ac_stime; /* system time */ | float ac_stime; /* system time */ | ||||
float ac_etime; /* elapsed time */ | float ac_etime; /* elapsed time */ | ||||
time_t ac_btime; /* starting time */ | time_t ac_btime; /* starting time */ | ||||
uid_t ac_uid; /* user id */ | uid_t ac_uid; /* user id */ | ||||
gid_t ac_gid; /* group id */ | gid_t ac_gid; /* group id */ | ||||
float ac_mem; /* average memory usage */ | float ac_mem; /* average memory usage */ | ||||
float ac_io; /* count of IO blocks */ | float ac_io; /* count of IO blocks */ | ||||
__dev_t ac_tty; /* controlling tty */ | __dev_t ac_tty; /* controlling tty */ | ||||
uint32_t ac_pad0; | |||||
#if defined(__powerpc__) && !defined(_LP64) | |||||
uint32_t ac_pad1; | |||||
#endif | |||||
uint16_t ac_len2; /* record length */ | uint16_t ac_len2; /* record length */ | ||||
union { | union { | ||||
__dev_t ac_align; /* force v1 compatible alignment */ | uint32_t ac_align; /* force v1 compatible alignment */ | ||||
#define AFORK 0x01 /* forked but not exec'ed */ | #define AFORK 0x01 /* forked but not exec'ed */ | ||||
/* ASU is no longer supported */ | /* ASU is no longer supported */ | ||||
#define ASU 0x02 /* used super-user permissions */ | #define ASU 0x02 /* used super-user permissions */ | ||||
#define ACOMPAT 0x04 /* used compatibility mode */ | #define ACOMPAT 0x04 /* used compatibility mode */ | ||||
#define ACORE 0x08 /* dumped core */ | #define ACORE 0x08 /* dumped core */ | ||||
#define AXSIG 0x10 /* killed by a signal */ | #define AXSIG 0x10 /* killed by a signal */ | ||||
#define ANVER 0x20 /* new record version */ | #define ANVER 0x20 /* new record version */ | ||||
uint8_t ac_flag; /* accounting flags */ | uint8_t ac_flag; /* accounting flags */ | ||||
} ac_trailer; | } ac_trailer; | ||||
#define ac_flagx ac_trailer.ac_flag | #define ac_flagx ac_trailer.ac_flag | ||||
}; | }; | ||||
struct acctv2 { | |||||
uint8_t ac_zero; /* zero identifies new version */ | |||||
uint8_t ac_version; /* record version number */ | |||||
uint16_t ac_len; /* record length */ | |||||
char ac_comm[AC_COMM_LEN]; /* command name */ | |||||
float ac_utime; /* user time */ | |||||
float ac_stime; /* system time */ | |||||
float ac_etime; /* elapsed time */ | |||||
time_t ac_btime; /* starting time */ | |||||
uid_t ac_uid; /* user id */ | |||||
gid_t ac_gid; /* group id */ | |||||
float ac_mem; /* average memory usage */ | |||||
float ac_io; /* count of IO blocks */ | |||||
uint32_t ac_tty; /* controlling tty */ | |||||
uint16_t ac_len2; /* record length */ | |||||
union { | |||||
uint32_t ac_align; /* force v1 compatible alignment */ | |||||
uint8_t ac_flag; /* accounting flags */ | |||||
} ac_trailer; | |||||
}; | |||||
/* | /* | ||||
* Legacy accounting structure (rev. 1.5-1.18). | * Legacy accounting structure (rev. 1.5-1.18). | ||||
* The first byte is always non-zero. | * The first byte is always non-zero. | ||||
* Some fields use a comp_t type which is a 3 bits base 8 | * Some fields use a comp_t type which is a 3 bits base 8 | ||||
* exponent, 13 bit fraction ``floating point'' number. | * exponent, 13 bit fraction ``floating point'' number. | ||||
* Units are 1/AHZV1 seconds. | * Units are 1/AHZV1 seconds. | ||||
*/ | */ | ||||
typedef uint16_t comp_t; | typedef uint16_t comp_t; | ||||
struct acctv1 { | struct acctv1 { | ||||
char ac_comm[AC_COMM_LEN]; /* command name */ | char ac_comm[AC_COMM_LEN]; /* command name */ | ||||
comp_t ac_utime; /* user time */ | comp_t ac_utime; /* user time */ | ||||
comp_t ac_stime; /* system time */ | comp_t ac_stime; /* system time */ | ||||
comp_t ac_etime; /* elapsed time */ | comp_t ac_etime; /* elapsed time */ | ||||
time_t ac_btime; /* starting time */ | time_t ac_btime; /* starting time */ | ||||
uid_t ac_uid; /* user id */ | uid_t ac_uid; /* user id */ | ||||
gid_t ac_gid; /* group id */ | gid_t ac_gid; /* group id */ | ||||
uint16_t ac_mem; /* average memory usage */ | uint16_t ac_mem; /* average memory usage */ | ||||
comp_t ac_io; /* count of IO blocks */ | comp_t ac_io; /* count of IO blocks */ | ||||
__dev_t ac_tty; /* controlling tty */ | uint32_t ac_tty; /* controlling tty */ | ||||
uint8_t ac_flag; /* accounting flags */ | uint8_t ac_flag; /* accounting flags */ | ||||
}; | }; | ||||
/* | /* | ||||
* 1/AHZV1 is the granularity of the data encoded in the comp_t fields. | * 1/AHZV1 is the granularity of the data encoded in the comp_t fields. | ||||
* This is not necessarily equal to hz. | * This is not necessarily equal to hz. | ||||
*/ | */ | ||||
#define AHZV1 64 | #define AHZV1 64 | ||||
Show All 9 Lines |