source: asp3_tinet_ecnl_rx/trunk/asp3_dcre/tecsgen/tecs/TECSInfo/tTECSInfoAccessor.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: 46.2 KB
Line 
1/* #[<PREAMBLE>]#
2 * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください
3 * tecsmerge によるマージに使用されます
4 *
5 * 属性アクセスマクロ #_CAAM_#
6 * NAME_LEN int16_t ATTR_NAME_LEN
7 * name char_t* VAR_name
8 * name2 char_t* VAR_name2
9 * selectedCbp int8_t* VAR_selectedCbp
10 * selectedInibp int8_t* VAR_selectedInibp
11 *
12 * 呼び口関数 #_TCPF_#
13 * call port: cTECSInfo signature: nTECSInfo_sTECSInfo context:task
14 * ER cTECSInfo_findNamespace( const char_t* namespace_path, Descriptor( nTECSInfo_sNamespaceInfo )* NSdesc );
15 * ER cTECSInfo_findRegion( const char_t* namespace_path, Descriptor( nTECSInfo_sRegionInfo )* RGNdesc );
16 * ER cTECSInfo_findSignature( const char_t* namespace_path, Descriptor( nTECSInfo_sSignatureInfo )* SIGdesc );
17 * ER cTECSInfo_findCelltype( const char_t* namespace_path, Descriptor( nTECSInfo_sCelltypeInfo )* CTdesc );
18 * ER cTECSInfo_findCell( const char_t* namespace_path, Descriptor( nTECSInfo_sCellInfo )* CELLdesc );
19 * call port: cNSInfo signature: nTECSInfo_sNamespaceInfo context:task optional:true
20 * bool_t is_cNSInfo_joined() check if joined
21 * ER cNSInfo_getName( char_t* name, int_t max_len );
22 * uint16_t cNSInfo_getNameLength( );
23 * uint32_t cNSInfo_getNNamespace( );
24 * ER cNSInfo_getNamespaceInfo( uint32_t ith, Descriptor( nTECSInfo_sNamespaceInfo )* des );
25 * uint32_t cNSInfo_getNSignature( );
26 * ER cNSInfo_getSignatureInfo( uint32_t ith, Descriptor( nTECSInfo_sSignatureInfo )* des );
27 * uint32_t cNSInfo_getNCelltype( );
28 * ER cNSInfo_getCelltypeInfo( uint32_t ith, Descriptor( nTECSInfo_sCelltypeInfo )* des );
29 * [dynamic, optional]
30 * void cNSInfo_set_descriptor( Descriptor( nTECSInfo_sNamespaceInfo ) desc );
31 * void cNSInfo_unjoin( );
32 * call port: cCelltypeInfo signature: nTECSInfo_sCelltypeInfo context:task optional:true
33 * bool_t is_cCelltypeInfo_joined() check if joined
34 * ER cCelltypeInfo_getName( char_t* name, int_t max_len );
35 * uint16_t cCelltypeInfo_getNameLength( );
36 * uint32_t cCelltypeInfo_getNAttr( );
37 * ER cCelltypeInfo_getAttrInfo( uint32_t ith, Descriptor( nTECSInfo_sVarDeclInfo )* desc );
38 * uint32_t cCelltypeInfo_getNVar( );
39 * ER cCelltypeInfo_getVarInfo( uint32_t ith, Descriptor( nTECSInfo_sVarDeclInfo )* desc );
40 * uint32_t cCelltypeInfo_getNCall( );
41 * ER cCelltypeInfo_getCallInfo( uint32_t ith, Descriptor( nTECSInfo_sCallInfo )* desc );
42 * uint32_t cCelltypeInfo_getNEntry( );
43 * ER cCelltypeInfo_getEntryInfo( uint32_t ith, Descriptor( nTECSInfo_sEntryInfo )* desc );
44 * bool_t cCelltypeInfo_isSingleton( );
45 * bool_t cCelltypeInfo_isIDX_is_ID( );
46 * uint32_t cCelltypeInfo_sizeOfCB( );
47 * uint32_t cCelltypeInfo_sizeOfINIB( );
48 * [dynamic, optional]
49 * void cCelltypeInfo_set_descriptor( Descriptor( nTECSInfo_sCelltypeInfo ) desc );
50 * void cCelltypeInfo_unjoin( );
51 * call port: cSignatureInfo signature: nTECSInfo_sSignatureInfo context:task optional:true
52 * bool_t is_cSignatureInfo_joined() check if joined
53 * ER cSignatureInfo_getName( char_t* name, int_t max_len );
54 * uint16_t cSignatureInfo_getNameLength( );
55 * uint32_t cSignatureInfo_getNFunction( );
56 * ER cSignatureInfo_getFunctionInfo( uint32_t ith, Descriptor( nTECSInfo_sFunctionInfo )* desc );
57 * [dynamic, optional]
58 * void cSignatureInfo_set_descriptor( Descriptor( nTECSInfo_sSignatureInfo ) desc );
59 * void cSignatureInfo_unjoin( );
60 * call port: cFunctionInfo signature: nTECSInfo_sFunctionInfo context:task optional:true
61 * bool_t is_cFunctionInfo_joined() check if joined
62 * ER cFunctionInfo_getName( char_t* name, int_t max_len );
63 * uint16_t cFunctionInfo_getNameLength( );
64 * void cFunctionInfo_getReturnTypeInfo( Descriptor( nTECSInfo_sTypeInfo )* desc );
65 * uint32_t cFunctionInfo_getNParam( );
66 * ER cFunctionInfo_getParamInfo( uint32_t ith, Descriptor( nTECSInfo_sParamInfo )* param );
67 * [dynamic, optional]
68 * void cFunctionInfo_set_descriptor( Descriptor( nTECSInfo_sFunctionInfo ) desc );
69 * void cFunctionInfo_unjoin( );
70 * call port: cParamInfo signature: nTECSInfo_sParamInfo context:task optional:true
71 * bool_t is_cParamInfo_joined() check if joined
72 * ER cParamInfo_getName( char_t* name, int_t max_len );
73 * uint16_t cParamInfo_getNameLength( );
74 * ER cParamInfo_getTypeInfo( Descriptor( nTECSInfo_sTypeInfo )* desc );
75 * ER cParamInfo_getDir( int8_t* dir );
76 * [dynamic, optional]
77 * void cParamInfo_set_descriptor( Descriptor( nTECSInfo_sParamInfo ) desc );
78 * void cParamInfo_unjoin( );
79 * call port: cCallInfo signature: nTECSInfo_sCallInfo context:task optional:true
80 * bool_t is_cCallInfo_joined() check if joined
81 * ER cCallInfo_getName( char_t* name, int_t max_len );
82 * uint16_t cCallInfo_getNameLength( );
83 * void cCallInfo_getSignatureInfo( Descriptor( nTECSInfo_sSignatureInfo )* desc );
84 * uint32_t cCallInfo_getArraySize( );
85 * void cCallInfo_getSpecifierInfo( bool_t* b_optional, bool_t* b_dynamic, bool_t* b_ref_desc, bool_t* b_omit );
86 * void cCallInfo_getInternalInfo( bool_t* b_allocator_port, bool_t* b_require_port );
87 * void cCallInfo_getLocationInfo( uint32_t* offset, int8_t* place );
88 * void cCallInfo_getOptimizeInfo( bool_t* b_VMT_useless, bool_t* b_skelton_useless, bool_t* b_cell_unique );
89 * [dynamic, optional]
90 * void cCallInfo_set_descriptor( Descriptor( nTECSInfo_sCallInfo ) desc );
91 * void cCallInfo_unjoin( );
92 * call port: cEntryInfo signature: nTECSInfo_sEntryInfo context:task optional:true
93 * bool_t is_cEntryInfo_joined() check if joined
94 * ER cEntryInfo_getName( char_t* name, int_t max_len );
95 * uint16_t cEntryInfo_getNameLength( );
96 * void cEntryInfo_getSignatureInfo( Descriptor( nTECSInfo_sSignatureInfo )* desc );
97 * uint32_t cEntryInfo_getArraySize( );
98 * bool_t cEntryInfo_isInline( );
99 * [dynamic, optional]
100 * void cEntryInfo_set_descriptor( Descriptor( nTECSInfo_sEntryInfo ) desc );
101 * void cEntryInfo_unjoin( );
102 * call port: cAttrInfo signature: nTECSInfo_sVarDeclInfo context:task optional:true
103 * bool_t is_cAttrInfo_joined() check if joined
104 * ER cAttrInfo_getName( char_t* name, int_t max_len );
105 * uint16_t cAttrInfo_getNameLength( );
106 * void cAttrInfo_getLocationInfo( uint32_t* offset, int8_t* place );
107 * void cAttrInfo_getTypeInfo( Descriptor( nTECSInfo_sTypeInfo )* desc );
108 * void cAttrInfo_getSizeIsExpr( char_t* expr_str, int32_t max_len );
109 * ER cAttrInfo_getSizeIs( uint32_t* size, const void* p_cb );
110 * [dynamic, optional]
111 * void cAttrInfo_set_descriptor( Descriptor( nTECSInfo_sVarDeclInfo ) desc );
112 * void cAttrInfo_unjoin( );
113 * call port: cVarInfo signature: nTECSInfo_sVarDeclInfo context:task optional:true
114 * bool_t is_cVarInfo_joined() check if joined
115 * ER cVarInfo_getName( char_t* name, int_t max_len );
116 * uint16_t cVarInfo_getNameLength( );
117 * void cVarInfo_getLocationInfo( uint32_t* offset, int8_t* place );
118 * void cVarInfo_getTypeInfo( Descriptor( nTECSInfo_sTypeInfo )* desc );
119 * void cVarInfo_getSizeIsExpr( char_t* expr_str, int32_t max_len );
120 * ER cVarInfo_getSizeIs( uint32_t* size, const void* p_cb );
121 * [dynamic, optional]
122 * void cVarInfo_set_descriptor( Descriptor( nTECSInfo_sVarDeclInfo ) desc );
123 * void cVarInfo_unjoin( );
124 * call port: cTypeInfo signature: nTECSInfo_sTypeInfo context:task optional:true
125 * bool_t is_cTypeInfo_joined() check if joined
126 * ER cTypeInfo_getName( char_t* name, int_t max_len );
127 * uint16_t cTypeInfo_getNameLength( );
128 * uint32_t cTypeInfo_getSize( );
129 * int8_t cTypeInfo_getKind( );
130 * uint32_t cTypeInfo_getNType( );
131 * ER cTypeInfo_getTypeInfo( Descriptor( nTECSInfo_sTypeInfo )* desc );
132 * uint32_t cTypeInfo_getNMember( );
133 * ER cTypeInfo_getMemberInfo( uint32_t ith, Descriptor( nTECSInfo_sVarDeclInfo )* desc );
134 * [dynamic, optional]
135 * void cTypeInfo_set_descriptor( Descriptor( nTECSInfo_sTypeInfo ) desc );
136 * void cTypeInfo_unjoin( );
137 * call port: cRegionInfo signature: nTECSInfo_sRegionInfo context:task optional:true
138 * bool_t is_cRegionInfo_joined() check if joined
139 * ER cRegionInfo_getName( char_t* name, int_t max_len );
140 * uint16_t cRegionInfo_getNameLength( );
141 * uint32_t cRegionInfo_getNCell( );
142 * ER cRegionInfo_getCellInfo( uint32_t ith, Descriptor( nTECSInfo_sCellInfo )* des );
143 * uint32_t cRegionInfo_getNRegion( );
144 * ER cRegionInfo_getRegionInfo( uint32_t ith, Descriptor( nTECSInfo_sRegionInfo )* des );
145 * [dynamic, optional]
146 * void cRegionInfo_set_descriptor( Descriptor( nTECSInfo_sRegionInfo ) desc );
147 * void cRegionInfo_unjoin( );
148 * call port: cCellInfo signature: nTECSInfo_sCellInfo context:task optional:true
149 * bool_t is_cCellInfo_joined() check if joined
150 * ER cCellInfo_getName( char_t* name, int_t max_len );
151 * uint16_t cCellInfo_getNameLength( );
152 * void cCellInfo_getCelltypeInfo( Descriptor( nTECSInfo_sCelltypeInfo )* desc );
153 * void cCellInfo_getCBP( void** cbp );
154 * void cCellInfo_getINIBP( void** inibp );
155 * [dynamic, optional]
156 * void cCellInfo_set_descriptor( Descriptor( nTECSInfo_sCellInfo ) desc );
157 * void cCellInfo_unjoin( );
158 *
159 * #[</PREAMBLE>]# */
160
161/* プロトタイプ宣言や変数の定義をここに書きます #_PAC_# */
162#include "tTECSInfoAccessor_tecsgen.h"
163
164#ifndef E_OK
165#define E_OK 0 /* success */
166#define E_ID (-18) /* illegal ID */
167#endif
168
169static void
170getSelectedTypeValue( CELLCB *p_cellcb, void *ptr, char_t *buf, int_t max_len );
171
172/* 受け口関数 #_TEPF_# */
173/* #[<ENTRY_PORT>]# eSelector
174 * entry port: eSelector
175 * signature: sAccessor
176 * context: task
177 * #[</ENTRY_PORT>]# */
178
179/* #[<ENTRY_FUNC>]# eSelector_selectNamespaceInfoByName
180 * name: eSelector_selectNamespaceInfoByName
181 * global_name: tTECSInfoAccessor_eSelector_selectNamespaceInfoByName
182 * oneway: false
183 * #[</ENTRY_FUNC>]# */
184ER
185eSelector_selectNamespaceInfoByName(CELLIDX idx, const char_t* namespacePath)
186{
187 ER ercd = E_OK;
188 CELLCB *p_cellcb;
189 Descriptor( nTECSInfo_sNamespaceInfo ) NSdesc;
190 if (VALID_IDX(idx)) {
191 p_cellcb = GET_CELLCB(idx);
192 }
193 else {
194 return(E_ID);
195 } /* end if VALID_IDX(idx) */
196
197 /* ここに処理本体を記述します #_TEFB_# */
198 ercd = cTECSInfo_findNamespace( namespacePath, &NSdesc );
199 if( ercd == E_OK ){
200 cNSInfo_set_descriptor( NSdesc );
201 }
202 else {
203 cNSInfo_unjoin( );
204 }
205
206 return(ercd);
207}
208
209/* #[<ENTRY_FUNC>]# eSelector_selectCelltypeInfoByName
210 * name: eSelector_selectCelltypeInfoByName
211 * global_name: tTECSInfoAccessor_eSelector_selectCelltypeInfoByName
212 * oneway: false
213 * #[</ENTRY_FUNC>]# */
214ER
215eSelector_selectCelltypeInfoByName(CELLIDX idx, const char_t* namespacePath)
216{
217 ER ercd = E_OK;
218 CELLCB *p_cellcb;
219 Descriptor( nTECSInfo_sCelltypeInfo ) CTdesc;
220 if (VALID_IDX(idx)) {
221 p_cellcb = GET_CELLCB(idx);
222 }
223 else {
224 return(E_ID);
225 } /* end if VALID_IDX(idx) */
226
227 /* ここに処理本体を記述します #_TEFB_# */
228 ercd = cTECSInfo_findCelltype( namespacePath, &CTdesc );
229 if( ercd == E_OK ){
230 cCelltypeInfo_set_descriptor( CTdesc );
231 }
232 else {
233 cCelltypeInfo_unjoin( );
234 }
235
236 return(ercd);
237}
238
239/* #[<ENTRY_FUNC>]# eSelector_selectSignatureInfoByName
240 * name: eSelector_selectSignatureInfoByName
241 * global_name: tTECSInfoAccessor_eSelector_selectSignatureInfoByName
242 * oneway: false
243 * #[</ENTRY_FUNC>]# */
244ER
245eSelector_selectSignatureInfoByName(CELLIDX idx, const char_t* namespacePath)
246{
247 ER ercd = E_OK;
248 CELLCB *p_cellcb;
249 Descriptor( nTECSInfo_sSignatureInfo ) SIGdesc;
250 if (VALID_IDX(idx)) {
251 p_cellcb = GET_CELLCB(idx);
252 }
253 else {
254 return(E_ID);
255 } /* end if VALID_IDX(idx) */
256
257 /* ここに処理本体を記述します #_TEFB_# */
258 ercd = cTECSInfo_findSignature( namespacePath, &SIGdesc );
259 if( ercd == E_OK ){
260 cSignatureInfo_set_descriptor( SIGdesc );
261 }
262 else {
263 cSignatureInfo_unjoin( );
264 }
265 return(ercd);
266}
267
268/* #[<ENTRY_FUNC>]# eSelector_selectRegionInfoByName
269 * name: eSelector_selectRegionInfoByName
270 * global_name: tTECSInfoAccessor_eSelector_selectRegionInfoByName
271 * oneway: false
272 * #[</ENTRY_FUNC>]# */
273ER
274eSelector_selectRegionInfoByName(CELLIDX idx, const char_t* regionPath)
275{
276 ER ercd = E_OK;
277 CELLCB *p_cellcb;
278 Descriptor( nTECSInfo_sRegionInfo ) RGNdesc;
279 if (VALID_IDX(idx)) {
280 p_cellcb = GET_CELLCB(idx);
281 }
282 else {
283 return(E_ID);
284 } /* end if VALID_IDX(idx) */
285
286 /* ここに処理本体を記述します #_TEFB_# */
287 ercd = cTECSInfo_findRegion( regionPath, &RGNdesc );
288 if( ercd == E_OK ){
289 cRegionInfo_set_descriptor( RGNdesc );
290 }
291 else {
292 cRegionInfo_unjoin( );
293 }
294 return(ercd);
295}
296
297/* #[<ENTRY_FUNC>]# eSelector_selectCellInfoByName
298 * name: eSelector_selectCellInfoByName
299 * global_name: tTECSInfoAccessor_eSelector_selectCellInfoByName
300 * oneway: false
301 * #[</ENTRY_FUNC>]# */
302ER
303eSelector_selectCellInfoByName(CELLIDX idx, const char_t* cellPath)
304{
305 ER ercd = E_OK;
306 CELLCB *p_cellcb;
307 Descriptor( nTECSInfo_sCellInfo ) desc;
308 if (VALID_IDX(idx)) {
309 p_cellcb = GET_CELLCB(idx);
310 }
311 else {
312 return(E_ID);
313 } /* end if VALID_IDX(idx) */
314
315 /* ここに処理本体を記述します #_TEFB_# */
316 ercd = cTECSInfo_findCell( cellPath, &desc );
317 if( ercd == E_OK ){
318 cCellInfo_set_descriptor( desc );
319 }
320 else {
321 cCellInfo_unjoin( );
322 }
323
324 return(ercd);
325}
326
327/* #[<ENTRY_FUNC>]# eSelector_getSelectedNamespaceInfo
328 * name: eSelector_getSelectedNamespaceInfo
329 * global_name: tTECSInfoAccessor_eSelector_getSelectedNamespaceInfo
330 * oneway: false
331 * #[</ENTRY_FUNC>]# */
332ER
333eSelector_getSelectedNamespaceInfo(CELLIDX idx, char_t* name, int_t max_len, int_t* num_namespace, int_t* num_celltype, int_t* num_signature)
334{
335 ER ercd = E_OK;
336 CELLCB *p_cellcb;
337 if (VALID_IDX(idx)) {
338 p_cellcb = GET_CELLCB(idx);
339 }
340 else {
341 return(E_ID);
342 } /* end if VALID_IDX(idx) */
343
344 /* ここに処理本体を記述します #_TEFB_# */
345 if( is_cNSInfo_joined() ){
346 cNSInfo_getName( name, max_len );
347 *num_namespace = cNSInfo_getNNamespace( );
348 *num_signature = cNSInfo_getNSignature( );
349 *num_celltype = cNSInfo_getNCelltype( );
350 }
351 else {
352 ercd = E_OBJ; // cNSInfo not joined
353 }
354
355 return(ercd);
356}
357
358/* #[<ENTRY_FUNC>]# eSelector_selectCelltypeInfo
359 * name: eSelector_selectCelltypeInfo
360 * global_name: tTECSInfoAccessor_eSelector_selectCelltypeInfo
361 * oneway: false
362 * #[</ENTRY_FUNC>]# */
363ER
364eSelector_selectCelltypeInfo(CELLIDX idx, int_t ith)
365{
366 ER ercd = E_OK;
367 CELLCB *p_cellcb;
368 Descriptor( nTECSInfo_sCelltypeInfo ) desc;
369 if (VALID_IDX(idx)) {
370 p_cellcb = GET_CELLCB(idx);
371 }
372 else {
373 return(E_ID);
374 } /* end if VALID_IDX(idx) */
375
376 /* ここに処理本体を記述します #_TEFB_# */
377 cCelltypeInfo_unjoin( );
378 if( is_cNSInfo_joined() ){
379 if( 0 <= ith && ith < cNSInfo_getNCelltype() ){
380 cNSInfo_getCelltypeInfo( ith, &desc );
381 cCelltypeInfo_set_descriptor( desc );
382 }
383 else{
384 ercd = E_PAR; // index out of range
385 }
386 }
387 else{
388 ercd = E_OBJ; // cNSInfo not joined
389 }
390
391
392 return(ercd);
393}
394
395/* #[<ENTRY_FUNC>]# eSelector_selectSignatureInfo
396 * name: eSelector_selectSignatureInfo
397 * global_name: tTECSInfoAccessor_eSelector_selectSignatureInfo
398 * oneway: false
399 * #[</ENTRY_FUNC>]# */
400ER
401eSelector_selectSignatureInfo(CELLIDX idx, int_t ith)
402{
403 ER ercd = E_OK;
404 CELLCB *p_cellcb;
405 Descriptor( nTECSInfo_sSignatureInfo ) desc;
406 if (VALID_IDX(idx)) {
407 p_cellcb = GET_CELLCB(idx);
408 }
409 else {
410 return(E_ID);
411 } /* end if VALID_IDX(idx) */
412
413 /* ここに処理本体を記述します #_TEFB_# */
414 cSignatureInfo_unjoin( );
415 if( is_cNSInfo_joined() ){
416 if( 0 <= ith && ith < cNSInfo_getNSignature( ) ){
417 cNSInfo_getSignatureInfo( ith, &desc );
418 cSignatureInfo_set_descriptor( desc );
419 }
420 else{
421 ercd = E_PAR; // index out of range
422 }
423 }
424 else{
425 ercd = E_OBJ; // cNSInfo not joined
426 }
427
428 return(ercd);
429}
430
431/* #[<ENTRY_FUNC>]# eSelector_getSelectedCelltypeInfo
432 * name: eSelector_getSelectedCelltypeInfo
433 * global_name: tTECSInfoAccessor_eSelector_getSelectedCelltypeInfo
434 * oneway: false
435 * #[</ENTRY_FUNC>]# */
436ER
437eSelector_getSelectedCelltypeInfo(CELLIDX idx, char_t* name, int_t max_len, int_t* num_attr, int_t* num_var, int_t* num_call, int_t* num_entry)
438{
439 ER ercd = E_OK;
440 CELLCB *p_cellcb;
441 if (VALID_IDX(idx)) {
442 p_cellcb = GET_CELLCB(idx);
443 }
444 else {
445 return(E_ID);
446 } /* end if VALID_IDX(idx) */
447
448 /* ここに処理本体を記述します #_TEFB_# */
449 if( is_cCelltypeInfo_joined() ){
450 cCelltypeInfo_getName( name, max_len );
451 *num_attr = cCelltypeInfo_getNAttr( );
452 *num_var = cCelltypeInfo_getNVar( );
453 *num_call = cCelltypeInfo_getNCall( );
454 *num_entry = cCelltypeInfo_getNEntry( );
455 }
456 else {
457 ercd = E_OBJ; // cCelltypeInfo not joined
458 }
459
460 return(ercd);
461}
462
463/* #[<ENTRY_FUNC>]# eSelector_selectCallInfo
464 * name: eSelector_selectCallInfo
465 * global_name: tTECSInfoAccessor_eSelector_selectCallInfo
466 * oneway: false
467 * #[</ENTRY_FUNC>]# */
468ER
469eSelector_selectCallInfo(CELLIDX idx, int_t ith)
470{
471 ER ercd = E_OK;
472 CELLCB *p_cellcb;
473 Descriptor( nTECSInfo_sCallInfo ) desc;
474 if (VALID_IDX(idx)) {
475 p_cellcb = GET_CELLCB(idx);
476 }
477 else {
478 return(E_ID);
479 } /* end if VALID_IDX(idx) */
480
481 /* ここに処理本体を記述します #_TEFB_# */
482 cCallInfo_unjoin( );
483 if( is_cCelltypeInfo_joined() ){
484 if( 0 <= ith && ith < cCelltypeInfo_getNCall( ) ){
485 cCelltypeInfo_getCallInfo( ith, &desc );
486 cCallInfo_set_descriptor( desc );
487 }
488 else{
489 ercd = E_PAR; // index out of range
490 }
491 }
492 else{
493 ercd = E_OBJ; // cCelltypeInfo not joined
494 }
495
496 return(ercd);
497}
498
499/* #[<ENTRY_FUNC>]# eSelector_selectEntryInfo
500 * name: eSelector_selectEntryInfo
501 * global_name: tTECSInfoAccessor_eSelector_selectEntryInfo
502 * oneway: false
503 * #[</ENTRY_FUNC>]# */
504ER
505eSelector_selectEntryInfo(CELLIDX idx, int_t ith)
506{
507 ER ercd = E_OK;
508 CELLCB *p_cellcb;
509 Descriptor( nTECSInfo_sEntryInfo ) desc;
510 if (VALID_IDX(idx)) {
511 p_cellcb = GET_CELLCB(idx);
512 }
513 else {
514 return(E_ID);
515 } /* end if VALID_IDX(idx) */
516
517 /* ここに処理本体を記述します #_TEFB_# */
518 cEntryInfo_unjoin( );
519 if( is_cCelltypeInfo_joined() ){
520 if( 0 <= ith && ith < cCelltypeInfo_getNEntry( ) ){
521 cCelltypeInfo_getEntryInfo( ith, &desc );
522 cEntryInfo_set_descriptor( desc );
523 }
524 else{
525 ercd = E_PAR; // index out of range
526 }
527 }
528 else{
529 ercd = E_OBJ; // cCelltypeInfo not joined
530 }
531
532 return(ercd);
533}
534
535/* #[<ENTRY_FUNC>]# eSelector_selectAttrInfo
536 * name: eSelector_selectAttrInfo
537 * global_name: tTECSInfoAccessor_eSelector_selectAttrInfo
538 * oneway: false
539 * #[</ENTRY_FUNC>]# */
540ER
541eSelector_selectAttrInfo(CELLIDX idx, int_t ith)
542{
543 ER ercd = E_OK;
544 CELLCB *p_cellcb;
545 Descriptor( nTECSInfo_sVarDeclInfo ) desc;
546 if (VALID_IDX(idx)) {
547 p_cellcb = GET_CELLCB(idx);
548 }
549 else {
550 return(E_ID);
551 } /* end if VALID_IDX(idx) */
552
553 /* ここに処理本体を記述します #_TEFB_# */
554 cAttrInfo_unjoin( );
555 if( is_cCelltypeInfo_joined() ){
556 if( 0 <= ith && ith < cCelltypeInfo_getNAttr( ) ){
557 cCelltypeInfo_getAttrInfo( ith, &desc );
558 cAttrInfo_set_descriptor( desc );
559 }
560 else{
561 ercd = E_PAR; // index out of range
562 }
563 }
564 else{
565 ercd = E_OBJ; // cCelltypeInfo not joined
566 }
567
568 return(ercd);
569}
570
571/* #[<ENTRY_FUNC>]# eSelector_selectVarInfo
572 * name: eSelector_selectVarInfo
573 * global_name: tTECSInfoAccessor_eSelector_selectVarInfo
574 * oneway: false
575 * #[</ENTRY_FUNC>]# */
576ER
577eSelector_selectVarInfo(CELLIDX idx, int_t ith)
578{
579 ER ercd = E_OK;
580 CELLCB *p_cellcb;
581 Descriptor( nTECSInfo_sVarDeclInfo ) desc;
582 if (VALID_IDX(idx)) {
583 p_cellcb = GET_CELLCB(idx);
584 }
585 else {
586 return(E_ID);
587 } /* end if VALID_IDX(idx) */
588
589 /* ここに処理本体を記述します #_TEFB_# */
590 cVarInfo_unjoin( );
591 if( is_cCelltypeInfo_joined() ){
592 if( 0 <= ith && ith < cCelltypeInfo_getNVar( ) ){
593 cCelltypeInfo_getVarInfo( ith, &desc );
594 cVarInfo_set_descriptor( desc );
595 }
596 else{
597 ercd = E_PAR; // index out of range
598 }
599 }
600 else{
601 ercd = E_OBJ; // cCelltypeInfo not joined
602 }
603
604 return(ercd);
605}
606
607/* #[<ENTRY_FUNC>]# eSelector_getSelectedAttrInfo
608 * name: eSelector_getSelectedAttrInfo
609 * global_name: tTECSInfoAccessor_eSelector_getSelectedAttrInfo
610 * oneway: false
611 * #[</ENTRY_FUNC>]# */
612ER
613eSelector_getSelectedAttrInfo(CELLIDX idx, char_t* name, int_t max_len)
614{
615 ER ercd = E_OK;
616 CELLCB *p_cellcb;
617 if (VALID_IDX(idx)) {
618 p_cellcb = GET_CELLCB(idx);
619 }
620 else {
621 return(E_ID);
622 } /* end if VALID_IDX(idx) */
623
624 /* ここに処理本体を記述します #_TEFB_# */
625 if( is_cAttrInfo_joined() ){
626 cAttrInfo_getName( name, max_len );
627 }
628 else{
629 ercd = E_OBJ; // cAttrInfo not joined
630 }
631 return(ercd);
632}
633
634/* #[<ENTRY_FUNC>]# eSelector_getSizeIsExprOfAttr
635 * name: eSelector_getSizeIsExprOfAttr
636 * global_name: tTECSInfoAccessor_eSelector_getSizeIsExprOfAttr
637 * oneway: false
638 * #[</ENTRY_FUNC>]# */
639ER
640eSelector_getSizeIsExprOfAttr(CELLIDX idx, char_t* expr_str, int32_t max_len)
641{
642 CELLCB *p_cellcb;
643 ER ercd = E_OK;
644 if (VALID_IDX(idx)) {
645 p_cellcb = GET_CELLCB(idx);
646 }
647 else {
648 /* エラー処理コードをここに記述します */
649 } /* end if VALID_IDX(idx) */
650
651 /* ここに処理本体を記述します #_TEFB_# */
652 if( is_cAttrInfo_joined() ){
653 cAttrInfo_getSizeIsExpr( expr_str, max_len );
654 }
655 else{
656 ercd = E_OBJ; // cAttrInfo not joined
657 }
658 return ercd;
659}
660
661/* #[<ENTRY_FUNC>]# eSelector_selectTypeInfoOfAttr
662 * name: eSelector_selectTypeInfoOfAttr
663 * global_name: tTECSInfoAccessor_eSelector_selectTypeInfoOfAttr
664 * oneway: false
665 * #[</ENTRY_FUNC>]# */
666ER
667eSelector_selectTypeInfoOfAttr(CELLIDX idx)
668{
669 ER ercd = E_OK;
670 CELLCB *p_cellcb;
671 Descriptor( nTECSInfo_sTypeInfo ) desc;
672 if (VALID_IDX(idx)) {
673 p_cellcb = GET_CELLCB(idx);
674 }
675 else {
676 return(E_ID);
677 } /* end if VALID_IDX(idx) */
678
679 /* ここに処理本体を記述します #_TEFB_# */
680 if( is_cAttrInfo_joined() ){
681 cAttrInfo_getTypeInfo( &desc );
682 cTypeInfo_set_descriptor( desc );
683 }
684 else{
685 ercd = E_OBJ; // cAttrInfo not joined
686 }
687
688 return(ercd);
689}
690
691/* #[<ENTRY_FUNC>]# eSelector_getSelectedVarInfo
692 * name: eSelector_getSelectedVarInfo
693 * global_name: tTECSInfoAccessor_eSelector_getSelectedVarInfo
694 * oneway: false
695 * #[</ENTRY_FUNC>]# */
696ER
697eSelector_getSelectedVarInfo(CELLIDX idx, char_t* name, int_t max_len)
698{
699 ER ercd = E_OK;
700 CELLCB *p_cellcb;
701 if (VALID_IDX(idx)) {
702 p_cellcb = GET_CELLCB(idx);
703 }
704 else {
705 return(E_ID);
706 } /* end if VALID_IDX(idx) */
707
708 /* ここに処理本体を記述します #_TEFB_# */
709 if( is_cVarInfo_joined() ){
710 cVarInfo_getName( name, max_len );
711 }
712 else{
713 ercd = E_OBJ; // cVarInfo not joined
714 }
715
716 return(ercd);
717}
718
719/* #[<ENTRY_FUNC>]# eSelector_getSizeIsExprOfVar
720 * name: eSelector_getSizeIsExprOfVar
721 * global_name: tTECSInfoAccessor_eSelector_getSizeIsExprOfVar
722 * oneway: false
723 * #[</ENTRY_FUNC>]# */
724ER
725eSelector_getSizeIsExprOfVar(CELLIDX idx, char_t* expr_str, int32_t max_len)
726{
727 CELLCB *p_cellcb;
728 ER ercd = E_OK;
729 if (VALID_IDX(idx)) {
730 p_cellcb = GET_CELLCB(idx);
731 }
732 else {
733 /* エラー処理コードをここに記述します */
734 } /* end if VALID_IDX(idx) */
735
736 /* ここに処理本体を記述します #_TEFB_# */
737 printf( "eSelector_getSizeIsExprOfVar not supported\n" );
738
739 return ercd;
740}
741
742/* #[<ENTRY_FUNC>]# eSelector_selectTypeInfoOfVar
743 * name: eSelector_selectTypeInfoOfVar
744 * global_name: tTECSInfoAccessor_eSelector_selectTypeInfoOfVar
745 * oneway: false
746 * #[</ENTRY_FUNC>]# */
747ER
748eSelector_selectTypeInfoOfVar(CELLIDX idx)
749{
750 ER ercd = E_OK;
751 CELLCB *p_cellcb;
752 Descriptor( nTECSInfo_sTypeInfo ) desc;
753 if (VALID_IDX(idx)) {
754 p_cellcb = GET_CELLCB(idx);
755 }
756 else {
757 return(E_ID);
758 } /* end if VALID_IDX(idx) */
759
760 /* ここに処理本体を記述します #_TEFB_# */
761 if( is_cVarInfo_joined() ){
762 cVarInfo_getTypeInfo( &desc );
763 cTypeInfo_set_descriptor( desc );
764 }
765 else{
766 ercd = E_OBJ; // cVarInfo not joined
767 }
768
769 return(ercd);
770}
771
772/* #[<ENTRY_FUNC>]# eSelector_getSelectedCallInfo
773 * name: eSelector_getSelectedCallInfo
774 * global_name: tTECSInfoAccessor_eSelector_getSelectedCallInfo
775 * oneway: false
776 * #[</ENTRY_FUNC>]# */
777ER
778eSelector_getSelectedCallInfo(CELLIDX idx, char_t* name, int_t max_len, int_t* array_size)
779{
780 ER ercd = E_OK;
781 CELLCB *p_cellcb;
782 if (VALID_IDX(idx)) {
783 p_cellcb = GET_CELLCB(idx);
784 }
785 else {
786 return(E_ID);
787 } /* end if VALID_IDX(idx) */
788
789 /* ここに処理本体を記述します #_TEFB_# */
790 if( is_cCallInfo_joined() ){
791 cCallInfo_getName( name, max_len );
792 *array_size = cCallInfo_getArraySize();
793 }
794 else{
795 ercd = E_OBJ; // cCallInfo not joined
796 }
797 return(ercd);
798}
799
800/* #[<ENTRY_FUNC>]# eSelector_selectSignatureOfCall
801 * name: eSelector_selectSignatureOfCall
802 * global_name: tTECSInfoAccessor_eSelector_selectSignatureOfCall
803 * oneway: false
804 * #[</ENTRY_FUNC>]# */
805ER
806eSelector_selectSignatureOfCall(CELLIDX idx)
807{
808 ER ercd = E_OK;
809 CELLCB *p_cellcb;
810 Descriptor( nTECSInfo_sSignatureInfo ) desc;
811 if (VALID_IDX(idx)) {
812 p_cellcb = GET_CELLCB(idx);
813 }
814 else {
815 return(E_ID);
816 } /* end if VALID_IDX(idx) */
817
818 /* ここに処理本体を記述します #_TEFB_# */
819 if( is_cCallInfo_joined() ){
820 cCallInfo_getSignatureInfo( &desc );
821 cSignatureInfo_set_descriptor( desc );
822 }
823 else {
824 ercd = E_OBJ; // cCallInfo not joined
825 }
826
827 return(ercd);
828}
829
830/* #[<ENTRY_FUNC>]# eSelector_getSelectedCallSpecifierInfo
831 * name: eSelector_getSelectedCallSpecifierInfo
832 * global_name: tTECSInfoAccessor_eSelector_getSelectedCallSpecifierInfo
833 * oneway: false
834 * #[</ENTRY_FUNC>]# */
835ER
836eSelector_getSelectedCallSpecifierInfo(CELLIDX idx, bool_t* b_optional, bool_t* b_dynamic, bool_t* b_ref_desc, bool_t* b_omit)
837{
838 ER ercd = E_OK;
839 CELLCB *p_cellcb;
840 if (VALID_IDX(idx)) {
841 p_cellcb = GET_CELLCB(idx);
842 }
843 else {
844 return(E_ID);
845 } /* end if VALID_IDX(idx) */
846
847 /* ここに処理本体を記述します #_TEFB_# */
848 if( is_cCallInfo_joined() ){
849 cCallInfo_getSpecifierInfo( b_optional, b_dynamic, b_ref_desc, b_omit );
850 }
851 else {
852 ercd = E_OBJ; // cCallInfo not joined
853 }
854 return(ercd);
855}
856
857/* #[<ENTRY_FUNC>]# eSelector_getSelectedCallInternalInfo
858 * name: eSelector_getSelectedCallInternalInfo
859 * global_name: tTECSInfoAccessor_eSelector_getSelectedCallInternalInfo
860 * oneway: false
861 * #[</ENTRY_FUNC>]# */
862ER
863eSelector_getSelectedCallInternalInfo(CELLIDX idx, bool_t* b_allocator_port, bool_t* b_require_port)
864{
865 ER ercd = E_OK;
866 CELLCB *p_cellcb;
867 if (VALID_IDX(idx)) {
868 p_cellcb = GET_CELLCB(idx);
869 }
870 else {
871 return(E_ID);
872 } /* end if VALID_IDX(idx) */
873
874 /* ここに処理本体を記述します #_TEFB_# */
875 if( is_cCallInfo_joined() ){
876 cCallInfo_getInternalInfo( b_allocator_port, b_require_port );
877 }
878 else {
879 ercd = E_OBJ; // cCallInfo not joined
880 }
881 return(ercd);
882}
883
884/* #[<ENTRY_FUNC>]# eSelector_getSelectedCallLocationInfo
885 * name: eSelector_getSelectedCallLocationInfo
886 * global_name: tTECSInfoAccessor_eSelector_getSelectedCallLocationInfo
887 * oneway: false
888 * #[</ENTRY_FUNC>]# */
889ER
890eSelector_getSelectedCallLocationInfo(CELLIDX idx, uint32_t* offset, int8_t* place)
891{
892 ER ercd = E_OK;
893 CELLCB *p_cellcb;
894 if (VALID_IDX(idx)) {
895 p_cellcb = GET_CELLCB(idx);
896 }
897 else {
898 return(E_ID);
899 } /* end if VALID_IDX(idx) */
900
901 /* ここに処理本体を記述します #_TEFB_# */
902 if( is_cCallInfo_joined() ){
903 cCallInfo_getLocationInfo( offset, place );
904 }
905 else {
906 ercd = E_OBJ; // cCallInfo not joined
907 }
908 return(ercd);
909}
910
911/* #[<ENTRY_FUNC>]# eSelector_getSelectedCallOptimizeInfo
912 * name: eSelector_getSelectedCallOptimizeInfo
913 * global_name: tTECSInfoAccessor_eSelector_getSelectedCallOptimizeInfo
914 * oneway: false
915 * #[</ENTRY_FUNC>]# */
916ER
917eSelector_getSelectedCallOptimizeInfo(CELLIDX idx, bool_t* b_VMT_useless, bool_t* b_skelton_useless, bool_t* b_cell_unique)
918{
919 ER ercd = E_OK;
920 CELLCB *p_cellcb;
921 if (VALID_IDX(idx)) {
922 p_cellcb = GET_CELLCB(idx);
923 }
924 else {
925 return(E_ID);
926 } /* end if VALID_IDX(idx) */
927
928 /* ここに処理本体を記述します #_TEFB_# */
929 if( is_cCallInfo_joined() ){
930 cCallInfo_getOptimizeInfo( b_VMT_useless, b_skelton_useless, b_cell_unique );
931 }
932 else {
933 ercd = E_OBJ; // cCallInfo not joined
934 }
935 return(ercd);
936}
937
938/* #[<ENTRY_FUNC>]# eSelector_getSelectedEntryInfo
939 * name: eSelector_getSelectedEntryInfo
940 * global_name: tTECSInfoAccessor_eSelector_getSelectedEntryInfo
941 * oneway: false
942 * #[</ENTRY_FUNC>]# */
943ER
944eSelector_getSelectedEntryInfo(CELLIDX idx, char_t* name, int_t max_len, int_t* array_size)
945{
946 ER ercd = E_OK;
947 CELLCB *p_cellcb;
948 if (VALID_IDX(idx)) {
949 p_cellcb = GET_CELLCB(idx);
950 }
951 else {
952 return(E_ID);
953 } /* end if VALID_IDX(idx) */
954
955 /* ここに処理本体を記述します #_TEFB_# */
956 if( is_cEntryInfo_joined() ){
957 cEntryInfo_getName( name, max_len );
958 *array_size = cEntryInfo_getArraySize();
959 }
960 else{
961 ercd = E_OBJ; // cEntryInfo not joined
962 }
963
964 return(ercd);
965}
966
967/* #[<ENTRY_FUNC>]# eSelector_selectSignatureOfEntry
968 * name: eSelector_selectSignatureOfEntry
969 * global_name: tTECSInfoAccessor_eSelector_selectSignatureOfEntry
970 * oneway: false
971 * #[</ENTRY_FUNC>]# */
972ER
973eSelector_selectSignatureOfEntry(CELLIDX idx)
974{
975 ER ercd = E_OK;
976 CELLCB *p_cellcb;
977 Descriptor( nTECSInfo_sSignatureInfo ) desc;
978 if (VALID_IDX(idx)) {
979 p_cellcb = GET_CELLCB(idx);
980 }
981 else {
982 return(E_ID);
983 } /* end if VALID_IDX(idx) */
984
985 /* ここに処理本体を記述します #_TEFB_# */
986 if( is_cEntryInfo_joined() ){
987 cEntryInfo_getSignatureInfo( &desc );
988 cSignatureInfo_set_descriptor( desc );
989 }
990 else {
991 ercd = E_OBJ; // cEntryInfo not joined
992 }
993
994 return(ercd);
995}
996
997/* #[<ENTRY_FUNC>]# eSelector_getSelectedEntryInlineInfo
998 * name: eSelector_getSelectedEntryInlineInfo
999 * global_name: tTECSInfoAccessor_eSelector_getSelectedEntryInlineInfo
1000 * oneway: false
1001 * #[</ENTRY_FUNC>]# */
1002ER
1003eSelector_getSelectedEntryInlineInfo(CELLIDX idx, bool_t* b_inline)
1004{
1005 ER ercd = E_OK;
1006 CELLCB *p_cellcb;
1007 if (VALID_IDX(idx)) {
1008 p_cellcb = GET_CELLCB(idx);
1009 }
1010 else {
1011 return(E_ID);
1012 } /* end if VALID_IDX(idx) */
1013
1014 /* ここに処理本体を記述します #_TEFB_# */
1015 if( is_cEntryInfo_joined() ){
1016 *b_inline = cEntryInfo_isInline( );
1017 }
1018 else {
1019 ercd = E_OBJ; // cEntryInfo not joined
1020 }
1021
1022 return(ercd);
1023}
1024
1025/* #[<ENTRY_FUNC>]# eSelector_getSelectedSignatureInfo
1026 * name: eSelector_getSelectedSignatureInfo
1027 * global_name: tTECSInfoAccessor_eSelector_getSelectedSignatureInfo
1028 * oneway: false
1029 * #[</ENTRY_FUNC>]# */
1030ER
1031eSelector_getSelectedSignatureInfo(CELLIDX idx, char_t* name, int_t max_len, int_t* num_function)
1032{
1033 ER ercd = E_OK;
1034 CELLCB *p_cellcb;
1035 if (VALID_IDX(idx)) {
1036 p_cellcb = GET_CELLCB(idx);
1037 }
1038 else {
1039 return(E_ID);
1040 } /* end if VALID_IDX(idx) */
1041
1042 /* ここに処理本体を記述します #_TEFB_# */
1043 if( is_cSignatureInfo_joined() ){
1044 cSignatureInfo_getName( name, max_len );
1045 *num_function = cSignatureInfo_getNFunction( );
1046 }
1047 else {
1048 ercd = E_OBJ; // cSignatureInfo not joined
1049 }
1050
1051 return(ercd);
1052}
1053
1054/* #[<ENTRY_FUNC>]# eSelector_selectFunctionInfoByIndex
1055 * name: eSelector_selectFunctionInfoByIndex
1056 * global_name: tTECSInfoAccessor_eSelector_selectFunctionInfoByIndex
1057 * oneway: false
1058 * #[</ENTRY_FUNC>]# */
1059ER
1060eSelector_selectFunctionInfoByIndex(CELLIDX idx, int_t ith)
1061{
1062 ER ercd = E_OK;
1063 CELLCB *p_cellcb;
1064 Descriptor( nTECSInfo_sFunctionInfo ) desc;
1065 if (VALID_IDX(idx)) {
1066 p_cellcb = GET_CELLCB(idx);
1067 }
1068 else {
1069 return(E_ID);
1070 } /* end if VALID_IDX(idx) */
1071
1072 /* ここに処理本体を記述します #_TEFB_# */
1073 if( is_cSignatureInfo_joined() ){
1074 if( 0 <= ith && ith < cSignatureInfo_getNFunction( ) ){
1075 cSignatureInfo_getFunctionInfo( ith, &desc );
1076 cFunctionInfo_set_descriptor( desc );
1077 }
1078 else {
1079 }
1080 }
1081 else {
1082 ercd = E_OBJ; // cSignatureInfo not joined
1083 }
1084
1085 return(ercd);
1086}
1087
1088/* #[<ENTRY_FUNC>]# eSelector_getSelectedFunctionInfo
1089 * name: eSelector_getSelectedFunctionInfo
1090 * global_name: tTECSInfoAccessor_eSelector_getSelectedFunctionInfo
1091 * oneway: false
1092 * #[</ENTRY_FUNC>]# */
1093ER
1094eSelector_getSelectedFunctionInfo(CELLIDX idx, char_t* name, int_t max_len, int_t* num_args)
1095{
1096 ER ercd = E_OK;
1097 CELLCB *p_cellcb;
1098 if (VALID_IDX(idx)) {
1099 p_cellcb = GET_CELLCB(idx);
1100 }
1101 else {
1102 return(E_ID);
1103 } /* end if VALID_IDX(idx) */
1104
1105 /* ここに処理本体を記述します #_TEFB_# */
1106 if( is_cFunctionInfo_joined() ){
1107 cFunctionInfo_getName( name, max_len );
1108 *num_args = cFunctionInfo_getNParam( );
1109 }
1110 else {
1111 ercd = E_OBJ; // cFunctionInfo not joined
1112 }
1113 return(ercd);
1114}
1115
1116/* #[<ENTRY_FUNC>]# eSelector_selectTypeInfoOfReturn
1117 * name: eSelector_selectTypeInfoOfReturn
1118 * global_name: tTECSInfoAccessor_eSelector_selectTypeInfoOfReturn
1119 * oneway: false
1120 * #[</ENTRY_FUNC>]# */
1121ER
1122eSelector_selectTypeInfoOfReturn(CELLIDX idx)
1123{
1124 ER ercd = E_OK;
1125 CELLCB *p_cellcb;
1126 Descriptor( nTECSInfo_sTypeInfo ) desc;
1127 if (VALID_IDX(idx)) {
1128 p_cellcb = GET_CELLCB(idx);
1129 }
1130 else {
1131 return(E_ID);
1132 } /* end if VALID_IDX(idx) */
1133
1134 /* ここに処理本体を記述します #_TEFB_# */
1135 if( is_cFunctionInfo_joined() ){
1136 cFunctionInfo_getReturnTypeInfo( &desc );
1137 cTypeInfo_set_descriptor( desc );
1138 }
1139 else {
1140 ercd = E_OBJ; // cFunctionInfo not joined
1141 }
1142
1143 return(ercd);
1144}
1145
1146/* #[<ENTRY_FUNC>]# eSelector_getSelectedParamInfo
1147 * name: eSelector_getSelectedParamInfo
1148 * global_name: tTECSInfoAccessor_eSelector_getSelectedParamInfo
1149 * oneway: false
1150 * #[</ENTRY_FUNC>]# */
1151ER
1152eSelector_getSelectedParamInfo(CELLIDX idx, char_t* name, int_t max_len, int8_t* dir)
1153{
1154 ER ercd = E_OK;
1155 CELLCB *p_cellcb;
1156 if (VALID_IDX(idx)) {
1157 p_cellcb = GET_CELLCB(idx);
1158 }
1159 else {
1160 return(E_ID);
1161 } /* end if VALID_IDX(idx) */
1162
1163 /* ここに処理本体を記述します #_TEFB_# */
1164 if( is_cParamInfo_joined() ){
1165 cParamInfo_getName( name, max_len );
1166 cParamInfo_getDir( dir );
1167 }
1168 else {
1169 ercd = E_OBJ; // cParamInfo not joined
1170 }
1171
1172 return(ercd);
1173}
1174
1175/* #[<ENTRY_FUNC>]# eSelector_selectParamInfo
1176 * name: eSelector_selectParamInfo
1177 * global_name: tTECSInfoAccessor_eSelector_selectParamInfo
1178 * oneway: false
1179 * #[</ENTRY_FUNC>]# */
1180ER
1181eSelector_selectParamInfo(CELLIDX idx, int_t ith)
1182{
1183 ER ercd = E_OK;
1184 CELLCB *p_cellcb;
1185 Descriptor( nTECSInfo_sParamInfo ) desc;
1186 if (VALID_IDX(idx)) {
1187 p_cellcb = GET_CELLCB(idx);
1188 }
1189 else {
1190 return(E_ID);
1191 } /* end if VALID_IDX(idx) */
1192
1193 /* ここに処理本体を記述します #_TEFB_# */
1194 if( is_cFunctionInfo_joined() ){
1195 if( 0 <= ith && ith < cFunctionInfo_getNParam() ){
1196 cFunctionInfo_getParamInfo( ith, &desc );
1197 cParamInfo_set_descriptor( desc );
1198 }
1199 else{
1200 ercd = E_PAR; // index out of range
1201 }
1202 }
1203 else {
1204 ercd = E_OBJ; // cFunctionInfo not joined
1205 }
1206
1207 return(ercd);
1208}
1209
1210/* #[<ENTRY_FUNC>]# eSelector_selectTypeInfoOfParam
1211 * name: eSelector_selectTypeInfoOfParam
1212 * global_name: tTECSInfoAccessor_eSelector_selectTypeInfoOfParam
1213 * oneway: false
1214 * #[</ENTRY_FUNC>]# */
1215ER
1216eSelector_selectTypeInfoOfParam(CELLIDX idx)
1217{
1218 ER ercd = E_OK;
1219 CELLCB *p_cellcb;
1220 Descriptor( nTECSInfo_sTypeInfo ) desc;
1221 if (VALID_IDX(idx)) {
1222 p_cellcb = GET_CELLCB(idx);
1223 }
1224 else {
1225 return(E_ID);
1226 } /* end if VALID_IDX(idx) */
1227
1228 /* ここに処理本体を記述します #_TEFB_# */
1229 if( is_cParamInfo_joined() ){
1230 cParamInfo_getTypeInfo( &desc );
1231 cTypeInfo_set_descriptor( desc );
1232 }
1233 else {
1234 ercd = E_OBJ; // cFunctionInfo not joined
1235 }
1236
1237 return(ercd);
1238}
1239
1240/* #[<ENTRY_FUNC>]# eSelector_getSelectedTypeInfo
1241 * name: eSelector_getSelectedTypeInfo
1242 * global_name: tTECSInfoAccessor_eSelector_getSelectedTypeInfo
1243 * oneway: false
1244 * #[</ENTRY_FUNC>]# */
1245ER
1246eSelector_getSelectedTypeInfo(CELLIDX idx, char_t* name, int_t max_len, int8_t* kind)
1247{
1248 ER ercd = E_OK;
1249 CELLCB *p_cellcb;
1250 if (VALID_IDX(idx)) {
1251 p_cellcb = GET_CELLCB(idx);
1252 }
1253 else {
1254 return(E_ID);
1255 } /* end if VALID_IDX(idx) */
1256
1257 /* ここに処理本体を記述します #_TEFB_# */
1258 if( is_cTypeInfo_joined() ){
1259 cTypeInfo_getName( name, max_len );
1260 *kind = cTypeInfo_getKind( );
1261 }
1262 else {
1263 ercd = E_OBJ; // cTypeInfo not joined
1264 }
1265 return(ercd);
1266}
1267
1268/* #[<ENTRY_FUNC>]# eSelector_selectTypeInfoOfType
1269 * name: eSelector_selectTypeInfoOfType
1270 * global_name: tTECSInfoAccessor_eSelector_selectTypeInfoOfType
1271 * oneway: false
1272 * #[</ENTRY_FUNC>]# */
1273ER
1274eSelector_selectTypeInfoOfType(CELLIDX idx)
1275{
1276 ER ercd = E_OK;
1277 CELLCB *p_cellcb;
1278 Descriptor( nTECSInfo_sTypeInfo ) desc;
1279 if (VALID_IDX(idx)) {
1280 p_cellcb = GET_CELLCB(idx);
1281 }
1282 else {
1283 return(E_ID);
1284 } /* end if VALID_IDX(idx) */
1285
1286 /* ここに処理本体を記述します #_TEFB_# */
1287 if( is_cTypeInfo_joined() ){
1288 cTypeInfo_getTypeInfo( &desc );
1289 cTypeInfo_set_descriptor( desc );
1290 }
1291 else {
1292 ercd = E_OBJ; // cTypeInfo not joined
1293 }
1294
1295 return(ercd);
1296}
1297
1298/* #[<ENTRY_FUNC>]# eSelector_getSelectedRegionInfo
1299 * name: eSelector_getSelectedRegionInfo
1300 * global_name: tTECSInfoAccessor_eSelector_getSelectedRegionInfo
1301 * oneway: false
1302 * #[</ENTRY_FUNC>]# */
1303ER
1304eSelector_getSelectedRegionInfo(CELLIDX idx, char_t* name, int_t max_len, int_t* num_cell)
1305{
1306 ER ercd = E_OK;
1307 CELLCB *p_cellcb;
1308 if (VALID_IDX(idx)) {
1309 p_cellcb = GET_CELLCB(idx);
1310 }
1311 else {
1312 return(E_ID);
1313 } /* end if VALID_IDX(idx) */
1314
1315 /* ここに処理本体を記述します #_TEFB_# */
1316 if( is_cRegionInfo_joined() ){
1317 cRegionInfo_getName( name, max_len );
1318 *num_cell = cRegionInfo_getNCell();
1319 }
1320 else {
1321 ercd = E_OBJ; // cNSInfo not joined
1322 }
1323
1324 return(ercd);
1325}
1326
1327/* #[<ENTRY_FUNC>]# eSelector_selectCellInfo
1328 * name: eSelector_selectCellInfo
1329 * global_name: tTECSInfoAccessor_eSelector_selectCellInfo
1330 * oneway: false
1331 * #[</ENTRY_FUNC>]# */
1332ER
1333eSelector_selectCellInfo(CELLIDX idx, int_t ith)
1334{
1335 ER ercd = E_OK;
1336 CELLCB *p_cellcb;
1337 Descriptor( nTECSInfo_sCellInfo ) desc;
1338 if (VALID_IDX(idx)) {
1339 p_cellcb = GET_CELLCB(idx);
1340 }
1341 else {
1342 return(E_ID);
1343 } /* end if VALID_IDX(idx) */
1344
1345 /* ここに処理本体を記述します #_TEFB_# */
1346 if( is_cRegionInfo_joined() ){
1347 if( 0 <= ith && ith < cRegionInfo_getNCell() ){
1348 cRegionInfo_getCellInfo( ith, &desc );
1349 cCellInfo_set_descriptor( desc );
1350 }
1351 else {
1352 ercd = E_PAR;
1353 }
1354 }
1355 else {
1356 ercd = E_OBJ; // cNSInfo not joined
1357 }
1358
1359 return(ercd);
1360}
1361
1362/* #[<ENTRY_FUNC>]# eSelector_getSelectedCellInfo
1363 * name: eSelector_getSelectedCellInfo
1364 * global_name: tTECSInfoAccessor_eSelector_getSelectedCellInfo
1365 * oneway: false
1366 * #[</ENTRY_FUNC>]# */
1367ER
1368eSelector_getSelectedCellInfo(CELLIDX idx, char_t* name, int_t max_len)
1369{
1370 ER ercd = E_OK;
1371 CELLCB *p_cellcb;
1372 if (VALID_IDX(idx)) {
1373 p_cellcb = GET_CELLCB(idx);
1374 }
1375 else {
1376 return(E_ID);
1377 } /* end if VALID_IDX(idx) */
1378
1379 /* ここに処理本体を記述します #_TEFB_# */
1380 if( is_cCellInfo_joined() ){
1381 cCellInfo_getName( name, max_len );
1382 }
1383 else {
1384 ercd = E_OBJ; // cNSInfo not joined
1385 }
1386
1387 return(ercd);
1388}
1389
1390/* #[<ENTRY_FUNC>]# eSelector_selectCelltypeInfoOfCell
1391 * name: eSelector_selectCelltypeInfoOfCell
1392 * global_name: tTECSInfoAccessor_eSelector_selectCelltypeInfoOfCell
1393 * oneway: false
1394 * #[</ENTRY_FUNC>]# */
1395ER
1396eSelector_selectCelltypeInfoOfCell(CELLIDX idx)
1397{
1398 ER ercd = E_OK;
1399 CELLCB *p_cellcb;
1400 Descriptor( nTECSInfo_sCelltypeInfo ) desc;
1401 if (VALID_IDX(idx)) {
1402 p_cellcb = GET_CELLCB(idx);
1403 }
1404 else {
1405 return(E_ID);
1406 } /* end if VALID_IDX(idx) */
1407
1408 /* ここに処理本体を記述します #_TEFB_# */
1409 if( is_cCellInfo_joined() ){
1410 cCellInfo_getCelltypeInfo( &desc );
1411 cCelltypeInfo_set_descriptor( desc );
1412 }
1413 else {
1414 ercd = E_OBJ; // cNSInfo not joined
1415 }
1416 return(ercd);
1417}
1418
1419/* #[<ENTRY_FUNC>]# eSelector_getAttrValueInStr
1420 * name: eSelector_getAttrValueInStr
1421 * global_name: tTECSInfoAccessor_eSelector_getAttrValueInStr
1422 * oneway: false
1423 * #[</ENTRY_FUNC>]# */
1424ER
1425eSelector_getAttrValueInStr(CELLIDX idx, char_t* buf, int_t max_len)
1426{
1427 ER ercd = E_OK;
1428 CELLCB *p_cellcb;
1429 uint32_t offset;
1430 void *base, *ptr;
1431 int8_t place;
1432
1433 Descriptor( nTECSInfo_sCelltypeInfo ) CTdesc;
1434 if (VALID_IDX(idx)) {
1435 p_cellcb = GET_CELLCB(idx);
1436 }
1437 else {
1438 return(E_ID);
1439 } /* end if VALID_IDX(idx) */
1440
1441 /* ここに処理本体を記述します #_TEFB_# */
1442 if( is_cCellInfo_joined() && is_cAttrInfo_joined() ){
1443 cCellInfo_getCelltypeInfo( &CTdesc );
1444 cCelltypeInfo_set_descriptor( CTdesc );
1445 printf( "eSelector_getAttrValueInStr not supported\n" );
1446 cAttrInfo_getLocationInfo( &offset, &place );
1447 switch( place ){
1448 case VARDECL_PLACE_CB:
1449 cCellInfo_getCBP( &base );
1450 break;
1451 case VARDECL_PLACE_INIB:
1452 cCellInfo_getINIBP( &base );
1453 break;
1454 default:
1455 base = (void *)0;
1456 };
1457 if( base ){
1458 ptr = base + offset;
1459 eSelector_selectTypeInfoOfAttr(idx);
1460 getSelectedTypeValue( p_cellcb, ptr, buf, max_len );
1461 }
1462 else {
1463 strncpy( buf, "(OMITTED)", max_len );
1464 }
1465 }
1466 else{
1467 ercd = E_OBJ;
1468 }
1469
1470 return(ercd);
1471}
1472
1473/* #[<ENTRY_FUNC>]# eSelector_getAttrSizeIsValue
1474 * name: eSelector_getAttrSizeIsValue
1475 * global_name: tTECSInfoAccessor_eSelector_getAttrSizeIsValue
1476 * oneway: false
1477 * #[</ENTRY_FUNC>]# */
1478ER
1479eSelector_getAttrSizeIsValue(CELLIDX idx)
1480{
1481 ER ercd = E_OK;
1482 CELLCB *p_cellcb;
1483 if (VALID_IDX(idx)) {
1484 p_cellcb = GET_CELLCB(idx);
1485 }
1486 else {
1487 return(E_ID);
1488 } /* end if VALID_IDX(idx) */
1489
1490 /* ここに処理本体を記述します #_TEFB_# */
1491 printf( "eSelector_getAttrSizeIsValue not supported\n" );
1492
1493 return(ercd);
1494}
1495
1496/* #[<ENTRY_FUNC>]# eSelector_getVarValueInStr
1497 * name: eSelector_getVarValueInStr
1498 * global_name: tTECSInfoAccessor_eSelector_getVarValueInStr
1499 * oneway: false
1500 * #[</ENTRY_FUNC>]# */
1501ER
1502eSelector_getVarValueInStr(CELLIDX idx, char_t* buf, int_t max_len)
1503{
1504 ER ercd = E_OK;
1505 CELLCB *p_cellcb;
1506 int8_t place;
1507 void *base, *ptr;
1508 uint32_t offset;
1509 if (VALID_IDX(idx)) {
1510 p_cellcb = GET_CELLCB(idx);
1511 }
1512 else {
1513 return(E_ID);
1514 } /* end if VALID_IDX(idx) */
1515
1516 /* ここに処理本体を記述します #_TEFB_# */
1517 cVarInfo_getLocationInfo( &offset, &place );
1518 switch( place ){
1519 case VARDECL_PLACE_CB:
1520 cCellInfo_getCBP( &base );
1521 break;
1522 case VARDECL_PLACE_INIB:
1523 cCellInfo_getINIBP( &base );
1524 break;
1525 default:
1526 base = (void *)0;
1527 };
1528 if( base ){
1529 ptr = base + offset;
1530 eSelector_selectTypeInfoOfVar(idx);
1531 getSelectedTypeValue( p_cellcb, ptr, buf, max_len );
1532 }
1533 else {
1534 strncpy( buf, "(OMITTED)", max_len );
1535 }
1536 printf( "eSelector_getVarValueInStr not supported\n" );
1537 return(ercd);
1538}
1539
1540/* #[<ENTRY_FUNC>]# eSelector_getVarSizeIsValue
1541 * name: eSelector_getVarSizeIsValue
1542 * global_name: tTECSInfoAccessor_eSelector_getVarSizeIsValue
1543 * oneway: false
1544 * #[</ENTRY_FUNC>]# */
1545ER
1546eSelector_getVarSizeIsValue(CELLIDX idx)
1547{
1548 ER ercd = E_OK;
1549 CELLCB *p_cellcb;
1550 if (VALID_IDX(idx)) {
1551 p_cellcb = GET_CELLCB(idx);
1552 }
1553 else {
1554 return(E_ID);
1555 } /* end if VALID_IDX(idx) */
1556
1557 /* ここに処理本体を記述します #_TEFB_# */
1558 printf( "eSelector_getVarSizeIsValue not supported\n" );
1559
1560 return(ercd);
1561}
1562
1563/* #[<POSTAMBLE>]#
1564 * これより下に非受け口関数を書きます
1565 * #[</POSTAMBLE>]#*/
1566
1567static void
1568getSelectedTypeValue( CELLCB *p_cellcb, void *ptr, char_t *buf, int_t max_len )
1569{
1570 switch( cTypeInfo_getKind() ){
1571 case TECSTypeKind_BoolType:
1572 snprintf( buf, max_len, "%d", *(bool_t *)ptr );
1573 break;
1574 case TECSTypeKind_IntType:
1575 switch( cTypeInfo_getSize() ){
1576 case 8:
1577 snprintf( buf, max_len, "%d", *(int8_t *)ptr );
1578 break;
1579 case 16:
1580 snprintf( buf, max_len, "%d", *(int16_t *)ptr );
1581 break;
1582 case 32:
1583 snprintf( buf, max_len, "%d", *(int32_t *)ptr );
1584 break;
1585 case 64:
1586 snprintf( buf, max_len, "%lld", *(int64_t *)ptr );
1587 break;
1588 default:
1589 snprintf( buf, max_len, "unknown int size(%d)", cTypeInfo_getSize() );
1590 };
1591 case TECSTypeKind_FloatType:
1592 switch( cTypeInfo_getSize() ){
1593 case 32:
1594 snprintf( buf, max_len, "%g", *(float32_t *)ptr );
1595 break;
1596 case 64:
1597 snprintf( buf, max_len, "%g", *(double64_t *)ptr );
1598 break;
1599 default:
1600 snprintf( buf, max_len, "unknown double size(%d)", cTypeInfo_getSize() );
1601 };
1602 case TECSTypeKind_PtrType:
1603 snprintf( buf, max_len, "%X", *(double64_t *)ptr );
1604 break;
1605 case TECSTypeKind_ArrayType: break;
1606 case TECSTypeKind_DefinedType: break;
1607 case TECSTypeKind_StructType: break;
1608 case TECSTypeKind_EnumType: break;
1609 case TECSTypeKind_VoidType: break;
1610 case TECSTypeKind_DescriptorType: break;
1611 default: break;
1612 };
1613}
Note: See TracBrowser for help on using the repository browser.