イベント通知
SOLID-OSは、コアサービス内の機能の初期化終了時や、特定処理の実行時に イベントを通知します。
要実装関数
イベント通知関連の要実装関数の定義は、impl_cs_event.h にあります。
#include "impl_cs_event.h"
SOLID_CS_EVENTID
-
enum SOLID_CS_EVENTID
イベント種別
定数
名前
説明
INIT_MEM
メモリが初期化された
INIT_IORES
IOリソースが初期化された
INIT_INTC
割り込みが初期化された
INIT_TIMER
タイマが初期化された
INIT_LOG
ログ出力が初期化された
INIT_FS
ファイルシステムが初期化された
INIT_LDR
ローダーが初期化された
ENABLE_INT
割り込みが有効になった
INIT_FATFS
FATFSが初期化された
INIT_SANITALIZER
サニタイザが初期化された
INIT_NET
ネットワークが初期化された
START_KERNEL
RTOS(NonOS時は起動アドレス)を起動しようとした
INIT_ERR
初期化時に致命的なエラーが発生した
LDR_LOADING
ローダーがロードを開始した
LDR_LOADED
ローダーがロードを完了した
LDR_UNLOADING
ローダーがアンロードを開始した
LDR_UNLOADED
ローダーがアンロードを完了した
LDR_SYMBOL
ローダーがロード中にシンボルを解決した
LDR_UNRESOLVED
ローダーが未解決シンボル情報を通知した
INIT_ERR
初期化時に致命的なエラーが発生した
SOLID_CS_EVENT_INFO_INIT_ERR
-
typedef struct _SOLID_CS_EVENT_INFO_INIT_ERR_ SOLID_CS_EVENT_INFO_INIT_ERR
説明
初期化エラー通知時(
INIT_ERR
)の追加情報構造体定義
typedef struct _SOLID_CS_EVENT_INFO_INIT_ERR_ { int ercd; const char* pStr; } SOLID_CS_EVENT_INFO_INIT_ERR;
メンバー
- ercd
エラーコード(SOLID_ERR_XXX)
- pStr
エラー詳細の文字列(NUL終端)
SOLID_CS_EVENT_INFO_LDR
-
typedef struct _SOLID_CS_EVENT_INFO_LDR_ SOLID_CS_EVENT_INFO_LDR
説明
ローダー通知時(
LDR_LOADING
~LDR_UNLOADED
)の追加情報構造体定義
typedef struct _SOLID_CS_EVENT_INFO_LDR_ { const char* pName; const char* pPath; } SOLID_CS_EVENT_INFO_LDR;
メンバー
- pName
ロードオブジェクト名(NUL終端)
- pPath
ロードオブジェクトのビルド時パス名(NUL終端)
SOLID_CS_EVENT_INFO_LDR_SYMBOL
-
typedef struct _SOLID_CS_EVENT_INFO_LDR_SYMBOL_ SOLID_CS_EVENT_INFO_LDR_SYMBOL
説明
シンボルを解決通知時(
LDR_SYMBOL
)の追加情報構造体定義
typedef struct _SOLID_CS_EVENT_INFO_LDR_SYMBOL_ { const char* pName; SOLID_ADDRESS addr; } SOLID_CS_EVENT_INFO_LDR_SYMBOL;
メンバー
- pName
シンボル名(NUL終端)
- addr
アドレス
IMPL_CS_EventNotify
-
void IMPL_CS_EventNotify(enum SOLID_CS_EVENTID evtId, void *pInfo)
コアサービス内の初期化に関するイベントを通知します
特定の初期化後に実装側で処理を行いたい場合に、この関数を利用してください
- パラメータ:
evtId -- イベント種別
pInfo -- 追加情報