source: asp3_tinet_ecnl_rx/trunk/asp3_dcre/tecsgen/tecs/TECSInfo/nTECSInfo_tCallInfo.c@ 374

Last change on this file since 374 was 374, checked in by coas-nagasima, 5 years ago

mbed関連を更新
シリアルドライバをmbedのHALを使うよう変更
ファイルディスクリプタの処理を更新

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/x-csrc;charset=UTF-8
File size: 8.9 KB
Line 
1/*
2 * Copyright (C) 2008-2017 by TOPPERS Project
3 *
4 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
5 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
6 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
7 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
8 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
9 * スコード中に含まれていること.
10 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
11 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用
12 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記
13 * の無保証規定を掲載すること.
14 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
15 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ
16 * と.
17 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
18 * 作権表示,この利用条件および下記の無保証規定を掲載すること.
19 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
20 * 報告すること.
21 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
22 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
23 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
24 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
25 * 免責すること.
26 *
27 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お
28 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
29 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
30 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
31 * の責任を負わない.
32 *
33 * @(#) $Id$
34 */
35
36/* #[<PREAMBLE>]#
37 * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください
38 * tecsmerge によるマージに使用されます
39 *
40 * 属性アクセスマクロ #_CAAM_#
41 * name char_t* ATTR_name
42 * offset uint32_t ATTR_offset
43 * array_size uint32_t ATTR_array_size
44 * b_optional bool_t ATTR_b_optional
45 * b_omit bool_t ATTR_b_omit
46 * b_dynamic bool_t ATTR_b_dynamic
47 * b_ref_desc bool_t ATTR_b_ref_desc
48 * b_allocator_port bool_t ATTR_b_allocator_port
49 * b_require_port bool_t ATTR_b_require_port
50 * place int8_t ATTR_place
51 * b_VMT_useless bool_t ATTR_b_VMT_useless
52 * b_skelton_useless bool_t ATTR_b_skelton_useless
53 * b_cell_unique bool_t ATTR_b_cell_unique
54 *
55 * 呼び口関数 #_TCPF_#
56 * call port: cSignatureInfo signature: nTECSInfo_sSignatureInfo context:task
57 * ER cSignatureInfo_getName( char_t* name, int_t max_len );
58 * uint16_t cSignatureInfo_getNameLength( );
59 * uint32_t cSignatureInfo_getNFunction( );
60 * ER cSignatureInfo_getFunctionInfo( uint32_t ith, Descriptor( nTECSInfo_sFunctionInfo )* desc );
61 * [ref_desc]
62 * Descriptor( nTECSInfo_sSignatureInfo ) cSignatureInfo_refer_to_descriptor();
63 * Descriptor( nTECSInfo_sSignatureInfo ) cSignatureInfo_ref_desc() (same as above; abbreviated version);
64 *
65 * #[</PREAMBLE>]# */
66
67/* Put prototype declaration and/or variale definition here #_PAC_# */
68#include <string.h>
69#include "nTECSInfo_tCallInfo_tecsgen.h"
70
71#ifndef E_OK
72#define E_OK 0 /* success */
73#define E_ID (-18) /* illegal ID */
74#endif
75
76/* entry port function #_TEPF_# */
77/* #[<ENTRY_PORT>]# eCallInfo
78 * entry port: eCallInfo
79 * signature: nTECSInfo_sCallInfo
80 * context: task
81 * #[</ENTRY_PORT>]# */
82
83/* #[<ENTRY_FUNC>]# eCallInfo_getName
84 * name: eCallInfo_getName
85 * global_name: nTECSInfo_tCallInfo_eCallInfo_getName
86 * oneway: false
87 * #[</ENTRY_FUNC>]# */
88ER
89eCallInfo_getName(CELLIDX idx, char_t* name, int_t max_len)
90{
91 ER ercd = E_OK;
92 CELLCB *p_cellcb;
93 if (VALID_IDX(idx)) {
94 p_cellcb = GET_CELLCB(idx);
95 }
96 else {
97 return(E_ID);
98 } /* end if VALID_IDX(idx) */
99
100 /* Put statements here #_TEFB_# */
101 name[ max_len - 1 ] = '\0';
102 strncpy( name, ATTR_name, max_len );
103 if( name[ max_len - 1 ] ){
104 name[ max_len - 1 ] = '\0';
105 ercd = E_NOMEM;
106 }
107
108 return(ercd);
109}
110
111/* #[<ENTRY_FUNC>]# eCallInfo_getNameLength
112 * name: eCallInfo_getNameLength
113 * global_name: nTECSInfo_tCallInfo_eCallInfo_getNameLength
114 * oneway: false
115 * #[</ENTRY_FUNC>]# */
116uint16_t
117eCallInfo_getNameLength(CELLIDX idx)
118{
119 CELLCB *p_cellcb;
120 if (VALID_IDX(idx)) {
121 p_cellcb = GET_CELLCB(idx);
122 }
123 else {
124 /* Write error processing code here */
125 } /* end if VALID_IDX(idx) */
126
127 /* Put statements here #_TEFB_# */
128 return strlen( ATTR_name ) + 1;
129}
130
131/* #[<ENTRY_FUNC>]# eCallInfo_getSignatureInfo
132 * name: eCallInfo_getSignatureInfo
133 * global_name: nTECSInfo_tCallInfo_eCallInfo_getSignatureInfo
134 * oneway: false
135 * #[</ENTRY_FUNC>]# */
136void
137eCallInfo_getSignatureInfo(CELLIDX idx, Descriptor( nTECSInfo_sSignatureInfo )* desc)
138{
139 CELLCB *p_cellcb;
140 if (VALID_IDX(idx)) {
141 p_cellcb = GET_CELLCB(idx);
142 }
143 else {
144 /* Write error processing code here */
145 } /* end if VALID_IDX(idx) */
146
147 /* Put statements here #_TEFB_# */
148 *desc = cSignatureInfo_refer_to_descriptor();
149}
150
151/* #[<ENTRY_FUNC>]# eCallInfo_getArraySize
152 * name: eCallInfo_getArraySize
153 * global_name: nTECSInfo_tCallInfo_eCallInfo_getArraySize
154 * oneway: false
155 * #[</ENTRY_FUNC>]# */
156uint32_t
157eCallInfo_getArraySize(CELLIDX idx)
158{
159 CELLCB *p_cellcb;
160 if (VALID_IDX(idx)) {
161 p_cellcb = GET_CELLCB(idx);
162 }
163 else {
164 /* Write error processing code here */
165 } /* end if VALID_IDX(idx) */
166
167 /* Put statements here #_TEFB_# */
168 return ATTR_array_size;
169}
170
171/* #[<ENTRY_FUNC>]# eCallInfo_getSpecifierInfo
172 * name: eCallInfo_getSpecifierInfo
173 * global_name: nTECSInfo_tCallInfo_eCallInfo_getSpecifierInfo
174 * oneway: false
175 * #[</ENTRY_FUNC>]# */
176void
177eCallInfo_getSpecifierInfo(CELLIDX idx, bool_t* b_optional, bool_t* b_dynamic, bool_t* b_ref_desc, bool_t* b_omit)
178{
179 CELLCB *p_cellcb;
180 if (VALID_IDX(idx)) {
181 p_cellcb = GET_CELLCB(idx);
182 }
183 else {
184 /* エラー処理コードをここに記述します */
185 } /* end if VALID_IDX(idx) */
186
187 /* ここに処理本体を記述します #_TEFB_# */
188 *b_optional = ATTR_b_optional;
189 *b_dynamic = ATTR_b_dynamic;
190 *b_ref_desc = ATTR_b_ref_desc;
191 *b_omit = ATTR_b_omit;
192}
193
194/* #[<ENTRY_FUNC>]# eCallInfo_getInternalInfo
195 * name: eCallInfo_getInternalInfo
196 * global_name: nTECSInfo_tCallInfo_eCallInfo_getInternalInfo
197 * oneway: false
198 * #[</ENTRY_FUNC>]# */
199void
200eCallInfo_getInternalInfo(CELLIDX idx, bool_t* b_allocator_port, bool_t* b_require_port)
201{
202 CELLCB *p_cellcb;
203 if (VALID_IDX(idx)) {
204 p_cellcb = GET_CELLCB(idx);
205 }
206 else {
207 /* エラー処理コードをここに記述します */
208 } /* end if VALID_IDX(idx) */
209
210 /* ここに処理本体を記述します #_TEFB_# */
211 *b_allocator_port = ATTR_b_allocator_port;
212 *b_require_port = ATTR_b_require_port;
213}
214
215/* #[<ENTRY_FUNC>]# eCallInfo_getLocationInfo
216 * name: eCallInfo_getLocationInfo
217 * global_name: nTECSInfo_tCallInfo_eCallInfo_getLocationInfo
218 * oneway: false
219 * #[</ENTRY_FUNC>]# */
220void
221eCallInfo_getLocationInfo(CELLIDX idx, uint32_t* offset, int8_t* place)
222{
223 CELLCB *p_cellcb;
224 if (VALID_IDX(idx)) {
225 p_cellcb = GET_CELLCB(idx);
226 }
227 else {
228 /* エラー処理コードをここに記述します */
229 } /* end if VALID_IDX(idx) */
230
231 /* ここに処理本体を記述します #_TEFB_# */
232 *offset = ATTR_offset;
233 *place = ATTR_place;
234}
235
236/* #[<ENTRY_FUNC>]# eCallInfo_getOptimizeInfo
237 * name: eCallInfo_getOptimizeInfo
238 * global_name: nTECSInfo_tCallInfo_eCallInfo_getOptimizeInfo
239 * oneway: false
240 * #[</ENTRY_FUNC>]# */
241void
242eCallInfo_getOptimizeInfo(CELLIDX idx, bool_t* b_VMT_useless, bool_t* b_skelton_useless, bool_t* b_cell_unique)
243{
244 CELLCB *p_cellcb;
245 if (VALID_IDX(idx)) {
246 p_cellcb = GET_CELLCB(idx);
247 }
248 else {
249 /* エラー処理コードをここに記述します */
250 } /* end if VALID_IDX(idx) */
251
252 /* ここに処理本体を記述します #_TEFB_# */
253 *b_VMT_useless = ATTR_b_VMT_useless;
254 *b_skelton_useless = ATTR_b_skelton_useless;
255 *b_cell_unique = ATTR_b_cell_unique;
256}
257
258/* #[<POSTAMBLE>]#
259 * これより下に非受け口関数を書きます
260 * #[</POSTAMBLE>]#*/
Note: See TracBrowser for help on using the repository browser.