• 検索結果がありません。

API の名称に関する原則

ドキュメント内 mitron402.book (ページ 56-61)

第 2 章 ITRON仕様共通規定 23

2.2 API の名称に関する原則

2.2.1 ソフトウェア部品識別名

標準化されるソフトウェア部品の APIの名称に用いるために,その種類を 2〜 4文字程度であらわすソフトウェア部品識別名を定める.複数の機能単位から 構成されるソフトウェア部品の場合には,機能単位毎にソフトウェア部品識別 名を与える場合もある.ソフトウェア部品識別名は,ソフトウェア部品仕様で 定める.

独自に APIを定義したソフトウェア部品については,この規定の適用範囲外で はあるが,標準化されたソフトウェア部品との名称の衝突を避けるために,ソ フトウェア部品識別名を 5文字以上とするか,ソフトウェア部品識別名の前に

“v”の文字を付加することを推奨する.

以下,ソフトウェア部品識別名を小文字で表記したものを www,大文字で表 記したものを WWWと記述する.

2.2.2 サービスコール

カーネルのサービスコールの名称は, xxxで操作の方法, yyyで操作の対象を あらわし, xxx _ yyyの形を基本とする. xxx _ yyyから派生したサービスコール は,派生したことをあらわす文字 zを付加し, zxxx_yyyの形とする.二重に 派生したサービスコールの場合には,派生をあらわす文字を 2つ付加し,

zzxxx_yyyの形となる.

ソフトウ ェア部品の サービスコ ールの名称 は, www_xxx_yyy ないし は www_zxxx_yyyの形とする.

実装独自に用意するサービスコール名称は, xxxまたは zxxxの前に “v”の文字 を付加し, v xxx_yyy, v zxxx_yyy www_vxxx_yyy www_vzxxx_yyyの形 とするのを原則とする.ただし,カーネル仕様において,非タスクコンテキス トから呼び出せるサービスコールに付加する “i”の文字が “v”と重なる場合に は, “i”を前にして iv xxx_yyyの形とする.

【補足説明】

µITRON4.0仕様において, xxx yyy zに用いている省略名とその元になった

英語を表 2-1に示す.

2.2.3 コールバック

コールバックの名称は,パラメータの形でのみ仕様にあらわれるため,パラ メータの名称の原則に従う.

2.2.4 静的 API

静的 APIの名称は,原則として,対応するサービスコールの名称を大文字で表 記したものとする.サービスコールに対応しない静的 APIの名称は,サービス コールの名称に関する原則に準拠して定めた名称を大文字で表記したものと する.

カーネルやソフトウェア部品で共通に利用すべき ITRON仕様共通静的 APIの名 称と意味は, ITRON仕様共通定義で規定する.

2.2.5 パラメータとリターンパラメータ

パラメータとリターンパラメータの名称は,すべて小文字で 4〜 7文字程度と する.パラメータとリターンパラメータの名称に関して,以下の原則を設ける.

〜 id 〜 ID(オブジェクトの ID番号, ID型)

〜 no 〜番号(オブジェクト番号)

〜 atr 〜属性(オブジェクト属性, ATR型)

〜 stat 〜状態(オブジェクト状態, STAT型)

〜 mode 〜モード(サービスコールの動作モード, MODE型)

表 2-1. µITRON4.0仕様における省略名と元になった英語 xxx 元になった英語 yyy 元になった英語

acp accept alm alarm handler

act* activate cfg configuration

att attach cpu CPU

cal call ctx context

can cancel cyc cyclic handler

chg change dpn dispatch pending

clr clear dsp dispatch

cre create dtq data queue

def define exc exception

del delete flg eventflag

dis disable inh interrupt handler

dly delay ini initilization

ena enable int interrupt

exd exit and delete isr interrupt service routine

ext exit mbf message buffer

fwd forward mbx mailbox

get get mpf fixed-sized memory pool

loc* lock mpl memory pool

pol poll mtx mutex

ras raise ovr overrun handler

rcv receive por port

ref reference pri priority

rel release rdq ready queue

rot rotate rdv randezvous

rpl reply sem semaphore

rsm resume sys system

set set svc service call

sig signal tex task exception

slp sleep tid task ID

snd send tim time

sns sense tsk task

sta start tst task status

stp stop ver version

sus suspend

ter terminate z 元になった英語

unl unlock a automatic ID assignment

wai* wait f force

wup* wake up i interrupt

p poll

t timeout

※ *を付した省略名は yyy としても用いている.

〜 pri 〜優先度(優先度, PRI型)

〜 sz 〜サイズ(単位はバイト数, SIZE型または UINT型)

〜 cnt 〜の個数(単位は個数, UINT型)

〜 ptn 〜パターン

〜 tim 〜時刻,〜時間

〜 cd 〜コード i〜 〜の初期値 max〜 〜の最大値 min〜 〜の最小値

left〜 残り〜

p_〜 リターンパラメータ(またはパラメータ)を入れる領域 へのポインタ

pk_〜 パケットへのポインタ

pk_cyyy cre_yyyに渡すパケットへのポインタ pk_dyyy def_yyyに渡すパケットへのポインタ pk_ryyy ref_yyyに渡すパケットへのポインタ

pk_www_cyyy www_cre_yyyに渡すパケットへのポインタ pk_www_dyyy www_def_yyyに渡すパケットへのポインタ pk_www_ryyy www_ref_yyyに渡すパケットへのポインタ ppk_〜 パケットへのポインタを入れる領域へのポインタ パラメータやリターンパラメータの名称が同じであれば,原則として同じデー タ型である.

2.2.6 データ型

データ型の名称は,すべて大文字で 2〜 10文字程度とする.データ型の名称に 関して,以下の原則を設ける.

〜 P ポインタのデータ型

T_〜 パケットのデータ型(構造体)

T_CYYY cre_yyyに渡すパケットのデータ型 T_RYYY ref_yyyに渡すパケットのデータ型 T_WWW_〜 ソフトウェア部品で用いる構造体

T_WWW_CYYY www_cre_yyyに渡すパケットのデータ型 T_WWW_RYYY www_ref_yyyに渡すパケットのデータ型

カーネルやソフトウェア部品で共通に利用すべき ITRON仕様共通データ型の 名称と意味は, ITRON仕様共通定義で規定する.

2.2.7 定数

定数の名称はすべて大文字で記述し,以下の原則に従って定める.

(A) ITRON仕様共通定数

カーネルやソフトウェア部品で共通に利用すべき ITRON仕様共通定数の名称 については特に原則を定めず,その意味および値と共に, ITRON仕様共通定義 で規定する.

(B) エラーコード

ITRON仕様で定めるメインエラーコードの名称は E_ XXXXXの形( XXXXXは,

2〜 5文字程度),実装独自に定義するメインエラーコードの名称は EV_XXXXX

の形とする.

サブエラーコードの名称に関しては,特に原則を定めない.

エラークラスの名称は, EC_ XXXXXの形( XXXXXは, 2〜 5文字程度)とする.

(C) その他の定数

その他の定数の名称は, T UU _XXXXXまたは T UU_WWW_XXXXXの形とする

( UUは 1〜 3文字程度, XXXXXは 2〜 7文字程度).同じパラメータに用いられ る定数の名称については, UUの部分を共通にする.リターンパラメータにつ いても同様とする.また,ソフトウェア部品の APIで,多くのサービスコール やコールバックに共通に用いる定数については,WWW_XXXXXの形とする場 合もある.

上記に加えて,その他の定数の名称に関して,以下の原則を設ける.

TA_〜 オブジェクトの属性値 TFN_〜 サービスコールの機能コード

TFN_XXX_YYY xxx_yyyの機能コード TFN_WWW_XXX_YYY www_xxx_yyyの機能コード TSZ_〜 〜のサイズ

TBIT_〜 〜のビット数

TMAX_〜 〜の最大値

TMIN_〜 〜の最小値

2.2.8 マクロ

マクロの名称はすべて大文字で記述し,定数と同様の原則に従って定める.特 に,カーネルやソフトウェア部品で共通に利用すべき ITRON仕様共通マクロの 名称と意味は, ITRON仕様共通定義で規定する.

2.2.9 ヘッダファイル

ITRON仕様共通定義で規定されるデータ型,定数,マクロの定義などを含む

ヘッダファイルの名称を “itron.h”,カーネル仕様で定められるサービスコー ルの宣言と,データ型,定数,マクロの定義などを含むヘッダファイルの名称 を “kernel.h”,カーネルのコンフィギュレータが生成する自動割付け結果ヘッ

ダファイルの名称を “kernel_id.h”とする.

ソフトウェア部品仕様で定められるサービスコールの宣言などを含むヘッダ ファイルの名称と,ソフトウェア部品のコンフィギュレータが生成する自動割 付け結果ヘッダファイルの名称は,ソフトウェア部品識別名で始まる名称とす ることを原則として,ソフトウェア部品毎に定める.

2.2.10 カーネルとソフトウェア部品の内部識別子

アプリケーションプログラムとリンクして用いるカーネルおよびソフトウェ ア部品においては,アプリケーションプログラムとの名称の衝突を避けるため に,カーネルやソフトウェア部品の内部に閉じて使われるルーチンやメモリ領 域などの識別子の内,オブジェクトファイルのシンボル表に登録され外部から 参照できるもの(これを内部識別子と呼ぶ)の名称に関する原則を次のように 定める.

カーネルの内部識別子は, C言語レベルで, _kernel_または _KERNEL_で始 まる名称とすることを原則とする.ソフトウェア部品の内部識別子は, C言語 レベルで, _ www_または _ WWW_で始まる名称とすることを原則とする.

ドキュメント内 mitron402.book (ページ 56-61)