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