source: asp3_tinet_ecnl_arm/trunk/asp3_dcre/tinet/tinet.trb@ 352

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

arm向けASP3版ECNLを追加

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