source: rubycfg_asp/trunk/asp_dcre/tinet/tinet.trb@ 313

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

ソースを追加

  • 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: tinet.tf 824 2015-12-22 10:05:13Z coas-nagasima $
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_buf.h>
140#include <netinet/in.h>
141#include <netinet/in_var.h>
142#include <netinet/in_itron.h>
143#include <netinet/ip.h>
144#include <netinet/tcp.h>
145#include <netinet/tcp_var.h>
146#include <netinet/udp_var.h>
147
148EOS
149#
150# インクルードディレクティブ(#include)
151#
152$tinetCfgC.add()
153$tinetCfgC.add("/*")
154$tinetCfgC.add(" * Include Directives (#include)")
155$tinetCfgC.add(" */")
156$tinetCfgC.add()
157$includeFiles.each do |file|
158 $tinetCfgC.add("#include #{file}")
159end
160
161$tinetCfgC.add()
162$tinetCfgC.add("const ID tmax_tcp_repid = (TMIN_TCP_REPID + TNUM_TCP6_REPID + TNUM_TCP4_REPID - 1);")
163
164$tinetCfgC.add()
165$tinetCfgC.add("#if defined(SUPPORT_INET6) && defined(SUPPORT_INET4)")
166$tinetCfgC.add("const ID tmax_tcp6_repid = (TMIN_TCP6_REPID + TNUM_TCP6_REPID - 1);")
167$tinetCfgC.add("const ID tmax_tcp4_repid = (TMIN_TCP4_REPID + TNUM_TCP4_REPID - 1);")
168$tinetCfgC.add("#endif")
169
170$tinetCfgC.add()
171$tinetCfgC.add("const ID tmax_tcp_cepid = (TMIN_TCP_CEPID + TNUM_TCP6_CEPID + TNUM_TCP4_CEPID - 1);")
172
173$tinetCfgC.add()
174$tinetCfgC.add("#if defined(SUPPORT_INET6) && defined(SUPPORT_INET4)")
175$tinetCfgC.add("const ID tmax_tcp6_cepid = (TMIN_TCP_CEPID + TNUM_TCP6_CEPID - 1);")
176$tinetCfgC.add("const ID tmax_tcp4_cepid = (TMIN_TCP_CEPID + TNUM_TCP4_CEPID - 1);")
177$tinetCfgC.add("#endif")
178
179$tinetCfgC.add()
180$tinetCfgC.add("const ID tmax_udp_cepid = (TMIN_UDP_CEPID + TNUM_UDP6_CEPID + TNUM_UDP4_CEPID - 1);")
181
182$tinetCfgC.add()
183$tinetCfgC.add("#if defined(SUPPORT_INET6) && defined(SUPPORT_INET4)")
184$tinetCfgC.add("const ID tmax_udp6_cepid = (TMIN_UDP6_CEPID + TNUM_UDP6_CEPID - 1);")
185$tinetCfgC.add("const ID tmax_udp4_cepid = (TMIN_UDP4_CEPID + TNUM_UDP4_CEPID - 1);")
186$tinetCfgC.add("#endif")
187
188# // TCP (IPv6) 受付口
189$sem_tcp_rep_lock_id = 0
190if $cfgData[:TCP6_CRE_REP].size > 0 || $cfgData[:VRID_TCP6_REP].size > 0
191 $tinetCfgC.add()
192 $tinetCfgC.add("T_TCP6_REP tcp6_rep[TNUM_TCP6_REPID] = {")
193 $cfgData[:TCP6_CRE_REP].each do |key, params|
194 $tinetCfgC.add("\t{")
195 $tinetCfgC.add("\t\t#{params[:tcp6_repatr]},")
196 $tinetCfgC.add("\t\t{ #{params[:ipv6addr]}, #{params[:portno]} },")
197 $tinetCfgC.add("#if defined(TCP_CFG_EXTENTIONS)")
198 $tinetCfgC.add("\t\tTCP_REP_FLG_VALID,")
199 $tinetCfgC.add("\t\tSEM_TCP_REP_LOCK#{$sem_tcp_rep_lock_id},")
200 $tinetCfgC.add("#endif")
201 $tinetCfgC.add("\t\t},")
202 $sem_tcp_rep_lock_id = $sem_tcp_rep_lock_id + 1
203 end
204 $cfgData[:VRID_TCP6_REP].each do |key, params|
205 $tinetCfgC.add("\t{")
206 $tinetCfgC.add("\t\t0,")
207 $tinetCfgC.add("\t\t{ IPV6_ADDRANY, TCP_PORTANY },")
208 $tinetCfgC.add("#if defined(TCP_CFG_EXTENTIONS)")
209 $tinetCfgC.add("\t\tTCP_REP_FLG_DYNAMIC,")
210 $tinetCfgC.add("\t\tSEM_TCP_REP_LOCK#{$sem_tcp_rep_lock_id},")
211 $tinetCfgC.add("#endif")
212 $tinetCfgC.add("\t\t},")
213 $sem_tcp_rep_lock_id = $sem_tcp_rep_lock_id + 1
214 end
215 $tinetCfgC.add("\t};")
216end
217
218# // TCP (IPv4) 受付口
219if $cfgData[:TCP_CRE_REP].size > 0 || $cfgData[:VRID_TCP_REP].size > 0
220 $tinetCfgC.add()
221 $tinetCfgC.add("T_TCP4_REP tcp4_rep[TNUM_TCP4_REPID] = {")
222 $cfgData[:TCP_CRE_REP].each do |key, params|
223 $tinetCfgC.add("\t{")
224 $tinetCfgC.add("\t\t#{params[:tcp4_repatr]},")
225 $tinetCfgC.add("\t\t{ #{params[:ipv4addr]}, #{params[:portno]} },")
226 $tinetCfgC.add("#if defined(TCP_CFG_EXTENTIONS)")
227 $tinetCfgC.add("\t\tTCP_REP_FLG_VALID,")
228 $tinetCfgC.add("\t\tSEM_TCP_REP_LOCK#{$sem_tcp_rep_lock_id},")
229 $tinetCfgC.add("#endif")
230 $tinetCfgC.add("\t\t},")
231 $sem_tcp_rep_lock_id = $sem_tcp_rep_lock_id + 1
232 end
233 $cfgData[:VRID_TCP_REP].each do |key, params|
234 $tinetCfgC.add("\t{")
235 $tinetCfgC.add("\t\t0,")
236 $tinetCfgC.add("\t\t{ IPV4_ADDRANY, TCP_PORTANY },")
237 $tinetCfgC.add("#if defined(TCP_CFG_EXTENTIONS)")
238 $tinetCfgC.add("\t\tTCP_REP_FLG_DYNAMIC,")
239 $tinetCfgC.add("\t\tSEM_TCP_REP_LOCK#{$sem_tcp_rep_lock_id},")
240 $tinetCfgC.add("#endif")
241 $tinetCfgC.add("\t\t},")
242 $sem_tcp_rep_lock_id = $sem_tcp_rep_lock_id + 1
243 end
244 $tinetCfgC.add("\t};")
245end
246
247# // TCP 通信端点
248if $cfgData[:TCP6_CRE_CEP].size > 0 || $cfgData[:VRID_TCP6_CEP].size > 0 || $cfgData[:TCP_CRE_CEP].size > 0 || $cfgData[:VRID_TCP_CEP].size > 0
249 $tinetCfgC.add()
250 $tinetCfgC.add("T_TCP_CEP tcp_cep[TNUM_TCP6_CEPID + TNUM_TCP4_CEPID] = {")
251 $cfgData[:TCP6_CRE_CEP].each do |key, params|
252 $tinetCfgC.add("\t{")
253 $tinetCfgC.add("\t\t#{params[:tcp6_cepatr]},")
254 $tinetCfgC.add("\t\t(void*)#{params[:sbuf]},")
255 $tinetCfgC.add("\t\t#{params[:sbufsz]},")
256 $tinetCfgC.add("\t\t(void*)#{params[:rbuf]},")
257 $tinetCfgC.add("\t\t#{params[:rbufsz]},")
258 $tinetCfgC.add("\t\t(t_tcp_callback)(FP)#{params[:callback]},")
259 $tinetCfgC.add("\t\tTCP_CEP_FLG_VALID,")
260 $tinetCfgC.add("\t\tSEM_TCP_CEP_LOCK#{params[:tcp6_cepid].val},")
261 $tinetCfgC.add("\t\tFLG_TCP_CEP_EST#{params[:tcp6_cepid].val},")
262 $tinetCfgC.add("\t\tFLG_TCP_CEP_SND#{params[:tcp6_cepid].val},")
263 $tinetCfgC.add("\t\tFLG_TCP_CEP_RCV#{params[:tcp6_cepid].val},")
264 $tinetCfgC.add("\t\t},")
265 end
266 $cfgData[:VRID_TCP6_CEP].each do |key, params|
267 $tinetCfgC.add("\t{")
268 $tinetCfgC.add("\t\t0,")
269 $tinetCfgC.add("\t\t(void*)NULL,")
270 $tinetCfgC.add("\t\t0,")
271 $tinetCfgC.add("\t\t(void*)NULL,")
272 $tinetCfgC.add("\t\t0,")
273 $tinetCfgC.add("\t\t(t_tcp_callback)(FP)NULL,")
274 $tinetCfgC.add("\t\tTCP_CEP_FLG_DYNAMIC,")
275 $tinetCfgC.add("\t\tSEM_TCP_CEP_LOCK#{params[:vrid_tcp6_cepid].val + $cfgData[:TCP6_CRE_CEP].size},")
276 $tinetCfgC.add("\t\tFLG_TCP_CEP_EST#{params[:vrid_tcp6_cepid].val + $cfgData[:TCP6_CRE_CEP].size},")
277 $tinetCfgC.add("\t\tFLG_TCP_CEP_SND#{params[:vrid_tcp6_cepid].val + $cfgData[:TCP6_CRE_CEP].size},")
278 $tinetCfgC.add("\t\tFLG_TCP_CEP_RCV#{params[:vrid_tcp6_cepid].val + $cfgData[:TCP6_CRE_CEP].size},")
279 $tinetCfgC.add("\t\t},")
280 end
281 $cfgData[:TCP_CRE_CEP].each do |key, params|
282 $tinetCfgC.add("\t{")
283 $tinetCfgC.add("\t\t#{params[:tcp4_cepatr]},")
284 $tinetCfgC.add("\t\t(void*)#{params[:sbuf]},")
285 $tinetCfgC.add("\t\t#{params[:sbufsz]},")
286 $tinetCfgC.add("\t\t(void*)#{params[:rbuf]},")
287 $tinetCfgC.add("\t\t#{params[:rbufsz]},")
288 $tinetCfgC.add("\t\t(t_tcp_callback)(FP)#{params[:callback]},")
289 $tinetCfgC.add("\t\tTCP_CEP_FLG_VALID|TCP_CEP_FLG_IPV4,")
290 $tinetCfgC.add("\t\tSEM_TCP_CEP_LOCK#{params[:tcp4_cepid].val + $cfgData[:TCP6_CRE_CEP].size + $cfgData[:VRID_TCP6_CEP].size},")
291 $tinetCfgC.add("\t\tFLG_TCP_CEP_EST#{params[:tcp4_cepid].val + $cfgData[:TCP6_CRE_CEP].size + $cfgData[:VRID_TCP6_CEP].size},")
292 $tinetCfgC.add("\t\tFLG_TCP_CEP_SND#{params[:tcp4_cepid].val + $cfgData[:TCP6_CRE_CEP].size + $cfgData[:VRID_TCP6_CEP].size},")
293 $tinetCfgC.add("\t\tFLG_TCP_CEP_RCV#{params[:tcp4_cepid].val + $cfgData[:TCP6_CRE_CEP].size + $cfgData[:VRID_TCP6_CEP].size},")
294 $tinetCfgC.add("\t\t},")
295 end
296 $cfgData[:VRID_TCP_CEP].each do |key, params|
297 $tinetCfgC.add("\t{")
298 $tinetCfgC.add("\t\t0,")
299 $tinetCfgC.add("\t\t(void*)NULL,")
300 $tinetCfgC.add("\t\t0,")
301 $tinetCfgC.add("\t\t(void*)NULL,")
302 $tinetCfgC.add("\t\t0,")
303 $tinetCfgC.add("\t\t(t_tcp_callback)(FP)NULL,")
304 $tinetCfgC.add("\t\tTCP_CEP_FLG_DYNAMIC|TCP_CEP_FLG_IPV4,")
305 $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},")
306 $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},")
307 $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},")
308 $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},")
309 $tinetCfgC.add("\t\t},")
310 end
311 $tinetCfgC.add("\t};")
312end
313
314# // UDP (IPv6) 通信端点
315if $cfgData[:UDP6_CRE_CEP].size > 0 || $cfgData[:VRID_UDP6_CEP].size > 0
316 $tinetCfgC.add()
317 $tinetCfgC.add("T_UDP6_CEP udp6_cep[TNUM_UDP6_CEPID] = {")
318 $cfgData[:UDP6_CRE_CEP].each do |key, params|
319 $tinetCfgC.add("\t{")
320 $tinetCfgC.add("\t\t#{params[:udp6_cepatr]},")
321 $tinetCfgC.add("\t\t{ #{params[:ipv6addr]}, #{params[:portno]} },")
322 $tinetCfgC.add("\t\t(t_udp_callback)(FP)#{params[:callback]},")
323 $tinetCfgC.add("\t\tUDP_CEP_FLG_VALID,")
324 $tinetCfgC.add("\t\tSEM_UDP6_CEP_LOCK#{params[:udp6_cepid].val},")
325 $tinetCfgC.add("\t\tTA_NULL,")
326 $tinetCfgC.add("\t\tTA_NULL,")
327 $tinetCfgC.add("\t\tDTQ_UDP6_RCVQ#{params[:udp6_cepid].val},")
328 $tinetCfgC.add("\t\t},")
329 end
330 $cfgData[:VRID_UDP6_CEP].each do |key, params|
331 $tinetCfgC.add("\t{")
332 $tinetCfgC.add("\t\t0,")
333 $tinetCfgC.add("\t\t{ IPV6_ADDRANY, UDP_PORTANY },")
334 $tinetCfgC.add("\t\t(t_udp_callback)(FP)NULL,")
335 $tinetCfgC.add("\t\tUDP_CEP_FLG_DYNAMIC,")
336 $tinetCfgC.add("\t\tSEM_UDP6_CEP_LOCK#{params[:vrid_udp6_cepid].val + $cfgData[:UDP6_CRE_CEP].size},")
337 $tinetCfgC.add("\t\tTA_NULL,")
338 $tinetCfgC.add("\t\tTA_NULL,")
339 $tinetCfgC.add("\t\tDTQ_UDP6_RCVQ#{params[:vrid_udp6_cepid].val + $cfgData[:UDP6_CRE_CEP].size},")
340 $tinetCfgC.add("\t\t},")
341 end
342 $tinetCfgC.add("\t};")
343end
344
345# // UDP (IPv4) 通信端点
346if $cfgData[:UDP_CRE_CEP].size > 0 || $cfgData[:VRID_UDP_CEP].size > 0
347 $tinetCfgC.add()
348 $tinetCfgC.add("T_UDP4_CEP udp4_cep[TNUM_UDP4_CEPID] = {")
349 $cfgData[:UDP_CRE_CEP].each do |key, params|
350 $tinetCfgC.add("\t{")
351 $tinetCfgC.add("\t\t#{params[:udp4_cepatr]},")
352 $tinetCfgC.add("\t\t{ #{params[:ipv4addr]}, #{params[:portno]} },")
353 $tinetCfgC.add("\t\t(t_udp_callback)(FP)#{params[:callback]},")
354 $tinetCfgC.add("\t\tUDP_CEP_FLG_VALID,")
355 $tinetCfgC.add("\t\tSEM_UDP4_CEP_LOCK#{params[:udp4_cepid].val},")
356 $tinetCfgC.add("\t\tTA_NULL,")
357 $tinetCfgC.add("\t\tTA_NULL,")
358 $tinetCfgC.add("\t\tDTQ_UDP4_RCVQ#{params[:udp4_cepid].val},")
359 $tinetCfgC.add("\t\t},")
360 end
361 $cfgData[:VRID_UDP_CEP].each do |key, params|
362 $tinetCfgC.add("\t{")
363 $tinetCfgC.add("\t\t0,")
364 $tinetCfgC.add("\t\t{ IPV4_ADDRANY, UDP_PORTANY },")
365 $tinetCfgC.add("\t\t(t_udp_callback)(FP)NULL,")
366 $tinetCfgC.add("\t\tUDP_CEP_FLG_DYNAMIC,")
367 $tinetCfgC.add("\t\tSEM_UDP4_CEP_LOCK#{params[:vrid_udp4_cepid].val + $cfgData[:UDP_CRE_CEP].size},")
368 $tinetCfgC.add("\t\tTA_NULL,")
369 $tinetCfgC.add("\t\tTA_NULL,")
370 $tinetCfgC.add("\t\tDTQ_UDP4_RCVQ#{params[:vrid_udp4_cepid].val + $cfgData[:UDP_CRE_CEP].size},")
371 $tinetCfgC.add("\t\t},")
372 end
373 $tinetCfgC.add("\t};")
374end
375
376# =====================================================================
377# tinet_kern.cfg の生成
378# =====================================================================
379
380# // TCP (IPv6) 受付口
381$sem_tcp_rep_lock_id = 0
382if $cfgData[:TCP6_CRE_REP].size > 0 || $cfgData[:VRID_TCP6_REP].size > 0
383 $cfgData[:TCP6_CRE_REP].each do |key, params|
384 cfgInfo = { APINAME: "CRE_SEM" }
385 cfgInfo["semid"] = "SEM_TCP_REP_LOCK#{$sem_tcp_rep_lock_id}"
386 cfgInfo["sematr"] = NumStr.new($TA_TPRI, "TA_TPRI")
387 cfgInfo["isemcnt"] = 1
388 cfgInfo["maxsem"] = 1
389 $cfgFileInfo.push(cfgInfo)
390
391 $sem_tcp_rep_lock_id = $sem_tcp_rep_lock_id + 1
392 end
393 $cfgData[:VRID_TCP6_REP].each do |key, params|
394 cfgInfo = { APINAME: "CRE_SEM" }
395 cfgInfo["semid"] = "SEM_TCP_REP_LOCK#{$sem_tcp_rep_lock_id}"
396 cfgInfo["sematr"] = NumStr.new($TA_TPRI, "TA_TPRI")
397 cfgInfo["isemcnt"] = 1
398 cfgInfo["maxsem"] = 1
399 $cfgFileInfo.push(cfgInfo)
400
401 $sem_tcp_rep_lock_id = $sem_tcp_rep_lock_id + 1
402 end
403end
404
405# // TCP (IPv4) 受付口
406if $cfgData[:TCP_CRE_REP].size > 0 || $cfgData[:VRID_TCP_REP].size > 0
407 $cfgData[:TCP_CRE_REP].each do |key, params|
408 cfgInfo = { APINAME: "CRE_SEM" }
409 cfgInfo["semid"] = "SEM_TCP_REP_LOCK#{$sem_tcp_rep_lock_id}"
410 cfgInfo["sematr"] = NumStr.new($TA_TPRI, "TA_TPRI")
411 cfgInfo["isemcnt"] = 1
412 cfgInfo["maxsem"] = 1
413 $cfgFileInfo.push(cfgInfo)
414
415 $sem_tcp_rep_lock_id = $sem_tcp_rep_lock_id + 1
416 end
417 $cfgData[:VRID_TCP_REP].each do |key, params|
418 cfgInfo = { APINAME: "CRE_SEM" }
419 cfgInfo["semid"] = "SEM_TCP_REP_LOCK#{$sem_tcp_rep_lock_id}"
420 cfgInfo["sematr"] = NumStr.new($TA_TPRI, "TA_TPRI")
421 cfgInfo["isemcnt"] = 1
422 cfgInfo["maxsem"] = 1
423 $cfgFileInfo.push(cfgInfo)
424
425 $sem_tcp_rep_lock_id = $sem_tcp_rep_lock_id + 1
426 end
427end
428
429# // TCP (IPv6) 通信端点
430if $cfgData[:TCP6_CRE_CEP].size > 0 || $cfgData[:VRID_TCP6_CEP].size > 0
431 $cfgData[:TCP6_CRE_CEP].each do |key, params|
432 cfgInfo = { APINAME: "CRE_SEM" }
433 cfgInfo["semid"] = "SEM_TCP_CEP_LOCK#{params[:tcp6_cepid].val}"
434 cfgInfo["sematr"] = NumStr.new($TA_TPRI, "TA_TPRI")
435 cfgInfo["isemcnt"] = 1
436 cfgInfo["maxsem"] = 1
437 $cfgFileInfo.push(cfgInfo)
438
439 cfgInfo = { APINAME: "CRE_FLG" }
440 cfgInfo["flgid"] = "FLG_TCP_CEP_EST#{params[:tcp6_cepid].val}"
441 cfgInfo["flgatr"] = NumStr.new($TA_TFIFO | $TA_WSGL, "TA_TFIFO|TA_WSGL")
442 cfgInfo["iflgptn"] = NumStr.new($TCP_CEP_EVT_CLOSED, "TCP_CEP_EVT_CLOSED")
443 $cfgFileInfo.push(cfgInfo)
444
445 cfgInfo = { APINAME: "CRE_FLG" }
446 cfgInfo["flgid"] = "FLG_TCP_CEP_SND#{params[:tcp6_cepid].val}"
447 cfgInfo["flgatr"] = NumStr.new($TA_TFIFO | $TA_WSGL, "TA_TFIFO|TA_WSGL")
448 cfgInfo["iflgptn"] = NumStr.new($TCP_CEP_EVT_SWBUF_READY, "TCP_CEP_EVT_SWBUF_READY")
449 $cfgFileInfo.push(cfgInfo)
450
451 cfgInfo = { APINAME: "CRE_FLG" }
452 cfgInfo["flgid"] = "FLG_TCP_CEP_RCV#{params[:tcp6_cepid].val}"
453 cfgInfo["flgatr"] = NumStr.new($TA_TFIFO | $TA_WSGL, "TA_TFIFO|TA_WSGL")
454 cfgInfo["iflgptn"] = 0
455 $cfgFileInfo.push(cfgInfo)
456 end
457 $cfgData[:VRID_TCP6_CEP].each do |key, params|
458 cfgInfo = { APINAME: "CRE_SEM" }
459 cfgInfo["semid"] = "SEM_TCP_CEP_LOCK#{params[:vrid_tcp6_cepid].val + $cfgData[:TCP6_CRE_CEP].size}"
460 cfgInfo["sematr"] = NumStr.new($TA_TPRI, "TA_TPRI")
461 cfgInfo["isemcnt"] = 1
462 cfgInfo["maxsem"] = 1
463 $cfgFileInfo.push(cfgInfo)
464
465 cfgInfo = { APINAME: "CRE_FLG" }
466 cfgInfo["flgid"] = "FLG_TCP_CEP_EST#{params[:vrid_tcp6_cepid].val + $cfgData[:TCP6_CRE_CEP].size}"
467 cfgInfo["flgatr"] = NumStr.new($TA_TFIFO | $TA_WSGL, "TA_TFIFO|TA_WSGL")
468 cfgInfo["iflgptn"] = NumStr.new($TCP_CEP_EVT_CLOSED, "TCP_CEP_EVT_CLOSED")
469 $cfgFileInfo.push(cfgInfo)
470
471 cfgInfo = { APINAME: "CRE_FLG" }
472 cfgInfo["flgid"] = "FLG_TCP_CEP_SND#{params[:vrid_tcp6_cepid].val + $cfgData[:TCP6_CRE_CEP].size}"
473 cfgInfo["flgatr"] = NumStr.new($TA_TFIFO | $TA_WSGL, "TA_TFIFO|TA_WSGL")
474 cfgInfo["iflgptn"] = NumStr.new($TCP_CEP_EVT_SWBUF_READY, "TCP_CEP_EVT_SWBUF_READY")
475 $cfgFileInfo.push(cfgInfo)
476
477 cfgInfo = { APINAME: "CRE_FLG" }
478 cfgInfo["flgid"] = "FLG_TCP_CEP_RCV#{params[:vrid_tcp6_cepid].val + $cfgData[:TCP6_CRE_CEP].size}"
479 cfgInfo["flgatr"] = NumStr.new($TA_TFIFO | $TA_WSGL, "TA_TFIFO|TA_WSGL")
480 cfgInfo["iflgptn"] = 0
481 $cfgFileInfo.push(cfgInfo)
482 end
483end
484
485# // TCP (IPv4) 通信端点
486if $cfgData[:TCP_CRE_CEP].size > 0 || $cfgData[:VRID_TCP_CEP].size > 0
487 $cfgData[:TCP_CRE_CEP].each do |key, params|
488 cfgInfo = { APINAME: "CRE_SEM" }
489 cfgInfo["semid"] = "SEM_TCP_CEP_LOCK#{params[:tcp4_cepid].val + $cfgData[:TCP6_CRE_CEP].size + $cfgData[:VRID_TCP6_CEP].size}"
490 cfgInfo["sematr"] = NumStr.new($TA_TPRI, "TA_TPRI")
491 cfgInfo["isemcnt"] = 1
492 cfgInfo["maxsem"] = 1
493 $cfgFileInfo.push(cfgInfo)
494
495 cfgInfo = { APINAME: "CRE_FLG" }
496 cfgInfo["flgid"] = "FLG_TCP_CEP_EST#{params[:tcp4_cepid].val + $cfgData[:TCP6_CRE_CEP].size + $cfgData[:VRID_TCP6_CEP].size}"
497 cfgInfo["flgatr"] = NumStr.new($TA_TFIFO | $TA_WSGL, "TA_TFIFO|TA_WSGL")
498 cfgInfo["iflgptn"] = NumStr.new($TCP_CEP_EVT_CLOSED, "TCP_CEP_EVT_CLOSED")
499 $cfgFileInfo.push(cfgInfo)
500
501 cfgInfo = { APINAME: "CRE_FLG" }
502 cfgInfo["flgid"] = "FLG_TCP_CEP_SND#{params[:tcp4_cepid].val + $cfgData[:TCP6_CRE_CEP].size + $cfgData[:VRID_TCP6_CEP].size}"
503 cfgInfo["flgatr"] = NumStr.new($TA_TFIFO | $TA_WSGL, "TA_TFIFO|TA_WSGL")
504 cfgInfo["iflgptn"] = NumStr.new($TCP_CEP_EVT_SWBUF_READY, "TCP_CEP_EVT_SWBUF_READY")
505 $cfgFileInfo.push(cfgInfo)
506
507 cfgInfo = { APINAME: "CRE_FLG" }
508 cfgInfo["flgid"] = "FLG_TCP_CEP_RCV#{params[:tcp4_cepid].val + $cfgData[:TCP6_CRE_CEP].size + $cfgData[:VRID_TCP6_CEP].size}"
509 cfgInfo["flgatr"] = NumStr.new($TA_TFIFO | $TA_WSGL, "TA_TFIFO|TA_WSGL")
510 cfgInfo["iflgptn"] = 0
511 $cfgFileInfo.push(cfgInfo)
512 end
513 $cfgData[:VRID_TCP_CEP].each do |key, params|
514 cfgInfo = { APINAME: "CRE_SEM" }
515 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}"
516 cfgInfo["sematr"] = NumStr.new($TA_TPRI, "TA_TPRI")
517 cfgInfo["isemcnt"] = 1
518 cfgInfo["maxsem"] = 1
519 $cfgFileInfo.push(cfgInfo)
520
521 cfgInfo = { APINAME: "CRE_FLG" }
522 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}"
523 cfgInfo["flgatr"] = NumStr.new($TA_TFIFO | $TA_WSGL, "TA_TFIFO|TA_WSGL")
524 cfgInfo["iflgptn"] = NumStr.new($TCP_CEP_EVT_CLOSED, "TCP_CEP_EVT_CLOSED")
525 $cfgFileInfo.push(cfgInfo)
526
527 cfgInfo = { APINAME: "CRE_FLG" }
528 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}"
529 cfgInfo["flgatr"] = NumStr.new($TA_TFIFO | $TA_WSGL, "TA_TFIFO|TA_WSGL")
530 cfgInfo["iflgptn"] = NumStr.new($TCP_CEP_EVT_SWBUF_READY, "TCP_CEP_EVT_SWBUF_READY")
531 $cfgFileInfo.push(cfgInfo)
532
533 cfgInfo = { APINAME: "CRE_FLG" }
534 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}"
535 cfgInfo["flgatr"] = NumStr.new($TA_TFIFO | $TA_WSGL, "TA_TFIFO|TA_WSGL")
536 cfgInfo["iflgptn"] = 0
537 $cfgFileInfo.push(cfgInfo)
538 end
539end
540
541# // UDP (IPv6) 通信端点
542if $cfgData[:UDP6_CRE_CEP].size > 0 || $cfgData[:VRID_UDP6_CEP].size > 0
543 $cfgData[:UDP6_CRE_CEP].each do |key, params|
544 cfgInfo = { APINAME: "CRE_SEM" }
545 cfgInfo["semid"] = "SEM_UDP6_CEP_LOCK#{params[:udp6_cepid].val}"
546 cfgInfo["sematr"] = NumStr.new($TA_TPRI, "TA_TPRI")
547 cfgInfo["isemcnt"] = 1
548 cfgInfo["maxsem"] = 1
549 $cfgFileInfo.push(cfgInfo)
550
551 cfgInfo = { APINAME: "CRE_DTQ" }
552 cfgInfo["dtqid"] = "DTQ_UDP6_RCVQ#{params[:udp6_cepid].val}"
553 cfgInfo["dtqatr"] = NumStr.new($TA_TFIFO, "TA_TFIFO")
554 cfgInfo["dtqcnt"] = NumStr.new($NUM_DTQ_UDP_RCVQ, "NUM_DTQ_UDP_RCVQ")
555 #cfgInfo["dtqmb"] = NumStr.new($NULL, "NULL")
556 $cfgFileInfo.push(cfgInfo)
557 end
558 $cfgData[:VRID_UDP6_CEP].each do |key, params|
559 cfgInfo = { APINAME: "CRE_SEM" }
560 cfgInfo["semid"] = "SEM_UDP6_CEP_LOCK#{params[:vrid_udp6_cepid].val + $cfgData[:UDP6_CRE_CEP].size}"
561 cfgInfo["sematr"] = NumStr.new($TA_TPRI, "TA_TPRI")
562 cfgInfo["isemcnt"] = 1
563 cfgInfo["maxsem"] = 1
564 $cfgFileInfo.push(cfgInfo)
565
566 cfgInfo = { APINAME: "CRE_DTQ" }
567 cfgInfo["dtqid"] = "DTQ_UDP6_RCVQ#{params[:vrid_udp6_cepid].val + $cfgData[:UDP6_CRE_CEP].size}"
568 cfgInfo["dtqatr"] = NumStr.new($TA_TFIFO, "TA_TFIFO")
569 cfgInfo["dtqcnt"] = NumStr.new($NUM_DTQ_UDP_RCVQ, "NUM_DTQ_UDP_RCVQ")
570 #cfgInfo["dtqmb"] = NumStr.new($NULL, "NULL")
571 $cfgFileInfo.push(cfgInfo)
572 end
573end
574
575# // UDP (IPv4) 通信端点
576if $cfgData[:UDP_CRE_CEP].size > 0 || $cfgData[:VRID_UDP_CEP].size > 0
577 $cfgData[:UDP_CRE_CEP].each do |key, params|
578 cfgInfo = { APINAME: "CRE_SEM" }
579 cfgInfo["semid"] = "SEM_UDP4_CEP_LOCK#{params[:udp4_cepid].val}"
580 cfgInfo["sematr"] = NumStr.new($TA_TPRI, "TA_TPRI")
581 cfgInfo["isemcnt"] = 1
582 cfgInfo["maxsem"] = 1
583 $cfgFileInfo.push(cfgInfo)
584
585 cfgInfo = { APINAME: "CRE_DTQ" }
586 cfgInfo["dtqid"] = "DTQ_UDP4_RCVQ#{params[:udp4_cepid].val}"
587 cfgInfo["dtqatr"] = NumStr.new($TA_TFIFO, "TA_TFIFO")
588 cfgInfo["dtqcnt"] = NumStr.new($NUM_DTQ_UDP_RCVQ, "NUM_DTQ_UDP_RCVQ")
589 #cfgInfo["dtqmb"] = NumStr.new($NULL, "NULL")
590 $cfgFileInfo.push(cfgInfo)
591 end
592 $cfgData[:VRID_UDP_CEP].each do |key, params|
593 cfgInfo = { APINAME: "CRE_SEM" }
594 cfgInfo["semid"] = "SEM_UDP4_CEP_LOCK#{params[:vrid_udp4_cepid].val + $cfgData[:UDP_CRE_CEP].size}"
595 cfgInfo["sematr"] = NumStr.new($TA_TPRI, "TA_TPRI")
596 cfgInfo["isemcnt"] = 1
597 cfgInfo["maxsem"] = 1
598 $cfgFileInfo.push(cfgInfo)
599
600 cfgInfo = { APINAME: "CRE_DTQ" }
601 cfgInfo["dtqid"] = "DTQ_UDP4_RCVQ#{params[:vrid_udp4_cepid].val + $cfgData[:UDP_CRE_CEP].size}"
602 cfgInfo["dtqatr"] = NumStr.new($TA_TFIFO, "TA_TFIFO")
603 cfgInfo["dtqcnt"] = NumStr.new($NUM_DTQ_UDP_RCVQ, "NUM_DTQ_UDP_RCVQ")
604 #cfgInfo["dtqmb"] = NumStr.new($NULL, "NULL")
605 $cfgFileInfo.push(cfgInfo)
606 end
607end
Note: See TracBrowser for help on using the repository browser.