#include <t_stddef.h>
#include <t_syslog.h>
#include <stdarg.h>
関数 | |
void | syslog (uint_t prio, const char *format,...) |
void syslog | ( | uint_t | prio, | |
const char * | format, | |||
... | ||||
) |
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 }
Copyright © 2008 by Kijineko Inc.