source: azure_iot_hub/trunk/asp3_dcre/tecsgen/tecs/TECSInfo/nTECSInfo_tCellInfo.c@ 388

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

Azure IoT Hub Device C SDK を使ったサンプルの追加

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
  • Property svn:mime-type set to text/x-csrc
File size: 9.0 KB
Line 
1/*
2 * Copyright (C) 2008-2017 by TOPPERS Project
3 *
4 * 上記著作権者
5は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
6 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
7 * 変・再é…
8å¸ƒï¼ˆä»¥ä¸‹ï¼Œåˆ©ç”¨ã¨å‘¼ã¶ï¼‰ã™ã‚‹ã“とを無償で許諾する.
9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
11 * スコード中に含まれていること.
12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
13 * 用できる形で再é…
14å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é…
15å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
16 * 者
17マニュアルなど)に,上記の著作権表示,この利用条件および下記
18 * の無保証規定を掲載すること.
19 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
20 * 用できない形で再é…
21å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
22 * と.
23 * (a) 再é…
24å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€…
25マニュアルなど)に,上記の著
26 * 作権表示,この利用条件および下記の無保証規定を掲載すること.
27 * (b) 再é…
28å¸ƒã®å½¢æ…
29‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
30 * 報告すること.
31 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
32 * 害からも,上記著作権者
33およびTOPPERSプロジェクトをå…
34è²¬ã™ã‚‹ã“と.
35 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
36 * 由に基づく請求からも,上記著作権者
37およびTOPPERSプロジェクトを
38 * å…
39è²¬ã™ã‚‹ã“と.
40 *
41 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者
42お
43 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
44 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
45 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
46 * の責任を負わない.
47 *
48 * @(#) $Id: nTECSInfo_tCellInfo.c 388 2019-05-22 11:25:18Z coas-nagasima $
49 */
50
51/* #[<PREAMBLE>]#
52 * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください
53 * tecsmerge によるマージに使用されます
54 *
55 * 属性アクセスマクロ #_CAAM_#
56 * name char_t* ATTR_name
57 * cbp void* ATTR_cbp
58 * inibp void* ATTR_inibp
59 *
60 * 呼び口関数 #_TCPF_#
61 * call port: cCelltypeInfo signature: nTECSInfo_sCelltypeInfo context:task
62 * ER cCelltypeInfo_getName( char_t* name, int_t max_len );
63 * uint16_t cCelltypeInfo_getNameLength( );
64 * uint32_t cCelltypeInfo_getNAttr( );
65 * ER cCelltypeInfo_getAttrInfo( uint32_t ith, Descriptor( nTECSInfo_sVarDeclInfo )* desc );
66 * uint32_t cCelltypeInfo_getNVar( );
67 * ER cCelltypeInfo_getVarInfo( uint32_t ith, Descriptor( nTECSInfo_sVarDeclInfo )* desc );
68 * uint32_t cCelltypeInfo_getNCall( );
69 * ER cCelltypeInfo_getCallInfo( uint32_t ith, Descriptor( nTECSInfo_sCallInfo )* desc );
70 * uint32_t cCelltypeInfo_getNEntry( );
71 * ER cCelltypeInfo_getEntryInfo( uint32_t ith, Descriptor( nTECSInfo_sEntryInfo )* desc );
72 * bool_t cCelltypeInfo_isSingleton( );
73 * bool_t cCelltypeInfo_isIDX_is_ID( );
74 * uint32_t cCelltypeInfo_sizeOfCB( );
75 * uint32_t cCelltypeInfo_sizeOfINIB( );
76 * [ref_desc]
77 * Descriptor( nTECSInfo_sCelltypeInfo ) cCelltypeInfo_refer_to_descriptor();
78 * Descriptor( nTECSInfo_sCelltypeInfo ) cCelltypeInfo_ref_desc() (same as above; abbreviated version);
79 * call port: cRawEntryDescriptor signature: nTECSInfo_sRawEntryDescriptorInfo context:task optional:true
80 * bool_t is_cRawEntryDescriptor_joined(int subscript) check if joined
81 * uint16_t cRawEntryDescriptor_getNRawEntryDescriptorInfo( subscript );
82 * ER cRawEntryDescriptor_getRawDescriptor( subscript, const char_t* signatureName, int_t ith, void** rawDesc );
83 * subscript: 0...(NCP_cRawEntryDescriptor-1)
84 * [ref_desc]
85 * Descriptor( nTECSInfo_sRawEntryDescriptorInfo ) cRawEntryDescriptor_refer_to_descriptor( int_t subscript );
86 * Descriptor( nTECSInfo_sRawEntryDescriptorInfo ) cRawEntryDescriptor_ref_desc( int_t subscript ) (same as above; abbreviated version);
87 *
88 * #[</PREAMBLE>]# */
89
90/* Put prototype declaration and/or variale definition here #_PAC_# */
91#include <string.h>
92#include "nTECSInfo_tCellInfo_tecsgen.h"
93
94#ifndef E_OK
95#define E_OK 0 /* success */
96#define E_ID (-18) /* illegal ID */
97#endif
98
99/* entry port function #_TEPF_# */
100/* #[<ENTRY_PORT>]# eCellInfo
101 * entry port: eCellInfo
102 * signature: nTECSInfo_sCellInfo
103 * context: task
104 * #[</ENTRY_PORT>]# */
105
106/* #[<ENTRY_FUNC>]# eCellInfo_getName
107 * name: eCellInfo_getName
108 * global_name: nTECSInfo_tCellInfo_eCellInfo_getName
109 * oneway: false
110 * #[</ENTRY_FUNC>]# */
111ER
112eCellInfo_getName(CELLIDX idx, char_t* name, int_t max_len)
113{
114 ER ercd = E_OK;
115 CELLCB *p_cellcb;
116 if (VALID_IDX(idx)) {
117 p_cellcb = GET_CELLCB(idx);
118 }
119 else {
120 return(E_ID);
121 } /* end if VALID_IDX(idx) */
122
123 /* Put statements here #_TEFB_# */
124 name[ max_len - 1 ] = '\0';
125 strncpy( name, ATTR_name, max_len );
126 if( name[ max_len - 1 ] ){
127 name[ max_len - 1 ] = '\0';
128 ercd = E_NOMEM;
129 }
130
131 return(ercd);
132}
133
134/* #[<ENTRY_FUNC>]# eCellInfo_getNameLength
135 * name: eCellInfo_getNameLength
136 * global_name: nTECSInfo_tCellInfo_eCellInfo_getNameLength
137 * oneway: false
138 * #[</ENTRY_FUNC>]# */
139uint16_t
140eCellInfo_getNameLength(CELLIDX idx)
141{
142 CELLCB *p_cellcb;
143 if (VALID_IDX(idx)) {
144 p_cellcb = GET_CELLCB(idx);
145 }
146 else {
147 /* エラー処理コードをここに記述します */
148 } /* end if VALID_IDX(idx) */
149
150 /* ここに処理本体を記述します #_TEFB_# */
151 return strlen( ATTR_name ) + 1;
152}
153
154/* #[<ENTRY_FUNC>]# eCellInfo_getNRawEntryDescriptorInfo
155 * name: eCellInfo_getNRawEntryDescriptorInfo
156 * global_name: nTECSInfo_tCellInfo_eCellInfo_getNRawEntryDescriptorInfo
157 * oneway: false
158 * #[</ENTRY_FUNC>]# */
159uint32_t
160eCellInfo_getNRawEntryDescriptorInfo(CELLIDX idx)
161{
162 CELLCB *p_cellcb;
163 if (VALID_IDX(idx)) {
164 p_cellcb = GET_CELLCB(idx);
165 }
166 else {
167 /* エラー処理コードをここに記述します */
168 } /* end if VALID_IDX(idx) */
169
170 /* ここに処理本体を記述します #_TEFB_# */
171 return NCP_cRawEntryDescriptor;
172}
173
174/* #[<ENTRY_FUNC>]# eCellInfo_getRawEntryDescriptorInfo
175 * name: eCellInfo_getRawEntryDescriptorInfo
176 * global_name: nTECSInfo_tCellInfo_eCellInfo_getRawEntryDescriptorInfo
177 * oneway: false
178 * #[</ENTRY_FUNC>]# */
179ER
180eCellInfo_getRawEntryDescriptorInfo(CELLIDX idx, int_t index, Descriptor( nTECSInfo_sRawEntryDescriptorInfo )* desc)
181{
182 CELLCB *p_cellcb;
183 ER ercd = E_OK;
184 if (VALID_IDX(idx)) {
185 p_cellcb = GET_CELLCB(idx);
186 }
187 else {
188 /* エラー処理コードをここに記述します */
189 } /* end if VALID_IDX(idx) */
190
191 /* ここに処理本体を記述します #_TEFB_# */
192 if( 0 <= index && index < NCP_cRawEntryDescriptor ){
193 if( is_cRawEntryDescriptor_joined( index ) )
194 *desc = cRawEntryDescriptor_refer_to_descriptor( index );
195 else
196 ercd = E_NOEXS;
197 }
198 else
199 ercd = E_ID;
200
201 return ercd;
202}
203
204/* #[<ENTRY_FUNC>]# eCellInfo_getCelltypeInfo
205 * name: eCellInfo_getCelltypeInfo
206 * global_name: nTECSInfo_tCellInfo_eCellInfo_getCelltypeInfo
207 * oneway: false
208 * #[</ENTRY_FUNC>]# */
209void
210eCellInfo_getCelltypeInfo(CELLIDX idx, Descriptor( nTECSInfo_sCelltypeInfo )* desc)
211{
212 CELLCB *p_cellcb;
213 if (VALID_IDX(idx)) {
214 p_cellcb = GET_CELLCB(idx);
215 }
216 else {
217 /* Write error processing code here */
218 } /* end if VALID_IDX(idx) */
219
220 /* Put statements here #_TEFB_# */
221 *desc = cCelltypeInfo_refer_to_descriptor();
222}
223
224/* #[<ENTRY_FUNC>]# eCellInfo_getCBP
225 * name: eCellInfo_getCBP
226 * global_name: nTECSInfo_tCellInfo_eCellInfo_getCBP
227 * oneway: false
228 * #[</ENTRY_FUNC>]# */
229void
230eCellInfo_getCBP(CELLIDX idx, void** cbp)
231{
232 CELLCB *p_cellcb;
233 if (VALID_IDX(idx)) {
234 p_cellcb = GET_CELLCB(idx);
235 }
236 else {
237 /* Write error processing code here */
238 } /* end if VALID_IDX(idx) */
239
240 /* Put statements here #_TEFB_# */
241 *cbp = ATTR_cbp;
242}
243
244/* #[<ENTRY_FUNC>]# eCellInfo_getINIBP
245 * name: eCellInfo_getINIBP
246 * global_name: nTECSInfo_tCellInfo_eCellInfo_getINIBP
247 * oneway: false
248 * #[</ENTRY_FUNC>]# */
249void
250eCellInfo_getINIBP(CELLIDX idx, void** inibp)
251{
252 CELLCB *p_cellcb;
253 if (VALID_IDX(idx)) {
254 p_cellcb = GET_CELLCB(idx);
255 }
256 else {
257 /* Write error processing code here */
258 } /* end if VALID_IDX(idx) */
259
260 /* Put statements here #_TEFB_# */
261 *inibp = ATTR_inibp;
262}
263
264/* #[<POSTAMBLE>]#
265 * これより下に非受け口関数を書きます
266 * #[</POSTAMBLE>]#*/
Note: See TracBrowser for help on using the repository browser.