| データ構造 | |
| struct | SYSLOG | 
| struct | t_syslog_rlog | 
| マクロ定義 | |
| #define | LOG_TYPE_COMMENT UINT_C(0x01) | 
| #define | LOG_TYPE_ASSERT UINT_C(0x02) | 
| #define | LOG_TYPE_INH UINT_C(0x11) | 
| #define | LOG_TYPE_ISR UINT_C(0x12) | 
| #define | LOG_TYPE_CYC UINT_C(0x13) | 
| #define | LOG_TYPE_ALM UINT_C(0x14) | 
| #define | LOG_TYPE_OVR UINT_C(0x15) | 
| #define | LOG_TYPE_EXC UINT_C(0x16) | 
| #define | LOG_TYPE_TEX UINT_C(0x17) | 
| #define | LOG_TYPE_TSKSTAT UINT_C(0x18) | 
| #define | LOG_TYPE_DSP UINT_C(0x19) | 
| #define | LOG_TYPE_SVC UINT_C(0x1a) | 
| #define | LOG_ENTER UINT_C(0x00) | 
| #define | LOG_LEAVE UINT_C(0x80) | 
| #define | LOG_EMERG UINT_C(0) | 
| #define | LOG_ALERT UINT_C(1) | 
| #define | LOG_CRIT UINT_C(2) | 
| #define | LOG_ERROR UINT_C(3) | 
| #define | LOG_WARNING UINT_C(4) | 
| #define | LOG_NOTICE UINT_C(5) | 
| #define | LOG_INFO UINT_C(6) | 
| #define | LOG_DEBUG UINT_C(7) | 
| #define | TMAX_LOGINFO 6 | 
| #define | LOG_MASK(prio) (1U << (prio)) | 
| #define | LOG_UPTO(prio) ((1U << ((prio) + 1)) - 1) | 
| #define | syslog_0(prio, format) _syslog_1(prio, LOG_TYPE_COMMENT, (intptr_t) format) | 
| #define | syslog_1(prio, format, arg1) | 
| #define | syslog_2(prio, format, arg1, arg2) | 
| #define | syslog_3(prio, format, arg1, arg2, arg3) | 
| #define | syslog_4(prio, format, arg1, arg2, arg3, arg4) | 
| #define | syslog_5(prio, format, arg1, arg2, arg3, arg4, arg5) | 
| #define | TOPPERS_assert_fail(exp, file, line) | 
| 型定義 | |
| typedef struct t_syslog_rlog | T_SYSLOG_RLOG | 
| 関数 | |
| ER | syslog_wri_log (uint_t prio, SYSLOG *p_syslog) throw () | 
| Inline void | _syslog_0 (uint_t prio, uint_t type) | 
| Inline void | _syslog_1 (uint_t prio, uint_t type, intptr_t arg1) | 
| Inline void | _syslog_2 (uint_t prio, uint_t type, intptr_t arg1, intptr_t arg2) | 
| Inline void | _syslog_3 (uint_t prio, uint_t type, intptr_t arg1, intptr_t arg2, intptr_t arg3) | 
| Inline void | _syslog_4 (uint_t prio, uint_t type, intptr_t arg1, intptr_t arg2, intptr_t arg3, intptr_t arg4) | 
| Inline void | _syslog_5 (uint_t prio, uint_t type, intptr_t arg1, intptr_t arg2, intptr_t arg3, intptr_t arg4, intptr_t arg5) | 
| Inline void | _syslog_6 (uint_t prio, uint_t type, intptr_t arg1, intptr_t arg2, intptr_t arg3, intptr_t arg4, intptr_t arg5, intptr_t arg6) | 
| void | syslog (uint_t prio, const char *format,...) throw () | 
| #define LOG_ALERT UINT_C(1) | 
t_syslog.h の 96 行で定義されています。
| #define LOG_CRIT UINT_C(2) | 
t_syslog.h の 97 行で定義されています。
| #define LOG_DEBUG UINT_C(7) | 
t_syslog.h の 102 行で定義されています。
| #define LOG_EMERG UINT_C(0) | 
| #define LOG_ENTER UINT_C(0x00) | 
| #define LOG_ERROR UINT_C(3) | 
| #define LOG_INFO UINT_C(6) | 
| #define LOG_LEAVE UINT_C(0x80) | 
| #define LOG_MASK | ( | prio | ) | (1U << (prio)) | 
| #define LOG_NOTICE UINT_C(5) | 
t_syslog.h の 100 行で定義されています。
参照元 logtask_main(), main_task(), print_banner(), print_hist(), syslog_initialize(), task(), と tex_routine().
| #define LOG_TYPE_ALM UINT_C(0x14) | 
t_syslog.h の 81 行で定義されています。
| #define LOG_TYPE_ASSERT UINT_C(0x02) | 
| #define LOG_TYPE_COMMENT UINT_C(0x01) | 
t_syslog.h の 75 行で定義されています。
参照元 logtask_main(), logtask_terminate(), syslog(), syslog_print(), と trace_print().
| #define LOG_TYPE_CYC UINT_C(0x13) | 
t_syslog.h の 80 行で定義されています。
| #define LOG_TYPE_DSP UINT_C(0x19) | 
| #define LOG_TYPE_EXC UINT_C(0x16) | 
| #define LOG_TYPE_INH UINT_C(0x11) | 
| #define LOG_TYPE_ISR UINT_C(0x12) | 
t_syslog.h の 79 行で定義されています。
| #define LOG_TYPE_OVR UINT_C(0x15) | 
t_syslog.h の 82 行で定義されています。
| #define LOG_TYPE_SVC UINT_C(0x1a) | 
t_syslog.h の 87 行で定義されています。
| #define LOG_TYPE_TEX UINT_C(0x17) | 
t_syslog.h の 84 行で定義されています。
| #define LOG_TYPE_TSKSTAT UINT_C(0x18) | 
| #define LOG_UPTO | ( | prio | ) | ((1U << ((prio) + 1)) - 1) | 
| #define LOG_WARNING UINT_C(4) | 
t_syslog.h の 99 行で定義されています。
| #define syslog_0 | ( | prio, | |||
| format | ) | _syslog_1(prio, LOG_TYPE_COMMENT, (intptr_t) format) | 
t_syslog.h の 295 行で定義されています。
| #define syslog_1 | ( | prio, | |||
| format, | |||||
| arg1 | ) | 
値:
_syslog_2(prio, LOG_TYPE_COMMENT, (intptr_t) format, \ (intptr_t)(arg1))
t_syslog.h の 298 行で定義されています。
参照元 logtask_main().
| #define syslog_2 | ( | prio, | |||
| format, | |||||
| arg1, | |||||
| arg2 | ) | 
値:
_syslog_3(prio, LOG_TYPE_COMMENT, (intptr_t) format, \ (intptr_t)(arg1), (intptr_t)(arg2))
t_syslog.h の 302 行で定義されています。
参照元 print_hist().
| #define syslog_3 | ( | prio, | |||
| format, | |||||
| arg1, | |||||
| arg2, | |||||
| arg3 | ) | 
値:
_syslog_4(prio, LOG_TYPE_COMMENT, (intptr_t) format, \ (intptr_t)(arg1), (intptr_t)(arg2), (intptr_t)(arg3))
t_syslog.h の 306 行で定義されています。
参照元 print_banner().
| #define syslog_4 | ( | prio, | |||
| format, | |||||
| arg1, | |||||
| arg2, | |||||
| arg3, | |||||
| arg4 | ) | 
値:
_syslog_5(prio, LOG_TYPE_COMMENT, (intptr_t) format, \ (intptr_t)(arg1), (intptr_t)(arg2), (intptr_t)(arg3), \ (intptr_t)(arg4))
t_syslog.h の 310 行で定義されています。
| #define syslog_5 | ( | prio, | |||
| format, | |||||
| arg1, | |||||
| arg2, | |||||
| arg3, | |||||
| arg4, | |||||
| arg5 | ) | 
値:
_syslog_6(prio, LOG_TYPE_COMMENT, (intptr_t) format, \ (intptr_t)(arg1), (intptr_t)(arg2), (intptr_t)(arg3), \ (intptr_t)(arg4), (intptr_t)(arg5))
t_syslog.h の 315 行で定義されています。
参照元 t_perror().
| #define TMAX_LOGINFO 6 | 
| #define TOPPERS_assert_fail | ( | exp, | |||
| file, | |||||
| line | ) | 
値:
_syslog_3(LOG_EMERG, LOG_TYPE_ASSERT, (intptr_t)(file), \ (intptr_t)(line), (intptr_t)(exp))
t_syslog.h の 324 行で定義されています。
| typedef struct t_syslog_rlog T_SYSLOG_RLOG | 
t_syslog.h の 143 行で定義されています。
参照先 SYSLOG::logtype, syslog(), と syslog_wri_log().
00144 { 00145 SYSLOG syslog; 00146 00147 syslog.logtype = type; 00148 (void) syslog_wri_log(prio, &syslog); 00149 }
t_syslog.h の 152 行で定義されています。
参照先 SYSLOG::loginfo, SYSLOG::logtype, syslog(), と syslog_wri_log().
00153 { 00154 SYSLOG syslog; 00155 00156 syslog.logtype = type; 00157 syslog.loginfo[0] = arg1; 00158 (void) syslog_wri_log(prio, &syslog); 00159 }
t_syslog.h の 162 行で定義されています。
参照先 SYSLOG::loginfo, SYSLOG::logtype, syslog(), と syslog_wri_log().
00163 { 00164 SYSLOG syslog; 00165 00166 syslog.logtype = type; 00167 syslog.loginfo[0] = arg1; 00168 syslog.loginfo[1] = arg2; 00169 (void) syslog_wri_log(prio, &syslog); 00170 }
t_syslog.h の 173 行で定義されています。
参照先 SYSLOG::loginfo, SYSLOG::logtype, syslog(), と syslog_wri_log().
00175 { 00176 SYSLOG syslog; 00177 00178 syslog.logtype = type; 00179 syslog.loginfo[0] = arg1; 00180 syslog.loginfo[1] = arg2; 00181 syslog.loginfo[2] = arg3; 00182 (void) syslog_wri_log(prio, &syslog); 00183 }
| Inline void _syslog_4 | ( | uint_t | prio, | |
| uint_t | type, | |||
| intptr_t | arg1, | |||
| intptr_t | arg2, | |||
| intptr_t | arg3, | |||
| intptr_t | arg4 | |||
| ) | 
t_syslog.h の 186 行で定義されています。
参照先 SYSLOG::loginfo, SYSLOG::logtype, syslog(), と syslog_wri_log().
00188 { 00189 SYSLOG syslog; 00190 00191 syslog.logtype = type; 00192 syslog.loginfo[0] = arg1; 00193 syslog.loginfo[1] = arg2; 00194 syslog.loginfo[2] = arg3; 00195 syslog.loginfo[3] = arg4; 00196 (void) syslog_wri_log(prio, &syslog); 00197 }
| Inline void _syslog_5 | ( | uint_t | prio, | |
| uint_t | type, | |||
| intptr_t | arg1, | |||
| intptr_t | arg2, | |||
| intptr_t | arg3, | |||
| intptr_t | arg4, | |||
| intptr_t | arg5 | |||
| ) | 
t_syslog.h の 200 行で定義されています。
参照先 SYSLOG::loginfo, SYSLOG::logtype, syslog(), と syslog_wri_log().
00202 { 00203 SYSLOG syslog; 00204 00205 syslog.logtype = type; 00206 syslog.loginfo[0] = arg1; 00207 syslog.loginfo[1] = arg2; 00208 syslog.loginfo[2] = arg3; 00209 syslog.loginfo[3] = arg4; 00210 syslog.loginfo[4] = arg5; 00211 (void) syslog_wri_log(prio, &syslog); 00212 }
| Inline void _syslog_6 | ( | uint_t | prio, | |
| uint_t | type, | |||
| intptr_t | arg1, | |||
| intptr_t | arg2, | |||
| intptr_t | arg3, | |||
| intptr_t | arg4, | |||
| intptr_t | arg5, | |||
| intptr_t | arg6 | |||
| ) | 
t_syslog.h の 215 行で定義されています。
参照先 SYSLOG::loginfo, SYSLOG::logtype, syslog(), と syslog_wri_log().
00217 { 00218 SYSLOG syslog; 00219 00220 syslog.logtype = type; 00221 syslog.loginfo[0] = arg1; 00222 syslog.loginfo[1] = arg2; 00223 syslog.loginfo[2] = arg3; 00224 syslog.loginfo[3] = arg4; 00225 syslog.loginfo[4] = arg5; 00226 syslog.loginfo[5] = arg6; 00227 (void) syslog_wri_log(prio, &syslog); 00228 }
| void syslog | ( | uint_t | prio, | |
| const char * | format, | |||
| ... | ||||
| ) | throw () | 
vasyslog.c の 51 行で定義されています。
参照先 LOG_TYPE_COMMENT, SYSLOG::loginfo, SYSLOG::logtype, syslog(), syslog_wri_log(), と TMAX_LOGINFO.
参照元 _syslog_0(), _syslog_1(), _syslog_2(), _syslog_3(), _syslog_4(), _syslog_5(), _syslog_6(), logtask_main(), logtask_terminate(), main_task(), syslog(), task(), と tex_routine().
00052 { 00053 SYSLOG syslog; 00054 va_list ap; 00055 uint_t i; 00056 char c; 00057 bool_t lflag; 00058 00059 syslog.logtype = LOG_TYPE_COMMENT; 00060 syslog.loginfo[0] = (intptr_t) format; 00061 i = 1U; 00062 va_start(ap, format); 00063 00064 while ((c = *format++) != '\0' && i < TMAX_LOGINFO) { 00065 if (c != '%') { 00066 continue; 00067 } 00068 00069 lflag = false; 00070 c = *format++; 00071 while ('0' <= c && c <= '9') { 00072 c = *format++; 00073 } 00074 if (c == 'l') { 00075 lflag = true; 00076 c = *format++; 00077 } 00078 switch (c) { 00079 case 'd': 00080 syslog.loginfo[i++] = lflag ? (intptr_t) va_arg(ap, long_t) 00081 : (intptr_t) va_arg(ap, int_t); 00082 break; 00083 case 'u': 00084 case 'x': 00085 case 'X': 00086 syslog.loginfo[i++] = lflag ? (intptr_t) va_arg(ap, ulong_t) 00087 : (intptr_t) va_arg(ap, uint_t); 00088 break; 00089 case 'p': 00090 syslog.loginfo[i++] = (intptr_t) va_arg(ap, void *); 00091 break; 00092 case 'c': 00093 syslog.loginfo[i++] = (intptr_t) va_arg(ap, int); 00094 break; 00095 case 's': 00096 syslog.loginfo[i++] = (intptr_t) va_arg(ap, const char *); 00097 break; 00098 case '\0': 00099 format--; 00100 break; 00101 default: 00102 break; 00103 } 00104 } 00105 va_end(ap); 00106 (void) syslog_wri_log(prio, &syslog); 00107 }
参照元 _syslog_0(), _syslog_1(), _syslog_2(), _syslog_3(), _syslog_4(), _syslog_5(), _syslog_6(), と syslog().
00133 { 00134 SIL_PRE_LOC; 00135 00136 LOG_SYSLOG_WRI_LOG_ENTER(prio, p_syslog); 00137 SIL_LOC_INT(); 00138 00139 /* 00140 * ログ時刻の設定 00141 */ 00142 p_syslog->logtim = _kernel_current_time; 00143 00144 /* 00145 * ログバッファに記録 00146 */ 00147 if ((syslog_logmask & LOG_MASK(prio)) != 0U) { 00148 syslog_buffer[syslog_tail] = *p_syslog; 00149 syslog_tail++; 00150 if (syslog_tail >= TCNT_SYSLOG_BUFFER) { 00151 syslog_tail = 0U; 00152 } 00153 if (syslog_count < TCNT_SYSLOG_BUFFER) { 00154 syslog_count++; 00155 } 00156 else { 00157 syslog_head = syslog_tail; 00158 syslog_lost++; 00159 } 00160 } 00161 00162 /* 00163 * 低レベル出力 00164 */ 00165 if ((syslog_lowmask & LOG_MASK(prio)) != 0U) { 00166 syslog_print(p_syslog, target_fput_log); 00167 (*target_fput_log)('\n'); 00168 } 00169 00170 SIL_UNL_INT(); 00171 LOG_SYSLOG_WRI_LOG_LEAVE(E_OK); 00172 return(E_OK); 00173 }
Copyright © 2008 by Kijineko Inc.