イベント通知

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 -- 追加情報