|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
itron.hITRON仕様共通規定のデータ型・定数・マクロ [詳細]
itron.hのインクルード依存関係図 ![]() このグラフは、どのファイルから直接、間接的にインクルードされているかを示しています。 ![]()
説明ITRON仕様共通規定のデータ型・定数・マクロこのファイルには,スタンダードプロファイルには必要ない定義も含んでいる.データ型の定義は,スタンダードプロファイルを満たすちょうどの長さにはしていない. アセンブリ言語のソースファイルやシステムコンフィギュレーションファイルからこのファイルをインクルードする時は,_MACRO_ONLY を定義しておくことで,マクロ定義以外の記述を除くことができる. このインクルードファイルは, kernel.h と sil.h でインクルードされる.また,ITRON仕様共通規定に準拠するソフトウェア部品のインクルードファイルは,このファイルを直接インクルードしてもよい.この例外を除いて,他のファイルから直接インクルードされることはない. このファイルをインクルードする前に t_stddef.h をインクルードしておくことが必要である. itron.h で定義されています。 マクロ定義
コンパイラ依存のデータ型のデフォルト定義
正常終了
参照元 act_tsk()・chg_pri()・clr_flg()・dis_dsp()・dis_tex()・ena_dsp()・ena_tex()・fsnd_dtq()・get_mpf()・get_pri()・get_tid()・get_tim()・iact_tsk()・ifsnd_dtq()・iget_tid()・iloc_cpu()・ipsnd_dtq()・iras_tex()・irel_wai()・irot_rdq()・iset_flg()・isig_sem()・isig_tim()・itron_strerror()・iunl_cpu()・iwup_tsk()・loc_cpu()・pget_mpf()・pol_flg()・pol_sem()・prcv_dtq()・prcv_mbx()・psnd_dtq()・ras_tex()・rcv_dtq()・rcv_mbx()・rel_mpf()・rel_wai()・rot_rdq()・rsm_tsk()・serial_cls_por()・serial_ctl_por()・serial_opn_por()・serial_ref_por()・set_flg()・set_tim()・sig_sem()・slp_tsk()・snd_dtq()・snd_mbx()・sta_cyc()・stp_cyc()・sus_tsk()・ter_tsk()・tget_mpf()・trcv_dtq()・trcv_mbx()・tslp_tsk()・tsnd_dtq()・twai_flg()・twai_sem()・unl_cpu()・vmsk_log()・vwri_log()・vxget_tim()・wai_flg()・wai_sem()・wait_complete()・wait_tmout_ok()・wup_tsk().
パラメータエラー ポインタの値が不正な場合のパラメータエラー (E_PAR) の検出も省略している. メモリアクセス違反 (E_MACV) の検出も省略しているため,引数にポインタを渡すサービスコールに対して, 存在しないメモリ番地を差すポインタなど,不正なアクセスを引き起こすポインタを渡した場合, プロセッサがバエラーなどのCPU例外を起こす場合がある(具体的な動作はターゲットプロセッサに依存).
参照元 itron_strerror().
キューイングオーバーフロー
参照元 act_tsk()・iact_tsk()・isig_sem()・itron_strerror()・iwup_tsk()・sig_sem()・sus_tsk()・wup_tsk().
エラーコード生成マクロ
偽
参照元 call_texrtn()・can_act()・can_wup()・change_priority()・cyclic_initialize()・dequeue_data()・dis_dsp()・dis_tex()・enqueue_data()・eventflag_cond()・exit_task()・kernel_exit()・make_dormant()・make_non_runnable()・make_non_wait()・make_runnable()・mempfix_get_block()・queue_empty()・rotate_ready_queue()・serial_cls_por()・serial_initialize()・serial_opn_por()・serial_rea_chr()・serial_snd_chr()・serial_wri_chr()・sio_ierdy_rcv()・slp_tsk()・smsc_sci0_cls_por()・smsc_sci0_initialize()・smsc_sci0_opn_por()・smsc_sci0_snd_chr()・sns_ctx()・sns_dpn()・sns_dsp()・sns_loc()・sns_tex()・st16c2550_cls_por()・st16c2550_initialize()・st16c2550_opn_por()・st16c2550_snd_chr()・stp_cyc()・syslog()・task_initialize()・ter_tsk()・tl16pir552_cls_por()・tl16pir552_getchar()・tl16pir552_initialize()・tl16pir552_opn_por()・tl16pir552_putchar()・tl16pir552_snd_chr()・tslp_tsk()・upd72001_cls_por()・upd72001_getchar()・upd72001_initialize()・upd72001_opn_por()・upd72001_putchar()・upd72001_snd_chr()・vsns_ini()・vxsns_ctx()・vxsns_dpn()・vxsns_dsp()・vxsns_loc()・vxsns_tex().
無効ポインタ _MACRO_ONLY の時には,NULL を定義しない.これは,_MACRO_ONLY の時は stddef.h をインクルードしないため,そうでない時と NULL の定義が食い違う可能性があるためである.また,システムコンフィギュレーションファイルを処理する場合には NULL を定義してはならないため,その点からも定義しない方が都合がよい. 参照元 dis_tex()・ena_tex()・enqueue_msg_pri()・fsnd_dtq()・ifsnd_dtq()・iget_tid()・ipsnd_dtq()・iras_tex()・mailbox_initialize()・make_non_runnable()・make_runnable()・make_wait()・make_wait_tmout()・mempfix_get_block()・mempfix_initialize()・prcv_dtq()・prcv_mbx()・psnd_dtq()・ras_tex()・rcv_dtq()・rcv_mbx()・receive_data_swait()・send_data_rwait()・snd_dtq()・snd_mbx()・sns_tex()・syslog_terminate()・task_initialize()・trcv_dtq()・trcv_mbx()・tsnd_dtq()・vxsns_tex()・wait_cancel()・wait_complete(). サブエラーコードの取り出し ANSI C言語の規格では,右シフト演算子(>>)が符号拡張されることを保証していないため,SERCDマクロの定義を単に ((ercd) >> 8) とすると,右シフト演算子を符号拡張しないコンパイラでは,SERCD の返値が正の値になってしまう.
オブジェクト属性を指定しない
ノンブロッキング
真
参照元 act_tsk()・call_texrtn()・cyclic_initialize()・dequeue_data()・ena_dsp()・ena_tex()・enqueue_data()・eventflag_cond()・ext_tsk()・iact_tsk()・ifsnd_dtq()・ipsnd_dtq()・iras_tex()・irel_wai()・irot_rdq()・iset_flg()・isig_sem()・iwup_tsk()・kernel_start()・mempfix_get_block()・queue_empty()・serial_opn_por()・serial_rea_dat()・serial_snd_chr()・serial_wri_dat()・sio_ierdy_rcv()・smsc_sci0_opn_por()・smsc_sci0_snd_chr()・sns_ctx()・sns_dpn()・sns_dsp()・sns_loc()・sns_tex()・st16c2550_opn_por()・st16c2550_snd_chr()・sta_cyc()・syslog()・task_initialize()・tl16pir552_get_stat()・tl16pir552_opn_por()・tl16pir552_snd_chr()・upd72001_get_stat()・upd72001_opn_por()・upd72001_snd_chr()・vsns_ini()・vxsns_ctx()・vxsns_dpn()・vxsns_dsp()・vxsns_loc()・vxsns_tex()・wait_tmout()・wait_tmout_ok()・wup_tsk().
型定義オブジェクトのID番号 オブジェクトの ID 番号には,1 から連続した正の値を用いる.オブジェクトの ID 番号に抜けがある場合 (例えば,ID=1とID=3のオブジェクトが登録され, ID = 2 のオブジェクトが登録されない場合) には, コンフィギュレータがエラーを報告する. 負の ID 番号を用いたシステムオブジェクトとユーザオブジェクトの区別はサポートしていない. 生成できるオブジェクトの最大数は,カーネルのコード上は, ID 番号が ID 型 (signed int 型に定義している) で表現できる範囲内であるが,実際にはメモリ容量によって制限される. なお,JSPカーネルでは,オブジェクトを生成するためのサービスコールはサポートしていない. 相対時間 RELTIM 型の時間単位は,スタンダードプロファイルの規定に従い,すべて 1 ミリ秒としている. RELTIM 型の有効ビット数は 31 ビットを越えることはない. すなわち,unsigned int 型のサイズが 32 ビットの場合には, RELTIM 型の有効ビット数は 31 ビットであり, (2^31 - 1) を越える値を RELTIM 型のパラメータに渡した場合, E_PAR エラーとなる. unsigned int 型のサイズが 16 ビットの場合には, RELTIM 型の有効ビット数も 16 ビットである. スタンダードプロファイルでは, RELTIM 型は 16 ビット以上と規定しており,この仕様でスタンダードプロファイル規定に準拠している.
Copyright © 2006 by TAKAGI Nobuhisa. Copyright © 2006 by Kijineko Inc.. このページは Mon Dec 18 17:19:22 2006 に Doxygen によって生成されました。 データ入力からプログラム開発まで!様々なスキルを持ったメンバーが登録しています【@SOHO】 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||