Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ errfile(4) — A/UX 0.7

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 */
          };.fi

          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 */
          };







     Page 1                                        (last mod. 1/14/87)





     errfile(4)                                             errfile(4)



          Stray interrupts cause a record with the following format to
          be logged:

          struct estray {
                 uint        e_saddr;  /* stray loc or device addr */
          };

          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 ebflags 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).












     Page 2                                        (last mod. 1/14/87)



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