source: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/ia32/tinet_cpu_config.h@ 26

Last change on this file since 26 was 26, checked in by ykominami, 10 years ago

initial

File size: 14.3 KB
Line 
1/*
2 * TOPPERS/JSP Kernel
3 * Toyohashi Open Platform for Embedded Real-Time Systems/
4 * Just Standard Profile Kernel
5 *
6 * Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
7 * Toyohashi Univ. of Technology, JAPAN
8 * Copyright (C) 2001-2003 by Dep. of Computer Science and Engineering
9 * Tomakomai National College of Technology, JAPAN
10 *
11 * 上記著作権者
12は,以下の (1)〜(4) の条件か,Free Software Foundation
13 * によってå…
14¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public License の Version 2 に記
15 * 述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア
16 * を改変したものを含む.以下同じ)を使用・複製・改変・再é…
17å¸ƒï¼ˆä»¥ä¸‹ï¼Œ
18 * 利用と呼ぶ)することを無償で許諾する.
19 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
20 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
21 * スコード中に含まれていること.
22 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
23 * 用できる形で再é…
24å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é…
25å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
26 * 者
27マニュアルなど)に,上記の著作権表示,この利用条件および下記
28 * の無保証規定を掲載すること.
29 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
30 * 用できない形で再é…
31å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
32 * と.
33 * (a) 再é…
34å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€…
35マニュアルなど)に,上記の著
36 * 作権表示,この利用条件および下記の無保証規定を掲載すること.
37 * (b) 再é…
38å¸ƒã®å½¢æ…
39‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
40 * 報告すること.
41 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
42 * 害からも,上記著作権者
43およびTOPPERSプロジェクトをå…
44è²¬ã™ã‚‹ã“と.
45 *
46 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者
47お
48 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
49 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
50 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
51 *
52 * @(#) $Id: tinet_cpu_config.h,v 1.1.2.2 2004/07/21 04:46:08 monaka Exp $
53 */
54
55#ifndef _TINET_CPU_CONFIG_H_
56#define _TINET_CPU_CONFIG_H_
57
58/*
59 * TCP/IP に関する定義
60 */
61
62/* TCP に関する定義 */
63
64/*
65 * MAX_TCP_RCV_SEG: 受信セグメントサイズの最大値
66 *
67 * 注意: 変更すべきではない。
68 */
69
70#define MAX_TCP_RCV_SEG (IF_MTU - (IP4_HDR_SIZE + TCP_HDR_SIZE))
71
72/*
73 * MAX_TCP_SND_SEG: 送信セグメントサイズの最大値
74 *
75 * 相手から MSS オプションでセグメントサイズを指定されても、
76 * この値で、セグメントサイズを制限できる。
77 */
78
79#if 0 /* サイズ 1024 のネットワークバッファを使う場合 */
80
81#define MAX_TCP_SND_SEG (1024 - ((IF_IP4_TCP_HDR_SIZE + 3) >> 2 << 2))
82
83#else /* TCP_MSS を使う場合 */
84
85#if 1 /* 最大 PDU サイズのネットワークバッファを使う場合 */
86
87#define MAX_TCP_SND_SEG (IF_MTU - (IP4_HDR_SIZE + TCP_HDR_SIZE))
88
89#else /* TCP_MSS を使う場合 */
90
91#define MAX_TCP_SND_SEG TCP_MSS
92
93#endif /* of if 1 最大 PDU サイズのネットワークバッファを使う場合 */
94
95#endif /* of #if 1 サイズ 1024 のネットワークバッファを使う場合 */
96
97/*
98 * DEF_TCP_SND_SEG: 送信セグメントサイズの規定値
99 * DEF_TCP_RCV_SEG: 受信セグメントサイズの規定値
100 */
101
102#ifdef SUPPORT_PPP
103
104#define DEF_TCP_SND_SEG MAX_TCP_SND_SEG
105#define DEF_TCP_RCV_SEG MAX_TCP_RCV_SEG
106
107#endif /* of #ifdef SUPPORT_PPP */
108
109#ifdef SUPPORT_ETHER
110
111#if 0 /* サイズ 1024 のネットワークバッファを使う場合 */
112
113#define DEF_TCP_SND_SEG (1024 - ((IF_IP4_TCP_HDR_SIZE + 3) >> 2 << 2))
114#define DEF_TCP_RCV_SEG (1024 - ((IF_IP4_TCP_HDR_SIZE + 3) >> 2 << 2))
115
116#else /* サイズ 1024 のネットワークバッファを使う場合 */
117
118#if 1 /* 最大 PDU サイズのネットワークバッファを使う場合 */
119
120#define DEF_TCP_SND_SEG (IF_MTU - (IP4_HDR_SIZE + TCP_HDR_SIZE))
121#define DEF_TCP_RCV_SEG (IF_MTU - (IP4_HDR_SIZE + TCP_HDR_SIZE))
122
123#else /* TCP_MSS を使う場合 */
124
125#define DEF_TCP_SND_SEG TCP_MSS
126#define DEF_TCP_RCV_SEG TCP_MSS
127
128#endif /* of #if 1 最大 PDU サイズのネットワークバッファを使う場合 */
129
130#endif /* of #if 1 サイズ 1024 のネットワークバッファを使う場合 */
131
132#endif /* of #ifdef SUPPORT_ETHER */
133
134#ifdef SUPPORT_LOOP
135
136#define DEF_TCP_SND_SEG (IF_MTU - (IP4_HDR_SIZE + TCP_HDR_SIZE))
137#define DEF_TCP_RCV_SEG (IF_MTU - (IP4_HDR_SIZE + TCP_HDR_SIZE))
138
139#endif /* of #ifdef SUPPORT_LOOP */
140
141/*
142 * セグメントの順番をå…
143¥ã‚Œæ›¿ãˆã‚‹ã¨ãã«æ–°ãŸã«ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒãƒƒãƒ•ã‚¡ã‚’割当てて、
144 * データをコピーするサイズのしきい値
145 */
146#define MAX_TCP_REALLOC_SIZE 1024
147
148#define TMO_TCP_GET_NET_BUF 1000 /* [ms]、net_buf 獲得タイムアウト */
149#define TMO_TCP_OUTPUT 1000 /* [ms]、TCP 出力タイムアウト */
150
151#define TCP_CFG_OPT_MSS /* コネクション開設時に、セグメントサイズオプションをつけて送信する。*/
152#define TCP_CFG_DELAY_ACK /* ACK を遅
153らせるときはコメントを外す。 */
154#define TCP_CFG_ALWAYS_KEEP /* 常にキープアライブする時はコメントを外す。 */
155
156/*
157 * 出力タスク
158 */
159
160#define TCP_OUT_TASK_STACK_SIZE 1024 /* TCP 出力タスクのスタックサイズ */
161#define TCP_OUT_TASK_PRIORITY 5 /* TCP 出力タスクの優å…
162ˆåº¦ */
163
164/* UDP に関する定義 */
165
166 /* UDP 受信キューサイズ */
167#define NUM_DTQ_UDP_RCVQ (NUM_MPF_NET_BUF_IF_PDU-1) /* 非コールバック用 */
168#define NUM_DTQ_UDP_CB_RCVQ (NUM_DTQ_UDP_RCVQ+1) /* コールバック用 */
169
170#define TMO_UDP_OUTPUT 10000 /* [ms]、UDP 出力タイムアウト */
171
172#define UDP_CFG_IN_CHECKSUM /* UDP のå…
173¥åŠ›ãƒã‚§ãƒƒã‚¯ã‚µãƒ ã‚’行う場合はコメントを外す。 */
174#define UDP_CFG_OUT_CHECKSUM /* UDP の出力チェックサムを行う場合はコメントを外す。 */
175
176/*
177 * ノンブロッキングコールを行う場合に組み込むタスクとデータキュー
178 */
179
180#define NUM_DTQ_UDP_OUTPUT 1 /* UDP 出力データキューサイズ */
181#define UDP_OUT_TASK_STACK_SIZE 1024 /* UDP 出力タスクのスタックサイズ */
182#define UDP_OUT_TASK_PRIORITY 5 /* UDP 出力タスクの優å…
183ˆåº¦ */
184
185/* ICMP4 に関する定義 */
186
187#define ICMP4_REPLY_ERROR /* ICMP4 エラーメッセージを送信する場合はコメントを外す。*/
188
189#define TMO_ICMP4_OUTPUT 1000 /* [ms]、ICMP4 出力バッファ獲得タイムアウト */
190
191/*
192 * データリンク層 (ネットワークインタフェース) に関する定義
193 */
194
195/*
196 * PPP に関する定義
197 */
198
199#define NUM_DTQ_PPP_OUTPUT 2 /* PPP 出力データキューサイズ、2 以上 */
200
201#define PPP_INPUT_STACK_SIZE 1024 /* PPP タスクのスタックサイズ */
202#define PPP_OUTPUT_STACK_SIZE 1024 /* PPP 出力タスクのスタックサイズ */
203
204#define PPP_INPUT_PRIORITY 5 /* PPP タスクの優å…
205ˆåº¦ */
206#define PPP_OUTPUT_PRIORITY 5 /* PPP タスクの優å…
207ˆåº¦ */
208
209#define TMO_PPP_GET_NET_BUF 1000 /* [ms]、受信用 net_buf 獲得タイムアウト */
210
211/*
212 * PPP、モデムに関する定義
213 */
214
215#define MODEM_CFG_DIAL "ATD" /* ダイアルコマンド文字列 */
216#define MODEM_CFG_RETRY_CNT 3 /* ダイアルリトライ回数 */
217#define MODEM_CFG_RETRY_WAIT 10000 /* ダイアルリトライまでの待
218ち時間 [ms] */
219
220/*
221 * PPP、HDLC に関する定義
222 */
223
224#define DEF_LOCAL_ACCM 0x000a0000 /* 自分の ACCM、XON と XOFF のみ変換 */
225#define DEF_REMOTE_ACCM 0xffffffff /* 相手の ACCM、初期値はå…
226¨ã¦å¤‰æ› */
227
228/*
229 * PPP、LCP に関する定義
230 */
231
232#define LCP_CFG_MRU 0x0001 /* MRU */
233#define LCP_CFG_ACCM 0x0002 /* ACCM */
234#define LCP_CFG_MAGIC 0x0004 /* マジック番号 */
235#define LCP_CFG_PCOMP 0x0008 /* プロトコル部圧縮機能 */
236#define LCP_CFG_ACCOMP 0x0010 /* アドレス・制御部圧縮 */
237#define LCP_CFG_PAP 0x0020 /* PAP */
238/*#define LCP_CFG_CHAP 0x0040 CHAP は実装
239予定 */
240
241#ifdef LCP_CFG_MAGIC
242
243#define LCP_ECHO_INTERVAL (20*NET_TIMER_HZ) /* インターバル時間 */
244#define LCP_ECHO_FAILS 9 /* 失敗閾値 */
245
246#endif /* of #ifdef LCP_CFG_MAGIC */
247
248/*
249 * PPP、PAP に関する定義
250 */
251
252#define DEF_PAP_TIMEOUT (3*NET_TIMER_HZ)
253#define DEF_PAP_REQTIME (30*NET_TIMER_HZ) /* タイムアウト処理を行うときはコメントを外す。*/
254#define MAX_PAP_REXMT 10 /* 認証要求の最大再送回数 */
255
256/*
257 * ARP に関する定義
258 */
259
260#define NUM_ARP_ENTRY 10 /* ARP キャッシュエントリ数 */
261#define ARP_CACHE_KEEP (20*60*NET_TIMER_HZ) /* ARP キャッシュのタイムアウト */
262#define TMO_ARP_GET_NET_BUF 1000 /* [ms]、アドレス解決要求用 net_buf 獲得タイムアウト*/
263#define TMO_ARP_OUTPUT 1000 /* [ms]、アドレス解決要求出力タイムアウト */
264
265/*
266 * DHCP に関する定義
267 *
268 * ・注意: TINET は、DHCP を実装
269していない。応用プログラムで、
270 * DHCP メッセージを受信するための定義である。
271 */
272
273/*#define DHCP_CFG DHCP を処理する場合はコメントを外す。*/
274
275/*
276 * Ethernet に関する定義
277 */
278
279#define NUM_DTQ_ETHER_OUTPUT 2 /* Ethernet 出力データキューサイズ */
280
281#define ETHER_INPUT_STACK_SIZE 1024 /* Ethernet å…
282¥åŠ›ã‚¿ã‚¹ã‚¯ã®ã‚¹ã‚¿ãƒƒã‚¯ã‚µã‚¤ã‚º */
283#define ETHER_OUTPUT_STACK_SIZE 1024 /* Ethernet 出力タスクのスタックサイズ */
284
285#define ETHER_INPUT_PRIORITY 3 /* Ethernet å…
286¥åŠ›ã‚¿ã‚¹ã‚¯ã®å„ªå…
287ˆåº¦ */
288#define ETHER_OUTPUT_PRIORITY 2 /* Ethernet 出力タスクの優å…
289ˆåº¦ */
290
291/*#define ETHER_CFG_ACCEPT_ALL マルチキャスト、エラーフレームも受信するときはコメントを外す。 */
292/*#define ETHER_CFG_UNEXP_WARNING 非サポートフレームの警告を表示するときはコメントを外す。 */
293/*#define ETHER_CFG_802_WARNING IEEE 802.3 フレームの警告を表示するときはコメントを外す。 */
294/*#define ETHER_CFG_MCAST_WARNING マルチキャストの警告を表示するときはコメントを外す。 */
295
296/*
297 * ループバックインタフェースに関する定義
298 */
299
300#define LOMTU 1500 /* ループバックの MTU */
301
302#define NUM_DTQ_LOOP_INPUT 0 /* ループバックå…
303¥åŠ›ãƒ‡ãƒ¼ã‚¿ã‚­ãƒ¥ãƒ¼ã‚µã‚¤ã‚º */
304#define NUM_DTQ_LOOP_OUTPUT 0 /* ループバック出力データキューサイズ */
305
306#define LOOP_INPUT_STACK_SIZE 1024 /* ループバックå…
307¥åŠ›ã‚¿ã‚¹ã‚¯ã®ã‚¹ã‚¿ãƒƒã‚¯ã‚µã‚¤ã‚º */
308#define LOOP_OUTPUT_STACK_SIZE 1024 /* ループバック出力タスクのスタックサイズ */
309
310#define LOOP_INPUT_PRIORITY 5 /* ループバックå…
311¥åŠ›ã‚¿ã‚¹ã‚¯ã®å„ªå…
312ˆåº¦ */
313#define LOOP_OUTPUT_PRIORITY 5 /* ループバック出力タスクの優å…
314ˆåº¦ */
315
316/*
317 * ネットワークに関する定義
318 */
319
320/* ネットワークタイマタスク */
321
322#define NET_TIMER_STACK_SIZE 1024 /* ネットワークタイマタスクのスタックサイズ */
323#define NET_TIMER_PRIORITY 2 /* ネットワークタイマタスクの優å…
324ˆåº¦ */
325
326#define NUM_NET_CALLOUT 5 /* タイムアウト呼出し数、10 以上 */
327
328/* net_buf 数 */
329
330#ifdef SUPPORT_PPP
331
332/*
333 * PPP では、受信用の net_buf は PDU (1502) サイズを常に
334 * 割り当てなければならないので PDU サイズを多めに確保する。
335 * 128 サイズの net_buf は、TCP セグメント用に多めに確保する。
336 */
337
338#define NUM_MPF_NET_BUF_128 4 /* net_buf 数、128、2 以上 */
339#define NUM_MPF_NET_BUF_256 2 /* net_buf 数、256 */
340#define NUM_MPF_NET_BUF_512 2 /* net_buf 数、512 */
341#define NUM_MPF_NET_BUF_1024 2 /* net_buf 数、1024 */
342#define NUM_MPF_NET_BUF_IF_PDU 4 /* net_buf 数、PDU */
343
344#endif /* of #ifdef SUPPORT_PPP */
345
346#ifdef SUPPORT_ETHER
347
348/*
349 * イーサネットでは、受信用の net_buf は、NIC のバッファにある
350 * フレーム長を見て割り当てればよい。
351 * TCP の最大セグメントサイズは 1024 オクテットの net_buf に調整する場合は、
352 * このサイズの net_buf は多めに確保する。
353 * 128 サイズの net_buf も、TCP の制御セグメント用に多めに確保する。
354 */
355
356#ifndef NUM_MPF_NET_BUF_128
357#define NUM_MPF_NET_BUF_128 128 /* net_buf 数、128、2 以上 */
358#endif /* of #ifndef NUM_MPF_NET_BUF_128 */
359
360#ifndef NUM_MPF_NET_BUF_256
361#define NUM_MPF_NET_BUF_256 64 /* net_buf 数、256 */
362#endif /* of #ifndef NUM_MPF_NET_BUF_256 */
363
364#ifndef NUM_MPF_NET_BUF_512
365#define NUM_MPF_NET_BUF_512 64 /* net_buf 数、512 */
366#endif /* of #ifndef NUM_MPF_NET_BUF_512 */
367
368#ifndef NUM_MPF_NET_BUF_1024
369#define NUM_MPF_NET_BUF_1024 64 /* net_buf 数、1024 */
370#endif /* of #ifndef NUM_MPF_NET_BUF_1024 */
371
372#ifndef NUM_MPF_NET_BUF_IF_PDU
373#define NUM_MPF_NET_BUF_IF_PDU 128 /* net_buf 数、PDU */
374#endif /* of #ifndef NUM_MPF_NET_BUF_IF_PDU */
375
376#endif /* of #ifdef SUPPORT_ETHER */
377
378#ifdef SUPPORT_LOOP
379
380#define NUM_MPF_NET_BUF_128 2 /* net_buf 数、128、2 以上 */
381#define NUM_MPF_NET_BUF_256 2 /* net_buf 数、256 */
382#define NUM_MPF_NET_BUF_512 2 /* net_buf 数、512 */
383#define NUM_MPF_NET_BUF_1024 2 /* net_buf 数、1024 */
384#define NUM_MPF_NET_BUF_IF_PDU 2 /* net_buf 数、PDU */
385
386#endif /* of #ifdef SUPPORT_PPP */
387
388/*
389 * ネットワーク統計情
390報の計測
391 *
392 * ネットワーク統計情
393報の計測を行う場合は、tinet/include/net/net.h
394 * で定義されているプロトコル識別フラグを指定する。
395 */
396
397#if 1
398
399#define NET_COUNT_ENABLE (0 \
400 | PROTO_FLG_PPP_HDLC \
401 | PROTO_FLG_PPP_PAP \
402 | PROTO_FLG_PPP_LCP \
403 | PROTO_FLG_PPP_IPCP \
404 | PROTO_FLG_PPP \
405 | PROTO_FLG_LOOP \
406 | PROTO_FLG_ETHER_NIC \
407 | PROTO_FLG_ETHER \
408 | PROTO_FLG_ARP \
409 | PROTO_FLG_IP4 \
410 | PROTO_FLG_ICMP4 \
411 | PROTO_FLG_UDP \
412 | PROTO_FLG_TCP \
413 | PROTO_FLG_NET_BUF \
414 )
415
416#else /* of #if 0 */
417
418#define NET_COUNT_ENABLE (0 \
419 )
420
421#endif /* of #if 0 */
422
423#endif /* _TINET_CPU_CONFIG_H_ */
Note: See TracBrowser for help on using the repository browser.