システム管理機能では、下記のような機能を提供している。
システム管理機能として OS バージョンの取得機能が用意されている。
typedef struct { UH maker; /* メーカー */ UH id; /* 形式番号 */ UH spver; /* 仕様書バージョン */ UH prver; /* 製品バージョン */ UH prno[4]; /* 製品管理情報 */ UH cpu; /* CPU 情報 */ UH var; /* バリエーション記述子 */ } T_VER;
|
ERR def_exc(W exckind, FP exchdr)
W exckind 例外要因(インプリメント依存) FP exchdr 例外処理ハンドラ開始アドレス NULL 例外処理ハンドラの定義解除
= 0 正常 < 0 エラー(エラーコード)
指定した例外要因に対応する自タスクの例外処理ハンドラを定義する。
同じ要因に対する例外処理ハンドラがすでに定義されている場合には、 後から定義した例外処理ハンドラが有効となる。
例外要因の内容はインプリメントに依存する。
ER_ADR : アドレス(exc_hdr)のアクセスは許されていない。 ER_CTX : コンテキストエラー(使用不可のシステムコールを発行した)。 ER_PAR : パラメータが不正である(exc_vecで定義した例外要因が不正)。
|
VOID ret_exc(W ret)
W ret リターン指定
リターンしない (ret = 0 の時) =0 正常 (ret≠ 0 の時)
例外処理ハンドラを終了する。
例外処理ハンドラの最後には必ず本システムコールを実行しなくてはいけない。 また、本システムコールは例外処理ハンドラ内でのみ発行することができ、 それ以外の部分で発行された時はシステムエラーとなる。
発生しない。
|
ERR get_ver(T_VER* version)
T_VER* version バージョンの格納領域
=0 正常 <0 エラー(エラーコード)
OS のバージョンを取り出す。
T_VER
は TRON
体系で共通の以下の構造体である。
typedef struct { UH maker; -- メーカー UH id; -- 形式番号 UH spver; -- 仕様書バージョン UH prver; -- 製品バージョン UH prno[4]; -- 製品管理情報 UH cpu; -- CPU 情報 UH var; -- バリエーション記述子 } T_VER;
ER_ADR : アドレス(version)のアクセスは許されていない。
|
WERR get_cnf(TC* name, VP value, W len)
TC* name コンフィグレーション項目名 VP value コンフィグレーション情報の格納領域 W len コンフィグレーション情報の格納領域のバイトサイズ
= 0 正常(W の数値情報) > 0 正常(TC 文字列情報:文字数) < 0 エラー(エラーコード)
指定した項目名のシステムのコンフィグレーション情報を取り出す。
コンフィグレーション情報は W の数値または TC 文字列であり、 関数値により区別される。
コンフィグレーション情報の項目名はインプリメントに依存する。
ER_ADR : アドレス(name)のアクセスは許されていない。 ER_NOEXS : 項目名(name)は存在していない。 ER_PAR : パラメータが不正である。