#include <sys/acct.h>
typedef struct acct_v3 struct_acct;
+#define HAVE_AC_EXITCODE
#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
{ 0 }
};
+#ifdef HAVE_AC_EXITCODE
static const char *sigabbrev[]= {
"HUP", "INT", "QUIT", "ILL", "TRAP", "ABRT", "BUS", "FPE",
"KILL", "USR1", "SEGV", "USR2", "PIPE", "ALRM", "TERM", "STKFLT",
"CHLD", "CONT", "STOP", "TSTP", "TTIN", "TTOU", "URG", "XCPU",
"XFSZ", "VTALRM", "PROF", "WINCH", "IO"
};
+#endif
void usagemessage(void) {
fputs("usage: acctdump [<options>] [<file> ...]\n"
static void printbanner(void) {
if (raw) {
fputs("begin date command "
- "uid gid tty dev FSDX exit",
- stdout);
+ "uid gid tty dev FSDX "
+#ifdef HAVE_AC_EXITCODE
+ "exit"
+#endif
+ , stdout);
} else {
fputs("begin date and time command "
- "user group tty dev FSDX sigexit",
- stdout);
+ "user group tty dev FSDX "
+#ifdef HAVE_AC_EXITCODE
+ "sigexit"
+#endif
+ , stdout);
}
if (usages) {
fputs(" user time sys time elap time minflt maxflt",
static void printrecord(const struct_acct *as, const char *filename) {
static int walkeddev;
- int i, dc, r;
+ int i, r;
const char *fp;
char buf[100];
struct tm *tm;
printf("#%x",r);
}
putchar(' ');
-
+
+#ifdef HAVE_AC_EXITCODE
+ int dc;
dc= WCOREDUMP(as->ac_exitcode) ? 'd' : 'k';
if (raw) {
if (WIFEXITED(as->ac_exitcode)) {
printf("#%04lx",(unsigned long)as->ac_exitcode);
}
}
+#endif /*HAVE_AC_EXITCODE*/
if (usages) {
printf(" %10lu %10lu %10lu %8ld %8ld",