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

2. 概念

3.3 API データ型

3.3.5 共用体実装データ型

データ型名 <name>【rte_sws_7144】

概要 RTE APIで使用するデータ型

備考 <name>は,共用体実装データ型のショートネーム

共用体実装データ型を提供するヘッダ

共用体実装データ型は,RTEタイプヘッダ内に定義する〔rte_sws_7144〕.

共用体実装データ型の設定

共用体実装データ型は,カテゴリ(category)がUNIONの実装データ型(ImplementationDataType) として定義する.

共用体実装データ型に対して,RTEタイプヘッダは以下の型宣言を含む〔rte_sws_7144〕.

typedef union { <elements> } <name>;

ここで,

・ <elements>は,共用体要素の集合を表す.共用体要素の数は2以上でなければならない

【rte_sws_ext_7147】.

・ <name>は,共用体実装データ型のショートネームを表す.

共用体要素の集合

共用体要素の集合は,共用体実装データ型の実装データ型要素(ImplementationDataTypeElement) の集合に対応し,共用体要素の並び順は実装データ型要素(ImplementationDataTypeElement)の定義 順である〔rte_sws_7144〕.

実装データ型要素(ImplementationDataTypeElement)のカテゴリ(category)がVALUEで,ベース型 (BaseType)がネイティブ宣言(nativeDeclaration)を持つ場合の共用体要素の出力形式は以下の通りで ある〔rte_sws_7115〕.

<nativeDeclaration> <name>;

ここで,

・ <nativeDeclaration>は,ベース型(BaseType)のネイティブ宣言(nativeDeclaration)を表す.

・ <name>は,実装データ型要素(ImplementationDataTypeElement)のショートネームを表す.

カテゴリ(category)がTYPE_REFERENCEの実装データ型要素

(ImplementationDataTypeElement)で,その実装データ型 (ImplementationDataType) のカテゴリ (category)がVALUEの場合, RTEタイプヘッダは以下の型宣言を含む〔rte_sws_7116〕.

<type> <name>;

ここで,

・ <type>は,実装データ型 (ImplementationDataType) のショートネームを表す.

・ <name>は,実装データ型要素(ImplementationDataTypeElement)のショートネームを表す.

AUTOSAR仕様との違い

AUTOSAR仕様では,実装データ型要素(ImplementationDataTypeElement) のカテゴリ(category) にプリミティブ実装データ型以外を定義できる【rte_sws_7116】【rte_sws_7117】【rte_sws_7118】

【rte_sws_7119】【rte_sws_7145】【rte_sws_7146】.しかし,本RTEは共用体の実装データ型要素 (ImplementationDataTypeElement) としては,プリミティブ実装データ型のみサポートする

【nrte_sws_0245】.

同一のデータ型の再定義の防止

実装データ型再定義を提供するヘッダ

再定義実装データ型は,RTEタイプヘッダ内に定義する〔rte_sws_7109〕.

実装データ型再定義の設定

再定義実装データ型は,カテゴリ(category)がTYPE_REFERENCEの実装データ型 (ImplementationDataType)として定義する.

再定義実装データ型に対して,RTEタイプヘッダは以下の型宣言を含む〔rte_sws_7109〕.

typedef <type> <name>;

ここで,

・ <type>は,再定義実装データ型が参照する実装データ型(ImplementationDataType)のショート ネームを表す.

・ <name>は,再定義実装データ型のショートネームを表す.

同一のデータ型の再定義の防止

再定義型実装データ型のショートネーム,および再定義型と互換する実装データ型のショートネー ムが等しい複数のプリミティブ実装データ型が定義されている場合,RTEタイプヘッダは

〔rte_sws_7109〕に従った型宣言を1度だけ含む【rte_sws_7167】.

3.3.7 ポインタ実装データ型

データ型名 <name>【rte_sws_7148】

概要 RTE APIで使用するデータ型

備考 <name>は,ポインタ実装データ型のショートネーム

ポインタ実装データ型を提供するヘッダ

ポインタ実装データ型は,RTEタイプヘッダ内に定義する〔rte_sws_7148〕.

ポインタ実装データ型の設定

ポインタ実装データ型は,カテゴリ(category)がDATA_REFERENCEの実装データ型 (ImplementationDataType)として定義する.

ポインタ実装データ型に対して,RTEタイプヘッダは以下の型宣言を含む〔rte_sws_7148〕.

typedef <type> * <name>;

ここで,

・ <name>は,ポインタ実装データ型のショートネームを表す.

・ <type>は,ポインタ実装データ型のターゲットカテゴリ(targetCategory)がVALUEの場合,ベ ース型(BaseType)のネイティブ宣言(nativeDeclaration)を表す【rte_sws_7162】.ポインタ実装 データ型のターゲットカテゴリ(targetCategory)がTYPE_REFERENCEの場合,実装データ型 (ImplementationDataType)のショートネームを表す【rte_sws_7163】.

AUTOSAR仕様との違い

AUTOSAR仕様では,ポインタ実装データ型として,型修飾子を付加することができる

【rte_sws_7149】【rte_sws_7166】【rte_sws_7036】【rte_sws_7037】.しかし,本RTEはポインタ実 装データ型の型修飾子はサポートしない【nrte_sws_0311】.

同一のデータ型の再定義の防止

ショートネーム,およびそのC言語のポインタ型宣言が等しい複数のポインタ実装データ型が定義 されている場合,RTEタイプヘッダは〔rte_sws_7148〕に従った型宣言を1度だけ含む

【rte_sws_7169】.

3.3.8 モードのデータ型

データ型名 Rte_ModeType_<ModeDeclarationGroup>【rte_sws_7292】

概要 モード連携のAPIで使用するデータ型

備考 < ModeDeclarationGroup>は,モード宣言グループのショート

ネーム

モードのデータ型を提供するヘッダ(SCHM)

モードのデータ型は,モジュール連結タイプヘッダ内に定義する〔rte_sws_7292〕.

モードのデータ型の設定

各モード宣言グループに対して,モード連結タイプヘッダは以下の型宣言を含む〔rte_sws_7292〕.

#ifndef RTE_MODETYPE_<ModeDeclarationGroup>

#define RTE_MODETYPE_<ModeDeclarationGroup>

typedef <type> Rte_ModeType_<ModeDeclarationGroup>;

#endif ここで,

・ <ModeDeclarationGroup>は,モード宣言グループ(ModeDeclarationGroup) のショートネーム を表す.

#ifndef RTE_TRANSITION_<ModeDeclarationGroup>

#define RTE_TRANSITION_<ModeDeclarationGroup> ¥ <n>U

#endif ここで,

・ <ModeDeclarationGroup>は,モード宣言グループ(ModeDeclarationGroup) のショートネーム を表す.

・ <n>は,モード宣言グループに含まれるモード宣言の数を表す.

モード宣言の定義

モード宣言グループに含まれるモード宣言毎に,モード連結タイプヘッダは以下の定義を含む

【rte_sws_7294】.

#ifndef RTE_MODE_<ModeDeclarationGroup>_<ModeDeclaration>

#define RTE_MODE_<ModeDeclarationGroup>_<ModeDeclaration> ¥ <index>U

#endif ここで,

・ <ModeDeclarationGroup>は,モード宣言グループ(ModeDeclarationGroup) のショートネーム を表す.

・ <ModeDeclaration>は,モード宣言 (ModeDeclaration) のショートネームを表す.

・ <index>は,モード宣言グループに含まれるモード宣言をアルファベット順で並べたときのイン

デックス番号(最小値は0)を表す.