Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

errdemon(1M)




errfile(4) errfile(4)
NAME errfile - error-log file format DESCRIPTION When hardware errors are detected by the system, an error record is generated and passed to the error-logging daemon for recording in the error log for later analysis. The default error log is /usr/adm/errfile. The format of an error record depends on the type of error that was encountered. Every record, however, has a header with the following format: struct errhdr { short e_type; /* record type */ short e_len; /* bytes in record (inc hdr) */ time_t e_time; /* time of day */ }; The permissible record types are as follows: #define E_GOTS 010 /* start for the UNIX/TS */ #define E_GORT 011 /* start for the UNIX/RT */ #define E_STOP 012 /* stop */ #define E_TCHG 013 /* time change */ #define E_CCHG 014 /* configuration change */ #define E_BLK 020 /* block device error */ #define E_STRAY 030 /* stray interrupt */ #define E_PRTY 031 /* memory parity */ Some records in the error file are of an administrative nature. These include the startup record that is entered into the file when logging is activated, the stop record that is written if the daemon is terminated ``gracefully'', and the time-change record that is used to account for changes in the system's time-of-day. These records have the following formats: struct estart { short e_cpu; /* CPU type */ struct utsname e_name; /* system names */ }; #define eend errhdr /* record header */ struct etimchg { time_t e_ntime; /* new time */ }; Stray interrupts cause a record with the following format to be logged: struct estray { uint e_saddr; /* stray loc or device addr */ January 1992 1



errfile(4) errfile(4)
}; Generation of memory subsystem errors is not supported in this release. Error records for block devices have the following format: struct eblock { dev_t e_dev; /* ``true'' major + minor dev no */ physadr e_regloc; /* controller address */ short e_bacty; /* other block I/O activity */ struct iostat { long io_ops; /* number read/writes */ long io_misc; /* number ``other'' operations */ ushort io_unlog; /* number unlogged errors */ } e_stats; short e_bflags; /* read/write, error, etc */ short e_cyloff; /* logical dev start cyl */ daddr_t e_bnum; /* logical block number */ ushort e_bytes; /* number bytes to transfer */ paddr_t e_memadd; /* buffer memory address */ ushort e_rtry; /* number retries */ short e_nreg; /* number device registers */ }; The following values are used in the e_bflags word: #define E_WRITE 0 /* write operation */ #define E_READ 1 /* read operation */ #define E_NOIO 02 /* no I/O pending */ #define E_PHYS 04 /* physical I/O */ #define E_FORMAT 010 /* Formatting Disk*/ #define E_ERROR 020 /* I/O failed */ SEE ALSO errdemon(1M) in A/UX System Administrator's Reference 2 January 1992

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026