source: asp3_tinet_ecnl_rx/trunk/asp3_dcre/tecsgen/tecs/TECSInfo/nTECSInfo_tCelltypeInfo.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: 15.4 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 * b_singleton bool_t ATTR_b_singleton
43 * b_IDX_is_ID_act bool_t ATTR_b_IDX_is_ID_act
44 * sizeOfCB uint32_t ATTR_sizeOfCB
45 * sizeOfINIB uint32_t ATTR_sizeOfINIB
46 * n_cellInLinkUnit uint32_t ATTR_n_cellInLinkUnit
47 * n_cellInSystem uint32_t ATTR_n_cellInSystem
48 *
49 * 呼び口関数 #_TCPF_#
50 * call port: cEntryInfo signature: nTECSInfo_sEntryInfo context:task optional:true
51 * bool_t is_cEntryInfo_joined(int subscript) check if joined
52 * ER cEntryInfo_getName( subscript, char_t* name, int_t max_len );
53 * uint16_t cEntryInfo_getNameLength( subscript );
54 * void cEntryInfo_getSignatureInfo( subscript, Descriptor( nTECSInfo_sSignatureInfo )* desc );
55 * uint32_t cEntryInfo_getArraySize( subscript );
56 * bool_t cEntryInfo_isInline( subscript );
57 * subscript: 0...(NCP_cEntryInfo-1)
58 * [ref_desc]
59 * Descriptor( nTECSInfo_sEntryInfo ) cEntryInfo_refer_to_descriptor( int_t subscript );
60 * Descriptor( nTECSInfo_sEntryInfo ) cEntryInfo_ref_desc( int_t subscript ) (same as above; abbreviated version);
61 * call port: cCallInfo signature: nTECSInfo_sCallInfo context:task optional:true
62 * bool_t is_cCallInfo_joined(int subscript) check if joined
63 * ER cCallInfo_getName( subscript, char_t* name, int_t max_len );
64 * uint16_t cCallInfo_getNameLength( subscript );
65 * void cCallInfo_getSignatureInfo( subscript, Descriptor( nTECSInfo_sSignatureInfo )* desc );
66 * uint32_t cCallInfo_getArraySize( subscript );
67 * void cCallInfo_getSpecifierInfo( subscript, bool_t* b_optional, bool_t* b_dynamic, bool_t* b_ref_desc, bool_t* b_omit );
68 * void cCallInfo_getInternalInfo( subscript, bool_t* b_allocator_port, bool_t* b_require_port );
69 * void cCallInfo_getLocationInfo( subscript, uint32_t* offset, int8_t* place );
70 * void cCallInfo_getOptimizeInfo( subscript, bool_t* b_VMT_useless, bool_t* b_skelton_useless, bool_t* b_cell_unique );
71 * subscript: 0...(NCP_cCallInfo-1)
72 * [ref_desc]
73 * Descriptor( nTECSInfo_sCallInfo ) cCallInfo_refer_to_descriptor( int_t subscript );
74 * Descriptor( nTECSInfo_sCallInfo ) cCallInfo_ref_desc( int_t subscript ) (same as above; abbreviated version);
75 * call port: cAttrInfo signature: nTECSInfo_sVarDeclInfo context:task optional:true
76 * bool_t is_cAttrInfo_joined(int subscript) check if joined
77 * ER cAttrInfo_getName( subscript, char_t* name, int_t max_len );
78 * uint16_t cAttrInfo_getNameLength( subscript );
79 * uint32_t cAttrInfo_getOffset( subscript );
80 * void cAttrInfo_getTypeInfo( subscript, Descriptor( nTECSInfo_sTypeInfo )* desc );
81 * void cAttrInfo_getSizeIsExpr( subscript, char_t* expr_str, int32_t max_len );
82 * ER cAttrInfo_getSizeIs( subscript, uint32_t* size, const void* p_cb );
83 * subscript: 0...(NCP_cAttrInfo-1)
84 * [ref_desc]
85 * Descriptor( nTECSInfo_sVarDeclInfo ) cAttrInfo_refer_to_descriptor( int_t subscript );
86 * Descriptor( nTECSInfo_sVarDeclInfo ) cAttrInfo_ref_desc( int_t subscript ) (same as above; abbreviated version);
87 * call port: cVarInfo signature: nTECSInfo_sVarDeclInfo context:task optional:true
88 * bool_t is_cVarInfo_joined(int subscript) check if joined
89 * ER cVarInfo_getName( subscript, char_t* name, int_t max_len );
90 * uint16_t cVarInfo_getNameLength( subscript );
91 * uint32_t cVarInfo_getOffset( subscript );
92 * void cVarInfo_getTypeInfo( subscript, Descriptor( nTECSInfo_sTypeInfo )* desc );
93 * void cVarInfo_getSizeIsExpr( subscript, char_t* expr_str, int32_t max_len );
94 * ER cVarInfo_getSizeIs( subscript, uint32_t* size, const void* p_cb );
95 * subscript: 0...(NCP_cVarInfo-1)
96 * [ref_desc]
97 * Descriptor( nTECSInfo_sVarDeclInfo ) cVarInfo_refer_to_descriptor( int_t subscript );
98 * Descriptor( nTECSInfo_sVarDeclInfo ) cVarInfo_ref_desc( int_t subscript ) (same as above; abbreviated version);
99 *
100 * #[</PREAMBLE>]# */
101
102/* Put prototype declaration and/or variale definition here #_PAC_# */
103#include <string.h>
104#include "nTECSInfo_tCelltypeInfo_tecsgen.h"
105
106#ifndef E_OK
107#define E_OK 0 /* success */
108#define E_ID (-18) /* illegal ID */
109#endif
110
111/* entry port function #_TEPF_# */
112/* #[<ENTRY_PORT>]# eCelltypeInfo
113 * entry port: eCelltypeInfo
114 * signature: nTECSInfo_sCelltypeInfo
115 * context: task
116 * #[</ENTRY_PORT>]# */
117
118/* #[<ENTRY_FUNC>]# eCelltypeInfo_getName
119 * name: eCelltypeInfo_getName
120 * global_name: nTECSInfo_tCelltypeInfo_eCelltypeInfo_getName
121 * oneway: false
122 * #[</ENTRY_FUNC>]# */
123ER
124eCelltypeInfo_getName(CELLIDX idx, char_t* name, int_t max_len)
125{
126 ER ercd = E_OK;
127 CELLCB *p_cellcb;
128 if (VALID_IDX(idx)) {
129 p_cellcb = GET_CELLCB(idx);
130 }
131 else {
132 return(E_ID);
133 } /* end if VALID_IDX(idx) */
134
135 /* Put statements here #_TEFB_# */
136 name[ max_len - 1 ] = '\0';
137 strncpy( name, ATTR_name, max_len );
138 if( name[ max_len - 1 ] ){
139 name[ max_len - 1 ] = '\0';
140 ercd = E_NOMEM;
141 }
142
143 return(ercd);
144}
145
146/* #[<ENTRY_FUNC>]# eCelltypeInfo_getNameLength
147 * name: eCelltypeInfo_getNameLength
148 * global_name: nTECSInfo_tCelltypeInfo_eCelltypeInfo_getNameLength
149 * oneway: false
150 * #[</ENTRY_FUNC>]# */
151uint16_t
152eCelltypeInfo_getNameLength(CELLIDX idx)
153{
154 CELLCB *p_cellcb;
155 if (VALID_IDX(idx)) {
156 p_cellcb = GET_CELLCB(idx);
157 }
158 else {
159 /* Write error processing code here */
160 } /* end if VALID_IDX(idx) */
161
162 /* Put statements here #_TEFB_# */
163 return strlen( ATTR_name ) + 1;
164}
165
166/* #[<ENTRY_FUNC>]# eCelltypeInfo_getNAttr
167 * name: eCelltypeInfo_getNAttr
168 * global_name: nTECSInfo_tCelltypeInfo_eCelltypeInfo_getNAttr
169 * oneway: false
170 * #[</ENTRY_FUNC>]# */
171uint32_t
172eCelltypeInfo_getNAttr(CELLIDX idx)
173{
174 CELLCB *p_cellcb;
175 if (VALID_IDX(idx)) {
176 p_cellcb = GET_CELLCB(idx);
177 }
178 else {
179 /* Write error processing code here */
180 } /* end if VALID_IDX(idx) */
181
182 /* Put statements here #_TEFB_# */
183 return NCP_cAttrInfo;
184}
185
186/* #[<ENTRY_FUNC>]# eCelltypeInfo_getAttrInfo
187 * name: eCelltypeInfo_getAttrInfo
188 * global_name: nTECSInfo_tCelltypeInfo_eCelltypeInfo_getAttrInfo
189 * oneway: false
190 * #[</ENTRY_FUNC>]# */
191ER
192eCelltypeInfo_getAttrInfo(CELLIDX idx, uint32_t ith, Descriptor( nTECSInfo_sVarDeclInfo )* desc)
193{
194 CELLCB *p_cellcb;
195 ER ercd = E_OK;
196 if (VALID_IDX(idx)) {
197 p_cellcb = GET_CELLCB(idx);
198 }
199 else {
200 /* Write error processing code here */
201 } /* end if VALID_IDX(idx) */
202
203 /* Put statements here #_TEFB_# */
204 if( 0 <= ith && ith < NCP_cAttrInfo ){
205 if( is_cAttrInfo_joined( ith ) )
206 *desc = cAttrInfo_refer_to_descriptor( ith );
207 else
208 ercd = E_NOEXS;
209 }
210 else
211 ercd = E_ID;
212 return ercd;
213}
214
215/* #[<ENTRY_FUNC>]# eCelltypeInfo_getNVar
216 * name: eCelltypeInfo_getNVar
217 * global_name: nTECSInfo_tCelltypeInfo_eCelltypeInfo_getNVar
218 * oneway: false
219 * #[</ENTRY_FUNC>]# */
220uint32_t
221eCelltypeInfo_getNVar(CELLIDX idx)
222{
223 CELLCB *p_cellcb;
224 if (VALID_IDX(idx)) {
225 p_cellcb = GET_CELLCB(idx);
226 }
227 else {
228 /* Write error processing code here */
229 } /* end if VALID_IDX(idx) */
230
231 /* Put statements here #_TEFB_# */
232 return NCP_cVarInfo;
233}
234
235/* #[<ENTRY_FUNC>]# eCelltypeInfo_getVarInfo
236 * name: eCelltypeInfo_getVarInfo
237 * global_name: nTECSInfo_tCelltypeInfo_eCelltypeInfo_getVarInfo
238 * oneway: false
239 * #[</ENTRY_FUNC>]# */
240ER
241eCelltypeInfo_getVarInfo(CELLIDX idx, uint32_t ith, Descriptor( nTECSInfo_sVarDeclInfo )* desc)
242{
243 CELLCB *p_cellcb;
244 ER ercd = E_OK;
245 if (VALID_IDX(idx)) {
246 p_cellcb = GET_CELLCB(idx);
247 }
248 else {
249 /* Write error processing code here */
250 } /* end if VALID_IDX(idx) */
251
252 /* Put statements here #_TEFB_# */
253 if( 0 <= ith && ith < NCP_cVarInfo ){
254 if( is_cVarInfo_joined( ith ) )
255 *desc = cVarInfo_refer_to_descriptor( ith );
256 else
257 ercd = E_NOEXS;
258 }
259 else
260 ercd = E_ID;
261 return ercd;
262}
263
264/* #[<ENTRY_FUNC>]# eCelltypeInfo_getNCall
265 * name: eCelltypeInfo_getNCall
266 * global_name: nTECSInfo_tCelltypeInfo_eCelltypeInfo_getNCall
267 * oneway: false
268 * #[</ENTRY_FUNC>]# */
269uint32_t
270eCelltypeInfo_getNCall(CELLIDX idx)
271{
272 CELLCB *p_cellcb;
273 if (VALID_IDX(idx)) {
274 p_cellcb = GET_CELLCB(idx);
275 }
276 else {
277 /* Write error processing code here */
278 } /* end if VALID_IDX(idx) */
279
280 /* Put statements here #_TEFB_# */
281 return NCP_cCallInfo;
282}
283
284/* #[<ENTRY_FUNC>]# eCelltypeInfo_getCallInfo
285 * name: eCelltypeInfo_getCallInfo
286 * global_name: nTECSInfo_tCelltypeInfo_eCelltypeInfo_getCallInfo
287 * oneway: false
288 * #[</ENTRY_FUNC>]# */
289ER
290eCelltypeInfo_getCallInfo(CELLIDX idx, uint32_t ith, Descriptor( nTECSInfo_sCallInfo )* desc)
291{
292 CELLCB *p_cellcb;
293 ER ercd = E_OK;
294 if (VALID_IDX(idx)) {
295 p_cellcb = GET_CELLCB(idx);
296 }
297 else {
298 /* Write error processing code here */
299 } /* end if VALID_IDX(idx) */
300
301 /* Put statements here #_TEFB_# */
302 if( 0 <= ith && ith < NCP_cCallInfo ){
303 if( is_cCallInfo_joined( ith ) )
304 *desc = cCallInfo_refer_to_descriptor( ith );
305 else
306 ercd = E_NOEXS;
307 }
308 else
309 ercd = E_ID;
310
311 return ercd;
312}
313
314/* #[<ENTRY_FUNC>]# eCelltypeInfo_getNEntry
315 * name: eCelltypeInfo_getNEntry
316 * global_name: nTECSInfo_tCelltypeInfo_eCelltypeInfo_getNEntry
317 * oneway: false
318 * #[</ENTRY_FUNC>]# */
319uint32_t
320eCelltypeInfo_getNEntry(CELLIDX idx)
321{
322 CELLCB *p_cellcb;
323 if (VALID_IDX(idx)) {
324 p_cellcb = GET_CELLCB(idx);
325 }
326 else {
327 /* Write error processing code here */
328 } /* end if VALID_IDX(idx) */
329
330 /* Put statements here #_TEFB_# */
331 return NCP_cEntryInfo;
332}
333
334/* #[<ENTRY_FUNC>]# eCelltypeInfo_getEntryInfo
335 * name: eCelltypeInfo_getEntryInfo
336 * global_name: nTECSInfo_tCelltypeInfo_eCelltypeInfo_getEntryInfo
337 * oneway: false
338 * #[</ENTRY_FUNC>]# */
339ER
340eCelltypeInfo_getEntryInfo(CELLIDX idx, uint32_t ith, Descriptor( nTECSInfo_sEntryInfo )* desc)
341{
342 CELLCB *p_cellcb;
343 ER ercd = E_OK;
344 if (VALID_IDX(idx)) {
345 p_cellcb = GET_CELLCB(idx);
346 }
347 else {
348 /* Write error processing code here */
349 } /* end if VALID_IDX(idx) */
350
351 /* Put statements here #_TEFB_# */
352 if( 0 <= ith && ith < NCP_cEntryInfo ){
353 if( is_cEntryInfo_joined( ith ) )
354 *desc = cEntryInfo_refer_to_descriptor( ith );
355 else
356 ercd = E_NOEXS;
357 }
358 else
359 ercd = E_ID;
360
361 return ercd;
362}
363
364/* #[<ENTRY_FUNC>]# eCelltypeInfo_isSingleton
365 * name: eCelltypeInfo_isSingleton
366 * global_name: nTECSInfo_tCelltypeInfo_eCelltypeInfo_isSingleton
367 * oneway: false
368 * #[</ENTRY_FUNC>]# */
369bool_t
370eCelltypeInfo_isSingleton(CELLIDX idx)
371{
372 CELLCB *p_cellcb;
373 if (VALID_IDX(idx)) {
374 p_cellcb = GET_CELLCB(idx);
375 }
376 else {
377 /* Write error processing code here */
378 } /* end if VALID_IDX(idx) */
379
380 /* Put statements here #_TEFB_# */
381 return ATTR_b_singleton;
382}
383
384/* #[<ENTRY_FUNC>]# eCelltypeInfo_isIDX_is_ID
385 * name: eCelltypeInfo_isIDX_is_ID
386 * global_name: nTECSInfo_tCelltypeInfo_eCelltypeInfo_isIDX_is_ID
387 * oneway: false
388 * #[</ENTRY_FUNC>]# */
389bool_t
390eCelltypeInfo_isIDX_is_ID(CELLIDX idx)
391{
392 CELLCB *p_cellcb;
393 if (VALID_IDX(idx)) {
394 p_cellcb = GET_CELLCB(idx);
395 }
396 else {
397 /* Write error processing code here */
398 } /* end if VALID_IDX(idx) */
399
400 /* Put statements here #_TEFB_# */
401 return ATTR_b_IDX_is_ID_act;
402}
403
404/* #[<ENTRY_FUNC>]# eCelltypeInfo_sizeOfCB
405 * name: eCelltypeInfo_sizeOfCB
406 * global_name: nTECSInfo_tCelltypeInfo_eCelltypeInfo_sizeOfCB
407 * oneway: false
408 * #[</ENTRY_FUNC>]# */
409uint32_t
410eCelltypeInfo_sizeOfCB(CELLIDX idx)
411{
412 CELLCB *p_cellcb;
413 if (VALID_IDX(idx)) {
414 p_cellcb = GET_CELLCB(idx);
415 }
416 else {
417 /* エラー処理コードをここに記述します */
418 } /* end if VALID_IDX(idx) */
419
420 /* ここに処理本体を記述します #_TEFB_# */
421 return ATTR_sizeOfCB;
422}
423
424/* #[<ENTRY_FUNC>]# eCelltypeInfo_sizeOfINIB
425 * name: eCelltypeInfo_sizeOfINIB
426 * global_name: nTECSInfo_tCelltypeInfo_eCelltypeInfo_sizeOfINIB
427 * oneway: false
428 * #[</ENTRY_FUNC>]# */
429uint32_t
430eCelltypeInfo_sizeOfINIB(CELLIDX idx)
431{
432 CELLCB *p_cellcb;
433 if (VALID_IDX(idx)) {
434 p_cellcb = GET_CELLCB(idx);
435 }
436 else {
437 /* エラー処理コードをここに記述します */
438 } /* end if VALID_IDX(idx) */
439
440 /* ここに処理本体を記述します #_TEFB_# */
441 return ATTR_sizeOfINIB;
442}
443
444/* #[<POSTAMBLE>]#
445 * これより下に非受け口関数を書きます
446 * #[</POSTAMBLE>]#*/
Note: See TracBrowser for help on using the repository browser.