Ignore:
Timestamp:
Jul 3, 2020, 7:19:17 PM (4 years ago)
Author:
coas-nagasima
Message:

ASP3, TINET, mbed を更新

File:
1 edited

Legend:

Unmodified
Added
Removed
  • EcnlProtoTool/trunk/asp3_dcre/include/t_syslog.h

    r321 r429  
    11/*
    2  *  TOPPERS/ASP Kernel
    3  *      Toyohashi Open Platform for Embedded Real-Time Systems/
    4  *      Advanced Standard Profile Kernel
     2 *  TOPPERS Software
     3 *      Toyohashi Open Platform for Embedded Real-Time Systems
    54 *
    65 *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
    76 *                              Toyohashi Univ. of Technology, JAPAN
    8  *  Copyright (C) 2004-2014 by Embedded and Real-Time Systems Laboratory
     7 *  Copyright (C) 2004-2019 by Embedded and Real-Time Systems Laboratory
    98 *              Graduate School of Information Science, Nagoya Univ., JAPAN
    109 *
     
    6968#include <t_stddef.h>
    7069
     70#ifndef TOPPERS_MACRO_ONLY
     71#include <stdarg.h>
     72#endif /* TOPPERS_MACRO_ONLY */
     73
    7174/*
    7275 *  ログ情報の種別の定義
     
    7780#define LOG_TYPE_INH            UINT_C(0x11)    /* 割込みハンドラ */
    7881#define LOG_TYPE_ISR            UINT_C(0x12)    /* 割込みサービスルーチン */
    79 #define LOG_TYPE_CYC            UINT_C(0x13)    /* 周期ハンドラ */
    80 #define LOG_TYPE_ALM            UINT_C(0x14)    /* アラームハンドラ */
     82#define LOG_TYPE_CYC            UINT_C(0x13)    /* 周期通知 */
     83#define LOG_TYPE_ALM            UINT_C(0x14)    /* アラーム通知 */
    8184#define LOG_TYPE_OVR            UINT_C(0x15)    /* オーバランハンドラ */
    8285#define LOG_TYPE_EXC            UINT_C(0x16)    /* CPU例外ハンドラ */
     
    124127
    125128/*
    126  *  ログ情報の重要度のビットマップを作るためのマクロ
    127  */
    128 #define LOG_MASK(prio)          (1U << (prio))
    129 #define LOG_UPTO(prio)          ((1U << ((prio) + 1)) - 1)
    130 
    131 /*
    132  *  パケット形式の定義
    133  */
    134 typedef struct t_syslog_rlog {
    135         uint_t  count;          /* ログバッファ中のログの数 */
    136         uint_t  lost;           /* 失われたログの数 */
    137         uint_t  logmask;        /* ログバッファに記録すべき重要度 */
    138         uint_t  lowmask;        /* 低レベル出力すべき重要度 */
    139 } T_SYSLOG_RLOG;
     129 *  ログ情報の出力
     130 *
     131 *  ログ情報の出力は,システムログ機能のアダプタ経由で行う.
     132 */
     133
     134extern ER       syslog_wri_log(uint_t prio, const SYSLOG *p_syslog) throw();
     135
     136#define syslog_write(prio, p_syslog) \
     137                                                ((void) syslog_wri_log(prio, p_syslog))
    140138
    141139#ifndef TOPPERS_OMIT_SYSLOG
    142 
    143 /*
    144  *  ログ情報を出力するためのライブラリ関数
    145  *
    146  *  TECSで記述されたシステムログ機能を直接呼び出す.
    147  */
    148 
    149 extern ER       tSysLog_eSysLog_write(uint_t prio, const SYSLOG *p_syslog) throw();
    150 
    151 Inline void
    152 _syslog_0(uint_t prio, uint_t type)
    153 {
    154         SYSLOG  logbuf;
    155 
    156         logbuf.logtype = type;
    157         (void) tSysLog_eSysLog_write(prio, &logbuf);
    158 }
    159 
    160 Inline void
    161 _syslog_1(uint_t prio, uint_t type, LOGPAR arg1)
    162 {
    163         SYSLOG  logbuf;
    164 
    165         logbuf.logtype = type;
    166         logbuf.logpar[0] = arg1;
    167         (void) tSysLog_eSysLog_write(prio, &logbuf);
    168 }
    169 
    170 Inline void
    171 _syslog_2(uint_t prio, uint_t type, LOGPAR arg1, LOGPAR arg2)
    172 {
    173         SYSLOG  logbuf;
    174 
    175         logbuf.logtype = type;
    176         logbuf.logpar[0] = arg1;
    177         logbuf.logpar[1] = arg2;
    178         (void) tSysLog_eSysLog_write(prio, &logbuf);
    179 }
    180 
    181 Inline void
    182 _syslog_3(uint_t prio, uint_t type, LOGPAR arg1, LOGPAR arg2, LOGPAR arg3)
     140/*
     141 *  システムログ出力のための下位のライブラリ関数
     142 */
     143
     144Inline void
     145t_syslog_0(uint_t prio, uint_t type)
     146{
     147        SYSLOG  logbuf;
     148
     149        logbuf.logtype = type;
     150        syslog_write(prio, &logbuf);
     151}
     152
     153Inline void
     154t_syslog_1(uint_t prio, uint_t type, LOGPAR arg1)
     155{
     156        SYSLOG  logbuf;
     157
     158        logbuf.logtype = type;
     159        logbuf.logpar[0] = arg1;
     160        syslog_write(prio, &logbuf);
     161}
     162
     163Inline void
     164t_syslog_2(uint_t prio, uint_t type, LOGPAR arg1, LOGPAR arg2)
     165{
     166        SYSLOG  logbuf;
     167
     168        logbuf.logtype = type;
     169        logbuf.logpar[0] = arg1;
     170        logbuf.logpar[1] = arg2;
     171        syslog_write(prio, &logbuf);
     172}
     173
     174Inline void
     175t_syslog_3(uint_t prio, uint_t type, LOGPAR arg1, LOGPAR arg2, LOGPAR arg3)
    183176{
    184177        SYSLOG  logbuf;
     
    188181        logbuf.logpar[1] = arg2;
    189182        logbuf.logpar[2] = arg3;
    190         (void) tSysLog_eSysLog_write(prio, &logbuf);
    191 }
    192 
    193 Inline void
    194 _syslog_4(uint_t prio, uint_t type, LOGPAR arg1, LOGPAR arg2,
     183        syslog_write(prio, &logbuf);
     184}
     185
     186Inline void
     187t_syslog_4(uint_t prio, uint_t type, LOGPAR arg1, LOGPAR arg2,
    195188                                                                                        LOGPAR arg3, LOGPAR arg4)
    196189{
     
    202195        logbuf.logpar[2] = arg3;
    203196        logbuf.logpar[3] = arg4;
    204         (void) tSysLog_eSysLog_write(prio, &logbuf);
    205 }
    206 
    207 Inline void
    208 _syslog_5(uint_t prio, uint_t type, LOGPAR arg1, LOGPAR arg2,
     197        syslog_write(prio, &logbuf);
     198}
     199
     200Inline void
     201t_syslog_5(uint_t prio, uint_t type, LOGPAR arg1, LOGPAR arg2,
    209202                                                                LOGPAR arg3, LOGPAR arg4, LOGPAR arg5)
    210203{
     
    217210        logbuf.logpar[3] = arg4;
    218211        logbuf.logpar[4] = arg5;
    219         (void) tSysLog_eSysLog_write(prio, &logbuf);
    220 }
    221 
    222 Inline void
    223 _syslog_6(uint_t prio, uint_t type, LOGPAR arg1, LOGPAR arg2,
     212        syslog_write(prio, &logbuf);
     213}
     214
     215Inline void
     216t_syslog_6(uint_t prio, uint_t type, LOGPAR arg1, LOGPAR arg2,
    224217                                        LOGPAR arg3, LOGPAR arg4, LOGPAR arg5, LOGPAR arg6)
    225218{
     
    233226        logbuf.logpar[4] = arg5;
    234227        logbuf.logpar[5] = arg6;
    235         (void) tSysLog_eSysLog_write(prio, &logbuf);
     228        syslog_write(prio, &logbuf);
    236229}
    237230
     
    239232 *  ログ情報(コメント)を出力するためのライブラリ関数(vasyslog.c)
    240233 */
    241 extern void     syslog(uint_t prio, const char *format, ...) throw();
     234extern void     tt_syslog(SYSLOG *p_logbuf, const char *format, va_list ap);
     235
     236Inline void
     237syslog(uint_t prio, const char *format, ...)
     238{
     239        va_list ap;
     240        SYSLOG  logbuf;
     241
     242        va_start(ap, format);
     243        tt_syslog(&logbuf, format, ap);
     244        va_end(ap);
     245        syslog_write(prio, &logbuf);
     246}
     247
     248/*
     249 *  エラーメッセージを出力するためのライブラリ関数(t_perror.c)
     250 */
     251extern void     tt_perror(SYSLOG *p_logbuf, const char *file, int_t line,
     252                                                                                        const char *expr, ER ercd);
     253
     254Inline void
     255t_perror(uint_t prio, const char *file, int_t line, const char *expr, ER ercd)
     256{
     257        SYSLOG  logbuf;
     258
     259        tt_perror(&logbuf, file, line, expr, ercd);
     260        syslog_write(prio, &logbuf);
     261}
    242262
    243263#else /* TOPPERS_OMIT_SYSLOG */
    244 
    245264/*
    246265 *  システムログ出力を抑止する場合
     
    248267
    249268Inline void
    250 _syslog_0(uint_t prio, uint_t type)
    251 {
    252 }
    253 
    254 Inline void
    255 _syslog_1(uint_t prio, uint_t type, LOGPAR arg1)
    256 {
    257 }
    258 
    259 Inline void
    260 _syslog_2(uint_t prio, uint_t type, LOGPAR arg1, LOGPAR arg2)
    261 {
    262 }
    263 
    264 Inline void
    265 _syslog_3(uint_t prio, uint_t type, LOGPAR arg1, LOGPAR arg2, LOGPAR arg3)
    266 {
    267 }
    268 
    269 Inline void
    270 _syslog_4(uint_t prio, uint_t type, LOGPAR arg1, LOGPAR arg2,
     269t_syslog_0(uint_t prio, uint_t type)
     270{
     271}
     272
     273Inline void
     274t_syslog_1(uint_t prio, uint_t type, LOGPAR arg1)
     275{
     276}
     277
     278Inline void
     279t_syslog_2(uint_t prio, uint_t type, LOGPAR arg1, LOGPAR arg2)
     280{
     281}
     282
     283Inline void
     284t_syslog_3(uint_t prio, uint_t type, LOGPAR arg1, LOGPAR arg2, LOGPAR arg3)
     285{
     286}
     287
     288Inline void
     289t_syslog_4(uint_t prio, uint_t type, LOGPAR arg1, LOGPAR arg2,
    271290                                                                                        LOGPAR arg3, LOGPAR arg4)
    272291{
     
    274293
    275294Inline void
    276 _syslog_5(uint_t prio, uint_t type, LOGPAR arg1, LOGPAR arg2,
     295t_syslog_5(uint_t prio, uint_t type, LOGPAR arg1, LOGPAR arg2,
    277296                                                                LOGPAR arg3, LOGPAR arg4, LOGPAR arg5)
    278297{
     
    280299
    281300Inline void
    282 _syslog_6(uint_t prio, uint_t type, LOGPAR arg1, LOGPAR arg2,
     301t_syslog_6(uint_t prio, uint_t type, LOGPAR arg1, LOGPAR arg2,
    283302                                        LOGPAR arg3, LOGPAR arg4, LOGPAR arg5, LOGPAR arg6)
    284303{
     
    289308{
    290309}
     310                                                                                               
     311Inline void
     312t_perror(uint_t prio, const char *file, int_t line, const char *expr, ER ercd)
     313{
     314}
    291315
    292316#endif /* TOPPERS_OMIT_SYSLOG */
    293317
    294318/*
    295  *  ログ情報(コメント)を出力するためのマクロ
     319 *  システムログ出力のためのライブラリ関数
    296320 *
    297321 *  formatおよび後続の引数から作成したメッセージを,重大度prioでログ情
     
    301325
    302326#define syslog_0(prio, format) \
    303                                 _syslog_1(prio, LOG_TYPE_COMMENT, (LOGPAR)(format))
     327                                t_syslog_1(prio, LOG_TYPE_COMMENT, (LOGPAR)(format))
    304328
    305329#define syslog_1(prio, format, arg1) \
    306                                 _syslog_2(prio, LOG_TYPE_COMMENT, (LOGPAR)(format), \
     330                                t_syslog_2(prio, LOG_TYPE_COMMENT, (LOGPAR)(format), \
    307331                                                                                                                (LOGPAR)(arg1))
    308332
    309333#define syslog_2(prio, format, arg1, arg2) \
    310                                 _syslog_3(prio, LOG_TYPE_COMMENT, (LOGPAR)(format), \
     334                                t_syslog_3(prio, LOG_TYPE_COMMENT, (LOGPAR)(format), \
    311335                                                                                (LOGPAR)(arg1), (LOGPAR)(arg2))
    312336
    313337#define syslog_3(prio, format, arg1, arg2, arg3) \
    314                                 _syslog_4(prio, LOG_TYPE_COMMENT, (LOGPAR)(format), \
     338                                t_syslog_4(prio, LOG_TYPE_COMMENT, (LOGPAR)(format), \
    315339                                                (LOGPAR)(arg1), (LOGPAR)(arg2), (LOGPAR)(arg3))
    316340
    317341#define syslog_4(prio, format, arg1, arg2, arg3, arg4) \
    318                                 _syslog_5(prio, LOG_TYPE_COMMENT, (LOGPAR)(format), \
     342                                t_syslog_5(prio, LOG_TYPE_COMMENT, (LOGPAR)(format), \
    319343                                                (LOGPAR)(arg1), (LOGPAR)(arg2), (LOGPAR)(arg3), \
    320344                                                                                                                (LOGPAR)(arg4))
    321345
    322346#define syslog_5(prio, format, arg1, arg2, arg3, arg4, arg5) \
    323                                 _syslog_6(prio, LOG_TYPE_COMMENT, (LOGPAR)(format), \
     347                                t_syslog_6(prio, LOG_TYPE_COMMENT, (LOGPAR)(format), \
    324348                                                (LOGPAR)(arg1), (LOGPAR)(arg2), (LOGPAR)(arg3), \
    325349                                                                                (LOGPAR)(arg4), (LOGPAR)(arg5))
     
    330354#ifndef TOPPERS_assert_fail
    331355#define TOPPERS_assert_fail(exp, file, line) \
    332                                 _syslog_3(LOG_EMERG, LOG_TYPE_ASSERT, (LOGPAR)(file), \
     356                                t_syslog_3(LOG_EMERG, LOG_TYPE_ASSERT, (LOGPAR)(file), \
    333357                                                                                (LOGPAR)(line), (LOGPAR)(exp))
    334358#endif /* TOPPERS_assert_fail */
Note: See TracChangeset for help on using the changeset viewer.