Changeset 429 for EcnlProtoTool/trunk/asp3_dcre/include
- Timestamp:
- Jul 3, 2020, 7:19:17 PM (4 years ago)
- Location:
- EcnlProtoTool/trunk/asp3_dcre/include
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
EcnlProtoTool/trunk/asp3_dcre/include/kernel.h
r331 r429 6 6 * Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory 7 7 * Toyohashi Univ. of Technology, JAPAN 8 * Copyright (C) 2004-201 5by Embedded and Real-Time Systems Laboratory8 * Copyright (C) 2004-2019 by Embedded and Real-Time Systems Laboratory 9 9 * Graduate School of Information Science, Nagoya Univ., JAPAN 10 10 * … … 80 80 #endif /* TOPPERS_TARGET_SUPPORT_ENA_INT */ 81 81 82 #ifdef TOPPERS_TARGET_SUPPORT_CLR_INT 83 #define TOPPERS_SUPPORT_CLR_INT /* clr_intがサポートされている */ 84 #endif /* TOPPERS_TARGET_SUPPORT_CLR_INT */ 85 86 #ifdef TOPPERS_TARGET_SUPPORT_RAS_INT 87 #define TOPPERS_SUPPORT_RAS_INT /* ras_intがサポートされている */ 88 #endif /* TOPPERS_TARGET_SUPPORT_RAS_INT */ 89 90 #ifdef TOPPERS_TARGET_SUPPORT_PRB_INT 91 #define TOPPERS_SUPPORT_PRB_INT /* prb_intがサポートされている */ 92 #endif /* TOPPERS_TARGET_SUPPORT_PRB_INT */ 93 82 94 #define TOPPERS_SUPPORT_DYNAMIC_CRE /* 動的生成機能拡張 */ 83 95 … … 195 207 PRI itskpri; /* タスクの起動時優先度 */ 196 208 size_t stksz; /* タスクのスタック領域のサイズ */ 197 STK_T 209 STK_T *stk; /* タスクのスタック領域の先頭番地 */ 198 210 } T_CTSK; 199 211 … … 235 247 ATR dtqatr; /* データキュー属性 */ 236 248 uint_t dtqcnt; /* データキュー管理領域に格納できるデータ数 */ 237 void 249 void *dtqmb; /* データキュー管理領域の先頭番地 */ 238 250 } T_CDTQ; 239 251 … … 249 261 PRI maxdpri; /* 優先度データキューに送信できるデータ優先度の最 250 262 大値 */ 251 void 263 void *pdqmb; /* 優先度データキュー管理領域の先頭番地 */ 252 264 } T_CPDQ; 253 265 … … 275 287 uint_t blkcnt; /* 獲得できる固定長メモリブロックの数 */ 276 288 uint_t blksz; /* 固定長メモリブロックのサイズ */ 277 MPF_T 278 void 289 MPF_T *mpf; /* 固定長メモリプール領域の先頭番地 */ 290 void *mpfmb; /* 固定長メモリプール管理領域の先頭番地 */ 279 291 } T_CMPF; 280 292 … … 471 483 extern ER dis_int(INTNO intno) throw(); 472 484 extern ER ena_int(INTNO intno) throw(); 485 extern ER clr_int(INTNO intno) throw(); 486 extern ER ras_int(INTNO intno) throw(); 487 extern ER_BOOL prb_int(INTNO intno) throw(); 473 488 extern ER chg_ipm(PRI intpri) throw(); 474 489 extern ER get_ipm(PRI *p_intpri) throw(); … … 508 523 #define idis_int(intno) dis_int(intno) 509 524 #define iena_int(intno) ena_int(intno) 525 #define iclr_int(intno) clr_int(intno) 526 #define iras_int(intno) ras_int(intno) 527 #define iprb_int(intno) prb_int(intno) 510 528 #define ixsns_dpn(p_excinf) xsns_dpn(p_excinf) 511 529 … … 613 631 #define TKERNEL_MAKER UINT_C(0x0118) /* カーネルのメーカーコード */ 614 632 #define TKERNEL_PRID UINT_C(0x0007) /* カーネルの識別番号 */ 615 #define TKERNEL_SPVER UINT_C(0xf63 1) /* カーネル仕様のバージョン番号 */616 #define TKERNEL_PRVER UINT_C(0x30 10) /* カーネルのバージョン番号 */633 #define TKERNEL_SPVER UINT_C(0xf634) /* カーネル仕様のバージョン番号 */ 634 #define TKERNEL_PRVER UINT_C(0x3050) /* カーネルのバージョン番号 */ 617 635 618 636 /* … … 632 650 * システム時刻の調整できる範囲(単位:μ秒) 633 651 */ 634 #define TMIN_ADJTIM -1000000/* システム時刻の最小調整時間 */652 #define TMIN_ADJTIM (-1000000) /* システム時刻の最小調整時間 */ 635 653 #define TMAX_ADJTIM 1000000 /* システム時刻の最大調整時間 */ 636 654 … … 654 672 #define ROUND_MPF_T(blksz) TOPPERS_ROUND_SZ(blksz, sizeof(MPF_T)) 655 673 674 #define COUNT_MB_T(sz) TOPPERS_COUNT_SZ(sz, sizeof(MB_T)) 675 #define ROUND_MB_T(sz) TOPPERS_ROUND_SZ(sz, sizeof(MB_T)) 676 656 677 #define TSZ_DTQMB(dtqcnt) (sizeof(intptr_t) * (dtqcnt)) 657 #define TCNT_DTQMB(dtqcnt) TOPPERS_COUNT_SZ(TSZ_DTQMB(dtqcnt), sizeof(MB_T))678 #define TCNT_DTQMB(dtqcnt) COUNT_MB_T(TSZ_DTQMB(dtqcnt)) 658 679 659 680 #ifndef TSZ_PDQMB 660 681 #define TSZ_PDQMB(pdqcnt) (sizeof(intptr_t) * 3 * (pdqcnt)) 661 682 #endif /* TSZ_PDQMB */ 662 #define TCNT_PDQMB(pdqcnt) TOPPERS_COUNT_SZ(TSZ_PDQMB(pdqcnt), sizeof(MB_T))683 #define TCNT_PDQMB(pdqcnt) COUNT_MB_T(TSZ_PDQMB(pdqcnt)) 663 684 664 685 #define TSZ_MPFMB(blkcnt) (sizeof(uint_t) * (blkcnt)) 665 #define TCNT_MPFMB(blkcnt) TOPPERS_COUNT_SZ(TSZ_MPFMB(blkcnt), sizeof(MB_T))686 #define TCNT_MPFMB(blkcnt) COUNT_MB_T(TSZ_MPFMB(blkcnt)) 666 687 667 688 /* -
EcnlProtoTool/trunk/asp3_dcre/include/sil.h
r321 r429 5 5 * Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory 6 6 * Toyohashi Univ. of Technology, JAPAN 7 * Copyright (C) 2004-201 1by Embedded and Real-Time Systems Laboratory7 * Copyright (C) 2004-2018 by Embedded and Real-Time Systems Laboratory 8 8 * Graduate School of Information Science, Nagoya Univ., JAPAN 9 9 * … … 276 276 #endif /* TOPPERS_OMIT_SIL_ACCESS */ 277 277 278 #ifndef TOPPERS_OMIT_SIL_SYNC_WRITE 279 280 /* 281 * 8ビット単位の同期書込み 282 */ 283 #ifdef UINT8_MAX 284 285 Inline void 286 sil_swrb_mem(uint8_t *mem, uint8_t data) 287 { 288 sil_wrb_mem(mem, data); 289 TOPPERS_SIL_WRITE_SYNC(); 290 } 291 292 #endif /* UINT8_MAX */ 293 294 /* 295 * 16ビット単位の同期書込み 296 */ 297 298 Inline void 299 sil_swrh_mem(uint16_t *mem, uint16_t data) 300 { 301 sil_wrh_mem(mem, data); 302 TOPPERS_SIL_WRITE_SYNC(); 303 } 304 305 Inline void 306 sil_swrh_lem(uint16_t *mem, uint16_t data) 307 { 308 sil_wrh_lem(mem, data); 309 TOPPERS_SIL_WRITE_SYNC(); 310 } 311 312 Inline void 313 sil_swrh_bem(uint16_t *mem, uint16_t data) 314 { 315 sil_wrh_bem(mem, data); 316 TOPPERS_SIL_WRITE_SYNC(); 317 } 318 319 /* 320 * 32ビット単位の同期書込み 321 */ 322 323 Inline void 324 sil_swrw_mem(uint32_t *mem, uint32_t data) 325 { 326 sil_wrw_mem(mem, data); 327 TOPPERS_SIL_WRITE_SYNC(); 328 } 329 330 Inline void 331 sil_swrw_lem(uint32_t *mem, uint32_t data) 332 { 333 sil_wrw_lem(mem, data); 334 TOPPERS_SIL_WRITE_SYNC(); 335 } 336 337 Inline void 338 sil_swrw_bem(uint32_t *mem, uint32_t data) 339 { 340 sil_wrw_bem(mem, data); 341 TOPPERS_SIL_WRITE_SYNC(); 342 } 343 344 #endif /* TOPPERS_OMIT_SIL_SYNC_WRITE */ 345 278 346 #endif /* TOPPERS_MACRO_ONLY */ 279 347 -
EcnlProtoTool/trunk/asp3_dcre/include/t_stddef.h
r321 r429 5 5 * Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory 6 6 * Toyohashi Univ. of Technology, JAPAN 7 * Copyright (C) 2004-201 5by Embedded and Real-Time Systems Laboratory7 * Copyright (C) 2004-2019 by Embedded and Real-Time Systems Laboratory 8 8 * Graduate School of Information Science, Nagoya Univ., JAPAN 9 9 * … … 113 113 #endif /* UINT64_MAX */ 114 114 typedef uint32_t PRCTIM; /* プロセッサ時間[NGKI0573]*/ 115 #ifndef USE_64BIT_HRTCNT 115 116 typedef uint32_t HRTCNT; /* 高分解能タイマのカウント値 */ 117 #else /* USE_64BIT_HRTCNT */ 118 #ifndef UINT64_MAX 119 #error 64bit data types are required when USE_64BIT_HRTCNT. 120 #endif 121 typedef uint64_t HRTCNT; /* 高分解能タイマのカウント値 */ 122 #endif /* USE_64BIT_HRTCNT */ 116 123 117 124 typedef TOPPERS_fp FP; /* プログラムの起動番地 */ … … 214 221 */ 215 222 #ifndef offsetof 216 #define offsetof(structure, field) ((uintptr_t) &(((structure *) 0)->field)) 223 #define offsetof(structure, field) \ 224 ((uintptr_t)(((char *) &(((structure *) 0)->field)) - ((char *) 0))) 217 225 #endif /* offsetof */ 218 226 -
EcnlProtoTool/trunk/asp3_dcre/include/t_stdlib.h
r321 r429 61 61 extern const char *itron_strerror(ER ercd) throw(); 62 62 63 /*64 * エラーメッセージのログ出力65 *66 * サービスコールがエラーを返した場合に,そのファイル名,行番号,メイ67 * ンエラーコード等を表示するための関数.68 */69 extern void t_perror(uint_t prio, const char *file, int_t line,70 const char *expr, ER ercd) throw();71 72 63 #ifdef __cplusplus 73 64 } -
EcnlProtoTool/trunk/asp3_dcre/include/t_syslog.h
r321 r429 1 1 /* 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 5 4 * 6 5 * Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory 7 6 * Toyohashi Univ. of Technology, JAPAN 8 * Copyright (C) 2004-201 4by Embedded and Real-Time Systems Laboratory7 * Copyright (C) 2004-2019 by Embedded and Real-Time Systems Laboratory 9 8 * Graduate School of Information Science, Nagoya Univ., JAPAN 10 9 * … … 69 68 #include <t_stddef.h> 70 69 70 #ifndef TOPPERS_MACRO_ONLY 71 #include <stdarg.h> 72 #endif /* TOPPERS_MACRO_ONLY */ 73 71 74 /* 72 75 * ログ情報の種別の定義 … … 77 80 #define LOG_TYPE_INH UINT_C(0x11) /* 割込みハンドラ */ 78 81 #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) /* アラーム通知 */ 81 84 #define LOG_TYPE_OVR UINT_C(0x15) /* オーバランハンドラ */ 82 85 #define LOG_TYPE_EXC UINT_C(0x16) /* CPU例外ハンドラ */ … … 124 127 125 128 /* 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 134 extern 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)) 140 138 141 139 #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 144 Inline void 145 t_syslog_0(uint_t prio, uint_t type) 146 { 147 SYSLOG logbuf; 148 149 logbuf.logtype = type; 150 syslog_write(prio, &logbuf); 151 } 152 153 Inline void 154 t_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 163 Inline void 164 t_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 174 Inline void 175 t_syslog_3(uint_t prio, uint_t type, LOGPAR arg1, LOGPAR arg2, LOGPAR arg3) 183 176 { 184 177 SYSLOG logbuf; … … 188 181 logbuf.logpar[1] = arg2; 189 182 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 186 Inline void 187 t_syslog_4(uint_t prio, uint_t type, LOGPAR arg1, LOGPAR arg2, 195 188 LOGPAR arg3, LOGPAR arg4) 196 189 { … … 202 195 logbuf.logpar[2] = arg3; 203 196 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 200 Inline void 201 t_syslog_5(uint_t prio, uint_t type, LOGPAR arg1, LOGPAR arg2, 209 202 LOGPAR arg3, LOGPAR arg4, LOGPAR arg5) 210 203 { … … 217 210 logbuf.logpar[3] = arg4; 218 211 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 215 Inline void 216 t_syslog_6(uint_t prio, uint_t type, LOGPAR arg1, LOGPAR arg2, 224 217 LOGPAR arg3, LOGPAR arg4, LOGPAR arg5, LOGPAR arg6) 225 218 { … … 233 226 logbuf.logpar[4] = arg5; 234 227 logbuf.logpar[5] = arg6; 235 (void) tSysLog_eSysLog_write(prio, &logbuf);228 syslog_write(prio, &logbuf); 236 229 } 237 230 … … 239 232 * ログ情報(コメント)を出力するためのライブラリ関数(vasyslog.c) 240 233 */ 241 extern void syslog(uint_t prio, const char *format, ...) throw(); 234 extern void tt_syslog(SYSLOG *p_logbuf, const char *format, va_list ap); 235 236 Inline void 237 syslog(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 */ 251 extern void tt_perror(SYSLOG *p_logbuf, const char *file, int_t line, 252 const char *expr, ER ercd); 253 254 Inline void 255 t_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 } 242 262 243 263 #else /* TOPPERS_OMIT_SYSLOG */ 244 245 264 /* 246 265 * システムログ出力を抑止する場合 … … 248 267 249 268 Inline 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,269 t_syslog_0(uint_t prio, uint_t type) 270 { 271 } 272 273 Inline void 274 t_syslog_1(uint_t prio, uint_t type, LOGPAR arg1) 275 { 276 } 277 278 Inline void 279 t_syslog_2(uint_t prio, uint_t type, LOGPAR arg1, LOGPAR arg2) 280 { 281 } 282 283 Inline void 284 t_syslog_3(uint_t prio, uint_t type, LOGPAR arg1, LOGPAR arg2, LOGPAR arg3) 285 { 286 } 287 288 Inline void 289 t_syslog_4(uint_t prio, uint_t type, LOGPAR arg1, LOGPAR arg2, 271 290 LOGPAR arg3, LOGPAR arg4) 272 291 { … … 274 293 275 294 Inline void 276 _syslog_5(uint_t prio, uint_t type, LOGPAR arg1, LOGPAR arg2,295 t_syslog_5(uint_t prio, uint_t type, LOGPAR arg1, LOGPAR arg2, 277 296 LOGPAR arg3, LOGPAR arg4, LOGPAR arg5) 278 297 { … … 280 299 281 300 Inline void 282 _syslog_6(uint_t prio, uint_t type, LOGPAR arg1, LOGPAR arg2,301 t_syslog_6(uint_t prio, uint_t type, LOGPAR arg1, LOGPAR arg2, 283 302 LOGPAR arg3, LOGPAR arg4, LOGPAR arg5, LOGPAR arg6) 284 303 { … … 289 308 { 290 309 } 310 311 Inline void 312 t_perror(uint_t prio, const char *file, int_t line, const char *expr, ER ercd) 313 { 314 } 291 315 292 316 #endif /* TOPPERS_OMIT_SYSLOG */ 293 317 294 318 /* 295 * ログ情報(コメント)を出力するためのマクロ319 * システムログ出力のためのライブラリ関数 296 320 * 297 321 * formatおよび後続の引数から作成したメッセージを,重大度prioでログ情 … … 301 325 302 326 #define syslog_0(prio, format) \ 303 _syslog_1(prio, LOG_TYPE_COMMENT, (LOGPAR)(format))327 t_syslog_1(prio, LOG_TYPE_COMMENT, (LOGPAR)(format)) 304 328 305 329 #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), \ 307 331 (LOGPAR)(arg1)) 308 332 309 333 #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), \ 311 335 (LOGPAR)(arg1), (LOGPAR)(arg2)) 312 336 313 337 #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), \ 315 339 (LOGPAR)(arg1), (LOGPAR)(arg2), (LOGPAR)(arg3)) 316 340 317 341 #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), \ 319 343 (LOGPAR)(arg1), (LOGPAR)(arg2), (LOGPAR)(arg3), \ 320 344 (LOGPAR)(arg4)) 321 345 322 346 #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), \ 324 348 (LOGPAR)(arg1), (LOGPAR)(arg2), (LOGPAR)(arg3), \ 325 349 (LOGPAR)(arg4), (LOGPAR)(arg5)) … … 330 354 #ifndef TOPPERS_assert_fail 331 355 #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), \ 333 357 (LOGPAR)(line), (LOGPAR)(exp)) 334 358 #endif /* TOPPERS_assert_fail */
Note:
See TracChangeset
for help on using the changeset viewer.