|
|
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__) */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.