source: EcnlProtoTool/trunk/asp3_dcre/tinet/tinet_config.h@ 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/x-chdr
File size: 11.5 KB
Line 
1/*
2 * TINET (TCP/IP Protocol Stack)
3 *
4 * Copyright (C) 2001-2009 by Dep. of Computer Science and Engineering
5 * Tomakomai National College of Technology, JAPAN
6 *
7 * 上記著作権者
8は,以下の (1)~(4) の条件か,Free Software Foundation
9 * によってå…
10¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public License の Version 2 に記
11 * 述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア
12 * を改変したものを含む.以下同じ)を使用・複製・改変・再é…
13å¸ƒï¼ˆä»¥ä¸‹ï¼Œ
14 * 利用と呼ぶ)することを無償で許諾する.
15 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
16 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
17 * スコード中に含まれていること.
18 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
19 * 用できる形で再é…
20å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é…
21å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
22 * 者
23マニュアルなど)に,上記の著作権表示,この利用条件および下記
24 * の無保証規定を掲載すること.
25 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
26 * 用できない形で再é…
27å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®æ¡ä»¶ã‚’満たすこと.
28 * (a) 再é…
29å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€…
30マニュアルなど)に,上記の著
31 * 作権表示,この利用条件および下記の無保証規定を掲載すること.
32 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
33 * 害からも,上記著作権者
34およびTOPPERSプロジェクトをå…
35è²¬ã™ã‚‹ã“と.
36 *
37 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者
38お
39 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
40 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
41 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
42 *
43 * @(#) $Id: tinet_config.h 270 2017-02-09 04:03:47Z coas-nagasima $
44 */
45
46#ifndef _TINET_CONFIG_H_
47#define _TINET_CONFIG_H_
48
49/*
50 * TINET 1.2 との互換性のための定義
51 */
52
53/* TCPの受動オープンをサポートする。*/
54
55#define TCP_CFG_PASSIVE_OPEN
56
57/* TCPのノンブロッキングコール機能を組込む。*/
58
59#define TCP_CFG_NON_BLOCKING
60
61/* UDPのノンブロッキングコール機能を組込む。*/
62
63#define UDP_CFG_NON_BLOCKING
64
65/*
66 * NIC、システム、CPU、応用プログラムに
67 * 依存する定義ファイルをインクルードする。
68 */
69
70#if defined(TARGET_KERNEL_JSP)
71
72#ifdef SUPPORT_ETHER
73
74#include "tinet_nic_config.h"
75
76#endif /* of #ifdef SUPPORT_ETHER */
77
78#include "tinet_sys_config.h"
79#include "tinet_cpu_config.h"
80#include "tinet_app_config.h"
81
82#elif defined(TARGET_KERNEL_ASP)
83
84#ifdef SUPPORT_ETHER
85
86#include "tinet_nic_config.h"
87
88#endif /* of #ifdef SUPPORT_ETHER */
89
90#include "tinet_target_config.h"
91#include "tinet_app_config.h"
92
93#endif /* of #if defined(TARGET_KERNEL_JSP) */
94
95/*
96 * TINET 1.1 との互換性のための定義
97 */
98
99#ifdef TMO_ICMP4_OUTPUT
100#define TMO_ICMP_OUTPUT TMO_ICMP4_OUTPUT
101#endif
102
103/*
104 * TINET 1.2 との互換性のための定義
105 */
106
107#ifdef NUM_MPF_NET_BUF_4096
108#define NUM_MPF_NET_BUF_REASSM NUM_MPF_NET_BUF_4096
109#endif
110
111/*
112 * TINET 1.3 との互換性のための定義
113
114#ifdef NUM_MPF_NET_BUF_REASSM
115#define NUM_MPF_NET_BUF4_REASSM NUM_MPF_NET_BUF_REASSM
116#endif
117 */
118
119/*
120 * TCP に関する定義
121 */
122
123/*
124 * MAX_TCP_RCV_SEG: 受信セグメントサイズの最大値
125 *
126 * 注意: 変更すべきではない。
127 */
128
129#ifndef MAX_TCP_RCV_SEG
130#define MAX_TCP_RCV_SEG (IF_MTU - (IP_HDR_SIZE + TCP_HDR_SIZE))
131#endif
132
133/*
134 * DEF_TCP_SND_SEG: 送信セグメントサイズの規定値
135 */
136
137#ifndef DEF_TCP_SND_SEG
138#define DEF_TCP_SND_SEG MAX_TCP_SND_SEG
139#endif
140
141/*
142 * TCP 通信端点の送受信ウィンドバッファの省コピー機能
143 */
144
145#ifdef TCP_CFG_SWBUF_CSAVE_ONLY
146#ifndef TCP_CFG_SWBUF_CSAVE
147#define TCP_CFG_SWBUF_CSAVE
148#endif
149#endif /* of #ifdef TCP_CFG_SWBUF_CSAVE_ONLY */
150
151#ifdef TCP_CFG_RWBUF_CSAVE_ONLY
152#ifndef TCP_CFG_RWBUF_CSAVE
153#define TCP_CFG_RWBUF_CSAVE
154#endif
155#endif /* of #ifdef TCP_CFG_RWBUF_CSAVE_ONLY */
156
157/*
158 * TCP_CFG_URG_OFFSET: 緊急データの最後のバイトのオフセット
159 *
160 * -1: BSD の実装
161、緊急ポインタは、緊急データの最後のバイトの次のバイトを差す。
162 * 0: RFC1122 の規定、緊急ポインタは、緊急データの最後のバイトを差す。
163 */
164
165#ifndef TCP_CFG_URG_OFFSET
166#define TCP_CFG_URG_OFFSET -1
167#endif
168
169/*
170 * ARP に関する定義
171 */
172
173#ifndef ARP_CACHE_KEEP
174#define ARP_CACHE_KEEP (20*60*NET_TIMER_HZ) /* ARP キャッシュのタイムアウト */
175#endif
176
177/*
178 * ループバックインタフェースに関する定義
179 */
180
181#ifndef LOMTU
182#define LOMTU 1500 /* ループバックの MTU */
183#endif
184
185/*
186 * TINET サポート関数に関する定義
187 */
188
189#ifndef NUM_IPV4ADDR_STR_BUFF /* ip2str における IP アドレス文字列用バッファ数 */
190
191#if defined(SUPPORT_PPP)
192
193#define NUM_IPV4ADDR_STR_BUFF 2
194
195#else /* of #if defined(SUPPORT_PPP) */
196
197#define NUM_IPV4ADDR_STR_BUFF 1
198
199#endif /* of #if defined(SUPPORT_PPP) */
200
201#endif /* of #ifndef NUM_IPV4ADDR_STR_BUFF */
202
203#ifndef NUM_IPV6ADDR_STR_BUFF
204#define NUM_IPV6ADDR_STR_BUFF 2 /* ip62str における IP アドレス文字列用バッファ数 */
205#endif
206
207#ifndef NUM_MACADDR_STR_BUFF /* macstr における MAC アドレス文字列用バッファ数 */
208
209#if defined(SUPPORT_INET4) && defined(ETHER_CFG_ACCEPT_ALL) && defined(ETHER_CFG_MCAST_WARNING)
210
211#define NUM_MACADDR_STR_BUFF 2
212
213#else /* of #if defined(SUPPORT_INET4) && defined(ETHER_CFG_ACCEPT_ALL) && defined(ETHER_CFG_MCAST_WARNING) */
214
215#define NUM_MACADDR_STR_BUFF 1
216
217#endif /* of #if defined(SUPPORT_INET4) && defined(ETHER_CFG_ACCEPT_ALL) && defined(ETHER_CFG_MCAST_WARNING) */
218
219#endif /* of #ifndef NUM_MACADDR_STR_BUFF */
220
221/*
222 * TINET 内
223部のタイムアウト値の設定
224 */
225
226#ifndef TMO_IP4_FRAG_GET_NET_BUF
227#define TMO_IP4_FRAG_GET_NET_BUF ULONG_C(1000*1000) /* [ms]、IPv4 データグラム再構成用ネットワークバッファ獲得タイムアウト */
228#endif
229
230#ifndef TMO_IP6_FRAG_GET_NET_BUF
231#define TMO_IP6_FRAG_GET_NET_BUF ULONG_C(1000*1000) /* [ms]、IPv6 データグラム再構成用ネットワークバッファ獲得タイムアウト */
232#endif
233
234#ifndef TMO_PPP_GET_NET_BUF
235#define TMO_PPP_GET_NET_BUF ULONG_C(1000*1000) /* [ms]、PPP 受信用ネットワークバッファ獲得タイムアウト */
236#endif
237
238#ifndef TMO_ARP_GET_NET_BUF
239#define TMO_ARP_GET_NET_BUF ULONG_C(1000*1000) /* [ms]、ARP のネットワークバッファ獲得タイムアウト */
240#endif
241
242#ifndef TMO_TCP_GET_NET_BUF
243#define TMO_TCP_GET_NET_BUF ULONG_C(1000*1000) /* [ms]、TCP のネットワークバッファ獲得タイムアウト */
244#endif
245
246#ifndef TMO_TCP_OUTPUT
247#define TMO_TCP_OUTPUT ULONG_C(1000*1000) /* [ms]、TCP 出力タイムアウト */
248#endif
249
250#ifndef TMO_UDP_OUTPUT
251#define TMO_UDP_OUTPUT ULONG_C(1000*1000) /* [ms]、UDP 出力タイムアウト */
252#endif
253
254#ifndef TMO_ICMP_OUTPUT
255#define TMO_ICMP_OUTPUT ULONG_C(1000*1000) /* [ms]、ICMP 出力タイムアウト */
256#endif
257
258#ifndef TMO_ND6_NS_OUTPUT
259#define TMO_ND6_NS_OUTPUT ULONG_C(1000*1000) /* [ms]、近隣要請出力タイムアウト */
260#endif
261
262#ifndef TMO_ND6_NA_OUTPUT
263#define TMO_ND6_NA_OUTPUT ULONG_C(1000*1000) /* [ms]、近隣通知出力タイムアウト */
264#endif
265
266#ifndef TMO_ND6_RS_OUTPUT
267#define TMO_ND6_RS_OUTPUT ULONG_C(1000*1000) /* [ms]、ルータ要請出力タイムアウト */
268#endif
269
270#ifndef TMO_ARP_OUTPUT
271#define TMO_ARP_OUTPUT ULONG_C(1000*1000) /* [ms]、アドレス解決要求出力タイムアウト */
272#endif
273
274#ifndef TMO_ND6_RTR_SOL_DELAY
275#define TMO_ND6_RTR_SOL_DELAY ULONG_C(1000*1000) /* [ms]、ルータ要請出力遅
276延 */
277#endif
278
279#ifndef TMO_ND6_RTR_SOL_INTERVAL
280#define TMO_ND6_RTR_SOL_INTERVAL ULONG_C(4000*1000) /* [ms]、ルータ要請出力間隔 */
281#endif
282
283#ifndef TMO_IN_REDIRECT
284 /* [s]、向け直しルーティングエントリタイムアウト*/
285#define TMO_IN_REDIRECT (10*60*NET_TIMER_HZ)
286#endif
287
288/*
289 * TINET 内
290部のタスクのスタックサイズの設定
291 */
292
293#ifndef TCP_OUT_TASK_STACK_SIZE
294#define TCP_OUT_TASK_STACK_SIZE 1024 /* TCP 出力タスクのスタックサイズ */
295#endif
296
297#ifndef UDP_OUT_TASK_STACK_SIZE
298#define UDP_OUT_TASK_STACK_SIZE 1024 /* UDP 出力タスクのスタックサイズ */
299#endif
300
301#ifndef PPP_INPUT_STACK_SIZE
302#define PPP_INPUT_STACK_SIZE 1024 /* PPP タスクのスタックサイズ */
303#endif
304
305#ifndef PPP_OUTPUT_STACK_SIZE
306#define PPP_OUTPUT_STACK_SIZE 1024 /* PPP 出力タスクのスタックサイズ */
307#endif
308
309#ifndef ETHER_INPUT_STACK_SIZE
310#define ETHER_INPUT_STACK_SIZE 1024 /* Ethernet å…
311¥åŠ›ã‚¿ã‚¹ã‚¯ã®ã‚¹ã‚¿ãƒƒã‚¯ã‚µã‚¤ã‚º */
312#endif
313
314#ifndef ETHER_OUTPUT_STACK_SIZE
315#define ETHER_OUTPUT_STACK_SIZE 1024 /* Ethernet 出力タスクのスタックサイズ */
316#endif
317
318#ifndef LOOP_INPUT_STACK_SIZE
319#define LOOP_INPUT_STACK_SIZE 1024 /* ループバックå…
320¥åŠ›ã‚¿ã‚¹ã‚¯ã®ã‚¹ã‚¿ãƒƒã‚¯ã‚µã‚¤ã‚º */
321#endif
322
323#ifndef LOOP_OUTPUT_STACK_SIZE
324#define LOOP_OUTPUT_STACK_SIZE 1024 /* ループバック出力タスクのスタックサイズ */
325#endif
326
327#ifndef NET_TIMER_STACK_SIZE
328#define NET_TIMER_STACK_SIZE 1024 /* ネットワークタイマタスクのスタックサイズ */
329#endif
330
331/*
332 * TINET 内
333部のタスクの優å…
334ˆåº¦ã®è¨­å®š
335 */
336
337#ifndef TCP_OUT_TASK_PRIORITY
338#define TCP_OUT_TASK_PRIORITY 5 /* TCP 出力タスクの優å…
339ˆåº¦ */
340#endif
341
342#ifndef UDP_OUT_TASK_PRIORITY
343#define UDP_OUT_TASK_PRIORITY 5 /* UDP 出力タスクの優å…
344ˆåº¦ */
345#endif
346
347#ifndef PPP_INPUT_PRIORITY
348#define PPP_INPUT_PRIORITY 5 /* PPP タスクの優å…
349ˆåº¦ */
350#endif
351
352#ifndef PPP_OUTPUT_PRIORITY
353#define PPP_OUTPUT_PRIORITY 5 /* PPP タスクの優å…
354ˆåº¦ */
355#endif
356
357#ifndef ETHER_INPUT_PRIORITY
358#define ETHER_INPUT_PRIORITY 5 /* Ethernet å…
359¥åŠ›ã‚¿ã‚¹ã‚¯ã®å„ªå…
360ˆåº¦ */
361#endif
362
363#ifndef ETHER_OUTPUT_PRIORITY
364#define ETHER_OUTPUT_PRIORITY 5 /* Ethernet 出力タスクの優å…
365ˆåº¦ */
366#endif
367
368#ifndef LOOP_INPUT_PRIORITY
369#define LOOP_INPUT_PRIORITY 5 /* ループバックå…
370¥åŠ›ã‚¿ã‚¹ã‚¯ã®å„ªå…
371ˆåº¦ */
372#endif
373
374#ifndef LOOP_OUTPUT_PRIORITY
375#define LOOP_OUTPUT_PRIORITY 5 /* ループバック出力タスクの優å…
376ˆåº¦ */
377#endif
378
379#ifndef NET_TIMER_PRIORITY
380#define NET_TIMER_PRIORITY 5 /* ネットワークタイマタスクの優å…
381ˆåº¦ */
382#endif
383
384/*
385 * TINET 内
386部のデータキューのエントリ数の設定
387 */
388
389/* UDP 受信キューサイズ */
390
391#ifndef NUM_DTQ_UDP_RCVQ
392#define NUM_DTQ_UDP_RCVQ 1 /* 非コールバック用 */
393#endif
394
395#ifndef NUM_DTQ_UDP_OUTPUT
396#define NUM_DTQ_UDP_OUTPUT 1 /* UDP 出力データキューサイズ */
397#endif
398
399#ifndef NUM_DTQ_PPP_OUTPUT
400#define NUM_DTQ_PPP_OUTPUT 2 /* PPP 出力データキューサイズ、2 以上 */
401#endif
402
403#ifndef NUM_DTQ_ETHER_OUTPUT
404#define NUM_DTQ_ETHER_OUTPUT 2 /* Ethernet 出力データキューサイズ */
405#endif
406
407#ifndef NUM_DTQ_LOOP_INPUT
408#define NUM_DTQ_LOOP_INPUT 0 /* ループバックå…
409¥åŠ›ãƒ‡ãƒ¼ã‚¿ã‚­ãƒ¥ãƒ¼ã‚µã‚¤ã‚º */
410#endif
411
412#ifndef NUM_DTQ_LOOP_OUTPUT
413#define NUM_DTQ_LOOP_OUTPUT 0 /* ループバック出力データキューサイズ */
414#endif
415
416/*
417 * TINET プロトコルスタック内
418部のリネーム
419 */
420
421#include <net/net_rename.h>
422#include <netinet/in_rename.h>
423
424#ifdef SUPPORT_INET6
425
426#include <netinet6/in6_rename.h>
427
428#endif /* of #ifdef SUPPORT_INET6 */
429
430#endif /* _TINET_CONFIG_H_ */
Note: See TracBrowser for help on using the repository browser.