source: EcnlProtoTool/trunk/asp3_dcre/tinet/tinet.tf@ 270

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

mruby版ECNLプロトタイピング・ツールを追加

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
  • Property svn:mime-type set to text/plain
File size: 15.1 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 270 2017-02-09 04:03:47Z coas-nagasima $
49$
50$ =====================================================================
51
52$ =====================================================================
53$ tinet_cfg.h の生成
54$ =====================================================================
55
56$FILE "tinet_cfg.h"$
57/* tinet_cfg.h */$NL$
58#ifndef _TINET_CFG_H_$NL$
59#define _TINET_CFG_H_$NL$
60$NL$
61$FOREACH id TCP4_REP.ID_LIST$
62 #define $id$ $+id$$NL$
63$END$
64$FOREACH id TCP6_REP.ID_LIST$
65 #define $id$ $+id$$NL$
66$END$
67$FOREACH id TCP4_CEP.ID_LIST$
68 #define $id$ $+id$$NL$
69$END$
70$FOREACH id TCP6_CEP.ID_LIST$
71 #define $id$ $+id$$NL$
72$END$
73$FOREACH id UDP4_CEP.ID_LIST$
74 #define $id$ $+id$$NL$
75$END$
76$FOREACH id UDP6_CEP.ID_LIST$
77 #define $id$ $+id$$NL$
78$END$
79$FOREACH id VRID_TCP4_REP.ID_LIST$
80 #define $id$ $+id + LENGTH(TCP4_REP.ID_LIST)$$NL$
81$END$
82$FOREACH id VRID_TCP4_CEP.ID_LIST$
83 #define $id$ $+id + LENGTH(TCP4_CEP.ID_LIST)$$NL$
84$END$
85$FOREACH id VRID_TCP6_REP.ID_LIST$
86 #define $id$ $+id + LENGTH(TCP6_REP.ID_LIST)$$NL$
87$END$
88$FOREACH id VRID_TCP6_CEP.ID_LIST$
89 #define $id$ $+id + LENGTH(TCP6_CEP.ID_LIST)$$NL$
90$END$
91$FOREACH id VRID_UDP4_CEP.ID_LIST$
92 #define $id$ $+id + LENGTH(UDP4_CEP.ID_LIST)$$NL$
93$END$
94$FOREACH id VRID_UDP6_CEP.ID_LIST$
95 #define $id$ $+id + LENGTH(UDP6_CEP.ID_LIST)$$NL$
96$END$
97$NL$
98#endif /* _TINET_CFG_H_ */$NL$
99
100$ =====================================================================
101$ tinet_cfg.c の生成
102$ =====================================================================
103
104$FILE "tinet_cfg.c"$
105/* tinet_cfg.c */$NL$
106$NL$
107#include <kernel.h>$NL$
108#include <sil.h>$NL$
109#include "kernel_cfg.h"$NL$
110#include "tinet_cfg.h"$NL$
111#include <tinet_defs.h>$NL$
112#include <tinet_config.h>$NL$
113#include <net/if.h>$NL$
114#include <net/if_ppp.h>$NL$
115#include <net/if_loop.h>$NL$
116#include <net/ethernet.h>$NL$
117#include <net/net.h>$NL$
118#include <net/net_buf.h>$NL$
119#include <netinet/in.h>$NL$
120#include <netinet/in_itron.h>$NL$
121#include <netinet/ip.h>$NL$
122#include <netinet/ip6.h>$NL$
123#include <netinet/tcp.h>$NL$
124#include <netinet/tcp_timer.h>$NL$
125#include <netinet/tcp_var.h>$NL$
126#include <netinet/tcp_fsm.h>$NL$
127#include <netinet/udp_var.h>$NL$
128
129$
130$ インクルードディレクティブ(#include)
131$
132$NL$
133/*$NL$
134$SPC$* Include Directives (#include)$NL$
135$SPC$*/$NL$
136$NL$
137$INCLUDES$
138
139$ // TCP (IPv4) 受付口
140$IF LENGTH(TCP4_REP.ID_LIST) + LENGTH(VRID_TCP4_REP.ID_LIST)$
141 $NL$
142 #define TNUM_TCP_REPID $LENGTH(TCP4_REP.ID_LIST) + LENGTH(VRID_TCP4_REP.ID_LIST)$$NL$
143 $NL$
144 const ID tmax_tcp_repid = (TMIN_TCP_REPID + TNUM_TCP_REPID - 1);$NL$
145 $NL$
146 T_TCP4_REP tcp_rep[TNUM_TCP_REPID] = {$NL$
147 $FOREACH id TCP4_REP.ID_LIST$
148 $TAB${$NL$
149 $TAB$$TAB$$TCP4_REP.TCP4_REPATR[id]$,$NL$
150 $TAB$$TAB${ $TCP4_REP.IPV4ADDR[id]$, $TCP4_REP.PORTNO[id]$ },$NL$
151 #if defined(TCP_CFG_EXTENTIONS)$NL$
152 $TAB$$TAB$TCP_REP_FLG_VALID,$NL$
153 $TAB$$TAB$SEM_TCP_REP_LOCK$+id$,$NL$
154 #endif$NL$
155 $TAB$$TAB$},$NL$
156 $END$
157 $FOREACH id VRID_TCP4_REP.ID_LIST$
158 $TAB${$NL$
159 $TAB$$TAB$0,$NL$
160 $TAB$$TAB${ IPV4_ADDRANY, TCP_PORTANY },$NL$
161 #if defined(TCP_CFG_EXTENTIONS)$NL$
162 $TAB$$TAB$TCP_REP_FLG_DYNAMIC,$NL$
163 $TAB$$TAB$SEM_TCP_REP_LOCK$+id + LENGTH(TCP4_REP.ID_LIST)$,$NL$
164 #endif$NL$
165 $TAB$$TAB$},$NL$
166 $END$
167 $TAB$};$NL$
168$END$
169
170$ // TCP (IPv6) 受付口
171$IF LENGTH(TCP6_REP.ID_LIST) + LENGTH(VRID_TCP6_REP.ID_LIST)$
172 $NL$
173 #define TNUM_TCP_REPID $LENGTH(TCP6_REP.ID_LIST) + LENGTH(VRID_TCP6_REP.ID_LIST)$$NL$
174 $NL$
175 const ID tmax_tcp_repid = (TMIN_TCP_REPID + TNUM_TCP_REPID - 1);$NL$
176 $NL$
177 T_TCP6_REP tcp_rep[TNUM_TCP_REPID] = {$NL$
178 $FOREACH id TCP6_REP.ID_LIST$
179 $TAB${$NL$
180 $TAB$$TAB$$TCP6_REP.TCP6_REPATR[id]$,$NL$
181 $TAB$$TAB${ $TCP6_REP.IPV6ADDR[id]$, $TCP6_REP.PORTNO[id]$ },$NL$
182 #if defined(TCP_CFG_EXTENTIONS)$NL$
183 $TAB$$TAB$TCP_REP_FLG_VALID,$NL$
184 $TAB$$TAB$SEM_TCP_REP_LOCK$+id$,$NL$
185 #endif$NL$
186 $TAB$$TAB$},$NL$
187 $END$
188 $FOREACH id VRID_TCP6_REP.ID_LIST$
189 $TAB${$NL$
190 $TAB$$TAB$0,$NL$
191 $TAB$$TAB${ IPV6_ADDRANY, TCP_PORTANY },$NL$
192 #if defined(TCP_CFG_EXTENTIONS)$NL$
193 $TAB$$TAB$TCP_REP_FLG_DYNAMIC,$NL$
194 $TAB$$TAB$SEM_TCP_REP_LOCK$+id + LENGTH(TCP6_REP.ID_LIST)$,$NL$
195 #endif$NL$
196 $TAB$$TAB$},$NL$
197 $END$
198 $TAB$};$NL$
199$END$
200
201$ // TCP (IPv4) 通信端点
202$IF LENGTH(TCP4_CEP.ID_LIST) + LENGTH(VRID_TCP4_CEP.ID_LIST)$
203 $NL$
204 #define TNUM_TCP_CEPID $LENGTH(TCP4_CEP.ID_LIST) + LENGTH(VRID_TCP4_CEP.ID_LIST)$$NL$
205 $NL$
206 const ID tmax_tcp_cepid = (TMIN_TCP_CEPID + TNUM_TCP_CEPID - 1);$NL$
207 $NL$
208 T_TCP4_CEP tcp_cep[TNUM_TCP_CEPID] = {$NL$
209 $FOREACH id TCP4_CEP.ID_LIST$
210 $TAB${$NL$
211 $TAB$$TAB$$TCP4_CEP.TCP4_CEPATR[id]$,$NL$
212 $TAB$$TAB$(void*)$TCP4_CEP.SBUF[id]$,$NL$
213 $TAB$$TAB$$TCP4_CEP.SBUFSZ[id]$,$NL$
214 $TAB$$TAB$(void*)$TCP4_CEP.RBUF[id]$,$NL$
215 $TAB$$TAB$$TCP4_CEP.RBUFSZ[id]$,$NL$
216 $TAB$$TAB$(t_tcp_callback)(FP)$TCP4_CEP.CALLBACK[id]$,$NL$
217 $TAB$$TAB$TCP_CEP_FLG_VALID,$NL$
218 $TAB$$TAB$SEM_TCP_CEP_LOCK$+id$,$NL$
219 $TAB$$TAB$FLG_TCP_CEP_EST$+id$,$NL$
220 $TAB$$TAB$FLG_TCP_CEP_SND$+id$,$NL$
221 $TAB$$TAB$FLG_TCP_CEP_RCV$+id$,$NL$
222 $TAB$$TAB$},$NL$
223 $END$
224 $FOREACH id VRID_TCP4_CEP.ID_LIST$
225 $TAB${$NL$
226 $TAB$$TAB$0,$NL$
227 $TAB$$TAB$(void*)NULL,$NL$
228 $TAB$$TAB$0,$NL$
229 $TAB$$TAB$(void*)NULL,$NL$
230 $TAB$$TAB$0,$NL$
231 $TAB$$TAB$(t_tcp_callback)(FP)NULL,$NL$
232 $TAB$$TAB$TCP_CEP_FLG_DYNAMIC,$NL$
233 $TAB$$TAB$SEM_TCP_CEP_LOCK$+id + LENGTH(TCP4_CEP.ID_LIST)$,$NL$
234 $TAB$$TAB$FLG_TCP_CEP_EST$+id + LENGTH(TCP4_CEP.ID_LIST)$,$NL$
235 $TAB$$TAB$FLG_TCP_CEP_SND$+id + LENGTH(TCP4_CEP.ID_LIST)$,$NL$
236 $TAB$$TAB$FLG_TCP_CEP_RCV$+id + LENGTH(TCP4_CEP.ID_LIST)$,$NL$
237 $TAB$$TAB$},$NL$
238 $END$
239 $TAB$};$NL$
240$END$
241
242$ // TCP (IPv6) 通信端点
243$IF LENGTH(TCP6_CEP.ID_LIST) + LENGTH(VRID_TCP6_CEP.ID_LIST)$
244 $NL$
245 #define TNUM_TCP_CEPID $LENGTH(TCP6_CEP.ID_LIST) + LENGTH(VRID_TCP6_CEP.ID_LIST)$$NL$
246 $NL$
247 const ID tmax_tcp_cepid = (TMIN_TCP_CEPID + TNUM_TCP_CEPID - 1);$NL$
248 $NL$
249 T_TCP6_CEP tcp_cep[TNUM_TCP_CEPID] = {$NL$
250 $FOREACH id TCP6_CEP.ID_LIST$
251 $TAB${$NL$
252 $TAB$$TAB$$TCP6_CEP.TCP6_CEPATR[id]$,$NL$
253 $TAB$$TAB$(void*)$TCP6_CEP.SBUF[id]$,$NL$
254 $TAB$$TAB$$TCP6_CEP.SBUFSZ[id]$,$NL$
255 $TAB$$TAB$(void*)$TCP6_CEP.RBUF[id]$,$NL$
256 $TAB$$TAB$$TCP6_CEP.RBUFSZ[id]$,$NL$
257 $TAB$$TAB$(t_tcp_callback)(FP)$TCP6_CEP.CALLBACK[id]$,$NL$
258 $TAB$$TAB$TCP_CEP_FLG_VALID,$NL$
259 $TAB$$TAB$SEM_TCP_CEP_LOCK$+id$,$NL$
260 $TAB$$TAB$FLG_TCP_CEP_EST$+id$,$NL$
261 $TAB$$TAB$FLG_TCP_CEP_SND$+id$,$NL$
262 $TAB$$TAB$FLG_TCP_CEP_RCV$+id$,$NL$
263 $TAB$$TAB$},$NL$
264 $END$
265 $FOREACH id VRID_TCP6_CEP.ID_LIST$
266 $TAB${$NL$
267 $TAB$$TAB$0,$NL$
268 $TAB$$TAB$(void*)NULL,$NL$
269 $TAB$$TAB$0,$NL$
270 $TAB$$TAB$(void*)NULL,$NL$
271 $TAB$$TAB$0,$NL$
272 $TAB$$TAB$(t_tcp_callback)(FP)NULL,$NL$
273 $TAB$$TAB$TCP_CEP_FLG_DYNAMIC,$NL$
274 $TAB$$TAB$SEM_TCP_CEP_LOCK$+id + LENGTH(TCP6_CEP.ID_LIST)$,$NL$
275 $TAB$$TAB$FLG_TCP_CEP_EST$+id + LENGTH(TCP6_CEP.ID_LIST)$,$NL$
276 $TAB$$TAB$FLG_TCP_CEP_SND$+id + LENGTH(TCP6_CEP.ID_LIST)$,$NL$
277 $TAB$$TAB$FLG_TCP_CEP_RCV$+id + LENGTH(TCP6_CEP.ID_LIST)$,$NL$
278 $TAB$$TAB$},$NL$
279 $END$
280 $TAB$};$NL$
281$END$
282
283$ // UDP (IPv4) 通信端点
284$IF LENGTH(UDP4_CEP.ID_LIST) + LENGTH(VRID_UDP4_CEP.ID_LIST)$
285 $NL$
286 #define TNUM_UDP_CEPID $LENGTH(UDP4_CEP.ID_LIST) + LENGTH(VRID_UDP4_CEP.ID_LIST)$$NL$
287 $NL$
288 const ID tmax_udp_cepid = (TMIN_UDP_CEPID + TNUM_UDP_CEPID - 1);$NL$
289 $NL$
290 T_UDP4_CEP udp_cep[TNUM_UDP_CEPID] = {$NL$
291 $FOREACH id UDP4_CEP.ID_LIST$
292 $TAB${$NL$
293 $TAB$$TAB$$UDP4_CEP.UDP4_CEPATR[id]$,$NL$
294 $TAB$$TAB${ $UDP4_CEP.IPV4ADDR[id]$, $UDP4_CEP.PORTNO[id]$ },$NL$
295 $TAB$$TAB$(t_udp_callback)(FP)$UDP4_CEP.CALLBACK[id]$,$NL$
296 $TAB$$TAB$UDP_CEP_FLG_VALID,$NL$
297 $TAB$$TAB$SEM_UDP_CEP_LOCK$+id$,$NL$
298 $TAB$$TAB$TA_NULL,$NL$
299 $TAB$$TAB$TA_NULL,$NL$
300 $TAB$$TAB$DTQ_UDP_RCVQ$+id$,$NL$
301 $TAB$$TAB$},$NL$
302 $END$
303 $FOREACH id VRID_UDP4_CEP.ID_LIST$
304 $TAB${$NL$
305 $TAB$$TAB$0,$NL$
306 $TAB$$TAB${ IPV4_ADDRANY, UDP_PORTANY },$NL$
307 $TAB$$TAB$(t_udp_callback)(FP)NULL,$NL$
308 $TAB$$TAB$UDP_CEP_FLG_DYNAMIC,$NL$
309 $TAB$$TAB$SEM_UDP_CEP_LOCK$+id + LENGTH(UDP4_CEP.ID_LIST)$,$NL$
310 $TAB$$TAB$TA_NULL,$NL$
311 $TAB$$TAB$TA_NULL,$NL$
312 $TAB$$TAB$DTQ_UDP_RCVQ$+id + LENGTH(UDP4_CEP.ID_LIST)$,$NL$
313 $TAB$$TAB$},$NL$
314 $END$
315 $TAB$};$NL$
316$END$
317
318$ // UDP (IPv6) 通信端点
319$IF LENGTH(UDP6_CEP.ID_LIST) + LENGTH(VRID_UDP6_CEP.ID_LIST)$
320 $NL$
321 #define TNUM_UDP_CEPID $LENGTH(UDP6_CEP.ID_LIST) + LENGTH(VRID_UDP6_CEP.ID_LIST)$$NL$
322 $NL$
323 const ID tmax_udp_cepid = (TMIN_UDP_CEPID + TNUM_UDP_CEPID - 1);$NL$
324 $NL$
325 T_UDP6_CEP udp_cep[TNUM_UDP_CEPID] = {$NL$
326 $FOREACH id UDP6_CEP.ID_LIST$
327 $TAB${$NL$
328 $TAB$$TAB$$UDP6_CEP.UDP6_CEPATR[id]$,$NL$
329 $TAB$$TAB${ $UDP6_CEP.IPV6ADDR[id]$, $UDP6_CEP.PORTNO[id]$ },$NL$
330 $TAB$$TAB$(t_udp_callback)(FP)$UDP6_CEP.CALLBACK[id]$,$NL$
331 $TAB$$TAB$UDP_CEP_FLG_VALID,$NL$
332 $TAB$$TAB$SEM_UDP_CEP_LOCK$+id$,$NL$
333 $TAB$$TAB$TA_NULL,$NL$
334 $TAB$$TAB$TA_NULL,$NL$
335 $TAB$$TAB$DTQ_UDP_RCVQ$+id$,$NL$
336 $TAB$$TAB$},$NL$
337 $END$
338 $FOREACH id VRID_UDP6_CEP.ID_LIST$
339 $TAB${$NL$
340 $TAB$$TAB$0,$NL$
341 $TAB$$TAB${ IPV6_ADDRANY, UDP_PORTANY },$NL$
342 $TAB$$TAB$(t_udp_callback)(FP)NULL,$NL$
343 $TAB$$TAB$UDP_CEP_FLG_DYNAMIC,$NL$
344 $TAB$$TAB$SEM_UDP_CEP_LOCK$+id + LENGTH(UDP6_CEP.ID_LIST)$,$NL$
345 $TAB$$TAB$TA_NULL,$NL$
346 $TAB$$TAB$TA_NULL,$NL$
347 $TAB$$TAB$DTQ_UDP_RCVQ$+id + LENGTH(UDP6_CEP.ID_LIST)$,$NL$
348 $TAB$$TAB$},$NL$
349 $END$
350 $TAB$};$NL$
351$END$
352
353$ =====================================================================
354$ tinet_kern.cfg の生成
355$ =====================================================================
356
357$FILE "tinet_kern.cfg"$
358/* tinet_kern.cfg */$NL$
359
360$ // TCP (IPv4) 受付口
361$IF LENGTH(TCP4_REP.ID_LIST) + LENGTH(VRID_TCP4_REP.ID_LIST)$
362 $NL$
363 #if defined(TCP_CFG_EXTENTIONS)$NL$
364 $FOREACH id TCP4_REP.ID_LIST$
365 CRE_SEM(SEM_TCP_REP_LOCK$+id$, { TA_TPRI, 1, 1 });$NL$
366 $END$
367 $FOREACH id VRID_TCP4_REP.ID_LIST$
368 CRE_SEM(SEM_TCP_REP_LOCK$+id + LENGTH(TCP4_REP.ID_LIST)$, { TA_TPRI, 1, 1 });$NL$
369 $END$
370 #endif$NL$
371$END$
372
373$ // TCP (IPv4) 受付口
374$IF LENGTH(TCP6_REP.ID_LIST) + LENGTH(VRID_TCP6_REP.ID_LIST)$
375 $NL$
376 #if defined(TCP_CFG_EXTENTIONS)$NL$
377 $FOREACH id TCP6_REP.ID_LIST$
378 CRE_SEM(SEM_TCP_REP_LOCK$+id$, { TA_TPRI, 1, 1 });$NL$
379 $END$
380 $FOREACH id VRID_TCP6_REP.ID_LIST$
381 CRE_SEM(SEM_TCP_REP_LOCK$+id + LENGTH(TCP6_REP.ID_LIST)$, { TA_TPRI, 1, 1 });$NL$
382 $END$
383 #endif$NL$
384$END$
385
386$ // TCP (IPv4) 通信端点
387$IF LENGTH(TCP4_CEP.ID_LIST) + LENGTH(VRID_TCP4_CEP.ID_LIST)$
388 $NL$
389 $FOREACH id TCP4_CEP.ID_LIST$
390 $NL$
391 CRE_SEM(SEM_TCP_CEP_LOCK$+id$,{ TA_TPRI, 1, 1 });$NL$
392 CRE_FLG(FLG_TCP_CEP_EST$+id$,{ TA_TFIFO|TA_WSGL, TCP_CEP_EVT_CLOSED });$NL$
393 CRE_FLG(FLG_TCP_CEP_SND$+id$,{ TA_TFIFO|TA_WSGL, TCP_CEP_EVT_SWBUF_READY });$NL$
394 CRE_FLG(FLG_TCP_CEP_RCV$+id$,{ TA_TFIFO|TA_WSGL, 0 });$NL$
395 $END$
396 $FOREACH id VRID_TCP4_CEP.ID_LIST$
397 $NL$
398 CRE_SEM(SEM_TCP_CEP_LOCK$+id + LENGTH(TCP4_CEP.ID_LIST)$,{ TA_TPRI, 1, 1 });$NL$
399 CRE_FLG(FLG_TCP_CEP_EST$+id + LENGTH(TCP4_CEP.ID_LIST)$,{ TA_TFIFO|TA_WSGL, TCP_CEP_EVT_CLOSED });$NL$
400 CRE_FLG(FLG_TCP_CEP_SND$+id + LENGTH(TCP4_CEP.ID_LIST)$,{ TA_TFIFO|TA_WSGL, TCP_CEP_EVT_SWBUF_READY });$NL$
401 CRE_FLG(FLG_TCP_CEP_RCV$+id + LENGTH(TCP4_CEP.ID_LIST)$,{ TA_TFIFO|TA_WSGL, 0 });$NL$
402 $END$
403$END$
404
405$ // TCP (IPv6) 通信端点
406$IF LENGTH(TCP6_CEP.ID_LIST) + LENGTH(VRID_TCP6_CEP.ID_LIST)$
407 $NL$
408 $FOREACH id TCP6_CEP.ID_LIST$
409 $NL$
410 CRE_SEM(SEM_TCP_CEP_LOCK$+id$,{ TA_TPRI, 1, 1 });$NL$
411 CRE_FLG(FLG_TCP_CEP_EST$+id$,{ TA_TFIFO|TA_WSGL, TCP_CEP_EVT_CLOSED });$NL$
412 CRE_FLG(FLG_TCP_CEP_SND$+id$,{ TA_TFIFO|TA_WSGL, TCP_CEP_EVT_SWBUF_READY });$NL$
413 CRE_FLG(FLG_TCP_CEP_RCV$+id$,{ TA_TFIFO|TA_WSGL, 0 });$NL$
414 $END$
415 $FOREACH id VRID_TCP6_CEP.ID_LIST$
416 $NL$
417 CRE_SEM(SEM_TCP_CEP_LOCK$+id + LENGTH(TCP6_CEP.ID_LIST)$,{ TA_TPRI, 1, 1 });$NL$
418 CRE_FLG(FLG_TCP_CEP_EST$+id + LENGTH(TCP6_CEP.ID_LIST)$,{ TA_TFIFO|TA_WSGL, TCP_CEP_EVT_CLOSED });$NL$
419 CRE_FLG(FLG_TCP_CEP_SND$+id + LENGTH(TCP6_CEP.ID_LIST)$,{ TA_TFIFO|TA_WSGL, TCP_CEP_EVT_SWBUF_READY });$NL$
420 CRE_FLG(FLG_TCP_CEP_RCV$+id + LENGTH(TCP6_CEP.ID_LIST)$,{ TA_TFIFO|TA_WSGL, 0 });$NL$
421 $END$
422$END$
423
424$ // UDP (IPv4) 通信端点
425$IF LENGTH(UDP4_CEP.ID_LIST) + LENGTH(VRID_UDP4_CEP.ID_LIST)$
426 $NL$
427 $FOREACH id UDP4_CEP.ID_LIST$
428 CRE_SEM(SEM_UDP_CEP_LOCK$+id$,{ TA_TPRI, 1, 1 });$NL$
429 CRE_DTQ(DTQ_UDP_RCVQ$+id$,{ TA_TFIFO, NUM_DTQ_UDP_RCVQ, NULL });$NL$
430 $NL$
431 $END$
432 $FOREACH id VRID_UDP4_CEP.ID_LIST$
433 CRE_SEM(SEM_UDP_CEP_LOCK$+id + LENGTH(UDP4_CEP.ID_LIST)$,{ TA_TPRI, 1, 1 });$NL$
434 CRE_DTQ(DTQ_UDP_RCVQ$+id + LENGTH(UDP4_CEP.ID_LIST)$,{ TA_TFIFO, NUM_DTQ_UDP_RCVQ, NULL });$NL$
435 $NL$
436 $END$
437$END$
438
439$ // UDP (IPv6) 通信端点
440$IF LENGTH(UDP6_CEP.ID_LIST) + LENGTH(VRID_UDP6_CEP.ID_LIST)$
441 $NL$
442 $FOREACH id UDP6_CEP.ID_LIST$
443 CRE_SEM(SEM_UDP_CEP_LOCK$+id$,{ TA_TPRI, 1, 1 });$NL$
444 CRE_DTQ(DTQ_UDP_RCVQ$+id$,{ TA_TFIFO, NUM_DTQ_UDP_RCVQ, NULL });$NL$
445 $NL$
446 $END$
447 $FOREACH id VRID_UDP6_CEP.ID_LIST$
448 CRE_SEM(SEM_UDP_CEP_LOCK$+id + LENGTH(UDP6_CEP.ID_LIST)$,{ TA_TPRI, 1, 1 });$NL$
449 CRE_DTQ(DTQ_UDP_RCVQ$+id + LENGTH(UDP6_CEP.ID_LIST)$,{ TA_TFIFO, NUM_DTQ_UDP_RCVQ, NULL });$NL$
450 $NL$
451 $END$
452$END$
Note: See TracBrowser for help on using the repository browser.