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

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

文字コードを設定

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