source: EcnlProtoTool/trunk/asp3_dcre/tinet/tinet.trb@ 331

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

prototoolに関連するプロジェクトをnewlibからmuslを使うよう変更・更新
ntshellをnewlibの下位の実装から、muslのsyscallの実装に変更・更新
以下のOSSをアップデート
・mruby-1.3.0
・musl-1.1.18
・onigmo-6.1.3
・tcc-0.9.27
以下のOSSを追加
・openssl-1.1.0e
・curl-7.57.0
・zlib-1.2.11
以下のmrbgemsを追加
・iij/mruby-digest
・iij/mruby-env
・iij/mruby-errno
・iij/mruby-iijson
・iij/mruby-ipaddr
・iij/mruby-mock
・iij/mruby-require
・iij/mruby-tls-openssl

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