イベント通知

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時は起動アドレス)を起動しようとした
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_LOADINGLDR_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 -- 追加情報