source: asp3_tinet_ecnl_rx/trunk/asp3_dcre/tecsgen/tecs/TECSInfo/nTECSInfo_tRegionInfo.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.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* ATTR_name
42 *
43 * 呼び口関数 #_TCPF_#
44 * call port: cCellInfo signature: nTECSInfo_sCellInfo context:task optional:true
45 * bool_t is_cCellInfo_joined(int subscript) check if joined
46 * ER cCellInfo_getName( subscript, char_t* name, int_t max_len );
47 * uint16_t cCellInfo_getNameLength( subscript );
48 * void cCellInfo_getCelltypeInfo( subscript, Descriptor( nTECSInfo_sCelltypeInfo )* desc );
49 * void cCellInfo_getCBP( subscript, void** cbp );
50 * void cCellInfo_getINIBP( subscript, void** inibp );
51 * subscript: 0...(NCP_cCellInfo-1)
52 * [ref_desc]
53 * Descriptor( nTECSInfo_sCellInfo ) cCellInfo_refer_to_descriptor( int_t subscript );
54 * Descriptor( nTECSInfo_sCellInfo ) cCellInfo_ref_desc( int_t subscript ) (same as above; abbreviated version);
55 * call port: cRegionInfo signature: nTECSInfo_sRegionInfo context:task optional:true
56 * bool_t is_cRegionInfo_joined(int subscript) check if joined
57 * ER cRegionInfo_getName( subscript, char_t* name, int_t max_len );
58 * uint16_t cRegionInfo_getNameLength( subscript );
59 * uint32_t cRegionInfo_getNCell( subscript );
60 * ER cRegionInfo_getCellInfo( subscript, uint32_t ith, Descriptor( nTECSInfo_sCellInfo )* des );
61 * uint32_t cRegionInfo_getNRegion( subscript );
62 * ER cRegionInfo_getRegionInfo( subscript, uint32_t ith, Descriptor( nTECSInfo_sRegionInfo )* des );
63 * subscript: 0...(NCP_cRegionInfo-1)
64 * [ref_desc]
65 * Descriptor( nTECSInfo_sRegionInfo ) cRegionInfo_refer_to_descriptor( int_t subscript );
66 * Descriptor( nTECSInfo_sRegionInfo ) cRegionInfo_ref_desc( int_t subscript ) (same as above; abbreviated version);
67 *
68 * #[</PREAMBLE>]# */
69
70/* Put prototype declaration and/or variale definition here #_PAC_# */
71#include <string.h>
72#include "nTECSInfo_tRegionInfo_tecsgen.h"
73
74#ifndef E_OK
75#define E_OK 0 /* success */
76#define E_ID (-18) /* illegal ID */
77#endif
78
79/* entry port function #_TEPF_# */
80/* #[<ENTRY_PORT>]# eRegionInfo
81 * entry port: eRegionInfo
82 * signature: nTECSInfo_sRegionInfo
83 * context: task
84 * #[</ENTRY_PORT>]# */
85
86/* #[<ENTRY_FUNC>]# eRegionInfo_getName
87 * name: eRegionInfo_getName
88 * global_name: nTECSInfo_tRegionInfo_eRegionInfo_getName
89 * oneway: false
90 * #[</ENTRY_FUNC>]# */
91ER
92eRegionInfo_getName(CELLIDX idx, char_t* name, int_t max_len)
93{
94 ER ercd = E_OK;
95 CELLCB *p_cellcb;
96 if (VALID_IDX(idx)) {
97 p_cellcb = GET_CELLCB(idx);
98 }
99 else {
100 return(E_ID);
101 } /* end if VALID_IDX(idx) */
102
103 /* Put statements here #_TEFB_# */
104 name[ max_len - 1 ] = '\0';
105 strncpy( name, ATTR_name, max_len );
106 if( name[ max_len - 1 ] ){
107 name[ max_len - 1 ] = '\0';
108 ercd = E_NOMEM;
109 }
110
111 return(ercd);
112}
113
114/* #[<ENTRY_FUNC>]# eRegionInfo_getNameLength
115 * name: eRegionInfo_getNameLength
116 * global_name: nTECSInfo_tRegionInfo_eRegionInfo_getNameLength
117 * oneway: false
118 * #[</ENTRY_FUNC>]# */
119uint16_t
120eRegionInfo_getNameLength(CELLIDX idx)
121{
122 CELLCB *p_cellcb;
123 if (VALID_IDX(idx)) {
124 p_cellcb = GET_CELLCB(idx);
125 }
126 else {
127 /* Write error processing code here */
128 } /* end if VALID_IDX(idx) */
129
130 /* Put statements here #_TEFB_# */
131 return strlen( ATTR_name ) + 1;
132}
133
134/* #[<ENTRY_FUNC>]# eRegionInfo_getNCell
135 * name: eRegionInfo_getNCell
136 * global_name: nTECSInfo_tRegionInfo_eRegionInfo_getNCell
137 * oneway: false
138 * #[</ENTRY_FUNC>]# */
139uint32_t
140eRegionInfo_getNCell(CELLIDX idx)
141{
142 CELLCB *p_cellcb;
143 if (VALID_IDX(idx)) {
144 p_cellcb = GET_CELLCB(idx);
145 }
146 else {
147 /* Write error processing code here */
148 } /* end if VALID_IDX(idx) */
149
150 /* Put statements here #_TEFB_# */
151 return NCP_cCellInfo;
152}
153
154/* #[<ENTRY_FUNC>]# eRegionInfo_getCellInfo
155 * name: eRegionInfo_getCellInfo
156 * global_name: nTECSInfo_tRegionInfo_eRegionInfo_getCellInfo
157 * oneway: false
158 * #[</ENTRY_FUNC>]# */
159ER
160eRegionInfo_getCellInfo(CELLIDX idx, uint32_t ith, Descriptor( nTECSInfo_sCellInfo )* des)
161{
162 CELLCB *p_cellcb;
163 if (VALID_IDX(idx)) {
164 p_cellcb = GET_CELLCB(idx);
165 }
166 else {
167 /* Write error processing code here */
168 } /* end if VALID_IDX(idx) */
169
170 /* Put statements here #_TEFB_# */
171 *des = cCellInfo_refer_to_descriptor( ith );
172}
173
174/* #[<ENTRY_FUNC>]# eRegionInfo_getNRegion
175 * name: eRegionInfo_getNRegion
176 * global_name: nTECSInfo_tRegionInfo_eRegionInfo_getNRegion
177 * oneway: false
178 * #[</ENTRY_FUNC>]# */
179uint32_t
180eRegionInfo_getNRegion(CELLIDX idx)
181{
182 CELLCB *p_cellcb;
183 if (VALID_IDX(idx)) {
184 p_cellcb = GET_CELLCB(idx);
185 }
186 else {
187 /* Write error processing code here */
188 } /* end if VALID_IDX(idx) */
189
190 /* Put statements here #_TEFB_# */
191 return NCP_cRegionInfo;
192}
193
194/* #[<ENTRY_FUNC>]# eRegionInfo_getRegionInfo
195 * name: eRegionInfo_getRegionInfo
196 * global_name: nTECSInfo_tRegionInfo_eRegionInfo_getRegionInfo
197 * oneway: false
198 * #[</ENTRY_FUNC>]# */
199ER
200eRegionInfo_getRegionInfo(CELLIDX idx, uint32_t ith, Descriptor( nTECSInfo_sRegionInfo )* des)
201{
202 CELLCB *p_cellcb;
203 if (VALID_IDX(idx)) {
204 p_cellcb = GET_CELLCB(idx);
205 }
206 else {
207 /* Write error processing code here */
208 } /* end if VALID_IDX(idx) */
209
210 /* Put statements here #_TEFB_# */
211 *des = cRegionInfo_refer_to_descriptor( ith );
212}
213
214/* #[<POSTAMBLE>]#
215 * これより下に非受け口関数を書きます
216 * #[</POSTAMBLE>]#*/
Note: See TracBrowser for help on using the repository browser.