3. API 仕様
3.6 ランナブル
ランナブルのエントリポイント関数を提供するヘッダ
RTEGENは,ランナブルのエントリポイント関数のプロトタイプをアプリケーションヘッダに生成
する【rte_sws_1132】.
サポート範囲の制限
AUTOSAR仕様では,以下のように<name>の前に<prefix>を指定してエントリポイント関数のプロ トタイプを生成可能とされているが,本RTEでは,<prefix>の指定をサポートしない
【nrte_sws_0062】.
<void|Std_ReturnType> <prefix><name> ([role parameters]);
3.6.3 ロールパラメータ
RTEは,ロールパラメータの各パラメータの存在の有無,およびパラメータの型をランナブルの起 動契機となるRTEイベントから決定する.
各RTEイベントのロールパラメータの詳細は,3.6.5節を参照.
3.6.4 返り値
RTEは,C/S連携のオペレーション呼出しのエラーコードをアプリケーションに返すためにのみ,
ランナブルの返り値を使用する.
ランナブルがサーバランナブルであり,C/Sインタフェースにおいて,使用アプリケーションエラー が定義されている場合のみ,ランナブルのエントリポイント関数の返り値は,Std_ReturnTypeとなり,
それ以外の場合,エントリポイント関数の返り値はvoidである【rte_sws_1130】.
サーバランナブルは,返り値の下位6ビットのみをアプリケーションエラーに使用し,上位2ビット は"0"に設定して,返り値を返さなければならない.【rte_sws_ext_2704】.
3.6.5 トリガイベント
RTEは,RTEイベントに対応したランナブルを起動する.以降の節では,各RTEイベントについて,
ランナブルを起動する条件について説明する.
各イベントに対して,ランナブルのエントリポイント関数のシグネチャが定義されている.エント リポイント関数のシグネチャは以下のパラメータを含む.
・ ロールパラメータ
トリガ条件の結果の情報を渡すのに使用する.ロールパラメータの種別,多重度,および順序は起動 契機のRTEイベントに依存する.
3.6.5.1 周期イベント
C言語I/F void <name>(void) 【rte_sws_1131】
パラメータ[in] - パラメータ[in/out] - パラメータ[out] - 返り値 -
機能
コンフィギュレーションで定義された起動周期で,ランナブルを周期起動する.
3.6.5.2 オペレーション呼出しイベント
C言語I/F <void | Std_ReturnType> <name> ( [IN <portDefArg 1>, ..., <portDefArg n>],
[IN|INOUT|OUT <param 1>, ..., IN|INOUT|OUT <param n>])
【rte_sws_1166】
パラメータ[in] <portDefArg 1>, ...,
<portDefArg n>
ポート定義引数
パラメータ[in/out] <param 1>, ..., <param n>] オペレーション引数 パラメータ[out] -
返り値 アプリケーションエラー 機能
サーバランナブルの起動イベント.このイベントは,サーバがクライアントからオペレーション呼出 しを受信した際に発生する.
<portDefArg 1>, …, <portDefArg n>は,ポート定義引数
<param1>, …, <param n>はオペレーション引数
パラメータの仕様
ポート定義引数のデータ型は,ポート定義引数のポート定義引数値型(valueType)で定義される.
ポート定義引数はオプションである.
オペレーション引数<param 1>, …, <param n>は,オペレーション呼出しイベント (OperationInvokedEvent)に関連するオペレーションのオペレーション引数で定義される.
オペレーション引数の順序は,オペレーション内のオペレーション引数の定義順に従う
【rte_sws_7023】.
オペレーション引数のサーバ引数実装ポリシ(ServerArgumentImplPolicy)がuseArgumentTypeに 設定されている場合,<param>のデータ型は,オペレーション引数の実装データ型
(ImplementationDataType)で定義される【rte_sws_7024】.本RTEでは,サーバ引数実装ポリシ (ServerArgumentImplPolicy)は常にuseArgumentTypeに設定されているものとして扱い,サーバ引
数実装ポリシ(ServerArgumentImplPolicy)のコンフィギュレーションはサポートしない
【nrte_sws_0063】.
返り値の仕様
C/Sインタフェースにアプリケーションエラーが定義されている場合,これらのエラーは
Std_ReturnType型の返り値で返される.アプリケーションエラーの定義がない場合,返り値はvoid
になる.
RTE_E_OKを常に返すようなサーバランナブルであっても,ランナブルの返り値を
Std_ReturnTypeとするため,アプリケーションエラーコードの定義は必要である.
3.6.6 リエントラント性
ランナブルのリエントラント性を保証するのはSW-Cの実装者の責任である.