Annotation of coherent/f/usr/include/sys/strlog.h, revision 1.1.1.1

1.1       root        1: #ifndef        __SYS_STRLOG_H__
                      2: #define        __SYS_STRLOG_H__
                      3: 
                      4: /*
                      5:  * Structures and constants for streams log driver log (7).
                      6:  */
                      7: /*
                      8:  *-IMPORTS:
                      9:  *     <common/_clock.h>
                     10:  *             clock_t
                     11:  *     <common/_time.h>
                     12:  *             time_t
                     13:  */
                     14: 
                     15: #include <common/_clock.h>
                     16: #include <common/_time.h>
                     17: 
                     18: 
                     19: /*
                     20:  * It is not possible to achieve cross-system binary compatibility with any
                     21:  * System V program which uses device-dependent ioctl ()'s with the current
                     22:  * level of documentation published by USL. The contents and names of fields
                     23:  * in the structures defined below are not defined in any published document,
                     24:  * so in order to emulate the System V facilities we would have to have used
                     25:  * knowledge gained from examination of the System V header files, which are
                     26:  * described as unpublished proprietary works.
                     27:  *
                     28:  * Indeed, since it is not possible to use such facilities without recourse to
                     29:  * this proprietary information, we are presented with an interesting
                     30:  * conundrum. Not only can we not provide binary compatibility, we cannot even
                     31:  * provide source-level compatibility.
                     32:  *
                     33:  * Field names whose names are known from publically available information are
                     34:  * given in that forms. Field names which we known exist, but for which we do
                     35:  * not know the names have been assigned names with a special prefix. The
                     36:  * data types of these values has been inferred from the published
                     37:  * descriptions, and thus may not match System V types, and also may be given
                     38:  * in a different order.
                     39:  *
                     40:  * Caveat utilitor!
                     41:  */
                     42: 
                     43: struct log_ctl {
                     44:        short           mwc_mid;
                     45:        short           mwc_sid;
                     46:        char            level;
                     47:        unsigned short  flags;
                     48:        clock_t         mwc_ticks;      /* time logged in ticks */
                     49:        time_t          mwc_time;       /* time logged in POSIX format */
                     50:        unsigned long   mwc_seqno;
                     51:        unsigned short  mwc_pri;
                     52: };
                     53: 
                     54: 
                     55: #define        SL_ERROR                0x0001
                     56: #define        SL_TRACE                0x0002
                     57: #define        SL_CONSOLE              0x0004
                     58: #define        SL_NOTIFY               0x0008
                     59: #define        SL_FATAL                0x0010
                     60: #define        SL_WARN                 0x0020
                     61: #define        SL_NOTE                 0x0040
                     62: 
                     63: 
                     64: /*
                     65:  * Maximum number of arguments that may be passed with a log message. It is
                     66:  * not absolutely clear how much space this specifies, but we assume that
                     67:  * this many longwords can be passed. Floating-point arguments are not valid,
                     68:  * nor are pointers.
                     69:  */
                     70: 
                     71: enum { NLOGARGS = 3 };
                     72: 
                     73: 
                     74: /*
                     75:  * Priority and facility code information derived from the flags.
                     76:  */
                     77: 
                     78: enum {
                     79:        LOG_NOTICE = 0,
                     80:        LOG_INFO,
                     81:        LOG_DEBUG,
                     82:        LOG_WARNING,
                     83:        LOG_ERR,
                     84:        LOG_CRIT,
                     85: 
                     86:        LOG_KERN = 0,
                     87:        LOG_USER = 256
                     88: };
                     89: 
                     90: #endif /* ! defined (__SYS_STRLOG_H__) */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.