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

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

initial

File size: 16.5 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-2004 by Embedded and Real-Time Systems Laboratory
7 * Toyohashi Univ. of Technology, JAPAN
8 * Copyright (C) 2001-2004 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.2 2007/01/05 02:10:17 honda 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 - (IP_HDR_SIZE + TCP_HDR_SIZE))
71
72/*
73 * MAX_TCP_SND_SEG: 送信セグメントサイズの最大値
74 *
75 * 相手から MSS オプションでセグメントサイズを指定されても、
76 * この値で、セグメントサイズを制限できる。
77 */
78
79#ifdef SUPPORT_PPP
80
81#define MAX_TCP_SND_SEG (256 - ((IF_IP_TCP_HDR_SIZE + 3) >> 2 << 2))
82/*#define MAX_TCP_SND_SEG (IF_MTU - (IP_HDR_SIZE + TCP_HDR_SIZE))*/
83/*#define MAX_TCP_SND_SEG TCP_MSS*/
84
85#endif /* of #ifdef SUPPORT_PPP */
86
87#ifdef SUPPORT_ETHER
88
89/*#define MAX_TCP_SND_SEG (1024 - ((IF_IP_TCP_HDR_SIZE + 3) >> 2 << 2))*/
90#define MAX_TCP_SND_SEG (IF_MTU - (IP_HDR_SIZE + TCP_HDR_SIZE))
91/*#define MAX_TCP_SND_SEG TCP_MSS*/
92
93#endif /* of #ifdef SUPPORT_ETHER */
94
95#ifdef SUPPORT_LOOP
96
97#define MAX_TCP_SND_SEG (IF_MTU - (IP_HDR_SIZE + TCP_HDR_SIZE))
98
99#endif /* of #ifdef SUPPORT_LOOP */
100
101/*
102 * DEF_TCP_SND_SEG: 送信セグメントサイズの規定値
103 * DEF_TCP_RCV_SEG: 受信セグメントサイズの規定値
104 */
105
106#ifdef SUPPORT_PPP
107
108#define DEF_TCP_SND_SEG MAX_TCP_SND_SEG
109
110#define DEF_TCP_RCV_SEG (256 - ((IF_IP_TCP_HDR_SIZE + 3) >> 2 << 2))
111/*#define DEF_TCP_RCV_SEG MAX_TCP_RCV_SEG*/
112
113#endif /* of #ifdef SUPPORT_PPP */
114
115#ifdef SUPPORT_ETHER
116
117#define DEF_TCP_SND_SEG MAX_TCP_SND_SEG
118
119/*#define DEF_TCP_RCV_SEG (1024 - ((IF_IP_TCP_HDR_SIZE + 3) >> 2 << 2))*/
120#define DEF_TCP_RCV_SEG (IF_MTU - (IP_HDR_SIZE + TCP_HDR_SIZE))
121/*#define DEF_TCP_RCV_SEG TCP_MSS*/
122
123#endif /* of #ifdef SUPPORT_ETHER */
124
125#ifdef SUPPORT_LOOP
126
127#define DEF_TCP_SND_SEG MAX_TCP_SND_SEG
128#define DEF_TCP_RCV_SEG (IF_MTU - (IP_HDR_SIZE + TCP_HDR_SIZE))
129
130#endif /* of #ifdef SUPPORT_LOOP */
131
132/*
133 * セグメントの順番をå…
134¥ã‚Œæ›¿ãˆã‚‹ã¨ãã«æ–°ãŸã«ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒãƒƒãƒ•ã‚¡ã‚’割当てて、
135 * データをコピーするサイズのしきい値
136 */
137#define MAX_TCP_REALLOC_SIZE 1024
138
139#define TMO_TCP_GET_NET_BUF 1000 /* [ms]、net_buf 獲得タイムアウト */
140#define TMO_TCP_OUTPUT 1000 /* [ms]、TCP 出力タイムアウト */
141
142#define TCP_CFG_OPT_MSS /* コネクション開設時に、セグメントサイズオプションをつけて送信する。*/
143#define TCP_CFG_DELAY_ACK /* ACK を遅
144らせるときはコメントを外す。 */
145#define TCP_CFG_ALWAYS_KEEP /* 常にキープアライブする時はコメントを外す。 */
146
147/*
148 * 出力タスク
149 */
150
151#define TCP_OUT_TASK_STACK_SIZE 1024 /* TCP 出力タスクのスタックサイズ */
152#define TCP_OUT_TASK_PRIORITY 5 /* TCP 出力タスクの優å…
153ˆåº¦ */
154
155/* UDP に関する定義 */
156
157 /* UDP 受信キューサイズ */
158#define NUM_DTQ_UDP_RCVQ (NUM_MPF_NET_BUF_IF_PDU-1) /* 非コールバック用 */
159#define NUM_DTQ_UDP_CB_RCVQ (NUM_DTQ_UDP_RCVQ+1) /* コールバック用 */
160
161#define TMO_UDP_OUTPUT 10000 /* [ms]、UDP 出力タイムアウト */
162
163#define UDP_CFG_IN_CHECKSUM /* UDP のå…
164¥åŠ›ãƒã‚§ãƒƒã‚¯ã‚µãƒ ã‚’行う場合はコメントを外す。 */
165#define UDP_CFG_OUT_CHECKSUM /* UDP の出力チェックサムを行う場合はコメントを外す。 */
166
167/*
168 * ノンブロッキングコールを行う場合に組み込むタスクとデータキュー
169 */
170
171#define NUM_DTQ_UDP_OUTPUT 1 /* UDP 出力データキューサイズ */
172#define UDP_OUT_TASK_STACK_SIZE 1024 /* UDP 出力タスクのスタックサイズ */
173#define UDP_OUT_TASK_PRIORITY 5 /* UDP 出力タスクの優å…
174ˆåº¦ */
175
176/* ICMPv4/v6 に関する定義 */
177
178#define ICMP_REPLY_ERROR /* ICMP エラーメッセージを送信する場合はコメントを外す。*/
179
180#define TMO_ICMP_OUTPUT 1000 /* [ms]、ICMP 出力バッファ獲得タイムアウト */
181
182/* IPv4/IPv6 å…
183±é€šå®šç¾© */
184
185#define TMO_IN_REDIRECT (10*60*1000) /* [ms]、向け直しルーティングエントリタイムアウト */
186
187/* IPv4 に関する定義 */
188
189/*#define IP4_CFG_FRAGMENT データグラムの分割・再構成行う場合はコメントを外す。*/
190#define NUM_IP4_FRAG_QUEUE 2 /* データグラム再構成キューサイズ */
191#define TMO_IP4_FRAG_GET_NET_BUF 1000 /* [ms]、net_buf 獲得タイムアウト */
192
193/* IPv6 に関する定義 */
194
195#ifdef SUPPORT_ETHER
196
197#define IP6_CFG_AUTO_LINKLOCAL /* リンクローカルアドレスの自動設定を行う場合はコメントを外す。*/
198
199#endif /* of #ifdef SUPPORT_ETHER */
200
201#define NUM_IP6_DAD_COUNT 1 /* 重複アドレス検出で送信する近隣要請の回数、 */
202 /* 0 を指定すると、重複アドレス検出を行わない。 */
203#define NUM_ND6_CACHE_ENTRY 10 /* 近隣キャッシュのエントリ数 */
204
205#ifdef SUPPORT_ETHER
206
207/*
208 * ディフォルトルータリストのエントリ数。
209 * 0 を指定するとルータ通知を受信しない。
210 */
211#define NUM_ND6_DEF_RTR_ENTRY 2
212
213/*
214 * 起動時のルータ要請出力回数。
215 * 0 を指定するとルータ要請を出力しない。
216 */
217#define NUM_ND6_RTR_SOL_RETRY 3
218
219#endif /* of #ifdef SUPPORT_ETHER */
220
221#define TMO_ND6_NS_OUTPUT 1000 /* [ms]、近隣要請出力タイムアウト */
222#define TMO_ND6_NA_OUTPUT 1000 /* [ms]、近隣通知出力タイムアウト */
223#define TMO_ND6_RS_OUTPUT 1000 /* [ms]、ルータ要請出力タイムアウト */
224#define TMO_ND6_RTR_SOL_DELAY 1000 /* [ms]、ルータ要請出力遅
225延 */
226#define TMO_ND6_RTR_SOL_INTERVAL \
227 3000 /* [ms]、ルータ要請出力間隔 */
228
229/*
230 * データリンク層 (ネットワークインタフェース) に関する定義
231 */
232
233/*
234 * PPP に関する定義
235 */
236
237#define NUM_DTQ_PPP_OUTPUT 2 /* PPP 出力データキューサイズ、2 以上 */
238
239#define PPP_INPUT_STACK_SIZE 1024 /* PPP タスクのスタックサイズ */
240#define PPP_OUTPUT_STACK_SIZE 1024 /* PPP 出力タスクのスタックサイズ */
241
242#define PPP_INPUT_PRIORITY 5 /* PPP タスクの優å…
243ˆåº¦ */
244#define PPP_OUTPUT_PRIORITY 5 /* PPP タスクの優å…
245ˆåº¦ */
246
247#define TMO_PPP_GET_NET_BUF 1000 /* [ms]、受信用 net_buf 獲得タイムアウト */
248
249/*
250 * PPP、モデムに関する定義
251 */
252
253#define MODEM_CFG_DIAL "ATD" /* ダイアルコマンド文字列 */
254#define MODEM_CFG_RETRY_CNT 3 /* ダイアルリトライ回数 */
255#define MODEM_CFG_RETRY_WAIT 10000 /* ダイアルリトライまでの待
256ち時間 [ms] */
257
258/*
259 * PPP、HDLC に関する定義
260 */
261
262#define DEF_LOCAL_ACCM 0x000a0000 /* 自分の ACCM、XON と XOFF のみ変換 */
263#define DEF_REMOTE_ACCM 0xffffffff /* 相手の ACCM、初期値はå…
264¨ã¦å¤‰æ› */
265
266/*
267 * PPP、LCP に関する定義
268 */
269
270#define LCP_CFG_MRU 0x0001 /* MRU */
271#define LCP_CFG_ACCM 0x0002 /* ACCM */
272#define LCP_CFG_MAGIC 0x0004 /* マジック番号 */
273#define LCP_CFG_PCOMP 0x0008 /* プロトコル部圧縮機能 */
274#define LCP_CFG_ACCOMP 0x0010 /* アドレス・制御部圧縮 */
275#define LCP_CFG_PAP 0x0020 /* PAP */
276/*#define LCP_CFG_CHAP 0x0040 CHAP は実装
277予定 */
278
279#ifdef LCP_CFG_MAGIC
280
281#define LCP_ECHO_INTERVAL (20*NET_TIMER_HZ) /* インターバル時間 */
282#define LCP_ECHO_FAILS 9 /* 失敗閾値 */
283
284#endif /* of #ifdef LCP_CFG_MAGIC */
285
286/*
287 * PPP、PAP に関する定義
288 */
289
290#define DEF_PAP_TIMEOUT (3*NET_TIMER_HZ)
291#define DEF_PAP_REQTIME (30*NET_TIMER_HZ) /* タイムアウト処理を行うときはコメントを外す。*/
292#define MAX_PAP_REXMT 10 /* 認証要求の最大再送回数 */
293
294/*
295 * ARP に関する定義
296 */
297
298#define NUM_ARP_ENTRY 10 /* ARP キャッシュエントリ数 */
299#define ARP_CACHE_KEEP (20*60*NET_TIMER_HZ) /* ARP キャッシュのタイムアウト */
300#define TMO_ARP_GET_NET_BUF 1000 /* [ms]、アドレス解決要求用 net_buf 獲得タイムアウト*/
301#define TMO_ARP_OUTPUT 1000 /* [ms]、アドレス解決要求出力タイムアウト */
302
303/*
304 * DHCP に関する定義
305 *
306 * ・注意: TINET は、DHCP を実装
307していない。応用プログラムで、
308 * DHCP メッセージを受信するための定義である。
309 * また、現在は IPv4 のみ有効である。
310 */
311
312/*#define DHCP_CFG DHCP を処理する場合はコメントを外す。*/
313
314/*
315 * Ethernet に関する定義
316 */
317
318#define NUM_DTQ_ETHER_OUTPUT 2 /* Ethernet 出力データキューサイズ */
319
320#define ETHER_INPUT_STACK_SIZE 1024 /* Ethernet å…
321¥åŠ›ã‚¿ã‚¹ã‚¯ã®ã‚¹ã‚¿ãƒƒã‚¯ã‚µã‚¤ã‚º */
322#define ETHER_OUTPUT_STACK_SIZE 1024 /* Ethernet 出力タスクのスタックサイズ */
323
324#define ETHER_INPUT_PRIORITY 5 /* Ethernet å…
325¥åŠ›ã‚¿ã‚¹ã‚¯ã®å„ªå…
326ˆåº¦ */
327#define ETHER_OUTPUT_PRIORITY 5 /* Ethernet 出力タスクの優å…
328ˆåº¦ */
329
330/*#define ETHER_CFG_ACCEPT_ALL マルチキャスト、エラーフレームも受信するときはコメントを外す。 */
331/*#define ETHER_CFG_UNEXP_WARNING 非サポートフレームの警告を表示するときはコメントを外す。 */
332/*#define ETHER_CFG_802_WARNING IEEE 802.3 フレームの警告を表示するときはコメントを外す。 */
333/*#define ETHER_CFG_MCAST_WARNING マルチキャストの警告を表示するときはコメントを外す。 */
334
335/*
336 * ループバックインタフェースに関する定義
337 */
338
339#define LOMTU 1500 /* ループバックの MTU */
340
341#define NUM_DTQ_LOOP_INPUT 0 /* ループバックå…
342¥åŠ›ãƒ‡ãƒ¼ã‚¿ã‚­ãƒ¥ãƒ¼ã‚µã‚¤ã‚º */
343#define NUM_DTQ_LOOP_OUTPUT 0 /* ループバック出力データキューサイズ */
344
345#define LOOP_INPUT_STACK_SIZE 1024 /* ループバックå…
346¥åŠ›ã‚¿ã‚¹ã‚¯ã®ã‚¹ã‚¿ãƒƒã‚¯ã‚µã‚¤ã‚º */
347#define LOOP_OUTPUT_STACK_SIZE 1024 /* ループバック出力タスクのスタックサイズ */
348
349#define LOOP_INPUT_PRIORITY 5 /* ループバックå…
350¥åŠ›ã‚¿ã‚¹ã‚¯ã®å„ªå…
351ˆåº¦ */
352#define LOOP_OUTPUT_PRIORITY 5 /* ループバック出力タスクの優å…
353ˆåº¦ */
354
355/*
356 * ネットワークに関する定義
357 */
358
359/* ネットワークタイマタスク */
360
361#define NET_TIMER_STACK_SIZE 1024 /* ネットワークタイマタスクのスタックサイズ */
362#define NET_TIMER_PRIORITY 5 /* ネットワークタイマタスクの優å…
363ˆåº¦ */
364
365#define NUM_NET_CALLOUT 10 /* タイムアウト呼出し数、10 以上 */
366
367/* net_buf 数 */
368
369#ifdef SUPPORT_PPP
370
371/*
372 * PPP では、受信用の net_buf は PDU (1502) サイズを常に
373 * 割り当てなければならないので PDU サイズを多めに確保する。
374 * 128 サイズの net_buf は、TCP セグメント用に多めに確保する。
375 */
376
377#define NUM_MPF_NET_BUF_128 2 /* net_buf 数、128、2 以上 */
378#define NUM_MPF_NET_BUF_256 4 /* net_buf 数、256 */
379#define NUM_MPF_NET_BUF_512 1 /* net_buf 数、512 */
380#define NUM_MPF_NET_BUF_1024 1 /* net_buf 数、1024 */
381#define NUM_MPF_NET_BUF_IF_PDU 1 /* net_buf 数、PDU */
382
383#if defined(SUPPORT_INET4) && defined(IP4_CFG_FRAGMENT)
384
385#ifndef NUM_MPF_NET_BUF_4096
386#define NUM_MPF_NET_BUF_4096 2 /* net_buf 数、4096 */
387#endif /* of #ifndef NUM_MPF_NET_BUF_4096 */
388
389#endif /* of #if defined(SUPPORT_INET4) && defined(IP4_CFG_FRAGMENT) */
390
391#endif /* of #ifdef SUPPORT_PPP */
392
393#ifdef SUPPORT_ETHER
394
395/*
396 * イーサネットでは、受信用の net_buf は、NIC のバッファにある
397 * フレーム長を見て割り当てればよい。
398 * TCP の最大セグメントサイズは 1024 オクテットの net_buf に調整する場合は、
399 * このサイズの net_buf は多めに確保する。
400 * 128 サイズの net_buf も、TCP の制御セグメント用に多めに確保する。
401 */
402
403#ifndef NUM_MPF_NET_BUF_128
404#define NUM_MPF_NET_BUF_128 4 /* net_buf 数、128、2 以上 */
405#endif /* of #ifndef NUM_MPF_NET_BUF_128 */
406
407#ifndef NUM_MPF_NET_BUF_256
408#define NUM_MPF_NET_BUF_256 2 /* net_buf 数、256 */
409#endif /* of #ifndef NUM_MPF_NET_BUF_256 */
410
411#ifndef NUM_MPF_NET_BUF_512
412#define NUM_MPF_NET_BUF_512 2 /* net_buf 数、512 */
413#endif /* of #ifndef NUM_MPF_NET_BUF_512 */
414
415#ifndef NUM_MPF_NET_BUF_1024
416#define NUM_MPF_NET_BUF_1024 2 /* net_buf 数、1024 */
417#endif /* of #ifndef NUM_MPF_NET_BUF_1024 */
418
419#ifndef NUM_MPF_NET_BUF_IF_PDU
420#define NUM_MPF_NET_BUF_IF_PDU 4 /* net_buf 数、PDU */
421#endif /* of #ifndef NUM_MPF_NET_BUF_IF_PDU */
422
423#if defined(SUPPORT_INET4) && defined(IP4_CFG_FRAGMENT)
424
425#ifndef NUM_MPF_NET_BUF_4096
426#define NUM_MPF_NET_BUF_4096 2 /* net_buf 数、4096 */
427#endif /* of #ifndef NUM_MPF_NET_BUF_4096 */
428
429#endif /* of #if defined(SUPPORT_INET4) && defined(IP4_CFG_FRAGMENT) */
430
431#endif /* of #ifdef SUPPORT_ETHER */
432
433#ifdef SUPPORT_LOOP
434
435#define NUM_MPF_NET_BUF_128 2 /* net_buf 数、128、2 以上 */
436#define NUM_MPF_NET_BUF_256 2 /* net_buf 数、256 */
437#define NUM_MPF_NET_BUF_512 2 /* net_buf 数、512 */
438#define NUM_MPF_NET_BUF_1024 2 /* net_buf 数、1024 */
439#define NUM_MPF_NET_BUF_IF_PDU 2 /* net_buf 数、PDU */
440
441#endif /* of #ifdef SUPPORT_PPP */
442
443/*
444 * ネットワーク統計情
445報の計測
446 *
447 * ネットワーク統計情
448報の計測を行う場合は、tinet/include/net/net.h
449 * で定義されているプロトコル識別フラグを指定する。
450 */
451
452#if 1
453
454#ifdef SUPPORT_INET4
455
456#define NET_COUNT_ENABLE (0 \
457 | PROTO_FLG_PPP_HDLC \
458 | PROTO_FLG_PPP_PAP \
459 | PROTO_FLG_PPP_LCP \
460 | PROTO_FLG_PPP_IPCP \
461 | PROTO_FLG_PPP \
462 | PROTO_FLG_LOOP \
463 | PROTO_FLG_ETHER_NIC \
464 | PROTO_FLG_ETHER \
465 | PROTO_FLG_ARP \
466 | PROTO_FLG_IP4 \
467 | PROTO_FLG_ICMP4 \
468 | PROTO_FLG_UDP \
469 | PROTO_FLG_TCP \
470 | PROTO_FLG_NET_BUF \
471 )
472
473#endif /* of #ifdef SUPPORT_INET4 */
474
475#ifdef SUPPORT_INET6
476
477#define NET_COUNT_ENABLE (0 \
478 | PROTO_FLG_PPP_HDLC \
479 | PROTO_FLG_PPP_PAP \
480 | PROTO_FLG_PPP_LCP \
481 | PROTO_FLG_PPP_IPCP \
482 | PROTO_FLG_PPP \
483 | PROTO_FLG_LOOP \
484 | PROTO_FLG_ETHER_NIC \
485 | PROTO_FLG_ETHER \
486 | PROTO_FLG_IP6 \
487 | PROTO_FLG_ICMP6 \
488 | PROTO_FLG_ND6 \
489 | PROTO_FLG_UDP \
490 | PROTO_FLG_TCP \
491 | PROTO_FLG_NET_BUF \
492 )
493
494#endif /* of #ifdef SUPPORT_INET6 */
495
496#else /* of #if 0 */
497
498#define NET_COUNT_ENABLE (0 \
499 )
500
501#endif /* of #if 0 */
502
503#endif /* _TINET_CPU_CONFIG_H_ */
Note: See TracBrowser for help on using the repository browser.