source: asp3_tinet_ecnl_rx/trunk/asp3_dcre/tecsgen/tecs/TECSInfo/nTECSInfo_tIntTypeInfo.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: 7.3 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 * typeKind int8_t ATTR_typeKind
43 * size uint32_t ATTR_size
44 * b_const bool_t ATTR_b_const
45 * b_volatile bool_t ATTR_b_volatile
46 *
47 * #[</PREAMBLE>]# */
48
49/* プロトタイプ宣言や変数の定義をここに書きます #_PAC_# */
50#include <string.h>
51#include "nTECSInfo_tIntTypeInfo_tecsgen.h"
52
53#ifndef E_OK
54#define E_OK 0 /* success */
55#define E_ID (-18) /* illegal ID */
56#endif
57
58/* 受け口関数 #_TEPF_# */
59/* #[<ENTRY_PORT>]# eTypeInfo
60 * entry port: eTypeInfo
61 * signature: nTECSInfo_sTypeInfo
62 * context: task
63 * #[</ENTRY_PORT>]# */
64
65/* #[<ENTRY_FUNC>]# eTypeInfo_getName
66 * name: eTypeInfo_getName
67 * global_name: nTECSInfo_tIntTypeInfo_eTypeInfo_getName
68 * oneway: false
69 * #[</ENTRY_FUNC>]# */
70ER
71eTypeInfo_getName(CELLIDX idx, char_t* name, int_t max_len)
72{
73 ER ercd = E_OK;
74 CELLCB *p_cellcb;
75 if (VALID_IDX(idx)) {
76 p_cellcb = GET_CELLCB(idx);
77 }
78 else {
79 return(E_ID);
80 } /* end if VALID_IDX(idx) */
81
82 /* ここに処理本体を記述します #_TEFB_# */
83 name[ max_len - 1 ] = '\0';
84 strncpy( name, ATTR_name, max_len );
85 if( name[ max_len - 1 ] ){
86 name[ max_len - 1 ] = '\0';
87 ercd = E_NOMEM;
88 }
89
90 return(ercd);
91}
92
93/* #[<ENTRY_FUNC>]# eTypeInfo_getNameLength
94 * name: eTypeInfo_getNameLength
95 * global_name: nTECSInfo_tIntTypeInfo_eTypeInfo_getNameLength
96 * oneway: false
97 * #[</ENTRY_FUNC>]# */
98uint16_t
99eTypeInfo_getNameLength(CELLIDX idx)
100{
101 CELLCB *p_cellcb;
102 if (VALID_IDX(idx)) {
103 p_cellcb = GET_CELLCB(idx);
104 }
105 else {
106 /* エラー処理コードをここに記述します */
107 } /* end if VALID_IDX(idx) */
108
109 /* ここに処理本体を記述します #_TEFB_# */
110 return strlen( ATTR_name ) + 1;
111}
112
113/* #[<ENTRY_FUNC>]# eTypeInfo_getSize
114 * name: eTypeInfo_getSize
115 * global_name: nTECSInfo_tIntTypeInfo_eTypeInfo_getSize
116 * oneway: false
117 * #[</ENTRY_FUNC>]# */
118uint32_t
119eTypeInfo_getSize(CELLIDX idx)
120{
121 CELLCB *p_cellcb;
122 if (VALID_IDX(idx)) {
123 p_cellcb = GET_CELLCB(idx);
124 }
125 else {
126 /* エラー処理コードをここに記述します */
127 } /* end if VALID_IDX(idx) */
128
129 /* ここに処理本体を記述します #_TEFB_# */
130 return ATTR_size;
131}
132
133/* #[<ENTRY_FUNC>]# eTypeInfo_getKind
134 * name: eTypeInfo_getKind
135 * global_name: nTECSInfo_tIntTypeInfo_eTypeInfo_getKind
136 * oneway: false
137 * #[</ENTRY_FUNC>]# */
138int8_t
139eTypeInfo_getKind(CELLIDX idx)
140{
141 CELLCB *p_cellcb;
142 if (VALID_IDX(idx)) {
143 p_cellcb = GET_CELLCB(idx);
144 }
145 else {
146 /* エラー処理コードをここに記述します */
147 } /* end if VALID_IDX(idx) */
148
149 /* ここに処理本体を記述します #_TEFB_# */
150 return TECSTypeKind_IntType;
151}
152
153/* #[<ENTRY_FUNC>]# eTypeInfo_getNType
154 * name: eTypeInfo_getNType
155 * global_name: nTECSInfo_tIntTypeInfo_eTypeInfo_getNType
156 * oneway: false
157 * #[</ENTRY_FUNC>]# */
158uint32_t
159eTypeInfo_getNType(CELLIDX idx)
160{
161 CELLCB *p_cellcb;
162 if (VALID_IDX(idx)) {
163 p_cellcb = GET_CELLCB(idx);
164 }
165 else {
166 /* エラー処理コードをここに記述します */
167 } /* end if VALID_IDX(idx) */
168
169 /* ここに処理本体を記述します #_TEFB_# */
170 return 0;
171}
172
173/* #[<ENTRY_FUNC>]# eTypeInfo_getTypeInfo
174 * name: eTypeInfo_getTypeInfo
175 * global_name: nTECSInfo_tIntTypeInfo_eTypeInfo_getTypeInfo
176 * oneway: false
177 * #[</ENTRY_FUNC>]# */
178ER
179eTypeInfo_getTypeInfo(CELLIDX idx, Descriptor( nTECSInfo_sTypeInfo )* desc)
180{
181 CELLCB *p_cellcb;
182 if (VALID_IDX(idx)) {
183 p_cellcb = GET_CELLCB(idx);
184 }
185 else {
186 /* エラー処理コードをここに記述します */
187 } /* end if VALID_IDX(idx) */
188
189 /* ここに処理本体を記述します #_TEFB_# */
190 return E_NOEXS;
191}
192
193/* #[<ENTRY_FUNC>]# eTypeInfo_getNMember
194 * name: eTypeInfo_getNMember
195 * global_name: nTECSInfo_tIntTypeInfo_eTypeInfo_getNMember
196 * oneway: false
197 * #[</ENTRY_FUNC>]# */
198uint32_t
199eTypeInfo_getNMember(CELLIDX idx)
200{
201 CELLCB *p_cellcb;
202 if (VALID_IDX(idx)) {
203 p_cellcb = GET_CELLCB(idx);
204 }
205 else {
206 /* エラー処理コードをここに記述します */
207 } /* end if VALID_IDX(idx) */
208
209 /* ここに処理本体を記述します #_TEFB_# */
210
211}
212
213/* #[<ENTRY_FUNC>]# eTypeInfo_getMemberInfo
214 * name: eTypeInfo_getMemberInfo
215 * global_name: nTECSInfo_tIntTypeInfo_eTypeInfo_getMemberInfo
216 * oneway: false
217 * #[</ENTRY_FUNC>]# */
218ER
219eTypeInfo_getMemberInfo(CELLIDX idx, uint32_t ith, Descriptor( nTECSInfo_sVarDeclInfo )* desc)
220{
221 ER ercd = E_OK;
222 CELLCB *p_cellcb;
223 if (VALID_IDX(idx)) {
224 p_cellcb = GET_CELLCB(idx);
225 }
226 else {
227 return(E_ID);
228 } /* end if VALID_IDX(idx) */
229
230 /* ここに処理本体を記述します #_TEFB_# */
231
232 return(ercd);
233}
234
235/* #[<POSTAMBLE>]#
236 * これより下に非受け口関数を書きます
237 * #[</POSTAMBLE>]#*/
Note: See TracBrowser for help on using the repository browser.