t_services.h

アプリケーション用 標準インクルードファイル [詳細]

#include <kernel.h>
#include <serial.h>

t_services.hのインクルード依存関係図

このグラフは、どのファイルから直接、間接的にインクルードされているかを示しています。

ソースコードを見る。

マクロ定義

#define syscall(s)   _t_perror(__FILE__, __LINE__, #s, (s));
#define _syscall(s)   _t_panic(__FILE__, __LINE__, #s, (s));

関数

void kernel_exit (void) throw ()
 カーネルの終了処理(startup.c)
void t_perror (UINT prio, const char *file, int line, const char *expr, ER ercd) throw ()
Inline ER _t_perror (const char *file, int line, const char *expr, ER ercd)
Inline ER _t_panic (const char *file, int line, const char *expr, ER ercd)


説明

アプリケーション用 標準インクルードファイル

このインクルードファイルは,カーネル上で動作するプログラムのソース ファイルでインクルードする標準インクルードファイルである.この中で, kernel.h(さらにここから,t_stddef.h,itron.h,tool_defs.h, sys_defs.h,cpu_defs.h,t_syslog.h)とserial.hをインクルードしてい る.また,アプリケーションに有益と思われる定義をいくつか含んでいる.

アセンブリ言語のソースファイルやシステムコンフィギュレーションファ イルからこのファイルをインクルードする時は,_MACRO_ONLY を定義して おくことで,マクロ定義以外の記述を除くことができる.

t_services.h で定義されています。


マクロ定義

#define _syscall  )     _t_panic(__FILE__, __LINE__, #s, (s));
 

t_services.h104 行で定義されています。

参照元 logtask()serial_cls_por()serial_opn_por()serial_rea_chr()serial_rea_dat()serial_wri_chr()serial_wri_dat()sio_ierdy_rcv()sio_ierdy_snd()timer_handler().

#define syscall  )     _t_perror(__FILE__, __LINE__, #s, (s));
 

t_services.h103 行で定義されています。

参照元 main_task()task().


関数

Inline ER _t_panic const char *  file,
int  line,
const char *  expr,
ER  ercd
 

t_services.h94 行で定義されています。

参照先 kernel_abort()LOG_EMERGt_perror().

00095 {
00096     if (ercd < 0) {
00097         t_perror(LOG_EMERG, file, line, expr, ercd);
00098         kernel_abort();
00099     }
00100     return(ercd);
00101 }

関数の呼び出しグラフ:

Inline ER _t_perror const char *  file,
int  line,
const char *  expr,
ER  ercd
 

t_services.h85 行で定義されています。

参照先 LOG_ERRORt_perror().

00086 {
00087     if (ercd < 0) {
00088         t_perror(LOG_ERROR, file, line, expr, ercd);
00089     }
00090     return(ercd);
00091 }

関数の呼び出しグラフ:

void kernel_exit void   )  throw ()
 

カーネルの終了処理(startup.c)

startup.c618 行で定義されています。

参照先 call_atexit()call_terrtncpu_terminateFALSEi_lock_cpuiniflgsense_context()sense_lock()sys_exitsyslog_terminatet_lock_cpu.

00619 {
00620     /*
00621      *  割込みを禁止
00622      */
00623     if (!sense_lock()) {
00624         if (sense_context()) {
00625             i_lock_cpu();
00626         }
00627         else  {
00628             t_lock_cpu();
00629         }
00630     }
00631     iniflg = FALSE;
00632 
00633     /*
00634      *  終了処理ルーチンの実行
00635      */
00636     call_terrtn();
00637 
00638     /*
00639      *  atexit の処理とデストラクタの実行
00640      */
00641     call_atexit();
00642 
00643     /*
00644      *  システムログ機能の終了処理
00645      */
00646     syslog_terminate();
00647 
00648     /*
00649      *  ターゲット依存の終了処理
00650      */
00651     cpu_terminate();
00652     sys_exit();
00653 }

関数の呼び出しグラフ:

void t_perror UINT  prio,
const char *  file,
int  line,
const char *  expr,
ER  ercd
throw ()
 

t_perror.c48 行で定義されています。

参照先 itron_strerror()syslog_4.

参照元 _t_panic()_t_perror().

00049 {
00050     syslog_4(prio, "%s reported by `%s' in line %d of `%s'.",
00051         itron_strerror(ercd), expr, line, file);
00052 }

関数の呼び出しグラフ:


Copyright © 2006 by TAKAGI Nobuhisa.
このページは Mon Apr 3 23:49:18 2006 に Doxygen によって生成されました。