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

API の名称に関する原則

ドキュメント内 μITRON4.0仕様書(Ver ) (ページ 54-59)

第 2章 ITRON 仕様共通規定 21

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の 形となる.

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

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

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) その他の定数

その他の定数の名称は,TUU_XXXXXまたはTUU_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_で始まる名称とすることを原則とする.

ドキュメント内 μITRON4.0仕様書(Ver ) (ページ 54-59)