source: azure_iot_hub/trunk/asp3_dcre/tinet/tinet.trb@ 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:mime-type set to text/x-ruby
File size: 26.4 KB
Line 
1# ======================================================================
2#
3# TINET (TCP/IP Protocol Stack)
4#
5# Copyright (C) 2001-2007 by Dep. of Computer Science and Engineering
6# Tomakomai National College of Technology, JAPAN
7#
8# 上記著作権者
9は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
10# ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
11# 変・再é…
12å¸ƒï¼ˆä»¥ä¸‹ï¼Œåˆ©ç”¨ã¨å‘¼ã¶ï¼‰ã™ã‚‹ã“とを無償で許諾する.
13# (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
14# 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
15# スコード中に含まれていること.
16# (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
17# 用できる形で再é…
18å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é…
19å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
20# 者
21マニュアルなど)に,上記の著作権表示,この利用条件および下記
22# の無保証規定を掲載すること.
23# (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
24# 用できない形で再é…
25å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
26# と.
27# (a) 再é…
28å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€…
29マニュアルなど)に,上記の著
30# 作権表示,この利用条件および下記の無保証規定を掲載すること.
31# (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
32# 害からも,上記著作権者
33およびTOPPERSプロジェクトをå…
34è²¬ã™ã‚‹ã“と.
35# また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
36# 由に基づく請求からも,上記著作権者
37およびTOPPERSプロジェクトを
38# å…
39è²¬ã™ã‚‹ã“と.
40#
41# 本ソフトウェアは,無保証で提供されているものである.上記著作権者
42お
43# よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
44# に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
45# アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
46# の責任を負わない.
47#
48# @(#) $Id$
49#
50# =====================================================================
51
52# =====================================================================
53# tinet_cfg.h の生成
54# =====================================================================
55
56$tinetCfgH = GenFile.new("tinet_cfg.h")
57$tinetCfgH.add("/* tinet_cfg.h */")
58$tinetCfgH.add("#ifndef _TINET_CFG_H_")
59$tinetCfgH.add("#define _TINET_CFG_H_")
60$tinetCfgH.add()
61
62$tinetCfgH.add("#define TNUM_TCP6_REPID #{$cfgData[:TCP6_CRE_REP].size + $cfgData[:VRID_TCP6_REP].size}")
63$tinetCfgH.add("#define TNUM_TCP4_REPID #{$cfgData[:TCP_CRE_REP].size + $cfgData[:VRID_TCP_REP].size}")
64$tinetCfgH.add("#define TNUM_TCP_REPID #{$cfgData[:TCP6_CRE_REP].size + $cfgData[:VRID_TCP6_REP].size + $cfgData[:TCP_CRE_REP].size + $cfgData[:VRID_TCP_REP].size}")
65$tinetCfgH.add()
66
67$tinetCfgH.add("#define TNUM_TCP6_CEPID #{$cfgData[:TCP6_CRE_CEP].size + $cfgData[:VRID_TCP6_CEP].size}")
68$tinetCfgH.add("#define TNUM_TCP4_CEPID #{$cfgData[:TCP_CRE_CEP].size + $cfgData[:VRID_TCP_CEP].size}")
69$tinetCfgH.add("#define TNUM_TCP_CEPID #{$cfgData[:TCP6_CRE_CEP].size + $cfgData[:VRID_TCP6_CEP].size + $cfgData[:TCP_CRE_CEP].size + $cfgData[:VRID_TCP_CEP].size}")
70$tinetCfgH.add()
71
72$tinetCfgH.add("#define TNUM_UDP6_CEPID #{$cfgData[:UDP6_CRE_CEP].size + $cfgData[:VRID_UDP6_CEP].size}")
73$tinetCfgH.add("#define TNUM_UDP4_CEPID #{$cfgData[:UDP_CRE_CEP].size + $cfgData[:VRID_UDP_CEP].size}")
74$tinetCfgH.add("#define TNUM_UDP_CEPID #{$cfgData[:UDP6_CRE_CEP].size + $cfgData[:VRID_UDP6_CEP].size + $cfgData[:UDP_CRE_CEP].size + $cfgData[:VRID_UDP_CEP].size}")
75$tinetCfgH.add()
76
77$cfgData[:TCP6_CRE_REP].each do |key, params|
78 $tinetCfgH.add("#define #{params[:tcp6_repid]} #{params[:tcp6_repid].val}")
79end
80$cfgData[:VRID_TCP6_REP].each do |key, params|
81 $tinetCfgH.add("#define #{params[:vrid_tcp6_repid]} #{params[:vrid_tcp6_repid].val + $cfgData[:TCP6_CRE_REP].size}")
82end
83$cfgData[:TCP_CRE_REP].each do |key, params|
84 $tinetCfgH.add("#define #{params[:tcp4_repid]} #{params[:tcp4_repid].val + $cfgData[:TCP6_CRE_REP].size + $cfgData[:VRID_TCP6_REP].size}")
85end
86$cfgData[:VRID_TCP_REP].each do |key, params|
87 $tinetCfgH.add("#define #{params[:vrid_tcp4_repid]} #{params[:vrid_tcp4_repid].val + $cfgData[:TCP_CRE_REP].size + $cfgData[:TCP6_CRE_REP].size + $cfgData[:VRID_TCP6_REP].size}")
88end
89$tinetCfgH.add()
90
91$cfgData[:TCP6_CRE_CEP].each do |key, params|
92 $tinetCfgH.add("#define #{params[:tcp6_cepid]} #{params[:tcp6_cepid].val}")
93end
94$cfgData[:VRID_TCP6_CEP].each do |key, params|
95 $tinetCfgH.add("#define #{params[:vrid_tcp6_cepid]} #{params[:vrid_tcp6_cepid].val + $cfgData[:TCP6_CRE_CEP].size}")
96end
97$cfgData[:TCP_CRE_CEP].each do |key, params|
98 $tinetCfgH.add("#define #{params[:tcp4_cepid]} #{params[:tcp4_cepid].val + $cfgData[:TCP6_CRE_CEP].size + $cfgData[:VRID_TCP6_CEP].size}")
99end
100$cfgData[:VRID_TCP_CEP].each do |key, params|
101 $tinetCfgH.add("#define #{params[:vrid_tcp4_cepid]} #{params[:vrid_tcp4_cepid].val + $cfgData[:TCP_CRE_CEP].size + $cfgData[:TCP6_CRE_CEP].size + $cfgData[:VRID_TCP6_CEP].size}")
102end
103$tinetCfgH.add()
104
105$cfgData[:UDP6_CRE_CEP].each do |key, params|
106 $tinetCfgH.add("#define #{params[:udp6_cepid]} #{params[:udp6_cepid].val}")
107end
108$cfgData[:VRID_UDP6_CEP].each do |key, params|
109 $tinetCfgH.add("#define #{params[:vrid_udp6_cepid]} #{params[:vrid_udp6_cepid].val + $cfgData[:UDP6_CRE_CEP].size}")
110end
111$cfgData[:UDP_CRE_CEP].each do |key, params|
112 $tinetCfgH.add("#define #{params[:udp4_cepid]} #{params[:udp4_cepid].val + $cfgData[:UDP6_CRE_CEP].size + $cfgData[:VRID_UDP6_CEP].size}")
113end
114$cfgData[:VRID_UDP_CEP].each do |key, params|
115 $tinetCfgH.add("#define #{params[:vrid_udp4_cepid]} #{params[:vrid_udp4_cepid].val + $cfgData[:UDP_CRE_CEP].size + $cfgData[:UDP6_CRE_CEP].size + $cfgData[:VRID_UDP6_CEP].size}")
116end
117$tinetCfgH.add()
118$tinetCfgH.add("#endif /* _TINET_CFG_H_ */")
119
120# =====================================================================
121# tinet_cfg.c の生成
122# =====================================================================
123
124$tinetCfgC = GenFile.new("tinet_cfg.c")
125$tinetCfgC.add(<<EOS)
126/* tinet_cfg.c */
127
128#include <kernel.h>
129#include <sil.h>
130#include "kernel_cfg.h"
131#include "tinet_cfg.h"
132#include <tinet_defs.h>
133#include <tinet_config.h>
134#include <net/if.h>
135#include <net/if_ppp.h>
136#include <net/if_loop.h>
137#include <net/ethernet.h>
138#include <net/net.h>
139#include <net/net_endian.h>
140#include <net/net_buf.h>
141#include <netinet/in.h>
142#include <netinet/in_var.h>
143#include <netinet/in_itron.h>
144#include <netinet/ip.h>
145#include <netinet/tcp.h>
146#include <netinet/tcp_var.h>
147#include <netinet/udp_var.h>
148
149EOS
150#
151# インクルードディレクティブ(#include)
152#
153$tinetCfgC.add()
154$tinetCfgC.add("/*")
155$tinetCfgC.add(" * Include Directives (#include)")
156$tinetCfgC.add(" */")
157$tinetCfgC.add()
158$includeFiles.each do |file|
159 $tinetCfgC.add("#include #{file}")
160end
161
162$tinetCfgC.add()
163$tinetCfgC.add("const ID tmax_tcp_repid = (TMIN_TCP_REPID + TNUM_TCP6_REPID + TNUM_TCP4_REPID - 1);")
164
165$tinetCfgC.add()
166$tinetCfgC.add("#if defined(SUPPORT_INET6) && defined(SUPPORT_INET4)")
167$tinetCfgC.add("const ID tmax_tcp6_repid = (TMIN_TCP6_REPID + TNUM_TCP6_REPID - 1);")
168$tinetCfgC.add("const ID tmax_tcp4_repid = (TMIN_TCP4_REPID + TNUM_TCP4_REPID - 1);")
169$tinetCfgC.add("#endif")
170
171$tinetCfgC.add()
172$tinetCfgC.add("const ID tmax_tcp_cepid = (TMIN_TCP_CEPID + TNUM_TCP6_CEPID + TNUM_TCP4_CEPID - 1);")
173
174$tinetCfgC.add()
175$tinetCfgC.add("#if defined(SUPPORT_INET6) && defined(SUPPORT_INET4)")
176$tinetCfgC.add("const ID tmax_tcp6_cepid = (TMIN_TCP_CEPID + TNUM_TCP6_CEPID - 1);")
177$tinetCfgC.add("const ID tmax_tcp4_cepid = (TMIN_TCP_CEPID + TNUM_TCP4_CEPID - 1);")
178$tinetCfgC.add("#endif")
179
180$tinetCfgC.add()
181$tinetCfgC.add("const ID tmax_udp_cepid = (TMIN_UDP_CEPID + TNUM_UDP6_CEPID + TNUM_UDP4_CEPID - 1);")
182
183$tinetCfgC.add()
184$tinetCfgC.add("#if defined(SUPPORT_INET6) && defined(SUPPORT_INET4)")
185$tinetCfgC.add("const ID tmax_udp6_cepid = (TMIN_UDP6_CEPID + TNUM_UDP6_CEPID - 1);")
186$tinetCfgC.add("const ID tmax_udp4_cepid = (TMIN_UDP4_CEPID + TNUM_UDP4_CEPID - 1);")
187$tinetCfgC.add("#endif")
188
189# // TCP (IPv6) 受付口
190$sem_tcp_rep_lock_id = 0
191if $cfgData[:TCP6_CRE_REP].size > 0 || $cfgData[:VRID_TCP6_REP].size > 0
192 $tinetCfgC.add()
193 $tinetCfgC.add("T_TCP6_REP tcp6_rep[TNUM_TCP6_REPID] = {")
194 $cfgData[:TCP6_CRE_REP].each do |key, params|
195 $tinetCfgC.add("\t{")
196 $tinetCfgC.add("\t\t#{params[:tcp6_repatr]},")
197 $tinetCfgC.add("\t\t{ #{params[:ipv6addr]}, #{params[:portno]} },")
198 $tinetCfgC.add("#if defined(TCP_CFG_EXTENTIONS)")
199 $tinetCfgC.add("\t\tTCP_REP_FLG_VALID,")
200 $tinetCfgC.add("\t\tSEM_TCP_REP_LOCK#{$sem_tcp_rep_lock_id},")
201 $tinetCfgC.add("#endif")
202 $tinetCfgC.add("\t\t},")
203 $sem_tcp_rep_lock_id = $sem_tcp_rep_lock_id + 1
204 end
205 $cfgData[:VRID_TCP6_REP].each do |key, params|
206 $tinetCfgC.add("\t{")
207 $tinetCfgC.add("\t\t0,")
208 $tinetCfgC.add("\t\t{ IPV6_ADDRANY, TCP_PORTANY },")
209 $tinetCfgC.add("#if defined(TCP_CFG_EXTENTIONS)")
210 $tinetCfgC.add("\t\tTCP_REP_FLG_DYNAMIC,")
211 $tinetCfgC.add("\t\tSEM_TCP_REP_LOCK#{$sem_tcp_rep_lock_id},")
212 $tinetCfgC.add("#endif")
213 $tinetCfgC.add("\t\t},")
214 $sem_tcp_rep_lock_id = $sem_tcp_rep_lock_id + 1
215 end
216 $tinetCfgC.add("\t};")
217end
218
219# // TCP (IPv4) 受付口
220if $cfgData[:TCP_CRE_REP].size > 0 || $cfgData[:VRID_TCP_REP].size > 0
221 $tinetCfgC.add()
222 $tinetCfgC.add("T_TCP4_REP tcp4_rep[TNUM_TCP4_REPID] = {")
223 $cfgData[:TCP_CRE_REP].each do |key, params|
224 $tinetCfgC.add("\t{")
225 $tinetCfgC.add("\t\t#{params[:tcp4_repatr]},")
226 $tinetCfgC.add("\t\t{ #{params[:ipv4addr]}, #{params[:portno]} },")
227 $tinetCfgC.add("#if defined(TCP_CFG_EXTENTIONS)")
228 $tinetCfgC.add("\t\tTCP_REP_FLG_VALID,")
229 $tinetCfgC.add("\t\tSEM_TCP_REP_LOCK#{$sem_tcp_rep_lock_id},")
230 $tinetCfgC.add("#endif")
231 $tinetCfgC.add("\t\t},")
232 $sem_tcp_rep_lock_id = $sem_tcp_rep_lock_id + 1
233 end
234 $cfgData[:VRID_TCP_REP].each do |key, params|
235 $tinetCfgC.add("\t{")
236 $tinetCfgC.add("\t\t0,")
237 $tinetCfgC.add("\t\t{ IPV4_ADDRANY, TCP_PORTANY },")
238 $tinetCfgC.add("#if defined(TCP_CFG_EXTENTIONS)")
239 $tinetCfgC.add("\t\tTCP_REP_FLG_DYNAMIC,")
240 $tinetCfgC.add("\t\tSEM_TCP_REP_LOCK#{$sem_tcp_rep_lock_id},")
241 $tinetCfgC.add("#endif")
242 $tinetCfgC.add("\t\t},")
243 $sem_tcp_rep_lock_id = $sem_tcp_rep_lock_id + 1
244 end
245 $tinetCfgC.add("\t};")
246end
247
248# // TCP 通信端点
249if $cfgData[:TCP6_CRE_CEP].size > 0 || $cfgData[:VRID_TCP6_CEP].size > 0 || $cfgData[:TCP_CRE_CEP].size > 0 || $cfgData[:VRID_TCP_CEP].size > 0
250 $tinetCfgC.add()
251 $tinetCfgC.add("T_TCP_CEP tcp_cep[TNUM_TCP6_CEPID + TNUM_TCP4_CEPID] = {")
252 $cfgData[:TCP6_CRE_CEP].each do |key, params|
253 $tinetCfgC.add("\t{")
254 $tinetCfgC.add("\t\t#{params[:tcp6_cepatr]},")
255 $tinetCfgC.add("\t\t(void*)#{params[:sbuf]},")
256 $tinetCfgC.add("\t\t#{params[:sbufsz]},")
257 $tinetCfgC.add("\t\t(void*)#{params[:rbuf]},")
258 $tinetCfgC.add("\t\t#{params[:rbufsz]},")
259 $tinetCfgC.add("\t\t(t_tcp_callback)(FP)#{params[:callback]},")
260 $tinetCfgC.add("\t\tTCP_CEP_FLG_VALID,")
261 $tinetCfgC.add("\t\tSEM_TCP_CEP_LOCK#{params[:tcp6_cepid].val},")
262 $tinetCfgC.add("\t\tFLG_TCP_CEP_EST#{params[:tcp6_cepid].val},")
263 $tinetCfgC.add("\t\tFLG_TCP_CEP_SND#{params[:tcp6_cepid].val},")
264 $tinetCfgC.add("\t\tFLG_TCP_CEP_RCV#{params[:tcp6_cepid].val},")
265 $tinetCfgC.add("\t\t},")
266 end
267 $cfgData[:VRID_TCP6_CEP].each do |key, params|
268 $tinetCfgC.add("\t{")
269 $tinetCfgC.add("\t\t0,")
270 $tinetCfgC.add("\t\t(void*)NULL,")
271 $tinetCfgC.add("\t\t0,")
272 $tinetCfgC.add("\t\t(void*)NULL,")
273 $tinetCfgC.add("\t\t0,")
274 $tinetCfgC.add("\t\t(t_tcp_callback)(FP)NULL,")
275 $tinetCfgC.add("\t\tTCP_CEP_FLG_DYNAMIC,")
276 $tinetCfgC.add("\t\tSEM_TCP_CEP_LOCK#{params[:vrid_tcp6_cepid].val + $cfgData[:TCP6_CRE_CEP].size},")
277 $tinetCfgC.add("\t\tFLG_TCP_CEP_EST#{params[:vrid_tcp6_cepid].val + $cfgData[:TCP6_CRE_CEP].size},")
278 $tinetCfgC.add("\t\tFLG_TCP_CEP_SND#{params[:vrid_tcp6_cepid].val + $cfgData[:TCP6_CRE_CEP].size},")
279 $tinetCfgC.add("\t\tFLG_TCP_CEP_RCV#{params[:vrid_tcp6_cepid].val + $cfgData[:TCP6_CRE_CEP].size},")
280 $tinetCfgC.add("\t\t},")
281 end
282 $cfgData[:TCP_CRE_CEP].each do |key, params|
283 $tinetCfgC.add("\t{")
284 $tinetCfgC.add("\t\t#{params[:tcp4_cepatr]},")
285 $tinetCfgC.add("\t\t(void*)#{params[:sbuf]},")
286 $tinetCfgC.add("\t\t#{params[:sbufsz]},")
287 $tinetCfgC.add("\t\t(void*)#{params[:rbuf]},")
288 $tinetCfgC.add("\t\t#{params[:rbufsz]},")
289 $tinetCfgC.add("\t\t(t_tcp_callback)(FP)#{params[:callback]},")
290 $tinetCfgC.add("\t\tTCP_CEP_FLG_VALID|TCP_CEP_FLG_IPV4,")
291 $tinetCfgC.add("\t\tSEM_TCP_CEP_LOCK#{params[:tcp4_cepid].val + $cfgData[:TCP6_CRE_CEP].size + $cfgData[:VRID_TCP6_CEP].size},")
292 $tinetCfgC.add("\t\tFLG_TCP_CEP_EST#{params[:tcp4_cepid].val + $cfgData[:TCP6_CRE_CEP].size + $cfgData[:VRID_TCP6_CEP].size},")
293 $tinetCfgC.add("\t\tFLG_TCP_CEP_SND#{params[:tcp4_cepid].val + $cfgData[:TCP6_CRE_CEP].size + $cfgData[:VRID_TCP6_CEP].size},")
294 $tinetCfgC.add("\t\tFLG_TCP_CEP_RCV#{params[:tcp4_cepid].val + $cfgData[:TCP6_CRE_CEP].size + $cfgData[:VRID_TCP6_CEP].size},")
295 $tinetCfgC.add("\t\t},")
296 end
297 $cfgData[:VRID_TCP_CEP].each do |key, params|
298 $tinetCfgC.add("\t{")
299 $tinetCfgC.add("\t\t0,")
300 $tinetCfgC.add("\t\t(void*)NULL,")
301 $tinetCfgC.add("\t\t0,")
302 $tinetCfgC.add("\t\t(void*)NULL,")
303 $tinetCfgC.add("\t\t0,")
304 $tinetCfgC.add("\t\t(t_tcp_callback)(FP)NULL,")
305 $tinetCfgC.add("\t\tTCP_CEP_FLG_DYNAMIC|TCP_CEP_FLG_IPV4,")
306 $tinetCfgC.add("\t\tSEM_TCP_CEP_LOCK#{params[:vrid_tcp4_cepid].val + $cfgData[:TCP_CRE_CEP].size + $cfgData[:TCP6_CRE_CEP].size + $cfgData[:VRID_TCP6_CEP].size},")
307 $tinetCfgC.add("\t\tFLG_TCP_CEP_EST#{params[:vrid_tcp4_cepid].val + $cfgData[:TCP_CRE_CEP].size + $cfgData[:TCP6_CRE_CEP].size + $cfgData[:VRID_TCP6_CEP].size},")
308 $tinetCfgC.add("\t\tFLG_TCP_CEP_SND#{params[:vrid_tcp4_cepid].val + $cfgData[:TCP_CRE_CEP].size + $cfgData[:TCP6_CRE_CEP].size + $cfgData[:VRID_TCP6_CEP].size},")
309 $tinetCfgC.add("\t\tFLG_TCP_CEP_RCV#{params[:vrid_tcp4_cepid].val + $cfgData[:TCP_CRE_CEP].size + $cfgData[:TCP6_CRE_CEP].size + $cfgData[:VRID_TCP6_CEP].size},")
310 $tinetCfgC.add("\t\t},")
311 end
312 $tinetCfgC.add("\t};")
313end
314
315# // UDP (IPv6) 通信端点
316if $cfgData[:UDP6_CRE_CEP].size > 0 || $cfgData[:VRID_UDP6_CEP].size > 0
317 $tinetCfgC.add()
318 $tinetCfgC.add("T_UDP6_CEP udp6_cep[TNUM_UDP6_CEPID] = {")
319 $cfgData[:UDP6_CRE_CEP].each do |key, params|
320 $tinetCfgC.add("\t{")
321 $tinetCfgC.add("\t\t#{params[:udp6_cepatr]},")
322 $tinetCfgC.add("\t\t{ #{params[:ipv6addr]}, #{params[:portno]} },")
323 $tinetCfgC.add("\t\t(t_udp_callback)(FP)#{params[:callback]},")
324 $tinetCfgC.add("\t\tUDP_CEP_FLG_VALID,")
325 $tinetCfgC.add("\t\tSEM_UDP6_CEP_LOCK#{params[:udp6_cepid].val},")
326 $tinetCfgC.add("\t\tTA_NULL,")
327 $tinetCfgC.add("\t\tTA_NULL,")
328 $tinetCfgC.add("\t\tDTQ_UDP6_RCVQ#{params[:udp6_cepid].val},")
329 $tinetCfgC.add("\t\t},")
330 end
331 $cfgData[:VRID_UDP6_CEP].each do |key, params|
332 $tinetCfgC.add("\t{")
333 $tinetCfgC.add("\t\t0,")
334 $tinetCfgC.add("\t\t{ IPV6_ADDRANY, UDP_PORTANY },")
335 $tinetCfgC.add("\t\t(t_udp_callback)(FP)NULL,")
336 $tinetCfgC.add("\t\tUDP_CEP_FLG_DYNAMIC,")
337 $tinetCfgC.add("\t\tSEM_UDP6_CEP_LOCK#{params[:vrid_udp6_cepid].val + $cfgData[:UDP6_CRE_CEP].size},")
338 $tinetCfgC.add("\t\tTA_NULL,")
339 $tinetCfgC.add("\t\tTA_NULL,")
340 $tinetCfgC.add("\t\tDTQ_UDP6_RCVQ#{params[:vrid_udp6_cepid].val + $cfgData[:UDP6_CRE_CEP].size},")
341 $tinetCfgC.add("\t\t},")
342 end
343 $tinetCfgC.add("\t};")
344end
345
346# // UDP (IPv4) 通信端点
347if $cfgData[:UDP_CRE_CEP].size > 0 || $cfgData[:VRID_UDP_CEP].size > 0
348 $tinetCfgC.add()
349 $tinetCfgC.add("T_UDP4_CEP udp4_cep[TNUM_UDP4_CEPID] = {")
350 $cfgData[:UDP_CRE_CEP].each do |key, params|
351 $tinetCfgC.add("\t{")
352 $tinetCfgC.add("\t\t#{params[:udp4_cepatr]},")
353 $tinetCfgC.add("\t\t{ #{params[:ipv4addr]}, #{params[:portno]} },")
354 $tinetCfgC.add("\t\t(t_udp_callback)(FP)#{params[:callback]},")
355 $tinetCfgC.add("\t\tUDP_CEP_FLG_VALID,")
356 $tinetCfgC.add("\t\tSEM_UDP4_CEP_LOCK#{params[:udp4_cepid].val},")
357 $tinetCfgC.add("\t\tTA_NULL,")
358 $tinetCfgC.add("\t\tTA_NULL,")
359 $tinetCfgC.add("\t\tDTQ_UDP4_RCVQ#{params[:udp4_cepid].val},")
360 $tinetCfgC.add("\t\t},")
361 end
362 $cfgData[:VRID_UDP_CEP].each do |key, params|
363 $tinetCfgC.add("\t{")
364 $tinetCfgC.add("\t\t0,")
365 $tinetCfgC.add("\t\t{ IPV4_ADDRANY, UDP_PORTANY },")
366 $tinetCfgC.add("\t\t(t_udp_callback)(FP)NULL,")
367 $tinetCfgC.add("\t\tUDP_CEP_FLG_DYNAMIC,")
368 $tinetCfgC.add("\t\tSEM_UDP4_CEP_LOCK#{params[:vrid_udp4_cepid].val + $cfgData[:UDP_CRE_CEP].size},")
369 $tinetCfgC.add("\t\tTA_NULL,")
370 $tinetCfgC.add("\t\tTA_NULL,")
371 $tinetCfgC.add("\t\tDTQ_UDP4_RCVQ#{params[:vrid_udp4_cepid].val + $cfgData[:UDP_CRE_CEP].size},")
372 $tinetCfgC.add("\t\t},")
373 end
374 $tinetCfgC.add("\t};")
375end
376
377# =====================================================================
378# tinet_kern.cfg の生成
379# =====================================================================
380
381# // TCP (IPv6) 受付口
382$sem_tcp_rep_lock_id = 0
383if $cfgData[:TCP6_CRE_REP].size > 0 || $cfgData[:VRID_TCP6_REP].size > 0
384 $cfgData[:TCP6_CRE_REP].each do |key, params|
385 cfgInfo = { APINAME: "CRE_SEM" }
386 cfgInfo["semid"] = "SEM_TCP_REP_LOCK#{$sem_tcp_rep_lock_id}"
387 cfgInfo["sematr"] = NumStr.new($TA_TPRI, "TA_TPRI")
388 cfgInfo["isemcnt"] = 1
389 cfgInfo["maxsem"] = 1
390 $cfgFileInfo.push(cfgInfo)
391
392 $sem_tcp_rep_lock_id = $sem_tcp_rep_lock_id + 1
393 end
394 $cfgData[:VRID_TCP6_REP].each do |key, params|
395 cfgInfo = { APINAME: "CRE_SEM" }
396 cfgInfo["semid"] = "SEM_TCP_REP_LOCK#{$sem_tcp_rep_lock_id}"
397 cfgInfo["sematr"] = NumStr.new($TA_TPRI, "TA_TPRI")
398 cfgInfo["isemcnt"] = 1
399 cfgInfo["maxsem"] = 1
400 $cfgFileInfo.push(cfgInfo)
401
402 $sem_tcp_rep_lock_id = $sem_tcp_rep_lock_id + 1
403 end
404end
405
406# // TCP (IPv4) 受付口
407if $cfgData[:TCP_CRE_REP].size > 0 || $cfgData[:VRID_TCP_REP].size > 0
408 $cfgData[:TCP_CRE_REP].each do |key, params|
409 cfgInfo = { APINAME: "CRE_SEM" }
410 cfgInfo["semid"] = "SEM_TCP_REP_LOCK#{$sem_tcp_rep_lock_id}"
411 cfgInfo["sematr"] = NumStr.new($TA_TPRI, "TA_TPRI")
412 cfgInfo["isemcnt"] = 1
413 cfgInfo["maxsem"] = 1
414 $cfgFileInfo.push(cfgInfo)
415
416 $sem_tcp_rep_lock_id = $sem_tcp_rep_lock_id + 1
417 end
418 $cfgData[:VRID_TCP_REP].each do |key, params|
419 cfgInfo = { APINAME: "CRE_SEM" }
420 cfgInfo["semid"] = "SEM_TCP_REP_LOCK#{$sem_tcp_rep_lock_id}"
421 cfgInfo["sematr"] = NumStr.new($TA_TPRI, "TA_TPRI")
422 cfgInfo["isemcnt"] = 1
423 cfgInfo["maxsem"] = 1
424 $cfgFileInfo.push(cfgInfo)
425
426 $sem_tcp_rep_lock_id = $sem_tcp_rep_lock_id + 1
427 end
428end
429
430# // TCP (IPv6) 通信端点
431if $cfgData[:TCP6_CRE_CEP].size > 0 || $cfgData[:VRID_TCP6_CEP].size > 0
432 $cfgData[:TCP6_CRE_CEP].each do |key, params|
433 cfgInfo = { APINAME: "CRE_SEM" }
434 cfgInfo["semid"] = "SEM_TCP_CEP_LOCK#{params[:tcp6_cepid].val}"
435 cfgInfo["sematr"] = NumStr.new($TA_TPRI, "TA_TPRI")
436 cfgInfo["isemcnt"] = 1
437 cfgInfo["maxsem"] = 1
438 $cfgFileInfo.push(cfgInfo)
439
440 cfgInfo = { APINAME: "CRE_FLG" }
441 cfgInfo["flgid"] = "FLG_TCP_CEP_EST#{params[:tcp6_cepid].val}"
442 cfgInfo["flgatr"] = NumStr.new($TA_TFIFO | $TA_WSGL, "TA_TFIFO|TA_WSGL")
443 cfgInfo["iflgptn"] = NumStr.new($TCP_CEP_EVT_CLOSED, "TCP_CEP_EVT_CLOSED")
444 $cfgFileInfo.push(cfgInfo)
445
446 cfgInfo = { APINAME: "CRE_FLG" }
447 cfgInfo["flgid"] = "FLG_TCP_CEP_SND#{params[:tcp6_cepid].val}"
448 cfgInfo["flgatr"] = NumStr.new($TA_TFIFO | $TA_WSGL, "TA_TFIFO|TA_WSGL")
449 cfgInfo["iflgptn"] = NumStr.new($TCP_CEP_EVT_SWBUF_READY, "TCP_CEP_EVT_SWBUF_READY")
450 $cfgFileInfo.push(cfgInfo)
451
452 cfgInfo = { APINAME: "CRE_FLG" }
453 cfgInfo["flgid"] = "FLG_TCP_CEP_RCV#{params[:tcp6_cepid].val}"
454 cfgInfo["flgatr"] = NumStr.new($TA_TFIFO | $TA_WSGL, "TA_TFIFO|TA_WSGL")
455 cfgInfo["iflgptn"] = 0
456 $cfgFileInfo.push(cfgInfo)
457 end
458 $cfgData[:VRID_TCP6_CEP].each do |key, params|
459 cfgInfo = { APINAME: "CRE_SEM" }
460 cfgInfo["semid"] = "SEM_TCP_CEP_LOCK#{params[:vrid_tcp6_cepid].val + $cfgData[:TCP6_CRE_CEP].size}"
461 cfgInfo["sematr"] = NumStr.new($TA_TPRI, "TA_TPRI")
462 cfgInfo["isemcnt"] = 1
463 cfgInfo["maxsem"] = 1
464 $cfgFileInfo.push(cfgInfo)
465
466 cfgInfo = { APINAME: "CRE_FLG" }
467 cfgInfo["flgid"] = "FLG_TCP_CEP_EST#{params[:vrid_tcp6_cepid].val + $cfgData[:TCP6_CRE_CEP].size}"
468 cfgInfo["flgatr"] = NumStr.new($TA_TFIFO | $TA_WSGL, "TA_TFIFO|TA_WSGL")
469 cfgInfo["iflgptn"] = NumStr.new($TCP_CEP_EVT_CLOSED, "TCP_CEP_EVT_CLOSED")
470 $cfgFileInfo.push(cfgInfo)
471
472 cfgInfo = { APINAME: "CRE_FLG" }
473 cfgInfo["flgid"] = "FLG_TCP_CEP_SND#{params[:vrid_tcp6_cepid].val + $cfgData[:TCP6_CRE_CEP].size}"
474 cfgInfo["flgatr"] = NumStr.new($TA_TFIFO | $TA_WSGL, "TA_TFIFO|TA_WSGL")
475 cfgInfo["iflgptn"] = NumStr.new($TCP_CEP_EVT_SWBUF_READY, "TCP_CEP_EVT_SWBUF_READY")
476 $cfgFileInfo.push(cfgInfo)
477
478 cfgInfo = { APINAME: "CRE_FLG" }
479 cfgInfo["flgid"] = "FLG_TCP_CEP_RCV#{params[:vrid_tcp6_cepid].val + $cfgData[:TCP6_CRE_CEP].size}"
480 cfgInfo["flgatr"] = NumStr.new($TA_TFIFO | $TA_WSGL, "TA_TFIFO|TA_WSGL")
481 cfgInfo["iflgptn"] = 0
482 $cfgFileInfo.push(cfgInfo)
483 end
484end
485
486# // TCP (IPv4) 通信端点
487if $cfgData[:TCP_CRE_CEP].size > 0 || $cfgData[:VRID_TCP_CEP].size > 0
488 $cfgData[:TCP_CRE_CEP].each do |key, params|
489 cfgInfo = { APINAME: "CRE_SEM" }
490 cfgInfo["semid"] = "SEM_TCP_CEP_LOCK#{params[:tcp4_cepid].val + $cfgData[:TCP6_CRE_CEP].size + $cfgData[:VRID_TCP6_CEP].size}"
491 cfgInfo["sematr"] = NumStr.new($TA_TPRI, "TA_TPRI")
492 cfgInfo["isemcnt"] = 1
493 cfgInfo["maxsem"] = 1
494 $cfgFileInfo.push(cfgInfo)
495
496 cfgInfo = { APINAME: "CRE_FLG" }
497 cfgInfo["flgid"] = "FLG_TCP_CEP_EST#{params[:tcp4_cepid].val + $cfgData[:TCP6_CRE_CEP].size + $cfgData[:VRID_TCP6_CEP].size}"
498 cfgInfo["flgatr"] = NumStr.new($TA_TFIFO | $TA_WSGL, "TA_TFIFO|TA_WSGL")
499 cfgInfo["iflgptn"] = NumStr.new($TCP_CEP_EVT_CLOSED, "TCP_CEP_EVT_CLOSED")
500 $cfgFileInfo.push(cfgInfo)
501
502 cfgInfo = { APINAME: "CRE_FLG" }
503 cfgInfo["flgid"] = "FLG_TCP_CEP_SND#{params[:tcp4_cepid].val + $cfgData[:TCP6_CRE_CEP].size + $cfgData[:VRID_TCP6_CEP].size}"
504 cfgInfo["flgatr"] = NumStr.new($TA_TFIFO | $TA_WSGL, "TA_TFIFO|TA_WSGL")
505 cfgInfo["iflgptn"] = NumStr.new($TCP_CEP_EVT_SWBUF_READY, "TCP_CEP_EVT_SWBUF_READY")
506 $cfgFileInfo.push(cfgInfo)
507
508 cfgInfo = { APINAME: "CRE_FLG" }
509 cfgInfo["flgid"] = "FLG_TCP_CEP_RCV#{params[:tcp4_cepid].val + $cfgData[:TCP6_CRE_CEP].size + $cfgData[:VRID_TCP6_CEP].size}"
510 cfgInfo["flgatr"] = NumStr.new($TA_TFIFO | $TA_WSGL, "TA_TFIFO|TA_WSGL")
511 cfgInfo["iflgptn"] = 0
512 $cfgFileInfo.push(cfgInfo)
513 end
514 $cfgData[:VRID_TCP_CEP].each do |key, params|
515 cfgInfo = { APINAME: "CRE_SEM" }
516 cfgInfo["semid"] = "SEM_TCP_CEP_LOCK#{params[:vrid_tcp4_cepid].val + $cfgData[:TCP_CRE_CEP].size + $cfgData[:TCP6_CRE_CEP].size + $cfgData[:VRID_TCP6_CEP].size}"
517 cfgInfo["sematr"] = NumStr.new($TA_TPRI, "TA_TPRI")
518 cfgInfo["isemcnt"] = 1
519 cfgInfo["maxsem"] = 1
520 $cfgFileInfo.push(cfgInfo)
521
522 cfgInfo = { APINAME: "CRE_FLG" }
523 cfgInfo["flgid"] = "FLG_TCP_CEP_EST#{params[:vrid_tcp4_cepid].val + $cfgData[:TCP_CRE_CEP].size + $cfgData[:TCP6_CRE_CEP].size + $cfgData[:VRID_TCP6_CEP].size}"
524 cfgInfo["flgatr"] = NumStr.new($TA_TFIFO | $TA_WSGL, "TA_TFIFO|TA_WSGL")
525 cfgInfo["iflgptn"] = NumStr.new($TCP_CEP_EVT_CLOSED, "TCP_CEP_EVT_CLOSED")
526 $cfgFileInfo.push(cfgInfo)
527
528 cfgInfo = { APINAME: "CRE_FLG" }
529 cfgInfo["flgid"] = "FLG_TCP_CEP_SND#{params[:vrid_tcp4_cepid].val + $cfgData[:TCP_CRE_CEP].size + $cfgData[:TCP6_CRE_CEP].size + $cfgData[:VRID_TCP6_CEP].size}"
530 cfgInfo["flgatr"] = NumStr.new($TA_TFIFO | $TA_WSGL, "TA_TFIFO|TA_WSGL")
531 cfgInfo["iflgptn"] = NumStr.new($TCP_CEP_EVT_SWBUF_READY, "TCP_CEP_EVT_SWBUF_READY")
532 $cfgFileInfo.push(cfgInfo)
533
534 cfgInfo = { APINAME: "CRE_FLG" }
535 cfgInfo["flgid"] = "FLG_TCP_CEP_RCV#{params[:vrid_tcp4_cepid].val + $cfgData[:TCP_CRE_CEP].size + $cfgData[:TCP6_CRE_CEP].size + $cfgData[:VRID_TCP6_CEP].size}"
536 cfgInfo["flgatr"] = NumStr.new($TA_TFIFO | $TA_WSGL, "TA_TFIFO|TA_WSGL")
537 cfgInfo["iflgptn"] = 0
538 $cfgFileInfo.push(cfgInfo)
539 end
540end
541
542# // UDP (IPv6) 通信端点
543if $cfgData[:UDP6_CRE_CEP].size > 0 || $cfgData[:VRID_UDP6_CEP].size > 0
544 $cfgData[:UDP6_CRE_CEP].each do |key, params|
545 cfgInfo = { APINAME: "CRE_SEM" }
546 cfgInfo["semid"] = "SEM_UDP6_CEP_LOCK#{params[:udp6_cepid].val}"
547 cfgInfo["sematr"] = NumStr.new($TA_TPRI, "TA_TPRI")
548 cfgInfo["isemcnt"] = 1
549 cfgInfo["maxsem"] = 1
550 $cfgFileInfo.push(cfgInfo)
551
552 cfgInfo = { APINAME: "CRE_DTQ" }
553 cfgInfo["dtqid"] = "DTQ_UDP6_RCVQ#{params[:udp6_cepid].val}"
554 cfgInfo["dtqatr"] = NumStr.new($TA_TFIFO, "TA_TFIFO")
555 cfgInfo["dtqcnt"] = NumStr.new($NUM_DTQ_UDP_RCVQ, "NUM_DTQ_UDP_RCVQ")
556 #cfgInfo["dtqmb"] = NumStr.new($NULL, "NULL")
557 $cfgFileInfo.push(cfgInfo)
558 end
559 $cfgData[:VRID_UDP6_CEP].each do |key, params|
560 cfgInfo = { APINAME: "CRE_SEM" }
561 cfgInfo["semid"] = "SEM_UDP6_CEP_LOCK#{params[:vrid_udp6_cepid].val + $cfgData[:UDP6_CRE_CEP].size}"
562 cfgInfo["sematr"] = NumStr.new($TA_TPRI, "TA_TPRI")
563 cfgInfo["isemcnt"] = 1
564 cfgInfo["maxsem"] = 1
565 $cfgFileInfo.push(cfgInfo)
566
567 cfgInfo = { APINAME: "CRE_DTQ" }
568 cfgInfo["dtqid"] = "DTQ_UDP6_RCVQ#{params[:vrid_udp6_cepid].val + $cfgData[:UDP6_CRE_CEP].size}"
569 cfgInfo["dtqatr"] = NumStr.new($TA_TFIFO, "TA_TFIFO")
570 cfgInfo["dtqcnt"] = NumStr.new($NUM_DTQ_UDP_RCVQ, "NUM_DTQ_UDP_RCVQ")
571 #cfgInfo["dtqmb"] = NumStr.new($NULL, "NULL")
572 $cfgFileInfo.push(cfgInfo)
573 end
574end
575
576# // UDP (IPv4) 通信端点
577if $cfgData[:UDP_CRE_CEP].size > 0 || $cfgData[:VRID_UDP_CEP].size > 0
578 $cfgData[:UDP_CRE_CEP].each do |key, params|
579 cfgInfo = { APINAME: "CRE_SEM" }
580 cfgInfo["semid"] = "SEM_UDP4_CEP_LOCK#{params[:udp4_cepid].val}"
581 cfgInfo["sematr"] = NumStr.new($TA_TPRI, "TA_TPRI")
582 cfgInfo["isemcnt"] = 1
583 cfgInfo["maxsem"] = 1
584 $cfgFileInfo.push(cfgInfo)
585
586 cfgInfo = { APINAME: "CRE_DTQ" }
587 cfgInfo["dtqid"] = "DTQ_UDP4_RCVQ#{params[:udp4_cepid].val}"
588 cfgInfo["dtqatr"] = NumStr.new($TA_TFIFO, "TA_TFIFO")
589 cfgInfo["dtqcnt"] = NumStr.new($NUM_DTQ_UDP_RCVQ, "NUM_DTQ_UDP_RCVQ")
590 #cfgInfo["dtqmb"] = NumStr.new($NULL, "NULL")
591 $cfgFileInfo.push(cfgInfo)
592 end
593 $cfgData[:VRID_UDP_CEP].each do |key, params|
594 cfgInfo = { APINAME: "CRE_SEM" }
595 cfgInfo["semid"] = "SEM_UDP4_CEP_LOCK#{params[:vrid_udp4_cepid].val + $cfgData[:UDP_CRE_CEP].size}"
596 cfgInfo["sematr"] = NumStr.new($TA_TPRI, "TA_TPRI")
597 cfgInfo["isemcnt"] = 1
598 cfgInfo["maxsem"] = 1
599 $cfgFileInfo.push(cfgInfo)
600
601 cfgInfo = { APINAME: "CRE_DTQ" }
602 cfgInfo["dtqid"] = "DTQ_UDP4_RCVQ#{params[:vrid_udp4_cepid].val + $cfgData[:UDP_CRE_CEP].size}"
603 cfgInfo["dtqatr"] = NumStr.new($TA_TFIFO, "TA_TFIFO")
604 cfgInfo["dtqcnt"] = NumStr.new($NUM_DTQ_UDP_RCVQ, "NUM_DTQ_UDP_RCVQ")
605 #cfgInfo["dtqmb"] = NumStr.new($NULL, "NULL")
606 $cfgFileInfo.push(cfgInfo)
607 end
608end
Note: See TracBrowser for help on using the repository browser.