Changeset 318 for asp3_gr_sakura/trunk/tinet
- Timestamp:
- Aug 3, 2017, 10:46:41 PM (7 years ago)
- Location:
- asp3_gr_sakura/trunk/tinet
- Files:
-
- 289 edited
Legend:
- Unmodified
- Added
- Removed
-
asp3_gr_sakura/trunk/tinet/Makefile.tinet
-
Property svn:mime-type
changed from
text/x-makefile
totext/x-makefile; charset=UTF-8
r317 r318 6 6 # Copyright (C) 2008-2009 by Hokkaido Industrial Research Institute, JAPAN 7 7 # 8 # ä¸è¨èä½æ¨©è 9 ã¯ï¼ä»¥ä¸ã® (1)ï½(4) ã®æ¡ä»¶ãï¼Free Software Foundation 10 # ã«ãã£ã¦å 11 ¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨ 12 # è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢ 13 # ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹å¤ã»åé 14 å¸ï¼ä»¥ä¸ï¼ 15 # å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 16 # (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 17 # 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 18 # ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 19 # (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 20 # ç¨ã§ããå½¢ã§åé 21 å¸ããå ´åã«ã¯ï¼åé 22 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 23 # è 24 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 25 # ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 26 # (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 27 # ç¨ã§ããªãå½¢ã§åé 28 å¸ããå ´åã«ã¯ï¼æ¬¡ã®æ¡ä»¶ãæºãããã¨ï¼ 29 # (a) åé 30 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 31 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 32 # ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 33 # (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 34 # 害ãããï¼ä¸è¨èä½æ¨©è 35 ããã³TOPPERSããã¸ã§ã¯ããå 36 責ãããã¨ï¼ 8 # 上記著作権者は,以下の (1)~(4) の条件か,Free Software Foundation 9 # によって公表されている GNU General Public License の Version 2 に記 10 # 述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア 11 # を改変したものを含む.以下同じ)を使用・複製・改変・再配布(以下, 12 # 利用と呼ぶ)することを無償で許諾する. 13 # (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 14 # 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 15 # スコード中に含まれていること. 16 # (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 17 # 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 18 # 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 19 # の無保証規定を掲載すること. 20 # (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 21 # 用できない形で再配布する場合には,次の条件を満たすこと. 22 # (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 23 # 作権表示,この利用条件および下記の無保証規定を掲載すること. 24 # (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 25 # 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 37 26 # 38 # æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 39 ã 40 # ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 41 # å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 42 # æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 27 # 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 28 # よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 29 # 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 30 # 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 43 31 # 44 # @(#) $Id : Makefile.tinet 1.7 2017/6/1 8:50:42 abe$45 # 46 47 # 48 # ãããã«ã¦ã§ã¢ã® Makefile ã®ã¤ã³ã¯ã«ã¼ããã«è¿½å ããã49 # 50 51 # 52 # ã«ã¼ãã«ã®èå¥32 # @(#) $Id$ 33 # 34 35 # 36 # 「ミドルウェアの Makefile のインクルード」に追加する。 37 # 38 39 # 40 # カーネルの識別 53 41 # 54 42 ifdef SRCLANG … … 61 49 62 50 # 63 # TINET ã½ã¼ã¹ãã¡ã¤ã«ã®ãã£ã¬ã¯ããªã®å®ç¾©51 # TINET ソースファイルのディレクトリの定義 64 52 # 65 53 TINET_ROOT = $(SRCDIR)/tinet 66 54 67 55 # 68 # TINET 1.1 ã¨ã®äºææ§ã®ããã®å®ç¾©56 # TINET 1.1 との互換性のための定義 69 57 # 70 58 ifndef SUPPORT_INET4 … … 75 63 76 64 # 77 # TINET 1.7 以éã¯ããããã¯ã¼ã¯å±¤ã®æå®ãå¤æ´ããã65 # TINET 1.7 以降は、ネットワーク層の指定を変更した。 78 66 # 79 67 … … 91 79 92 80 # 93 # ãããã¯ã¼ã¯ãµã¼ãã¹ã«é¢ããå®ç¾©94 # 95 96 # æ±ç¨éä¿¡æ©è½81 # ネットワークサービスに関する定義 82 # 83 84 # 汎用通信機能 97 85 98 86 TINET_DIRS = $(TINET_ROOT)/net:$(TINET_ROOT)/netinet:$(TINET_ROOT)/netinet6 … … 138 126 TINET_CDEFS := $(TINET_CDEFS) -DSUPPORT_PPP 139 127 140 # IPv6 ç¨cp128 # IPv6用 cp 141 129 TINET_COBJS := $(TINET_COBJS) ppp_ipv6cp.o 142 130 143 # IPv4 ç¨cp131 # IPv4用 cp 144 132 TINET_COBJS := $(TINET_COBJS) ppp_ipcp.o 145 133 … … 153 141 endif 154 142 155 # ã¿ã¼ã²ããä¾åã®å®ç¾©ã®ã¤ã³ã¯ã«ã¼ã143 # ターゲット依存の定義のインクルード 156 144 157 145 ifeq ($(TARGET_KERNEL),ASP) … … 214 202 215 203 # 216 # TINET ã©ã¤ãã©ãªã®å®ç¾©204 # TINET ライブラリの定義 217 205 # 218 206 … … 252 240 253 241 # 254 # ã©ã¤ãã©ãªåããã½ã¼ã¹ãã¡ã¤ã«ããçæããã255 # ãªãã¸ã§ã¯ããã¡ã¤ã«ã®å®ç¾©242 # ライブラリ化するソースファイルから生成される 243 # オブジェクトファイルの定義 256 244 # 257 245 TINET_LCOBJS = $(foreach file,$(TINET_LCSRCS),$($(file:.c=))) … … 278 266 279 267 # 280 # ã©ã¤ãã©ãªåããã½ã¼ã¹ãã¡ã¤ã«ããçæããã281 # ãªãã¸ã§ã¯ããã¡ã¤ã«ã®ä¾åé¢ä¿ã®å®ç¾©268 # ライブラリ化するソースファイルから生成される 269 # オブジェクトファイルの依存関係の定義 282 270 # 283 271 $(tcp_usrreq) $(tcp_usrreq:.o=.s) $(tcp_usrreq:.o=.d): tcp_usrreq.c tcpn_usrreq.c … … 286 274 287 275 # 288 # TINET ã©ã¤ãã©ãªã®å®ç¾©276 # TINET ライブラリの定義 289 277 # 290 278 TINET_LIB_OBJS = $(TINET_LCOBJS) 291 279 292 280 # 293 # TINET ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ã®å®ç¾©281 # TINET コンフィギュレーションファイルの定義 294 282 # 295 283 … … 313 301 314 302 # 315 # å 316 ±éã³ã³ãã¤ã«ãªãã·ã§ã³ã®å®ç¾©ã¸ã®è¿½å 303 # 共通コンパイルオプションの定義への追加 317 304 # 318 305 CDEFS := $(CDEFS) $(TINET_CDEFS) … … 320 307 321 308 # 322 # TINET ã³ã³ãã¤ã«ãªãã·ã§ã³ã®å®ç¾©ã¸ã®è¿½å309 # TINET コンパイルオプションの定義への追加 323 310 # 324 311 TINET_CFLAGS := $(TINET_CFLAGS) -fno-strict-aliasing 325 312 326 313 # 327 # ã·ã¹ãã ãµã¼ãã¹ãããã«ã¦ã§ã¢ã«é¢ããå®ç¾©314 # システムサービス、ミドルウェアに関する定義 328 315 # 329 316 … … 362 349 363 350 # 364 # TINET ã©ã¤ãã©ãªãã¡ã¤ã«ã®çæ351 # TINET ライブラリファイルの生成 365 352 # 366 353 libtinet.a: $(TINET_LIB_OBJS) … … 370 357 371 358 # 372 # ã³ã³ãã¤ã«ã«ã¼ã«ã®å®ç¾©359 # コンパイルルールの定義 373 360 # 374 361 … … 391 378 392 379 # 393 # ã³ã³ãã¤ã«çµæã®æ¶å»380 # コンパイル結果の消去 394 381 # 395 382 cleantinet: -
Property svn:mime-type
changed from
-
asp3_gr_sakura/trunk/tinet/asp_sample/Makefile
-
Property svn:eol-style
set to
native
-
Property svn:mime-type
set to
text/x-makefile; charset=UTF-8
r317 r318 1 1 # 2 # ãããã¯ã¼ã¯ãµã¼ãã¹ã®å®ç¾©2 # ネットワークサービスの定義 3 3 # 4 4 5 # ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã®é¸æãä½ããä¸ã¤é¸æããã5 # ネットワークインタフェースの選択、何れか一つ選択する。 6 6 7 7 NET_IF = @(NET_IF) 8 8 9 # ã¤ã¼ãµãããã»ãã£ãã¤ã¹ãã©ã¤ãã®é¸æ9 # イーサネット・ディバイスドライバの選択 10 10 11 11 NET_DEV = @(NET_DEV) 12 12 13 # ãããã¯ã¼ã¯å±¤ã®é¸æ13 # ネットワーク層の選択 14 14 15 15 @(SUPPORT_INET6) 16 16 @(SUPPORT_INET4) 17 17 18 # API ã«çµè¾¼ãæ©è½ã®é¸æ18 # API に組込む機能の選択 19 19 20 20 @(API_CFG_IP4MAPPED_ADDR) 21 21 22 # ãã©ã³ã¹ãã¼ã層ã®é¸æ22 # トランスポート層の選択 23 23 24 24 @(SUPPORT_TCP) … … 26 26 27 27 # 28 # ã·ã¹ãã ãµã¼ãã¹ã® Makefile ã®ã¤ã³ã¯ã«ã¼ã28 # システムサービスの Makefile のインクルード 29 29 # 30 30 include $(SRCDIR)/tinet/Makefile.tinet -
Property svn:eol-style
set to
-
asp3_gr_sakura/trunk/tinet/asp_sample/Makefile.copyright
-
Property svn:mime-type
changed from
text/x-makefile
totext/x-makefile; charset=UTF-8
r317 r318 5 5 # Tomakomai National College of Technology, JAPAN 6 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 ãå 35 責ãããã¨ï¼ 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 # 害からも,上記著作権者を免責すること. 36 25 # 37 # æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã¯ï¼ 39 # æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã 40 # ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã 41 # ããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 # 本ソフトウェアは,無保証で提供されているものである.上記著作権者は, 27 # 本ソフトウェアに関して,その適用可能性も含めて,いかなる保証も行わ 28 # ない.また,本ソフトウェアの利用により直接的または間接的に生じたい 29 # かなる損害に関しても,その責任を負わない. 42 30 # 43 # @(#) $Id : Makefile.copyright 1.7 2017/6/1 8:50:38 abe$31 # @(#) $Id$ 44 32 # -
Property svn:mime-type
changed from
-
asp3_gr_sakura/trunk/tinet/asp_sample/Makefile.minsv
-
Property svn:mime-type
changed from
text/x-makefile
totext/x-makefile; charset=UTF-8
r317 r318 1 1 # 2 # ãããã¯ã¼ã¯ãµã¼ãã¹ã®å®ç¾©2 # ネットワークサービスの定義 3 3 # 4 4 5 # ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã®é¸æãä½ããä¸ã¤é¸æããã5 # ネットワークインタフェースの選択、何れか一つ選択する。 6 6 7 7 NET_IF = @(NET_IF) 8 8 9 # ã¤ã¼ãµãããã»ãã£ãã¤ã¹ãã©ã¤ãã®é¸æ9 # イーサネット・ディバイスドライバの選択 10 10 11 11 NET_DEV = @(NET_DEV) 12 12 13 # ãããã¯ã¼ã¯å±¤ã®é¸æ13 # ネットワーク層の選択 14 14 15 15 @(SUPPORT_INET6) 16 16 @(SUPPORT_INET4) 17 17 18 # API ã«çµè¾¼ãæ©è½ã®é¸æ18 # API に組込む機能の選択 19 19 20 20 @(API_CFG_IP4MAPPED_ADDR) 21 21 22 # ãã©ã³ã¹ãã¼ã層ã®é¸æ22 # トランスポート層の選択 23 23 24 24 @(SUPPORT_TCP) … … 26 26 27 27 # 28 # ãµã³ãã«ã®ãããã¯ã¼ã¯å¿ç¨ããã°ã©ã ã«é¢ããå®ç¾©28 # サンプルのネットワーク応用プログラムに関する定義 29 29 # 30 30 31 # TCP ã«çµè¾¼ãæ©è½ã®é¸æ31 # TCP に組込む機能の選択 32 32 TCP_CFG_RWBUF_CSAVE_ONLY = true 33 33 TCP_CFG_SWBUF_CSAVE_ONLY = true 34 34 35 # TCP ã®æ©è½ã¨ API ã®é¸æ35 # TCP の機能と API の選択 36 36 37 37 USE_COPYSAVE_API = true 38 38 39 # å 40 ±éãµã¼ãããã°ã©ã ã®é¸æ 39 # 共通サーバプログラムの選択 41 40 42 41 USE_WWW_SRV = true 43 42 44 # TCP ã¨ã³ã¼ãµã¼ãããã°ã©ã ã®é¸æ45 # tcp_echo_srv1: éåä¿¡ã¿ã¹ã¯åä¸å43 # TCP エコーサーバプログラムの選択 44 # tcp_echo_srv1: 送受信タスク同一型 46 45 47 46 TCP_ECHO_SRV = tcp_echo_srv1 48 47 49 # å 50 ±éãµã¼ãã¿ã¹ã¯æ°ã®é¸æ 48 # 共通サーバタスク数の選択 51 49 52 CDEFS := $(CDEFS) -DNUM_WWW_SRV_TASKS=1 # WWW ãµã¼ãã¿ã¹ã¯æ°ãæ大253 CDEFS := $(CDEFS) -DNUM_TCP_ECHO_SRV_TASKS=1 # TCP ECHO ãµã¼ãã¿ã¹ã¯æ°ãæ大850 CDEFS := $(CDEFS) -DNUM_WWW_SRV_TASKS=1 # WWW サーバタスク数、最大 2 51 CDEFS := $(CDEFS) -DNUM_TCP_ECHO_SRV_TASKS=1 # TCP ECHO サーバタスク数、最大 8 54 52 55 # TCP ã®ã»ã°ã¡ã³ããµã¤ãºã®é¸æ53 # TCP のセグメントサイズの選択 56 54 57 CDEFS := $(CDEFS) -DUSE_TCP_MSS_SEG # ã»ã°ã¡ã³ããµã¤ãºã MSS ã«ããã55 CDEFS := $(CDEFS) -DUSE_TCP_MSS_SEG # セグメントサイズを MSS にする。 58 56 59 57 # 60 # ãµã³ãã«ã®ãããã¯ã¼ã¯å¿ç¨ããã°ã©ã ã® Makefile ã®ã¤ã³ã¯ã«ã¼ã58 # サンプルのネットワーク応用プログラムの Makefile のインクルード 61 59 # 62 60 include $(SRCDIR)/tinet/netapp/Makefile.netapp 63 61 64 62 # 65 # ã·ã¹ãã ãµã¼ãã¹ã® Makefile ã®ã¤ã³ã¯ã«ã¼ã63 # システムサービスの Makefile のインクルード 66 64 # 67 65 include $(SRCDIR)/tinet/Makefile.tinet -
Property svn:mime-type
changed from
-
asp3_gr_sakura/trunk/tinet/asp_sample/Makefile.nserv
-
Property svn:mime-type
changed from
text/x-makefile
totext/x-makefile; charset=UTF-8
r317 r318 1 1 # 2 # ãããã¯ã¼ã¯ãµã¼ãã¹ã®å®ç¾©2 # ネットワークサービスの定義 3 3 # 4 4 5 # ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã®é¸æãä½ããä¸ã¤é¸æããã5 # ネットワークインタフェースの選択、何れか一つ選択する。 6 6 7 7 NET_IF = @(NET_IF) 8 8 9 # ã¤ã¼ãµãããã»ãã£ãã¤ã¹ãã©ã¤ãã®é¸æ9 # イーサネット・ディバイスドライバの選択 10 10 11 11 NET_DEV = @(NET_DEV) 12 12 13 # ãããã¯ã¼ã¯å±¤ã®é¸æ13 # ネットワーク層の選択 14 14 15 15 @(SUPPORT_INET6) 16 16 @(SUPPORT_INET4) 17 17 18 # API ã«çµè¾¼ãæ©è½ã®é¸æ18 # API に組込む機能の選択 19 19 20 20 @(API_CFG_IP4MAPPED_ADDR) 21 21 22 # ãã©ã³ã¹ãã¼ã層ã®é¸æ22 # トランスポート層の選択 23 23 24 24 @(SUPPORT_TCP) … … 26 26 27 27 # 28 # ãµã³ãã«ã®ãããã¯ã¼ã¯å¿ç¨ããã°ã©ã ã®é¸æ28 # サンプルのネットワーク応用プログラムの選択 29 29 # 30 30 31 # TCP ã«çµè¾¼ãæ©è½ã®é¸æ31 # TCP に組込む機能の選択 32 32 33 33 #TCP_CFG_RWBUF_CSAVE_ONLY = true … … 38 38 TCP_CFG_EXTENTIONS = true 39 39 40 # TCP ã®æ©è½ã¨ API ã®é¸æ40 # TCP の機能と API の選択 41 41 42 42 #USE_TCP_NON_BLOCKING = true … … 44 44 USE_COPYSAVE_API = true 45 45 46 # UDP ã«çµè¾¼ãæ©è½ã®é¸æ46 # UDP に組込む機能の選択 47 47 48 48 UDP_CFG_NON_BLOCKING = true 49 49 UDP_CFG_EXTENTIONS = true 50 50 51 # UDP ã®æ©è½ã®é¸æ51 # UDP の機能の選択 52 52 53 53 #USE_UDP_EXTENTIONS = true 54 54 55 # UDP ã®æ©è½ã®é¸æã両æ¹åæã«ã¯é¸æã§ããªãã55 # UDP の機能の選択、両方同時には選択できない。 56 56 57 57 #USE_UDP_NON_BLOCKING = true 58 58 #USE_UDP_CALL_BACK = true 59 59 60 # å 61 ±éãµã¼ãããã°ã©ã ã®é¸æ 60 # 共通サーバプログラムの選択 62 61 63 62 USE_WWW_SRV = true … … 67 66 USE_TCP_DISCARD_SRV = true 68 67 69 # TCP ã¨ã³ã¼ãµã¼ãããã°ã©ã ã®é¸æããã ãã両æ¹ã¯é¸æã§ããªãã70 # tcp_echo_srv1: éåä¿¡ã¿ã¹ã¯åä¸å71 # tcp_echo_srv2: éåä¿¡ã¿ã¹ã¯åé¢å68 # TCP エコーサーバプログラムの選択、ただし、両方は選択できない。 69 # tcp_echo_srv1: 送受信タスク同一型 70 # tcp_echo_srv2: 送受信タスク分離型 72 71 73 72 TCP_ECHO_SRV = tcp_echo_srv1 … … 76 75 USE_TCP4_ECHO_SRV = true 77 76 78 # ã³ã³ã½ã¼ã«å 79 ¥åºåã®é¸æ 77 # コンソール入出力の選択 80 78 81 # ã·ãªã¢ã«çµç±ã®ã¿79 # シリアル経由のみ 82 80 USE_DBG_CONS = true 83 81 84 # falseãæå®ããã¨ãé¢æ° dbg_parse() ãå¿ 85 è¦ã§ããã 82 # falseを指定すると、関数 dbg_parse() が必要である。 86 83 USE_DBG_CONS_PARSER = true 87 84 88 # ã·ãªã¢ã«ã¨ãããã¯ã¼ã¯çµç±89 # ãã ãããã³ããããã³ã°ã³ã¼ã«ãçµè¾¼ãã ææå¹85 # シリアルとネットワーク経由 86 # ただし、ノンブロッキングコールを組込んだ時有効 90 87 USE_NET_CONS = true 91 88 92 # å 93 ±éã¯ã©ã¤ã¢ã³ãããã°ã©ã ã®é¸æ 89 # 共通クライアントプログラムの選択 94 90 95 91 USE_TCP_ECHO_CLI = true … … 104 100 USE_PING = true 105 101 106 # å 107 ±éãµã¼ãã¿ã¹ã¯æ°ã®é¸æ 102 # 共通サーバタスク数の選択 108 103 109 CDEFS := $(CDEFS) -DNUM_WWW_SRV_TASKS=1 # WWW ãµã¼ãã¿ã¹ã¯æ°ãæ大2110 CDEFS := $(CDEFS) -DNUM_TCP_ECHO_SRV_TASKS=4 # TCP ECHO ãµã¼ãã¿ã¹ã¯æ°ãæ大8104 CDEFS := $(CDEFS) -DNUM_WWW_SRV_TASKS=1 # WWW サーバタスク数、最大 2 105 CDEFS := $(CDEFS) -DNUM_TCP_ECHO_SRV_TASKS=4 # TCP ECHO サーバタスク数、最大 8 111 106 112 # äºç´ ID æ°ã®é¸æ107 # 予約 ID 数の選択 113 108 114 CDEFS := $(CDEFS) -DNUM_VRID_TCP6_REPS=2 # TCP/IPv6 åä»å£äºç´ ID æ°ãæ大2115 CDEFS := $(CDEFS) -DNUM_VRID_TCP6_CEPS=4 # TCP/IPv6 é信端ç¹äºç´ ID æ°ãæ大4116 CDEFS := $(CDEFS) -DNUM_VRID_UDP6_CEPS=2 # UDP/IPv6 é信端ç¹äºç´ ID æ°ãæ大2117 CDEFS := $(CDEFS) -DNUM_VRID_TCP4_REPS=2 # TCP/IPv4 åä»å£äºç´ ID æ°ãæ大2118 CDEFS := $(CDEFS) -DNUM_VRID_TCP4_CEPS=2 # TCP/IPv4 é信端ç¹äºç´ ID æ°ãæ大4119 CDEFS := $(CDEFS) -DNUM_VRID_UDP4_CEPS=2 # UDP/IPv4 é信端ç¹äºç´ ID æ°ãæ大2109 CDEFS := $(CDEFS) -DNUM_VRID_TCP6_REPS=2 # TCP/IPv6 受付口予約 ID 数、最大 2 110 CDEFS := $(CDEFS) -DNUM_VRID_TCP6_CEPS=4 # TCP/IPv6 通信端点予約 ID 数、最大 4 111 CDEFS := $(CDEFS) -DNUM_VRID_UDP6_CEPS=2 # UDP/IPv6 通信端点予約 ID 数、最大 2 112 CDEFS := $(CDEFS) -DNUM_VRID_TCP4_REPS=2 # TCP/IPv4 受付口予約 ID 数、最大 2 113 CDEFS := $(CDEFS) -DNUM_VRID_TCP4_CEPS=2 # TCP/IPv4 通信端点予約 ID 数、最大 4 114 CDEFS := $(CDEFS) -DNUM_VRID_UDP4_CEPS=2 # UDP/IPv4 通信端点予約 ID 数、最大 2 120 115 121 # TCP ã®ã»ã°ã¡ã³ããµã¤ãºã®é¸æ122 #CDEFS := $(CDEFS) -DUSE_TCP_MSS_SEG # ã»ã°ã¡ã³ããµã¤ãºã MSS ã«ããã116 # TCP のセグメントサイズの選択 117 #CDEFS := $(CDEFS) -DUSE_TCP_MSS_SEG # セグメントサイズを MSS にする。 123 118 124 # IPv6 MMTU ãµã¤ãºã®ãããã¯ã¼ã¯ãããã¡ã®é¸æ119 # IPv6 MMTU サイズのネットワークバッファの選択 125 120 #CDEFS := $(CDEFS) -DUSE_IPV6_MMTU 126 121 127 122 # 128 # ãµã³ãã«ã®ãããã¯ã¼ã¯å¿ç¨ããã°ã©ã ã® Makefile ã®ã¤ã³ã¯ã«ã¼ã123 # サンプルのネットワーク応用プログラムの Makefile のインクルード 129 124 # 130 125 include $(SRCDIR)/tinet/netapp/Makefile.netapp 131 126 132 127 # 133 # ã·ã¹ãã ãµã¼ãã¹ã® Makefile ã®ã¤ã³ã¯ã«ã¼ã128 # システムサービスの Makefile のインクルード 134 129 # 135 130 include $(SRCDIR)/tinet/Makefile.tinet -
Property svn:mime-type
changed from
-
asp3_gr_sakura/trunk/tinet/asp_sample/echos4.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * IPv4 ãTCP ECHO ãµã¼ããéåä¿¡ã¿ã¹ã¯åä¸å35 * IPv4、TCP ECHO サーバ、送受信タスク同一型 48 36 */ 49 37 … … 64 52 65 53 /* 66 * å¤é¨é¢æ°ã®å®ç¾©54 * 外部関数の定義 67 55 */ 68 56 … … 70 58 71 59 /* 72 * 注æ:60 * 注意: 73 61 * 74 * BUF_SIZE 㯠TCP ã®75 * éä¿¡ã¦ã¤ã³ãã¦ãããã¡ãµã¤ãº + åä¿¡ã¦ã¤ã³ãã¦ãããã¡ãµã¤ãºã®76 * 3/2 å以ä¸ã®å¤§ããããªããã°ããããããã¯ããå¯è½æ§ãããã62 * BUF_SIZE は TCP の 63 * 送信ウインドウバッファサイズ + 受信ウインドウバッファサイズの 64 * 3/2 倍以上の大きさがなければ、デッドロックする可能性がある。 77 65 */ 78 66 … … 97 85 98 86 /* 99 * TCP éåä¿¡ãããã¡87 * TCP 送受信バッファ 100 88 */ 101 89 … … 106 94 107 95 /* 108 * ãã³ããããã³ã°ã³ã¼ã«ã®ã³ã¼ã«ããã¯é¢æ°96 * ノンブロッキングコールのコールバック関数 109 97 */ 110 98 … … 182 170 } 183 171 184 /* ç¸æããæ¥ç¶ãããã¾ã§å¾ 185 ã¤ã*/ 172 /* 相手から接続されるまで待つ。*/ 186 173 syscall(wai_sem(SEM_TCP_ECHO_SRV_NBLK_READY)); 187 174 … … 200 187 } 201 188 202 /* åä¿¡ããã¾ã§å¾ 203 ã¤ã*/ 189 /* 受信するまで待つ。*/ 204 190 syscall(wai_sem(SEM_TCP_ECHO_SRV_NBLK_READY)); 205 191 206 if (nblk_rlen < 0) { /* ã¨ã©ã¼*/192 if (nblk_rlen < 0) { /* エラー */ 207 193 syslog(LOG_NOTICE, "[TCP ECHO SRV (NBLK) RCV] error: %s", itron_strerror(nblk_rlen)); 208 194 break; 209 195 } 210 else if (nblk_rlen == 0) /* åä¿¡çµäº*/196 else if (nblk_rlen == 0) /* 受信終了 */ 211 197 break; 212 198 213 199 rblen = (uint16_t)nblk_rlen; 214 200 215 /* ãããã¡ã®æ®ãã«ãããåä¿¡é·ã調æ´ããã*/201 /* バッファの残りにより、受信長を調整する。*/ 216 202 if (rblen > BUF_SIZE - rlen) 217 203 rblen = BUF_SIZE - rlen; … … 237 223 } 238 224 239 /* éä¿¡ãããã¡ã®ç²å¾ãå®äºããã¾ã§å¾ 240 ã¤ã*/ 225 /* 送信バッファの獲得が完了するまで待つ。*/ 241 226 syscall(wai_sem(SEM_TCP_ECHO_SRV_NBLK_READY)); 242 227 … … 272 257 syslog(LOG_NOTICE, "[TCP ECHO SRV (NBLK) CLS] error: %s", itron_strerror(error)); 273 258 274 /* éæ¾ãå®äºããã¾ã§å¾ 275 ã¤ã*/ 259 /* 開放が完了するまで待つ。*/ 276 260 syscall(wai_sem(SEM_TCP_ECHO_SRV_NBLK_READY)); 277 261 … … 301 285 } 302 286 303 /* ç¸æããæ¥ç¶ãããã¾ã§å¾ 304 ã¤ã*/ 287 /* 相手から接続されるまで待つ。*/ 305 288 syscall(wai_sem(SEM_TCP_ECHO_SRV_NBLK_READY)); 306 289 … … 322 305 } 323 306 324 /* åä¿¡å®äºã¾ã§å¾ 325 ã¤ã*/ 307 /* 受信完了まで待つ。*/ 326 308 syscall(wai_sem(SEM_TCP_ECHO_SRV_NBLK_READY)); 327 309 … … 345 327 } 346 328 347 /* éä¿¡å®äºã¾ã§å¾ 348 ã¤ã*/ 329 /* 送信完了まで待つ。*/ 349 330 syscall(wai_sem(SEM_TCP_ECHO_SRV_NBLK_READY)); 350 331 … … 370 351 syslog(LOG_NOTICE, "[TCP ECHO SRV (NBLK) CLS] error: %s", itron_strerror(error)); 371 352 372 /* éæ¾ãå®äºããã¾ã§å¾ 373 ã¤ã*/ 353 /* 開放が完了するまで待つ。*/ 374 354 syscall(wai_sem(SEM_TCP_ECHO_SRV_NBLK_READY)); 375 355 -
asp3_gr_sakura/trunk/tinet/asp_sample/echos4.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * ECHO ãµã¼ã試é¨ããã°ã©ã ã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * ECHO サーバ試験プログラムのシステムコンフィギュレーションファイル 48 36 */ 49 37 … … 57 45 58 46 /* 59 * TCP ECHO ãµã¼ã #1ãéåä¿¡ã¿ã¹ã¯åä¸å60 * ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«47 * TCP ECHO サーバ #1、送受信タスク同一型 48 * コンフィギュレーションファイル 61 49 */ 62 50 63 /* ã¿ã¹ã¯*/51 /* タスク */ 64 52 65 53 CRE_TSK(TCP_ECHO_SRV_TASK, { … … 72 60 }); 73 61 74 /* ã»ããã©*/62 /* セマフォ */ 75 63 76 64 #ifdef USE_TCP_NON_BLOCKING -
asp3_gr_sakura/trunk/tinet/asp_sample/echos4.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 50 38 51 39 /* 52 * ãµã¼ã試é¨ããã°ã©ã40 * サーバ試験プログラム 53 41 */ 54 42 55 #define TCP_ECHO_SRV_STACK_SIZE 1024 /* TCP ECHO ãµã¼ãã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */ 56 #define TCP_ECHO_SRV_MAIN_PRIORITY 5 /* TCP ECHO ãµã¼ãã¿ã¹ã¯ã®åªå 57 度 */ 43 #define TCP_ECHO_SRV_STACK_SIZE 1024 /* TCP ECHO サーバタスクのスタックサイズ */ 44 #define TCP_ECHO_SRV_MAIN_PRIORITY 5 /* TCP ECHO サーバタスクの優先度 */ 58 45 59 46 /* 60 * 使ç¨ãã API ã®é¸æ47 * 使用する API の選択 61 48 */ 62 49 … … 65 52 66 53 /* 67 * TCP éåä¿¡ã¦ã¤ã³ããããã¡ãµã¤ãº54 * TCP 送受信ウインドバッファサイズ 68 55 */ 69 56 … … 74 61 75 62 /* 76 * TCP éåä¿¡ãããã¡63 * TCP 送受信バッファ 77 64 */ 78 65 … … 81 68 82 69 /* 83 * ã¿ã¹ã¯70 * タスク 84 71 */ 85 72 … … 87 74 88 75 /* 89 * é¢æ°76 * 関数 90 77 */ 91 78 -
asp3_gr_sakura/trunk/tinet/asp_sample/echos6.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * IPv6 ãTCP ECHO ãµã¼ããéåä¿¡ã¿ã¹ã¯åä¸å35 * IPv6、TCP ECHO サーバ、送受信タスク同一型 48 36 */ 49 37 … … 62 50 63 51 /* 64 * å¤é¨é¢æ°ã®å®ç¾©52 * 外部関数の定義 65 53 */ 66 54 … … 68 56 69 57 /* 70 * 注æ:58 * 注意: 71 59 * 72 * BUF_SIZE 㯠TCP ã®73 * éä¿¡ã¦ã¤ã³ãã¦ãããã¡ãµã¤ãº + åä¿¡ã¦ã¤ã³ãã¦ãããã¡ãµã¤ãºã®74 * 3/2 å以ä¸ã®å¤§ããããªããã°ããããããã¯ããå¯è½æ§ãããã60 * BUF_SIZE は TCP の 61 * 送信ウインドウバッファサイズ + 受信ウインドウバッファサイズの 62 * 3/2 倍以上の大きさがなければ、デッドロックする可能性がある。 75 63 */ 76 64 … … 95 83 96 84 /* 97 * TCP éåä¿¡ãããã¡85 * TCP 送受信バッファ 98 86 */ 99 87 … … 104 92 105 93 /* 106 * ãã³ããããã³ã°ã³ã¼ã«ã®ã³ã¼ã«ããã¯é¢æ°94 * ノンブロッキングコールのコールバック関数 107 95 */ 108 96 … … 177 165 } 178 166 179 /* ç¸æããæ¥ç¶ãããã¾ã§å¾ 180 ã¤ã*/ 167 /* 相手から接続されるまで待つ。*/ 181 168 syscall(wai_sem(SEM_TCP_ECHO_SRV_NBLK_READY)); 182 169 … … 195 182 } 196 183 197 /* åä¿¡ããã¾ã§å¾ 198 ã¤ã*/ 184 /* 受信するまで待つ。*/ 199 185 syscall(wai_sem(SEM_TCP_ECHO_SRV_NBLK_READY)); 200 186 201 if (nblk_rlen < 0) { /* ã¨ã©ã¼*/187 if (nblk_rlen < 0) { /* エラー */ 202 188 syslog(LOG_NOTICE, "[TCP ECHO SRV (NBLK) RCV] error: %s", itron_strerror(nblk_rlen)); 203 189 break; 204 190 } 205 else if (nblk_rlen == 0) /* åä¿¡çµäº*/191 else if (nblk_rlen == 0) /* 受信終了 */ 206 192 break; 207 193 208 194 rblen = (uint16_t)nblk_rlen; 209 195 210 /* ãããã¡ã®æ®ãã«ãããåä¿¡é·ã調æ´ããã*/196 /* バッファの残りにより、受信長を調整する。*/ 211 197 if (rblen > BUF_SIZE - rlen) 212 198 rblen = BUF_SIZE - rlen; … … 232 218 } 233 219 234 /* éä¿¡ãããã¡ã®ç²å¾ãå®äºããã¾ã§å¾ 235 ã¤ã*/ 220 /* 送信バッファの獲得が完了するまで待つ。*/ 236 221 syscall(wai_sem(SEM_TCP_ECHO_SRV_NBLK_READY)); 237 222 … … 267 252 syslog(LOG_NOTICE, "[TCP ECHO SRV (NBLK) CLS] error: %s", itron_strerror(error)); 268 253 269 /* éæ¾ãå®äºããã¾ã§å¾ 270 ã¤ã*/ 254 /* 開放が完了するまで待つ。*/ 271 255 syscall(wai_sem(SEM_TCP_ECHO_SRV_NBLK_READY)); 272 256 … … 293 277 } 294 278 295 /* ç¸æããæ¥ç¶ãããã¾ã§å¾ 296 ã¤ã*/ 279 /* 相手から接続されるまで待つ。*/ 297 280 syscall(wai_sem(SEM_TCP_ECHO_SRV_NBLK_READY)); 298 281 … … 314 297 } 315 298 316 /* åä¿¡å®äºã¾ã§å¾ 317 ã¤ã*/ 299 /* 受信完了まで待つ。*/ 318 300 syscall(wai_sem(SEM_TCP_ECHO_SRV_NBLK_READY)); 319 301 … … 337 319 } 338 320 339 /* éä¿¡å®äºã¾ã§å¾ 340 ã¤ã*/ 321 /* 送信完了まで待つ。*/ 341 322 syscall(wai_sem(SEM_TCP_ECHO_SRV_NBLK_READY)); 342 323 … … 362 343 syslog(LOG_NOTICE, "[TCP ECHO SRV (NBLK) CLS] error: %s", itron_strerror(error)); 363 344 364 /* éæ¾ãå®äºããã¾ã§å¾ 365 ã¤ã*/ 345 /* 開放が完了するまで待つ。*/ 366 346 syscall(wai_sem(SEM_TCP_ECHO_SRV_NBLK_READY)); 367 347 -
asp3_gr_sakura/trunk/tinet/asp_sample/echos6.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * ECHO ãµã¼ã試é¨ããã°ã©ã ã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * ECHO サーバ試験プログラムのシステムコンフィギュレーションファイル 48 36 */ 49 37 … … 57 45 58 46 /* 59 * TCP ECHO ãµã¼ã #1ãéåä¿¡ã¿ã¹ã¯åä¸å60 * ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«47 * TCP ECHO サーバ #1、送受信タスク同一型 48 * コンフィギュレーションファイル 61 49 */ 62 50 63 51 /* 64 * ã¿ã¹ã¯52 * タスク 65 53 */ 66 54 … … 74 62 }); 75 63 76 /* ã»ããã©*/64 /* セマフォ */ 77 65 78 66 #ifdef USE_TCP_NON_BLOCKING -
asp3_gr_sakura/trunk/tinet/asp_sample/echos6.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 50 38 51 39 /* 52 * ãµã¼ã試é¨ããã°ã©ã40 * サーバ試験プログラム 53 41 */ 54 42 55 #define TCP_ECHO_SRV_STACK_SIZE 1024 /* TCP ECHO ãµã¼ãã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */ 56 #define TCP_ECHO_SRV_MAIN_PRIORITY 5 /* TCP ECHO ãµã¼ãã¿ã¹ã¯ã®åªå 57 度 */ 43 #define TCP_ECHO_SRV_STACK_SIZE 1024 /* TCP ECHO サーバタスクのスタックサイズ */ 44 #define TCP_ECHO_SRV_MAIN_PRIORITY 5 /* TCP ECHO サーバタスクの優先度 */ 58 45 59 46 /* 60 * 使ç¨ãã API ã®é¸æ47 * 使用する API の選択 61 48 */ 62 49 … … 65 52 66 53 /* 67 * TCP éåä¿¡ã¦ã¤ã³ããããã¡ãµã¤ãº54 * TCP 送受信ウインドバッファサイズ 68 55 */ 69 56 … … 74 61 75 62 /* 76 * TCP éåä¿¡ãããã¡63 * TCP 送受信バッファ 77 64 */ 78 65 … … 81 68 82 69 /* 83 * ã¿ã¹ã¯70 * タスク 84 71 */ 85 72 … … 87 74 88 75 /* 89 * é¢æ°76 * 関数 90 77 */ 91 78 -
asp3_gr_sakura/trunk/tinet/asp_sample/minsv.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * æå°æ§æãµã¼ã試é¨ããã°ã©ã ã®æ¬ä½35 * 最小構成サーバ試験プログラムの本体 48 36 */ 49 37 … … 58 46 59 47 /* 60 * arp_callback_duplicated -- IP ã¢ãã¬ã¹éè¤æ¤åºç¨ã³ã¼ã«ããã¯é¢æ°48 * arp_callback_duplicated -- IP アドレス重複検出用コールバック関数 61 49 */ 62 50 -
asp3_gr_sakura/trunk/tinet/asp_sample/minsv.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * æå°æ§æãµã¼ã試é¨ããã°ã©ã ã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * 最小構成サーバ試験プログラムのシステムコンフィギュレーションファイル 48 36 */ 49 37 -
asp3_gr_sakura/trunk/tinet/asp_sample/minsv.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 48 36 49 37 /* 50 * æå°æ§æãµã¼ã試é¨ããã°ã©ã38 * 最小構成サーバ試験プログラム 51 39 */ 52 40 … … 54 42 55 43 /* 56 * ãµã¼ãã®ã¹ã¿ãã¯ãµã¤ãº44 * サーバのスタックサイズ 57 45 */ 58 46 59 47 #undef TCP_ECHO_SRV_STACK_SIZE 60 #define TCP_ECHO_SRV_STACK_SIZE 768 /* TCP ECHO ãµã¼ãã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº*/48 #define TCP_ECHO_SRV_STACK_SIZE 768 /* TCP ECHO サーバタスクのスタックサイズ */ 61 49 62 50 #undef WWW_SRV_STACK_SIZE 63 #define WWW_SRV_STACK_SIZE 768 /* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº*/51 #define WWW_SRV_STACK_SIZE 768 /* タスクのスタックサイズ */ 64 52 65 53 #undef DBG_CON_STACK_SIZE 66 #define DBG_CON_STACK_SIZE 1024 /* ã³ã³ã½ã¼ã«ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº*/54 #define DBG_CON_STACK_SIZE 1024 /* コンソールタスクのスタックサイズ */ 67 55 68 56 #endif /* of #ifndef _MINSV_H_ */ -
asp3_gr_sakura/trunk/tinet/asp_sample/nserv.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * ãµã¼ã試é¨ããã°ã©ã ã®æ¬ä½35 * サーバ試験プログラムの本体 48 36 */ 49 37 … … 60 48 61 49 /* 62 * arp_callback_duplicated -- IP ã¢ãã¬ã¹éè¤æ¤åºç¨ã³ã¼ã«ããã¯é¢æ°50 * arp_callback_duplicated -- IP アドレス重複検出用コールバック関数 63 51 */ 64 52 -
asp3_gr_sakura/trunk/tinet/asp_sample/nserv.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * ãµã¼ã試é¨ããã°ã©ã ã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * サーバ試験プログラムのシステムコンフィギュレーションファイル 48 36 */ 49 37 -
asp3_gr_sakura/trunk/tinet/asp_sample/nserv.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 48 36 49 37 /* 50 * ãµã¼ã試é¨ããã°ã©ã38 * サーバ試験プログラム 51 39 */ 52 40 -
asp3_gr_sakura/trunk/tinet/asp_sample/route_cfg.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * ã«ã¼ãã£ã³ã°è¡¨35 * ルーティング表 48 36 */ 49 37 … … 56 44 #include <netinet/in_var.h> 57 45 58 /* IPv6 ã«é¢ããå®ç¾©*/46 /* IPv6 に関する定義 */ 59 47 60 48 #ifdef _IP6_CFG … … 68 56 #endif /* of #ifdef _IP6_CFG */ 69 57 70 /* IPv4 ã«é¢ããå®ç¾©*/58 /* IPv4 に関する定義 */ 71 59 72 60 #ifdef _IP4_CFG … … 92 80 T_IN4_RTENTRY routing4_tbl[NUM_IN4_ROUTE_ENTRY] = { 93 81 94 /* ç°ãªã LANãdefault gateway ã«ããéæ¥é 95 é */ 82 /* 異なる LAN、default gateway による間接配送 */ 96 83 { 0, 0, IPV4_ADDR_DEFAULT_GW }, 97 84 98 /* åä¸ LAN å 99 ãç´æ¥é 100 é */ 85 /* 同一 LAN 内、直接配送 */ 101 86 { IPV4_ADDR_LOCAL & 102 87 IPV4_ADDR_LOCAL_MASK, IPV4_ADDR_LOCAL_MASK, 0 }, 103 88 104 /* åä¸ LAN å 105 ã¸ã®ããã¼ããã£ã¹ããç´æ¥é 106 é */ 89 /* 同一 LAN 内へのブロードキャスト、直接配送 */ 107 90 { 0xffffffff, 0xffffffff, 0 }, 108 91 -
asp3_gr_sakura/trunk/tinet/asp_sample/sample1n.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * ãããã¯ã¼ã¯åãµã³ãã«ããã°ã©ã (1)ã®æ¬ä½35 * ネットワーク化サンプルプログラム(1)の本体 48 36 */ 49 37 … … 63 51 64 52 /* 65 * ãã¯ãå®ç¾©66 */ 67 68 /* ãªãã¼ã ã®è§£é¤*/53 * マクロ定義 54 */ 55 56 /* リネームの解除 */ 69 57 70 58 #undef syslog … … 74 62 #define EOF (-1) 75 63 76 /* TELNET ãªãã·ã§ã³*/64 /* TELNET オプション */ 77 65 78 66 #define TELNET_OPT_SE (240) … … 94 82 95 83 /* 96 * å¤æ°97 */ 98 99 /* TCP éåä¿¡ã¦ã£ã³ããããã¡*/84 * 変数 85 */ 86 87 /* TCP 送受信ウィンドバッファ */ 100 88 101 89 uint8_t tcp_swbuf[TCP_SWBUF_SIZE]; 102 90 uint8_t tcp_rwbuf[TCP_RWBUF_SIZE]; 103 91 104 bool_t connected = false; /* ã³ãã¯ã·ã§ã³ã®ç¶æ 105 */ 106 bool_t wait_accept = false; /* æ¥ç¶è¦æ±å¾ 107 ã¡ä¸ */ 92 bool_t connected = false; /* コネクションの状態 */ 93 bool_t wait_accept = false; /* 接続要求待ち中 */ 108 94 109 95 #ifdef SUPPORT_INET6 … … 131 117 132 118 /* 133 * ãããã¯ã¼ã¯å±¤ã®é¸æ119 * ネットワーク層の選択 134 120 */ 135 121 … … 151 137 152 138 /* 153 * ãã³ããããã³ã°ã³ã¼ã«ã®ã³ã¼ã«ããã¯é¢æ°139 * ノンブロッキングコールのコールバック関数 154 140 */ 155 141 … … 185 171 186 172 /* 187 * ã³ãã¯ã·ã§ã³ãåæ173 * コネクションを切断 188 174 */ 189 175 … … 208 194 209 195 /* 210 * éä¿¡ãããã¡ã®ãã©ãã·ã¥196 * 送信バッファのフラッシュ 211 197 */ 212 198 … … 226 212 227 213 /* 228 * æåéä¿¡214 * 文字送信 229 215 */ 230 216 … … 253 239 254 240 /* 255 * æååä¿¡ï¼å¤æãªãï¼241 * 文字受信(変換なし) 256 242 */ 257 243 … … 282 268 283 269 /* 284 * æååä¿¡ï¼TELNET ãªãã·ã§ã³ãã¹ãããï¼270 * 文字受信(TELNET オプションをスキップ) 285 271 */ 286 272 … … 314 300 315 301 /* 316 * ã·ãªã¢ã«ãã¼ãããã®èªåºã302 * シリアルポートからの読出し 317 303 */ 318 304 … … 351 337 352 338 /* 353 * ã·ãªã¢ã«ãã¼ãã®å¶å¾¡339 * シリアルポートの制御 354 340 */ 355 341 … … 362 348 363 349 /* 364 * ãã£ã¨ãé·ãæ´æ°å (LONGEST) ã¨ç¬¦å·ãªãæ´æ°å(ULONGEST)350 * もっとも長い整数型 (LONGEST) と符号なし整数型 (ULONGEST) 365 351 */ 366 352 … … 387 373 388 374 /* 389 * ãã°ã®ã·ãã¥ã¬ã¼ã·ã§ã³390 */ 391 392 /* æ°å¤å¤æã®ããã®å¤æ表*/375 * ログのシミュレーション 376 */ 377 378 /* 数値変換のための変換表 */ 393 379 394 380 static const char radhex[] = "0123456789abcdef"; … … 396 382 397 383 /* 398 * put_num -- printf ã®æ°å¤å¤æ384 * put_num -- printf の数値変換 399 385 */ 400 386 … … 428 414 429 415 pad = ix; 430 if (!left) /* å³è©°ã*/416 if (!left) /* 右詰め */ 431 417 for ( ; pad < width; pad ++) 432 418 put_char(cepid, padchar); … … 435 421 put_char(cepid, digits[ix]); 436 422 437 if (left) /* 左詰ã*/423 if (left) /* 左詰め */ 438 424 for ( ; pad < width; pad ++) 439 425 put_char(cepid, padchar); … … 443 429 444 430 /* 445 * ipv6addr -- IPv6 ã¢ãã¬ã¹åºå431 * ipv6addr -- IPv6 アドレス出力 446 432 */ 447 433 … … 491 477 492 478 /* 493 * put_ipv4addr -- IPv4 ã¢ãã¬ã¹åºå479 * put_ipv4addr -- IPv4 アドレス出力 494 480 */ 495 481 … … 497 483 put_ipv4addr (ID cepid, ULONGEST *addr, int_t width) 498 484 { 499 int_t len = 3; /* 3 㯠'.' ã®æåæ°*/485 int_t len = 3; /* 3 は '.' の文字数 */ 500 486 501 487 #if _NET_CFG_BYTE_ORDER == _NET_CFG_BIG_ENDIAN … … 528 514 529 515 /* 530 * put_macaddr -- MAC ã¢ãã¬ã¹åºå516 * put_macaddr -- MAC アドレス出力 531 517 */ 532 518 … … 549 535 550 536 /* 551 * å¼æ°ãåãåºãããã®ãã¯ã537 * 引数を取り出すためのマクロ 552 538 */ 553 539 … … 583 569 584 570 /* 585 * ãã°åºå571 * ログ出力 586 572 */ 587 573 … … 599 585 va_start(ap, format); 600 586 while ((ch = *format ++) != '\0') { 601 if (ch != '%') { /* æ¸å¼æå®ä»¥å¤*/587 if (ch != '%') { /* 書式指定以外 */ 602 588 put_char(TCP_CEPID, (char)ch); 603 589 continue; … … 607 593 padchar = ' '; 608 594 609 if (ch == '-') { /* 左詰ã*/595 if (ch == '-') { /* 左詰め */ 610 596 format ++; 611 597 left = -1; … … 614 600 left = 1; 615 601 616 if ((ch = *format ++) == '0') { /* ä¸ä½æ¡ã®0 */602 if ((ch = *format ++) == '0') { /* 上位桁の 0 */ 617 603 padchar = '0'; 618 604 ch = *format ++; 619 605 } 620 606 621 while ('0' <= ch && ch <= '9') { /* åºåå¹ 622 */ 607 while ('0' <= ch && ch <= '9') { /* 出力幅 */ 623 608 width = width * 10 + ch - '0'; 624 609 ch = *format ++; 625 610 } 626 611 627 while (ch == 'l') { /* long (long) ã®æå®*/612 while (ch == 'l') { /* long (long) の指定 */ 628 613 longflag ++; 629 614 ch = *format ++; 630 615 } 631 616 632 while (ch == 'h') { /* short ã®æå®*/617 while (ch == 'h') { /* short の指定 */ 633 618 shortflag ++; 634 619 ch = *format ++; -
asp3_gr_sakura/trunk/tinet/asp_sample/sample1n.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 4 4 5 5 /* 6 * ãããã¯ã¼ã¯å¯¾å¿ãµã³ãã«ããã°ã©ã (1)ã®7 * ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«6 * ネットワーク対応サンプルプログラム(1)の 7 * システムコンフィギュレーションファイル 8 8 */ 9 9 … … 17 17 INCLUDE("tinet_sample1n.cfg"); 18 18 19 /* ã»ããã©*/19 /* セマフォ */ 20 20 21 21 CRE_SEM(SEM_TCP_SYSLOG, { TA_TPRI, 1, 1 }); -
asp3_gr_sakura/trunk/tinet/asp_sample/sample1n.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 50 38 51 39 /* 52 * ãããã¯ã¼ã¯å¯¾å¿ãµã³ãã«ããã°ã©ã (1)ã®ããããã¡ã¤ã«40 * ネットワーク対応サンプルプログラム(1)のヘッダファイル 53 41 */ 54 42 55 /* TCP éåä¿¡ã¦ã£ã³ããããã¡ãµã¤ãº*/43 /* TCP 送受信ウィンドバッファサイズ */ 56 44 57 45 #define TCP_SWBUF_SIZE 512 58 46 #define TCP_RWBUF_SIZE 512 59 47 60 /* ãªãã¼ã*/48 /* リネーム */ 61 49 62 50 #define syslog net_syslog … … 66 54 #ifndef _MACRO_ONLY 67 55 68 /* TCP éåä¿¡ã¦ã£ã³ããããã¡*/56 /* TCP 送受信ウィンドバッファ */ 69 57 70 58 extern uint8_t tcp_swbuf[]; 71 59 extern uint8_t tcp_rwbuf[]; 72 60 73 /* ãããã¯ã¼ã¯å¯¾å¿åé¢æ°*/61 /* ネットワーク対応化関数 */ 74 62 75 63 extern void net_syslog(uint_t prio, const char *format, ...) throw(); … … 77 65 extern ER net_serial_ctl_por(ID portid, uint_t ioctl) throw(); 78 66 79 /* ãã³ããããã³ã°ã³ã¼ã«ã®ã³ã¼ã«ããã¯é¢æ°*/67 /* ノンブロッキングコールのコールバック関数 */ 80 68 81 69 extern ER callback_nblk_tcp(ID cepid, FN fncd, void *p_parblk); -
asp3_gr_sakura/trunk/tinet/asp_sample/tinet_app_config.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 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 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 48 36 49 37 /* 50 * ã¤ã³ã¿ã¼ããããããã³ã«ãã¡ããªã¼ã®ãµãã¼ã51 * 52 * Makefile ã§æå®ãã¦ãè¯ã38 * インターネットプロトコルファミリーのサポート 39 * 40 * Makefile で指定しても良い 53 41 */ 54 42 … … 58 46 /*#define SUPPORT_UDP UDP */ 59 47 60 /* ãã¼ã¿ãªã³ã¯å±¤ã®ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ãé¸æãã*/61 /* ããããä¸ã¤ã ãé¸æã§ããã*/48 /*データリンク層のネットワークインタフェースを選択する */ 49 /*いずれか一つだけ選択できる。 */ 62 50 63 51 /*#define SUPPORT_PPP PointtoPointProtocol */ … … 68 56 69 57 /* 70 * TCP/IP ã«é¢ããå®ç¾©71 */ 72 73 /* TCP ã«é¢ããå®ç¾©*/74 75 /* 76 * TCP é信端ç¹ã®éåä¿¡ã¦ã£ã³ããããã¡ã®çã³ãã¼æ©è½77 * 注æ: Makefile ã§æå®ãã¦ããã58 * TCP/IP に関する定義 59 */ 60 61 /* TCP に関する定義 */ 62 63 /* 64 * TCP 通信端点の送受信ウィンドバッファの省コピー機能 65 * 注意: Makefile で指定している。 78 66 */ 79 67 /*#define TCP_CFG_RWBUF_CSAVE_ONLY*/ 80 /* TCP é信端ç¹ã®åä¿¡ã¦ã£ã³ããããã¡ã®çã³ãã¼æ©è½ã®ã¿æå¹ã«ããã*/68 /* TCP 通信端点の受信ウィンドバッファの省コピー機能のみ有効にする。 */ 81 69 /*#define TCP_CFG_RWBUF_CSAVE*/ 82 /* TCP é信端ç¹ã®åä¿¡ã¦ã£ã³ããããã¡ã®çã³ãã¼æ©è½ãæå¹ã«ããã*/70 /* TCP 通信端点の受信ウィンドバッファの省コピー機能を有効にする。 */ 83 71 /*#define TCP_CFG_SWBUF_CSAVE_ONLY*/ 84 /* TCP é信端ç¹ã®éä¿¡ã¦ã£ã³ããããã¡ã®çã³ãã¼æ©è½ã®ã¿æå¹ã«ããã*/72 /* TCP 通信端点の送信ウィンドバッファの省コピー機能のみ有効にする。 */ 85 73 /*#define TCP_CFG_SWBUF_CSAVE*/ 86 /* TCP é信端ç¹ã®éä¿¡ã¦ã£ã³ããããã¡ã®çã³ãã¼æ©è½ãæå¹ã«ããã*/87 88 /* 89 * TCP é信端ç¹ã®åä¿¡ã¦ã£ã³ããããã¡ã®çã³ãã¼æ©è½ã®ã90 * åä¿¡ã¦ã£ã³ããããã¡ãã¥ã¼ã®æ大ã¨ã³ããªæ°ã91 * ãã ããæ£å¸¸ã«åä¿¡ããã»ã°ã¡ã³ããç ´æ£ãããããåéåæ°ãå¢å ããã92 * ã¾ããæå®ããªãã¨å¶éããªãã74 /* TCP 通信端点の送信ウィンドバッファの省コピー機能を有効にする。 */ 75 76 /* 77 * TCP 通信端点の受信ウィンドバッファの省コピー機能の、 78 * 受信ウィンドバッファキューの最大エントリ数。 79 * ただし、正常に受信したセグメントも破棄するため、再送回数が増加する。 80 * また、指定しないと制限しない。 93 81 */ 94 82 /*#define TCP_CFG_RWBUF_CSAVE_MAX_QUEUES 2*/ 95 83 96 84 /* 97 * TCP é信端ç¹ã®éä¿¡ã¦ã£ã³ããããã¡ã®çã³ãã¼æ©è½ã§ã98 * éä¿¡ã¦ã£ã³ããããã¡ã«ä½¿ç¨ãããããã¯ã¼ã¯ãããã¡ã®ãµã¤ãºã85 * TCP 通信端点の送信ウィンドバッファの省コピー機能で、 86 * 送信ウィンドバッファに使用するネットワークバッファのサイズ。 99 87 */ 100 88 … … 103 91 #ifdef SUPPORT_INET6 104 92 105 #define TCP_CFG_SWBUF_CSAVE_MAX_SIZE (IF_HDR_SIZE + IPV6_MMTU) /* æ大ãµã¤ãº*/93 #define TCP_CFG_SWBUF_CSAVE_MAX_SIZE (IF_HDR_SIZE + IPV6_MMTU) /* 最大サイズ */ 106 94 107 95 #else /* of #ifdef SUPPORT_INET6 */ 108 96 109 97 #ifdef SUPPORT_INET4 110 #define TCP_CFG_SWBUF_CSAVE_MAX_SIZE (IF_HDR_SIZE + IP4_MSS) /* æ大ãµã¤ãº*/98 #define TCP_CFG_SWBUF_CSAVE_MAX_SIZE (IF_HDR_SIZE + IP4_MSS) /* 最大サイズ */ 111 99 #endif 112 100 … … 115 103 #else /* of #ifdef USE_TCP_MSS_SEG */ 116 104 117 #define TCP_CFG_SWBUF_CSAVE_MAX_SIZE IF_PDU_SIZE /* æ大ãµã¤ãº*/105 #define TCP_CFG_SWBUF_CSAVE_MAX_SIZE IF_PDU_SIZE /* 最大サイズ */ 118 106 119 107 #endif /* of #ifdef USE_TCP_MSS_SEG */ 120 108 121 #define TCP_CFG_SWBUF_CSAVE_MIN_SIZE 0 /* æå°ãµã¤ãº*/122 123 /* 124 * TCP ã®ãã³ããããã³ã°ã³ã¼ã«æ©è½109 #define TCP_CFG_SWBUF_CSAVE_MIN_SIZE 0 /* 最小サイズ */ 110 111 /* 112 * TCP のノンブロッキングコール機能 125 113 */ 126 114 … … 130 118 131 119 /* 132 * MAX_TCP_SND_SEG: éä¿¡ã»ã°ã¡ã³ããµã¤ãºã®æ大å¤133 * 134 * ç¸æãã MSS ãªãã·ã§ã³ã§ã»ã°ã¡ã³ããµã¤ãºãæå®ããã¦ãã135 * ãã®å¤ã§ãã»ã°ã¡ã³ããµã¤ãºãå¶éã§ããã120 * MAX_TCP_SND_SEG: 送信セグメントサイズの最大値 121 * 122 * 相手から MSS オプションでセグメントサイズを指定されても、 123 * この値で、セグメントサイズを制限できる。 136 124 */ 137 125 … … 157 145 158 146 /* 159 * DEF_TCP_RCV_SEG: åä¿¡ã»ã°ã¡ã³ããµã¤ãºã®è¦å®å¤147 * DEF_TCP_RCV_SEG: 受信セグメントサイズの規定値 160 148 */ 161 149 … … 181 169 182 170 /* 183 * ã¿ã¹ã¯ããã® Time Wait ç¶æ 184 ã® TCP é信端ç¹åé¢æ©è½ 185 * 186 * Time Wait ç¶æ 187 ã® TCP é信端ç¹ã®ã¨ã³ããªæ°ãæå®ããã 188 * æå®ããªããã0 ãæå®ããã¨ã 189 * ã¿ã¹ã¯ãã Time Wait ç¶æ 190 ã® TCP é信端ç¹ãåé¢ããæ©è½ã¯çµè¾¼ã¾ãªãã 171 * タスクからの Time Wait 状態の TCP 通信端点分離機能 172 * 173 * Time Wait 状態の TCP 通信端点のエントリ数を指定する。 174 * 指定しないか、0 を指定すると、 175 * タスクから Time Wait 状態の TCP 通信端点を分離する機能は組込まない。 191 176 */ 192 177 #if defined(USE_TCP_MSS_SEG) … … 197 182 198 183 /* 199 * TCP ãããã®ãã¬ã¼ã¹åºåæ©è½184 * TCP ヘッダのトレース出力機能 200 185 */ 201 186 //#define TCP_CFG_TRACE 202 187 203 188 /* 204 * ãã¬ã¼ã¹åºå対象ã®ãªã¢ã¼ããã¹ãã® IPv4 ã¢ãã¬ã¹ 205 * IPV4_ADDRANY ãæå®ããã¨ãå 206 ¨ã¦ã®ãã¹ãã対象ã¨ããã 189 * トレース出力対象のリモートホストの IPv4 アドレス 190 * IPV4_ADDRANY を指定すると、全てのホストを対象とする。 207 191 */ 208 192 #define TCP_CFG_TRACE_IPV4_RADDR IPV4_ADDRANY 209 193 210 194 /* 211 * ãã¬ã¼ã¹åºå対象ã®ãªã¢ã¼ããã¹ãã®ãã¼ãçªå· 212 * TCP_PORTANY ãæå®ããã¨ãå 213 ¨ã¦ã®ãã¼ãçªå·ã対象ã«ããã 195 * トレース出力対象のリモートホストのポート番号 196 * TCP_PORTANY を指定すると、全てのポート番号を対象にする。 214 197 */ 215 198 #define TCP_CFG_TRACE_RPORTNO TCP_PORTANY … … 217 200 218 201 /* 219 * ãã¬ã¼ã¹åºå対象ã®ãã¼ã«ã«ãã¹ãã®ãã¼ãçªå· 220 * TCP_PORTANY ãæå®ããã¨ãå 221 ¨ã¦ã®ãã¼ãçªå·ã対象ã«ããã 202 * トレース出力対象のローカルホストのポート番号 203 * TCP_PORTANY を指定すると、全てのポート番号を対象にする。 222 204 */ 223 205 #define TCP_CFG_TRACE_LPORTNO TCP_PORTANY … … 225 207 226 208 /* 227 * ITRON TCP/IP API ãTCP ã®æ¡å¼µæ©è½209 * ITRON TCP/IP API、TCP の拡張機能 228 210 */ 229 211 //#define TCP_CFG_EXTENTIONS 230 212 231 213 /* 232 * TCP_CFG_URG_OFFSET: ç·æ¥ãã¼ã¿ã®æå¾ã®ãã¤ãã®ãªãã»ãã 233 * 234 * -1: BSD ã®å®è£ 235 ãç·æ¥ãã¤ã³ã¿ã¯ãç·æ¥ãã¼ã¿ã®æå¾ã®ãã¤ãã®æ¬¡ã®ãã¤ããå·®ãã 236 * 0: RFC1122 ã®è¦å®ãç·æ¥ãã¤ã³ã¿ã¯ãç·æ¥ãã¼ã¿ã®æå¾ã®ãã¤ããå·®ãã 214 * TCP_CFG_URG_OFFSET: 緊急データの最後のバイトのオフセット 215 * 216 * -1: BSD の実装、緊急ポインタは、緊急データの最後のバイトの次のバイトを差す。 217 * 0: RFC1122 の規定、緊急ポインタは、緊急データの最後のバイトを差す。 237 218 */ 238 219 … … 240 221 //#define TCP_CFG_URG_OFFSET 0 241 222 242 /* UDP ã«é¢ããå®ç¾©*/243 244 /* 245 * UDP ã®ãã³ããããã³ã°ã³ã¼ã«æ©è½223 /* UDP に関する定義 */ 224 225 /* 226 * UDP のノンブロッキングコール機能 246 227 */ 247 228 … … 251 232 252 233 /* 253 * ITRON TCP/IP API ãUDP ã®æ¡å¼µæ©è½234 * ITRON TCP/IP API、UDP の拡張機能 254 235 */ 255 236 //#define UDP_CFG_EXTENTIONS 256 237 257 /* IPv6 ã«é¢ããå®ç¾©*/238 /* IPv6 に関する定義 */ 258 239 259 240 #ifdef SUPPORT_PPP … … 278 259 #endif /* of #ifdef SUPPORT_ETHER */ 279 260 280 /* IPv4 ã«é¢ããå®ç¾©*/261 /* IPv4 に関する定義 */ 281 262 282 263 #ifdef SUPPORT_PPP … … 285 266 #define IPV4_ADDR_LOCAL MAKE_IPV4_ADDR(192,168,1,21) 286 267 #else 287 #define IPV4_ADDR_LOCAL MAKE_IPV4_ADDR(0,0,0,0) /* ç¸æã«å²ãå½ã¦ã¦ãããå ´å*/268 #define IPV4_ADDR_LOCAL MAKE_IPV4_ADDR(0,0,0,0) /* 相手に割り当ててもらう場合 */ 288 269 #endif 289 270 … … 291 272 #define IPV4_ADDR_REMOTE MAKE_IPV4_ADDR(192,168,1,31) 292 273 #else 293 #define IPV4_ADDR_REMOTE MAKE_IPV4_ADDR(0,0,0,0) /* ç¸æã«å²ãå½ã¦ã¦ãããå ´å*/274 #define IPV4_ADDR_REMOTE MAKE_IPV4_ADDR(0,0,0,0) /* 相手に割り当ててもらう場合 */ 294 275 #endif 295 276 … … 328 309 329 310 /* 330 * ãã¼ã¿ãªã³ã¯å±¤ (ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹) ã«é¢ããå®ç¾©331 */ 332 333 /* 334 * ã¤ã¼ãµãããã«é¢ããå®ç¾©335 */ 336 337 /* 338 * PPP ã«é¢ããå®ç¾©339 */ 340 341 #define HDLC_PORTID 1 /* HDLC(PPP) ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå·*/311 * データリンク層 (ネットワークインタフェース) に関する定義 312 */ 313 314 /* 315 * イーサネットに関する定義 316 */ 317 318 /* 319 * PPP に関する定義 320 */ 321 322 #define HDLC_PORTID 1 /* HDLC(PPP)に用いるシリアルポート番号 */ 342 323 343 324 /*#define PPP_IDLE_TIMEOUT (180*NET_TIMER_HZ)*/ 344 /* åæã¾ã§ã®ã¢ã¤ãã«æéã*/345 /* åæããªãå ´åã¯ã³ã¡ã³ãã¢ã¦ãããã*/346 347 /*#define PPP_CFG_MODEM ã¢ãã æ¥ç¶ã®å ´åã¯ã³ã¡ã³ããå¤ãã*/325 /* 切断までのアイドル時間、 */ 326 /* 切断しない場合はコメントアウトする。 */ 327 328 /*#define PPP_CFG_MODEM モデム接続の場合はコメントを外す。 */ 348 329 349 330 #define MODEM_CFG_INIT "ATE1&D0&S0\\V0\\Q1S0=1" 350 /* ã¢ãã åæåæåå*/351 /* NTT DoComo ã¢ãã¤ã«ã¢ããã¿ 96F ç¨*/352 /* E1: ã¨ã³ã¼ããã¯ãã*/353 /* &D0: ER ä¿¡å·ç¡è¦*/354 /* &S0: DR ä¿¡å·å¸¸æON */355 /* \V0: ãªã¶ã«ãã³ã¼ãTYPE 1 */356 /* \Q1: XON/XOFF ããã¼å¶å¾¡*/357 /* S0=1: èªåçä¿¡ãªã³ã°åæ° = 1 å*/331 /* モデム初期化文字列 */ 332 /* NTT DoComo モバイルアダプタ 96F 用 */ 333 /* E1: エコーバックあり */ 334 /* &D0: ER信号無視 */ 335 /* &S0: DR信号常時 ON */ 336 /* \V0: リザルトコード TYPE 1 */ 337 /* \Q1: XON/XOFF フロー制御 */ 338 /* S0=1: 自動着信リング回数 = 1 回 */ 358 339 359 340 #define MODEM_CFG_PHONE_NUMBER "090-xxxx-9242" 360 341 361 /* èªæ§ææ 362 å ±ã®è¦å®å¤ */ 342 /* 自構成情報の規定値 */ 363 343 #define DEF_LCP_LOCAL_CFGS (LCP_CFG_MRU|LCP_CFG_ACCM|LCP_CFG_MAGIC|\ 364 344 LCP_CFG_ACCOMP|LCP_CFG_PCOMP|LCP_CFG_PAP) 365 345 366 /* ç¸æã«è¨±ãæ§ææ 367 å ±ã®è¦å®å¤ */ 346 /* 相手に許す構成情報の規定値 */ 368 347 #define DEF_LCP_REMOTE_CFGS (LCP_CFG_MRU|LCP_CFG_ACCM|LCP_CFG_MAGIC|\ 369 348 LCP_CFG_ACCOMP|LCP_CFG_PCOMP|LCP_CFG_PAP) 370 349 371 350 /* 372 * èªè¨¼ã«é¢ããå®ç¾©373 */ 374 375 #define AUTH_CFG_CLIENT /* èªè¨¼ã¯ã©ã¤ã¢ã³ãã¢ã¼ãã®æã¯ã³ã¡ã³ããå¤ãã*/376 #define AUTH_CFG_SERVER /* èªè¨¼ãµã¼ãã¢ã¼ãã®æã¯ã³ã¡ã³ããå¤ãã*/377 378 #define AUTH_LOCAL_USER "h8" /* èªãã¹ãã¸ã®ãã°ã¤ã³èªè¨¼ã¦ã¼ã¶å*/379 #define AUTH_LOCAL_PASSWD "3048f" /* èªãã¹ãã¸ã®ãã°ã¤ã³èªè¨¼ãã¹ã¯ã¼ã*/380 #define AUTH_REMOTE_USER "pen3" /* ç¸æã¸ã®ãã°ã¤ã³èªè¨¼ã¦ã¼ã¶å*/381 #define AUTH_REMOTE_PASSWD "600MHz" /* ç¸æã¸ã®ãã°ã¤ã³èªè¨¼ãã¹ã¯ã¼ã*/382 383 /* 384 * ARP ã«é¢ããå®ç¾©385 */ 386 387 /*#define ARP_CFG_CALLBACK_DUPLICATED*/ /* IP ã¢ãã¬ã¹éè¤æ¤åºã³ã¼ã«ããã¯é¢æ°ã*/388 /* å®ç¾©ããå ´åã¯ã³ã¡ã³ããå¤ãã*/389 390 /* 391 * ICMPv4/v6 ã«é¢ããå®ç¾©351 * 認証に関する定義 352 */ 353 354 #define AUTH_CFG_CLIENT /* 認証クライアントモードの時はコメントを外す。 */ 355 #define AUTH_CFG_SERVER /* 認証サーバモードの時はコメントを外す。 */ 356 357 #define AUTH_LOCAL_USER "h8" /* 自ホストへのログイン認証ユーザ名 */ 358 #define AUTH_LOCAL_PASSWD "3048f" /* 自ホストへのログイン認証パスワード */ 359 #define AUTH_REMOTE_USER "pen3" /* 相手へのログイン認証ユーザ名 */ 360 #define AUTH_REMOTE_PASSWD "600MHz" /* 相手へのログイン認証パスワード */ 361 362 /* 363 * ARP に関する定義 364 */ 365 366 /*#define ARP_CFG_CALLBACK_DUPLICATED*/ /* IP アドレス重複検出コールバック関数を */ 367 /* 定義する場合はコメントを外す。 */ 368 369 /* 370 * ICMPv4/v6 に関する定義 392 371 */ 393 372 394 373 #ifdef USE_PING 395 374 396 #define ICMP_CFG_CALLBACK_ECHO_REPLY /* ICMP ECHO å¿çãåä¿¡ããã¨ãå¼åºãã³ã¼ã«ããã¯é¢æ°ã*/397 /* å®ç¾©ããå ´åã¯ã³ã¡ã³ããå¤ãã*/375 #define ICMP_CFG_CALLBACK_ECHO_REPLY /* ICMP ECHO 応答を受信したとき呼出すコールバック関数を */ 376 /* 定義する場合はコメントを外す。 */ 398 377 399 378 #endif /* of #ifdef USE_PING */ 400 379 401 380 /* 402 * ãããã¯ã¼ã¯ãããã¡ã«é¢ããå®ç¾©381 * ネットワークバッファに関する定義 403 382 */ 404 383 … … 406 385 407 386 /* 408 * ã¤ã¼ãµãããã®å ´åã®ãããã¯ã¼ã¯ãããã¡æ°ã®å²ãå½ã¦409 */ 410 411 /* 412 * 64 ãªã¯ããã413 * 414 * IPv4 ã§ã®ã¿å²ãå½ã¦ãã415 * 416 * IPv6 ã§ã¯ãTCP å¶å¾¡ã»ã°ã¡ã³ãï¼CSEGãSDU ãªãï¼ãµã¤ãºã®417 * ãããã¯ã¼ã¯ãããã¡ï¼IF + IPv6 + TCP = 74ï¼ä»¥ä¸ã®418 * ãããã¯ã¼ã¯ãããã¡ã¯ä¸è¦ã§ããã387 * イーサネットの場合のネットワークバッファ数の割り当て 388 */ 389 390 /* 391 * 64 オクテット 392 * 393 * IPv4 でのみ割り当てる。 394 * 395 * IPv6 では、TCP 制御セグメント(CSEG、SDU なし)サイズの 396 * ネットワークバッファ(IF + IPv6 + TCP = 74)以下の 397 * ネットワークバッファは不要である。 419 398 */ 420 399 … … 430 409 431 410 /* 432 * CSEG ï¼IF + IP + TCPï¼433 * 434 * IPv6 ã§ã®ã¿å²ãå½ã¦ãã435 * 436 * NE2000 äºæ NIC ã®ãã£ãã¤ã¹ãã©ã¤ãï¼if_edï¼ã®æä½å²å½ã¦é·ã¯ã437 * ã¤ã¼ãµããããã¬ã¼ã ã®æçé·ã§ãã 60ï¼CRC ã® 4 ãªã¯ããããé¤ãã438 * æ´ã«ã¢ã©ã¤ã³ã㦠62ï¼ãªã¯ãããã§ããã439 * å¾ã£ã¦ãIPv4 ã§ã¯ãCSEG ãµã¤ãºã®ãããã¯ã¼ã¯ãããã¡440 * ï¼IF + IPv4 + TCP = 54ï¼ã¯ä¸è¦ã§ããã411 * CSEG(IF + IP + TCP) 412 * 413 * IPv6 でのみ割り当てる。 414 * 415 * NE2000 互換 NIC のディバイスドライバ(if_ed)の最低割当て長は、 416 * イーサネットフレームの最短長である 60(CRC の 4 オクテットを除き、 417 * 更にアラインして 62)オクテットである。 418 * 従って、IPv4 では、CSEG サイズのネットワークバッファ 419 * (IF + IPv4 + TCP = 54)は不要である。 441 420 */ 442 421 … … 452 431 453 432 /* 454 * 128 ãªã¯ããã455 * 456 * IPv4 ã§ãTCP MSSï¼IP MSSãIF + 576 ãªã¯ãããï¼ã®457 * ãããã¯ã¼ã¯ãããã¡ãå²ãå½ã¦ãå ´åã458 * 128 ãªã¯ãããã®ãããã¯ã¼ã¯ãããã¡ã¯å²ãå½ã¦ãªãã433 * 128 オクテット 434 * 435 * IPv4 で、TCP MSS(IP MSS、IF + 576 オクテット)の 436 * ネットワークバッファを割り当てる場合、 437 * 128 オクテットのネットワークバッファは割り当てない。 459 438 */ 460 439 … … 470 449 471 450 /* 472 * 256 ãªã¯ããã473 * 474 * IPv4 ã§ãTCP MSSï¼IP MSSãIF + 576 ãªã¯ãããï¼ã®475 * ãããã¯ã¼ã¯ãããã¡ãå²ãå½ã¦ãå ´åã476 * 256 ãªã¯ãããã®ãããã¯ã¼ã¯ãããã¡ã¯å²ãå½ã¦ãªãã451 * 256 オクテット 452 * 453 * IPv4 で、TCP MSS(IP MSS、IF + 576 オクテット)の 454 * ネットワークバッファを割り当てる場合、 455 * 256 オクテットのネットワークバッファは割り当てない。 477 456 */ 478 457 … … 488 467 489 468 /* 490 * 512 ãªã¯ããã491 * 492 * IPv4 ã§ãTCP MSSï¼IP MSSãIF + 576 ãªã¯ãããï¼ã®493 * ãããã¯ã¼ã¯ãããã¡ãå²ãå½ã¦ãå ´åã494 * 512 ãªã¯ãããã®ãããã¯ã¼ã¯ãããã¡ã¯å²ãå½ã¦ãªãã469 * 512 オクテット 470 * 471 * IPv4 で、TCP MSS(IP MSS、IF + 576 オクテット)の 472 * ネットワークバッファを割り当てる場合、 473 * 512 オクテットのネットワークバッファは割り当てない。 495 474 */ 496 475 … … 506 485 507 486 /* 508 * TCP MSS ï¼IP MSSãIF + 576 ãªã¯ãããï¼509 * 510 * ã»IPv4 ã§ã®ã¿å²ãå½ã¦ãã511 * ã»éåä¿¡ã¦ã£ã³ããããã¡ã®çã³ãã¼æ©è½ãæå¹ã§ã512 * çã³ãã¼ API ã使ç¨ããã¨ãã¯ã+1 å²ãå½ã¦ãã487 * TCP MSS(IP MSS、IF + 576 オクテット) 488 * 489 * ・IPv4 でのみ割り当てる。 490 * ・送受信ウィンドバッファの省コピー機能が有効で、 491 * 省コピー API を使用するときは、+1 割り当てる。 513 492 */ 514 493 … … 523 502 #define NUM_MPF_NET_BUF_IP_MSS 3 524 503 #else 525 #define NUM_MPF_NET_BUF_IP_MSS 2 /* IF + 576 ãªã¯ããã*/504 #define NUM_MPF_NET_BUF_IP_MSS 2 /* IF + 576 オクテット */ 526 505 #endif 527 506 528 507 #else /* of #if defined(SUPPORT_INET4) && defined(USE_TCP_MSS_SEG) */ 529 508 530 #define NUM_MPF_NET_BUF_IP_MSS 0 /* IF + 576 ãªã¯ããã*/509 #define NUM_MPF_NET_BUF_IP_MSS 0 /* IF + 576 オクテット */ 531 510 532 511 #endif /* of #if defined(SUPPORT_INET4) && defined(USE_TCP_MSS_SEG) */ 533 512 534 513 /* 535 * 1024 ãªã¯ããã536 * 537 * TCP MSS ã®ãããã¯ã¼ã¯ãããã¡ãå²ãå½ã¦ãå ´åã538 * 1024 ãªã¯ãããã®ãããã¯ã¼ã¯ãããã¡ã¯å²ãå½ã¦ãªãã514 * 1024 オクテット 515 * 516 * TCP MSS のネットワークバッファを割り当てる場合、 517 * 1024 オクテットのネットワークバッファは割り当てない。 539 518 */ 540 519 … … 544 523 545 524 #if defined(USE_TCP_MSS_SEG) 546 #define NUM_MPF_NET_BUF_1024 0 /* 1024 ãªã¯ããã*/547 #else 548 #define NUM_MPF_NET_BUF_1024 1 /* 1024 ãªã¯ããã*/549 #endif 550 551 /* 552 * TCP MSS ï¼IPV6 MMTUãIF + 1280 ãªã¯ãããï¼553 * 554 * ã»IPv6 ã§ã®ã¿å²ãå½ã¦ãã555 * ã»éåä¿¡ã¦ã£ã³ããããã¡ã®çã³ãã¼æ©è½ãæå¹ã§ã556 * çã³ãã¼ API ã使ç¨ããã¨ãã¯ã+1 å²ãå½ã¦ãã525 #define NUM_MPF_NET_BUF_1024 0 /* 1024 オクテット */ 526 #else 527 #define NUM_MPF_NET_BUF_1024 1 /* 1024 オクテット */ 528 #endif 529 530 /* 531 * TCP MSS(IPV6 MMTU、IF + 1280 オクテット) 532 * 533 * ・IPv6 でのみ割り当てる。 534 * ・送受信ウィンドバッファの省コピー機能が有効で、 535 * 省コピー API を使用するときは、+1 割り当てる。 557 536 */ 558 537 … … 577 556 578 557 /* 579 * IF æ大 PDU ãµã¤ãº580 * 581 * ã»TCP MSS ã®ãããã¯ã¼ã¯ãããã¡ãå²ãå½ã¦ãå ´åã582 * IF æ大 PDU ãµã¤ãºã®ãããã¯ã¼ã¯ãããã¡ã¯å²ãå½ã¦ãªãã583 * ã»éåä¿¡ã¦ã£ã³ããããã¡ã®çã³ãã¼æ©è½ãæå¹ã§ã584 * çã³ãã¼ API ã使ç¨ããã¨ãã¯ã+1 å²ãå½ã¦ãã558 * IF 最大 PDU サイズ 559 * 560 * ・TCP MSS のネットワークバッファを割り当てる場合、 561 * IF 最大 PDU サイズのネットワークバッファは割り当てない。 562 * ・送受信ウィンドバッファの省コピー機能が有効で、 563 * 省コピー API を使用するときは、+1 割り当てる。 585 564 */ 586 565 … … 604 583 605 584 /* 606 * 65536 ãªã¯ããã607 * 608 * ã»NET_BUF_CFG_LONG_LEN ãå®ç¾©ããã¨ãã®ã¿å²ãå½ã¦ãã585 * 65536 オクテット 586 * 587 * ・NET_BUF_CFG_LONG_LEN を定義したときのみ割り当てる。 609 588 */ 610 589 611 590 #ifdef NET_BUF_CFG_LONG_LEN 612 591 613 /* IPv6 ç¨*/592 /* IPv6 用 */ 614 593 615 594 #ifdef NUM_MPF_NET_BUF6_65536 … … 632 611 633 612 /* 634 * DNS ãµã¼ãã«é¢ããå®ç¾©635 */ 636 637 /* DNS ãµã¼ãã® IP ã¢ãã¬ã¹*/613 * DNS サーバに関する定義 614 */ 615 616 /* DNS サーバの IP アドレス */ 638 617 639 618 #if !defined(DHCP6_CLI_CFG) … … 651 630 #endif 652 631 653 /* DOMAIN å*/632 /* DOMAIN 名 */ 654 633 655 634 #if !(defined(DHCP4_CLI_CFG) || defined(DHCP6_CLI_CFG)) … … 658 637 659 638 /* 660 * DHCP ã¯ã©ã¤ã¢ã³ãã«é¢ããå®ç¾©661 */ 662 663 /* DHCPv6 ã®åä½ã¢ã¼ãã®è¨å®*/639 * DHCP クライアントに関する定義 640 */ 641 642 /* DHCPv6 の動作モードの設定 */ 664 643 665 644 #define DHCP6_CLI_CFG_MODE DHCP6_CLI_CFG_STATELESS -
asp3_gr_sakura/trunk/tinet/asp_sample/tinet_app_config.h.minsv
r317 r318 41 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 42 42 * 43 * @(#) $Id : tinet_app_config.h.minsv,v 1.6 2012/07/18 04:08:37 abe Exp abe$43 * @(#) $Id$ 44 44 */ 45 45 -
asp3_gr_sakura/trunk/tinet/asp_sample/tinet_echos4.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * ãµã¼ã試é¨ããã°ã©ã ã® TCP/IP ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * サーバ試験プログラムの TCP/IP コンフィギュレーションファイル 48 36 */ 49 37 50 38 #include "echos4.h" 51 39 52 /* TCP åä»å£*/40 /* TCP 受付口 */ 53 41 54 42 TCP_CRE_REP (TCP_ECHO_SRV_REPID, { 0, { IPV4_ADDRANY, 7 } } ); 55 43 56 /* TCP é信端ç¹*/44 /* TCP 通信端点 */ 57 45 58 46 #ifdef USE_TCP_NON_BLOCKING -
asp3_gr_sakura/trunk/tinet/asp_sample/tinet_echos6.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * ãµã¼ã試é¨ããã°ã©ã ã® TCP/IP ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * サーバ試験プログラムの TCP/IP コンフィギュレーションファイル 48 36 */ 49 37 50 38 #include "echos6.h" 51 39 52 /* TCP åä»å£*/40 /* TCP 受付口 */ 53 41 54 42 TCP6_CRE_REP (TCP_ECHO_SRV_REPID, { 0, { IPV6_ADDRANY, 7 } } ); 55 43 56 /* TCP é信端ç¹*/44 /* TCP 通信端点 */ 57 45 58 46 #ifdef USE_TCP_NON_BLOCKING -
asp3_gr_sakura/trunk/tinet/asp_sample/tinet_minsv.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * æå°æ§æãµã¼ã試é¨ããã°ã©ã ã® TCP/IP ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * 最小構成サーバ試験プログラムの TCP/IP コンフィギュレーションファイル 48 36 */ 49 37 -
asp3_gr_sakura/trunk/tinet/asp_sample/tinet_nserv.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * ãµã¼ã試é¨ããã°ã©ã ã® TCP/IP ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * サーバ試験プログラムの TCP/IP コンフィギュレーションファイル 48 36 */ 49 37 #include "@(TINETDIR)/netapp/wwws.h" -
asp3_gr_sakura/trunk/tinet/asp_sample/tinet_sample1n.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * ãããã¯ã¼ã¯å¯¾å¿ sample1.c ããã°ã©ã ã® TCP/IP ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * ネットワーク対応 sample1.c プログラムの TCP/IP コンフィギュレーションファイル 48 36 */ 49 37 50 38 #include "sample1n.h" 51 39 52 /* TCP åä»å£*/40 /* TCP 受付口 */ 53 41 54 42 #ifdef SUPPORT_INET6 … … 66 54 #endif /* of #ifdef SUPPORT_INET6 */ 67 55 68 /* TCP é信端ç¹*/56 /* TCP 通信端点 */ 69 57 70 58 #ifdef SUPPORT_INET6 -
asp3_gr_sakura/trunk/tinet/asp_sample/tinet_usrv4.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * UDP ECHO ãµã¼ãããã°ã©ã ã® TCP/IP ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * UDP ECHO サーバプログラムの TCP/IP コンフィギュレーションファイル 48 36 */ 49 37 … … 51 39 52 40 /* 53 * UDP é信端ç¹41 * UDP 通信端点 54 42 */ 55 43 -
asp3_gr_sakura/trunk/tinet/asp_sample/tinet_usrv6.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * UDP ECHO ãµã¼ãããã°ã©ã ã® TCP/IP ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * UDP ECHO サーバプログラムの TCP/IP コンフィギュレーションファイル 48 36 */ 49 37 … … 51 39 52 40 /* 53 * UDP é信端ç¹41 * UDP 通信端点 54 42 */ 55 43 -
asp3_gr_sakura/trunk/tinet/asp_sample/usrv4.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * UDP ECHO ãµã¼ã35 * UDP ECHO サーバ 48 36 * 49 * ã»éåä¿¡ã¿ã¹ã¯åä¸å37 * ・送受信タスク同一型 50 38 */ 51 39 … … 63 51 64 52 /* 65 * å¤é¨é¢æ°ã®å®ç¾©53 * 外部関数の定義 66 54 */ 67 55 … … 69 57 70 58 /* 71 * å¤æ°59 * 変数 72 60 */ 73 61 … … 75 63 76 64 /* 77 * UDP ECHO ãµã¼ãã¿ã¹ã¯65 * UDP ECHO サーバタスク 78 66 */ 79 67 -
asp3_gr_sakura/trunk/tinet/asp_sample/usrv4.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * UDP ECHO ãµã¼ãã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * UDP ECHO サーバコンフィギュレーションファイル 48 36 */ 49 37 … … 57 45 58 46 /* 59 * ã¿ã¹ã¯47 * タスク 60 48 */ 61 49 -
asp3_gr_sakura/trunk/tinet/asp_sample/usrv4.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 50 38 51 39 /* 52 * UDP ECHO ãµã¼ã40 * UDP ECHO サーバ 53 41 */ 54 42 55 #define USRV_STACK_SIZE 1024 /* UDP ECHO ãµã¼ãã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */ 56 #define USRV_MAIN_PRIORITY 5 /* UDP ECHO ãµã¼ãã¿ã¹ã¯ã®åªå 57 度 */ 43 #define USRV_STACK_SIZE 1024 /* UDP ECHO サーバタスクのスタックサイズ */ 44 #define USRV_MAIN_PRIORITY 5 /* UDP ECHO サーバタスクの優先度 */ 58 45 59 46 #ifndef _MACRO_ONLY 60 47 61 48 /* 62 * ã¿ã¹ã¯49 * タスク 63 50 */ 64 51 -
asp3_gr_sakura/trunk/tinet/asp_sample/usrv6.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * UDP ECHO ãµã¼ã35 * UDP ECHO サーバ 48 36 * 49 * ã»éåä¿¡ã¿ã¹ã¯åä¸å37 * ・送受信タスク同一型 50 38 */ 51 39 … … 61 49 62 50 /* 63 * å¤é¨é¢æ°ã®å®ç¾©51 * 外部関数の定義 64 52 */ 65 53 … … 67 55 68 56 /* 69 * å¤æ°57 * 変数 70 58 */ 71 59 … … 73 61 74 62 /* 75 * UDP ECHO ãµã¼ãã¿ã¹ã¯63 * UDP ECHO サーバタスク 76 64 */ 77 65 -
asp3_gr_sakura/trunk/tinet/asp_sample/usrv6.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * UDP ECHO ãµã¼ãã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * UDP ECHO サーバコンフィギュレーションファイル 48 36 */ 49 37 … … 57 45 58 46 /* 59 * ã¿ã¹ã¯47 * タスク 60 48 */ 61 49 -
asp3_gr_sakura/trunk/tinet/asp_sample/usrv6.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 50 38 51 39 /* 52 * UDP ECHO ãµã¼ã40 * UDP ECHO サーバ 53 41 */ 54 42 55 #define USRV_STACK_SIZE 1024 /* UDP ECHO ãµã¼ãã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */ 56 #define USRV_MAIN_PRIORITY 5 /* UDP ECHO ãµã¼ãã¿ã¹ã¯ã®åªå 57 度 */ 43 #define USRV_STACK_SIZE 1024 /* UDP ECHO サーバタスクのスタックサイズ */ 44 #define USRV_MAIN_PRIORITY 5 /* UDP ECHO サーバタスクの優先度 */ 58 45 59 46 #ifndef _MACRO_ONLY 60 47 61 48 /* 62 * ã¿ã¹ã¯49 * タスク 63 50 */ 64 51 -
asp3_gr_sakura/trunk/tinet/net/ether_var.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 50 38 51 39 /* 52 * Ethernet å¦çã¿ã¹ã¯40 * Ethernet 処理タスク 53 41 */ 54 42 -
asp3_gr_sakura/trunk/tinet/net/ethernet.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * Ethernet å¦çã¿ã¹ã¯ã®æ¬ä½35 * Ethernet 処理タスクの本体 48 36 */ 49 37 … … 93 81 94 82 /* 95 * å¤æ°83 * 変数 96 84 */ 97 85 … … 106 94 107 95 /* 108 * å¤æ°109 */ 110 111 /* ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹æ§é ä½*/96 * 変数 97 */ 98 99 /* ネットワークインタフェース構造体 */ 112 100 113 101 static T_IFNET ether_ifnet; … … 115 103 #ifdef SUPPORT_MIB 116 104 117 /* SNMP 㮠管çæ 118 å ±ãã¼ã¹ (MIB) */ 105 /* SNMP の 管理情報ベース (MIB) */ 119 106 120 107 T_IF_STATS if_stats; … … 125 112 126 113 /* 127 * é¢æ°114 * 関数 128 115 */ 129 116 … … 131 118 132 119 /* 133 * ieee_802_input -- IEEE 802.3 å 134 ¥åå¦ç 120 * ieee_802_input -- IEEE 802.3 入力処理 135 121 */ 136 122 … … 150 136 151 137 /* 152 * ether_srand -- ä¹±æ°ãåæå¤ãè¿ãã138 * ether_srand -- 乱数を初期値を返す。 153 139 */ 154 140 … … 178 164 179 165 /* 180 * ether_get_ifnet -- ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹æ§é ä½ãè¿ãã166 * ether_get_ifnet -- ネットワークインタフェース構造体を返す。 181 167 */ 182 168 … … 190 176 191 177 /* 192 * ether_in6_resolve_multicast -- ã¤ã¼ãµãããã®ãã«ããã£ã¹ãã¢ãã¬ã¹ã¸ã®å¤æ178 * ether_in6_resolve_multicast -- イーサネットのマルチキャストアドレスへの変換 193 179 */ 194 180 … … 196 182 ether_in6_resolve_multicast (T_ETHER_ADDR *ifaddr, const T_IN6_ADDR *maddr) 197 183 { 198 /* ãã«ããã£ã¹ãã¢ãã¬ã¹ããã§ãã¯ããã*/184 /* マルチキャストアドレスかチェックする。*/ 199 185 if (!IN6_IS_ADDR_MULTICAST(maddr)) 200 186 return E_PAR; 201 187 202 /* ã¤ã¼ãµãããã®ãã«ããã£ã¹ãã¢ãã¬ã¹ã¸ã®å¤æ*/188 /* イーサネットのマルチキャストアドレスへの変換 */ 203 189 ether_map_ipv6_multicast(ifaddr, maddr); 204 190 … … 209 195 210 196 /* 211 * ether_raw_output -- Ethernet ã¤ã³ã¿ãã§ã¼ã¹ã®åºåé¢æ°ãMAC ã¢ãã¬ã¹è§£æ±ºç¡ã197 * ether_raw_output -- Ethernet インタフェースの出力関数、MAC アドレス解決無し 212 198 */ 213 199 … … 217 203 ER error = E_OK; 218 204 219 /* Ethernet åºåãã¥ã¼ã«æå 220 ¥ããã*/ 205 /* Ethernet 出力キューに投入する。*/ 221 206 if ((error = tsnd_dtq(DTQ_ETHER_OUTPUT, (intptr_t)output, tmout)) != E_OK) { 222 207 NET_COUNT_ETHER(net_count_ether.out_err_packets, 1); 223 208 NET_COUNT_MIB(if_stats.ifOutDiscards, 1); 224 209 225 /* IF ã§ãããã¯ã¼ã¯ãããã¡ãéæ¾ããªããã©ã°ããã§ãã¯ããã*/210 /* IF でネットワークバッファを開放しないフラグをチェックする。*/ 226 211 if ((output->flags & NB_FLG_NOREL_IFOUT) == 0) { 227 212 syscall(rel_net_buf(output)); … … 236 221 237 222 /* 238 * ether_output -- Ethernet ã¤ã³ã¿ãã§ã¼ã¹ã®åºåé¢æ°ãMAC ã¢ãã¬ã¹è§£æ±ºæã223 * ether_output -- Ethernet インタフェースの出力関数、MAC アドレス解決有り 239 224 */ 240 225 … … 245 230 ER error = E_OK; 246 231 247 /* éä¿¡å 248 MAC ã¢ãã¬ã¹ãè¨å®ããã*/ 232 /* 送信元 MAC アドレスを設定する。*/ 249 233 ic = IF_ETHER_NIC_GET_SOFTC(); 250 234 memcpy(GET_ETHER_HDR(output)->shost, ic->ifaddr.lladdr, ETHER_ADDR_LEN); … … 255 239 256 240 case ETHER_TYPE_IP: /* IPv4 */ 257 if (arp_resolve(&ic->ifaddr, output, *(uint32_t*)dst)) { /* true ãªãã¢ãã¬ã¹è§£æ±ºæ¸*/241 if (arp_resolve(&ic->ifaddr, output, *(uint32_t*)dst)) { /* true ならアドレス解決済 */ 258 242 error = ether_raw_output(output, tmout); 259 243 } … … 270 254 error = ether_raw_output(output, tmout); 271 255 272 /* IF ã§ãããã¯ã¼ã¯ãããã¡ãéæ¾ããªããã©ã°ããã§ãã¯ããã*/256 /* IF でネットワークバッファを開放しないフラグをチェックする。*/ 273 257 else if ((output->flags & NB_FLG_NOREL_IFOUT) == 0) { 274 258 syscall(rel_net_buf(output)); … … 284 268 NET_COUNT_MIB(if_stats.ifOutErrors, 1); 285 269 286 /* IF ã§ãããã¯ã¼ã¯ãããã¡ãéæ¾ããªããã©ã°ããã§ãã¯ããã*/270 /* IF でネットワークバッファを開放しないフラグをチェックする。*/ 287 271 if ((output->flags & NB_FLG_NOREL_IFOUT) == 0) { 288 272 syscall(rel_net_buf(output)); … … 301 285 302 286 /* 303 * Ethernet åºåã¿ã¹ã¯287 * Ethernet 出力タスク 304 288 */ 305 289 … … 355 339 356 340 /* 357 * Ethernet å 358 ¥åã¿ã¹ã¯ 341 * Ethernet 入力タスク 359 342 */ 360 343 … … 369 352 uint8_t rcount = 0; 370 353 371 /* ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ç®¡çãåæåããã*/354 /* ネットワークインタフェース管理を初期化する。*/ 372 355 ifinit(); 373 356 374 /* ã¤ã¼ãµããããããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ç®¡çãåæåããã*/357 /* イーサネットネットワークインタフェース管理を初期化する。*/ 375 358 376 359 #if defined(_IP4_CFG) 377 360 378 ether_ifnet.in4_ifaddr.addr = IPV4_ADDR_LOCAL; /* IPv4 ã¢ãã¬ã¹*/379 ether_ifnet.in4_ifaddr.mask = IPV4_ADDR_LOCAL_MASK; /* ãµãããããã¹ã¯*/361 ether_ifnet.in4_ifaddr.addr = IPV4_ADDR_LOCAL; /* IPv4 アドレス */ 362 ether_ifnet.in4_ifaddr.mask = IPV4_ADDR_LOCAL_MASK; /* サブネットマスク */ 380 363 381 364 #endif /* of #if defined(_IP4_CFG) */ 382 365 383 /* NIC ãåæåããã*/366 /* NIC を初期化する。*/ 384 367 ic = IF_ETHER_NIC_GET_SOFTC(); 385 368 IF_ETHER_NIC_PROBE(ic); 386 369 IF_ETHER_NIC_INIT(ic); 387 370 388 /* Ethernet åºåã¿ã¹ã¯ãèµ·åãã*/371 /* Ethernet 出力タスクを起動する */ 389 372 syscall(act_tsk(ETHER_OUTPUT_TASK)); 390 373 391 /* ãããã¯ã¼ã¯ã¿ã¤ãã¿ã¹ã¯ãèµ·åãã*/374 /* ネットワークタイマタスクを起動する */ 392 375 syscall(act_tsk(NET_TIMER_TASK)); 393 376 … … 399 382 #if defined(_IP4_CFG) 400 383 401 /* ARP ãåæåããã*/384 /* ARP を初期化する。*/ 402 385 arp_init(); 403 386 … … 406 389 ether_ifnet.ic = ic; 407 390 408 /* ä¹±æ°çæãåæåããã*/391 /* 乱数生成を初期化する。*/ 409 392 net_srand(0); 410 393 … … 418 401 proto = ntohs(eth->type); 419 402 420 /* ä¹±æ°çæãåæåããã*/403 /* 乱数生成を初期化する。*/ 421 404 if (rcount == 0) { 422 405 -
asp3_gr_sakura/trunk/tinet/net/ethernet.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * Ethernet ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * Ethernet コンフィギュレーションファイル 48 36 */ 49 37 … … 55 43 CRE_DTQ(DTQ_ETHER_OUTPUT, { TA_TFIFO, NUM_DTQ_ETHER_OUTPUT, NULL }); 56 44 57 /* ãµãã¼ãé¢æ° max2str ç¨ã»ããã©*/45 /* サポート関数 max2str 用セマフォ */ 58 46 59 47 CRE_SEM(SEM_MAC2STR_BUFF_LOCK, { TA_TPRI, 1, 1 }); -
asp3_gr_sakura/trunk/tinet/net/ethernet.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 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 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 88 76 89 77 /* 90 * ãã£ã¼ã«ãé·78 * フィールド長 91 79 */ 92 80 … … 96 84 97 85 /* 98 * ãã¬ã¼ã é· (Ethernet ããã㨠CRC ãå«ã)86 * フレーム長 (Ethernet ヘッダと CRC を含む) 99 87 */ 100 88 … … 103 91 104 92 /* 105 * Ethernet ããã93 * Ethernet ヘッダ 106 94 */ 107 95 … … 117 105 #if IF_ETHER_NIC_HDR_ALIGN != 0 118 106 119 uint8_t align[IF_ETHER_NIC_HDR_ALIGN]; /* ã¢ã©ã¤ã³èª¿æ´*/107 uint8_t align[IF_ETHER_NIC_HDR_ALIGN]; /* アライン調整 */ 120 108 121 109 #endif /* of #if IF_ETHER_NIC_HDR_ALIGN != 0 */ … … 133 121 #if IF_ETHER_NIC_HDR_ALIGN != 0 134 122 135 uint8_t align[IF_ETHER_NIC_HDR_ALIGN]; /* ã¢ã©ã¤ã³èª¿æ´*/123 uint8_t align[IF_ETHER_NIC_HDR_ALIGN]; /* アライン調整 */ 136 124 137 125 #endif /* of #if IF_ETHER_NIC_HDR_ALIGN != 0 */ … … 148 136 #if IF_ETHER_NIC_HDR_ALIGN != 0 149 137 150 uint8_t align[IF_ETHER_NIC_HDR_ALIGN]; /* ã¢ã©ã¤ã³èª¿æ´*/138 uint8_t align[IF_ETHER_NIC_HDR_ALIGN]; /* アライン調整 */ 151 139 152 140 #endif /* of #if IF_ETHER_NIC_HDR_ALIGN != 0 */ … … 162 150 163 151 /* 164 * MAC ã¢ãã¬ã¹ã®å®ç¾©165 */ 166 167 #define ETHER_MCAST_ADDR UINT_C(0x01) /* ãã«ããã£ã¹ãã»ã¢ãã¬ã¹*/168 #define ETHER_LOCAL_ADDR UINT_C(0x02) /* ãã¼ã«ã«ã»ã¢ãã¬ã¹*/152 * MAC アドレスの定義 153 */ 154 155 #define ETHER_MCAST_ADDR UINT_C(0x01) /* マルチキャスト・アドレス */ 156 #define ETHER_LOCAL_ADDR UINT_C(0x02) /* ローカル・アドレス */ 169 157 170 158 typedef struct t_ether_addr { … … 173 161 174 162 /* 175 * Type ãã£ã¼ã«ã163 * Type フィールド 176 164 */ 177 165 … … 181 169 182 170 /* 183 * ã¤ã³ã¿ãã§ã¼ã¹ã®é¸æãã¯ã184 */ 185 186 #define T_IF_HDR T_ETHER_HDR /* ã¤ã³ã¿ãã§ã¼ã¹ã®ããã*/187 #define T_IF_ADDR T_ETHER_ADDR /* ã¤ã³ã¿ãã§ã¼ã¹ã®ã¢ãã¬ã¹*/188 #define IF_HDR_ALIGN 2 /* ãããã®ã¢ã©ã¤ã³åä½*/189 #define IF_MTU 1500 /* ã¤ã³ã¿ãã§ã¼ã¹ã®MTU */190 #define IF_MIN_LEN ETHER_MIN_LEN /* ã¤ã³ã¿ã¼ãã§ã¼ã¹ãã¬ã¼ã ã®æçé·*/191 192 #define IF_OUTPUT(o,d,g,t) ether_output(o,d,g,t) /* ã¤ã³ã¿ãã§ã¼ã¹ã®åºåé¢æ°*/193 #define IF_RAW_OUTPUT(o,t) ether_raw_output(o,t) /* ã¤ã³ã¿ãã§ã¼ã¹ã®åºåé¢æ°ãã¢ãã¬ã¹è§£æ±ºç¡ã*/171 * インタフェースの選択マクロ 172 */ 173 174 #define T_IF_HDR T_ETHER_HDR /* インタフェースのヘッダ */ 175 #define T_IF_ADDR T_ETHER_ADDR /* インタフェースのアドレス */ 176 #define IF_HDR_ALIGN 2 /* ヘッダのアライン単位 */ 177 #define IF_MTU 1500 /* インタフェースの MTU */ 178 #define IF_MIN_LEN ETHER_MIN_LEN /* インターフェースフレームの最短長 */ 179 180 #define IF_OUTPUT(o,d,g,t) ether_output(o,d,g,t) /* インタフェースの出力関数 */ 181 #define IF_RAW_OUTPUT(o,t) ether_raw_output(o,t) /* インタフェースの出力関数、アドレス解決無し */ 194 182 #define IF_SET_PROTO(b,p) (GET_ETHER_HDR(b)->type = htons(p)) 195 /* ã¤ã³ã¿ãã§ã¼ã¹ã®ãããã³ã«è¨å®é¢æ°*/183 /* インタフェースのプロトコル設定関数 */ 196 184 #define IF_SOFTC_TO_IFADDR(s) ((T_IF_ADDR*)(s)->ifaddr.lladdr) 197 /* ã½ããã¦ã§ã¢æ 198 å ±ãã MAC ã¢ãã¬ã¹ãåãåºã */ 199 #define IF_GET_IFNET() ether_get_ifnet() /* ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹æ§é ä½ãè¿ãã */ 200 #define IF_TYPE IFT_ETHER /* ã¤ã³ã¿ãã§ã¼ã¹ã®å */ 201 #define IF_SRAND() ether_srand() /* ã¤ã³ã¿ãã§ã¼ã¹ã®ä¹±æ°åæå¤ */ 202 203 /* IPv4 é¢ä¿ */ 204 205 #define IF_PROTO_IP ETHER_TYPE_IP /* ã¤ã³ã¿ãã§ã¼ã¹ã® IPv4 ãããã³ã«æå® */ 206 #define IF_PROTO_ARP ETHER_TYPE_ARP /* ã¤ã³ã¿ãã§ã¼ã¹ã® ARP ãããã³ã«æå® */ 207 208 /* IPv6 é¢ä¿ */ 209 210 #define MAX_IF_MADDR_CNT 2 /* ã¤ã³ã¿ãã§ã¼ã¹ã®ãã«ããã£ã¹ãã¢ãã¬ã¹é 211 åã®æ大ãµã¤ãº */ 185 /* ソフトウェア情報から MAC アドレスを取り出す */ 186 #define IF_GET_IFNET() ether_get_ifnet() /* ネットワークインタフェース構造体を返す。 */ 187 #define IF_TYPE IFT_ETHER /* インタフェースの型 */ 188 #define IF_SRAND() ether_srand() /* インタフェースの乱数初期値 */ 189 190 /* IPv4 関係 */ 191 192 #define IF_PROTO_IP ETHER_TYPE_IP /* インタフェースの IPv4 プロトコル指定 */ 193 #define IF_PROTO_ARP ETHER_TYPE_ARP /* インタフェースの ARP プロトコル指定 */ 194 195 /* IPv6 関係 */ 196 197 #define MAX_IF_MADDR_CNT 2 /* インタフェースのマルチキャストアドレス配列の最大サイズ */ 212 198 #define IF_MADDR_INIT { { { 0, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0 } } } 213 /* ã¤ã³ã¿ãã§ã¼ã¹ã®ãã«ããã£ã¹ãã¢ãã¬ã¹é 214 åã®åæå */ 215 #define IF_PROTO_IPV6 ETHER_TYPE_IPV6 /* ã¤ã³ã¿ãã§ã¼ã¹ã® IPv6 ãããã³ã«æå® */ 199 /* インタフェースのマルチキャストアドレス配列の初期化 */ 200 #define IF_PROTO_IPV6 ETHER_TYPE_IPV6 /* インタフェースの IPv6 プロトコル指定 */ 216 201 #define IF_ADDMULTI(s) IF_ETHER_NIC_ADDMULTI(s) 217 /* ãã«ããã£ã¹ãã¢ãã¬ã¹ã®ç»é²*/218 #define IF_IN6_NEED_CACHE(i) (true) /* è¿é£æ¢ç´¢ãã£ãã·ã¥ã使ç¨ããã*/202 /* マルチキャストアドレスの登録 */ 203 #define IF_IN6_NEED_CACHE(i) (true) /* 近隣探索キャッシュを使用する。 */ 219 204 #define IF_IN6_IFID(i,a) IF_ETHER_NIC_IN6_IFID(i,a) 220 /* ã¤ã³ã¿ãã§ã¼ã¹èå¥åã®è¨å®*/205 /* インタフェース識別子の設定 */ 221 206 #define IF_IN6_RESOLVE_MULTICAST(i,m) \ 222 207 ether_in6_resolve_multicast(i,m) 223 /* ã¤ã³ã¿ãã§ã¼ã¹ã®ãã«ããã£ã¹ãã¢ãã¬ã¹ã¸ã®å¤æ */ 224 225 /* 226 * åæ¹åç 227 § 208 /* インタフェースのマルチキャストアドレスへの変換 */ 209 210 /* 211 * 前方参照 228 212 */ 229 213 … … 261 245 262 246 /* 263 * ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã«ä¾åããªãã½ããã¦ã§ã¢æ 264 å ± 247 * ネットワークインタフェースに依存しないソフトウェア情報 265 248 */ 266 249 … … 268 251 269 252 struct t_if_softc { 270 T_IF_ADDR ifaddr; /* ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã®ã¢ãã¬ã¹ */ 271 uint16_t timer; /* éä¿¡ã¿ã¤ã ã¢ã¦ã */ 272 T_IF_ETHER_NIC_SOFTC *sc; /* ãã£ãã¤ã¹ä¾åã®ã½ããã¦ã§ã¢æ 273 å ± */ 274 ID semid_txb_ready; /* éä¿¡ã»ããã© */ 275 ID semid_rxb_ready; /* åä¿¡ã»ããã© */ 253 T_IF_ADDR ifaddr; /* ネットワークインタフェースのアドレス */ 254 uint16_t timer; /* 送信タイムアウト */ 255 T_IF_ETHER_NIC_SOFTC *sc; /* ディバイス依存のソフトウェア情報 */ 256 ID semid_txb_ready; /* 送信セマフォ */ 257 ID semid_rxb_ready; /* 受信セマフォ */ 276 258 277 259 #ifdef _IP6_CFG 278 260 279 T_IF_ADDR maddrs[MAX_IF_MADDR_CNT]; /* ãã«ããã£ã¹ãã¢ãã¬ã¹ãªã¹ã*/261 T_IF_ADDR maddrs[MAX_IF_MADDR_CNT]; /* マルチキャストアドレスリスト */ 280 262 281 263 #endif /* of #ifdef _IP6_CFG */ … … 285 267 286 268 /* 287 * å¤æ°269 * 変数 288 270 */ 289 271 … … 295 277 296 278 /* 297 * é¢æ°279 * 関数 298 280 */ 299 281 300 282 #ifdef _IP6_CFG 301 283 302 /* åæ¹åç 303 § */ 284 /* 前方参照 */ 304 285 305 286 #ifndef T_IN6_ADDR_DEFINED -
asp3_gr_sakura/trunk/tinet/net/fcstab.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
-
asp3_gr_sakura/trunk/tinet/net/genfcstab.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
-
asp3_gr_sakura/trunk/tinet/net/if.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 117 105 118 106 /* 119 * é¢æ°107 * 関数 120 108 */ 121 109 … … 123 111 124 112 /* 125 * if_slowtimo -- ã¤ã³ã¿ãã§ã¼ã¹ã®ã¯ããããã°ã¿ã¤ãå¶å¾¡113 * if_slowtimo -- インタフェースのワッチドッグタイマ制御 126 114 */ 127 115 … … 142 130 143 131 /* 144 * ifinit -- ã¤ã³ã¿ãã§ã¼ã¹ç®¡çã®åæå132 * ifinit -- インタフェース管理の初期化 145 133 */ 146 134 … … 156 144 157 145 /* 158 * if_addmulti -- ãã«ããã£ã¹ãã¢ãã¬ã¹ã®ç»é²146 * if_addmulti -- マルチキャストアドレスの登録 159 147 */ 160 148 … … 173 161 return E_PAR; 174 162 175 /* IPv6 ãã«ããã£ã¹ãã¢ãã¬ã¹ãç»é²ããã*/163 /* IPv6 マルチキャストアドレスを登録する。*/ 176 164 ifp->in6_maddrs[ix] = *(T_IN6_ADDR*)maddr; 177 165 178 /* ã¤ã³ã¿ãã§ã¼ã¹ã®ã¢ãã¬ã¹ã«å¤æããç»é²ããã*/166 /* インタフェースのアドレスに変換し、登録する。*/ 179 167 error = IF_IN6_RESOLVE_MULTICAST(&llmaddr, (T_IN6_ADDR*)maddr); 180 168 if (error != E_OK) -
asp3_gr_sakura/trunk/tinet/net/if.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 84 72 85 73 /* 86 * ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ç¨ã¿ã¤ãã®å®ç¾©74 * ネットワークインタフェース用タイマの定義 87 75 */ 88 76 89 #define IF_TIMER_TMO NET_TIMER_HZ /* ã¿ã¤ã ã¢ã¦ãã1 [s] */90 #define IF_TIMER_HZ 1 /* ã¿ã¤ãã®å¨æ³¢æ°ã1 [s] */77 #define IF_TIMER_TMO NET_TIMER_HZ /* タイムアウト、1 [s] */ 78 #define IF_TIMER_HZ 1 /* タイマの周波数、1 [s] */ 91 79 92 80 /* 93 * ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã®ãã©ã°81 * ネットワークインタフェースのフラグ 94 82 */ 95 83 96 #define IFF_UP UINT_C(0x0001) /* èµ·åæ¸ã¿*/97 #define IFF_RUNNING UINT_C(0x0002) /* åä½ä¸*/84 #define IFF_UP UINT_C(0x0001) /* 起動済み */ 85 #define IFF_RUNNING UINT_C(0x0002) /* 動作中 */ 98 86 99 87 /* 100 * æ±ç¨å®ç¾©88 * 汎用定義 101 89 */ 102 90 … … 105 93 106 94 /* 107 * é¢æ°95 * 関数 108 96 */ 109 97 -
asp3_gr_sakura/trunk/tinet/net/if6_var.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 81 69 82 70 /* 83 * ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹æ§é ä½71 * ネットワークインタフェース構造体 84 72 */ 85 73 … … 89 77 90 78 struct t_ifnet { 91 T_IF_SOFTC *ic; /* ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã®ã½ããã¦ã§ã¢æ 92 å ± */ 79 T_IF_SOFTC *ic; /* ネットワークインタフェースのソフトウェア情報 */ 93 80 T_IN6_IFADDR in6_ifaddrs[NUM_IN6_IFADDR_ENTRY]; 94 /* IPv6 ã¢ãã¬ã¹æ 95 å ± */ 81 /* IPv6 アドレス情報 */ 96 82 T_IN6_ADDR in6_maddrs [MAX_IN6_MADDR_CNT]; 97 /* ãã«ããã£ã¹ã IPv6 ã¢ãã¬ã¹ */ 98 T_IN4_IFADDR in4_ifaddr; /* IPv4 ã¢ãã¬ã¹æ 99 å ± */ 100 uint8_t flags; /* ãã©ã° */ 83 /* マルチキャスト IPv6 アドレス */ 84 T_IN4_IFADDR in4_ifaddr; /* IPv4 アドレス情報 */ 85 uint8_t flags; /* フラグ */ 101 86 }; 102 87 … … 104 89 105 90 struct t_ifnet { 106 T_IF_SOFTC *ic; /* ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã®ã½ããã¦ã§ã¢æ 107 å ± */ 91 T_IF_SOFTC *ic; /* ネットワークインタフェースのソフトウェア情報 */ 108 92 T_IN6_IFADDR in6_ifaddrs[NUM_IN6_IFADDR_ENTRY]; 109 /* IPv6 ã¢ãã¬ã¹æ 110 å ± */ 93 /* IPv6 アドレス情報 */ 111 94 T_IN6_ADDR in6_maddrs [MAX_IN6_MADDR_CNT]; 112 /* ãã«ããã£ã¹ã IPv6 ã¢ãã¬ã¹*/113 uint8_t flags; /* ãã©ã°*/95 /* マルチキャスト IPv6 アドレス */ 96 uint8_t flags; /* フラグ */ 114 97 }; 115 98 … … 121 104 122 105 struct t_ifnet { 123 T_IF_SOFTC *ic; /* ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã®ã½ããã¦ã§ã¢æ 124 å ± */ 125 T_IN4_IFADDR in4_ifaddr; /* IPv4 ã¢ãã¬ã¹æ 126 å ± */ 106 T_IF_SOFTC *ic; /* ネットワークインタフェースのソフトウェア情報 */ 107 T_IN4_IFADDR in4_ifaddr; /* IPv4 アドレス情報 */ 127 108 }; 128 109 … … 142 123 143 124 /* 144 * é¢æ°ã·ãã¥ã¬ã¼ã·ã§ã³ãã¯ã125 * 関数シミュレーションマクロ 145 126 */ 146 127 … … 148 129 149 130 /* 150 * é¢æ°131 * 関数 151 132 */ 152 133 -
asp3_gr_sakura/trunk/tinet/net/if_arp.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 88 76 * Address Resolution Protocol. 89 77 * 90 * RFC 826 åç 91 § 78 * RFC 826 参照 92 79 */ 93 80 94 81 /* 95 * æ§é ä½82 * 構造体 96 83 */ 97 84 98 /* ARP ããã*/85 /* ARP ヘッダ */ 99 86 100 87 typedef struct t_arp_hdr { 101 uint16_t hrd_addr; /* ç©çã¢ãã¬ã¹ãã©ã¼ããã*/102 uint16_t proto; /* ãããã³ã«*/103 uint8_t hdr_len; /* ç©çã¢ãã¬ã¹é·*/104 uint8_t proto_len; /* ãããã³ã«é·*/105 uint16_t opcode; /* å½ä»¤ã³ã¼ã*/88 uint16_t hrd_addr; /* 物理アドレスフォーマット */ 89 uint16_t proto; /* プロトコル */ 90 uint8_t hdr_len; /* 物理アドレス長 */ 91 uint8_t proto_len; /* プロトコル長 */ 92 uint16_t opcode; /* 命令コード */ 106 93 } T_ARP_HDR; 107 94 … … 113 100 #define GET_IF_ARP_HDR_SIZE(nbuf) (IF_HDR_SIZE + ARP_HDR_SIZE) 114 101 115 /* hrd_addr ãç©çã¢ãã¬ã¹ãã©ã¼ãããã®å¤*/102 /* hrd_addr、物理アドレスフォーマットの値 */ 116 103 117 104 #define ARPHRD_ETHER 1 /* Ethernet */ 118 105 119 /* opcode, å½ä»¤ã³ã¼ãã®å¤*/106 /* opcode, 命令コードの値 */ 120 107 121 #define ARPOP_REQUEST UINT_C(1) /* ã¢ãã¬ã¹è§£æ±ºè¦æ±*/122 #define ARPOP_REPLY UINT_C(2) /* ã¢ãã¬ã¹è§£æ±ºå¿ç*/123 #define ARPOP_REV_REQUEST UINT_C(3) /* ãããã³ã«ã»ã¢ãã¬ã¹è§£æ±ºè¦æ±*/124 #define ARPOP_REV_REPLY UINT_C(4) /* ãããã³ã«ã»ã¢ãã¬ã¹è§£æ±ºè¦æ±*/125 #define ARPOP_INV_REQUEST UINT_C(8) /* çµç«¯èå¥è¦æ±*/126 #define ARPOP_INV_REPLY UINT_C(9) /* çµç«¯èå¥è¦æ±*/108 #define ARPOP_REQUEST UINT_C(1) /* アドレス解決要求 */ 109 #define ARPOP_REPLY UINT_C(2) /* アドレス解決応答 */ 110 #define ARPOP_REV_REQUEST UINT_C(3) /* プロトコル・アドレス解決要求 */ 111 #define ARPOP_REV_REPLY UINT_C(4) /* プロトコル・アドレス解決要求 */ 112 #define ARPOP_INV_REQUEST UINT_C(8) /* 終端識別要求 */ 113 #define ARPOP_INV_REPLY UINT_C(9) /* 終端識別要求 */ 127 114 128 115 /* 129 * ã¤ã¼ãµããããã©ã¤ãã¢ã¸ã¥ã¼ã«ã§ä½¿ç¨ããã ARP æ 130 å ± 116 * イーサネットドライバモジュールで使用される ARP 情報 131 117 */ 132 118 … … 136 122 137 123 /* 138 * ARP ãã£ãã·ã¥æ´æ°ã¿ã¤ãã®å®ç¾©124 * ARP キャッシュ更新タイマの定義 139 125 */ 140 126 141 #define ARP_TIMER_TMO (60*NET_TIMER_HZ) /* ã¿ã¤ã ã¢ã¦ãã60 [s] */127 #define ARP_TIMER_TMO (60*NET_TIMER_HZ) /* タイムアウト、60 [s] */ 142 128 143 129 /* 144 * å¤æ°130 * 変数 145 131 */ 146 132 -
asp3_gr_sakura/trunk/tinet/net/if_llc.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 86 74 87 75 /* 88 * é·ãã®å®ç¾©76 * 長さの定義 89 77 */ 90 78 … … 93 81 94 82 /* 95 * 802.3 ããã83 * 802.3 ヘッダ 96 84 */ 97 85 -
asp3_gr_sakura/trunk/tinet/net/if_loop.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 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 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 119 107 120 108 /* 121 * ãã¼ã«ã«ã«ã¼ãããã¯ã¤ã³ã¿ãã§ã¼ã¹122 */ 123 124 /* 125 * å¤é¨é¢æ°ã®å®ç¾©109 * ローカルループバックインタフェース 110 */ 111 112 /* 113 * 外部関数の定義 126 114 */ 127 115 … … 129 117 130 118 /* 131 * å¤æ°132 */ 133 134 /* ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹æ§é ä½*/119 * 変数 120 */ 121 122 /* ネットワークインタフェース構造体 */ 135 123 136 124 #if defined(_IP6_CFG) 137 125 138 126 static T_IFNET loop_ifnet = { 139 NULL, /* ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã®ã½ããã¦ã§ã¢æ 140 å ± */ 141 {}, /* IPv6 ã¢ãã¬ã¹æ 142 å ± */ 143 {}, /* ãã«ããã£ã¹ã IPv6 ã¢ãã¬ã¹ */ 127 NULL, /* ネットワークインタフェースのソフトウェア情報 */ 128 {}, /* IPv6 アドレス情報 */ 129 {}, /* マルチキャスト IPv6 アドレス */ 144 130 }; 145 131 … … 147 133 148 134 static T_IFNET loop_ifnet = { 149 NULL, /* ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã®ã½ããã¦ã§ã¢æ 150 å ± */ 135 NULL, /* ネットワークインタフェースのソフトウェア情報 */ 151 136 { 152 IPV4_ADDR_LOOPBACK, /* IPv4 ã¢ãã¬ã¹*/153 IPV4_ADDR_LOOPBACK_MASK, /* ãµãããããã¹ã¯*/137 IPV4_ADDR_LOOPBACK, /* IPv4 アドレス */ 138 IPV4_ADDR_LOOPBACK_MASK, /* サブネットマスク */ 154 139 }, 155 140 }; … … 158 143 159 144 /* 160 * loop_get_ifnet -- ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹æ§é ä½ãè¿ãã145 * loop_get_ifnet -- ネットワークインタフェース構造体を返す。 161 146 */ 162 147 … … 168 153 169 154 /* 170 * looutput -- ãã¼ã«ã«ã«ã¼ãããã¯ã¤ã³ã¿ãã§ã¼ã¹ã®åºåé¢æ°155 * looutput -- ローカルループバックインタフェースの出力関数 171 156 */ 172 157 … … 185 170 186 171 /* 187 * ãã¼ã«ã«ã«ã¼ãããã¯ã¤ã³ã¿ãã§ã¼ã¹ã»åºåã¿ã¹ã¯172 * ローカルループバックインタフェース・出力タスク 188 173 */ 189 174 … … 208 193 209 194 /* 210 * ãã¼ã«ã«ã«ã¼ãããã¯ã¤ã³ã¿ãã§ã¼ã¹ã»å 211 ¥åã¿ã¹ã¯ 195 * ローカルループバックインタフェース・入力タスク 212 196 */ 213 197 … … 227 211 #if defined(_IP4_CFG) 228 212 229 /* IPv4 å 230 ¥åé¢æ°ãå¼ã³åºã */ 213 /* IPv4 入力関数を呼び出す */ 231 214 if (IP4_VHL_V(GET_IP4_HDR(input)->vhl) == IPV4_VERSION) 232 215 ip_input(input); … … 236 219 #if defined(_IP6_CFG) 237 220 238 /* IPv6 å 239 ¥åé¢æ°ãå¼ã³åºã */ 221 /* IPv6 入力関数を呼び出す */ 240 222 if (IP6_VCF_V(ntohl(GET_IP6_HDR(input)->vcf)) == IPV6_VERSION) 241 223 ip6_input(input); -
asp3_gr_sakura/trunk/tinet/net/if_loop.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * ã«ã¼ãããã¯ã¤ã³ã¿ãã§ã¼ã¹ã»ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * ループバックインタフェース・コンフィギュレーションファイル 48 36 */ 49 37 -
asp3_gr_sakura/trunk/tinet/net/if_loop.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 84 72 85 73 /* 86 * ãã¼ã«ã«ã«ã¼ãããã¯ã¤ã³ã¿ãã§ã¼ã¹ã»ãããã¨ã¢ãã¬ã¹74 * ローカルループバックインタフェース・ヘッダとアドレス 87 75 */ 88 76 … … 91 79 92 80 /* 93 * ã¤ã³ã¿ãã§ã¼ã¹ã®é¸æãã¯ã81 * インタフェースの選択マクロ 94 82 */ 95 83 96 #define T_IF_HDR T_LOOP_HDR /* ã¤ã³ã¿ãã§ã¼ã¹ã®ããã*/97 #define T_IF_ADDR T_LOOP_ADDR /* ã¤ã³ã¿ãã§ã¼ã¹ã®ã¢ãã¬ã¹*/98 #define IF_HDR_ALIGN 4 /* ãããã®ã¢ã©ã¤ã³åä½*/99 #define IF_MTU LOMTU /* ã¤ã³ã¿ãã§ã¼ã¹ã®MTU */84 #define T_IF_HDR T_LOOP_HDR /* インタフェースのヘッダ */ 85 #define T_IF_ADDR T_LOOP_ADDR /* インタフェースのアドレス */ 86 #define IF_HDR_ALIGN 4 /* ヘッダのアライン単位 */ 87 #define IF_MTU LOMTU /* インタフェースの MTU */ 100 88 101 #define IF_OUTPUT(o,d,g,t) looutput(o,t) /* ã¤ã³ã¿ãã§ã¼ã¹ã®åºåé¢æ°*/102 #define IF_RAW_OUTPUT(o,t) looutput(o,t) /* ã¤ã³ã¿ãã§ã¼ã¹ã®åºåé¢æ°ãã¢ãã¬ã¹è§£æ±ºç¡ã*/103 #define IF_SET_PROTO(b,p) /* ã¤ã³ã¿ãã§ã¼ã¹ã®ãããã³ã«è¨å®é¢æ°*/104 #define IF_GET_IFNET() loop_get_ifnet() /* ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹æ§é ä½ãè¿ãã*/105 #define IF_SRAND() (0) /* ã¤ã³ã¿ã¼ãã§ã¼ã¹ã®ä¹±æ°åæå¤*/89 #define IF_OUTPUT(o,d,g,t) looutput(o,t) /* インタフェースの出力関数 */ 90 #define IF_RAW_OUTPUT(o,t) looutput(o,t) /* インタフェースの出力関数、アドレス解決無し*/ 91 #define IF_SET_PROTO(b,p) /* インタフェースのプロトコル設定関数 */ 92 #define IF_GET_IFNET() loop_get_ifnet() /* ネットワークインタフェース構造体を返す。 */ 93 #define IF_SRAND() (0) /* インターフェースの乱数初期値 */ 106 94 107 /* IPv4 é¢ä¿*/95 /* IPv4 関係 */ 108 96 109 #define IF_PROTO_IP 0 /* ã¤ã³ã¿ãã§ã¼ã¹ã® IP ãããã³ã«æå®*/97 #define IF_PROTO_IP 0 /* インタフェースの IP プロトコル指定 */ 110 98 111 /* IPv6 é¢ä¿*/99 /* IPv6 関係 */ 112 100 113 #define MAX_IF_MADDR_CNT 0 /* ã¤ã³ã¿ãã§ã¼ã¹ã®ãã«ããã£ã¹ãã¢ãã¬ã¹é 114 åã®æ大ãµã¤ãº */ 115 #define IF_IN6_NEED_CACHE(i) (false) /* è¿é£æ¢ç´¢ãã£ãã·ã¥ã使ç¨ããã */ 101 #define MAX_IF_MADDR_CNT 0 /* インタフェースのマルチキャストアドレス配列の最大サイズ */ 102 #define IF_IN6_NEED_CACHE(i) (false) /* 近隣探索キャッシュを使用する。 */ 116 103 117 104 /* 118 * åæ¹åç 119 § 105 * 前方参照 120 106 */ 121 107 … … 145 131 146 132 /* 147 * ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã«ä¾åããªãã½ããã¦ã§ã¢æ 148 å ± 133 * ネットワークインタフェースに依存しないソフトウェア情報 149 134 */ 150 135 … … 152 137 153 138 /* 154 * é¢æ°139 * 関数 155 140 */ 156 141 … … 159 144 160 145 /* 161 * ãã¼ã«ã«ã«ã¼ãããã¯ã¤ã³ã¿ãã§ã¼ã¹ã»å¦çã¿ã¹ã¯146 * ローカルループバックインタフェース・処理タスク 162 147 */ 163 148 -
asp3_gr_sakura/trunk/tinet/net/if_ppp.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 71 59 72 60 /* 73 * PPP ã¢ãã¬ã¹ã®å®ç¾©ï¼ããã¼ï¼61 * PPP アドレスの定義(ダミー) 74 62 */ 75 63 … … 79 67 80 68 /* 81 * ã¤ã³ã¿ãã§ã¼ã¹ã®é¸æãã¯ã69 * インタフェースの選択マクロ 82 70 */ 83 71 84 #define T_IF_HDR T_PPP_HDR /* ã¤ã³ã¿ãã§ã¼ã¹ã®ããã*/85 #define T_IF_ADDR T_PPP_ADDR /* ã¤ã³ã¿ãã§ã¼ã¹ã®ã¢ãã¬ã¹*/86 #define IF_HDR_ALIGN 2 /* ãããã®ã¢ã©ã¤ã³åä½*/87 #define IF_MTU DEF_PPP_MTU /* ã¤ã³ã¿ãã§ã¼ã¹ã®MTU */72 #define T_IF_HDR T_PPP_HDR /* インタフェースのヘッダ */ 73 #define T_IF_ADDR T_PPP_ADDR /* インタフェースのアドレス */ 74 #define IF_HDR_ALIGN 2 /* ヘッダのアライン単位 */ 75 #define IF_MTU DEF_PPP_MTU /* インタフェースの MTU */ 88 76 89 #define IF_OUTPUT(o,d,g,t) ppp_output(o,t) /* ã¤ã³ã¿ãã§ã¼ã¹ã®åºåé¢æ°*/90 #define IF_RAW_OUTPUT(o,t) ppp_output(o,t) /* ã¤ã³ã¿ãã§ã¼ã¹ã®åºåé¢æ°ãã¢ãã¬ã¹è§£æ±ºç¡ã*/77 #define IF_OUTPUT(o,d,g,t) ppp_output(o,t) /* インタフェースの出力関数 */ 78 #define IF_RAW_OUTPUT(o,t) ppp_output(o,t) /* インタフェースの出力関数、アドレス解決無し*/ 91 79 #define IF_SET_PROTO(b,p) (*GET_PPP_HDR(b) = htons(p)) 92 /* ã¤ã³ã¿ãã§ã¼ã¹ã®ãããã³ã«è¨å®é¢æ°*/80 /* インタフェースのプロトコル設定関数 */ 93 81 #define IF_SOFTC_TO_IFADDR(s) ((T_IF_ADDR*)(s)->ifaddr.lladdr) 94 /* ã½ããã¦ã§ã¢æ 95 å ±ãã PPP ã¢ãã¬ã¹ãåãåºã */ 96 #define IF_GET_IFNET() ppp_get_ifnet() /* ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹æ§é ä½ãè¿ãã*/ 97 #define IF_SRAND() (0) /* ã¤ã³ã¿ã¼ãã§ã¼ã¹ã®ä¹±æ°åæå¤ */ 82 /* ソフトウェア情報から PPP アドレスを取り出す */ 83 #define IF_GET_IFNET() ppp_get_ifnet() /* ネットワークインタフェース構造体を返す。*/ 84 #define IF_SRAND() (0) /* インターフェースの乱数初期値 */ 98 85 99 /* IPv4 é¢ä¿*/86 /* IPv4 関係 */ 100 87 101 #define IF_PROTO_IP PPP_IP /* ã¤ã³ã¿ãã§ã¼ã¹ã® IPv4 ãããã³ã«æå®*/88 #define IF_PROTO_IP PPP_IP /* インタフェースの IPv4 プロトコル指定 */ 102 89 103 /* IPv6 é¢ä¿*/90 /* IPv6 関係 */ 104 91 105 #define MAX_IF_MADDR_CNT 0 /* ã¤ã³ã¿ãã§ã¼ã¹ã®ãã«ããã£ã¹ãã¢ãã¬ã¹é 106 åã®æ大ãµã¤ãº*/ 107 #define IF_PROTO_IPV6 PPP_IPV6 /* ã¤ã³ã¿ãã§ã¼ã¹ã® IPv6 ãããã³ã«æå® */ 108 #define IF_IN6_NEED_CACHE(i) (false) /* è¿é£æ¢ç´¢ãã£ãã·ã¥ã使ç¨ããã */ 109 #define IF_IN6_IFID(i,a) get_rand_ifid(i,a) /* ã¤ã³ã¿ãã§ã¼ã¹èå¥åã®è¨å® */ 110 #define IF_IN6_RESOLVE_MULTICAST(i,m) {} /* ã¤ã³ã¿ãã§ã¼ã¹ã®ãã«ããã£ã¹ãã¢ãã¬ã¹ã¸ã®å¤æ */ 92 #define MAX_IF_MADDR_CNT 0 /* インタフェースのマルチキャストアドレス配列の最大サイズ*/ 93 #define IF_PROTO_IPV6 PPP_IPV6 /* インタフェースの IPv6 プロトコル指定 */ 94 #define IF_IN6_NEED_CACHE(i) (false) /* 近隣探索キャッシュを使用する。 */ 95 #define IF_IN6_IFID(i,a) get_rand_ifid(i,a) /* インタフェース識別子の設定 */ 96 #define IF_IN6_RESOLVE_MULTICAST(i,m) {} /* インタフェースのマルチキャストアドレスへの変換 */ 111 97 112 98 /* 113 * MTU (MRU) ã«é¢ããå®ç¾©99 * MTU (MRU) に関する定義 114 100 */ 115 101 116 #define DEF_PPP_MTU 1500 /* PPP ã® æ¨æºMTU */117 #define MAX_PPP_MTU 16384 /* PPP ã® æ大MTU */118 #define MIN_PPP_MTU 128 /* PPP ã® æå°MTU */102 #define DEF_PPP_MTU 1500 /* PPP の 標準 MTU */ 103 #define MAX_PPP_MTU 16384 /* PPP の 最大 MTU */ 104 #define MIN_PPP_MTU 128 /* PPP の 最小 MTU */ 119 105 120 106 /* 121 * PPP ããã107 * PPP ヘッダ 122 108 */ 123 109 124 typedef uint16_t T_PPP_HDR; /* ä¸ä½ãããã³ã«*/110 typedef uint16_t T_PPP_HDR; /* 上位プロトコル */ 125 111 126 112 /* 127 * åæ¹åç 128 § 113 * 前方参照 129 114 */ 130 115 … … 154 139 155 140 /* 156 * ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã«ä¾åããªãã½ããã¦ã§ã¢æ 157 å ± 141 * ネットワークインタフェースに依存しないソフトウェア情報 158 142 */ 159 143 160 144 struct t_if_softc { 161 T_IF_ADDR ifaddr; /* ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã®ã¢ãã¬ã¹*/145 T_IF_ADDR ifaddr; /* ネットワークインタフェースのアドレス */ 162 146 }; 163 147 164 148 /* 165 * é¢æ°149 * 関数 166 150 */ 167 151 -
asp3_gr_sakura/trunk/tinet/net/if_types.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 80 68 81 69 /* 82 * ã¤ã³ã¿ãã§ã¼ã¹ã®åã®å®ç¾©70 * インタフェースの型の定義 83 71 */ 84 72 -
asp3_gr_sakura/trunk/tinet/net/if_var.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 85 73 86 74 /* 87 * SNMP 㮠管çæ 88 å ±ãã¼ã¹ (MIB) 75 * SNMP の 管理情報ベース (MIB) 89 76 */ 90 77 -
asp3_gr_sakura/trunk/tinet/net/net.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * å 48 ±é æ±ç¨ãããã¯ã¼ã¯ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã« 35 * 共通 汎用ネットワークコンフィギュレーションファイル 49 36 */ 50 37 51 38 /* 52 * ãããã¯ã¼ã¯ã¿ã¤ã39 * ネットワークタイマ 53 40 */ 54 41 … … 69 56 }); 70 57 71 /* ãããã¯ã¼ã¯ã¿ã¤ãã®å¼åºãã¨ã³ããªç¨ã»ããã©*/58 /* ネットワークタイマの呼出しエントリ用セマフォ */ 72 59 73 60 CRE_SEM(SEM_CALL_OUT_LOCK, { TA_TPRI, 1, 1 }); 74 61 CRE_SEM(SEM_CALL_OUT_TIMEOUT, { TA_TPRI, 0, NUM_NET_CALLOUT }); 75 62 76 /* ãµãã¼ãé¢æ° ip2strãipv62str ç¨ã»ããã©*/63 /* サポート関数 ip2str、ipv62str 用セマフォ */ 77 64 78 65 CRE_SEM(SEM_IP2STR_BUFF_LOCK, { TA_TPRI, 1, 1 }); -
asp3_gr_sakura/trunk/tinet/net/net.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 81 69 82 70 /* 83 * ãããã³ã«ãèå¥ãããã©ã°ã«é¢ããå®ç¾©71 * プロトコルを識別するフラグに関する定義 84 72 * 85 * ã»çµ±è¨æ 86 å ± 73 * ・統計情報 87 74 */ 88 75 … … 123 110 124 111 /* 125 * ã¢ãã¬ã¹å½¢å¼ã®å®ç¾©112 * アドレス形式の定義 126 113 */ 127 114 128 #define AT_ETHER UINT_C(0x01) /* ã¤ã¼ãµããã*/129 #define AT_INET4 UINT_C(0x10) /* IPv4 ã¢ãã¬ã¹*/130 #define AT_INET6 UINT_C(0x20) /* IPv6 ã¢ãã¬ã¹*/115 #define AT_ETHER UINT_C(0x01) /* イーサネット */ 116 #define AT_INET4 UINT_C(0x10) /* IPv4 アドレス */ 117 #define AT_INET6 UINT_C(0x20) /* IPv6 アドレス */ 131 118 132 119 #if !defined(TOPPERS_MACRO_ONLY) && !defined(_MACRO_ONLY) 133 120 134 121 /* 135 * TINET ç¬èªé¢æ°122 * TINET 独自関数 136 123 */ 137 124 -
asp3_gr_sakura/trunk/tinet/net/net_asp.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * ASP ç¨ æ±ç¨ãããã¯ã¼ã¯ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * ASP用 汎用ネットワークコンフィギュレーションファイル 48 36 */ 49 37 50 38 /* 51 * å 52 ±é æ±ç¨ãããã¯ã¼ã¯ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ã®ã¤ã³ã¯ã«ã¼ã 39 * 共通 汎用ネットワークコンフィギュレーションファイルのインクルード 53 40 */ 54 41 … … 56 43 57 44 /* 58 * ãããã¯ã¼ã¯ãããã¡45 * ネットワークバッファ 59 46 */ 60 47 -
asp3_gr_sakura/trunk/tinet/net/net_buf.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 81 69 82 70 /* 83 * é¢æ°71 * 関数 84 72 */ 85 73 … … 87 75 88 76 /* 89 * å¤æ°77 * 変数 90 78 */ 91 79 … … 275 263 276 264 /* 277 * nbuf_get_tbl -- ãããã¯ã¼ã¯ãããã¡ç®¡ç表ãç²å¾ããã265 * nbuf_get_tbl -- ネットワークバッファ管理表を獲得する。 278 266 * 279 * 注æ: ãããã¯ã¼ã¯çµ±è¨æ 280 å ±ã®è¨æ¸¬ç¨ 267 * 注意: ネットワーク統計情報の計測用 281 268 */ 282 269 … … 288 275 289 276 /* 290 * nbuf_get_tbl_size -- ãããã¯ã¼ã¯ãããã¡ç®¡çã¨ã³ããªæ°ãç²å¾ããã277 * nbuf_get_tbl_size -- ネットワークバッファ管理エントリ数を獲得する。 291 278 * 292 * 注æ: ãããã¯ã¼ã¯çµ±è¨æ 293 å ±ã®è¨æ¸¬ç¨ 279 * 注意: ネットワーク統計情報の計測用 294 280 */ 295 281 … … 303 289 304 290 /* 305 * tget_net_buf_up -- 大ããªãµã¤ãºã®æ¹åã«æ¢ç´¢ãã¦ããããã¯ã¼ã¯ãããã¡ãç²å¾ããã291 * tget_net_buf_up -- 大きなサイズの方向に探索して、ネットワークバッファを獲得する。 306 292 */ 307 293 … … 312 298 ER error = E_OK; 313 299 314 /* æé©ãªãµã¤ãºã®åºå®é·ã¡ã¢ãªãã¼ã«ãæ¢ãã*/300 /* 最適なサイズの固定長メモリプールを探す。*/ 315 301 ix = sizeof(net_buf_table) / sizeof(T_NET_BUF_ENTRY); 316 302 while (ix -- > 0 && minlen > net_buf_table[ix].size) … … 345 331 346 332 /* 347 * tget_net_buf_down -- å°ããªãµã¤ãºã®æ¹åã«æ¢ç´¢ãã¦ããããã¯ã¼ã¯ãããã¡ãç²å¾ããã333 * tget_net_buf_down -- 小さなサイズの方向に探索して、ネットワークバッファを獲得する。 348 334 */ 349 335 … … 354 340 ER error = E_OK; 355 341 356 /* æé©ãªãµã¤ãºã®åºå®é·ã¡ã¢ãªãã¼ã«ãæ¢ãã*/342 /* 最適なサイズの固定長メモリプールを探す。*/ 357 343 ix = sizeof(net_buf_table) / sizeof(T_NET_BUF_ENTRY); 358 344 while (ix -- > 0 && maxlen > net_buf_table[ix].size) … … 388 374 389 375 /* 390 * tget_net_buf_ex -- ãããã¯ã¼ã¯ãããã¡ãç²å¾ããï¼æ¡å¼µæ©è½ï¼ã376 * tget_net_buf_ex -- ネットワークバッファを獲得する(拡張機能)。 391 377 */ 392 378 … … 394 380 tget_net_buf_ex (T_NET_BUF **buf, uint_t minlen, uint_t maxlen, ATR nbatr, TMO tmout) 395 381 { 396 /* æå°ãµã¤ãºãæ大ãµã¤ãºãè¶ 397 ãã¦ãããã¨ã©ã¼ */ 382 /* 最小サイズが最大サイズを超えていたらエラー */ 398 383 if ((nbatr & NBA_SEARCH_DESCENT) != 0 && minlen > maxlen) { 399 384 syslog(LOG_WARNING, "[NET BUF] E_PAR, minlen=%4d > maxlen=%4d.", minlen, maxlen); … … 401 386 } 402 387 403 /* å²å½ã¦å¯è½ãªæ大ã®ãµã¤ãºãè¶ 404 ãã¦ãããã¨ã©ã¼ */ 388 /* 割当て可能な最大のサイズを超えていたらエラー */ 405 389 if (minlen > net_buf_table[0].size || maxlen > net_buf_table[0].size) { 406 390 syslog(LOG_WARNING, "[NET BUF] E_PAR, minlen=%4d or maxlen=%4d > %4d", … … 411 395 #if defined(SUPPORT_TCP) && defined(TCP_CFG_SWBUF_CSAVE) 412 396 413 /* TCP ã§äºç´ãããããã¯ã¼ã¯ãããã¡ãåãåºãã*/397 /* TCP で予約したネットワークバッファを取り出す。*/ 414 398 if ((nbatr & NBA_RESERVE_TCP) != 0) { 415 399 if ((*buf = TCP_PULL_RES_NBUF(nbatr)) != NULL) { … … 431 415 432 416 /* 433 * tget_net_buf -- ãããã¯ã¼ã¯ãããã¡ãç²å¾ããï¼äºæï¼ã417 * tget_net_buf -- ネットワークバッファを獲得する(互換)。 434 418 */ 435 419 … … 441 425 442 426 /* 443 * rel_net_buf -- ãããã¯ã¼ã¯ãããã¡ãè¿å´ããã427 * rel_net_buf -- ネットワークバッファを返却する。 444 428 */ 445 429 … … 449 433 ER error = E_OK; 450 434 451 /* ãããã¯ã¼ã¯ãããã¡ã® ID ã®æ£å½æ§ãæ¤è¨¼ããã*/435 /* ネットワークバッファの ID の正当性を検証する。*/ 452 436 if ((int_t)buf->idix >= (int_t)(sizeof(net_buf_table) / sizeof(T_NET_BUF_ENTRY))) { 453 437 syslog(LOG_WARNING, "[NET BUF] E_ID, ID=%d.", buf->idix); … … 458 442 #if defined(SUPPORT_TCP) && defined(TCP_CFG_SWBUF_CSAVE) 459 443 460 /* TCP ã§ããããã¯ã¼ã¯ãããã¡ãäºç´ããã*/444 /* TCP で、ネットワークバッファを予約する。*/ 461 445 if (TCP_PUSH_RES_NBUF(buf) == NULL) 462 446 return E_OK; … … 464 448 #endif /* of #if defined(SUPPORT_TCP) && defined(TCP_CFG_SWBUF_CSAVE) */ 465 449 466 /* åºå®ã¡ã¢ãªãã¼ã«ã«è¿ãã*/450 /* 固定メモリプールに返す。*/ 467 451 468 452 #if NET_COUNT_ENABLE & PROTO_FLG_NET_BUF … … 477 461 478 462 /* 479 * rus_net_buf -- ãããã¯ã¼ã¯ãããã¡ãåå©ç¨ããã463 * rus_net_buf -- ネットワークバッファを再利用する。 480 464 */ 481 465 … … 498 482 499 483 /* 500 * net_buf_siz -- ãããã¯ã¼ã¯ãããã¡ã®ãµã¤ãºãè¿ãã484 * net_buf_siz -- ネットワークバッファのサイズを返す。 501 485 */ 502 486 … … 513 497 514 498 /* 515 * net_buf_max_siz -- ãããã¯ã¼ã¯ãããã¡ã®æ大ãµã¤ãºãè¿ãã499 * net_buf_max_siz -- ネットワークバッファの最大サイズを返す。 516 500 */ 517 501 -
asp3_gr_sakura/trunk/tinet/net/net_buf.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 48 36 49 37 /* 50 * ãããã¯ã¼ã¯ãããã¡38 * ネットワークバッファ 51 39 * 52 * 4 ãªã¯ãããã§ã¢ã©ã¤ã³ããå¿ 53 è¦ã®ããããã»ããµãèæ 54 ®ãã¦ã 55 * IF ããããµã¤ãºã 4 ãªã¯ãããå¢çã§ãªãã®å ´åã 56 * IP ããã以éã 4 ãªã¯ãããå¢çã«èª¿æ´ããã 40 * 4 オクテットでアラインする必要のあるプロセッサを考慮して、 41 * IF ヘッダサイズが 4 オクテット境界でないの場合、 42 * IP ヘッダ以降を 4 オクテット境界に調整する。 57 43 */ 58 44 … … 62 48 63 49 /* 64 * ãã³ãã¬ã¼ã50 * テンプレート 65 51 */ 66 52 67 53 struct t_net_buf { 68 uint16_t len; /* ãã¼ã¿ã®é·ã*/69 uint8_t idix; /* mpfid ã®ã¤ã³ããã¯ã¹*/70 uint8_t flags; /* ãã©ã°*/71 #ifdef IF_ETHER_NIC_NET_BUF_ALIGN 72 uint8_t nalign[IF_ETHER_NIC_NET_BUF_ALIGN]; 73 #endif 74 #if CPU_NET_ALIGN == 4 && IF_HDR_ALIGN != 4 75 uint8_t halign[4 - IF_HDR_ALIGN]; 76 #endif 77 uint8_t buf[IF_MIN_LEN]; /* ãããã¡æ¬ä½*/54 uint16_t len; /* データの長さ */ 55 uint8_t idix; /* mpfid のインデックス */ 56 uint8_t flags; /* フラグ */ 57 #ifdef IF_ETHER_NIC_NET_BUF_ALIGN 58 uint8_t nalign[IF_ETHER_NIC_NET_BUF_ALIGN]; 59 #endif 60 #if CPU_NET_ALIGN == 4 && IF_HDR_ALIGN != 4 61 uint8_t halign[4 - IF_HDR_ALIGN]; 62 #endif 63 uint8_t buf[IF_MIN_LEN]; /* バッファ本体 */ 78 64 }; 79 65 … … 87 73 88 74 /* 89 * 64 ãªã¯ããã75 * 64 オクテット 90 76 */ 91 77 92 78 typedef struct t_net_buf_64 { 93 uint16_t len; /* ãã¼ã¿ã®é·ã*/94 uint8_t idix; /* mpfid ã®ã¤ã³ããã¯ã¹*/95 uint8_t flags; /* ãã©ã°*/96 #ifdef IF_ETHER_NIC_NET_BUF_ALIGN 97 uint8_t nalign[IF_ETHER_NIC_NET_BUF_ALIGN]; 98 #endif 99 #if CPU_NET_ALIGN == 4 && IF_HDR_ALIGN != 4 100 uint8_t halign[4 - IF_HDR_ALIGN]; 101 #endif 102 uint8_t buf[64]; /* ãããã¡æ¬ä½*/79 uint16_t len; /* データの長さ */ 80 uint8_t idix; /* mpfid のインデックス */ 81 uint8_t flags; /* フラグ */ 82 #ifdef IF_ETHER_NIC_NET_BUF_ALIGN 83 uint8_t nalign[IF_ETHER_NIC_NET_BUF_ALIGN]; 84 #endif 85 #if CPU_NET_ALIGN == 4 && IF_HDR_ALIGN != 4 86 uint8_t halign[4 - IF_HDR_ALIGN]; 87 #endif 88 uint8_t buf[64]; /* バッファ本体 */ 103 89 } T_NET_BUF_64; 104 90 105 91 /* 106 * 128 ãªã¯ããã92 * 128 オクテット 107 93 */ 108 94 109 95 typedef struct t_net_buf_128 { 110 uint16_t len; /* ãã¼ã¿ã®é·ã*/111 uint8_t idix; /* mpfid ã®ã¤ã³ããã¯ã¹*/112 uint8_t flags; /* ãã©ã°*/113 #ifdef IF_ETHER_NIC_NET_BUF_ALIGN 114 uint8_t nalign[IF_ETHER_NIC_NET_BUF_ALIGN]; 115 #endif 116 #if CPU_NET_ALIGN == 4 && IF_HDR_ALIGN != 4 117 uint8_t halign[4 - IF_HDR_ALIGN]; 118 #endif 119 uint8_t buf[128]; /* ãããã¡æ¬ä½*/96 uint16_t len; /* データの長さ */ 97 uint8_t idix; /* mpfid のインデックス */ 98 uint8_t flags; /* フラグ */ 99 #ifdef IF_ETHER_NIC_NET_BUF_ALIGN 100 uint8_t nalign[IF_ETHER_NIC_NET_BUF_ALIGN]; 101 #endif 102 #if CPU_NET_ALIGN == 4 && IF_HDR_ALIGN != 4 103 uint8_t halign[4 - IF_HDR_ALIGN]; 104 #endif 105 uint8_t buf[128]; /* バッファ本体 */ 120 106 } T_NET_BUF_128; 121 107 122 108 /* 123 * 256 ãªã¯ããã109 * 256 オクテット 124 110 */ 125 111 126 112 typedef struct t_net_buf_256 { 127 uint16_t len; /* ãã¼ã¿ã®é·ã*/128 uint8_t idix; /* mpfid ã®ã¤ã³ããã¯ã¹*/129 uint8_t flags; /* ãã©ã°*/130 #ifdef IF_ETHER_NIC_NET_BUF_ALIGN 131 uint8_t nalign[IF_ETHER_NIC_NET_BUF_ALIGN]; 132 #endif 133 #if CPU_NET_ALIGN == 4 && IF_HDR_ALIGN != 4 134 uint8_t halign[4 - IF_HDR_ALIGN]; 135 #endif 136 uint8_t buf[256]; /* ãããã¡æ¬ä½*/113 uint16_t len; /* データの長さ */ 114 uint8_t idix; /* mpfid のインデックス */ 115 uint8_t flags; /* フラグ */ 116 #ifdef IF_ETHER_NIC_NET_BUF_ALIGN 117 uint8_t nalign[IF_ETHER_NIC_NET_BUF_ALIGN]; 118 #endif 119 #if CPU_NET_ALIGN == 4 && IF_HDR_ALIGN != 4 120 uint8_t halign[4 - IF_HDR_ALIGN]; 121 #endif 122 uint8_t buf[256]; /* バッファ本体 */ 137 123 } T_NET_BUF_256; 138 124 139 125 /* 140 * 512 ãªã¯ããã126 * 512 オクテット 141 127 */ 142 128 143 129 typedef struct t_net_buf_512 { 144 uint16_t len; /* ãã¼ã¿ã®é·ã*/145 uint8_t idix; /* mpfid ã®ã¤ã³ããã¯ã¹*/146 uint8_t flags; /* ãã©ã°*/147 #ifdef IF_ETHER_NIC_NET_BUF_ALIGN 148 uint8_t nalign[IF_ETHER_NIC_NET_BUF_ALIGN]; 149 #endif 150 #if CPU_NET_ALIGN == 4 && IF_HDR_ALIGN != 4 151 uint8_t halign[4 - IF_HDR_ALIGN]; 152 #endif 153 uint8_t buf[512];/* ãããã¡æ¬ä½*/130 uint16_t len; /* データの長さ */ 131 uint8_t idix; /* mpfid のインデックス */ 132 uint8_t flags; /* フラグ */ 133 #ifdef IF_ETHER_NIC_NET_BUF_ALIGN 134 uint8_t nalign[IF_ETHER_NIC_NET_BUF_ALIGN]; 135 #endif 136 #if CPU_NET_ALIGN == 4 && IF_HDR_ALIGN != 4 137 uint8_t halign[4 - IF_HDR_ALIGN]; 138 #endif 139 uint8_t buf[512];/* バッファ本体 */ 154 140 } T_NET_BUF_512; 155 141 156 142 /* 157 * 1024 ãªã¯ããã143 * 1024 オクテット 158 144 */ 159 145 160 146 typedef struct t_net_buf_1024 { 161 uint16_t len; /* ãã¼ã¿ã®é·ã*/162 uint8_t idix; /* mpfid ã®ã¤ã³ããã¯ã¹*/163 uint8_t flags; /* ãã©ã°*/164 #ifdef IF_ETHER_NIC_NET_BUF_ALIGN 165 uint8_t nalign[IF_ETHER_NIC_NET_BUF_ALIGN]; 166 #endif 167 #if CPU_NET_ALIGN == 4 && IF_HDR_ALIGN != 4 168 uint8_t halign[4 - IF_HDR_ALIGN]; 169 #endif 170 uint8_t buf[1024]; /* ãããã¡æ¬ä½*/147 uint16_t len; /* データの長さ */ 148 uint8_t idix; /* mpfid のインデックス */ 149 uint8_t flags; /* フラグ */ 150 #ifdef IF_ETHER_NIC_NET_BUF_ALIGN 151 uint8_t nalign[IF_ETHER_NIC_NET_BUF_ALIGN]; 152 #endif 153 #if CPU_NET_ALIGN == 4 && IF_HDR_ALIGN != 4 154 uint8_t halign[4 - IF_HDR_ALIGN]; 155 #endif 156 uint8_t buf[1024]; /* バッファ本体 */ 171 157 } T_NET_BUF_1024; 172 158 173 159 /* 174 * ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã®æ大 PDU ãµã¤ãº160 * ネットワークインタフェースの最大 PDU サイズ 175 161 */ 176 162 … … 178 164 179 165 typedef struct t_net_buf_if_pdu { 180 uint16_t len; /* ãã¼ã¿ã®é·ã*/181 uint8_t idix; /* mpfid ã®ã¤ã³ããã¯ã¹*/182 uint8_t flags; /* ãã©ã°*/166 uint16_t len; /* データの長さ */ 167 uint8_t idix; /* mpfid のインデックス */ 168 uint8_t flags; /* フラグ */ 183 169 #ifdef IF_ETHER_NIC_NET_BUF_ALIGN 184 170 uint8_t nalign[IF_ETHER_NIC_NET_BUF_ALIGN]; … … 188 174 #endif 189 175 uint8_t buf[IF_PDU_SIZE]; 190 /* ãããã¡æ¬ä½*/176 /* バッファ本体 */ 191 177 #if defined(IF_PDU_HDR_PADDING) 192 178 uint8_t padding[IF_PDU_HDR_PADDING]; 193 #endif /* ãããã®ä½å*/179 #endif /* ヘッダの余分 */ 194 180 } T_NET_BUF_IF_PDU; 195 181 … … 197 183 198 184 /* 199 * ãããã¯ã¼ã¯ãããã¡è¡¨185 * ネットワークバッファ表 200 186 */ 201 187 … … 218 204 219 205 /* 220 * ãããã¯ã¼ã¯ãããã¡ã»ãã©ã°221 */ 222 223 /* 224 * ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹åºåå¾ã«ãããã¯ã¼ã¯ãããã¡ãéæ¾ããªãã225 * 注æ: åºåå¾ã«ãã®ãã©ã°ã¯ã¯ãªã¢ãããã206 * ネットワークバッファ・フラグ 207 */ 208 209 /* 210 * ネットワークインタフェース出力後にネットワークバッファを開放しない。 211 * 注意: 出力後にこのフラグはクリアされる。 226 212 */ 227 213 #define NB_FLG_NOREL_IFOUT UINT_C(0x80) 228 214 229 215 /* 230 * ESP ç¨ãã©ã°216 * ESP 用フラグ 231 217 */ 232 218 #define NB_FLG_DECRYPED UINT_C(0x40) 233 219 234 220 /* 235 * ãããã¯ã¼ã¯ãããã¡ç²å¾å±æ§236 */ 237 238 /* æ¢ç´¢å±æ§*/239 240 #define NBA_SEARCH_ASCENT UINT_C(0x1000) /* 大ããªãµã¤ãºã®æ¹åã«æ¢ç´¢ããã*/241 #define NBA_SEARCH_DESCENT UINT_C(0x2000) /* å°ããªãµã¤ãºã®æ¹åã«æ¢ç´¢ããã*/242 #define NBA_RESERVE_TCP UINT_C(0x4000) /* TCP ç¨ã«ãããã¯ã¼ã¯ãããã¡ãäºç´ããã*/243 #define NBA_ID_MASK UINT_C(0x0fff) /* éä¿¡ç«¯ç¹ ID ã渡ãå ´åã®ãã¹ã¯å¤*/244 245 /* 246 * é¢æ°ã·ãã¥ã¬ã¼ã·ã§ã³ãã¯ã221 * ネットワークバッファ獲得属性 222 */ 223 224 /* 探索属性 */ 225 226 #define NBA_SEARCH_ASCENT UINT_C(0x1000) /* 大きなサイズの方向に探索する。 */ 227 #define NBA_SEARCH_DESCENT UINT_C(0x2000) /* 小さなサイズの方向に探索する。 */ 228 #define NBA_RESERVE_TCP UINT_C(0x4000) /* TCP 用にネットワークバッファを予約する。*/ 229 #define NBA_ID_MASK UINT_C(0x0fff) /* 通信端点 ID を渡す場合のマスク値 */ 230 231 /* 232 * 関数シミュレーションマクロ 247 233 */ 248 234 … … 250 236 251 237 /* 252 * é¢æ°238 * 関数 253 239 */ 254 240 -
asp3_gr_sakura/trunk/tinet/net/net_count.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 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 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 111 99 112 100 /* 113 * ãããã¯ã¼ã¯çµ±è¨æ 114 å ±ã®è¨æ¸¬ 101 * ネットワーク統計情報の計測 115 102 */ 116 103 … … 137 124 138 125 /* 139 * è¨æ¸¬ç¨å¤æ°126 * 計測用変数 140 127 */ 141 128 … … 145 132 146 133 T_NET_COUNT net_count_ppp; 147 T_NET_COUNT_VAL net_count_ppp_no_bufs; /* net_buf å²ãå½ã¦å¤±ææ°*/134 T_NET_COUNT_VAL net_count_ppp_no_bufs; /* net_buf 割り当て失敗数 */ 148 135 149 136 #endif /* of #if NET_COUNT_ENABLE & PROTO_FLG_PPP */ -
asp3_gr_sakura/trunk/tinet/net/net_count.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 81 69 82 70 /* 83 * ãããã¯ã¼ã¯çµ±è¨æ 84 å ±ã®è¨æ¸¬ 71 * ネットワーク統計情報の計測 85 72 */ 86 73 … … 96 83 97 84 typedef struct t_net_count { 98 T_NET_COUNT_VAL in_octets; /* åä¿¡ãªã¯ãããæ°*/99 T_NET_COUNT_VAL out_octets; /* éä¿¡ãªã¯ãããæ°*/100 T_NET_COUNT_VAL in_packets; /* åä¿¡ãã±ããæ°*/101 T_NET_COUNT_VAL out_packets; /* éä¿¡ãã±ããæ°*/102 T_NET_COUNT_VAL in_err_packets; /* åä¿¡ã¨ã©ã¼ãã±ããæ°*/103 T_NET_COUNT_VAL out_err_packets; /* éä¿¡ã¨ã©ã¼ãã±ããæ°*/85 T_NET_COUNT_VAL in_octets; /* 受信オクテット数 */ 86 T_NET_COUNT_VAL out_octets; /* 送信オクテット数 */ 87 T_NET_COUNT_VAL in_packets; /* 受信バケット数 */ 88 T_NET_COUNT_VAL out_packets; /* 送信バケット数 */ 89 T_NET_COUNT_VAL in_err_packets; /* 受信エラーバケット数 */ 90 T_NET_COUNT_VAL out_err_packets; /* 送信エラーバケット数 */ 104 91 } T_NET_COUNT; 105 92 … … 119 106 120 107 extern T_NET_COUNT net_count_ppp; 121 extern T_NET_COUNT_VAL net_count_ppp_no_bufs; /* net_buf å²ãå½ã¦å¤±ææ°*/122 123 #endif /* of #ifndef _MACRO_ONLY */ 124 125 #define NC_PPP_SIZE 7 /* ã«ã¦ã³ã¿æ°*/108 extern T_NET_COUNT_VAL net_count_ppp_no_bufs; /* net_buf 割り当て失敗数 */ 109 110 #endif /* of #ifndef _MACRO_ONLY */ 111 112 #define NC_PPP_SIZE 7 /* カウンタ数 */ 126 113 127 114 #else /* of #if NET_COUNT_ENABLE & PROTO_FLG_PPP */ … … 248 235 #ifdef SUPPORT_LOOP 249 236 250 /* ã«ã¼ãããã¯*/237 /* ループバック */ 251 238 252 239 #if NET_COUNT_ENABLE & PROTO_FLG_LOOP … … 292 279 #if NET_COUNT_ENABLE & PROTO_FLG_ETHER_NIC 293 280 294 #define NC_ETHER_NIC_RESETS 0 /* ãªã»ããæ°*/295 #define NC_ETHER_NIC_TXB_QOVRS 1 /* éä¿¡ã»ããã©è³æºè¿å´ä¸éãªã¼ãã¼æ°*/296 #define NC_ETHER_NIC_TIMEOUTS 2 /* éä¿¡ã¿ã¤ã ã¢ã¦ãæ°*/297 #define NC_ETHER_NIC_COLS 3 /* ã³ãªã¸ã§ã³æ°*/298 #define NC_ETHER_NIC_OUT_ERR_PACKETS 4 /* éä¿¡ã¨ã©ã¼ãã±ããæ°*/299 #define NC_ETHER_NIC_OUT_PACKETS 5 /* éä¿¡ãã±ããæ°*/300 #define NC_ETHER_NIC_OUT_OCTETS 6 /* éä¿¡ãªã¯ãããæ°*/301 #define NC_ETHER_NIC_RXB_QOVRS 7 /* åä¿¡ã»ããã©è³æºè¿å´ä¸éãªã¼ãã¼æ°*/302 #define NC_ETHER_NIC_NO_BUFS 8 /* net_buf å²ãå½ã¦å¤±ææ°*/303 #define NC_ETHER_NIC_IN_ERR_PACKETS 9 /* åä¿¡ã¨ã©ã¼ãã±ããæ°*/304 #define NC_ETHER_NIC_IN_PACKETS 10 /* åä¿¡ãã±ããæ°*/305 #define NC_ETHER_NIC_IN_OCTETS 11 /* åä¿¡ãªã¯ãããæ°*/306 #define NC_ETHER_NIC_SIZE 12 /* ã«ã¦ã³ã¿æ°*/281 #define NC_ETHER_NIC_RESETS 0 /* リセット数 */ 282 #define NC_ETHER_NIC_TXB_QOVRS 1 /* 送信セマフォ資源返却上限オーバー数*/ 283 #define NC_ETHER_NIC_TIMEOUTS 2 /* 送信タイムアウト数 */ 284 #define NC_ETHER_NIC_COLS 3 /* コリジョン数 */ 285 #define NC_ETHER_NIC_OUT_ERR_PACKETS 4 /* 送信エラーバケット数 */ 286 #define NC_ETHER_NIC_OUT_PACKETS 5 /* 送信バケット数 */ 287 #define NC_ETHER_NIC_OUT_OCTETS 6 /* 送信オクテット数 */ 288 #define NC_ETHER_NIC_RXB_QOVRS 7 /* 受信セマフォ資源返却上限オーバー数*/ 289 #define NC_ETHER_NIC_NO_BUFS 8 /* net_buf 割り当て失敗数 */ 290 #define NC_ETHER_NIC_IN_ERR_PACKETS 9 /* 受信エラーバケット数 */ 291 #define NC_ETHER_NIC_IN_PACKETS 10 /* 受信バケット数 */ 292 #define NC_ETHER_NIC_IN_OCTETS 11 /* 受信オクテット数 */ 293 #define NC_ETHER_NIC_SIZE 12 /* カウンタ数 */ 307 294 308 295 #define NET_COUNT_ETHER_NIC(v,c) ((v)+=(c)) … … 322 309 #endif /* of #ifdef SUPPORT_ETHER */ 323 310 324 /* ãããã¯ã¼ã¯ãããã¡*/311 /* ネットワークバッファ */ 325 312 326 313 #if NET_COUNT_ENABLE & PROTO_FLG_NET_BUF … … 358 345 #if NET_COUNT_ENABLE & PROTO_FLG_IP4 359 346 360 #define NC_IP4_FRAG_OUT_FRAGS 0 /* åå²éä¿¡ããã©ã°ã¡ã³ãæ° */ 361 #define NC_IP4_FRAG_OUT 1 /* åå²éä¿¡æ° */ 362 #define NC_IP4_OUT_ERR_PACKETS 2 /* éä¿¡ã¨ã©ã¼ãã¼ã¿ã°ã©ã æ° */ 363 #define NC_IP4_OUT_PACKETS 3 /* éä¿¡ãã¼ã¿ã°ã©ã æ° */ 364 #define NC_IP4_OUT_OCTETS 4 /* éä¿¡ãªã¯ãããæ° */ 365 #define NC_IP4_FRAG_IN_TMOUT 5 /* åå²åä¿¡ã¿ã¤ã ã¢ã¦ãæ° */ 366 #define NC_IP4_FRAG_IN_NO_BUF 6 /* åå²åä¿¡ãããã¡ãå½ã¦å¤±ææ° */ 367 #define NC_IP4_FRAG_IN_DROP 7 /* åå²åä¿¡ç ´æ£æ° */ 368 #define NC_IP4_FRAG_IN_OK 8 /* åå²åä¿¡åæ§ææåæ° */ 369 #define NC_IP4_FRAG_IN_FRAGS 9 /* åå²åä¿¡ãã©ã°ã¡ã³ãæ° */ 370 #define NC_IP4_FRAG_IN 10 /* åå²åä¿¡æ° */ 371 #define NC_IP4_OPTS 11 /* ãªãã·ã§ã³å 372 ¥åæ° */ 373 #define NC_IP4_IN_ERR_PROTO 12 /* ãããã³ã«ã¨ã©ã¼æ° */ 374 #define NC_IP4_IN_ERR_ADDR 13 /* ã¢ãã¬ã¹ã¨ã©ã¼æ° */ 375 #define NC_IP4_IN_ERR_VER 14 /* ãã¼ã¸ã§ã³ã¨ã©ã¼æ° */ 376 #define NC_IP4_IN_ERR_SHORT 15 /* é·ãã¨ã©ã¼æ° */ 377 #define NC_IP4_IN_ERR_CKSUM 16 /* ãã§ãã¯ãµã ã¨ã©ã¼æ° */ 378 #define NC_IP4_IN_ERR_PACKETS 17 /* åä¿¡ã¨ã©ã¼ãã¼ã¿ã°ã©ã æ° */ 379 #define NC_IP4_IN_PACKETS 18 /* åä¿¡ãã¼ã¿ã°ã©ã æ° */ 380 #define NC_IP4_IN_OCTETS 19 /* åä¿¡ãªã¯ãããæ° */ 381 #define NC_IP4_SIZE 20 /* ã«ã¦ã³ã¿æ° */ 347 #define NC_IP4_FRAG_OUT_FRAGS 0 /* 分割送信、フラグメント数 */ 348 #define NC_IP4_FRAG_OUT 1 /* 分割送信数 */ 349 #define NC_IP4_OUT_ERR_PACKETS 2 /* 送信エラーデータグラム数 */ 350 #define NC_IP4_OUT_PACKETS 3 /* 送信データグラム数 */ 351 #define NC_IP4_OUT_OCTETS 4 /* 送信オクテット数 */ 352 #define NC_IP4_FRAG_IN_TMOUT 5 /* 分割受信タイムアウト数 */ 353 #define NC_IP4_FRAG_IN_NO_BUF 6 /* 分割受信バッファり当て失敗数 */ 354 #define NC_IP4_FRAG_IN_DROP 7 /* 分割受信破棄数 */ 355 #define NC_IP4_FRAG_IN_OK 8 /* 分割受信再構成成功数 */ 356 #define NC_IP4_FRAG_IN_FRAGS 9 /* 分割受信フラグメント数 */ 357 #define NC_IP4_FRAG_IN 10 /* 分割受信数 */ 358 #define NC_IP4_OPTS 11 /* オプション入力数 */ 359 #define NC_IP4_IN_ERR_PROTO 12 /* プロトコルエラー数 */ 360 #define NC_IP4_IN_ERR_ADDR 13 /* アドレスエラー数 */ 361 #define NC_IP4_IN_ERR_VER 14 /* バージョンエラー数 */ 362 #define NC_IP4_IN_ERR_SHORT 15 /* 長さエラー数 */ 363 #define NC_IP4_IN_ERR_CKSUM 16 /* チェックサムエラー数 */ 364 #define NC_IP4_IN_ERR_PACKETS 17 /* 受信エラーデータグラム数 */ 365 #define NC_IP4_IN_PACKETS 18 /* 受信データグラム数 */ 366 #define NC_IP4_IN_OCTETS 19 /* 受信オクテット数 */ 367 #define NC_IP4_SIZE 20 /* カウンタ数 */ 382 368 383 369 #define NET_COUNT_IP4(v,c) ((v)+=(c)) … … 421 407 #if NET_COUNT_ENABLE & PROTO_FLG_IP6 422 408 423 #define NC_IP6_FRAG_OUT_FRAGS 0 /* åå²éä¿¡ããã©ã°ã¡ã³ãæ°*/424 #define NC_IP6_FRAG_OUT 1 /* åå²éä¿¡æ°*/425 #define NC_IP6_OUT_ERR_PACKETS 2 /* éä¿¡ã¨ã©ã¼ãã¼ã¿ã°ã©ã æ°*/426 #define NC_IP6_OUT_PACKETS 3 /* éä¿¡ãã¼ã¿ã°ã©ã æ°*/427 #define NC_IP6_OUT_OCTETS 4 /* éä¿¡ãªã¯ãããæ°*/428 #define NC_IP6_FRAG_IN_TMOUT 5 /* åå²åä¿¡ã¿ã¤ã ã¢ã¦ãæ°*/429 #define NC_IP6_FRAG_IN_NO_BUF 6 /* åå²åä¿¡ãããã¡ãå½ã¦å¤±ææ°*/430 #define NC_IP6_FRAG_IN_DROP 7 /* åå²åä¿¡ç ´æ£æ°*/431 #define NC_IP6_FRAG_IN_OK 8 /* åå²åä¿¡åæ§ææåæ°*/432 #define NC_IP6_FRAG_IN_FRAGS 9 /* åå²åä¿¡ãã©ã°ã¡ã³ãæ°*/433 #define NC_IP6_FRAG_IN 10 /* åå²åä¿¡æ°*/434 #define NC_IP6_IN_ERR_PROTO 11 /* ãããã³ã«ã¨ã©ã¼æ°*/435 #define NC_IP6_IN_ERR_ADDR 12 /* ã¢ãã¬ã¹ã¨ã©ã¼æ°*/436 #define NC_IP6_IN_ERR_VER 13 /* ãã¼ã¸ã§ã³ã¨ã©ã¼æ°*/437 #define NC_IP6_IN_ERR_SHORT 14 /* é·ãã¨ã©ã¼æ°*/438 #define NC_IP6_IN_ERR_PACKETS 15 /* åä¿¡ã¨ã©ã¼ãã¼ã¿ã°ã©ã æ°*/439 #define NC_IP6_IN_PACKETS 16 /* åä¿¡ãã¼ã¿ã°ã©ã æ°*/440 #define NC_IP6_IN_OCTETS 17 /* åä¿¡ãªã¯ãããæ°*/441 #define NC_IP6_SIZE 18 /* ã«ã¦ã³ã¿æ°*/409 #define NC_IP6_FRAG_OUT_FRAGS 0 /* 分割送信、フラグメント数 */ 410 #define NC_IP6_FRAG_OUT 1 /* 分割送信数 */ 411 #define NC_IP6_OUT_ERR_PACKETS 2 /* 送信エラーデータグラム数 */ 412 #define NC_IP6_OUT_PACKETS 3 /* 送信データグラム数 */ 413 #define NC_IP6_OUT_OCTETS 4 /* 送信オクテット数 */ 414 #define NC_IP6_FRAG_IN_TMOUT 5 /* 分割受信タイムアウト数 */ 415 #define NC_IP6_FRAG_IN_NO_BUF 6 /* 分割受信バッファり当て失敗数 */ 416 #define NC_IP6_FRAG_IN_DROP 7 /* 分割受信破棄数 */ 417 #define NC_IP6_FRAG_IN_OK 8 /* 分割受信再構成成功数 */ 418 #define NC_IP6_FRAG_IN_FRAGS 9 /* 分割受信フラグメント数 */ 419 #define NC_IP6_FRAG_IN 10 /* 分割受信数 */ 420 #define NC_IP6_IN_ERR_PROTO 11 /* プロトコルエラー数 */ 421 #define NC_IP6_IN_ERR_ADDR 12 /* アドレスエラー数 */ 422 #define NC_IP6_IN_ERR_VER 13 /* バージョンエラー数 */ 423 #define NC_IP6_IN_ERR_SHORT 14 /* 長さエラー数 */ 424 #define NC_IP6_IN_ERR_PACKETS 15 /* 受信エラーデータグラム数 */ 425 #define NC_IP6_IN_PACKETS 16 /* 受信データグラム数 */ 426 #define NC_IP6_IN_OCTETS 17 /* 受信オクテット数 */ 427 #define NC_IP6_SIZE 18 /* カウンタ数 */ 442 428 443 429 #define NET_COUNT_IP6(v,c) ((v)+=(c)) … … 457 443 #if NET_COUNT_ENABLE & PROTO_FLG_ICMP6 458 444 459 #define NC_ICMP6_OUT_ERR_PACKETS 0 /* éä¿¡ã¨ã©ã¼ ICMP ãã¼ã¿æ°*/460 #define NC_ICMP6_OUT_PACKETS 1 /* éä¿¡ ICMP ãã¼ã¿æ°*/461 #define NC_ICMP6_OUT_OCTETS 2 /* éä¿¡ ICMP ãªã¯ãããæ°*/462 #define NC_ICMP6_IN_ERR_CKSUM 3 /* é·ãã¨ã©ã¼æ°*/463 #define NC_ICMP6_IN_ERR_PACKETS 4 /* åä¿¡ã¨ã©ã¼ ICMP ãã¼ã¿æ°*/464 #define NC_ICMP6_IN_PACKETS 5 /* åä¿¡ ICMP ãã¼ã¿æ°*/465 #define NC_ICMP6_IN_OCTETS 6 /* åä¿¡ ICMP ãªã¯ãããæ°*/466 #define NC_ICMP6_SIZE 7 /* ã«ã¦ã³ã¿æ°*/445 #define NC_ICMP6_OUT_ERR_PACKETS 0 /* 送信エラー ICMP データ数 */ 446 #define NC_ICMP6_OUT_PACKETS 1 /* 送信 ICMP データ数 */ 447 #define NC_ICMP6_OUT_OCTETS 2 /* 送信 ICMP オクテット数 */ 448 #define NC_ICMP6_IN_ERR_CKSUM 3 /* 長さエラー数 */ 449 #define NC_ICMP6_IN_ERR_PACKETS 4 /* 受信エラー ICMP データ数 */ 450 #define NC_ICMP6_IN_PACKETS 5 /* 受信 ICMP データ数 */ 451 #define NC_ICMP6_IN_OCTETS 6 /* 受信 ICMP オクテット数 */ 452 #define NC_ICMP6_SIZE 7 /* カウンタ数 */ 467 453 468 454 #define NET_COUNT_ICMP6(v,c) ((v)+=(c)) … … 482 468 #if NET_COUNT_ENABLE & PROTO_FLG_ND6 483 469 484 #define NC_ND6_DAD_OUT_PACKETS 0 /* éè¤ã¢ãã¬ã¹æ¤åºéä¿¡æ°*/485 #define NC_ND6_NS_OUT_PACKETS 1 /* è¿é£è¦è«éä¿¡æ°*/486 #define NC_ND6_NS_IN_PACKETS 2 /* è¿é£è¦è«åä¿¡æ°*/487 #define NC_ND6_NA_OUT_PACKETS 3 /* è¿é£éç¥éä¿¡æ°*/488 #define NC_ND6_NA_IN_PACKETS 4 /* è¿é£éç¥åä¿¡æ°*/489 #define NC_ND6_RS_OUT_PACKETS 5 /* ã«ã¼ã¿è¦è«åºåæ°*/490 #define NC_ND6_RA_IN_PACKETS 6 /* ã«ã¼ã¿éç¥åä¿¡æ°*/491 #define NC_ND6_SIZE 7 /* ã«ã¦ã³ã¿æ°*/470 #define NC_ND6_DAD_OUT_PACKETS 0 /* 重複アドレス検出送信数 */ 471 #define NC_ND6_NS_OUT_PACKETS 1 /* 近隣要請送信数 */ 472 #define NC_ND6_NS_IN_PACKETS 2 /* 近隣要請受信数 */ 473 #define NC_ND6_NA_OUT_PACKETS 3 /* 近隣通知送信数 */ 474 #define NC_ND6_NA_IN_PACKETS 4 /* 近隣通知受信数 */ 475 #define NC_ND6_RS_OUT_PACKETS 5 /* ルータ要請出力数 */ 476 #define NC_ND6_RA_IN_PACKETS 6 /* ルータ通知受信数 */ 477 #define NC_ND6_SIZE 7 /* カウンタ数 */ 492 478 493 479 #define NET_COUNT_ND6(v,c) ((v)+=(c)) … … 513 499 #if NET_COUNT_ENABLE & PROTO_FLG_TCP 514 500 515 #define NC_TCP_CONNECTS 0 /* è½åãªã¼ãã³æ°*/516 #define NC_TCP_ACCEPTS 1 /* ååãªã¼ãã³æ°*/517 #define NC_TCP_RTT_UPDATES 2 /* RTT æ´æ°æ°*/518 #define NC_TCP_SEND_RSTS 3 /* éä¿¡ãRST æ°*/519 #define NC_TCP_SEND_ACKS 4 /* éä¿¡ãACK æ°*/520 #define NC_TCP_SEND_URG_SEGS 5 /* éä¿¡ãç·æ¥ã»ã°ã¡ã³ãæ°*/521 #define NC_TCP_SEND_DATA_SEGS 6 /* éä¿¡ãã¼ã¿ã»ã°ã¡ã³ãæ°*/522 #define NC_TCP_SEND_REXMIT_SEGS 7 /* åéä¿¡ã»ã°ã¡ã³ãæ°*/523 #define NC_TCP_SEND_SEGS 8 /* éä¿¡ã»ã°ã¡ã³ãæ°*/524 #define NC_TCP_SEND_CNTL_SEGS 9 /* éä¿¡å¶å¾¡ã»ã°ã¡ã³ãæ°*/525 #define NC_TCP_SEND_DATA_OCTETS 10 /* éä¿¡ãã¼ã¿ãªã¯ãããæ°*/526 #define NC_TCP_FREE_RCV_QUEUE 11 /* åä¿¡ãã¥ã¼è§£æ¾æ°*/527 #define NC_TCP_RECV_DUP_SEGS 12 /* åä¿¡ãå¤éæ°*/528 #define NC_TCP_RECV_DROP_SEGS 13 /* åä¿¡ãç ´æ£æ°*/529 #define NC_TCP_RECV_RSTS 14 /* åä¿¡ãRST æ°*/530 #define NC_TCP_RECV_DUP_ACKS 15 /* åä¿¡ãå¤é ACK æ°*/531 #define NC_TCP_RECV_ACKS 16 /* åä¿¡ãACK æ°*/532 #define NC_TCP_RECV_BAD_CKSUMS 17 /* åä¿¡ããã§ãã¯ãµã ä¸æ£æ°*/533 #define NC_TCP_RECV_BAD_HEADERS 18 /* åä¿¡ããããä¸æ£æ°*/534 #define NC_TCP_RECV_URG_SEGS 19 /* åä¿¡ãç·æ¥ã»ã°ã¡ã³ãæ°*/535 #define NC_TCP_RECV_DATA_SEGS 20 /* åä¿¡ãã¼ã¿ã»ã°ã¡ã³ãæ°*/536 #define NC_TCP_RECV_SEGS 21 /* åä¿¡ã»ã°ã¡ã³ãæ°*/537 #define NC_TCP_RECV_DATA_OCTETS 22 /* åä¿¡ãã¼ã¿ãªã¯ãããæ°*/538 #define NC_TCP_RECV_OCTETS 23 /* åä¿¡ãªã¯ãããæ°*/539 #define NC_TCP_SIZE 24 /* ã«ã¦ã³ã¿æ°*/501 #define NC_TCP_CONNECTS 0 /* 能動オープン数 */ 502 #define NC_TCP_ACCEPTS 1 /* 受動オープン数 */ 503 #define NC_TCP_RTT_UPDATES 2 /* RTT 更新数 */ 504 #define NC_TCP_SEND_RSTS 3 /* 送信、RST 数 */ 505 #define NC_TCP_SEND_ACKS 4 /* 送信、ACK 数 */ 506 #define NC_TCP_SEND_URG_SEGS 5 /* 送信、緊急セグメント数 */ 507 #define NC_TCP_SEND_DATA_SEGS 6 /* 送信データセグメント数 */ 508 #define NC_TCP_SEND_REXMIT_SEGS 7 /* 再送信セグメント数 */ 509 #define NC_TCP_SEND_SEGS 8 /* 送信セグメント数 */ 510 #define NC_TCP_SEND_CNTL_SEGS 9 /* 送信制御セグメント数 */ 511 #define NC_TCP_SEND_DATA_OCTETS 10 /* 送信データオクテット数 */ 512 #define NC_TCP_FREE_RCV_QUEUE 11 /* 受信キュー解放数 */ 513 #define NC_TCP_RECV_DUP_SEGS 12 /* 受信、多重数 */ 514 #define NC_TCP_RECV_DROP_SEGS 13 /* 受信、破棄数 */ 515 #define NC_TCP_RECV_RSTS 14 /* 受信、RST 数 */ 516 #define NC_TCP_RECV_DUP_ACKS 15 /* 受信、多重 ACK 数 */ 517 #define NC_TCP_RECV_ACKS 16 /* 受信、ACK 数 */ 518 #define NC_TCP_RECV_BAD_CKSUMS 17 /* 受信、チェックサム不正数 */ 519 #define NC_TCP_RECV_BAD_HEADERS 18 /* 受信、ヘッダ不正数 */ 520 #define NC_TCP_RECV_URG_SEGS 19 /* 受信、緊急セグメント数 */ 521 #define NC_TCP_RECV_DATA_SEGS 20 /* 受信データセグメント数 */ 522 #define NC_TCP_RECV_SEGS 21 /* 受信セグメント数 */ 523 #define NC_TCP_RECV_DATA_OCTETS 22 /* 受信データオクテット数 */ 524 #define NC_TCP_RECV_OCTETS 23 /* 受信オクテット数 */ 525 #define NC_TCP_SIZE 24 /* カウンタ数 */ 540 526 541 527 #define NET_COUNT_TCP(v,c) ((v)+=(c)) … … 580 566 581 567 /* 582 * SNMP 㮠管çæ 583 å ±ãã¼ã¹ (MIB) 568 * SNMP の 管理情報ベース (MIB) 584 569 */ 585 570 -
asp3_gr_sakura/trunk/tinet/net/net_endian.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 81 69 82 70 /* 83 * ãã¤ããªã¼ãã®å®ç¾©71 * バイトオーダの定義 84 72 */ 85 73 … … 124 112 125 113 /* 126 * ãã¤ããªã¼ãå¤æã®å®ç¾©114 * バイトオーダ変換の定義 127 115 */ 128 116 … … 140 128 141 129 /* 142 * 注æ: IPããã以éã¯ã4 ãã¤ãå¢çã«ã¢ã©ã¤ã³ããã¦ããäºã143 * åæã¨ãã¦ãããã4 ãã¤ãå¢çã§ã¢ã¯ã»ã¹ãã144 * ããã»ããµã§ããããã¯ã¼ã¯å´ã®ãã¼ã¿ãã4 ãã¤ãå¢çã«ã¢ã©ã¤ã³145 * ããã¦ããªãå ´åã¯ãntoahlãahtonlãnahcmpl ã使ç¨ãããã¨ã130 * 注意: IPヘッダ以降は、4 バイト境界にアラインされている事を 131 * 前提としているが、4 バイト境界でアクセスする 132 * プロセッサで、ネットワーク側のデータが、4 バイト境界にアライン 133 * されていない場合は、ntoahl、ahtonl、nahcmpl を使用すること。 146 134 */ 147 135 … … 179 167 180 168 /* 181 * 注æ: IPããã以éã¯ã4 ãã¤ãå¢çã«ã¢ã©ã¤ã³ããã¦ããäºã182 * åæã¨ãã¦ãããã4 ãã¤ãå¢çã§ã¢ã¯ã»ã¹ãã183 * ããã»ããµã§ããããã¯ã¼ã¯å´ã®ãã¼ã¿ãã4 ãã¤ãå¢çã«ã¢ã©ã¤ã³184 * ããã¦ããªãå ´åã¯ãntoahlãahtonlãnahcmpl ã使ç¨ãããã¨ã169 * 注意: IPヘッダ以降は、4 バイト境界にアラインされている事を 170 * 前提としているが、4 バイト境界でアクセスする 171 * プロセッサで、ネットワーク側のデータが、4 バイト境界にアライン 172 * されていない場合は、ntoahl、ahtonl、nahcmpl を使用すること。 185 173 */ 186 174 -
asp3_gr_sakura/trunk/tinet/net/net_jsp.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * JSP ç¨ æ±ç¨ãããã¯ã¼ã¯ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * JSP用 汎用ネットワークコンフィギュレーションファイル 48 36 */ 49 37 50 38 51 39 /* 52 * å 53 ±é æ±ç¨ãããã¯ã¼ã¯ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ã®ã¤ã³ã¯ã«ã¼ã 40 * 共通 汎用ネットワークコンフィギュレーションファイルのインクルード 54 41 */ 55 42 … … 57 44 58 45 /* 59 * ãããã¯ã¼ã¯ãããã¡46 * ネットワークバッファ 60 47 */ 61 48 -
asp3_gr_sakura/trunk/tinet/net/net_rename.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 48 36 49 37 /* 50 * æ±ç¨ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹å 51 é¨åã®ãªãã¼ã 38 * 汎用ネットワークインタフェース内部名のリネーム 52 39 */ 53 40 -
asp3_gr_sakura/trunk/tinet/net/net_subr.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 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 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 78 66 79 67 /* 80 * ãããã¯ã¼ã¯æ±ç¨ãµãã¼ãã«ã¼ãã³68 * ネットワーク汎用サポートルーチン 81 69 */ 82 70 … … 108 96 109 97 /* 110 * å¤æ°98 * 変数 111 99 */ 112 100 … … 114 102 115 103 /* 116 * net_rand -- ä¹±æ°ãè¿ãã104 * net_rand -- 乱数を返す。 117 105 */ 118 106 … … 125 113 126 114 /* 127 * srand -- ä¹±æ°ãåæåããã115 * srand -- 乱数を初期化する。 128 116 */ 129 117 … … 138 126 139 127 /* 140 * convert_hexdigit -- 16 é²æ°âæååå¤æ128 * convert_hexdigit -- 16進数→文字列変換 141 129 */ 142 130 … … 166 154 167 155 /* 168 * mac2str -- MAC ã¢ãã¬ã¹ãæååã«å¤æããã156 * mac2str -- MAC アドレスを文字列に変換する。 169 157 */ 170 158 … … 206 194 207 195 /* 208 * rev_memcpy_hword -- å転ã¡ã¢ãªã³ãã¼ï¼2 ãã¤ãï¼209 * 210 * ãã¤ãåä½ã«ã¢ã¯ã»ã¹ããäºã«ããã211 * å¢çã¸ã®ã¢ã©ã¤ã³ã®åé¡ã解決ããã196 * rev_memcpy_hword -- 反転メモリコピー(2 バイト) 197 * 198 * バイト単位にアクセスする事により、 199 * 境界へのアラインの問題を解決する。 212 200 */ 213 201 … … 220 208 221 209 /* 222 * rev_memcpy_word -- å転ã¡ã¢ãªã³ãã¼ï¼4 ãã¤ãï¼223 * 224 * ãã¤ãåä½ã«ã¢ã¯ã»ã¹ããäºã«ããã225 * å¢çã¸ã®ã¢ã©ã¤ã³ã®åé¡ã解決ããã210 * rev_memcpy_word -- 反転メモリコピー(4 バイト) 211 * 212 * バイト単位にアクセスする事により、 213 * 境界へのアラインの問題を解決する。 226 214 */ 227 215 … … 236 224 237 225 /* 238 * rev_memcmp_word -- å転ã¡ã¢ãªæ¯è¼ï¼4 ãã¤ãï¼239 * 240 * ãã¤ãåä½ã«ã¢ã¯ã»ã¹ããäºã«ããã241 * å¢çã¸ã®ã¢ã©ã¤ã³ã®åé¡ã解決ããã226 * rev_memcmp_word -- 反転メモリ比較(4 バイト) 227 * 228 * バイト単位にアクセスする事により、 229 * 境界へのアラインの問題を解決する。 242 230 */ 243 231 -
asp3_gr_sakura/trunk/tinet/net/net_timer.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 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 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 112 100 113 101 /* 114 * å¤æ°102 * 変数 115 103 */ 116 104 … … 118 106 119 107 /* 120 * å¼åºãã¨ã³ããªç»é²108 * 呼出しエントリ登録 121 109 */ 122 110 … … 126 114 int_t ix; 127 115 128 /* å¼åºãã¨ã³ããªãç²å¾ãã*/116 /* 呼出しエントリを獲得する */ 129 117 syscall(wai_sem(SEM_CALL_OUT_LOCK)); 130 118 for (ix = NUM_NET_CALLOUT; callout[-- ix].func != NULL; ) … … 135 123 } 136 124 137 /* å¼åºãã¨ã³ããªãè¨å®ãã*/125 /* 呼出しエントリを設定する */ 138 126 callout[ix].func = func; 139 127 callout[ix].arg = arg; … … 143 131 144 132 /* 145 * å¼åºãã¨ã³ããªåé¤133 * 呼出しエントリ削除 146 134 */ 147 135 … … 151 139 int_t ix; 152 140 153 /* ã¨ã³ããªãæ¢ã*/141 /* エントリを探す */ 154 142 for (ix = NUM_NET_CALLOUT; ix -- > 0; ) { 155 143 syscall(wai_sem(SEM_CALL_OUT_LOCK)); … … 164 152 165 153 /* 166 * ãããã¯ã¼ã¯ã¿ã¤ãã¿ã¹ã¯ 167 * 168 * 注æ: ã¿ã¹ã¯ã³ã³ããã¹ãã§å®è¡ããå¿ 169 è¦ãããããï¼ 170 * å¨æãã³ãã©ã¯ä½¿ç¨ã§ããªãã 154 * ネットワークタイマタスク 155 * 156 * 注意: タスクコンテキストで実行する必要があるため, 157 * 周期ハンドラは使用できない。 171 158 */ 172 159 … … 192 179 syslog(LOG_NOTICE, "[NET/TIMER:%d] started.", tskid); 193 180 194 /* IP ãåæåããã*/181 /* IP を初期化する。*/ 195 182 196 183 #if defined(_IP6_CFG) … … 204 191 #ifdef SUPPORT_TCP 205 192 206 /* TCP åºåã¿ã¹ã¯ãèµ·åãã*/193 /* TCP 出力タスクを起動する */ 207 194 syscall(act_tsk(TCP_OUTPUT_TASK)); 208 195 … … 211 198 #if defined(SUPPORT_UDP) && defined(UDP_CFG_NON_BLOCKING) 212 199 213 /* UDP åºåã¿ã¹ã¯ãèµ·åãã*/200 /* UDP 出力タスクを起動する */ 214 201 syscall(act_tsk(UDP_OUTPUT_TASK)); 215 202 … … 217 204 218 205 while (true) { 219 /* ã¿ã¤ã ã¢ã¦ãããã¨ã³ããªãå¼åºãã*/206 /* タイムアウトしたエントリを呼出す。*/ 220 207 syscall(wai_sem(SEM_CALL_OUT_TIMEOUT)); 221 208 for (ix = NUM_NET_CALLOUT; ix -- > 0; ) { … … 235 222 236 223 /* 237 * ãããã¯ã¼ã¯ã¿ã¤ããã³ãã©238 * 239 * NET_TIMER_CYCLE (100ms) æ¯ã«å¼åºãããã224 * ネットワークタイマハンドラ 225 * 226 * NET_TIMER_CYCLE (100ms) 毎に呼出される。 240 227 */ 241 228 -
asp3_gr_sakura/trunk/tinet/net/net_timer.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 80 68 #define _NET_TIMER_H_ 81 69 82 #include <tinet_kernel_defs.h> /* ã«ã¼ãã«ã«é¢ããäºææ§å®ç¾©ãã¡ã¤ã«ãã¤ã³ã¯ã«ã¼ãããã*/70 #include <tinet_kernel_defs.h> /* カーネルに関する互換性定義ファイルをインクルードする。*/ 83 71 84 72 /* 85 * TOPPERS/JSP ã«ã¼ãã«ãã·ã¹ãã æå» (SYSTIM) ã®å¨æ³¢æ°73 * TOPPERS/JSP カーネル、システム時刻 (SYSTIM) の周波数 86 74 */ 87 75 … … 89 77 90 78 /* 91 * ãããã¯ã¼ã¯ã¿ã¤ãã®å®ç¾©79 * ネットワークタイマの定義 92 80 */ 93 81 94 #define NET_TIMER_CYCLE ULONG_C(100000) /* [us] ãfast timeout 使ç¨æã®åä½å¨æ*/95 /* ã¿ã¤ãã®å¨æ³¢æ°*/82 #define NET_TIMER_CYCLE ULONG_C(100000) /* [us]、fast timeout 使用時の動作周期 */ 83 /* タイマの周波数 */ 96 84 #define NET_TIMER_HZ (SYSTIM_HZ/NET_TIMER_CYCLE) 97 85 98 86 #ifdef _IP6_CFG 99 #define NUM_NET_CALLOUT 12 /* ã¿ã¤ã ã¢ã¦ãå¼åºãæ°ã10 以ä¸*/87 #define NUM_NET_CALLOUT 12 /* タイムアウト呼出し数、10 以上 */ 100 88 #else 101 #define NUM_NET_CALLOUT 10 /* ã¿ã¤ã ã¢ã¦ãå¼åºãæ°ã10 以ä¸*/89 #define NUM_NET_CALLOUT 10 /* タイムアウト呼出し数、10 以上 */ 102 90 #endif 103 91 104 92 /* 105 * ã¿ã¤ã ã¢ã¦ãå¼åºãã¨ã³ããª93 * タイムアウト呼出しエントリ 106 94 */ 107 95 … … 109 97 110 98 typedef struct t_net_callout { 111 callout_func func; /* å¼åºãé¢æ°*/112 void *arg; /* é¢æ°ã¸ã®å¼æ°*/113 RELTIM timeout; /* ã¿ã¤ã ã¢ã¦ã*/99 callout_func func; /* 呼出す関数 */ 100 void *arg; /* 関数への引数 */ 101 RELTIM timeout; /* タイムアウト */ 114 102 } T_NET_CALLOUT; 115 103 116 104 /* 117 * é¢æ°105 * 関数 118 106 */ 119 107 … … 122 110 123 111 /* 124 * ãããã¯ã¼ã¯ã¿ã¤ãã¿ã¹ã¯ã¨å¨æãã³ãã©112 * ネットワークタイマタスクと周期ハンドラ 125 113 */ 126 114 -
asp3_gr_sakura/trunk/tinet/net/net_var.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 81 69 82 70 /* 83 * é¢æ°71 * 関数 84 72 */ 85 73 … … 87 75 88 76 /* 89 * é¢æ°77 * 関数 90 78 */ 91 79 -
asp3_gr_sakura/trunk/tinet/net/ppp.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 80 68 81 69 /* 82 * PPP å¦çã¿ã¹ã¯ã®æ¬ä½70 * PPP 処理タスクの本体 83 71 */ 84 72 … … 112 100 113 101 /* 114 * å 115 ¨åå¤æ° 116 */ 117 118 uint8_t ppp_phase = PPP_PHASE_INITIALIZE; /* ãªã³ã¯ã®ç¶æ 119 */ 120 121 /* 122 * ãããã³ã«è¡¨ 102 * 全域変数 103 */ 104 105 uint8_t ppp_phase = PPP_PHASE_INITIALIZE; /* リンクの状態 */ 106 107 /* 108 * プロトコル表 123 109 */ 124 110 … … 150 136 151 137 /* 152 * å¤æ°138 * 変数 153 139 */ 154 140 … … 160 146 161 147 /* 162 * é¢æ°148 * 関数 163 149 */ 164 150 … … 172 158 173 159 /* 174 * PPP å 175 ¥åã®è§£æ 160 * PPP 入力の解析 176 161 */ 177 162 … … 186 171 NET_COUNT_PPP(net_count_ppp.in_packets, 1); 187 172 188 /* ãã¬ã¼ã é·ããã§ãã¯ãã*/189 if (input->len < sizeof(T_PPP_HDR)) { /* FreeBSD ã§ã¯ PPP_HDRLEN ã¯4 */173 /* フレーム長をチェックする */ 174 if (input->len < sizeof(T_PPP_HDR)) { /* FreeBSD では PPP_HDRLEN は 4 */ 190 175 syslog(LOG_NOTICE, "[PPP] recv short frame."); 191 176 goto buf_rel; … … 194 179 proto = ntohs(*GET_PPP_HDR(input)); 195 180 196 /* ãããã³ã«ã LCP 以å¤ã§ãLCP ããªã¼ãã³ããã¦ããªããã°ã¨ã©ã¼*/181 /* プロトコルが LCP 以外で、LCP がオープンされていなければエラー */ 197 182 if (proto != PPP_LCP && lcp_fsm.state != PPP_FSM_OPENED) { 198 183 syslog(LOG_NOTICE, "[PPP] LCP not open."); … … 200 185 } 201 186 202 /* ãªã³ã¯ãèªè¨¼ç¶æ 203 以åã¯ãLCPãLQRãPAPãCHAP ã®ã¿åãä»ãã */ 187 /* リンクが認証状態以前は、LCP、LQR、PAP、CHAP のみ受け付ける */ 204 188 if (ppp_phase <= PPP_PHASE_AUTHENTICATE && 205 189 !(proto == PPP_LCP || proto == PPP_LQR || … … 209 193 } 210 194 211 /* ä¸ä½ãããã³ã«ã®å 212 ¥åé¢æ°ãå¼åºã */ 195 /* 上位プロトコルの入力関数を呼出す */ 213 196 for (ix = 0; (entry = protocols[ix]) != NULL; ix ++) { 214 197 if (entry->proto == proto && entry->input != NULL) { … … 232 215 233 216 /* 234 * ppp_output -- PPP ã¤ã³ã¿ãã§ã¼ã¹ã®åºåé¢æ°217 * ppp_output -- PPP インタフェースの出力関数 235 218 */ 236 219 … … 242 225 #ifdef PPP_CFG_MODEM 243 226 244 #if 0 /* ä¿ç */ 245 /* ã¢ãã ã®æ¥ç¶å®äºã¾ã§å¾ 246 ã¤ã*/ 227 #if 0 /* 保留 */ 228 /* モデムの接続完了まで待つ。*/ 247 229 if ((error = wait_modem()) != E_OK) 248 230 goto buf_ret; … … 252 234 253 235 #ifdef _IP6_CFG 254 /* IPV6CP ã®æ¥ç¶å®äºã¾ã§å¾ 255 ã¤ã*/ 236 /* IPV6CP の接続完了まで待つ。*/ 256 237 if ((error = wait_ipv6cp()) != E_OK) 257 238 goto buf_ret; … … 259 240 260 241 #ifdef _IP4_CFG 261 /* IPCP ã®æ¥ç¶å®äºã¾ã§å¾ 262 ã¤ã*/ 242 /* IPCP の接続完了まで待つ。*/ 263 243 if ((error = wait_ipcp()) != E_OK) 264 244 goto buf_ret; … … 266 246 267 247 #ifdef _IP4_CFG 268 /* IPCP ã®æ¥ç¶å®äºã¾ã§å¾ 269 ã¤ã*/ 248 /* IPCP の接続完了まで待つ。*/ 270 249 if ((error = wait_ipcp()) != E_OK) 271 250 goto buf_ret; … … 281 260 #endif /* of #ifdef PPP_IDLE_TIMEOUT */ 282 261 283 /* PPP åºåãã¥ã¼ã«æå 284 ¥ããã*/ 262 /* PPP 出力キューに投入する。*/ 285 263 if ((error = tsnd_dtq(DTQ_PPP_OUTPUT, output, tmout)) != E_OK) 286 264 goto buf_ret; … … 304 282 305 283 /* 306 * ppp_cp_output -- CP ãã¬ã¼ã ã®éä¿¡284 * ppp_cp_output -- CP フレームの送信 307 285 */ 308 286 … … 312 290 T_PPP_CP_HDR *cph; 313 291 314 /* CP ããããè¨å®ãã*/292 /* CP ヘッダを設定する */ 315 293 cph = GET_PPP_CP_HDR(output); 316 294 cph->code = code; … … 318 296 cph->len = htons(output->len - sizeof(T_PPP_HDR)); 319 297 320 /* PPP åºåãã¥ã¼ã«æå 321 ¥ããã*/ 298 /* PPP 出力キューに投入する。*/ 322 299 if (snd_dtq(DTQ_PPP_OUTPUT, output) != E_OK) { 323 300 syscall(rel_net_buf(output)); … … 327 304 328 305 /* 329 * PPP å 330 ¥åã¿ã¹ã¯ 306 * PPP 入力タスク 331 307 */ 332 308 … … 340 316 uint8_t rcount = 0; 341 317 342 /* ãã¼ããåæè¨å®ãã*/318 /* ポートを初期設定する */ 343 319 syscall(serial_opn_por(HDLC_PORTID)); 344 320 syscall(serial_ctl_por(HDLC_PORTID, IOCTL_FCSND | IOCTL_FCRCV)); … … 357 333 #endif /* of #ifdef PPP_CFG_MODEM */ 358 334 359 /* ãããã¯ã¼ã¯ã¿ã¤ãã¿ã¹ã¯ãèµ·åãã*/335 /* ネットワークタイマタスクを起動する */ 360 336 syscall(act_tsk(NET_TIMER_TASK)); 361 337 362 /* ä¸ä½ãããã³ã«ãåæåãã*/338 /* 上位プロトコルを初期化する */ 363 339 for (ix = 0; (proto = protocols[ix]) != NULL; ix ++) 364 340 if (proto->init != NULL) … … 368 344 lcp_open(PPP_OPEN_PASSIVE); 369 345 370 /* PPP åºåã¿ã¹ã¯ãèµ·åãã*/346 /* PPP 出力タスクを起動する */ 371 347 syscall(act_tsk(PPP_OUTPUT_TASK)); 372 348 373 /* ä¹±æ°çæãåæåããã*/349 /* 乱数生成を初期化する。*/ 374 350 net_srand(0); 375 351 … … 380 356 if (input->len > 0) { 381 357 382 /* ä¹±æ°çæãåæåããã*/358 /* 乱数生成を初期化する。*/ 383 359 if (rcount == 0) 384 360 net_srand(input->len); … … 422 398 423 399 /* 424 * PPP åºåã¿ã¹ã¯400 * PPP 出力タスク 425 401 */ 426 402 … … 447 423 448 424 /* 449 * ã¢ã¤ãã«ã¿ã¤ã ã¢ã¦ãå¦ç425 * アイドルタイムアウト処理 450 426 */ 451 427 -
asp3_gr_sakura/trunk/tinet/net/ppp.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * PPP ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * PPP コンフィギュレーションファイル 48 36 */ 49 37 -
asp3_gr_sakura/trunk/tinet/net/ppp.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 83 71 84 72 /* 85 * PPP ãããã®ãããã³ã«ãã£ã¼ã«ãã®å¤73 * PPP ヘッダのプロトコルフィールドの値 86 74 */ 87 75 … … 101 89 102 90 /* 103 * ãªã³ã¯ã®ç¶æ 104 91 * リンクの状態 105 92 */ 106 93 … … 116 103 117 104 /* 118 * PPP ãªã³ã¯å¶å¾¡ (CP) ãããæ§é ä½105 * PPP リンク制御 (CP) ヘッダ構造体 119 106 */ 120 107 121 108 typedef struct t_ppp_cp_hdr { 122 uint8_t code; /* å¶å¾¡ã³ã¼ã*/123 uint8_t id; /* èå¥å*/124 uint16_t len; /* é·ã*/109 uint8_t code; /* 制御コード */ 110 uint8_t id; /* 識別子 */ 111 uint16_t len; /* 長さ */ 125 112 } T_PPP_CP_HDR; 126 113 … … 128 115 129 116 /* 130 * PPP ãªã³ã¯å¶å¾¡ (CP) ã®å¶å¾¡ã³ã¼ã117 * PPP リンク制御 (CP) の制御コード 131 118 */ 132 119 … … 141 128 142 129 /* 143 * æ§ææ 144 å ± (CI) ããã 130 * 構成情報 (CI) ヘッダ 145 131 */ 146 132 147 133 typedef struct t_ppp_ci_hdr { 148 uint8_t type; /* CI ã®å*/149 uint8_t len; /* é·ã*/134 uint8_t type; /* CI の型 */ 135 uint8_t len; /* 長さ */ 150 136 } T_PPP_CI_HDR; 151 137 -
asp3_gr_sakura/trunk/tinet/net/ppp_auth.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 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 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 124 112 125 113 /* 126 * å®æ°114 * 定数 127 115 */ 128 116 … … 133 121 134 122 /* 135 * network_phase -- ã³ãã¯ã·ã§ã³ç¢ºç«123 * network_phase -- コネクション確立 136 124 */ 137 125 … … 144 132 ppp_phase = PPP_PHASE_NETWORK; 145 133 146 /* ä¸ä½ãããã³ã«ããªã¼ãã³ãã*/134 /* 上位プロトコルをオープンする */ 147 135 num = 0; 148 136 for (ix = 0; (proto = protocols[ix]) != NULL; ix ++) 149 #if 0 /* ä¿çãåé¤ç¦æ¢*/137 #if 0 /* 保留、削除禁止 */ 150 138 if (proto->proto < 0xc000 && proto->open != NULL) { 151 139 #else /* of #if 0 */ … … 158 146 159 147 if (num == 0) 160 /* ä¸ä½ãããã³ã«ããªã*/148 /* 上位プロトコルがない */ 161 149 lcp_close(); 162 150 else … … 165 153 166 154 /* 167 * link_required -- ãªã³ã¯ãéè¨ããã155 * link_required -- リンクを開設する。 168 156 */ 169 157 … … 174 162 175 163 /* 176 * link_terminated -- ãã°ã¢ã¦ããã¦ããªã³ã¯ãåæããã164 * link_terminated -- ログアウトして、リンクを切断する。 177 165 */ 178 166 … … 186 174 187 175 /* 188 * link_down -- ãªã³ã¯ã解æ¾ããã176 * link_down -- リンクを解放する。 189 177 */ 190 178 … … 195 183 T_PPP_PROTENT *proto; 196 184 197 /* ä¸ä½ãããã³ã«ã解æ¾ãã*/185 /* 上位プロトコルを解放する */ 198 186 for (ix = 0; (proto = protocols[ix]) != NULL; ix ++) { 199 187 if (proto->proto != PPP_LCP && proto->lowerdown != NULL) … … 208 196 209 197 /* 210 * link_established -- ãªã³ã¯ã®æ¥ç¶ã確ç«ããã198 * link_established -- リンクの接続が確立した。 211 199 */ 212 200 … … 223 211 #endif /* of #if defined(LCP_CFG_CHAP) || defined(LCP_CFG_PAP) */ 224 212 225 /* ä¸ä½ãããã³ã«ãèµ·åãã*/213 /* 上位プロトコルを起動する */ 226 214 for (ix = 0; (proto = protocols[ix]) != NULL; ix ++) 227 215 if (proto->lowerup != NULL) 228 216 (*proto->lowerup)(); 229 217 230 /* èªè¨¼ãªãã·ã§ã³ã確èªããããæªå®è£ 231 ã*/ 218 /* 認証オプションを確認する。【未実装】*/ 232 219 233 220 ppp_phase = PPP_PHASE_AUTHENTICATE; … … 284 271 285 272 /* 286 * auth_reset -- èªè¨¼ãªãã·ã§ã³ãå確èªããã273 * auth_reset -- 認証オプションを再確認する。 287 274 */ 288 275 -
asp3_gr_sakura/trunk/tinet/net/ppp_auth.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 72 60 73 61 /* 74 * é¢æ°62 * 関数 75 63 */ 76 64 -
asp3_gr_sakura/trunk/tinet/net/ppp_ccp.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 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 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 97 85 98 86 /* 99 * å®è£ 100 äºå®ãç¾å¨ã¯ãã¹ã¦æå¦ 87 * 実装予定、現在はすべて拒否 101 88 */ 102 89 … … 113 100 114 101 /* 115 * é¢æ°102 * 関数 116 103 */ 117 104 … … 125 112 126 113 /* 127 * FSM ããå¼åºãããã³ã¼ã«ããã¯é¢114 * FSM から呼出されるコールバック関 128 115 */ 129 116 130 117 static int_t ccp_reqci (T_PPP_FSM *fsm, T_NET_BUF *nbuf); 131 /* ç¸æã®æ§ææ 132 å ±ã確èªããã */ 133 134 /* 135 * å 136 ¨åå¤æ° 118 /* 相手の構成情報を確認する。 */ 119 120 /* 121 * 全域変数 137 122 */ 138 123 139 124 T_PPP_FSM_CALLBACKS ccp_callbacks = { 140 NULL, /* èªæ§ææ 141 å ±ããªã»ããããã */ 142 NULL, /* æ§ææ 143 å ±ã®é·ããè¿ãã */ 144 NULL, /* èªæ§ææ 145 å ±ã追å ããã */ 146 NULL, /* ACK ãåä¿¡ããã¨ãã®å¦ç */ 147 NULL, /* NAK ãåä¿¡ããã¨ãã®å¦ç */ 148 NULL, /* REJ ãåä¿¡ããã¨ãã®å¦ç */ 149 ccp_reqci, /* ç¸æã®æ§ææ 150 å ±ã確èªããã */ 151 NULL, /* ãªã³ã¯æ¥ç¶ã確ç«ããã */ 152 NULL, /* ãªã³ã¯æ¥ç¶ã解æ¾ããã */ 153 NULL, /* ä¸ä½å±¤ãéå§ããã */ 154 NULL, /* ä¸ä½å±¤ãçµäºããã */ 155 NULL, /* åéããã */ 156 NULL, /* ä¸æ㪠CP ãåä¿¡ããã¨ãã®å¦ç */ 125 NULL, /* 自構成情報をリセットする。 */ 126 NULL, /* 構成情報の長さを返す。 */ 127 NULL, /* 自構成情報を追加する。 */ 128 NULL, /* ACK を受信したときの処理 */ 129 NULL, /* NAK を受信したときの処理 */ 130 NULL, /* REJ を受信したときの処理 */ 131 ccp_reqci, /* 相手の構成情報を確認する。 */ 132 NULL, /* リンク接続を確立する。 */ 133 NULL, /* リンク接続を解放する。 */ 134 NULL, /* 下位層を開始する。 */ 135 NULL, /* 下位層を終了する。 */ 136 NULL, /* 再送する。 */ 137 NULL, /* 不明な CP を受信したときの処理 */ 157 138 }; 158 139 159 140 T_PPP_FSM ccp_fsm = { 160 &ccp_callbacks, /* ã³ã¼ã«ããã¯é¢æ°*/161 PPP_CCP, /* ãããã³ã«*/141 &ccp_callbacks, /* コールバック関数 */ 142 PPP_CCP, /* プロトコル */ 162 143 }; 163 144 164 145 T_PPP_PROTENT ccp_protent = { 165 146 PPP_CCP, 166 ccp_init, /* åæå */ 167 ccp_input, /* å 168 ¥å */ 169 ccp_protrej, /* Proto-REJ åä¿¡å¦ç */ 170 ccp_lowerup, /* ä¸ä½å±¤ãèµ·åãã */ 171 ccp_lowerdown, /* ä¸ä½å±¤ãåæ¢ãã */ 172 ccp_open, /* ãªã¼ãã³ãã */ 173 ccp_close, /* ã¯ãã¼ãºãã */ 174 NULL, /* ãã¼ã¿å 175 ¥å */ 147 ccp_init, /* 初期化 */ 148 ccp_input, /* 入力 */ 149 ccp_protrej, /* Proto-REJ 受信処理 */ 150 ccp_lowerup, /* 下位層を起動する */ 151 ccp_lowerdown, /* 下位層を停止する */ 152 ccp_open, /* オープンする */ 153 ccp_close, /* クローズする */ 154 NULL, /* データ入力 */ 176 155 }; 177 156 178 157 /* 179 * ccp_init -- CCP ã¢ã¸ã¥ã¼ã«ã®åæå158 * ccp_init -- CCP モジュールの初期化 180 159 */ 181 160 … … 187 166 188 167 /* 189 * ccp_input -- CCP å 190 ¥å 168 * ccp_input -- CCP 入力 191 169 */ 192 170 … … 200 178 201 179 /* 202 * ccp_reqci -- ç¸æã®æ§ææ 203 å ±ã解æããã 180 * ccp_reqci -- 相手の構成情報を解析する。 204 181 */ 205 182 … … 208 185 { 209 186 /* 210 * å®è£ 211 äºå®ãç¾å¨ã¯ãã¹ã¦ã®ãªãã·ã§ã³ãæå¦ããã 187 * 実装予定、現在はすべてのオプションを拒否する。 212 188 */ 213 189 return nbuf->len > (sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR)) ? PPP_CONFREJ : PPP_CONFACK; … … 215 191 216 192 /* 217 * ccp_protrej -- Proto-REJ ãåä¿¡ããã¨ãã®å¦ç193 * ccp_protrej -- Proto-REJ を受信したときの処理 218 194 */ 219 195 … … 225 201 226 202 /* 227 * ccp_lowerup -- CCP ä¸ä½å±¤ãèµ·åããã203 * ccp_lowerup -- CCP 下位層を起動する。 228 204 */ 229 205 … … 235 211 236 212 /* 237 * ccp_lowerdown -- CCP ä¸ä½å±¤ãåæ¢ããã213 * ccp_lowerdown -- CCP 下位層を停止する。 238 214 */ 239 215 … … 245 221 246 222 /* 247 * ccp_open -- CCP ã®ãªã¼ã223 * ccp_open -- CCP のオープ 248 224 */ 249 225 … … 255 231 256 232 /* 257 * ccp_close -- CCP ã®ã¯ãã¼ãº233 * ccp_close -- CCP のクローズ 258 234 */ 259 235 -
asp3_gr_sakura/trunk/tinet/net/ppp_ccp.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 101 89 102 90 /* 103 * å¤æ°91 * 変数 104 92 */ 105 93 -
asp3_gr_sakura/trunk/tinet/net/ppp_fsm.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 112 100 113 101 /* 114 * å 115 ¨åå¤æ° 116 */ 117 118 uint8_t ppp_open_mode = PPP_OPEN_PASSIVE; /* ãªã¼ãã³æã®åä½ã¢ã¼ã */ 119 120 /* 121 * é¢æ° 102 * 全域変数 103 */ 104 105 uint8_t ppp_open_mode = PPP_OPEN_PASSIVE; /* オープン時の動作モード */ 106 107 /* 108 * 関数 122 109 */ 123 110 … … 133 120 134 121 /* 135 * fsm_sconfreq -- Configure-Request ãéä¿¡ããã122 * fsm_sconfreq -- Configure-Request を送信する。 136 123 */ 137 124 … … 145 132 fsm->state == PPP_FSM_ACKRCVD || 146 133 fsm->state == PPP_FSM_ACKSENT)) { 147 /* ã¾ã ãã´ããã¦ããªãããªãã·ã§ã³ããªã»ããããã*/134 /* まだネゴをしていない。オプションをリセットする。 */ 148 135 if (fsm->callbacks->resetci) 149 136 (*fsm->callbacks->resetci)(fsm); … … 151 138 } 152 139 if (retransmit == 0) { 153 /* æ°ãããªã¯ã¨ã¹ããåéã«ã¦ã³ã¿ããªã»ããããæ°ãã ID ãè¨å®ããã*/140 /* 新しいリクエスト。再送カウンタをリセットし、新しい ID を設定する。 */ 154 141 fsm->retrans = MAX_PPP_CONFIGURES; 155 142 fsm->reqid = ++ fsm->id; … … 159 146 160 147 if (fsm->callbacks->cilen && fsm->callbacks->addci) { 161 /* æ§ææ 162 å ±ãã±ãããä½ãã */ 148 /* 構成情報パケットを作る。 */ 163 149 len = (*fsm->callbacks->cilen)(fsm); 164 150 … … 166 152 (*fsm->callbacks->addci)(fsm, output); 167 153 168 /* æ§ææ 169 å ±ãã±ãããéä¿¡ããã */ 154 /* 構成情報パケットを送信する。 */ 170 155 IF_SET_PROTO(output, fsm->proto); 171 156 ppp_cp_output(PPP_CONFREQ, fsm->reqid, output); … … 177 162 178 163 /* 179 * fsm_rconfreq -- Configure-Request ãåä¿¡ããã¨ãã®å¦ç164 * fsm_rconfreq -- Configure-Request を受信したときの処理 180 165 */ 181 166 … … 200 185 201 186 case PPP_FSM_OPENED: 202 /* ä¸ä½å±¤ãåæ¢ãã¦ããã´ã«ç§»ãã*/187 /* 上位層を停止して、ネゴに移る。 */ 203 188 if (fsm->callbacks->down != NULL) 204 189 (*fsm->callbacks->down)(fsm); 205 fsm_sconfreq(fsm, 0); /* æåã® Configure-Request ãéãã*/190 fsm_sconfreq(fsm, 0); /* 最初の Configure-Request を送る。 */ 206 191 break; 207 192 208 193 case PPP_FSM_STOPPED: 209 /* ç¸æãããã´ãéå§ããã*/210 fsm_sconfreq(fsm, 0); /* æåã® Configure-Request ãéãã*/194 /* 相手からネゴが開始された */ 195 fsm_sconfreq(fsm, 0); /* 最初の Configure-Request を送る。 */ 211 196 fsm->state = PPP_FSM_REQSENT; 212 197 break; … … 216 201 syscall(get_net_buf(&output, input->len)); 217 202 218 /* ä¸ä½ãããã³ã«ã«è¦æ±ããã Configure-Request ãéãã */ 219 if (fsm->callbacks->reqci != NULL) /* æ§ææ 220 å ±ããã§ãã¯ããã */ 203 /* 上位プロトコルに要求された Configure-Request を送る。 */ 204 if (fsm->callbacks->reqci != NULL) /* 構成情報をチェックする。 */ 221 205 code = (*fsm->callbacks->reqci)(fsm, input, output); 222 206 else if (output->len > sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR)) … … 225 209 code = PPP_CONFACK; 226 210 227 /* ç¸æã« ACK, NAK ã¾ã㯠REJ ãéä¿¡ããã*/211 /* 相手に ACK, NAK または REJ を送信する。 */ 228 212 ppp_cp_output(code, id, output); 229 213 … … 240 224 } 241 225 else { 242 /* ACK ã REJ ãéã*/226 /* ACK か REJ を送る */ 243 227 if (fsm->state != PPP_FSM_ACKRCVD) 244 228 fsm->state = PPP_FSM_REQSENT; … … 249 233 250 234 /* 251 * fsm_rconfnakrej -- Configure-NAK/REJ ãåä¿¡ããã¨ãã®å¦ç235 * fsm_rconfnakrej -- Configure-NAK/REJ を受信したときの処理 252 236 */ 253 237 … … 258 242 T_NET_BUF *output; 259 243 260 /* äºæãã ID ã§ãªãããNAK/REJ ãäºæãã¦ããªãã¨ãã¯çµäºããã*/244 /* 予期した ID でないか、NAK/REJ を予期していないときは終了する。*/ 261 245 if (id != fsm->reqid || fsm->seen_ack) { 262 246 syslog(LOG_WARNING, "[PPP/FSM] bad ID or unexp NAK/REJ."); … … 291 275 case PPP_FSM_ACKSENT: 292 276 untimeout((FP)fsm_timeout, fsm); 293 if (ret < 0) /* éä¿¡ãã Conf-Req ãç ´æã空㮠NAK/REJ ãå±ããã*/277 if (ret < 0) /* 送信した Conf-Req が破損し空の NAK/REJ が届いた。*/ 294 278 fsm->state = PPP_FSM_STOPPED; 295 279 else … … 304 288 305 289 case PPP_FSM_OPENED: 306 /* åèµ·åãããã´ãããç´ãã*/290 /* 再起動し、ネゴをやり直す。*/ 307 291 if (fsm->callbacks->down != NULL) 308 292 (*fsm->callbacks->down)(fsm); … … 314 298 315 299 /* 316 * fsm_rconfack -- Configure-ACK ãåä¿¡ããã¨ãã®å¦ç300 * fsm_rconfack -- Configure-ACK を受信したときの処理 317 301 */ 318 302 … … 322 306 T_NET_BUF *output; 323 307 324 /* äºæãã ID ã§ãªãããACK ãäºæãã¦ããªãã¨ãã¯çµäºããã*/308 /* 予期した ID でないか、ACK を予期していないときは終了する。*/ 325 309 if (id != fsm->reqid || fsm->seen_ack) { 326 310 syslog(LOG_WARNING, "[PPP/FSM] bad ID or unexp ACK."); … … 369 353 370 354 case PPP_FSM_OPENED: 371 /* åèµ·åãããã´ãããç´ãã*/355 /* 再起動し、ネゴをやり直す。*/ 372 356 if (fsm->callbacks->down != NULL) 373 357 (*fsm->callbacks->down)(fsm); … … 384 368 385 369 /* 386 * fsm_rtermreq -- Terminate-Request ãåä¿¡ããã¨ãã®å¦ç370 * fsm_rtermreq -- Terminate-Request を受信したときの処理 387 371 */ 388 372 … … 412 396 413 397 /* 414 * fsm_rtermack -- Terminate-ACK ãåä¿¡ããã¨ãã®å¦ç398 * fsm_rtermack -- Terminate-ACK を受信したときの処理 415 399 */ 416 400 … … 421 405 case PPP_FSM_CLOSING: 422 406 untimeout((FP)fsm_timeout, fsm); 423 #if 0 /* æ¬æ¥ã®åä½ã¯ CLOSED ã«é·ç§»ããã*/407 #if 0 /* 本来の動作は CLOSED に遷移する。*/ 424 408 fsm->state = PPP_FSM_CLOSED; 425 409 #else /* of #if 0 */ … … 450 434 451 435 /* 452 * fsm_rcoderej -- Code-REJ ãåä¿¡ããã¨ãã®å¦ç436 * fsm_rcoderej -- Code-REJ を受信したときの処理 453 437 */ 454 438 … … 458 442 T_PPP_CP_HDR *hdr; 459 443 460 /* PPP ãªã³ã¯å¶å¾¡ (CP) ãããããçããã°ã¨ã©ã¼*/444 /* PPP リンク制御 (CP) ヘッダより短ければエラー */ 461 445 if (input->len < sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR)) { 462 446 syslog(LOG_WARNING, "[PPP/FSM] bad len: %d in recv Code-REJ.", input->len); … … 473 457 474 458 /* 475 * fsm_timeout -- ã¿ã¤ã ã¢ã¦ãå¦ç459 * fsm_timeout -- タイムアウト処理 476 460 */ 477 461 … … 485 469 case PPP_FSM_STOPPING: 486 470 if (fsm->retrans <= 0) { 487 /* æ大åéåæ°ãè¶ 488 ããã¨ãã®å¦ç */ 489 #if 0 /* æ¬æ¥ã®åä½ã¯ CLOSED ã«é·ç§»ããã*/ 471 /* 最大再送回数を超えたときの処理 */ 472 #if 0 /* 本来の動作は CLOSED に遷移する。*/ 490 473 fsm->state = (fsm->state == PPP_FSM_CLOSING) ? PPP_FSM_CLOSED : PPP_FSM_STOPPED; 491 474 #else /* of #if 0 */ … … 496 479 } 497 480 else { 498 /* Terminate-Request ãéä¿¡ããã*/481 /* Terminate-Request を送信する。*/ 499 482 fsm_stermreq(fsm, ++ fsm->id); 500 483 } … … 504 487 case PPP_FSM_ACKSENT: 505 488 if (fsm->retrans <= 0) { 506 /* æ大åéåæ°ãè¶ 507 ããã¨ãã®å¦ç */ 489 /* 最大再送回数を超えたときの処理 */ 508 490 syslog(LOG_WARNING, "[PPP/FSM] retrans Conf-Req."); 509 491 fsm->state = PPP_FSM_STOPPED; … … 512 494 } 513 495 else { 514 /* Configure-Request ãåéããã*/496 /* Configure-Request を再送する。*/ 515 497 if (fsm->callbacks->retrans != NULL) 516 498 (*fsm->callbacks->retrans)(fsm); … … 529 511 530 512 /* 531 * fsm_stermreq -- Terminate-Request ãéä¿¡ããã513 * fsm_stermreq -- Terminate-Request を送信する。 532 514 */ 533 515 … … 546 528 547 529 /* 548 * fsm_init -- FSM ã¢ã¸ã¥ã¼ã«ã®åæå530 * fsm_init -- FSM モジュールの初期化 549 531 */ 550 532 … … 557 539 558 540 /* 559 * fsm_lowerup -- FSM ä¸ä½å±¤ãèµ·åããã541 * fsm_lowerup -- FSM 下位層を起動する。 560 542 */ 561 543 … … 584 566 585 567 /* 586 * fsm_lowerdown -- FSM ä¸ä½å±¤ãåæ¢ããã568 * fsm_lowerdown -- FSM 下位層を停止する。 587 569 */ 588 570 … … 627 609 628 610 /* 629 * fsm_open -- FSM ã®ãªã¼ãã³611 * fsm_open -- FSM のオープン 630 612 */ 631 613 … … 651 633 case PPP_FSM_CLOSING: 652 634 fsm->state = PPP_FSM_STOPPING; 653 /* nobreak; ä¸ã«è½ã¡ã*/635 /* nobreak; 下に落ちる */ 654 636 655 637 case PPP_FSM_STOPPED: … … 662 644 663 645 /* 664 * fsm_close -- ãªã³ã¯ã®åæãéå§ããã646 * fsm_close -- リンクの切断を開始する。 665 647 */ 666 648 … … 673 655 break; 674 656 675 #if 0 /* æ¬æ¥ã®åä½ã¯ CLOSED ã«é·ç§»ããã*/657 #if 0 /* 本来の動作は CLOSED に遷移する。*/ 676 658 case PPP_FSM_STOPPED: 677 659 fsm->state = PPP_FSM_CLOSED; … … 692 674 (*fsm->callbacks->down)(fsm); 693 675 694 /* ã¿ã¤ã ã¢ã¦ããè¨å®ããTerminate-Request ãéä¿¡ããã*/676 /* タイムアウトを設定し、Terminate-Request を送信する。*/ 695 677 fsm->retrans = MAX_PPP_TERMINATES; 696 678 fsm_stermreq(fsm, fsm->reqid = ++ fsm->id); … … 701 683 702 684 /* 703 * fsm_input -- å 704 ¥åãPPP ãªã³ã¯å¶å¾¡ (CP) ã®å¶å¾¡ã³ã¼ãã«ããé©å½ãªé¢æ°ãå¼åºã 685 * fsm_input -- 入力、PPP リンク制御 (CP) の制御コードにより適当な関数を呼出す 705 686 */ 706 687 … … 711 692 T_NET_BUF *output; 712 693 713 /* PPP ãªã³ã¯å¶å¾¡ (CP) ãããããçããã°ã¨ã©ã¼*/694 /* PPP リンク制御 (CP) ヘッダより短ければエラー */ 714 695 if (input->len < (sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR))) { 715 696 syslog(LOG_WARNING, "[PPP/FSM] short hdr: %d.", input->len); … … 719 700 hdr = GET_PPP_CP_HDR(input); 720 701 721 /* ãããã®é·ãã¨å 722 ¥åãã¼ã¿ãµã¤ãºãä¸è´ããªããã°ã¨ã©ã¼ */ 702 /* ヘッダの長さと入力データサイズが一致しなければエラー */ 723 703 if (hdr->len != input->len - sizeof(T_PPP_HDR)) { 724 704 syslog(LOG_WARNING, "[PPP/FSM] bad len: %d.", hdr->len); … … 726 706 } 727 707 728 /* ç¶æ 729 ã INITIAL ã STARTING ãªãã¨ã©ã¼ */ 708 /* 状態が INITIAL か STARTING ならエラー */ 730 709 if (fsm->state == PPP_FSM_INITIAL || fsm->state == PPP_FSM_STARTING) { 731 710 syslog(LOG_WARNING, "[PPP/FSM] unexp state: %d in input.", fsm->state); … … 734 713 735 714 /* 736 * å¶å¾¡ã³ã¼ãã«ããé©å½ãªé¢æ°ãå¼åºã715 * 制御コードにより適当な関数を呼出す 737 716 */ 738 717 … … 775 754 776 755 /* 777 * fsm_protoreject -- Proto-REJ ãåä¿¡ããã¨ãã®å¦ç756 * fsm_protoreject -- Proto-REJ を受信したときの処理 778 757 */ 779 758 … … 785 764 untimeout((FP)fsm_timeout, fsm); 786 765 787 #if 0 /* æ¬æ¥ã®åä½ã¯ CLOSED ã«é·ç§»ããã*/788 /* ä¸ã«è½ã¡ã*/766 #if 0 /* 本来の動作は CLOSED に遷移する。*/ 767 /* 下に落ちる */ 789 768 #else /* of #if 0 */ 790 769 fsm->state = PPP_FSM_STOPPED; … … 805 784 case PPP_FSM_ACKSENT: 806 785 untimeout((FP)fsm_timeout, fsm); 807 /* ä¸ã«è½ã¡ã*/786 /* 下に落ちる */ 808 787 809 788 case PPP_FSM_STOPPED: … … 817 796 (*fsm->callbacks->down)(fsm); 818 797 819 /* ã¿ã¤ã ã¢ã¦ããè¨å®ããTerminate-Request ãéä¿¡ããã*/798 /* タイムアウトを設定し、Terminate-Request を送信する。*/ 820 799 fsm->retrans = MAX_PPP_TERMINATES; 821 800 fsm_stermreq(fsm, fsm->reqid = ++ fsm->id); -
asp3_gr_sakura/trunk/tinet/net/ppp_fsm.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 93 81 94 82 /* 95 * ç¶æ 96 管çæ§é ä½ 83 * 状態管理構造体 97 84 */ 98 85 … … 100 87 101 88 typedef struct t_fsm { 102 struct t_ppp_fsm_callbacks *callbacks; /* ã³ã¼ã«ããã¯é¢æ°*/ 103 uint16_t proto; /* ãããã³ã« */ 104 uint8_t state; /* FSM ã®ç¶æ 105 */ 106 uint8_t id; /* ç¾å¨ã® ID */ 107 uint8_t reqid; /* è¦æ± ID */ 108 uint8_t seen_ack; /* è¦æ±ã«å¯¾ãæ£å¸¸ãª ACK/NAK/REJ ãåä¿¡ */ 109 int8_t failures; /* é»èªãã NAK æ° */ 110 int8_t retrans; /* Configure-Request ã¾ãã¯ã */ 111 /* Terminate-Request ã®åéåæ° */ 89 struct t_ppp_fsm_callbacks *callbacks; /* コールバック関数*/ 90 uint16_t proto; /* プロトコル */ 91 uint8_t state; /* FSM の状態 */ 92 uint8_t id; /* 現在の ID */ 93 uint8_t reqid; /* 要求 ID */ 94 uint8_t seen_ack; /* 要求に対し正常な ACK/NAK/REJ を受信 */ 95 int8_t failures; /* 黙認した NAK 数 */ 96 int8_t retrans; /* Configure-Request または、 */ 97 /* Terminate-Request の再送回数 */ 112 98 } T_PPP_FSM; 113 99 … … 115 101 116 102 /* 117 * ã³ã¼ã«ããã¯é¢æ°æ§é ä½103 * コールバック関数構造体 118 104 */ 119 105 120 106 typedef struct t_ppp_fsm_callbacks { 121 void (*resetci) (T_PPP_FSM *); /* èªæ§ææ 122 å ±ããªã»ããããã */ 123 int_t (*cilen) (T_PPP_FSM *); /* æ§ææ 124 å ±ã®é·ããè¿ãã */ 107 void (*resetci) (T_PPP_FSM *); /* 自構成情報をリセットする。 */ 108 int_t (*cilen) (T_PPP_FSM *); /* 構成情報の長さを返す。 */ 125 109 void (*addci) (T_PPP_FSM *, T_NET_BUF *); 126 /* èªæ§ææ 127 å ±ã追å ããã */ 110 /* 自構成情報を追加する。 */ 128 111 bool_t (*ackci) (T_PPP_FSM *, T_NET_BUF *); 129 /* ACK ãåä¿¡ããã¨ãã®å¦ç*/112 /* ACK を受信したときの処理 */ 130 113 int_t (*nakci) (T_PPP_FSM *, T_NET_BUF *); 131 /* NAK ãåä¿¡ããã¨ãã®å¦ç*/114 /* NAK を受信したときの処理 */ 132 115 int_t (*rejci) (T_PPP_FSM *, T_NET_BUF *); 133 /* REJ ãåä¿¡ããã¨ãã®å¦ç*/116 /* REJ を受信したときの処理 */ 134 117 int_t (*reqci) (T_PPP_FSM *, T_NET_BUF *, T_NET_BUF *); 135 /* ç¸æã®æ§ææ 136 å ±ã確èªããã */ 137 void (*up) (T_PPP_FSM *); /* ãªã³ã¯ã®æ¥ç¶ã確ç«ããã */ 138 void (*down) (T_PPP_FSM *); /* ãªã³ã¯ã®æ¥ç¶ã解æ¾ããã */ 139 void (*starting)(T_PPP_FSM *); /* ä¸ä½å±¤ãéå§ããã */ 140 void (*finished)(T_PPP_FSM *); /* ä¸ä½å±¤ãçµäºããã */ 141 void (*retrans) (T_PPP_FSM *); /* åéããã */ 142 /* ä¸æ㪠CP ãåä¿¡ããã¨ãã®å¦ç */ 118 /* 相手の構成情報を確認する。 */ 119 void (*up) (T_PPP_FSM *); /* リンクの接続を確立する。 */ 120 void (*down) (T_PPP_FSM *); /* リンクの接続を解放する。 */ 121 void (*starting)(T_PPP_FSM *); /* 下位層を開始する。 */ 122 void (*finished)(T_PPP_FSM *); /* 下位層を終了する。 */ 123 void (*retrans) (T_PPP_FSM *); /* 再送する。 */ 124 /* 不明な CP を受信したときの処理 */ 143 125 bool_t (*extcode)(T_PPP_FSM *, uint8_t, uint8_t, T_NET_BUF *); 144 126 } T_PPP_FSM_CALLBACKS; 145 127 146 128 /* 147 * FSM ã®ç¶æ 148 129 * FSM の状態 149 130 */ 150 131 151 #define PPP_FSM_INITIAL 0 /* æªæ¥ç¶ãæªãªã¼ãã³ */ 152 #define PPP_FSM_STARTING 1 /* æªæ¥ç¶ããªã¼ãã³ */ 153 #define PPP_FSM_CLOSED 2 /* æ¥ç¶ã æªãªã¼ãã³ */ 154 #define PPP_FSM_STOPPED 3 /* ãªã¼ãã³ãåæå¾ 155 ã¡ */ 156 #define PPP_FSM_CLOSING 4 /* åæä¸ãæªãªã¼ãã³ */ 157 #define PPP_FSM_STOPPING 5 /* åæä¸ããªã¼ãã³ */ 158 #define PPP_FSM_REQSENT 6 /* Config REQ éä¿¡æ¸ã¿ */ 159 #define PPP_FSM_ACKRCVD 7 /* Config ACK åä¿¡æ¸ã¿ */ 160 #define PPP_FSM_ACKSENT 8 /* Config ACK éä¿¡æ¸ã¿ */ 161 #define PPP_FSM_OPENED 9 /* æ¥ç¶ãéä¿¡å¯è½ */ 132 #define PPP_FSM_INITIAL 0 /* 未接続、未オープン */ 133 #define PPP_FSM_STARTING 1 /* 未接続、オープン */ 134 #define PPP_FSM_CLOSED 2 /* 接続、 未オープン */ 135 #define PPP_FSM_STOPPED 3 /* オープン、切断待ち */ 136 #define PPP_FSM_CLOSING 4 /* 切断中、未オープン */ 137 #define PPP_FSM_STOPPING 5 /* 切断中、オープン */ 138 #define PPP_FSM_REQSENT 6 /* Config REQ 送信済み */ 139 #define PPP_FSM_ACKRCVD 7 /* Config ACK 受信済み */ 140 #define PPP_FSM_ACKSENT 8 /* Config ACK 送信済み */ 141 #define PPP_FSM_OPENED 9 /* 接続、通信可能 */ 162 142 163 143 /* 164 * ãªã¼ãã³æã®åä½ã¢ã¼ã144 * オープン時の動作モード 165 145 */ 166 146 167 #define PPP_OPEN_PASSIVE false /* ååãªã¼ãã³*/168 #define PPP_OPEN_ACTIVE true /* è½åãªã¼ãã³*/147 #define PPP_OPEN_PASSIVE false /* 受動オープン */ 148 #define PPP_OPEN_ACTIVE true /* 能動オープン */ 169 149 170 150 /* 171 * åéãã¿ã¤ã ã¢ã¦ãã®æ¢å®å¤151 * 再送、タイムアウトの既定値 172 152 */ 173 153 174 154 #define DEF_PPP_TIMEOUT (3*NET_TIMER_HZ) 175 /* RFC1661 ã§ã¯ 3 ç§*/176 #define MAX_PPP_TERMINATES 2 /* Terminate-Requests ã®æ大åéåæ°*/177 /* RFC1661 ã§ã¯ 2 å*/178 #define MAX_PPP_CONFIGURES 10 /* Configure-Requests ã®æ大åéåæ°*/179 /* RFC1661 ã§ã¯ 10 å*/180 #define MAX_PPP_FAILURES 5 /* Configure-NAK ã®æ大é»èªåæ°*/181 /* RFC1661 ã§ã¯ 5 å*/155 /* RFC1661 では 3 秒 */ 156 #define MAX_PPP_TERMINATES 2 /* Terminate-Requests の最大再送回数 */ 157 /* RFC1661 では 2 回 */ 158 #define MAX_PPP_CONFIGURES 10 /* Configure-Requests の最大再送回数 */ 159 /* RFC1661 では 10 回 */ 160 #define MAX_PPP_FAILURES 5 /* Configure-NAK の最大黙認回数 */ 161 /* RFC1661 では 5 回 */ 182 162 183 163 /* 184 * é¢æ°164 * 関数 185 165 */ 186 166 … … 194 174 195 175 /* 196 * å¤æ°176 * 変数 197 177 */ 198 178 -
asp3_gr_sakura/trunk/tinet/net/ppp_hdlc.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 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 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 90 78 91 79 /* 92 * RFC1171 (PPP) ã® HDLC é¨ã®å®ç¾©93 */ 94 95 /* 96 * å¤æ°80 * RFC1171 (PPP) の HDLC 部の定義 81 */ 82 83 /* 84 * 変数 97 85 */ 98 86 … … 100 88 101 89 /* 102 * é¢æ°90 * 関数 103 91 */ 104 92 … … 107 95 108 96 /* 109 * genfcstab.c ã«ããä½æãã FCS ã®ã«ãã¯ã¢ãã表 110 * RFC1171 åç 111 § 97 * genfcstab.c により作成した FCS のルックアップ表 98 * RFC1171 参照 112 99 */ 113 100 … … 180 167 181 168 /* 182 * ã¤ã³ã©ã¤ã³é¢æ°169 * インライン関数 183 170 */ 184 171 … … 188 175 189 176 /* 190 * HDLC_putoctet -- HDLC ãªã¯ãããåºå177 * HDLC_putoctet -- HDLC オクテット出力 191 178 */ 192 179 … … 212 199 213 200 /* 214 * HDLC_wirte -- HDLC åºå201 * HDLC_wirte -- HDLC 出力 215 202 */ 216 203 … … 241 228 if (lcp_local_ack_cfg.options & LCP_CFG_ACCOMP) { 242 229 NET_COUNT_PPP_HDLC(net_count_hdlc.out_octets, sizeof(flag_seq)); 243 /* ãã¬ã¼ã éå§ãã©ã°ã·ã¼ã±ã³ã¹ ãéä¿¡ãã*/230 /* フレーム開始フラグシーケンス を送信する */ 244 231 if ((error = serial_wri_dat(HDLC_PORTID, &flag_seq, sizeof(flag_seq))) < 0) { 245 232 goto err_ret; … … 250 237 251 238 NET_COUNT_PPP_HDLC(net_count_hdlc.out_octets, sizeof(flag_seq_ac)); 252 /* ãã¬ã¼ã éå§ãã©ã°ã·ã¼ã±ã³ã¹ãAddress 㨠Control ãéä¿¡ãã*/239 /* フレーム開始フラグシーケンス、Address と Control を送信する */ 253 240 if ((error = serial_wri_dat(HDLC_PORTID, flag_seq_ac, sizeof(flag_seq_ac))) < 0) { 254 241 goto err_ret; 255 242 } 256 /* Address 㨠Control ã® FCS ã®è¨ç®ã¯ HDLC_INIT_FCS_AC ã«å«ãã¦ãã*/243 /* Address と Control の FCS の計算は HDLC_INIT_FCS_AC に含めている */ 257 244 fcs = HDLC_INIT_FCS_AC; 258 245 } … … 261 248 262 249 NET_COUNT_PPP_HDLC(net_count_hdlc.out_octets, sizeof(flag_seq_ac)); 263 /* ãã¬ã¼ã éå§ãã©ã°ã·ã¼ã±ã³ã¹ãAddress 㨠Control ãéä¿¡ãã*/250 /* フレーム開始フラグシーケンス、Address と Control を送信する */ 264 251 if ((error = serial_wri_dat(HDLC_PORTID, flag_seq_ac, sizeof(flag_seq_ac))) < 0) { 265 252 goto err_ret; 266 253 } 267 /* Address 㨠Control ã® FCS ã®è¨ç®ã¯ HDLC_INIT_FCS_AC ã«å«ãã¦ãã*/254 /* Address と Control の FCS の計算は HDLC_INIT_FCS_AC に含めている */ 268 255 fcs = HDLC_INIT_FCS_AC; 269 256 … … 282 269 #endif /* of #ifdef LCP_CFG_PCOMP */ 283 270 284 /* ãã¼ã¿ãéä¿¡ãã*/271 /* データを送信する */ 285 272 while (len -- > 0) { 286 273 … … 291 278 } 292 279 293 /* FCS ãéä¿¡ãã*/280 /* FCS を送信する */ 294 281 fcs = ~fcs; 295 282 if ((error = HDLC_putoctet(fcs & 0xff)) != E_OK) … … 298 285 goto err_ret; 299 286 300 /* ãã¬ã¼ã çµäºãã©ã°ã·ã¼ã±ã³ã¹ãéä¿¡ãã*/287 /* フレーム終了フラグシーケンスを送信する */ 301 288 if ((error = serial_wri_dat(HDLC_PORTID, &flag_seq_ac[0], sizeof(char))) < 0) 302 289 goto err_ret; … … 310 297 311 298 /* 312 * HDLC_getoctet -- HDLC ãªã¯ãããå 313 ¥å 314 * 315 * æ»ãå¤ã true ãªããã©ã°ã·ã¼ã±ã³ã¹ 299 * HDLC_getoctet -- HDLC オクテット入力 300 * 301 * 戻り値が true ならフラグシーケンス 316 302 */ 317 303 … … 321 307 ER error; 322 308 323 /* 1ãªã¯ãããå 324 ¥åãã */ 309 /* 1オクテット入力する */ 325 310 if ((error = serial_rea_dat(HDLC_PORTID, octet, sizeof(uint8_t))) <= 0) { 326 311 return error; 327 312 } 328 313 329 /* å 330 ¥åãããªã¯ãããããã©ã°ã·ã¼ã±ã³ã¹ãªã true ãè¿ã */ 314 /* 入力したオクテットがフラグシーケンスなら true を返す */ 331 315 if (*octet == HDLC_FLAG_SEQ) 332 316 return true; 333 317 334 /* å 335 ¥åãããªã¯ããããã¨ã¹ã±ã¼ããªããããï¼ãªã¯ãããå 336 ¥åããã¹ã¯ã解é¤ãã */ 318 /* 入力したオクテットがエスケープなら、もう1オクテット入力しマスクを解除する */ 337 319 if (*octet == HDLC_CNTL_ESC) { 338 320 if ((error = serial_rea_dat(HDLC_PORTID, octet, sizeof(uint8_t))) <= 0) … … 346 328 347 329 /* 348 * HDLC_read -- HDLC å 349 ¥å 350 * 351 * HDLC ãã¬ã¼ã ãå 352 ¥åããã 330 * HDLC_read -- HDLC 入力 331 * 332 * HDLC フレームを入力する。 353 333 */ 354 334 … … 362 342 buf = nbuf->buf; 363 343 364 /* ãã¬ã¼ã éå§ãã©ã°ã·ã¼ã±ã³ã¹ã¾ã§å 365 ¥åãèªã¿é£ã°ã */ 344 /* フレーム開始フラグシーケンスまで入力を読み飛ばす */ 366 345 while ((error = HDLC_getoctet(&octet)) != true) { 367 346 … … 372 351 373 352 else if (octet == '\n') { 374 /* ã¢ãã å¶å¾¡ãå¼ã³åºãã*/353 /* モデム制御を呼び出す。*/ 375 354 modem_cntl(modem_getline(nbuf, size)); 376 /* ä¸åº¦ããã®é¢æ°ãçµäºããã*/355 /* 一度、この関数を終了する。*/ 377 356 nbuf->len = 0; 378 357 return E_OK; … … 383 362 } 384 363 385 /* ãã¬ã¼ã éå§ãã©ã°ã·ã¼ã±ã³ã¹ã®éã¯å 386 ¥åãèªã¿é£ã°ã */ 364 /* フレーム開始フラグシーケンスの間は入力を読み飛ばす */ 387 365 while (1) { 388 366 if ((error = HDLC_getoctet(&octet)) == E_OK) … … 394 372 NET_COUNT_PPP_HDLC(net_count_hdlc.in_packets, 1); 395 373 396 /* å 397 ¥åãããªã¯ããã㯠Address: All-Stations ã */ 374 /* 入力したオクテットは Address: All-Stations か */ 398 375 if (octet == HDLC_ADDR_ALL) { 399 376 400 /* 次ã¯Control: UI */377 /* 次は Control: UI */ 401 378 if ((error = HDLC_getoctet(&octet)) != E_OK || octet != HDLC_CNTL_UI) { 402 379 error = E_SYS; … … 405 382 if ((error = HDLC_getoctet(&octet)) != E_OK) 406 383 goto err_ret; 407 /* Address 㨠Control ã® FCS ã®è¨ç®ã¯ HDLC_INIT_FCS_AC ã«å«ãã¦ãã*/384 /* Address と Control の FCS の計算は HDLC_INIT_FCS_AC に含めている */ 408 385 fcs = HDLC_INIT_FCS_AC; 409 386 } … … 439 416 nbuf->len ++; 440 417 441 /* SUD + FCS ãå 442 ¥åãã */ 418 /* SUD + FCS を入力する */ 443 419 while ((error = HDLC_getoctet(&octet)) == E_OK) { 444 420 fcs = Next_FCS(fcs, octet); … … 465 441 goto err_ret; 466 442 467 /* FCS ããã§ãã¯ãã*/443 /* FCS をチェックする */ 468 444 if (fcs != HDLC_GOOD_FCS) { 469 445 error = E_SYS; … … 479 455 480 456 /* 481 * HDLC_dummy_read -- HDLC å 482 ¥å (空èªã¿) 483 * 484 * HDLC ãã¬ã¼ã ã空èªã¿ããã 457 * HDLC_dummy_read -- HDLC 入力 (空読み) 458 * 459 * HDLC フレームを空読みする。 485 460 */ 486 461 … … 491 466 ER error; 492 467 493 /* ãã¬ã¼ã éå§ãã©ã°ã·ã¼ã±ã³ã¹ã¾ã§å 494 ¥åãèªã¿é£ã°ã */ 468 /* フレーム開始フラグシーケンスまで入力を読み飛ばす */ 495 469 while ((error = HDLC_getoctet(&octet)) != true) { 496 470 if (error != E_OK) … … 498 472 } 499 473 500 /* ãã¬ã¼ã éå§ãã©ã°ã·ã¼ã±ã³ã¹ã®éã¯å 501 ¥åãèªã¿é£ã°ã */ 474 /* フレーム開始フラグシーケンスの間は入力を読み飛ばす */ 502 475 while (octet == HDLC_FLAG_SEQ) 503 476 if (HDLC_getoctet(&octet) != E_OK) 504 477 return; 505 478 506 /* å 507 ¥åãããªã¯ããã㯠Address: All-Stations ã */ 479 /* 入力したオクテットは Address: All-Stations か */ 508 480 if (octet == HDLC_ADDR_ALL) { 509 481 510 /* 次ã¯Control: UI */482 /* 次は Control: UI */ 511 483 if (HDLC_getoctet(&octet) != E_OK || octet != HDLC_CNTL_UI) 512 484 return; … … 532 504 533 505 /* 534 * HDLC_raw_getoctet -- HDLC ãªã¯ããã (Raw) å 535 ¥å 506 * HDLC_raw_getoctet -- HDLC オクテット (Raw) 入力 536 507 */ 537 508 … … 540 511 uint8_t ch; 541 512 542 /* 1ãªã¯ãããå 543 ¥åãã */ 513 /* 1オクテット入力する */ 544 514 if (serial_rea_dat(HDLC_PORTID, &ch, sizeof(ch)) <= 0) 545 515 return '\0'; … … 550 520 551 521 /* 552 * HDLC_raw_putoctet -- HDLC ãªã¯ããã (Raw) åºå522 * HDLC_raw_putoctet -- HDLC オクテット (Raw) 出力 553 523 */ 554 524 … … 556 526 { 557 527 NET_COUNT_PPP_HDLC(net_count_hdlc.out_octets, 1); 558 /* 1 ãªã¯ãããåºåãã*/528 /* 1オクテット出力する */ 559 529 serial_wri_dat(HDLC_PORTID, &ch, sizeof(ch)); 560 530 } -
asp3_gr_sakura/trunk/tinet/net/ppp_hdlc.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 72 60 73 61 /* 74 * RFC1171 (PPP) ã® HDLC é¨ã®å®ç¾©62 * RFC1171 (PPP) の HDLC 部の定義 75 63 */ 76 64 77 65 /* 78 * æ¢å®å¤66 * 既定値 79 67 */ 80 68 … … 90 78 91 79 /* 92 * é¢æ°80 * 関数 93 81 */ 94 82 -
asp3_gr_sakura/trunk/tinet/net/ppp_ipcp.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 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 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 124 112 125 113 /* 126 * é¢æ°114 * 関数 127 115 */ 128 116 … … 136 124 137 125 /* 138 * FSM ããå¼åºãããã³ã¼ã«ããã¯é¢ 139 */ 140 141 static void ipcp_resetci(T_PPP_FSM *fsm); /* èªæ§ææ 142 å ±ããªã»ããããã */ 143 static int_t ipcp_cilen (T_PPP_FSM *fsm); /* æ§ææ 144 å ±ã®é·ããè¿ãã */ 126 * FSM から呼出されるコールバック関 127 */ 128 129 static void ipcp_resetci(T_PPP_FSM *fsm); /* 自構成情報をリセットする。 */ 130 static int_t ipcp_cilen (T_PPP_FSM *fsm); /* 構成情報の長さを返す。 */ 145 131 static void ipcp_addci (T_PPP_FSM *fsm, T_NET_BUF *output); 146 /* èªæ§ææ 147 å ±ã追å ããã */ 132 /* 自構成情報を追加する。 */ 148 133 static bool_t ipcp_ackci (T_PPP_FSM *fsm, T_NET_BUF *input); 149 /* ACK ãåä¿¡ããã¨ãã®å¦ç*/134 /* ACK を受信したときの処理 */ 150 135 static bool_t ipcp_nakci (T_PPP_FSM *fsm, T_NET_BUF *input); 151 /* NAK ãåä¿¡ããã¨ãã®å¦ç*/136 /* NAK を受信したときの処理 */ 152 137 static bool_t ipcp_rejci (T_PPP_FSM *fsm, T_NET_BUF *input); 153 /* REJ ãåä¿¡ããã¨ãã®å¦ç*/138 /* REJ を受信したときの処理 */ 154 139 static int_t ipcp_reqci (T_PPP_FSM *fsm, T_NET_BUF *input, T_NET_BUF *output); 155 /* ç¸æã®æ§ææ 156 å ±ã確èªããã */ 157 static void ipcp_up (T_PPP_FSM *fsm); /* ãªã³ã¯æ¥ç¶ã確ç«ããã */ 158 static void ipcp_down (T_PPP_FSM *fsm); /* ãªã³ã¯æ¥ç¶ã解æ¾ããã */ 159 static void ipcp_finished(T_PPP_FSM *fsm); /* ä¸ä½å±¤ãçµäºããã */ 160 161 /* 162 * å¤æ° 163 */ 164 165 static T_IFNET ipcp_local_def_cfg = { /* èªæ§ææ 166 å ±ã®è¦å®å¤ */ 140 /* 相手の構成情報を確認する。 */ 141 static void ipcp_up (T_PPP_FSM *fsm); /* リンク接続を確立する。 */ 142 static void ipcp_down (T_PPP_FSM *fsm); /* リンク接続を解放する。 */ 143 static void ipcp_finished(T_PPP_FSM *fsm); /* 下位層を終了する。 */ 144 145 /* 146 * 変数 147 */ 148 149 static T_IFNET ipcp_local_def_cfg = { /* 自構成情報の規定値 */ 167 150 NULL, 168 151 { 169 IPV4_ADDR_LOCAL, /* IPv4 ã¢ãã¬ã¹*/170 UINT_C(0), /* ãµãããããã¹ã¯*/152 IPV4_ADDR_LOCAL, /* IPv4 アドレス */ 153 UINT_C(0), /* サブネットマスク */ 171 154 }, 172 155 }; 173 156 174 static T_IFNET ipcp_remote_def_cfg = { /* ç¸æã®æ§ææ 175 å ±ã®è¦å®å¤ */ 157 static T_IFNET ipcp_remote_def_cfg = { /* 相手の構成情報の規定値 */ 176 158 NULL, 177 159 { 178 IPV4_ADDR_REMOTE, /* IPv4 ã¢ãã¬ã¹*/179 UINT_C(0), /* ãµãããããã¹ã¯*/160 IPV4_ADDR_REMOTE, /* IPv4 アドレス */ 161 UINT_C(0), /* サブネットマスク */ 180 162 } 181 163 }; 182 164 183 static T_IFNET ipcp_local_neg_cfg; /* ãã´ä¸ã®èªæ§ææ 184 å ± */ 185 186 static T_IFNET ipcp_remote_neg_cfg; /* ãã´ä¸ã®ç¸æã®æ§ææ 187 å ± */ 188 189 /* 190 * å 191 ¨åå¤æ° 165 static T_IFNET ipcp_local_neg_cfg; /* ネゴ中の自構成情報 */ 166 167 static T_IFNET ipcp_remote_neg_cfg; /* ネゴ中の相手の構成情報 */ 168 169 /* 170 * 全域変数 192 171 */ 193 172 194 173 T_PPP_FSM_CALLBACKS ipcp_callbacks = { 195 ipcp_resetci, /* èªæ§ææ 196 å ±ããªã»ããããã */ 197 ipcp_cilen, /* æ§ææ 198 å ±ã®é·ããè¿ãã */ 199 ipcp_addci, /* èªæ§ææ 200 å ±ã追å ããã */ 201 ipcp_ackci, /* ACK ãåä¿¡ããã¨ãã®å¦ç */ 202 ipcp_nakci, /* NAK ãåä¿¡ããã¨ãã®å¦ç */ 203 ipcp_rejci, /* REJ ãåä¿¡ããã¨ãã®å¦ç */ 204 ipcp_reqci, /* ç¸æã®æ§ææ 205 å ±ã確èªããã */ 206 ipcp_up, /* ãªã³ã¯æ¥ç¶ã確ç«ããã */ 207 ipcp_down, /* ãªã³ã¯æ¥ç¶ã解æ¾ããã */ 208 NULL, /* ä¸ä½å±¤ãéå§ããã */ 209 ipcp_finished, /* ä¸ä½å±¤ãçµäºããã */ 210 NULL, /* åéããã */ 211 NULL, /* ä¸æ㪠CP ãåä¿¡ããã¨ãã®å¦ç */ 174 ipcp_resetci, /* 自構成情報をリセットする。 */ 175 ipcp_cilen, /* 構成情報の長さを返す。 */ 176 ipcp_addci, /* 自構成情報を追加する。 */ 177 ipcp_ackci, /* ACK を受信したときの処理 */ 178 ipcp_nakci, /* NAK を受信したときの処理 */ 179 ipcp_rejci, /* REJ を受信したときの処理 */ 180 ipcp_reqci, /* 相手の構成情報を確認する。 */ 181 ipcp_up, /* リンク接続を確立する。 */ 182 ipcp_down, /* リンク接続を解放する。 */ 183 NULL, /* 下位層を開始する。 */ 184 ipcp_finished, /* 下位層を終了する。 */ 185 NULL, /* 再送する。 */ 186 NULL, /* 不明な CP を受信したときの処理 */ 212 187 }; 213 188 214 189 T_PPP_FSM ipcp_fsm = { 215 &ipcp_callbacks, /* ã³ã¼ã«ããã¯é¢æ°*/216 PPP_IPCP, /* ãããã³ã«*/190 &ipcp_callbacks, /* コールバック関数 */ 191 PPP_IPCP, /* プロトコル */ 217 192 }; 218 193 219 194 T_PPP_PROTENT ipcp_protent = { 220 195 PPP_IPCP, 221 ipcp_init, /* åæå */ 222 ipcp_input, /* å 223 ¥å */ 224 ipcp_protrej, /* Proto-REJ åä¿¡å¦ç */ 225 ipcp_lowerup, /* ä¸ä½å±¤ãèµ·åãã */ 226 ipcp_lowerdown, /* ä¸ä½å±¤ãåæ¢ãã */ 227 ipcp_open, /* ãªã¼ãã³ãã */ 228 ipcp_close, /* ã¯ãã¼ãºãã */ 229 ip_input, /* ãã¼ã¿å 230 ¥åãIPv4 å 231 ¥å */ 196 ipcp_init, /* 初期化 */ 197 ipcp_input, /* 入力 */ 198 ipcp_protrej, /* Proto-REJ 受信処理 */ 199 ipcp_lowerup, /* 下位層を起動する */ 200 ipcp_lowerdown, /* 下位層を停止する */ 201 ipcp_open, /* オープンする */ 202 ipcp_close, /* クローズする */ 203 ip_input, /* データ入力、IPv4 入力 */ 232 204 }; 233 205 234 T_IFNET ipcp_local_ack_cfg; /* ç¸æã«è¨±å¯ãããã®èªæ§ææ 235 å ± */ 236 T_IFNET ipcp_remote_ack_cfg; /* ç¸æã«è¨±å¯ããæ§ææ 237 å ± */ 238 239 /* 240 * ppp_get_ifnet -- ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹æ§é ä½ãè¿ãã 206 T_IFNET ipcp_local_ack_cfg; /* 相手に許可されたの自構成情報 */ 207 T_IFNET ipcp_remote_ack_cfg; /* 相手に許可した構成情報 */ 208 209 /* 210 * ppp_get_ifnet -- ネットワークインタフェース構造体を返す。 241 211 */ 242 212 … … 248 218 249 219 /* 250 * wait_ipcp -- IP æ¥ç¶å®äºã¾ã§å¾ 251 ã¤ã 252 * 253 * æ»ãå¤: æ¥ç¶ã«å¤±æããã E_OBJ ãè¿ãã 220 * wait_ipcp -- IP 接続完了まで待つ。 221 * 222 * 戻り値: 接続に失敗したら E_OBJ を返す。 254 223 */ 255 224 … … 265 234 #ifdef PPP_CFG_MODEM 266 235 267 /* ã¢ãã ã®æ¥ç¶å®äºã¾ã§å¾ 268 ã¤ã*/ 236 /* モデムの接続完了まで待つ。*/ 269 237 if ((error = wait_modem()) != E_OK) 270 238 return error; … … 273 241 274 242 /* 275 * ååãªã¼ãã³ããç¸æããã®æ¥ç¶å¾ 276 ã¡ãªã LCP ãä¸åº¦ã¯ãã¼ãºãã 277 * è½åãªã¼ãã³ç¶æ 278 ã§ãåãªã¼ãã³ããã 243 * 受動オープンし、相手からの接続待ちなら LCP を一度クローズし、 244 * 能動オープン状態で、再オープンする。 279 245 */ 280 246 lcp_close(); … … 286 252 287 253 if (ipcp_fsm.state != PPP_FSM_OPENED) { 288 /* IP æ¥ç¶å®äºã¾ã§å¾ 289 ã¤ã*/ 254 /* IP 接続完了まで待つ。*/ 290 255 wai_sem(SEM_IPCP_READY); 291 256 if (ipcp_fsm.state != PPP_FSM_OPENED) … … 297 262 298 263 /* 299 * ipcp_init -- IPCP ã¢ã¸ã¥ã¼ã«ã®åæå264 * ipcp_init -- IPCP モジュールの初期化 300 265 */ 301 266 … … 307 272 308 273 /* 309 * ipcp_input -- IPCP å 310 ¥å 274 * ipcp_input -- IPCP 入力 311 275 */ 312 276 … … 320 284 321 285 /* 322 * ipcp_resetci -- IPCPã®æ§ææ 323 å ±ããªã»ããããã 286 * ipcp_resetci -- IPCPの構成情報をリセットする。 324 287 */ 325 288 … … 327 290 ipcp_resetci (T_PPP_FSM *fsm) 328 291 { 329 /* èªæ§ææ 330 å ±ã®åæè¨å® */ 292 /* 自構成情報の初期設定 */ 331 293 ipcp_local_neg_cfg = ipcp_local_def_cfg; 332 294 memset((void*)&ipcp_local_ack_cfg, 0, sizeof(T_IFNET)); 333 295 334 /* ç¸æã®æ§ææ 335 å ±ã®åæè¨å® */ 296 /* 相手の構成情報の初期設定 */ 336 297 ipcp_remote_neg_cfg = ipcp_remote_def_cfg; 337 298 memset((void*)&ipcp_remote_ack_cfg, 0, sizeof(T_IFNET)); … … 339 300 340 301 /* 341 * ipcp_cilen -- æ§ææ 342 å ±ã®é·ããè¿ãã 302 * ipcp_cilen -- 構成情報の長さを返す。 343 303 */ 344 304 … … 348 308 int_t cilen = 0; 349 309 350 cilen += sizeof(T_PPP_CI_HDR) + sizeof(uint32_t); /* IPv4 ã¢ãã¬ã¹*/310 cilen += sizeof(T_PPP_CI_HDR) + sizeof(uint32_t); /* IPv4 アドレス */ 351 311 352 312 return cilen; … … 354 314 355 315 /* 356 * ipcp_addci -- IPCPã®æ§ææ 357 å ±ã追å ããã 316 * ipcp_addci -- IPCPの構成情報を追加する。 358 317 */ 359 318 … … 365 324 buf = output->buf + sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR); 366 325 367 /* IPv4 ã¢ãã¬ã¹ãªãã·ã§ã³ã追å ããã*/326 /* IPv4 アドレスオプションを追加する。 */ 368 327 *buf ++ = IPCP_CIT_ADDR; 369 328 *buf ++ = sizeof(T_PPP_CI_HDR) + sizeof(uint32_t); … … 373 332 374 333 /* 375 * ipcp_ackci -- ACK ãåä¿¡ããã¨ãã®å¦ç376 * 377 * æ»ãå¤: true ACK ã¯æ£å¸¸378 * false ACK ã¯ç°å¸¸334 * ipcp_ackci -- ACK を受信したときの処理 335 * 336 * 戻り値: true ACK は正常 337 * false ACK は異常 379 338 */ 380 339 … … 389 348 390 349 /* 391 * æ§ææ 392 å ±ã¯éä¿¡ããé ã«å®å 393 ¨ã«ä¸è´ããªããã°ãªããªãã 394 * å¾ã£ã¦ãipcp_addci ã§ä½æããé ã«è§£æããã 350 * 構成情報は送信した順に完全に一致しなければならない。 351 * 従って、ipcp_addci で作成した順に解析する。 395 352 */ 396 353 397 /* ADDR ãªãã·ã§ã³ã解æããã*/354 /* ADDR オプションを解析する。 */ 398 355 if (len < sizeof(T_PPP_CI_HDR) + sizeof(uint32_t) || 399 356 *buf ++ != IPCP_CIT_ADDR || … … 408 365 409 366 /* 410 * ipcp_nakci -- NAK ãåä¿¡ããã¨ãã®å¦ç411 * 412 * æ»ãå¤: 1 NAK ã¯æ£å¸¸413 * 0 NAK ã¯ç°å¸¸367 * ipcp_nakci -- NAK を受信したときの処理 368 * 369 * 戻り値: 1 NAK は正常 370 * 0 NAK は異常 414 371 */ 415 372 … … 427 384 new_cfg = ipcp_local_neg_cfg; 428 385 429 /* ADDR ãªãã·ã§ã³ã解æããã*/386 /* ADDR オプションを解析する。 */ 430 387 if (len >= sizeof(T_PPP_CI_HDR) + sizeof(uint32_t) && 431 388 * buf == IPCP_CIT_ADDR && … … 437 394 } 438 395 439 /* å¾ã¯ç¡è¦ããã*/396 /* 後は無視する。*/ 440 397 while (len > sizeof(T_PPP_CI_HDR)) { 441 398 cilen = *(buf + 1); … … 446 403 } 447 404 448 /* é·ãã 0 ã§ãªããã°ã¨ã©ã¼*/405 /* 長さが 0 でなければエラー */ 449 406 if (len != 0) 450 407 return 0; 451 408 452 /* æ°ãããªãã·ã§ã³ãè¨å®ããã*/409 /* 新しいオプションを設定する。*/ 453 410 if (fsm->state != PPP_FSM_OPENED) 454 411 ipcp_local_neg_cfg = new_cfg; … … 458 415 459 416 /* 460 * ipcp_rejci -- REJ ãåä¿¡ããã¨ãã®å¦ç461 * 462 * æ»ãå¤: 1 REJ ã¯æ£å¸¸463 * 0 REJ ã¯ç°å¸¸417 * ipcp_rejci -- REJ を受信したときの処理 418 * 419 * 戻り値: 1 REJ は正常 420 * 0 REJ は異常 464 421 */ 465 422 … … 476 433 new_cfg = ipcp_local_neg_cfg; 477 434 478 /* ADDR ãªãã·ã§ã³ã解æããã*/435 /* ADDR オプションを解析する。 */ 479 436 if (len >= sizeof(T_PPP_CI_HDR) + sizeof(uint32_t) && 480 437 * buf == IPCP_CIT_ADDR && … … 485 442 } 486 443 487 /* é·ãã 0 ã§ãªããã°ã¨ã©ã¼*/444 /* 長さが 0 でなければエラー */ 488 445 if (len != 0) 489 446 return 0; 490 447 491 /* æ°ãããªãã·ã§ã³ãè¨å®ããã*/448 /* 新しいオプションを設定する。*/ 492 449 if (fsm->state != PPP_FSM_OPENED) 493 450 ipcp_local_neg_cfg = new_cfg; … … 497 454 498 455 /* 499 * ipcp_reqci -- ç¸æã®æ§ææ 500 å ±ã解æããã 456 * ipcp_reqci -- 相手の構成情報を解析する。 501 457 */ 502 458 … … 509 465 510 466 rp = ap = input->buf + sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR); 511 /* rp: REJ ãap: ACK ãã CI ã®ãã¤ã³ã¿*/512 /* æå¦ããå ´åã¯ãå¼æ° buf ã«ä¸æ¸ãããã*/467 /* rp: REJ、ap: ACK する CI のポインタ */ 468 /* 拒否する場合は、引数 buf に上書きする。 */ 513 469 len = input->len - (sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR)); 514 470 np = output->buf + sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR); 515 final = PPP_CONFACK; /* æçµçã«éä¿¡ããã³ã¼ã*/471 final = PPP_CONFACK; /* 最終的に送信するコード */ 516 472 while (len > 0) { 517 473 code = PPP_CONFACK; 518 cp = ap; /* cp: ç¾å¨å¦çä¸ã®CI */474 cp = ap; /* cp: 現在処理中の CI */ 519 475 520 476 if (len < sizeof(T_PPP_CI_HDR)) { 521 477 522 /* æ®ãã CI ãããããçã*/478 /* 残りが CI ヘッダより短い */ 523 479 syslog(LOG_NOTICE, "[PPP/IPCP] bad CI len: %d.", len); 524 cilen = len; /* ãã¼ã¿é·ãç°å¸¸ã®å ´åã®å¦ç½®*/525 len = 0; /* ã«ã¼ãããæããã*/480 cilen = len; /* データ長が異常の場合の処置 */ 481 len = 0; /* ループから抜ける。 */ 526 482 code = PPP_CONFREJ; 527 483 goto endswitch; 528 484 } 529 485 530 type = *ap ++; /* CI ã®å*/531 cilen = *ap ++; /* CI ã®é·ã*/486 type = *ap ++; /* CI の型 */ 487 cilen = *ap ++; /* CI の長さ */ 532 488 if (len < cilen) { 533 489 534 /* æ®ãã CI é·ããçã*/490 /* 残りが CI 長より短い */ 535 491 syslog(LOG_NOTICE, "[PPP/IPCP] bad CI len: %d.", cilen); 536 cilen = len; /* ãã¼ã¿é·ãç°å¸¸ã®å ´åã®å¦ç½®*/537 len = 0; /* ã«ã¼ãããæããã*/492 cilen = len; /* データ長が異常の場合の処置 */ 493 len = 0; /* ループから抜ける。 */ 538 494 code = PPP_CONFREJ; 539 495 goto endswitch; … … 541 497 len -= sizeof(T_PPP_CI_HDR); 542 498 543 /* CI ã®åã«ããåå²ããã*/499 /* CI の型により分岐する。*/ 544 500 switch (type) { 545 501 546 case IPCP_CIT_ADDR: /* IPv4 ã¢ãã¬ã¹*/547 548 /* CI é·ããããã + 4 ãªã¯ãããã§ãªããã°ã¨ã©ã¼*/502 case IPCP_CIT_ADDR: /* IPv4 アドレス */ 503 504 /* CI 長が、ヘッダ + 4 オクテットでなければエラー */ 549 505 if (cilen != sizeof(T_PPP_CI_HDR) + sizeof(uint32_t)) 550 506 code = PPP_CONFREJ; … … 559 515 code = PPP_CONFNAK; 560 516 } 561 #if 1 /* è¦ç¢ºèª*/517 #if 1 /* 要確認 */ 562 518 else if (addr == 0 && ipcp_remote_neg_cfg.in4_ifaddr.addr == 0) 563 519 #else … … 578 534 579 535 if (code == PPP_CONFNAK) { 580 /* CI ã®åã Magic Number ã®å ´åãé¤ãã¦ãNAK ã®åæ°ã */ 581 /* æå¤§å¤ MAX_PPP_FAILURES ãè¶ 582 ãããæå¦ããã */ 536 /* CI の型が Magic Number の場合を除いて、NAK の回数が */ 537 /* 最大値 MAX_PPP_FAILURES を超えたら拒否する。 */ 583 538 if (fsm->failures >= MAX_PPP_FAILURES) 584 539 code = PPP_CONFREJ; … … 587 542 } 588 543 589 /* ãã® CI ãæå¦ãã*/544 /* この CI を拒否する */ 590 545 if (code == PPP_CONFREJ) { 591 if (rp < cp) /* åã«è©°ããã*/546 if (rp < cp) /* 前に詰める。*/ 592 547 memcpy(rp, cp, cilen); 593 548 rp += cilen; … … 599 554 } 600 555 601 /* æçµçãªé·ãã調æ´ããã*/556 /* 最終的な長さを調整する。*/ 602 557 switch (final) { 603 558 case PPP_CONFNAK: … … 617 572 618 573 /* 619 * ipcp_up -- ãªã³ã¯æ¥ç¶ã確ç«ããã574 * ipcp_up -- リンク接続を確立する。 620 575 */ 621 576 … … 623 578 ipcp_up (T_PPP_FSM *fsm) 624 579 { 625 /* èªæ§ææ 626 å ±ã®åæè¨å® */ 580 /* 自構成情報の初期設定 */ 627 581 ipcp_local_ack_cfg = ipcp_local_neg_cfg; 628 582 629 583 /* 630 * ãµãããããã¹ã¯ã¨631 * ãã¼ã«ã«ã»ããã¼ããã£ã¹ã IPv4 ã¢ãã¬ã¹ãè¨å®ããã584 * サブネットマスクと 585 * ローカル・ブロードキャスト IPv4 アドレスを設定する。 632 586 */ 633 587 ipcp_local_ack_cfg.in4_ifaddr.mask = MAKE_IPV4_LOCAL_MASK(ipcp_local_neg_cfg.in4_ifaddr.addr); 634 588 635 /* ç¸æã®æ§ææ 636 å ±ã®åæè¨å® */ 589 /* 相手の構成情報の初期設定 */ 637 590 ipcp_remote_ack_cfg = ipcp_remote_neg_cfg; 638 591 639 592 /* 640 * ãµãããããã¹ã¯ã¨641 * ãã¼ã«ã«ã»ããã¼ããã£ã¹ã IPv4 ã¢ãã¬ã¹ãè¨å®ããã593 * サブネットマスクと 594 * ローカル・ブロードキャスト IPv4 アドレスを設定する。 642 595 */ 643 596 ipcp_remote_ack_cfg.in4_ifaddr.mask = MAKE_IPV4_LOCAL_MASK(ipcp_remote_neg_cfg.in4_ifaddr.addr); … … 651 604 652 605 /* 653 * ipcp_down -- ãªã³ã¯æ¥ç¶ã解æ¾ããã606 * ipcp_down -- リンク接続を解放する。 654 607 */ 655 608 … … 662 615 663 616 /* 664 * ipcp_finished -- ä¸ä½å±¤ãçµäºããã617 * ipcp_finished -- 下位層を終了する。 665 618 */ 666 619 … … 671 624 672 625 /* 673 * ipcp_protrej -- Proto-REJ ãåä¿¡ããã¨ãã®å¦ç626 * ipcp_protrej -- Proto-REJ を受信したときの処理 674 627 */ 675 628 … … 681 634 682 635 /* 683 * ipcp_lowerup -- IPCP ä¸ä½å±¤ãèµ·åããã636 * ipcp_lowerup -- IPCP 下位層を起動する。 684 637 */ 685 638 … … 691 644 692 645 /* 693 * ipcp_lowerdown -- IPCP ä¸ä½å±¤ãåæ¢ããã646 * ipcp_lowerdown -- IPCP 下位層を停止する。 694 647 */ 695 648 … … 701 654 702 655 /* 703 * ipcp_open -- IPCP ã®ãªã¼ãã³656 * ipcp_open -- IPCP のオープン 704 657 */ 705 658 … … 711 664 712 665 /* 713 * ipcp_close -- IPCP ã®ã¯ãã¼ãº666 * ipcp_close -- IPCP のクローズ 714 667 */ 715 668 -
asp3_gr_sakura/trunk/tinet/net/ppp_ipcp.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 93 81 94 82 /* 95 * IPCP ã®æ§ææ 96 å ± (CI) 83 * IPCP の構成情報 (CI) 97 84 */ 98 85 99 86 /* 100 * CI ã®å87 * CI の型 101 88 */ 102 89 103 #define IPCP_CIT_ADDRS UINT_C(1) /* IP ã¢ãã¬ã¹ (å»æ£) */104 #define IPCP_CIT_COMP_TYPE UINT_C(2) /* å§ç¸®æ¹å¼*/105 #define IPCP_CIT_ADDR UINT_C(3) /* IP ã¢ãã¬ã¹*/90 #define IPCP_CIT_ADDRS UINT_C(1) /* IP アドレス (廃棄) */ 91 #define IPCP_CIT_COMP_TYPE UINT_C(2) /* 圧縮方式 */ 92 #define IPCP_CIT_ADDR UINT_C(3) /* IP アドレス */ 106 93 107 94 /* 108 * åæ¹åç 109 § 95 * 前方参照 110 96 */ 111 97 … … 119 105 120 106 /* 121 * å¤æ°107 * 変数 122 108 */ 123 109 … … 134 120 135 121 /* 136 * é¢æ°122 * 関数 137 123 */ 138 124 -
asp3_gr_sakura/trunk/tinet/net/ppp_ipv6cp.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 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 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 124 112 125 113 /* 126 * é¢æ°114 * 関数 127 115 */ 128 116 … … 136 124 137 125 /* 138 * FSM ããå¼åºãããã³ã¼ã«ããã¯é¢ 139 */ 140 141 static void ipv6cp_resetci(T_PPP_FSM *fsm); /* èªæ§ææ 142 å ±ããªã»ããããã */ 143 static int_t ipv6cp_cilen (T_PPP_FSM *fsm); /* æ§ææ 144 å ±ã®é·ããè¿ãã */ 126 * FSM から呼出されるコールバック関 127 */ 128 129 static void ipv6cp_resetci(T_PPP_FSM *fsm); /* 自構成情報をリセットする。 */ 130 static int_t ipv6cp_cilen (T_PPP_FSM *fsm); /* 構成情報の長さを返す。 */ 145 131 static void ipv6cp_addci (T_PPP_FSM *fsm, T_NET_BUF *output); 146 /* èªæ§ææ 147 å ±ã追å ããã */ 132 /* 自構成情報を追加する。 */ 148 133 static bool_t ipv6cp_ackci (T_PPP_FSM *fsm, T_NET_BUF *input); 149 /* ACK ãåä¿¡ããã¨ãã®å¦ç*/134 /* ACK を受信したときの処理 */ 150 135 static bool_t ipv6cp_nakci (T_PPP_FSM *fsm, T_NET_BUF *input); 151 /* NAK ãåä¿¡ããã¨ãã®å¦ç*/136 /* NAK を受信したときの処理 */ 152 137 static bool_t ipv6cp_rejci (T_PPP_FSM *fsm, T_NET_BUF *input); 153 /* REJ ãåä¿¡ããã¨ãã®å¦ç*/138 /* REJ を受信したときの処理 */ 154 139 static int_t ipv6cp_reqci (T_PPP_FSM *fsm, T_NET_BUF *input, T_NET_BUF *output); 155 /* ç¸æã®æ§ææ 156 å ±ã確èªããã */ 157 static void ipv6cp_up (T_PPP_FSM *fsm); /* ãªã³ã¯æ¥ç¶ã確ç«ããã */ 158 static void ipv6cp_down (T_PPP_FSM *fsm); /* ãªã³ã¯æ¥ç¶ã解æ¾ããã */ 159 static void ipv6cp_finished(T_PPP_FSM *fsm); /* ä¸ä½å±¤ãçµäºããã */ 160 161 /* 162 * å¤æ° 163 */ 164 165 static T_IFNET ipv6cp_local_def_cfg = { /* èªæ§ææ 166 å ±ã®è¦å®å¤ */ 167 NULL, /* ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã®ã½ããã¦ã§ã¢æ 168 å ± */ 169 {}, /* IPv6 ã¢ãã¬ã¹æ 170 å ± */ 171 {}, /* ãã«ããã£ã¹ã IPv6 ã¢ãã¬ã¹ */ 172 0, /* ãã©ã° */ 140 /* 相手の構成情報を確認する。 */ 141 static void ipv6cp_up (T_PPP_FSM *fsm); /* リンク接続を確立する。 */ 142 static void ipv6cp_down (T_PPP_FSM *fsm); /* リンク接続を解放する。 */ 143 static void ipv6cp_finished(T_PPP_FSM *fsm); /* 下位層を終了する。 */ 144 145 /* 146 * 変数 147 */ 148 149 static T_IFNET ipv6cp_local_def_cfg = { /* 自構成情報の規定値 */ 150 NULL, /* ネットワークインタフェースのソフトウェア情報 */ 151 {}, /* IPv6 アドレス情報 */ 152 {}, /* マルチキャスト IPv6 アドレス */ 153 0, /* フラグ */ 173 154 }; 174 155 175 static T_IFNET ipv6cp_remote_def_cfg = { /* ç¸æã®æ§ææ 176 å ±ã®è¦å®å¤ */ 177 NULL, /* ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã®ã½ããã¦ã§ã¢æ 178 å ± */ 179 {}, /* IPv6 ã¢ãã¬ã¹æ 180 å ± */ 181 {}, /* ãã«ããã£ã¹ã IPv6 ã¢ãã¬ã¹ */ 182 0, /* ãã©ã° */ 156 static T_IFNET ipv6cp_remote_def_cfg = { /* 相手の構成情報の規定値 */ 157 NULL, /* ネットワークインタフェースのソフトウェア情報 */ 158 {}, /* IPv6 アドレス情報 */ 159 {}, /* マルチキャスト IPv6 アドレス */ 160 0, /* フラグ */ 183 161 }; 184 162 185 static T_IFNET ipv6cp_local_neg_cfg; /* ãã´ä¸ã®èªæ§ææ 186 å ± */ 187 188 static T_IFNET ipv6cp_remote_neg_cfg; /* ãã´ä¸ã®ç¸æã®æ§ææ 189 å ± */ 190 191 /* 192 * å 193 ¨åå¤æ° 163 static T_IFNET ipv6cp_local_neg_cfg; /* ネゴ中の自構成情報 */ 164 165 static T_IFNET ipv6cp_remote_neg_cfg; /* ネゴ中の相手の構成情報 */ 166 167 /* 168 * 全域変数 194 169 */ 195 170 196 171 T_PPP_FSM_CALLBACKS ipv6cp_callbacks = { 197 ipv6cp_resetci, /* èªæ§ææ 198 å ±ããªã»ããããã */ 199 ipv6cp_cilen, /* æ§ææ 200 å ±ã®é·ããè¿ãã */ 201 ipv6cp_addci, /* èªæ§ææ 202 å ±ã追å ããã */ 203 ipv6cp_ackci, /* ACK ãåä¿¡ããã¨ãã®å¦ç */ 204 ipv6cp_nakci, /* NAK ãåä¿¡ããã¨ãã®å¦ç */ 205 ipv6cp_rejci, /* REJ ãåä¿¡ããã¨ãã®å¦ç */ 206 ipv6cp_reqci, /* ç¸æã®æ§ææ 207 å ±ã確èªããã */ 208 ipv6cp_up, /* ãªã³ã¯æ¥ç¶ã確ç«ããã */ 209 ipv6cp_down, /* ãªã³ã¯æ¥ç¶ã解æ¾ããã */ 210 NULL, /* ä¸ä½å±¤ãéå§ããã */ 211 ipv6cp_finished, /* ä¸ä½å±¤ãçµäºããã */ 212 NULL, /* åéããã */ 213 NULL, /* ä¸æ㪠CP ãåä¿¡ããã¨ãã®å¦ç */ 172 ipv6cp_resetci, /* 自構成情報をリセットする。 */ 173 ipv6cp_cilen, /* 構成情報の長さを返す。 */ 174 ipv6cp_addci, /* 自構成情報を追加する。 */ 175 ipv6cp_ackci, /* ACK を受信したときの処理 */ 176 ipv6cp_nakci, /* NAK を受信したときの処理 */ 177 ipv6cp_rejci, /* REJ を受信したときの処理 */ 178 ipv6cp_reqci, /* 相手の構成情報を確認する。 */ 179 ipv6cp_up, /* リンク接続を確立する。 */ 180 ipv6cp_down, /* リンク接続を解放する。 */ 181 NULL, /* 下位層を開始する。 */ 182 ipv6cp_finished, /* 下位層を終了する。 */ 183 NULL, /* 再送する。 */ 184 NULL, /* 不明な CP を受信したときの処理 */ 214 185 }; 215 186 216 187 T_PPP_FSM ipv6cp_fsm = { 217 &ipv6cp_callbacks, /* ã³ã¼ã«ããã¯é¢æ°*/218 PPP_IPV6CP, /* ãããã³ã«*/188 &ipv6cp_callbacks, /* コールバック関数 */ 189 PPP_IPV6CP, /* プロトコル */ 219 190 }; 220 191 221 192 T_PPP_PROTENT ipv6cp_protent = { 222 193 PPP_IPV6CP, 223 ipv6cp_init, /* åæå */ 224 ipv6cp_input, /* å 225 ¥å */ 226 ipv6cp_protrej, /* Proto-REJ åä¿¡å¦ç */ 227 ipv6cp_lowerup, /* ä¸ä½å±¤ãèµ·åãã */ 228 ipv6cp_lowerdown, /* ä¸ä½å±¤ãåæ¢ãã */ 229 ipv6cp_open, /* ãªã¼ãã³ãã */ 230 ipv6cp_close, /* ã¯ãã¼ãºãã */ 231 ip6_input, /* ãã¼ã¿å 232 ¥åãIPv6 å 233 ¥å */ 194 ipv6cp_init, /* 初期化 */ 195 ipv6cp_input, /* 入力 */ 196 ipv6cp_protrej, /* Proto-REJ 受信処理 */ 197 ipv6cp_lowerup, /* 下位層を起動する */ 198 ipv6cp_lowerdown, /* 下位層を停止する */ 199 ipv6cp_open, /* オープンする */ 200 ipv6cp_close, /* クローズする */ 201 ip6_input, /* データ入力、IPv6 入力 */ 234 202 }; 235 203 236 T_IFNET ipv6cp_local_ack_cfg; /* ç¸æã«è¨±å¯ãããã®èªæ§ææ 237 å ± */ 238 T_IFNET ipv6cp_remote_ack_cfg; /* ç¸æã«è¨±å¯ããæ§ææ 239 å ± */ 240 241 /* 242 * ppp_get_ifnet -- ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹æ§é ä½ãè¿ãã 204 T_IFNET ipv6cp_local_ack_cfg; /* 相手に許可されたの自構成情報 */ 205 T_IFNET ipv6cp_remote_ack_cfg; /* 相手に許可した構成情報 */ 206 207 /* 208 * ppp_get_ifnet -- ネットワークインタフェース構造体を返す。 243 209 */ 244 210 … … 250 216 251 217 /* 252 * wait_ipv6cp -- IP æ¥ç¶å®äºã¾ã§å¾ 253 ã¤ã 254 * 255 * æ»ãå¤: æ¥ç¶ã«å¤±æããã E_OBJ ãè¿ãã 218 * wait_ipv6cp -- IP 接続完了まで待つ。 219 * 220 * 戻り値: 接続に失敗したら E_OBJ を返す。 256 221 */ 257 222 … … 267 232 #ifdef PPP_CFG_MODEM 268 233 269 /* ã¢ãã ã®æ¥ç¶å®äºã¾ã§å¾ 270 ã¤ã*/ 234 /* モデムの接続完了まで待つ。*/ 271 235 if ((error = wait_modem()) != E_OK) 272 236 return error; … … 275 239 276 240 /* 277 * ååãªã¼ãã³ããç¸æããã®æ¥ç¶å¾ 278 ã¡ãªã LCP ãä¸åº¦ã¯ãã¼ãºãã 279 * è½åãªã¼ãã³ç¶æ 280 ã§ãåãªã¼ãã³ããã 241 * 受動オープンし、相手からの接続待ちなら LCP を一度クローズし、 242 * 能動オープン状態で、再オープンする。 281 243 */ 282 244 lcp_close(); … … 288 250 289 251 if (ipv6cp_fsm.state != PPP_FSM_OPENED) { 290 /* IP æ¥ç¶å®äºã¾ã§å¾ 291 ã¤ã*/ 252 /* IP 接続完了まで待つ。*/ 292 253 wai_sem(SEM_IPV6CP_READY); 293 254 if (ipv6cp_fsm.state != PPP_FSM_OPENED) … … 299 260 300 261 /* 301 * ipv6cp_init -- IPV6CP ã¢ã¸ã¥ã¼ã«ã®åæå262 * ipv6cp_init -- IPV6CP モジュールの初期化 302 263 */ 303 264 … … 309 270 310 271 /* 311 * ipv6cp_input -- IPV6CP å 312 ¥å 272 * ipv6cp_input -- IPV6CP 入力 313 273 */ 314 274 … … 322 282 323 283 /* 324 * ipv6cp_resetci -- IPV6CPã®æ§ææ 325 å ±ããªã»ããããã 284 * ipv6cp_resetci -- IPV6CPの構成情報をリセットする。 326 285 */ 327 286 … … 329 288 ipv6cp_resetci (T_PPP_FSM *fsm) 330 289 { 331 /* èªæ§ææ 332 å ±ã®åæè¨å® */ 290 /* 自構成情報の初期設定 */ 333 291 ipv6cp_local_neg_cfg = ipv6cp_local_def_cfg; 334 292 memset((void*)&ipv6cp_local_ack_cfg, 0, sizeof(T_IFNET)); 335 293 336 /* ç¸æã®æ§ææ 337 å ±ã®åæè¨å® */ 294 /* 相手の構成情報の初期設定 */ 338 295 ipv6cp_remote_neg_cfg = ipv6cp_remote_def_cfg; 339 296 memset((void*)&ipv6cp_remote_ack_cfg, 0, sizeof(T_IFNET)); … … 341 298 342 299 /* 343 * ipv6cp_cilen -- æ§ææ 344 å ±ã®é·ããè¿ãã 300 * ipv6cp_cilen -- 構成情報の長さを返す。 345 301 */ 346 302 … … 350 306 int_t cilen = 0; 351 307 352 cilen += sizeof(T_PPP_CI_HDR) + sizeof(uint32_t); /* IPv6 ã¢ãã¬ã¹*/308 cilen += sizeof(T_PPP_CI_HDR) + sizeof(uint32_t); /* IPv6 アドレス */ 353 309 354 310 return cilen; … … 356 312 357 313 /* 358 * ipv6cp_addci -- IPV6CPã®æ§ææ 359 å ±ã追å ããã 314 * ipv6cp_addci -- IPV6CPの構成情報を追加する。 360 315 */ 361 316 … … 367 322 buf = output->buf + sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR); 368 323 369 /* IPv6 ã¢ãã¬ã¹ãªãã·ã§ã³ã追å ããã*/324 /* IPv6 アドレスオプションを追加する。 */ 370 325 *buf ++ = IPV6CP_CIT_ADDR; 371 326 *buf ++ = sizeof(T_PPP_CI_HDR) + sizeof(uint32_t); … … 375 330 376 331 /* 377 * ipv6cp_ackci -- ACK ãåä¿¡ããã¨ãã®å¦ç378 * 379 * æ»ãå¤: true ACK ã¯æ£å¸¸380 * false ACK ã¯ç°å¸¸332 * ipv6cp_ackci -- ACK を受信したときの処理 333 * 334 * 戻り値: true ACK は正常 335 * false ACK は異常 381 336 */ 382 337 … … 391 346 392 347 /* 393 * æ§ææ 394 å ±ã¯éä¿¡ããé ã«å®å 395 ¨ã«ä¸è´ããªããã°ãªããªãã 396 * å¾ã£ã¦ãipv6cp_addci ã§ä½æããé ã«è§£æããã 348 * 構成情報は送信した順に完全に一致しなければならない。 349 * 従って、ipv6cp_addci で作成した順に解析する。 397 350 */ 398 351 399 /* ADDR ãªãã·ã§ã³ã解æããã*/352 /* ADDR オプションを解析する。 */ 400 353 if (len < sizeof(T_PPP_CI_HDR) + sizeof(uint32_t) || 401 354 *buf ++ != IPV6CP_CIT_ADDR || … … 410 363 411 364 /* 412 * ipv6cp_nakci -- NAK ãåä¿¡ããã¨ãã®å¦ç413 * 414 * æ»ãå¤: 1 NAK ã¯æ£å¸¸415 * 0 NAK ã¯ç°å¸¸365 * ipv6cp_nakci -- NAK を受信したときの処理 366 * 367 * 戻り値: 1 NAK は正常 368 * 0 NAK は異常 416 369 */ 417 370 … … 429 382 new_cfg = ipv6cp_local_neg_cfg; 430 383 431 /* ADDR ãªãã·ã§ã³ã解æããã*/384 /* ADDR オプションを解析する。 */ 432 385 if (len >= sizeof(T_PPP_CI_HDR) + sizeof(addr) && 433 386 * buf == IPV6CP_CIT_ADDR && … … 438 391 } 439 392 440 /* å¾ã¯ç¡è¦ããã*/393 /* 後は無視する。*/ 441 394 while (len > sizeof(T_PPP_CI_HDR)) { 442 395 cilen = *(buf + 1); … … 447 400 } 448 401 449 /* é·ãã 0 ã§ãªããã°ã¨ã©ã¼*/402 /* 長さが 0 でなければエラー */ 450 403 if (len != 0) 451 404 return 0; 452 405 453 /* æ°ãããªãã·ã§ã³ãè¨å®ããã*/406 /* 新しいオプションを設定する。*/ 454 407 if (fsm->state != PPP_FSM_OPENED) 455 408 ipv6cp_local_neg_cfg = new_cfg; … … 459 412 460 413 /* 461 * ipv6cp_rejci -- REJ ãåä¿¡ããã¨ãã®å¦ç462 * 463 * æ»ãå¤: 1 REJ ã¯æ£å¸¸464 * 0 REJ ã¯ç°å¸¸414 * ipv6cp_rejci -- REJ を受信したときの処理 415 * 416 * 戻り値: 1 REJ は正常 417 * 0 REJ は異常 465 418 */ 466 419 … … 477 430 new_cfg = ipv6cp_local_neg_cfg; 478 431 479 /* ADDR ãªãã·ã§ã³ã解æããã*/432 /* ADDR オプションを解析する。 */ 480 433 if (len >= sizeof(T_PPP_CI_HDR) + sizeof(new_cfg.in6_ifaddrs[0].addr) && 481 434 * buf == IPV6CP_CIT_ADDR && … … 487 440 } 488 441 489 /* é·ãã 0 ã§ãªããã°ã¨ã©ã¼*/442 /* 長さが 0 でなければエラー */ 490 443 if (len != 0) 491 444 return 0; 492 445 493 /* æ°ãããªãã·ã§ã³ãè¨å®ããã*/446 /* 新しいオプションを設定する。*/ 494 447 if (fsm->state != PPP_FSM_OPENED) 495 448 ipv6cp_local_neg_cfg = new_cfg; … … 499 452 500 453 /* 501 * ipv6cp_reqci -- ç¸æã®æ§ææ 502 å ±ã解æããã 454 * ipv6cp_reqci -- 相手の構成情報を解析する。 503 455 */ 504 456 … … 511 463 512 464 rp = ap = input->buf + sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR); 513 /* rp: REJ ãap: ACK ãã CI ã®ãã¤ã³ã¿*/514 /* æå¦ããå ´åã¯ãå¼æ° buf ã«ä¸æ¸ãããã*/465 /* rp: REJ、ap: ACK する CI のポインタ */ 466 /* 拒否する場合は、引数 buf に上書きする。 */ 515 467 len = input->len - (sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR)); 516 468 np = output->buf + sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR); 517 final = PPP_CONFACK; /* æçµçã«éä¿¡ããã³ã¼ã*/469 final = PPP_CONFACK; /* 最終的に送信するコード */ 518 470 while (len > 0) { 519 471 code = PPP_CONFACK; 520 cp = ap; /* cp: ç¾å¨å¦çä¸ã®CI */472 cp = ap; /* cp: 現在処理中の CI */ 521 473 522 474 if (len < sizeof(T_PPP_CI_HDR)) { 523 475 524 /* æ®ãã CI ãããããçã*/476 /* 残りが CI ヘッダより短い */ 525 477 syslog(LOG_NOTICE, "[PPP/IPV6CP] bad CI len: %d.", len); 526 cilen = len; /* ãã¼ã¿é·ãç°å¸¸ã®å ´åã®å¦ç½®*/527 len = 0; /* ã«ã¼ãããæããã*/478 cilen = len; /* データ長が異常の場合の処置 */ 479 len = 0; /* ループから抜ける。 */ 528 480 code = PPP_CONFREJ; 529 481 goto endswitch; 530 482 } 531 483 532 type = *ap ++; /* CI ã®å*/533 cilen = *ap ++; /* CI ã®é·ã*/484 type = *ap ++; /* CI の型 */ 485 cilen = *ap ++; /* CI の長さ */ 534 486 if (len < cilen) { 535 487 536 /* æ®ãã CI é·ããçã*/488 /* 残りが CI 長より短い */ 537 489 syslog(LOG_NOTICE, "[PPP/IPV6CP] bad CI len: %d.", cilen); 538 cilen = len; /* ãã¼ã¿é·ãç°å¸¸ã®å ´åã®å¦ç½®*/539 len = 0; /* ã«ã¼ãããæããã*/490 cilen = len; /* データ長が異常の場合の処置 */ 491 len = 0; /* ループから抜ける。 */ 540 492 code = PPP_CONFREJ; 541 493 goto endswitch; … … 543 495 len -= sizeof(T_PPP_CI_HDR); 544 496 545 /* CI ã®åã«ããåå²ããã*/497 /* CI の型により分岐する。*/ 546 498 switch (type) { 547 499 548 case IPV6CP_CIT_ADDR: /* IPv6 ã¢ãã¬ã¹*/549 550 /* CI é·ããããã + 4 ãªã¯ãããã§ãªããã°ã¨ã©ã¼*/500 case IPV6CP_CIT_ADDR: /* IPv6 アドレス */ 501 502 /* CI 長が、ヘッダ + 4 オクテットでなければエラー */ 551 503 if (cilen != sizeof(T_PPP_CI_HDR) + sizeof(addr)) 552 504 code = PPP_CONFREJ; … … 564 516 code = PPP_CONFNAK; 565 517 } 566 #if 1 /* è¦ç¢ºèª*/518 #if 1 /* 要確認 */ 567 519 else if (IN6_IS_ADDR_UNSPECIFIED(&addr) && 568 520 IN6_IS_ADDR_UNSPECIFIED(&ipv6cp_remote_neg_cfg.in6_ifaddrs[0])) … … 585 537 586 538 if (code == PPP_CONFNAK) { 587 /* CI ã®åã Magic Number ã®å ´åãé¤ãã¦ãNAK ã®åæ°ã */ 588 /* æå¤§å¤ MAX_PPP_FAILURES ãè¶ 589 ãããæå¦ããã */ 539 /* CI の型が Magic Number の場合を除いて、NAK の回数が */ 540 /* 最大値 MAX_PPP_FAILURES を超えたら拒否する。 */ 590 541 if (fsm->failures >= MAX_PPP_FAILURES) 591 542 code = PPP_CONFREJ; … … 594 545 } 595 546 596 /* ãã® CI ãæå¦ãã*/547 /* この CI を拒否する */ 597 548 if (code == PPP_CONFREJ) { 598 if (rp < cp) /* åã«è©°ããã*/549 if (rp < cp) /* 前に詰める。*/ 599 550 memcpy(rp, cp, cilen); 600 551 rp += cilen; … … 606 557 } 607 558 608 /* æçµçãªé·ãã調æ´ããã*/559 /* 最終的な長さを調整する。*/ 609 560 switch (final) { 610 561 case PPP_CONFNAK: … … 624 575 625 576 /* 626 * ipv6cp_up -- ãªã³ã¯æ¥ç¶ã確ç«ããã577 * ipv6cp_up -- リンク接続を確立する。 627 578 */ 628 579 … … 630 581 ipv6cp_up (T_PPP_FSM *fsm) 631 582 { 632 /* èªæ§ææ 633 å ±ã®åæè¨å® */ 583 /* 自構成情報の初期設定 */ 634 584 ipv6cp_local_ack_cfg = ipv6cp_local_neg_cfg; 635 585 … … 642 592 643 593 /* 644 * ipv6cp_down -- ãªã³ã¯æ¥ç¶ã解æ¾ããã594 * ipv6cp_down -- リンク接続を解放する。 645 595 */ 646 596 … … 653 603 654 604 /* 655 * ipv6cp_finished -- ä¸ä½å±¤ãçµäºããã605 * ipv6cp_finished -- 下位層を終了する。 656 606 */ 657 607 … … 662 612 663 613 /* 664 * ipv6cp_protrej -- Proto-REJ ãåä¿¡ããã¨ãã®å¦ç614 * ipv6cp_protrej -- Proto-REJ を受信したときの処理 665 615 */ 666 616 … … 672 622 673 623 /* 674 * ipv6cp_lowerup -- IPV6CP ä¸ä½å±¤ãèµ·åããã624 * ipv6cp_lowerup -- IPV6CP 下位層を起動する。 675 625 */ 676 626 … … 682 632 683 633 /* 684 * ipv6cp_lowerdown -- IPV6CP ä¸ä½å±¤ãåæ¢ããã634 * ipv6cp_lowerdown -- IPV6CP 下位層を停止する。 685 635 */ 686 636 … … 692 642 693 643 /* 694 * ipv6cp_open -- IPV6CP ã®ãªã¼ãã³644 * ipv6cp_open -- IPV6CP のオープン 695 645 */ 696 646 … … 702 652 703 653 /* 704 * ipv6cp_close -- IPV6CP ã®ã¯ãã¼ãº654 * ipv6cp_close -- IPV6CP のクローズ 705 655 */ 706 656 -
asp3_gr_sakura/trunk/tinet/net/ppp_ipv6cp.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 93 81 94 82 /* 95 * IPV6CP ã®æ§ææ 96 å ± (CI) 83 * IPV6CP の構成情報 (CI) 97 84 */ 98 85 99 86 /* 100 * CI ã®å87 * CI の型 101 88 */ 102 89 103 #define IPV6CP_CIT_ADDRS UINT_C(1) /* IP ã¢ãã¬ã¹ (å»æ£) */104 #define IPV6CP_CIT_COMP_TYPE UINT_C(2) /* å§ç¸®æ¹å¼*/105 #define IPV6CP_CIT_ADDR UINT_C(3) /* IP ã¢ãã¬ã¹*/90 #define IPV6CP_CIT_ADDRS UINT_C(1) /* IP アドレス (廃棄) */ 91 #define IPV6CP_CIT_COMP_TYPE UINT_C(2) /* 圧縮方式 */ 92 #define IPV6CP_CIT_ADDR UINT_C(3) /* IP アドレス */ 106 93 107 94 /* 108 * åæ¹åç 109 § 95 * 前方参照 110 96 */ 111 97 … … 119 105 120 106 /* 121 * å¤æ°107 * 変数 122 108 */ 123 109 … … 134 120 135 121 /* 136 * é¢æ°122 * 関数 137 123 */ 138 124 -
asp3_gr_sakura/trunk/tinet/net/ppp_lcp.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 113 101 114 102 /* 115 * é¢æ°103 * 関数 116 104 */ 117 105 … … 131 119 132 120 /* 133 * FSM ããå¼åºãããã³ã¼ã«ããã¯é¢æ° 134 */ 135 136 static void lcp_resetci(T_PPP_FSM *fsm); /* èªæ§ææ 137 å ±ããªã»ããããã */ 138 static int_t lcp_cilen (T_PPP_FSM *fsm); /* æ§ææ 139 å ±ã®é·ããè¿ãã */ 121 * FSM から呼出されるコールバック関数 122 */ 123 124 static void lcp_resetci(T_PPP_FSM *fsm); /* 自構成情報をリセットする。 */ 125 static int_t lcp_cilen (T_PPP_FSM *fsm); /* 構成情報の長さを返す。 */ 140 126 static void lcp_addci (T_PPP_FSM *fsm, T_NET_BUF *output); 141 /* èªæ§ææ 142 å ±ã追å ããã */ 127 /* 自構成情報を追加する。 */ 143 128 static bool_t lcp_ackci (T_PPP_FSM *fsm, T_NET_BUF *input); 144 /* ACK ãåä¿¡ããã¨ãã®å¦ç*/129 /* ACK を受信したときの処理 */ 145 130 static bool_t lcp_nakci (T_PPP_FSM *fsm, T_NET_BUF *input); 146 /* NAK ãåä¿¡ããã¨ãã®å¦ç*/131 /* NAK を受信したときの処理 */ 147 132 static bool_t lcp_rejci (T_PPP_FSM *fsm, T_NET_BUF *input); 148 /* REJ ãåä¿¡ããã¨ãã®å¦ç*/133 /* REJ を受信したときの処理 */ 149 134 static int_t lcp_reqci (T_PPP_FSM *fsm, T_NET_BUF *input, T_NET_BUF *output); 150 /* ç¸æã®æ§ææ 151 å ±ã確èªããã */ 152 static void lcp_up (T_PPP_FSM *fsm); /* ãªã³ã¯æ¥ç¶ã確ç«ããã */ 153 static void lcp_starting(T_PPP_FSM *fsm); /* ä¸ä½å±¤ãéå§ããã */ 135 /* 相手の構成情報を確認する。 */ 136 static void lcp_up (T_PPP_FSM *fsm); /* リンク接続を確立する。 */ 137 static void lcp_starting(T_PPP_FSM *fsm); /* 下位層を開始する。 */ 154 138 static bool_t lcp_extcode (T_PPP_FSM *fsm, uint8_t code, uint8_t id, T_NET_BUF *input); 155 /* ä¸æ㪠CP ãåä¿¡ããã¨ãã®å¦ç*/139 /* 不明な CP を受信したときの処理 */ 156 140 static void lcp_rprotrej(T_PPP_FSM *fsm, T_NET_BUF *input); 157 /* Proto-REJ ãåä¿¡ããã¨ãã®å¦ç */ 158 /* 159 * å¤æ° 160 */ 161 162 static T_LCP_CONFIGS lcp_def_cfg = { /* æ§ææ 163 å ±ã®åæè¨å®å¤ */ 141 /* Proto-REJ を受信したときの処理 */ 142 /* 143 * 変数 144 */ 145 146 static T_LCP_CONFIGS lcp_def_cfg = { /* 構成情報の初期設定値 */ 164 147 DEF_REMOTE_ACCM, /* ACCM */ 165 148 166 149 #ifdef LCP_CFG_MAGIC 167 150 168 ULONG_C(0), /* ãã¸ãã¯çªå·*/151 ULONG_C(0), /* マジック番号 */ 169 152 170 153 #endif /* of #ifdef LCP_CFG_MAGIC */ 171 154 172 155 DEF_PPP_MTU, /* MRU */ 173 UINT_C(0), /* ãªãã·ã§ã³ãã©ã°*/156 UINT_C(0), /* オプションフラグ */ 174 157 }; 175 158 176 static T_LCP_CONFIGS lcp_local_def_cfg = { /* èªæ§ææ 177 å ±ã®è¦å®å¤ */ 159 static T_LCP_CONFIGS lcp_local_def_cfg = { /* 自構成情報の規定値 */ 178 160 DEF_LOCAL_ACCM, /* ACCM */ 179 161 180 162 #ifdef LCP_CFG_MAGIC 181 163 182 ULONG_C(0), /* ãã¸ãã¯çªå·*/164 ULONG_C(0), /* マジック番号 */ 183 165 184 166 #endif /* of #ifdef LCP_CFG_MAGIC */ 185 167 186 168 DEF_PPP_MTU, /* MRU */ 187 DEF_LCP_LOCAL_CFGS, /* ãªãã·ã§ã³ãã©ã°*/169 DEF_LCP_LOCAL_CFGS, /* オプションフラグ */ 188 170 }; 189 171 190 static T_LCP_CONFIGS lcp_local_neg_cfg; /* ãã´ä¸ã®èªæ§ææ 191 å ± */ 192 193 static T_LCP_CONFIGS lcp_remote_neg_cfg; /* ãã´ä¸ã®ç¸æã®æ§ææ 194 å ± */ 172 static T_LCP_CONFIGS lcp_local_neg_cfg; /* ネゴ中の自構成情報 */ 173 174 static T_LCP_CONFIGS lcp_remote_neg_cfg; /* ネゴ中の相手の構成情報 */ 195 175 196 176 #if DEF_LCP_LOCAL_CFGS & LCP_CFG_MAGIC … … 203 183 204 184 /* 205 * å 206 ¨åå¤æ° 185 * 全域変数 207 186 */ 208 187 209 188 T_PPP_FSM_CALLBACKS lcp_callbacks = { 210 lcp_resetci, /* èªæ§ææ 211 å ±ããªã»ããããã */ 212 lcp_cilen, /* æ§ææ 213 å ±ã®é·ããè¿ãã */ 214 lcp_addci, /* èªæ§ææ 215 å ±ã追å ããã */ 216 lcp_ackci, /* ACK ãåä¿¡ããã¨ãã®å¦ç */ 217 lcp_nakci, /* NAK ãåä¿¡ããã¨ãã®å¦ç */ 218 lcp_rejci, /* REJ ãåä¿¡ããã¨ãã®å¦ç */ 219 lcp_reqci, /* ç¸æã®æ§ææ 220 å ±ã確èªããã */ 221 lcp_up, /* ãªã³ã¯æ¥ç¶ã確ç«ããã */ 222 lcp_down, /* ãªã³ã¯æ¥ç¶ã解æ¾ããã */ 223 lcp_starting, /* ä¸ä½å±¤ãéå§ããã */ 224 lcp_finished, /* ä¸ä½å±¤ãçµäºããã */ 225 NULL, /* åéããã */ 226 lcp_extcode, /* ä¸æ㪠CP ãåä¿¡ããã¨ãã®å¦ç */ 189 lcp_resetci, /* 自構成情報をリセットする。 */ 190 lcp_cilen, /* 構成情報の長さを返す。 */ 191 lcp_addci, /* 自構成情報を追加する。 */ 192 lcp_ackci, /* ACK を受信したときの処理 */ 193 lcp_nakci, /* NAK を受信したときの処理 */ 194 lcp_rejci, /* REJ を受信したときの処理 */ 195 lcp_reqci, /* 相手の構成情報を確認する。 */ 196 lcp_up, /* リンク接続を確立する。 */ 197 lcp_down, /* リンク接続を解放する。 */ 198 lcp_starting, /* 下位層を開始する。 */ 199 lcp_finished, /* 下位層を終了する。 */ 200 NULL, /* 再送する。 */ 201 lcp_extcode, /* 不明な CP を受信したときの処理 */ 227 202 }; 228 203 229 204 T_PPP_FSM lcp_fsm = { 230 &lcp_callbacks, /* ã³ã¼ã«ããã¯é¢æ°*/231 PPP_LCP, /* ãããã³ã«*/205 &lcp_callbacks, /* コールバック関数 */ 206 PPP_LCP, /* プロトコル */ 232 207 }; 233 208 234 209 T_PPP_PROTENT lcp_protent = { 235 210 PPP_LCP, 236 lcp_init, /* åæå */ 237 lcp_input, /* å 238 ¥å */ 239 lcp_protrej, /* Proto-REJ åä¿¡å¦ç */ 240 NULL, /* ä¸ä½å±¤ãèµ·åãã */ 241 lcp_lowerdown, /* ä¸ä½å±¤ãåæ¢ãã */ 242 NULL, /* ãªã¼ãã³ãã */ 243 lcp_close, /* ã¯ãã¼ãºãã */ 244 NULL, /* ãã¼ã¿å 245 ¥å */ 211 lcp_init, /* 初期化 */ 212 lcp_input, /* 入力 */ 213 lcp_protrej, /* Proto-REJ 受信処理 */ 214 NULL, /* 下位層を起動する */ 215 lcp_lowerdown, /* 下位層を停止する */ 216 NULL, /* オープンする */ 217 lcp_close, /* クローズする */ 218 NULL, /* データ入力 */ 246 219 }; 247 220 248 T_LCP_CONFIGS lcp_local_ack_cfg; /* ç¸æã«è¨±å¯ãããã®èªæ§ææ 249 å ± */ 250 T_LCP_CONFIGS lcp_remote_ack_cfg; /* ç¸æã«è¨±å¯ããæ§ææ 251 å ± */ 252 253 /* 254 * lcp_init -- LCP ã¢ã¸ã¥ã¼ã«ã®åæå 221 T_LCP_CONFIGS lcp_local_ack_cfg; /* 相手に許可されたの自構成情報 */ 222 T_LCP_CONFIGS lcp_remote_ack_cfg; /* 相手に許可した構成情報 */ 223 224 /* 225 * lcp_init -- LCP モジュールの初期化 255 226 */ 256 227 … … 262 233 263 234 /* 264 * lcp_input -- LCP å 265 ¥å 235 * lcp_input -- LCP 入力 266 236 */ 267 237 … … 275 245 276 246 /* 277 * lcp_resetci -- LCPã®æ§ææ 278 å ±ããªã»ããããã 247 * lcp_resetci -- LCPの構成情報をリセットする。 279 248 */ 280 249 … … 288 257 #endif /* of #ifdef LCP_CFG_MAGIC */ 289 258 290 /* èªæ§ææ 291 å ±ã®åæè¨å® */ 259 /* 自構成情報の初期設定 */ 292 260 lcp_local_neg_cfg = lcp_local_def_cfg; 293 261 lcp_local_ack_cfg = lcp_def_cfg; 294 262 295 /* ç¸æã®æ§ææ 296 å ±ã®åæè¨å® */ 263 /* 相手の構成情報の初期設定 */ 297 264 lcp_remote_neg_cfg = lcp_def_cfg; 298 265 lcp_remote_ack_cfg = lcp_def_cfg; … … 310 277 311 278 /* 312 * lcp_cilen -- æ§ææ 313 å ±ã®é·ããè¿ãã 279 * lcp_cilen -- 構成情報の長さを返す。 314 280 */ 315 281 … … 342 308 343 309 if (lcp_local_neg_cfg.options & LCP_CFG_PCOMP) 344 cilen += sizeof(T_PPP_CI_HDR); /* ãããã³ã«å§ç¸®*/310 cilen += sizeof(T_PPP_CI_HDR); /* プロトコル圧縮 */ 345 311 346 312 #endif /* of #ifdef LCP_CFG_PCOMP */ … … 349 315 350 316 if (lcp_local_neg_cfg.options & LCP_CFG_ACCOMP) 351 cilen += sizeof(T_PPP_CI_HDR); /* ã¢ãã¬ã¹ã»å¶å¾¡å§ç¸®*/317 cilen += sizeof(T_PPP_CI_HDR); /* アドレス・制御圧縮 */ 352 318 353 319 #endif /* of #ifdef LCP_CFG_ACCOMP */ … … 357 323 358 324 /* 359 * lcp_addci -- LCPã®æ§ææ 360 å ±ã追å ããã 325 * lcp_addci -- LCPの構成情報を追加する。 361 326 */ 362 327 … … 368 333 buf = output->buf + sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR); 369 334 370 /* MRU ãªãã·ã§ã³ã追å ããã*/335 /* MRU オプションを追加する。 */ 371 336 if (lcp_local_neg_cfg.options & LCP_CFG_MRU) { 372 337 *buf ++ = LCP_CIT_MRU; … … 376 341 } 377 342 378 /* ACCM ãªãã·ã§ã³ã追å ããã*/343 /* ACCM オプションを追加する。 */ 379 344 if (lcp_local_neg_cfg.options & LCP_CFG_ACCM) { 380 345 *buf ++ = LCP_CIT_ACCM; … … 386 351 #ifdef LCP_CFG_MAGIC 387 352 388 /* Magic Number ãªãã·ã§ã³ã追å ããã*/353 /* Magic Number オプションを追加する。 */ 389 354 if (lcp_local_neg_cfg.options & LCP_CFG_MAGIC) { 390 355 *buf ++ = LCP_CIT_MAGIC; … … 398 363 #ifdef LCP_CFG_PAP 399 364 400 /* èªè¨¼ãããã³ã«ãªãã·ã§ã³ã追å ããã*/365 /* 認証プロトコルオプションを追加する。 */ 401 366 if (lcp_local_neg_cfg.options & LCP_CFG_PAP) { 402 367 *buf ++ = LCP_CIT_AUTH; … … 410 375 #ifdef LCP_CFG_PCOMP 411 376 412 /* ãããã³ã«å§ç¸®ãªãã·ã§ã³ã追å ããã*/377 /* プロトコル圧縮オプションを追加する。 */ 413 378 if (lcp_local_neg_cfg.options & LCP_CFG_PCOMP) { 414 379 *buf ++ = LCP_CIT_PCOMP; … … 420 385 #ifdef LCP_CFG_ACCOMP 421 386 422 /* ã¢ãã¬ã¹ã»å¶å¾¡å§ç¸®ãªãã·ã§ã³ã追å ããã*/387 /* アドレス・制御圧縮オプションを追加する。 */ 423 388 if (lcp_local_neg_cfg.options & LCP_CFG_ACCOMP) { 424 389 *buf ++ = LCP_CIT_ACCOMP; … … 430 395 431 396 /* 432 * lcp_ackci -- ACK ãåä¿¡ããã¨ãã®å¦ç397 * lcp_ackci -- ACK を受信したときの処理 433 398 * 434 * æ»ãå¤: TURE ACK ã¯æ£å¸¸435 * false ACK ã¯ç°å¸¸399 * 戻り値: TURE ACK は正常 400 * false ACK は異常 436 401 */ 437 402 … … 446 411 447 412 /* 448 * æ§ææ 449 å ±ã¯éä¿¡ããé ã«å®å 450 ¨ã«ä¸è´ããªããã°ãªããªãã 451 * å¾ã£ã¦ãlcp_addci ã§ä½æããé ã«è§£æããã 413 * 構成情報は送信した順に完全に一致しなければならない。 414 * 従って、lcp_addci で作成した順に解析する。 452 415 */ 453 416 454 /* MRU ãªãã·ã§ã³ã解æããã*/417 /* MRU オプションを解析する。 */ 455 418 if (lcp_local_neg_cfg.options & LCP_CFG_MRU) { 456 419 if (len < sizeof(T_PPP_CI_HDR) + sizeof(uint16_t) || … … 463 426 } 464 427 465 /* ACCM ãªãã·ã§ã³ã解æããã*/428 /* ACCM オプションを解析する。 */ 466 429 if (lcp_local_neg_cfg.options & LCP_CFG_ACCM) { 467 430 if (len < sizeof(T_PPP_CI_HDR) + sizeof(uint32_t) || … … 476 439 #ifdef LCP_CFG_MAGIC 477 440 478 /* Magic Number ãªãã·ã§ã³ã解æããã*/441 /* Magic Number オプションを解析する。 */ 479 442 if (lcp_local_neg_cfg.options & LCP_CFG_MAGIC) { 480 443 if (len < sizeof(T_PPP_CI_HDR) + sizeof(uint32_t) || … … 491 454 #ifdef LCP_CFG_PAP 492 455 493 /* èªè¨¼ãããã³ã«ãªãã·ã§ã³ã解æããã*/456 /* 認証プロトコルオプションを解析する。 */ 494 457 if (lcp_local_neg_cfg.options & LCP_CFG_PAP) { 495 458 if (len < sizeof(T_PPP_CI_HDR) + sizeof(uint16_t) || … … 506 469 #ifdef LCP_CFG_PCOMP 507 470 508 /* ãããã³ã«å§ç¸®ãªãã·ã§ã³ã解æããã*/471 /* プロトコル圧縮オプションを解析する。 */ 509 472 if (lcp_local_neg_cfg.options & LCP_CFG_PCOMP) { 510 473 if (len < sizeof(T_PPP_CI_HDR) || … … 519 482 #ifdef LCP_CFG_ACCOMP 520 483 521 /* ã¢ãã¬ã¹ã»å¶å¾¡å§ç¸®ãªãã·ã§ã³ã解æããã*/484 /* アドレス・制御圧縮オプションを解析する。 */ 522 485 if (lcp_local_neg_cfg.options & LCP_CFG_ACCOMP) { 523 486 if (len < sizeof(T_PPP_CI_HDR) || … … 533 496 534 497 /* 535 * lcp_nakci -- NAK ãåä¿¡ããã¨ãã®å¦ç498 * lcp_nakci -- NAK を受信したときの処理 536 499 * 537 * æ»ãå¤: 1 NAK ã¯æ£å¸¸538 * 0 NAK ã¯ç°å¸¸500 * 戻り値: 1 NAK は正常 501 * 0 NAK は異常 539 502 */ 540 503 … … 543 506 { 544 507 T_LCP_CONFIGS new_cfg; 545 bool_t loop = false; /* ã«ã¼ãããã¯ããã§ãã¯*/508 bool_t loop = false; /* ループバックをチェック */ 546 509 uint32_t cilong; 547 510 uint16_t cishort, len; … … 553 516 new_cfg = lcp_local_neg_cfg; 554 517 555 /* MRU ãªãã·ã§ã³ã解æããã*/518 /* MRU オプションを解析する。 */ 556 519 if (len >= sizeof(T_PPP_CI_HDR) + sizeof(uint16_t) && 557 520 * buf == LCP_CIT_MRU && … … 565 528 } 566 529 567 /* ACCM ãªãã·ã§ã³ã解æããã*/530 /* ACCM オプションを解析する。 */ 568 531 if (len >= sizeof(T_PPP_CI_HDR) + sizeof(uint32_t) && 569 532 * buf == LCP_CIT_ACCM && … … 578 541 #ifdef LCP_CFG_MAGIC 579 542 580 /* Magic Number ãªãã·ã§ã³ã解æããã*/543 /* Magic Number オプションを解析する。 */ 581 544 if (len >= sizeof(T_PPP_CI_HDR) + sizeof(uint32_t) && 582 545 * buf == LCP_CIT_MAGIC && … … 594 557 #ifdef LCP_CFG_PAP 595 558 596 /* èªè¨¼ãããã³ã«ãªãã·ã§ã³ã解æããã*/559 /* 認証プロトコルオプションを解析する。 */ 597 560 if (len >= sizeof(T_PPP_CI_HDR) + sizeof(uint16_t) && 598 561 * buf == LCP_CIT_AUTH && … … 612 575 #ifdef LCP_CFG_PCOMP 613 576 614 /* ãããã³ã«å§ç¸®ãªãã·ã§ã³ã解æããã*/577 /* プロトコル圧縮オプションを解析する。 */ 615 578 if (len >= sizeof(T_PPP_CI_HDR) && 616 579 * buf == LCP_CIT_PCOMP && … … 626 589 #ifdef LCP_CFG_ACCOMP 627 590 628 /* ã¢ãã¬ã¹ã»å¶å¾¡å§ç¸®ãªãã·ã§ã³ã解æããã*/591 /* アドレス・制御圧縮オプションを解析する。 */ 629 592 if (len >= sizeof(T_PPP_CI_HDR) && 630 593 * buf == LCP_CIT_ACCOMP && … … 638 601 #endif /* of #ifdef LCP_CFG_ACCOMP */ 639 602 640 /* å¾ã¯ç¡è¦ããã*/603 /* 後は無視する。*/ 641 604 while (len > sizeof(T_PPP_CI_HDR)) { 642 605 cilen = *(buf + 1); … … 647 610 } 648 611 649 /* é·ãã 0 ã§ãªããã°ã¨ã©ã¼*/612 /* 長さが 0 でなければエラー */ 650 613 if (len != 0) 651 614 return 0; 652 615 653 /* æ°ãããªãã·ã§ã³ãè¨å®ããã*/616 /* 新しいオプションを設定する。*/ 654 617 if (fsm->state != PPP_FSM_OPENED) { 655 618 if (loop) { … … 663 626 664 627 /* 665 * lcp_rejci -- REJ ãåä¿¡ããã¨ãã®å¦ç628 * lcp_rejci -- REJ を受信したときの処理 666 629 * 667 * æ»ãå¤: 1 REJ ã¯æ£å¸¸668 * 0 REJ ã¯ç°å¸¸630 * 戻り値: 1 REJ は正常 631 * 0 REJ は異常 669 632 */ 670 633 … … 682 645 new_cfg = lcp_local_neg_cfg; 683 646 684 /* MRU ãªãã·ã§ã³ã解æããã*/647 /* MRU オプションを解析する。 */ 685 648 if (len >= sizeof(T_PPP_CI_HDR) + sizeof(uint16_t) && 686 649 * buf == LCP_CIT_MRU && … … 696 659 } 697 660 698 /* ACCM ãªãã·ã§ã³ã解æããã*/661 /* ACCM オプションを解析する。 */ 699 662 if (len >= sizeof(T_PPP_CI_HDR) + sizeof(uint32_t) && 700 663 * buf == LCP_CIT_ACCM && … … 712 675 #ifdef LCP_CFG_MAGIC 713 676 714 /* Magic Number ãªãã·ã§ã³ã解æããã*/677 /* Magic Number オプションを解析する。 */ 715 678 if (len >= sizeof(T_PPP_CI_HDR) + sizeof(uint32_t) && 716 679 * buf == LCP_CIT_MAGIC && … … 730 693 #ifdef LCP_CFG_PAP 731 694 732 /* èªè¨¼ãããã³ã«ãªãã·ã§ã³ã解æããã*/695 /* 認証プロトコルオプションを解析する。 */ 733 696 if (len >= sizeof(T_PPP_CI_HDR) + sizeof(uint16_t) && 734 697 * buf == LCP_CIT_AUTH && … … 748 711 #ifdef LCP_CFG_PCOMP 749 712 750 /* ãããã³ã«å§ç¸®ãªãã·ã§ã³ã解æããã*/713 /* プロトコル圧縮オプションを解析する。 */ 751 714 if (len >= sizeof(T_PPP_CI_HDR) && 752 715 * buf == LCP_CIT_PCOMP && … … 762 725 #ifdef LCP_CFG_ACCOMP 763 726 764 /* ã¢ãã¬ã¹ã»å¶å¾¡å§ç¸®ãªãã·ã§ã³ã解æããã*/727 /* アドレス・制御圧縮オプションを解析する。 */ 765 728 if (len >= sizeof(T_PPP_CI_HDR) && 766 729 * buf == LCP_CIT_ACCOMP && … … 774 737 #endif /* of #ifdef LCP_CFG_ACCOMP */ 775 738 776 /* é·ãã 0 ã§ãªããã°ã¨ã©ã¼*/739 /* 長さが 0 でなければエラー */ 777 740 if (len != 0) 778 741 return 0; 779 742 780 /* æ°ãããªãã·ã§ã³ãè¨å®ããã*/743 /* 新しいオプションを設定する。*/ 781 744 if (fsm->state != PPP_FSM_OPENED) 782 745 lcp_local_neg_cfg = new_cfg; … … 786 749 787 750 /* 788 * lcp_reqci -- ç¸æã®æ§ææ 789 å ±ã解æããã 751 * lcp_reqci -- 相手の構成情報を解析する。 790 752 */ 791 753 … … 803 765 804 766 rp = ap = input->buf + sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR); 805 /* rp: REJ ãap: ACK ãã CI ã®ãã¤ã³ã¿*/806 /* æå¦ããå ´åã¯ãå¼æ° input ã«ä¸æ¸ãããã*/767 /* rp: REJ、ap: ACK する CI のポインタ */ 768 /* 拒否する場合は、引数 input に上書きする。 */ 807 769 len = input->len - (sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR)); 808 770 np = output->buf + sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR); 809 final = PPP_CONFACK; /* æçµçã«éä¿¡ããã³ã¼ã*/771 final = PPP_CONFACK; /* 最終的に送信するコード */ 810 772 while (len > 0) { 811 773 code = PPP_CONFACK; 812 cp = ap; /* cp: ç¾å¨å¦çä¸ã®CI */774 cp = ap; /* cp: 現在処理中の CI */ 813 775 814 776 if (len < sizeof(T_PPP_CI_HDR)) { 815 777 816 /* æ®ãã CI ãããããçã*/778 /* 残りが CI ヘッダより短い */ 817 779 syslog(LOG_WARNING, "[PPP/LCP] bad CI len: %d.", len); 818 cilen = len; /* ãã¼ã¿é·ãç°å¸¸ã®å ´åã®å¦ç½®*/819 len = 0; /* ã«ã¼ãããæããã*/780 cilen = len; /* データ長が異常の場合の処置 */ 781 len = 0; /* ループから抜ける。 */ 820 782 code = PPP_CONFREJ; 821 783 goto endswitch; 822 784 } 823 785 824 type = *ap ++; /* CI ã®å*/825 cilen = *ap ++; /* CI ã®é·ã*/786 type = *ap ++; /* CI の型 */ 787 cilen = *ap ++; /* CI の長さ */ 826 788 if (len < cilen) { 827 789 828 /* æ®ãã CI é·ããçã*/790 /* 残りが CI 長より短い */ 829 791 syslog(LOG_WARNING, "[PPP/LCP] bad CI len: %d.", cilen); 830 cilen = len; /* ãã¼ã¿é·ãç°å¸¸ã®å ´åã®å¦ç½®*/831 len = 0; /* ã«ã¼ãããæããã*/792 cilen = len; /* データ長が異常の場合の処置 */ 793 len = 0; /* ループから抜ける。 */ 832 794 code = PPP_CONFREJ; 833 795 goto endswitch; … … 835 797 len -= sizeof(T_PPP_CI_HDR); 836 798 837 /* CI ã®åã«ããåå²ããã*/799 /* CI の型により分岐する。*/ 838 800 switch (type) { 839 801 840 case LCP_CIT_MRU: /* æ大åä¿¡é(Maximum Receive Unit) */802 case LCP_CIT_MRU: /* 最大受信量 (Maximum Receive Unit) */ 841 803 842 804 #if (DEF_LCP_REMOTE_CFGS & LCP_CFG_MRU) == 0 … … 846 808 #else /* of #if (DEF_LCP_REMOTE_CFGS & LCP_CFG_MRU) == 0 */ 847 809 848 /* CI é·ããããã + 2 ãªã¯ãããã§ãªããã°REJ */810 /* CI 長が、ヘッダ + 2 オクテットでなければ REJ */ 849 811 if (cilen != sizeof(T_PPP_CI_HDR) + sizeof(uint16_t)) 850 812 code = PPP_CONFREJ; … … 852 814 cishort = ntohs(*(uint16_t*)ap); 853 815 854 /* æå°åä¿¡éããå°ãããã°NAK */816 /* 最小受信量より小さければ NAK */ 855 817 if (cishort < MIN_PPP_MTU) { 856 818 *np ++ = LCP_CIT_MRU; … … 878 840 #else /* of #if (DEF_LCP_REMOTE_CFGS & LCP_CFG_ACCM) == 0 */ 879 841 880 /* CI é·ããããã + 4 ãªã¯ãããã§ãªããã°REJ */842 /* CI 長が、ヘッダ + 4 オクテットでなければ REJ */ 881 843 if (cilen != sizeof(T_PPP_CI_HDR) + sizeof(uint32_t)) 882 844 code = PPP_CONFREJ; … … 890 852 break; 891 853 892 case LCP_CIT_MAGIC: /* ãã¸ãã¯çªå·*/854 case LCP_CIT_MAGIC: /* マジック番号 */ 893 855 894 856 #if (DEF_LCP_REMOTE_CFGS & LCP_CFG_MAGIC) == 0 … … 898 860 #else /* of #if (DEF_LCP_REMOTE_CFGS & LCP_CFG_MAGIC) == 0 */ 899 861 900 /* CI é·ããããã + 4 ãªã¯ãããã§ãªããã°REJ */862 /* CI 長が、ヘッダ + 4 オクテットでなければ REJ */ 901 863 if (cilen != sizeof(T_PPP_CI_HDR) + sizeof(uint32_t)) 902 864 code = PPP_CONFREJ; … … 904 866 ntoahl(cilong, ap); 905 867 906 /* çªå·ãèªåã¨åããªãNAK */868 /* 番号が自分と同じなら NAK */ 907 869 if (cilong == lcp_local_neg_cfg.magic) { 908 870 cilong = net_rand(); … … 924 886 925 887 #ifdef LCP_CFG_PAP 926 /* CHAP ã¯å®è£ 927 äºå® */ 928 929 case LCP_CIT_AUTH: /* èªè¨¼ãããã³ã« */ 930 931 /* CI é·ããããã + 2 ãªã¯ãããããçãã¨ãã¯ã¨ã©ã¼ */ 888 /* CHAP は実装予定 */ 889 890 case LCP_CIT_AUTH: /* 認証プロトコル */ 891 892 /* CI 長が、ヘッダ + 2 オクテットより短いときはエラー */ 932 893 if (cilen < sizeof(T_PPP_CI_HDR) + sizeof(uint16_t)) 933 894 code = PPP_CONFREJ; … … 935 896 cishort = ntohs(*(uint16_t*)ap); 936 897 937 /* èªè¨¼ãããã³ã«ã«ããåå²ãã*/898 /* 認証プロトコルにより分岐する */ 938 899 if (cishort == PPP_PAP && 939 900 cilen == sizeof(T_PPP_CI_HDR) + sizeof(uint16_t) && … … 949 910 #ifdef LCP_CFG_PCOMP 950 911 951 case LCP_CIT_PCOMP: /* ãããã³ã«é¨å§ç¸®ã¯å®è£ 952 äºå® */ 912 case LCP_CIT_PCOMP: /* プロトコル部圧縮は実装予定 */ 953 913 954 914 #if (DEF_LCP_REMOTE_CFGS & LCP_CFG_PCOMP) == 0 … … 958 918 #else /* of #if (DEF_LCP_REMOTE_CFGS & LCP_CFG_PCOMP) == 0 */ 959 919 960 /* CI é·ãããããé·ã ãã§ãªããã°REJ */920 /* CI 長が、ヘッダ長だけでなければ REJ */ 961 921 if (cilen != sizeof(T_PPP_CI_HDR)) 962 922 code = PPP_CONFREJ; … … 972 932 #ifdef LCP_CFG_ACCOMP 973 933 974 case LCP_CIT_ACCOMP: /* ã¢ãã¬ã¹ã»å¶å¾¡é¨å§ç¸®*/934 case LCP_CIT_ACCOMP: /* アドレス・制御部圧縮 */ 975 935 976 936 #if (DEF_LCP_REMOTE_CFGS & LCP_CFG_ACCOMP) == 0 … … 980 940 #else /* of #if (DEF_LCP_REMOTE_CFGS & LCP_CFG_ACCOMP) == 0 */ 981 941 982 /* CI é·ãããããé·ã ãã§ãªããã°REJ */942 /* CI 長が、ヘッダ長だけでなければ REJ */ 983 943 if (cilen != sizeof(T_PPP_CI_HDR)) 984 944 code = PPP_CONFREJ; … … 999 959 endswitch: 1000 960 if (code == PPP_CONFNAK) { 1001 /* CI ã®åã Magic Number ã®å ´åãé¤ãã¦ãNAK ã®åæ°ã */ 1002 /* æå¤§å¤ MAX_PPP_FAILURES ãè¶ 1003 ãããæå¦ããã */ 961 /* CI の型が Magic Number の場合を除いて、NAK の回数が */ 962 /* 最大値 MAX_PPP_FAILURES を超えたら拒否する。 */ 1004 963 if (fsm->failures >= MAX_PPP_FAILURES && type != LCP_CIT_MAGIC) 1005 964 code = PPP_CONFREJ; … … 1008 967 } 1009 968 1010 /* ãã® CI ãæå¦ãã*/969 /* この CI を拒否する */ 1011 970 if (code == PPP_CONFREJ) { 1012 if (rp < cp) /* åã«è©°ããã*/971 if (rp < cp) /* 前に詰める。*/ 1013 972 memcpy(rp, cp, cilen); 1014 973 rp += cilen; … … 1020 979 } 1021 980 1022 /* æçµçãªé·ãã調æ´ããã*/981 /* 最終的な長さを調整する。*/ 1023 982 switch (final) { 1024 983 case PPP_CONFNAK: … … 1037 996 1038 997 /* 1039 * lcp_up -- ãªã³ã¯æ¥ç¶ã確ç«ãã (Phase: Establish ã«ç§»è¡ãã)ã998 * lcp_up -- リンク接続を確立する (Phase: Establish に移行する)。 1040 999 */ 1041 1000 … … 1043 1002 lcp_up (T_PPP_FSM *fsm) 1044 1003 { 1045 /* èªæ§ææ 1046 å ±ã®è¨å® */ 1004 /* 自構成情報の設定 */ 1047 1005 lcp_local_ack_cfg = lcp_local_neg_cfg; 1048 1006 1049 /* ç¸æã®æ§ææ 1050 å ±ã®è¨å® */ 1007 /* 相手の構成情報の設定 */ 1051 1008 lcp_remote_ack_cfg = lcp_remote_neg_cfg; 1052 1009 … … 1061 1018 1062 1019 /* 1063 * lcp_starting -- ä¸ä½å±¤ãéå§ããã1020 * lcp_starting -- 下位層を開始する。 1064 1021 */ 1065 1022 … … 1071 1028 1072 1029 /* 1073 * lcp_extcode -- LCP ç¹æã® CP ãåä¿¡ããã¨ãã®å¦ç1030 * lcp_extcode -- LCP 特有の CP を受信したときの処理 1074 1031 */ 1075 1032 … … 1128 1085 1129 1086 /* 1130 * lcp_rprotrej -- Proto-REJ ãåä¿¡ããã¨ãã®å¦ç1087 * lcp_rprotrej -- Proto-REJ を受信したときの処理 1131 1088 */ 1132 1089 … … 1149 1106 } 1150 1107 1151 /* ä¸ä½ãããã³ã«ãåæåãã*/1108 /* 上位プロトコルを初期化する */ 1152 1109 for (ix = 0; (entry = protocols[ix]) != NULL; ix ++) 1153 1110 if (entry->proto == proto) { … … 1160 1117 1161 1118 /* 1162 * lcp_protrej -- Proto-REJ ãåä¿¡ããã¨ãã®å¦ç1119 * lcp_protrej -- Proto-REJ を受信したときの処理 1163 1120 */ 1164 1121 … … 1170 1127 1171 1128 /* 1172 * lcp_lowerup -- LCP ä¸ä½å±¤ãèµ·åããã1129 * lcp_lowerup -- LCP 下位層を起動する。 1173 1130 */ 1174 1131 … … 1180 1137 1181 1138 /* 1182 * lcp_lowerdown -- LCP ä¸ä½å±¤ãåæ¢ããã1139 * lcp_lowerdown -- LCP 下位層を停止する。 1183 1140 */ 1184 1141 … … 1190 1147 1191 1148 /* 1192 * lcp_open -- LCP ã®ãªã¼ã1149 * lcp_open -- LCP のオープ 1193 1150 */ 1194 1151 … … 1196 1153 lcp_open (uint8_t open_mode) 1197 1154 { 1198 ppp_open_mode = open_mode; /* ãªã¼ãã³æã®åä½ã¢ã¼ã*/1155 ppp_open_mode = open_mode; /* オープン時の動作モード */ 1199 1156 fsm_open(&lcp_fsm); 1200 1157 } 1201 1158 1202 1159 /* 1203 * lcp_close -- LCP ã®ã¯ãã¼ãº1160 * lcp_close -- LCP のクローズ 1204 1161 */ 1205 1162 … … 1219 1176 1220 1177 /* 1221 * lcp_sprotrej -- èªèã§ããªããããã³ã«ãéããã¦ããã¨ãã®å¦ç1178 * lcp_sprotrej -- 認識できないプロトコルが送られてきたときの処理 1222 1179 */ 1223 1180 … … 1227 1184 T_NET_BUF *output; 1228 1185 /* 1229 * Protocol-Reject ãéãè¿ãã1186 * Protocol-Reject を送り返す。 1230 1187 */ 1231 1188 … … 1240 1197 1241 1198 /* 1242 * lcp_down -- ãªã³ã¯æ¥ç¶ã解æ¾ãã (Phase: Dead ã«ç§»è¡ãã)ã1199 * lcp_down -- リンク接続を解放する (Phase: Dead に移行する)。 1243 1200 */ 1244 1201 … … 1257 1214 1258 1215 /* 1259 * lcp_finished -- ä¸ä½å±¤ãçµäºããã1216 * lcp_finished -- 下位層を終了する。 1260 1217 */ 1261 1218 … … 1269 1226 1270 1227 /* 1271 * recv_echo_rep -- ECHOREP ãåä¿¡ããã¨ãã®å¦ç1228 * recv_echo_rep -- ECHOREP を受信したときの処理 1272 1229 */ 1273 1230 … … 1280 1237 hdr = GET_PPP_CP_HDR(input); 1281 1238 1282 /* Magic Number ã®é·ã以ä¸ãªãã¨ã©ã¼*/1239 /* Magic Number の長さ以下ならエラー */ 1283 1240 if (hdr->len < sizeof(T_PPP_CP_HDR) + sizeof(uint32_t)) { 1284 1241 syslog(LOG_WARNING, "[PPP/LCP] bad ECHOREP len: %d.", hdr->len); … … 1288 1245 ntoahl(magic, input->buf + sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR)); 1289 1246 1290 /* åä¿¡ãã Magic Number ãèªåã¨åããªãã«ã¼ããã¦ããã*/1247 /* 受信した Magic Number が自分と同じならループしている。*/ 1291 1248 if ((lcp_local_ack_cfg.options & LCP_CFG_MAGIC) && magic == lcp_local_ack_cfg.magic) { 1292 1249 syslog(LOG_WARNING, "[PPP/LCP] ECHOREP looped."); … … 1298 1255 1299 1256 /* 1300 * echo_timeout -- ECHO REQ/REP ã®ã¿ã¤ã ã¢ã¦ãå¦ç1257 * echo_timeout -- ECHO REQ/REP のタイムアウト処理 1301 1258 */ 1302 1259 … … 1311 1268 1312 1269 /* 1313 * send_echo_req -- ECHO REQ ãéä¿¡ããã1270 * send_echo_req -- ECHO REQ を送信する。 1314 1271 */ 1315 1272 … … 1331 1288 if (fsm->state == PPP_FSM_OPENED) { 1332 1289 1333 /* ECHOREQ ãéä¿¡ããã*/1290 /* ECHOREQ を送信する。*/ 1334 1291 syscall(get_net_buf(&input, sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR) + sizeof(uint32_t))); 1335 1292 *(uint32_t*)(input->buf + sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR)) = lcp_local_ack_cfg.magic; … … 1338 1295 echo_pending ++; 1339 1296 1340 /* ã¿ã¤ãã¼ãã¹ã¿ã¼ãããã*/1297 /* タイマーをスタートする。*/ 1341 1298 timeout((FP)echo_timeout, fsm, LCP_ECHO_INTERVAL); 1342 1299 timer_running = true; … … 1345 1302 1346 1303 /* 1347 * echo_lowerup -- ECHO REQ/REP ã®èµ·å1304 * echo_lowerup -- ECHO REQ/REP の起動 1348 1305 */ 1349 1306 … … 1359 1316 1360 1317 /* 1361 * echo_lowerdown -- ECHO REQ/REP ã®åæ¢1318 * echo_lowerdown -- ECHO REQ/REP の停止 1362 1319 */ 1363 1320 -
asp3_gr_sakura/trunk/tinet/net/ppp_lcp.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 93 81 94 82 /* 95 * LCP ç¹æã® PPP ãªã³ã¯å¶å¾¡ (CP) ã®å¶å¾¡ã³ã¼ã83 * LCP 特有の PPP リンク制御 (CP) の制御コード 96 84 */ 97 85 … … 102 90 103 91 /* 104 * LCP ã®æ§ææ 105 å ± (CI) 92 * LCP の構成情報 (CI) 106 93 */ 107 94 108 95 /* 109 * CI ã®å96 * CI の型 110 97 */ 111 98 112 #define LCP_CIT_MRU UINT_C(1) /* æ大åä¿¡é(Maximum Receive Unit) */99 #define LCP_CIT_MRU UINT_C(1) /* 最大受信量 (Maximum Receive Unit) */ 113 100 #define LCP_CIT_ACCM UINT_C(2) /* Async Control Character Map */ 114 #define LCP_CIT_AUTH UINT_C(3) /* èªè¨¼ãããã³ã« */ 115 #define LCP_CIT_QUALITY UINT_C(4) /* å質ãããã³ã«ã¯æªå®è£ 116 */ 117 #define LCP_CIT_MAGIC UINT_C(5) /* ãã¸ãã¯çªå· */ 118 #define LCP_CIT_PCOMP UINT_C(7) /* ãããã³ã«é¨å§ç¸®ã¯å®è£ 119 äºå® */ 120 #define LCP_CIT_ACCOMP UINT_C(8) /* ã¢ãã¬ã¹ã»å¶å¾¡é¨å§ç¸®ã¯å®è£ 121 äºå® */ 122 #define LCP_CIT_FCS_ALTER UINT_C(9) /* FCS-Alternatives ã¯æªå®è£ 123 */ 124 #define LCP_CIT_SELF_PAD UINT_C(10) /* Self-Describing-Padding ã¯æªå®è£ 125 */ 126 #define LCP_CIT_CALLBACK UINT_C(13) /* Callback ã¯æªå®è£ 127 */ 128 #define LCP_CIT_CFRAMES UINT_C(15) /* Compound-Frames ã¯æªå®è£ 129 */ 101 #define LCP_CIT_AUTH UINT_C(3) /* 認証プロトコル */ 102 #define LCP_CIT_QUALITY UINT_C(4) /* 品質プロトコルは未実装 */ 103 #define LCP_CIT_MAGIC UINT_C(5) /* マジック番号 */ 104 #define LCP_CIT_PCOMP UINT_C(7) /* プロトコル部圧縮は実装予定 */ 105 #define LCP_CIT_ACCOMP UINT_C(8) /* アドレス・制御部圧縮は実装予定 */ 106 #define LCP_CIT_FCS_ALTER UINT_C(9) /* FCS-Alternatives は未実装 */ 107 #define LCP_CIT_SELF_PAD UINT_C(10) /* Self-Describing-Padding は未実装 */ 108 #define LCP_CIT_CALLBACK UINT_C(13) /* Callback は未実装 */ 109 #define LCP_CIT_CFRAMES UINT_C(15) /* Compound-Frames は未実装 */ 130 110 131 111 /* 132 * LCP ã®æ§ææ 133 å ±ãªãã·ã§ã³ 112 * LCP の構成情報オプション 134 113 */ 135 114 … … 139 118 #ifdef LCP_CFG_MAGIC 140 119 141 uint32_t magic; /* ãã¸ãã¯çªå·*/120 uint32_t magic; /* マジック番号 */ 142 121 143 122 #endif /* of #ifdef LCP_CFG_MAGIC */ 144 123 145 124 uint16_t MRU; /* MRU */ 146 uint16_t options; /* ãªãã·ã§ã³ãã©ã°*/125 uint16_t options; /* オプションフラグ */ 147 126 } T_LCP_CONFIGS; 148 127 149 128 /* 150 * å¤æ°129 * 変数 151 130 */ 152 131 153 132 extern T_PPP_FSM lcp_fsm; 154 133 extern T_PPP_PROTENT lcp_protent; 155 extern T_LCP_CONFIGS lcp_local_ack_cfg; /* ç¸æã«è¨±å¯ãããã®èªæ§ææ 156 å ± */ 157 extern T_LCP_CONFIGS lcp_remote_ack_cfg; /* ç¸æã«è¨±å¯ããæ§ææ 158 å ± */ 134 extern T_LCP_CONFIGS lcp_local_ack_cfg; /* 相手に許可されたの自構成情報 */ 135 extern T_LCP_CONFIGS lcp_remote_ack_cfg; /* 相手に許可した構成情報 */ 159 136 160 137 /* 161 * é¢æ°138 * 関数 162 139 */ 163 140 -
asp3_gr_sakura/trunk/tinet/net/ppp_modem.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * PPP ã¢ãã å¶å¾¡35 * PPP モデム制御 48 36 */ 49 37 … … 72 60 73 61 /* 74 * å 75 ¨åå¤æ° 76 */ 77 78 uint8_t modem_state = PPP_MODEM_DOWN; /* ã¢ãã ã®ç¶æ 79 */ 80 81 /* 82 * ã¢ãã å 83 ¥åæåå 62 * 全域変数 63 */ 64 65 uint8_t modem_state = PPP_MODEM_DOWN; /* モデムの状態 */ 66 67 /* 68 * モデム入力文字列 84 69 */ 85 70 … … 94 79 95 80 /* 96 * å¤æ°81 * 変数 97 82 */ 98 83 … … 111 96 112 97 /* 113 * é¢æ°98 * 関数 114 99 */ 115 100 … … 120 105 121 106 /* 122 * modem_getline -- ã¢ãã è¡å 123 ¥å 107 * modem_getline -- モデム行入力 124 108 */ 125 109 … … 130 114 131 115 buf = nbuf->buf; 132 size --; /* '\0' ã®å*/116 size --; /* '\0' の分 */ 133 117 while (size > 0 && (*buf = HDLC_raw_getoctet()) != '\r') { 134 118 buf ++; … … 136 120 } 137 121 *buf = '\0'; 138 HDLC_raw_getoctet(); /* \n ãèªã¿é£ã°ãã*/122 HDLC_raw_getoctet(); /* \n を読み飛ばす。*/ 139 123 nbuf->len = buf - nbuf->buf; 140 124 return nbuf; … … 142 126 143 127 /* 144 * ã¢ãã å¶å¾¡128 * モデム制御 145 129 * 146 * æ»ãå¤: ã¢ãã ããã®ãªã¶ã«ãã³ã¼ã130 * 戻り値: モデムからのリザルトコード 147 131 */ 148 132 … … 211 195 212 196 /* 213 * init_modem -- ã¢ãã ãåæåããã197 * init_modem -- モデムを初期化する。 214 198 */ 215 199 … … 229 213 230 214 /* 231 * wait_modem -- æ¥ç¶å®äºã¾ã§å¾ 232 ã¤ã 215 * wait_modem -- 接続完了まで待つ。 233 216 * 234 * æ»ãå¤: æ¥ç¶ã«å¤±æããã E_OBJ ãè¿ãã217 * 戻り値: 接続に失敗したら E_OBJ を返す。 235 218 */ 236 219 … … 245 228 246 229 if (modem_state != PPP_MODEM_CONNECT) { 247 /* æ¥ç¶å®äºã¾ã§å¾ 248 ã¤ã*/ 230 /* 接続完了まで待つ。*/ 249 231 wai_sem(SEM_MODEM_READY); 250 232 if (modem_state != PPP_MODEM_CONNECT) … … 256 238 257 239 /* 258 * dial -- ãã¤ã¤ã«ããããªãã©ã¤åæ°ãã»ããããã240 * dial -- ダイヤルする。リトライ回数をセットする。 259 241 */ 260 242 … … 268 250 269 251 /* 270 * do_dial -- ãã¤ã¤ã«ãããdial() ã®ä¸è«ãé¢æ°252 * do_dial -- ダイヤルする。dial() の下請け関数 271 253 */ 272 254 … … 281 263 282 264 /* 283 * modem_putstr -- ã¢ãã æåååºå265 * modem_putstr -- モデム文字列出力 284 266 */ 285 267 … … 292 274 293 275 /* 294 * modem_wait -- ã¢ãã ããæååãå¾ 295 㤠276 * modem_wait -- モデムから文字列を待つ 296 277 */ 297 278 … … 312 293 313 294 /* 314 * modem_putline -- ã¢ãã è¡åºå295 * modem_putline -- モデム行出力 315 296 */ 316 297 -
asp3_gr_sakura/trunk/tinet/net/ppp_modem.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 52 40 53 41 /* 54 * ã¢ãã ã®ç¶æ 55 42 * モデムの状態 56 43 */ 57 44 … … 64 51 65 52 /* 66 * å 67 ¨åå¤æ° 53 * 全域変数 68 54 */ 69 55 70 extern uint8_t modem_state; /* ã¢ãã ã®ç¶æ 71 */ 56 extern uint8_t modem_state; /* モデムの状態 */ 72 57 73 58 /* 74 * é¢æ°59 * 関数 75 60 */ 76 61 … … 84 69 85 70 /* 86 * é¢æ°71 * 関数 87 72 */ 88 73 -
asp3_gr_sakura/trunk/tinet/net/ppp_upap.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 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 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 114 102 115 103 /* 116 * é¢æ°104 * 関数 117 105 */ 118 106 … … 152 140 153 141 /* 154 * å 155 ¨åå¤æ° 142 * 全域変数 156 143 */ 157 144 158 145 T_PPP_PROTENT pap_protent = { 159 146 PPP_PAP, 160 upap_init, /* åæå */ 161 upap_input, /* å 162 ¥å */ 163 upap_protrej, /* Proto-REJ åä¿¡å¦ç */ 164 upap_lowerup, /* ä¸ä½å±¤ãèµ·åãã */ 165 upap_lowerdown, /* ä¸ä½å±¤ãåæ¢ãã */ 166 NULL, /* ãªã¼ãã³ãã */ 167 NULL, /* ã¯ãã¼ãºãã */ 168 NULL, /* ãã¼ã¿å 169 ¥å */ 147 upap_init, /* 初期化 */ 148 upap_input, /* 入力 */ 149 upap_protrej, /* Proto-REJ 受信処理 */ 150 upap_lowerup, /* 下位層を起動する */ 151 upap_lowerdown, /* 下位層を停止する */ 152 NULL, /* オープンする */ 153 NULL, /* クローズする */ 154 NULL, /* データ入力 */ 170 155 }; 171 156 172 157 /* 173 * å¤æ°158 * 変数 174 159 */ 175 160 … … 194 179 195 180 /* 196 * upap_init -- UPAP ã¢ã¸ã¥ã¼ã«ã®åæå181 * upap_init -- UPAP モジュールの初期化 197 182 */ 198 183 … … 215 200 216 201 /* 217 * upap_input -- UPAP å 218 ¥å 202 * upap_input -- UPAP 入力 219 203 */ 220 204 … … 227 211 NET_COUNT_PPP_PAP(net_count_ppp_upap_in_packets, 1); 228 212 229 /* PPP ãªã³ã¯å¶å¾¡ (CP) ãããããçããã°ã¨ã©ã¼*/213 /* PPP リンク制御 (CP) ヘッダより短ければエラー */ 230 214 if (input->len < (sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR))) { 231 215 syslog(LOG_WARNING, "[PPP/PAP] short hdr: %d.", input->len); … … 235 219 hdr = GET_PPP_CP_HDR(input); 236 220 237 /* ãããã®é·ãã¨å 238 ¥åãã¼ã¿ãµã¤ãºãä¸è´ããªããã°ã¨ã©ã¼ */ 221 /* ヘッダの長さと入力データサイズが一致しなければエラー */ 239 222 if (hdr->len != input->len - sizeof(T_PPP_HDR)) { 240 223 syslog(LOG_WARNING, "[PPP/PAP] bad len: %d.", hdr->len); … … 243 226 244 227 /* 245 * å¶å¾¡ã³ã¼ãã«ããé©å½ãªé¢æ°ãå¼åºã228 * 制御コードにより適当な関数を呼出す 246 229 */ 247 230 … … 272 255 273 256 /* 274 * upap_protrej -- Proto-REJ ãåä¿¡ããã¨ãã®å¦ç257 * upap_protrej -- Proto-REJ を受信したときの処理 275 258 */ 276 259 … … 298 281 299 282 /* 300 * upap_lowerup -- UPAP ä¸ä½å±¤ãèµ·åããã283 * upap_lowerup -- UPAP 下位層を起動する。 301 284 */ 302 285 … … 332 315 333 316 /* 334 * upap_lowerdown -- UPAP ä¸ä½å±¤ãåæ¢ããã317 * upap_lowerdown -- UPAP 下位層を停止する。 335 318 */ 336 319 … … 367 350 368 351 /* 369 * ã¯ã©ã¤ã¢ã³ãã¢ã¼ã㧠PAP èªè¨¼ãéå§ããã352 * クライアントモードで PAP 認証を開始する。 370 353 */ 371 354 … … 388 371 389 372 /* 390 * upap_rauthack -- èªè¨¼ ACK å¦ç373 * upap_rauthack -- 認証 ACK 処理 391 374 */ 392 375 … … 401 384 402 385 /* 403 * upap_rauthnak -- èªè¨¼ NAK å¦ç386 * upap_rauthnak -- 認証 NAK 処理 404 387 */ 405 388 … … 412 395 413 396 /* 414 * upap_sauthreq -- èªè¨¼è¦æ±å¦ç397 * upap_sauthreq -- 認証要求処理 415 398 */ 416 399 … … 426 409 data = output->buf + sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR); 427 410 428 /* ã¦ã¼ã¶åãè¨å®ããã*/411 /* ユーザ名を設定する。*/ 429 412 *data = sizeof(AUTH_REMOTE_USER) - 1; 430 413 strcpy(data + 1, AUTH_REMOTE_USER); 431 414 432 /* ãã¹ã¯ã¼ããè¨å®ããã*/415 /* パスワードを設定する。*/ 433 416 *(data + sizeof(AUTH_REMOTE_USER)) = sizeof(AUTH_REMOTE_PASSWD) - 1; 434 417 strcpy(data + sizeof(AUTH_REMOTE_USER) + 1, AUTH_REMOTE_PASSWD); 435 418 436 /* éä¿¡ãã*/419 /* 送信する */ 437 420 IF_SET_PROTO(output, PPP_PAP); 438 421 ppp_cp_output(PAP_AUTHREQ, ++ client_cp_id, output); … … 451 434 452 435 /* 453 * upap_timeout -- ã¿ã¤ã ã¢ã¦ãå¦ç436 * upap_timeout -- タイムアウト処理 454 437 */ 455 438 … … 476 459 477 460 /* 478 * ãµã¼ãã¢ã¼ã㧠PAP èªè¨¼ãéå§ããã461 * サーバモードで PAP 認証を開始する。 479 462 */ 480 463 … … 497 480 498 481 /* 499 * upap_rauthreq -- èªè¨¼è¦æ±å¿çå¦ç482 * upap_rauthreq -- 認証要求応答処理 500 483 */ 501 484 … … 510 493 511 494 /* 512 * åè¦æ±ããã£ãã¨ãã®å¦ç495 * 再要求があったときの処理 513 496 */ 514 497 id = GET_PPP_CP_HDR(input)->id; … … 527 510 528 511 /* 529 * ã¦ã¼ã¶åãç¹å®ããã512 * ユーザ名を特定する。 530 513 */ 531 514 ulen = *data; … … 538 521 539 522 /* 540 * ãã¹ã¯ã¼ããç¹å®ããã523 * パスワードを特定する。 541 524 */ 542 525 plen = *data; … … 547 530 548 531 /* 549 * ã¦ã¼ã¶åã¨ãã¹ã¯ã¼ãããã§ãã¯ããã532 * ユーザ名とパスワードをチェックする。 550 533 */ 551 534 if (compare(user, AUTH_LOCAL_USER, ulen) && … … 574 557 575 558 /* 576 * upap_sresp -- å¿çãè¿ãã559 * upap_sresp -- 応答を返す。 577 560 */ 578 561 … … 582 565 T_NET_BUF *output; 583 566 584 /* éä¿¡ãã*/567 /* 送信する */ 585 568 syscall(get_net_buf(&output, sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR))); 586 569 IF_SET_PROTO(output, PPP_PAP); … … 589 572 590 573 /* 591 * compare -- ã¦ã¼ã¶åã¨ãã¹ã¯ã¼ãã®æ¯è¼574 * compare -- ユーザ名とパスワードの比較 592 575 */ 593 576 … … 607 590 608 591 /* 609 * upap_reqtimeout -- è¦æ±ã¿ã¤ã ã¢ã¦ãå¦ç592 * upap_reqtimeout -- 要求タイムアウト処理 610 593 */ 611 594 -
asp3_gr_sakura/trunk/tinet/net/ppp_upap.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 93 81 94 82 /* 95 * PAP ã®å¶å¾¡ã³ã¼ã83 * PAP の制御コード 96 84 */ 97 85 98 #define PAP_AUTHREQ UINT_C(1) /* èªè¨¼è¦æ±*/99 #define PAP_AUTHACK UINT_C(2) /* èªè¨¼ACK */100 #define PAP_AUTHNAK UINT_C(3) /* èªè¨¼NAK */86 #define PAP_AUTHREQ UINT_C(1) /* 認証要求 */ 87 #define PAP_AUTHACK UINT_C(2) /* 認証 ACK */ 88 #define PAP_AUTHNAK UINT_C(3) /* 認証 NAK */ 101 89 102 90 /* 103 * ã¯ã©ã¤ã¢ã³ãã®ç¶æ 104 91 * クライアントの状態 105 92 */ 106 93 107 #define PAP_CS_INIT UINT_C(0) /* æªæ¥ç¶*/108 #define PAP_CS_CLOSED UINT_C(1) /* æ¥ç¶ãæªèªè¨¼*/109 #define PAP_CS_PENDING UINT_C(2) /* æªæ¥ç¶ãèªè¨¼*/110 #define PAP_CS_AUTHREQ UINT_C(3) /* èªè¨¼è¦æ±éä¿¡æ¸ã¿*/111 #define PAP_CS_OPEN UINT_C(4) /* ACK åä¿¡*/112 #define PAP_CS_BADAUTH UINT_C(5) /* NAK åä¿¡*/94 #define PAP_CS_INIT UINT_C(0) /* 未接続 */ 95 #define PAP_CS_CLOSED UINT_C(1) /* 接続、未認証 */ 96 #define PAP_CS_PENDING UINT_C(2) /* 未接続、認証 */ 97 #define PAP_CS_AUTHREQ UINT_C(3) /* 認証要求送信済み */ 98 #define PAP_CS_OPEN UINT_C(4) /* ACK 受信 */ 99 #define PAP_CS_BADAUTH UINT_C(5) /* NAK 受信 */ 113 100 114 101 /* 115 * ãµã¼ãã®ç¶æ 116 102 * サーバの状態 117 103 */ 118 104 119 #define PAP_SS_INIT UINT_C(0) /* æªæ¥ç¶ */ 120 #define PAP_SS_CLOSED UINT_C(1) /* æ¥ç¶ãæªèªè¨¼ */ 121 #define PAP_SS_PENDING UINT_C(2) /* æªæ¥ç¶ãèªè¨¼ */ 122 #define PAP_SS_LISTEN UINT_C(3) /* èªè¨¼è¦æ±åä¿¡å¾ 123 ã¡ */ 124 #define PAP_SS_OPEN UINT_C(4) /* ACK éä¿¡ */ 125 #define PAP_SS_BADAUTH UINT_C(5) /* NAK éä¿¡ */ 105 #define PAP_SS_INIT UINT_C(0) /* 未接続 */ 106 #define PAP_SS_CLOSED UINT_C(1) /* 接続、未認証 */ 107 #define PAP_SS_PENDING UINT_C(2) /* 未接続、認証 */ 108 #define PAP_SS_LISTEN UINT_C(3) /* 認証要求受信待ち */ 109 #define PAP_SS_OPEN UINT_C(4) /* ACK 送信 */ 110 #define PAP_SS_BADAUTH UINT_C(5) /* NAK 送信 */ 126 111 127 112 /* 128 * å¤æ°113 * 変数 129 114 */ 130 115 … … 132 117 133 118 /* 134 * é¢æ°119 * 関数 135 120 */ 136 121 -
asp3_gr_sakura/trunk/tinet/net/ppp_var.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 85 73 86 74 /* 87 * PPP ãããã³ã«ã¨ã³ããªæ§é ä½75 * PPP プロトコルエントリ構造体 88 76 */ 89 77 90 78 typedef struct t_ppp_protent { 91 uint16_t proto; /* ãããã³ã«çªå·*/92 void (*init) (void); /* åæåé¢æ°*/79 uint16_t proto; /* プロトコル番号 */ 80 void (*init) (void); /* 初期化関数 */ 93 81 void (*input) (T_NET_BUF *data); 94 /* å 95 ¥åé¢æ° */ 96 void (*protrej) (void); /* Ptoto-REJ åä¿¡å¦ç */ 97 void (*lowerup) (void); /* ä¸ä½å±¤ãèµ·åããã */ 98 void (*lowerdown) (void); /* ä¸ä½å±¤ãåæ¢ããã */ 99 void (*open) (void); /* ãªã¼ãã³ããã */ 100 void (*close) (void); /* ã¯ãã¼ãºããã */ 82 /* 入力関数 */ 83 void (*protrej) (void); /* Ptoto-REJ 受信処理 */ 84 void (*lowerup) (void); /* 下位層を起動する。 */ 85 void (*lowerdown) (void); /* 下位層を停止する。 */ 86 void (*open) (void); /* オープンする。 */ 87 void (*close) (void); /* クローズする。 */ 101 88 void (*datainput) (T_NET_BUF *data); 102 /* ãã¼ã¿å 103 ¥åé¢æ° */ 89 /* データ入力関数 */ 104 90 } T_PPP_PROTENT; 105 91 … … 107 93 108 94 /* 109 * å¤æ°95 * 変数 110 96 */ 111 97 112 extern T_PPP_PROTENT *protocols[]; /* ãããã³ã«è¡¨ */ 113 extern uint8_t ppp_phase; /* ãªã³ã¯ã®ç¶æ 114 */ 98 extern T_PPP_PROTENT *protocols[]; /* プロトコル表 */ 99 extern uint8_t ppp_phase; /* リンクの状態 */ 115 100 116 101 /* 117 * é¢æ°102 * 関数 118 103 */ 119 104 … … 121 106 122 107 /* 123 * PPP å¦çã¿ã¹ã¯108 * PPP 処理タスク 124 109 */ 125 110 -
asp3_gr_sakura/trunk/tinet/net/route.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 84 72 85 73 /* 86 * TINET 1.1 ã¨ã®äºææ§ç¢ºä¿74 * TINET 1.1 との互換性確保 87 75 */ 88 76 -
asp3_gr_sakura/trunk/tinet/net/tinet.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 50 38 51 39 /* 52 * TINET ç¬èªé¢æ°40 * TINET 独自関数 53 41 */ 54 42 -
asp3_gr_sakura/trunk/tinet/netapp/Makefile.netapp
-
Property svn:mime-type
changed from
text/x-makefile
totext/x-makefile; charset=UTF-8
r317 r318 5 5 # Tomakomai National College of Technology, JAPAN 6 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 # æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 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 # 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 # 43 # @(#) $Id : Makefile.netapp 1.7 2017/6/1 8:50:28 abe$44 # 45 46 # 47 # ãµã³ãã«ã®ãããã¯ã¼ã¯å¿ç¨ããã°ã©ã ã«é¢ããå®ç¾©48 # 49 50 # 51 # ã«ã¼ãã«ã®èå¥31 # @(#) $Id$ 32 # 33 34 # 35 # サンプルのネットワーク応用プログラムに関する定義 36 # 37 38 # 39 # カーネルの識別 52 40 # 53 41 ifdef SRCLANG … … 59 47 endif 60 48 61 # å¿ç¨ããã°ã©ã49 # 応用プログラム 62 50 63 51 TINET_ROOT = $(SRCDIR)/tinet … … 79 67 endif 80 68 81 # ãã©ã³ã¹ãã¼ã層ã®é¸æ69 # トランスポート層の選択 82 70 83 71 #SUPPORT_TCP = false … … 85 73 86 74 # 87 # å 88 ±éã¯ã©ã¤ã¢ã³ãã»ãµã¼ãããã°ã©ã ã®è¨å® 75 # 共通クライアント・サーバプログラムの設定 89 76 # 90 77 … … 109 96 endif 110 97 111 ifeq ($(TCP_ECHO_SRV),tcp_echo_srv1) # éåä¿¡ã¿ã¹ã¯åä¸å98 ifeq ($(TCP_ECHO_SRV),tcp_echo_srv1) # 送受信タスク同一型 112 99 113 100 SUPPORT_TCP = true … … 127 114 endif 128 115 129 ifeq ($(TCP_ECHO_SRV),tcp_echo_srv2) # éåä¿¡ã¿ã¹ã¯åé¢å116 ifeq ($(TCP_ECHO_SRV),tcp_echo_srv2) # 送受信タスク分離型 130 117 SUPPORT_TCP = true 131 118 USE_NETAPP_SUBR = true … … 372 359 373 360 # 374 # ã¢ããªã±ã¼ã·ã§ã³ããã°ã©ã ã«é¢ããå®ç¾©ã¸ã®è¿½å361 # アプリケーションプログラムに関する定義への追加 375 362 # 376 363 … … 408 395 409 396 # 410 # TINET ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ã®å®ç¾©ã¸ã®è¿½å397 # TINET コンフィギュレーションファイルの定義への追加 411 398 # 412 399 TINET_KERNEL_CFG := $(TINET_KERNEL_CFG) $(NETAPP_KERNEL_CFG) -
Property svn:mime-type
changed from
-
asp3_gr_sakura/trunk/tinet/netapp/dbg_cons.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * ãããã°ã³ã³ã½ã¼ã«35 * デバッグコンソール 48 36 */ 49 37 … … 132 120 133 121 /* 134 * dbg_cons_task_status -- ã¿ã¹ã¯ã®ç¶æ 135 ã®åºå 122 * dbg_cons_task_status -- タスクの状態の出力 136 123 */ 137 124 138 125 static const char task_stat_str[][sizeof("SUSPENDED")] = { 139 "DORMANT", /* ä¼æ¢ç¶æ 140 */ 141 "RUNNABLE", /* å®è¡ã§ããç¶æ 142 */ 143 "WAINTING", /* å¾ 144 ã¡ç¶æ 145 */ 146 "SUSPENDED", /* å¼·å¶å¾ 147 ã¡ç¶æ 148 */ 149 "SLEEP", /* èµ·åºå¾ 150 ã¡ç¶æ 151 */ 152 "WOBJ", /* åæã»éä¿¡ãªãã¸ã§ã¯ãã«å¯¾ããå¾ 153 ã¡ç¶æ 154 */ 155 "WOBJCB", /* å 156 ±éé¨åã®å¾ 157 ã¡ãã¥ã¼ã«ã¤ãªãã£ã¦ããã */ 126 "DORMANT", /* 休止状態 */ 127 "RUNNABLE", /* 実行できる状態 */ 128 "WAINTING", /* 待ち状態 */ 129 "SUSPENDED", /* 強制待ち状態 */ 130 "SLEEP", /* 起床待ち状態 */ 131 "WOBJ", /* 同期・通信オブジェクトに対する待ち状態 */ 132 "WOBJCB", /* 共通部分の待ちキューにつながっている。 */ 158 133 }; 159 134 … … 190 165 191 166 /* 192 * tcp_status -- TCP ã®ç¶æ 193 ã®åºå 167 * tcp_status -- TCP の状態の出力 194 168 */ 195 169 196 170 static const char tcp_fsm_str[][sizeof("ESTABLISHED")] = { 197 "CLOSED", /* ã¯ãã¼ãº */ 198 "LISTEN", /* ååãªã¼ãã³ */ 199 "SYN_SENT", /* è½åãªã¼ãã³ãSYN éä¿¡æ¸ã¿ */ 200 "SYN_RECVD", /* ååãªã¼ãã³ãSYN åä¿¡æ¸ã¿ */ 201 "ESTABLISHED", /* ã³ãã¯ã·ã§ã³éè¨å®äº */ 202 "CLOSE_WAIT", /* ç¸æãã FIN åä¿¡ãAPP ã®çµäºå¾ 203 ã¡ */ 204 "FIN_WAIT_1", /* APP ãçµäºãFIN éä¿¡æ¸ã¿ãACK å¾ 205 ã¡ */ 206 "CLOSING", /* åæã¯ãã¼ãºãFIN 交ææ¸ã¿ãACK å¾ 207 ã¡ */ 208 "LAST_ACK", /* APP ãçµäºãACK å¾ 209 ã¡ */ 210 "FIN_WAIT_2", /* ç¸æããã® FIN å¾ 211 ã¡ */ 212 "TIME_WAIT", /* ç¸æããã® FIN åä¿¡æ¸ã¿ãæéå¾ 213 ã¡ */ 171 "CLOSED", /* クローズ */ 172 "LISTEN", /* 受動オープン */ 173 "SYN_SENT", /* 能動オープン、SYN 送信済み */ 174 "SYN_RECVD", /* 受動オープン、SYN 受信済み */ 175 "ESTABLISHED", /* コネクション開設完了 */ 176 "CLOSE_WAIT", /* 相手から FIN 受信、APP の終了待ち */ 177 "FIN_WAIT_1", /* APP が終了、FIN 送信済み、ACK 待ち */ 178 "CLOSING", /* 同時クローズ、FIN 交換済み、ACK 待ち */ 179 "LAST_ACK", /* APP が終了、ACK 待ち */ 180 "FIN_WAIT_2", /* 相手からの FIN 待ち */ 181 "TIME_WAIT", /* 相手からの FIN 受信済み、時間待ち */ 214 182 }; 215 183 … … 578 546 579 547 /* 580 * udp6_status -- UDP ã®ç¶æ 581 ã®åºå 548 * udp6_status -- UDP の状態の出力 582 549 */ 583 550 … … 616 583 617 584 /* 618 * udp4_status -- UDP ã®ç¶æ 619 ã®åºå 585 * udp4_status -- UDP の状態の出力 620 586 */ 621 587 … … 675 641 676 642 /* 677 * ifa6_status -- è¿é£ãã£ãã·ã¥ç¶æ 678 ã®åºå 643 * ifa6_status -- 近隣キャッシュ状態の出力 679 644 */ 680 645 681 646 static const char nd_state_str[][sizeof("INCOMPLETE")] = { 682 "FREE", /* æªä½¿ç¨ */ 683 "NO STATE", /* ç¶æ 684 æªå®ç¾© */ 685 "INCOMPLETE", /* æªè§£æ±º */ 686 "REACHABLE", /* å°éå¯è½ */ 687 "STALE", /* å°éå¯è½æ§ã¯æªç¢ºèª */ 688 "DELAY", /* å°éå¯è½æ§ã®ç¢ºèªå¾ 689 æ© */ 690 "PROBE", /* å°éå¯è½æ§ã確èªä¸ */ 647 "FREE", /* 未使用 */ 648 "NO STATE", /* 状態未定義 */ 649 "INCOMPLETE", /* 未解決 */ 650 "REACHABLE", /* 到達可能 */ 651 "STALE", /* 到達可能性は未確認 */ 652 "DELAY", /* 到達可能性の確認待機 */ 653 "PROBE", /* 到達可能性を確認中 */ 691 654 }; 692 655 … … 703 666 "IX Expire State MAC Address IP Address\n"); 704 667 705 /* expire ã®åä½ã¯ [ms]ã*/668 /* expire の単位は [ms]。*/ 706 669 get_tim(&now); 707 670 cache = nd6_get_cache(); … … 728 691 729 692 /* 730 * ifa4_status -- ARP ãã£ãã·ã¥åºå693 * ifa4_status -- ARP キャッシュ出力 731 694 */ 732 695 … … 742 705 "IX Expire MAC Address IP Address\n"); 743 706 744 /* expire ã®åä½ã¯ [ms]ã*/707 /* expire の単位は [ms]。*/ 745 708 cache = arp_get_cache(); 746 709 for (ix = 0; ix < NUM_ARP_ENTRY; ix ++) { … … 762 725 763 726 /* 764 * net_count_struct -- ãããã¯ã¼ã¯çµ±è¨æ 765 å ± 727 * net_count_struct -- ネットワーク統計情報 766 728 */ 767 729 … … 770 732 { 771 733 cons_printf(portid, "\n%s\n", name); 772 cons_printf(portid, "\t åä¿¡ãªã¯ãããæ°\t%lu\n", item->in_octets);773 cons_printf(portid, "\t éä¿¡ãªã¯ãããæ°\t%lu\n", item->out_octets);774 cons_printf(portid, "\t åä¿¡ãã±ããæ°\t%lu\n", item->in_packets);775 cons_printf(portid, "\t éä¿¡ãã±ããæ°\t%lu\n", item->out_packets);776 cons_printf(portid, "\t åä¿¡ã¨ã©ã¼ãã±ããæ°\t%lu\n", item->in_err_packets);777 cons_printf(portid, "\t éä¿¡ã¨ã©ã¼ãã±ããæ°\t%lu\n", item->out_err_packets);734 cons_printf(portid, "\t受信オクテット数\t%lu\n", item->in_octets); 735 cons_printf(portid, "\t送信オクテット数\t%lu\n", item->out_octets); 736 cons_printf(portid, "\t受信バケット数\t%lu\n", item->in_packets); 737 cons_printf(portid, "\t送信バケット数\t%lu\n", item->out_packets); 738 cons_printf(portid, "\t受信エラーバケット数\t%lu\n", item->in_err_packets); 739 cons_printf(portid, "\t送信エラーバケット数\t%lu\n", item->out_err_packets); 778 740 } 779 741 780 742 /* 781 * net_count -- ãããã¯ã¼ã¯çµ±è¨æ 782 å ± 743 * net_count -- ネットワーク統計情報 783 744 */ 784 745 … … 792 753 WAI_NET_CONS_PRINTF(); 793 754 get_tim(&now); 794 cons_printf(portid, "ãããã¯ã¼ã¯çµ±è¨æ 795 å ±\tçµéæé[ms]\t%lu\t", now); 755 cons_printf(portid, "ネットワーク統計情報\t経過時間[ms]\t%lu\t", now); 796 756 if (now > (1000 * 3600 * 24)) 797 cons_printf(portid, "%3lu æ¥ %2luæé %2luå %2luç§\n",757 cons_printf(portid, "%3lu日 %2lu時間 %2lu分 %2lu秒\n", 798 758 now / (1000 * 3600 * 24), 799 759 (now / (1000 * 3600)) % 24, … … 801 761 (now / 1000 ) % 60); 802 762 else 803 cons_printf(portid, "%2lu æé %2luå %2luç§\n",763 cons_printf(portid, "%2lu時間 %2lu分 %2lu秒\n", 804 764 (now / (1000 * 3600)) % 24, 805 765 (now / (1000 * 60 )) % 60, … … 810 770 net_count_struct(portid, "HDLC", &net_count_hdlc); 811 771 cons_printf(portid, "\nPPP\n"); 812 cons_printf(portid, "\t åä¿¡ãªã¯ãããæ°\t%lu\n", net_count_ppp.in_octets);813 cons_printf(portid, "\t éä¿¡ãªã¯ãããæ°\t%lu\n", net_count_ppp.out_octets);814 cons_printf(portid, "\t åä¿¡ãã±ããæ°\t%lu\n", net_count_ppp.in_packets);815 cons_printf(portid, "\t éä¿¡ãã±ããæ°\t%lu\n", net_count_ppp.out_packets);816 cons_printf(portid, "\t åä¿¡ã¨ã©ã¼ãã±ããæ°\t%lu\n", net_count_ppp.in_err_packets);817 cons_printf(portid, "\t éä¿¡ã¨ã©ã¼ãã±ããæ°\t%lu\n", net_count_ppp.out_err_packets);818 cons_printf(portid, "\tnet_buf å²ãå½ã¦å¤±ææ°\t%lu\n", net_count_ppp_no_bufs);772 cons_printf(portid, "\t受信オクテット数\t%lu\n", net_count_ppp.in_octets); 773 cons_printf(portid, "\t送信オクテット数\t%lu\n", net_count_ppp.out_octets); 774 cons_printf(portid, "\t受信バケット数\t%lu\n", net_count_ppp.in_packets); 775 cons_printf(portid, "\t送信バケット数\t%lu\n", net_count_ppp.out_packets); 776 cons_printf(portid, "\t受信エラーバケット数\t%lu\n", net_count_ppp.in_err_packets); 777 cons_printf(portid, "\t送信エラーバケット数\t%lu\n", net_count_ppp.out_err_packets); 778 cons_printf(portid, "\tnet_buf 割り当て失敗数\t%lu\n", net_count_ppp_no_bufs); 819 779 820 780 cons_printf(portid, "\nLCP\n"); 821 cons_printf(portid, "\t åä¿¡ãªã¯ãããæ°\t%lu\n", net_count_ppp_lcp_in_octets);822 cons_printf(portid, "\t åä¿¡ãã±ããæ°\t%lu\n", net_count_ppp_lcp_in_packets);781 cons_printf(portid, "\t受信オクテット数\t%lu\n", net_count_ppp_lcp_in_octets); 782 cons_printf(portid, "\t受信バケット数\t%lu\n", net_count_ppp_lcp_in_packets); 823 783 824 784 cons_printf(portid, "\nIPCP\n"); 825 cons_printf(portid, "\t åä¿¡ãªã¯ãããæ°\t%lu\n", net_count_ppp_ipcp_in_octets);826 cons_printf(portid, "\t åä¿¡ãã±ããæ°\t%lu\n", net_count_ppp_ipcp_in_packets);785 cons_printf(portid, "\t受信オクテット数\t%lu\n", net_count_ppp_ipcp_in_octets); 786 cons_printf(portid, "\t受信バケット数\t%lu\n", net_count_ppp_ipcp_in_packets); 827 787 828 788 cons_printf(portid, "\nPAP\n"); 829 cons_printf(portid, "\t åä¿¡ãªã¯ãããæ°\t%lu\n", net_count_ppp_upap_in_octets);830 cons_printf(portid, "\t åä¿¡ãã±ããæ°\t%lu\n", net_count_ppp_upap_in_packets);789 cons_printf(portid, "\t受信オクテット数\t%lu\n", net_count_ppp_upap_in_octets); 790 cons_printf(portid, "\t受信バケット数\t%lu\n", net_count_ppp_upap_in_packets); 831 791 832 792 #endif /* of #ifdef SUPPORT_PPP */ … … 834 794 #ifdef SUPPORT_ETHER 835 795 836 net_count_struct(portid, " ã¤ã¼ãµããã", &net_count_ether);837 838 cons_printf(portid, "\n ã¤ã¼ãµãããã»ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹\n");839 cons_printf(portid, "\t åä¿¡ãªã¯ãããæ°\t%lu\n", net_count_ether_nic[NC_ETHER_NIC_IN_OCTETS]);840 cons_printf(portid, "\t åä¿¡ãã±ããæ°\t%lu\n", net_count_ether_nic[NC_ETHER_NIC_IN_PACKETS]);841 cons_printf(portid, "\t åä¿¡ã¨ã©ã¼ãã±ããæ°\t%lu\n", net_count_ether_nic[NC_ETHER_NIC_IN_ERR_PACKETS]);842 cons_printf(portid, "\tnet_buf å²ãå½ã¦å¤±ææ°\t%lu\n", net_count_ether_nic[NC_ETHER_NIC_NO_BUFS]);843 cons_printf(portid, "\t åä¿¡ã»ããã©è³æºè¿å´ä¸éãªã¼ãã¼æ°\t%lu\n", net_count_ether_nic[NC_ETHER_NIC_RXB_QOVRS]);844 cons_printf(portid, "\t éä¿¡ãªã¯ãããæ°\t%lu\n", net_count_ether_nic[NC_ETHER_NIC_OUT_OCTETS]);845 cons_printf(portid, "\t éä¿¡ãã±ããæ°\t%lu\n", net_count_ether_nic[NC_ETHER_NIC_OUT_PACKETS]);846 cons_printf(portid, "\t éä¿¡ã¨ã©ã¼ãã±ããæ°\t%lu\n", net_count_ether_nic[NC_ETHER_NIC_OUT_ERR_PACKETS]);847 cons_printf(portid, "\t ã³ãªã¸ã§ã³æ°\t%lu\n", net_count_ether_nic[NC_ETHER_NIC_COLS]);848 cons_printf(portid, "\t éä¿¡ã»ããã©è³æºè¿å´ä¸éãªã¼ãã¼æ°\t%lu\n", net_count_ether_nic[NC_ETHER_NIC_TXB_QOVRS]);849 cons_printf(portid, "\t éä¿¡ã¿ã¤ã ã¢ã¦ãæ°\t%lu\n", net_count_ether_nic[NC_ETHER_NIC_TIMEOUTS]);850 cons_printf(portid, "\t ãªã»ããæ°\t%lu\n", net_count_ether_nic[NC_ETHER_NIC_RESETS]);796 net_count_struct(portid, "イーサネット", &net_count_ether); 797 798 cons_printf(portid, "\nイーサネット・ネットワークインタフェース\n"); 799 cons_printf(portid, "\t受信オクテット数\t%lu\n", net_count_ether_nic[NC_ETHER_NIC_IN_OCTETS]); 800 cons_printf(portid, "\t受信バケット数\t%lu\n", net_count_ether_nic[NC_ETHER_NIC_IN_PACKETS]); 801 cons_printf(portid, "\t受信エラーバケット数\t%lu\n", net_count_ether_nic[NC_ETHER_NIC_IN_ERR_PACKETS]); 802 cons_printf(portid, "\tnet_buf 割り当て失敗数\t%lu\n", net_count_ether_nic[NC_ETHER_NIC_NO_BUFS]); 803 cons_printf(portid, "\t受信セマフォ資源返却上限オーバー数\t%lu\n", net_count_ether_nic[NC_ETHER_NIC_RXB_QOVRS]); 804 cons_printf(portid, "\t送信オクテット数\t%lu\n", net_count_ether_nic[NC_ETHER_NIC_OUT_OCTETS]); 805 cons_printf(portid, "\t送信バケット数\t%lu\n", net_count_ether_nic[NC_ETHER_NIC_OUT_PACKETS]); 806 cons_printf(portid, "\t送信エラーバケット数\t%lu\n", net_count_ether_nic[NC_ETHER_NIC_OUT_ERR_PACKETS]); 807 cons_printf(portid, "\tコリジョン数\t%lu\n", net_count_ether_nic[NC_ETHER_NIC_COLS]); 808 cons_printf(portid, "\t送信セマフォ資源返却上限オーバー数\t%lu\n", net_count_ether_nic[NC_ETHER_NIC_TXB_QOVRS]); 809 cons_printf(portid, "\t送信タイムアウト数 \t%lu\n", net_count_ether_nic[NC_ETHER_NIC_TIMEOUTS]); 810 cons_printf(portid, "\tリセット数\t%lu\n", net_count_ether_nic[NC_ETHER_NIC_RESETS]); 851 811 852 812 #endif /* of #ifdef SUPPORT_ETHER */ … … 855 815 856 816 cons_printf(portid, "\nIPv6\n"); 857 cons_printf(portid, "\t åä¿¡ãªã¯ãããæ°\t%lu\n", net_count_ip6[NC_IP6_IN_OCTETS]);858 cons_printf(portid, "\t åä¿¡ãã¼ã¿ã°ã©ã æ°\t%lu\n", net_count_ip6[NC_IP6_IN_PACKETS]);859 cons_printf(portid, "\t åä¿¡ã¨ã©ã¼ãã¼ã¿ã°ã©ã æ°\t%lu\n", net_count_ip6[NC_IP6_IN_ERR_PACKETS]);860 cons_printf(portid, "\t é·ãã¨ã©ã¼æ°\t%lu\n", net_count_ip6[NC_IP6_IN_ERR_SHORT]);861 cons_printf(portid, "\t ãã¼ã¸ã§ã³ã¨ã©ã¼æ°\t%lu\n", net_count_ip6[NC_IP6_IN_ERR_VER]);862 cons_printf(portid, "\t ã¢ãã¬ã¹ã¨ã©ã¼æ°\t%lu\n", net_count_ip6[NC_IP6_IN_ERR_ADDR]);863 cons_printf(portid, "\t ãããã³ã«ã¨ã©ã¼æ°\t%lu\n", net_count_ip6[NC_IP6_IN_ERR_PROTO]);864 cons_printf(portid, "\t åå²åä¿¡æ°\t%lu\n", net_count_ip6[NC_IP6_FRAG_IN]);865 cons_printf(portid, "\t åå²åä¿¡ãã©ã°ã¡ã³ãæ°\t%lu\n", net_count_ip6[NC_IP6_FRAG_IN_FRAGS]);866 cons_printf(portid, "\t åå²åä¿¡åæ§ææåæ°\t%lu\n", net_count_ip6[NC_IP6_FRAG_IN_OK]);867 cons_printf(portid, "\t åå²åä¿¡ç ´æ£æ°\t%lu\n", net_count_ip6[NC_IP6_FRAG_IN_DROP]);868 cons_printf(portid, "\t åå²åä¿¡ãããã¡ãå½ã¦å¤±ææ°\t%lu\n", net_count_ip6[NC_IP6_FRAG_IN_NO_BUF]);869 cons_printf(portid, "\t åå²åä¿¡ã¿ã¤ã ã¢ã¦ãæ°\t%lu\n", net_count_ip6[NC_IP6_FRAG_IN_TMOUT]);870 cons_printf(portid, "\t éä¿¡ãªã¯ãããæ°\t%lu\n", net_count_ip6[NC_IP6_OUT_OCTETS]);871 cons_printf(portid, "\t éä¿¡ãã¼ã¿ã°ã©ã æ°\t%lu\n", net_count_ip6[NC_IP6_OUT_PACKETS]);872 cons_printf(portid, "\t éä¿¡ã¨ã©ã¼ãã¼ã¿ã°ã©ã æ°\t%lu\n", net_count_ip6[NC_IP6_OUT_ERR_PACKETS]);873 cons_printf(portid, "\t åå²éä¿¡æ°\t%lu\n", net_count_ip6[NC_IP6_FRAG_OUT]);874 cons_printf(portid, "\t åå²éä¿¡ãã©ã°ã¡ã³ãæ°\t%lu\n", net_count_ip6[NC_IP6_FRAG_OUT_FRAGS]);817 cons_printf(portid, "\t受信オクテット数\t%lu\n", net_count_ip6[NC_IP6_IN_OCTETS]); 818 cons_printf(portid, "\t受信データグラム数\t%lu\n", net_count_ip6[NC_IP6_IN_PACKETS]); 819 cons_printf(portid, "\t受信エラーデータグラム数\t%lu\n", net_count_ip6[NC_IP6_IN_ERR_PACKETS]); 820 cons_printf(portid, "\t長さエラー数\t%lu\n", net_count_ip6[NC_IP6_IN_ERR_SHORT]); 821 cons_printf(portid, "\tバージョンエラー数\t%lu\n", net_count_ip6[NC_IP6_IN_ERR_VER]); 822 cons_printf(portid, "\tアドレスエラー数\t%lu\n", net_count_ip6[NC_IP6_IN_ERR_ADDR]); 823 cons_printf(portid, "\tプロトコルエラー数\t%lu\n", net_count_ip6[NC_IP6_IN_ERR_PROTO]); 824 cons_printf(portid, "\t分割受信数\t%lu\n", net_count_ip6[NC_IP6_FRAG_IN]); 825 cons_printf(portid, "\t分割受信フラグメント数\t%lu\n", net_count_ip6[NC_IP6_FRAG_IN_FRAGS]); 826 cons_printf(portid, "\t分割受信再構成成功数\t%lu\n", net_count_ip6[NC_IP6_FRAG_IN_OK]); 827 cons_printf(portid, "\t分割受信破棄数\t%lu\n", net_count_ip6[NC_IP6_FRAG_IN_DROP]); 828 cons_printf(portid, "\t分割受信バッファり当て失敗数\t%lu\n", net_count_ip6[NC_IP6_FRAG_IN_NO_BUF]); 829 cons_printf(portid, "\t分割受信タイムアウト数\t%lu\n", net_count_ip6[NC_IP6_FRAG_IN_TMOUT]); 830 cons_printf(portid, "\t送信オクテット数\t%lu\n", net_count_ip6[NC_IP6_OUT_OCTETS]); 831 cons_printf(portid, "\t送信データグラム数\t%lu\n", net_count_ip6[NC_IP6_OUT_PACKETS]); 832 cons_printf(portid, "\t送信エラーデータグラム数\t%lu\n", net_count_ip6[NC_IP6_OUT_ERR_PACKETS]); 833 cons_printf(portid, "\t分割送信数\t%lu\n", net_count_ip6[NC_IP6_FRAG_OUT]); 834 cons_printf(portid, "\t分割送信フラグメント数\t%lu\n", net_count_ip6[NC_IP6_FRAG_OUT_FRAGS]); 875 835 876 836 cons_printf(portid, "\nICMPv6\n"); 877 cons_printf(portid, "\t åä¿¡ãªã¯ãããæ°\t%lu\n", net_count_icmp6[NC_ICMP6_IN_OCTETS]);878 cons_printf(portid, "\t åä¿¡ãã±ããæ°\t%lu\n", net_count_icmp6[NC_ICMP6_IN_PACKETS]);879 cons_printf(portid, "\t åä¿¡ã¨ã©ã¼ãã±ããæ°\t%lu\n", net_count_icmp6[NC_ICMP6_IN_ERR_PACKETS]);880 cons_printf(portid, "\t åä¿¡ããã¯ãµã ã¨ã©ã¼æ°\t%lu\n", net_count_icmp6[NC_ICMP6_IN_ERR_CKSUM]);881 cons_printf(portid, "\t éä¿¡ãªã¯ãããæ°\t%lu\n", net_count_icmp6[NC_ICMP6_OUT_OCTETS]);882 cons_printf(portid, "\t éä¿¡ãã±ããæ°\t%lu\n", net_count_icmp6[NC_ICMP6_OUT_PACKETS]);883 cons_printf(portid, "\t éä¿¡ã¨ã©ã¼ãã±ããæ°\t%lu\n", net_count_icmp6[NC_ICMP6_OUT_ERR_PACKETS]);884 885 cons_printf(portid, "\n è¿é£æ¢ç´¢\n");886 cons_printf(portid, "\t ã«ã¼ã¿éç¥åä¿¡æ°\t%lu\n", net_count_nd6[NC_ND6_RA_IN_PACKETS]);887 cons_printf(portid, "\t ã«ã¼ã¿è¦è«éä¿¡æ°\t%lu\n", net_count_nd6[NC_ND6_RS_OUT_PACKETS]);888 cons_printf(portid, "\t è¿é£éç¥åä¿¡æ°\t%lu\n", net_count_nd6[NC_ND6_NA_IN_PACKETS]);889 cons_printf(portid, "\t è¿é£éç¥éä¿¡æ°\t%lu\n", net_count_nd6[NC_ND6_NA_OUT_PACKETS]);890 cons_printf(portid, "\t è¿é£è¦è«åä¿¡æ°\t%lu\n", net_count_nd6[NC_ND6_NS_IN_PACKETS]);891 cons_printf(portid, "\t è¿é£è¦è«éä¿¡æ°\t%lu\n", net_count_nd6[NC_ND6_NS_OUT_PACKETS]);892 cons_printf(portid, "\t éè¤ã¢ãã¬ã¹æ¤åºéä¿¡æ°\t%lu\n", net_count_nd6[NC_ND6_DAD_OUT_PACKETS]);837 cons_printf(portid, "\t受信オクテット数\t%lu\n", net_count_icmp6[NC_ICMP6_IN_OCTETS]); 838 cons_printf(portid, "\t受信パケット数\t%lu\n", net_count_icmp6[NC_ICMP6_IN_PACKETS]); 839 cons_printf(portid, "\t受信エラーパケット数\t%lu\n", net_count_icmp6[NC_ICMP6_IN_ERR_PACKETS]); 840 cons_printf(portid, "\t受信チックサムエラー数\t%lu\n", net_count_icmp6[NC_ICMP6_IN_ERR_CKSUM]); 841 cons_printf(portid, "\t送信オクテット数\t%lu\n", net_count_icmp6[NC_ICMP6_OUT_OCTETS]); 842 cons_printf(portid, "\t送信パケット数\t%lu\n", net_count_icmp6[NC_ICMP6_OUT_PACKETS]); 843 cons_printf(portid, "\t送信エラーパケット数\t%lu\n", net_count_icmp6[NC_ICMP6_OUT_ERR_PACKETS]); 844 845 cons_printf(portid, "\n近隣探索\n"); 846 cons_printf(portid, "\tルータ通知受信数\t%lu\n", net_count_nd6[NC_ND6_RA_IN_PACKETS]); 847 cons_printf(portid, "\tルータ要請送信数\t%lu\n", net_count_nd6[NC_ND6_RS_OUT_PACKETS]); 848 cons_printf(portid, "\t近隣通知受信数\t%lu\n", net_count_nd6[NC_ND6_NA_IN_PACKETS]); 849 cons_printf(portid, "\t近隣通知送信数\t%lu\n", net_count_nd6[NC_ND6_NA_OUT_PACKETS]); 850 cons_printf(portid, "\t近隣要請受信数\t%lu\n", net_count_nd6[NC_ND6_NS_IN_PACKETS]); 851 cons_printf(portid, "\t近隣要請送信数\t%lu\n", net_count_nd6[NC_ND6_NS_OUT_PACKETS]); 852 cons_printf(portid, "\t重複アドレス検出送信数\t%lu\n", net_count_nd6[NC_ND6_DAD_OUT_PACKETS]); 893 853 894 854 #else /* of #if defined(SUPPORT_INET6) */ … … 903 863 904 864 cons_printf(portid, "\nIPv4\n"); 905 cons_printf(portid, "\tåä¿¡ãªã¯ãããæ°\t%lu\n", net_count_ip4[NC_IP4_IN_OCTETS]); 906 cons_printf(portid, "\tåä¿¡ãã¼ã¿ã°ã©ã æ°\t%lu\n", net_count_ip4[NC_IP4_IN_PACKETS]); 907 cons_printf(portid, "\tåä¿¡ã¨ã©ã¼ãã¼ã¿ã°ã©ã æ°\t%lu\n", net_count_ip4[NC_IP4_IN_ERR_PACKETS]); 908 cons_printf(portid, "\tãã§ãã¯ãµã ã¨ã©ã¼æ°\t%lu\n", net_count_ip4[NC_IP4_IN_ERR_CKSUM]); 909 cons_printf(portid, "\té·ãã¨ã©ã¼æ°\t%lu\n", net_count_ip4[NC_IP4_IN_ERR_SHORT]); 910 cons_printf(portid, "\tãã¼ã¸ã§ã³ã¨ã©ã¼æ°\t%lu\n", net_count_ip4[NC_IP4_IN_ERR_VER]); 911 cons_printf(portid, "\tã¢ãã¬ã¹ã¨ã©ã¼æ°\t%lu\n", net_count_ip4[NC_IP4_IN_ERR_ADDR]); 912 cons_printf(portid, "\tãããã³ã«ã¨ã©ã¼æ°\t%lu\n", net_count_ip4[NC_IP4_IN_ERR_PROTO]); 913 cons_printf(portid, "\tãªãã·ã§ã³å 914 ¥åæ°\t%lu\n", net_count_ip4[NC_IP4_OPTS]); 915 cons_printf(portid, "\tåå²åä¿¡æ°\t%lu\n", net_count_ip4[NC_IP4_FRAG_IN]); 916 cons_printf(portid, "\tåå²åä¿¡ãã©ã°ã¡ã³ãæ°\t%lu\n", net_count_ip4[NC_IP4_FRAG_IN_FRAGS]); 917 cons_printf(portid, "\tåå²åä¿¡åæ§ææåæ°\t%lu\n", net_count_ip4[NC_IP4_FRAG_IN_OK]); 918 cons_printf(portid, "\tåå²åä¿¡ç ´æ£æ°\t%lu\n", net_count_ip4[NC_IP4_FRAG_IN_DROP]); 919 cons_printf(portid, "\tåå²åä¿¡ãããã¡ãå½ã¦å¤±ææ°\t%lu\n", net_count_ip4[NC_IP4_FRAG_IN_NO_BUF]); 920 cons_printf(portid, "\tåå²åä¿¡ã¿ã¤ã ã¢ã¦ãæ°\t%lu\n", net_count_ip4[NC_IP4_FRAG_IN_TMOUT]); 921 cons_printf(portid, "\téä¿¡ãªã¯ãããæ°\t%lu\n", net_count_ip4[NC_IP4_OUT_OCTETS]); 922 cons_printf(portid, "\téä¿¡ãã¼ã¿ã°ã©ã æ°\t%lu\n", net_count_ip4[NC_IP4_OUT_PACKETS]); 923 cons_printf(portid, "\téä¿¡ã¨ã©ã¼ãã¼ã¿ã°ã©ã æ°\t%lu\n", net_count_ip4[NC_IP4_OUT_ERR_PACKETS]); 924 cons_printf(portid, "\tåå²éä¿¡æ°\t%lu\n", net_count_ip4[NC_IP4_FRAG_OUT]); 925 cons_printf(portid, "\tåå²éä¿¡ãã©ã°ã¡ã³ãæ°\t%lu\n", net_count_ip4[NC_IP4_FRAG_OUT_FRAGS]); 865 cons_printf(portid, "\t受信オクテット数\t%lu\n", net_count_ip4[NC_IP4_IN_OCTETS]); 866 cons_printf(portid, "\t受信データグラム数\t%lu\n", net_count_ip4[NC_IP4_IN_PACKETS]); 867 cons_printf(portid, "\t受信エラーデータグラム数\t%lu\n", net_count_ip4[NC_IP4_IN_ERR_PACKETS]); 868 cons_printf(portid, "\tチェックサムエラー数\t%lu\n", net_count_ip4[NC_IP4_IN_ERR_CKSUM]); 869 cons_printf(portid, "\t長さエラー数\t%lu\n", net_count_ip4[NC_IP4_IN_ERR_SHORT]); 870 cons_printf(portid, "\tバージョンエラー数\t%lu\n", net_count_ip4[NC_IP4_IN_ERR_VER]); 871 cons_printf(portid, "\tアドレスエラー数\t%lu\n", net_count_ip4[NC_IP4_IN_ERR_ADDR]); 872 cons_printf(portid, "\tプロトコルエラー数\t%lu\n", net_count_ip4[NC_IP4_IN_ERR_PROTO]); 873 cons_printf(portid, "\tオプション入力数\t%lu\n", net_count_ip4[NC_IP4_OPTS]); 874 cons_printf(portid, "\t分割受信数\t%lu\n", net_count_ip4[NC_IP4_FRAG_IN]); 875 cons_printf(portid, "\t分割受信フラグメント数\t%lu\n", net_count_ip4[NC_IP4_FRAG_IN_FRAGS]); 876 cons_printf(portid, "\t分割受信再構成成功数\t%lu\n", net_count_ip4[NC_IP4_FRAG_IN_OK]); 877 cons_printf(portid, "\t分割受信破棄数\t%lu\n", net_count_ip4[NC_IP4_FRAG_IN_DROP]); 878 cons_printf(portid, "\t分割受信バッファり当て失敗数\t%lu\n", net_count_ip4[NC_IP4_FRAG_IN_NO_BUF]); 879 cons_printf(portid, "\t分割受信タイムアウト数\t%lu\n", net_count_ip4[NC_IP4_FRAG_IN_TMOUT]); 880 cons_printf(portid, "\t送信オクテット数\t%lu\n", net_count_ip4[NC_IP4_OUT_OCTETS]); 881 cons_printf(portid, "\t送信データグラム数\t%lu\n", net_count_ip4[NC_IP4_OUT_PACKETS]); 882 cons_printf(portid, "\t送信エラーデータグラム数\t%lu\n", net_count_ip4[NC_IP4_OUT_ERR_PACKETS]); 883 cons_printf(portid, "\t分割送信数\t%lu\n", net_count_ip4[NC_IP4_FRAG_OUT]); 884 cons_printf(portid, "\t分割送信フラグメント数\t%lu\n", net_count_ip4[NC_IP4_FRAG_OUT_FRAGS]); 926 885 927 886 net_count_struct(portid, "ICMP", &net_count_icmp4); … … 934 893 935 894 cons_printf(portid, "\nTCP\n"); 936 cons_printf(portid, "\t åä¿¡ãªã¯ãããæ°\t%lu\n", net_count_tcp[NC_TCP_RECV_OCTETS]);937 cons_printf(portid, "\t åä¿¡ãã¼ã¿ãªã¯ãããæ°\t%lu\n", net_count_tcp[NC_TCP_RECV_DATA_OCTETS]);938 cons_printf(portid, "\t åä¿¡ã»ã°ã¡ã³ãæ°\t%lu\n", net_count_tcp[NC_TCP_RECV_SEGS]);939 cons_printf(portid, "\t åä¿¡ãã¼ã¿ã»ã°ã¡ã³ãæ°\t%lu\n", net_count_tcp[NC_TCP_RECV_DATA_SEGS]);940 cons_printf(portid, "\t åä¿¡ãç·æ¥ã»ã°ã¡ã³ãæ°\t%lu\n", net_count_tcp[NC_TCP_RECV_URG_SEGS]);941 cons_printf(portid, "\t åä¿¡ããããä¸æ£æ°\t%lu\n", net_count_tcp[NC_TCP_RECV_BAD_HEADERS]);942 cons_printf(portid, "\t åä¿¡ããã§ãã¯ãµã ä¸æ£æ°\t%lu\n", net_count_tcp[NC_TCP_RECV_BAD_CKSUMS]);943 cons_printf(portid, "\t åä¿¡ãACK æ°\t%lu\n", net_count_tcp[NC_TCP_RECV_ACKS]);944 cons_printf(portid, "\t åä¿¡ãå¤é ACK æ°\t%lu\n", net_count_tcp[NC_TCP_RECV_DUP_ACKS]);945 cons_printf(portid, "\t åä¿¡ãRST æ°\t%lu\n", net_count_tcp[NC_TCP_RECV_RSTS]);946 cons_printf(portid, "\t åä¿¡ãå¤éæ°\t%lu\n", net_count_tcp[NC_TCP_RECV_DUP_SEGS]);947 cons_printf(portid, "\t åä¿¡ãç ´æ£æ°\t%lu\n", net_count_tcp[NC_TCP_RECV_DROP_SEGS]);948 cons_printf(portid, "\t åä¿¡ãã¥ã¼è§£æ¾æ°\t%lu\n", net_count_tcp[NC_TCP_FREE_RCV_QUEUE]);949 cons_printf(portid, "\t éä¿¡ãã¼ã¿ãªã¯ãããæ°\t%lu\n", net_count_tcp[NC_TCP_SEND_DATA_OCTETS]);950 cons_printf(portid, "\t éä¿¡å¶å¾¡ã»ã°ã¡ã³ãæ°\t%lu\n", net_count_tcp[NC_TCP_SEND_CNTL_SEGS]);951 cons_printf(portid, "\t éä¿¡ã»ã°ã¡ã³ãæ°\t%lu\n", net_count_tcp[NC_TCP_SEND_SEGS]);952 cons_printf(portid, "\t åéä¿¡ã»ã°ã¡ã³ãæ°\t%lu\n", net_count_tcp[NC_TCP_SEND_REXMIT_SEGS]);953 cons_printf(portid, "\t éä¿¡ãã¼ã¿ã»ã°ã¡ã³ãæ°\t%lu\n", net_count_tcp[NC_TCP_SEND_DATA_SEGS]);954 cons_printf(portid, "\t éä¿¡ãç·æ¥ã»ã°ã¡ã³ãæ°\t%lu\n", net_count_tcp[NC_TCP_SEND_URG_SEGS]);955 cons_printf(portid, "\t éä¿¡ãACK æ°\t%lu\n", net_count_tcp[NC_TCP_SEND_ACKS]);956 cons_printf(portid, "\t éä¿¡ãRST æ°\t%lu\n", net_count_tcp[NC_TCP_SEND_RSTS]);957 cons_printf(portid, "\tRTT æ´æ°æ°\t%lu\n", net_count_tcp[NC_TCP_RTT_UPDATES]);958 cons_printf(portid, "\t ååãªã¼ãã³æ°\t%lu\n", net_count_tcp[NC_TCP_ACCEPTS]);959 cons_printf(portid, "\t è½åãªã¼ãã³æ°\t%lu\n", net_count_tcp[NC_TCP_CONNECTS]);895 cons_printf(portid, "\t受信オクテット数\t%lu\n", net_count_tcp[NC_TCP_RECV_OCTETS]); 896 cons_printf(portid, "\t受信データオクテット数\t%lu\n", net_count_tcp[NC_TCP_RECV_DATA_OCTETS]); 897 cons_printf(portid, "\t受信セグメント数\t%lu\n", net_count_tcp[NC_TCP_RECV_SEGS]); 898 cons_printf(portid, "\t受信データセグメント数\t%lu\n", net_count_tcp[NC_TCP_RECV_DATA_SEGS]); 899 cons_printf(portid, "\t受信、緊急セグメント数\t%lu\n", net_count_tcp[NC_TCP_RECV_URG_SEGS]); 900 cons_printf(portid, "\t受信、ヘッダ不正数\t%lu\n", net_count_tcp[NC_TCP_RECV_BAD_HEADERS]); 901 cons_printf(portid, "\t受信、チェックサム不正数\t%lu\n", net_count_tcp[NC_TCP_RECV_BAD_CKSUMS]); 902 cons_printf(portid, "\t受信、ACK 数\t%lu\n", net_count_tcp[NC_TCP_RECV_ACKS]); 903 cons_printf(portid, "\t受信、多重 ACK 数\t%lu\n", net_count_tcp[NC_TCP_RECV_DUP_ACKS]); 904 cons_printf(portid, "\t受信、RST 数\t%lu\n", net_count_tcp[NC_TCP_RECV_RSTS]); 905 cons_printf(portid, "\t受信、多重数\t%lu\n", net_count_tcp[NC_TCP_RECV_DUP_SEGS]); 906 cons_printf(portid, "\t受信、破棄数\t%lu\n", net_count_tcp[NC_TCP_RECV_DROP_SEGS]); 907 cons_printf(portid, "\t受信キュー解放数\t%lu\n", net_count_tcp[NC_TCP_FREE_RCV_QUEUE]); 908 cons_printf(portid, "\t送信データオクテット数\t%lu\n", net_count_tcp[NC_TCP_SEND_DATA_OCTETS]); 909 cons_printf(portid, "\t送信制御セグメント数\t%lu\n", net_count_tcp[NC_TCP_SEND_CNTL_SEGS]); 910 cons_printf(portid, "\t送信セグメント数\t%lu\n", net_count_tcp[NC_TCP_SEND_SEGS]); 911 cons_printf(portid, "\t再送信セグメント数\t%lu\n", net_count_tcp[NC_TCP_SEND_REXMIT_SEGS]); 912 cons_printf(portid, "\t送信データセグメント数\t%lu\n", net_count_tcp[NC_TCP_SEND_DATA_SEGS]); 913 cons_printf(portid, "\t送信、緊急セグメント数\t%lu\n", net_count_tcp[NC_TCP_SEND_URG_SEGS]); 914 cons_printf(portid, "\t送信、ACK 数\t%lu\n", net_count_tcp[NC_TCP_SEND_ACKS]); 915 cons_printf(portid, "\t送信、RST 数\t%lu\n", net_count_tcp[NC_TCP_SEND_RSTS]); 916 cons_printf(portid, "\tRTT 更新数\t%lu\n", net_count_tcp[NC_TCP_RTT_UPDATES]); 917 cons_printf(portid, "\t受動オープン数\t%lu\n", net_count_tcp[NC_TCP_ACCEPTS]); 918 cons_printf(portid, "\t能動オープン数\t%lu\n", net_count_tcp[NC_TCP_CONNECTS]); 960 919 961 920 #endif /* of #ifdef SUPPORT_TCP */ … … 968 927 969 928 tbl = nbuf_get_tbl(); 970 cons_printf(portid, "\n ãããã¯ã¼ã¯ãããã¡\n\tãµã¤ãº\tç¨ææ°\t使ç¨ä¸æ°\tå²å½è¦æ±æ°\tå²å½æ°\tå²å½ã¦ã¨ã©ã¼æ°\n");929 cons_printf(portid, "\nネットワークバッファ\n\tサイズ\t用意数\t使用中数\t割当要求数\t割当数\t割当てエラー数\n"); 971 930 for (ix = nbuf_get_tbl_size(); ix -- > 0; ) { 972 931 cons_printf(portid, "\t%lu\t%lu\t%lu\t%lu\t%lu\t%lu\n", … … 979 938 } 980 939 981 cons_printf(portid, "\nãããã¯ã¼ã¯çµ±è¨æ 982 å ±\tçµéæé[ms]\t%lu\t", now); 940 cons_printf(portid, "\nネットワーク統計情報\t経過時間[ms]\t%lu\t", now); 983 941 if (now > (1000 * 3600 * 24)) 984 cons_printf(portid, "%3lu æ¥ %2luæé %2luå %2luç§\n",942 cons_printf(portid, "%3lu日 %2lu時間 %2lu分 %2lu秒\n", 985 943 now / (1000 * 3600 * 24), 986 944 (now / (1000 * 3600)) % 24, … … 988 946 (now / 1000 ) % 60); 989 947 else 990 cons_printf(portid, "%2lu æé %2luå %2luç§\n",948 cons_printf(portid, "%2lu時間 %2lu分 %2lu秒\n", 991 949 (now / (1000 * 3600)) % 24, 992 950 (now / (1000 * 60 )) % 60, … … 1002 960 1003 961 /* 1004 * nbuf_stat_ip4_frag_queue -- IPv4 åæ§æãã¥ã¼å 1005 ãããã¯ã¼ã¯ãããã¡æ 1006 å ± 962 * nbuf_stat_ip4_frag_queue -- IPv4 再構成キュー内ネットワークバッファ情報 1007 963 */ 1008 964 … … 1014 970 int_t ix, fix, count; 1015 971 1016 cons_printf(portid, "\nIPv4åæ§æãã¥ã¼å 1017 \nIndex\tTime"); 972 cons_printf(portid, "\nIPv4再構成キュー内\nIndex\tTime"); 1018 973 tbl = nbuf_get_tbl(); 1019 974 for (ix = nbuf_get_tbl_size(); ix -- > 0; ) … … 1046 1001 1047 1002 /* 1048 * nbuf_stat_ip6_frag_queue -- IPv6 åæ§æãã¥ã¼å 1049 ãããã¯ã¼ã¯ãããã¡æ 1050 å ± 1003 * nbuf_stat_ip6_frag_queue -- IPv6 再構成キュー内ネットワークバッファ情報 1051 1004 */ 1052 1005 … … 1058 1011 int_t ix, fix, count; 1059 1012 1060 cons_printf(portid, "\nIPv6åæ§æãã¥ã¼å 1061 \nIndex\tTime"); 1013 cons_printf(portid, "\nIPv6再構成キュー内\nIndex\tTime"); 1062 1014 tbl = nbuf_get_tbl(); 1063 1015 for (ix = nbuf_get_tbl_size(); ix -- > 0; ) … … 1088 1040 1089 1041 /* 1090 * nbuf_status -- ãããã¯ã¼ã¯ãããã¡æ 1091 å ± 1042 * nbuf_status -- ネットワークバッファ情報 1092 1043 */ 1093 1044 … … 1114 1065 WAI_NET_CONS_PRINTF(); 1115 1066 get_tim(&now); 1116 cons_printf(portid, "ãããã¯ã¼ã¯ãããã¡æ 1117 å ±\tçµéæé[ms]\t%u\n", now); 1067 cons_printf(portid, "ネットワークバッファ情報\t経過時間[ms]\t%u\n", now); 1118 1068 1119 1069 #if NET_COUNT_ENABLE 1120 1070 1121 cons_printf(portid, "\n ãããã¯ã¼ã¯ãããã¡\n\tãµã¤ãº\tç¨ææ°\t使ç¨ä¸æ°\tå²å½è¦æ±æ°\tå²å½æ°\tå²å½ã¦ã¨ã©ã¼æ°\n");1071 cons_printf(portid, "\nネットワークバッファ\n\tサイズ\t用意数\t使用中数\t割当要求数\t割当数\t割当てエラー数\n"); 1122 1072 tbl = nbuf_get_tbl(); 1123 1073 for (ix = nbuf_get_tbl_size(); ix -- > 0; ) { … … 1135 1085 #ifdef SUPPORT_TCP 1136 1086 1137 cons_printf(portid, "\nCEPå 1138 \nCEPID\n"); 1087 cons_printf(portid, "\nCEP内\nCEPID\n"); 1139 1088 1140 1089 for (cep = tcp_cep; cep < &tcp_cep[tmax_tcp_cepid]; cep ++) { … … 1210 1159 1211 1160 /* 1212 * show_dns_soa -- DNS ã® SOA RDATA ã表示ããã1161 * show_dns_soa -- DNS の SOA RDATA を表示する。 1213 1162 */ 1214 1163 … … 1240 1189 1241 1190 /* 1242 * show_dns_qdsection -- DNS ã® Question ã»ã¯ã·ã§ã³ã表示ããã1191 * show_dns_qdsection -- DNS の Question セクションを表示する。 1243 1192 */ 1244 1193 … … 1266 1215 1267 1216 /* 1268 * show_dns_section -- DNS ã®åã»ã¯ã·ã§ã³ã表示ããã1217 * show_dns_section -- DNS の各セクションを表示する。 1269 1218 */ 1270 1219 … … 1334 1283 } 1335 1284 /* 1336 * dns_info -- DNS æ 1337 å ±ã®è¡¨ç¤º 1285 * dns_info -- DNS 情報の表示 1338 1286 */ 1339 1287 … … 1378 1326 1379 1327 /* 1380 * name_lookup -- ãã¹ãåï¼IP ã¢ãã¬ã¹å¤æ1328 * name_lookup -- ホスト名-IP アドレス変換 1381 1329 */ 1382 1330 … … 1401 1349 uint8_t *msg; 1402 1350 1403 /* ã³ãã³ãã®ãªãã·ã§ã³ãè¨å®ããã*/1351 /* コマンドのオプションを設定する。*/ 1404 1352 line = skip_blanks(resolv_options(&flags, line, DEFAULT_API_PROTO)); 1405 1353 if ((flags & (DNS_LUP_FLAGS_PROTO_IPV6 | DNS_LUP_FLAGS_PROTO_IPV4)) == 0) { … … 1408 1356 } 1409 1357 1410 /* ç 1411 §ä¼ãããã¹ãåã»IP ã¢ãã¬ã¹ã解æããã*/ 1358 /* 照会するホスト名・IP アドレスを解析する。*/ 1412 1359 resolv_hoststr(&flags, hostname, sizeof(hostname), line); 1413 1360 1414 /* æ£å¼ãã§ãéå¼ãã§ããããã³ã«ä¸ã¯æ£å¼ããæå®ããã*/1361 /* 正引きでも逆引きでもプロトコル上は正引きを指定する。*/ 1415 1362 flags |= DNS_LUP_OPCODE_FORWARD; 1416 1363 1417 /* IPv6 ã¢ãã¬ã¹ãã¾ã㯠IPv4 ã¢ãã¬ã¹ãæå®ãããæã¯ãç 1418 §ä¼ã¿ã¤ã㯠PTR ã«è¨å®ããã*/ 1364 /* IPv6 アドレス、または IPv4 アドレスが指定された時は、照会タイプは PTR に設定する。*/ 1419 1365 if (((flags & DNS_LUP_FLAGS_NAME_MASK) == DNS_LUP_FLAGS_NAME_IPV6) || 1420 1366 ((flags & DNS_LUP_FLAGS_NAME_MASK) == DNS_LUP_FLAGS_NAME_IPV4)) … … 1473 1419 1474 1420 /* 1475 * dhcp6c_info -- DHCPv6 ã¯ã©ã¤ã¢ã³ãæ 1476 å ±ã®è¡¨ç¤º 1421 * dhcp6c_info -- DHCPv6 クライアント情報の表示 1477 1422 */ 1478 1423 … … 1516 1461 1517 1462 /* 1518 * dhcp4c_info -- DHCPv4 ã¯ã©ã¤ã¢ã³ãæ 1519 å ±ã®è¡¨ç¤º 1463 * dhcp4c_info -- DHCPv4 クライアント情報の表示 1520 1464 */ 1521 1465 … … 1545 1489 1546 1490 /* 1547 * dhcpc -- DHCP ã¯ã©ã¤ã¢ã³ãæ 1548 å ±ã®è¡¨ç¤ºã¨å¶å¾¡ 1491 * dhcpc -- DHCP クライアント情報の表示と制御 1549 1492 */ 1550 1493 … … 1557 1500 1558 1501 #if defined(DHCP6_CLI_CFG) 1559 case '6': /* DHCPv6 ã®å¶å¾¡*/1502 case '6': /* DHCPv6 の制御 */ 1560 1503 switch (*(line + 1)) { 1561 case 'r': /* ã¢ãã¬ã¹æ 1562 å ±ã解æ¾ããã*/ 1504 case 'r': /* アドレス情報を解放する。*/ 1563 1505 dhcp6c_rel_info(); 1564 1506 break; 1565 1507 1566 case 'n': /* ã¢ãã¬ã¹æ 1567 å ±ãååå¾ããã*/ 1508 case 'n': /* アドレス情報を再取得する。*/ 1568 1509 dhcp6c_renew_info(); 1569 1510 break; … … 1577 1518 1578 1519 #if defined(DHCP4_CLI_CFG) 1579 case '4': /* DHCPv4 ã®å¶å¾¡*/1520 case '4': /* DHCPv4 の制御 */ 1580 1521 switch (*(line + 1)) { 1581 case 'r': /* ã¢ãã¬ã¹æ 1582 å ±ã解æ¾ããã*/ 1522 case 'r': /* アドレス情報を解放する。*/ 1583 1523 dhcp4c_rel_info(); 1584 1524 break; 1585 1525 1586 case 'n': /* ã¢ãã¬ã¹æ 1587 å ±ãååå¾ããã*/ 1526 case 'n': /* アドレス情報を再取得する。*/ 1588 1527 dhcp4c_renew_info(); 1589 1528 break; … … 1619 1558 1620 1559 /* 1621 * defrtrlist_status -- ãã£ãã©ã«ãã«ã¼ã¿ã»ãªã¹ãç¶æ 1622 ã®åºå 1560 * defrtrlist_status -- ディフォルトルータ・リスト状態の出力 1623 1561 */ 1624 1562 … … 1639 1577 cons_printf(portid, " IP Address\n"); 1640 1578 1641 /* expire ã®åä½ã¯ [ms]ã*/1579 /* expire の単位は [ms]。*/ 1642 1580 get_tim(&now); 1643 1581 dr = nd6_get_drl(&count); … … 1683 1621 1684 1622 /* 1685 * prefixlist_status -- ãã¬ãã£ãã¯ã¹ã»ãªã¹ãç¶æ 1686 ã®åºå 1623 * prefixlist_status -- プレフィックス・リスト状態の出力 1687 1624 */ 1688 1625 … … 1703 1640 cons_printf(portid, " Len Prefix\n"); 1704 1641 1705 /* expire ã®åä½ã¯ [s]ã*/1642 /* expire の単位は [s]。*/ 1706 1643 get_tim(&now); 1707 1644 now /= SYSTIM_HZ; … … 1752 1689 1753 1690 /* 1754 * routing6_table_status -- çµè·¯è¡¨ï¼IPv6ï¼ã®åºå1691 * routing6_table_status -- 経路表(IPv6)の出力 1755 1692 */ 1756 1693 … … 1775 1712 } 1776 1713 1777 /* expire ã®åä½ã¯ [s]ã*/1714 /* expire の単位は [s]。*/ 1778 1715 get_tim(&now); 1779 1716 now /= SYSTIM_HZ; … … 1803 1740 1804 1741 /* 1805 * routing4_table_status -- çµè·¯è¡¨ï¼IPv4ï¼ã®åºå1742 * routing4_table_status -- 経路表(IPv4)の出力 1806 1743 */ 1807 1744 … … 1856 1793 1857 1794 /* 1858 * routing_status -- çµè·¯æ 1859 å ± 1795 * routing_status -- 経路情報 1860 1796 */ 1861 1797 … … 1867 1803 #if defined(SUPPORT_INET6) && NUM_ND6_DEF_RTR_ENTRY > 0 1868 1804 1869 case 'l': /* ãã£ãã©ã«ãã«ã¼ã¿ã»ãªã¹ãæ 1870 å ± */ 1805 case 'l': /* ディフォルトルータ・リスト情報 */ 1871 1806 defrtrlist_status(portid, line + 1); 1872 1807 break; 1873 1808 1874 case 'p': /* ãã¬ãã£ãã¯ã¹ã»ãªã¹ãæ 1875 å ± */ 1809 case 'p': /* プレフィックス・リスト情報 */ 1876 1810 prefixlist_status(portid, line + 1); 1877 1811 break; … … 1881 1815 default: 1882 1816 1883 /* çµè·¯è¡¨æ 1884 å ± */ 1817 /* 経路表情報 */ 1885 1818 1886 1819 #if defined(SUPPORT_INET6) && NUM_IN6_ROUTE_ENTRY > 0 … … 1897 1830 1898 1831 /* 1899 * dbg_cons_network_status -- ãããã¯ã¼ã¯ã®ç¶æ 1900 ã®åºå 1832 * dbg_cons_network_status -- ネットワークの状態の出力 1901 1833 */ 1902 1834 … … 1908 1840 #ifdef SUPPORT_ETHER 1909 1841 1910 case 'a': /* IF ã¢ãã¬ã¹æ 1911 å ± */ 1842 case 'a': /* IF アドレス情報 */ 1912 1843 1913 1844 #if defined(SUPPORT_INET6) … … 1922 1853 #endif /* of #ifdef SUPPORT_ETHER */ 1923 1854 1924 case 'b': /* ãããã¯ã¼ã¯ãããã¡æ 1925 å ± */ 1855 case 'b': /* ネットワークバッファ情報 */ 1926 1856 nbuf_status(portid, line + 1); 1927 1857 break; … … 1929 1859 #if NET_COUNT_ENABLE 1930 1860 1931 case 'c': /* ãããã¯ã¼ã¯çµ±è¨æ 1932 å ± */ 1861 case 'c': /* ネットワーク統計情報 */ 1933 1862 net_count(portid, line + 1); 1934 1863 break; … … 1936 1865 #endif /* of #if NET_COUNT_ENABLE */ 1937 1866 1938 case 'r': /* çµè·¯æ 1939 å ± */ 1867 case 'r': /* 経路情報 */ 1940 1868 routing_status(portid, line + 1); 1941 1869 break; … … 1977 1905 1978 1906 /* 1979 * dbg_cons_ifconfig -- ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã®æ§ææ 1980 å ± 1907 * dbg_cons_ifconfig -- ネットワークインタフェースの構成情報 1981 1908 */ 1982 1909 … … 2000 1927 2001 1928 /* 2002 * dbg_cons_ifconfig6 -- ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ï¼IPv6ï¼ã®æ§ææ 2003 å ± 1929 * dbg_cons_ifconfig6 -- ネットワークインタフェース(IPv6)の構成情報 2004 1930 */ 2005 1931 … … 2015 1941 WAI_NET_CONS_PRINTF(); 2016 1942 2017 /* expire 㨠vltime ã®åä½ã¯ [s]ã*/1943 /* expire と vltime の単位は [s]。*/ 2018 1944 get_tim(&now); 2019 1945 now /= SYSTIM_HZ; … … 2060 1986 2061 1987 /* 2062 * dbg_cons_ifconfig4 -- ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ï¼IPv4ï¼ã®æ§ææ 2063 å ± 1988 * dbg_cons_ifconfig4 -- ネットワークインタフェース(IPv4)の構成情報 2064 1989 */ 2065 1990 … … 2101 2026 2102 2027 /* 2103 * dbg_cons_show_config -- ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³è¨å®ã®è¡¨ç¤º2028 * dbg_cons_show_config -- コンフィギュレーション設定の表示 2104 2029 */ 2105 2030 … … 2557 2482 2558 2483 /* 2559 * ping ã³ãã³ã2484 * ping コマンド 2560 2485 */ 2561 2486 … … 2655 2580 2656 2581 /* 2657 * ãããã°ã³ãã³ã解æ2582 * デバッグコマンド解析 2658 2583 */ 2659 2584 … … 3272 3197 3273 3198 /* 3274 * ãããã°ã³ã³ã½ã¼ã«ã¿ã¹ã¯3199 * デバッグコンソールタスク 3275 3200 */ 3276 3201 -
asp3_gr_sakura/trunk/tinet/netapp/dbg_cons.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * ãããã°ã³ã³ã½ã¼ã«ã®ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * デバッグコンソールのフィギュレーションファイル 48 36 */ 49 37 50 38 #ifdef USE_DBG_CONS 51 39 52 /* ã¿ã¹ã¯*/40 /* タスク */ 53 41 54 42 CRE_TSK(DBG_CON_TASK, { -
asp3_gr_sakura/trunk/tinet/netapp/dbg_cons.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 48 36 49 37 /* 50 * ã³ã³ã½ã¼ã«38 * コンソール 51 39 */ 52 40 53 #define DBG_CON_STACK_SIZE 1024 /* ã³ã³ã½ã¼ã«ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */ 54 #define DBG_CON_PRIORITY 5 /* ã³ã³ã½ã¼ã«ã¿ã¹ã¯ã®åªå 55 度 */ 41 #define DBG_CON_STACK_SIZE 1024 /* コンソールタスクのスタックサイズ */ 42 #define DBG_CON_PRIORITY 5 /* コンソールタスクの優先度 */ 56 43 57 44 /* 58 * ã¿ã¹ã¯45 * タスク 59 46 */ 60 47 … … 62 49 63 50 /* 64 * é¢æ°51 * 関数 65 52 */ 66 53 -
asp3_gr_sakura/trunk/tinet/netapp/dhcp4.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 * ã¨ï¼ 29 * (a) åé 30 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 31 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 32 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 33 * (b) åé 34 å¸ã®å½¢æ 35 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 36 * å ±åãããã¨ï¼ 37 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 38 * 害ãããï¼ä¸è¨èä½æ¨©è 39 ããã³TOPPERSããã¸ã§ã¯ããå 40 責ãããã¨ï¼ 41 * 42 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 43 ã 44 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 45 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 46 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 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 * と. 22 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 23 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 24 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 25 * 報告すること. 26 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 27 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 28 * 29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 31 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 32 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 47 33 * 48 34 * @(#) $Id$ … … 53 39 54 40 /* 55 * DHCP ã«é¢ããå®ç¾©41 * DHCP に関する定義 56 42 * 57 43 * RFC2131 … … 59 45 60 46 /* 61 * DHCP ã¡ãã»ã¼ã¸ã®å®æ°ã®å®ç¾©47 * DHCP メッセージの定数の定義 62 48 */ 63 49 … … 74 60 75 61 /* 76 * DHCP ã¡ãã»ã¼ã¸62 * DHCP メッセージ 77 63 */ 78 64 … … 95 81 } T_DHCP4_MSG; 96 82 97 /* packet type ã®å®ç¾©*/83 /* packet type の定義 */ 98 84 99 85 #define DHCP4_REQUEST UINT_C(1) 100 86 #define DHCP4_REPLY UINT_C(2) 101 87 102 /* hardware address type ã®å®ç¾©*/88 /* hardware address type の定義 */ 103 89 104 90 #define DHCP4_HWA_TYPE_ETHER UINT_C(1) … … 106 92 107 93 /* 108 * DHCP ãªãã·ã§ã³94 * DHCP オプション 109 95 * 110 96 * RFC1533 … … 112 98 113 99 /* 114 * ãªãã·ã§ã³ã®ç©´åã100 * オプションの穴埋め 115 101 */ 116 102 #define DHCP4_OPT_PAD UINT_C(0) 117 103 118 104 /* 119 * ãµãããããã¹ã¯105 * サブネットマスク 120 106 * 121 107 * code len subnet mask … … 127 113 128 114 /* 129 * ã«ã¼ã¿115 * ルータ 130 116 * 131 117 * code len addres #1 address #2 … … 137 123 138 124 /* 139 * DNS ãµã¼ã125 * DNS サーバ 140 126 * 141 127 * code len addres #1 address #2 … … 147 133 148 134 /* 149 * ãã¹ãå135 * ホスト名 150 136 * 151 137 * code len host name … … 157 143 158 144 /* 159 * ãã¡ã¤ã³å145 * ドメイン名 160 146 * 161 147 * code len domain name … … 167 153 168 154 /* 169 * ã«ã¼ã¿æ¢ç´¢155 * ルータ探索 170 156 * 171 157 * code len value … … 177 163 178 164 /* 179 * éççµè·¯165 * 静的経路 180 166 * 181 167 * code len destination #1 router #1 … … 187 173 188 174 /* 189 * ãã³ãã¼åºææ 190 å ± 175 * ベンダー固有情報 191 176 * 192 177 * code len vendor-specific informations … … 199 184 200 185 /* 201 * NetBIOS over TCP/IP ãã¼ã ãµã¼ã186 * NetBIOS over TCP/IP ネームサーバ 202 187 * 203 188 * code len addres #1 address #2 … … 209 194 210 195 /* 211 * NetBIOS over TCP/IP ãã¼ãã¿ã¤ã196 * NetBIOS over TCP/IP ノードタイプ 212 197 * 213 198 * code len type … … 219 204 220 205 /* 221 * NetBIOS over TCP/IP ã¹ã³ã¼ã206 * NetBIOS over TCP/IP スコープ 222 207 * 223 208 * code len NetBIOS scope … … 229 214 230 215 /* 231 * ç¹å®ã® IPv4 ã¢ãã¬ã¹è¦æ±216 * 特定の IPv4 アドレス要求 232 217 * 233 218 * code len IPv4 address … … 239 224 240 225 /* 241 * ãªã¼ã¹æé226 * リース時間 242 227 * 243 228 * code len lease time … … 249 234 250 235 /* 251 * ãªãã·ã§ã³ãªã¼ãã¼ãã¼ã236 * オプションオーバーロード 252 237 * 253 238 * code len value … … 258 243 #define DHCP4_OPT_OPT_OVERLOAD UINT_C(52) 259 244 260 /* value ã®å®ç¾©*/245 /* value の定義 */ 261 246 262 247 #define DHCP4_OPTOL_FILE UINT_C(0x01) … … 265 250 266 251 /* 267 * DHCP ã¡ãã»ã¼ã¸ã¿ã¤ã252 * DHCP メッセージタイプ 268 253 * 269 254 * code len type … … 274 259 #define DHCP4_OPT_MSG_TYPE UINT_C(53) 275 260 276 /* type ã®å®ç¾©*/261 /* type の定義 */ 277 262 278 263 #define DHCP4_MTYPE_BOOTP UINT_C(0) … … 287 272 288 273 /* 289 * ãµã¼ãID274 * サーバ ID 290 275 * 291 276 * code len IPv4 address … … 297 282 298 283 /* 299 * è¦æ±ãã©ã¡ã¼ã¿ãªã¹ã284 * 要求パラメータリスト 300 285 * 301 286 * code len option code … … 308 293 309 294 /* 310 * Renewal (T1) æé295 * Renewal (T1) 時間 311 296 * 312 297 * code len T1 interval … … 318 303 319 304 /* 320 * Rebinding (T2) æé305 * Rebinding (T2) 時間 321 306 * 322 307 * code len T2 interval … … 328 313 329 314 /* 330 * ãã³ãã¼ã¯ã©ã¹ IDï¼RFC2132ï¼315 * ベンダークラス ID(RFC2132) 331 316 * 332 317 * code len vendor class ID … … 339 324 340 325 /* 341 * ã¯ã©ã¤ã¢ã³ãID326 * クライアント ID 342 327 * 343 328 * code len type client ID … … 346 331 * +------+-----+-----+-----+-----+--- 347 332 * 348 * type : ãã¼ãã¦ã§ã¢ã¢ãã¬ã¹ã¿ã¤ã349 * i1, i2, ...: é常 MAC ã¢ãã¬ã¹333 * type : ハードウェアアドレスタイプ 334 * i1, i2, ...: 通常 MAC アドレス 350 335 */ 351 336 #define DHCP4_OPT_CLIENT_ID UINT_C(61) 352 337 353 338 /* 354 * ã¯ã©ã¹ãªãéççµè·¯ï¼RFC3442ï¼339 * クラスなし静的経路(RFC3442) 355 340 * 356 341 * code len destination #1 router #1 … … 362 347 363 348 /* 364 * ãªãã·ã§ã³ã®çµäº349 * オプションの終了 365 350 */ 366 351 #define DHCP4_OPT_END UINT_C(255) 367 352 368 353 /* 369 * magic çªå·ï¼RFC1048ï¼354 * magic 番号(RFC1048) 370 355 */ 371 356 … … 374 359 375 360 /* 376 * UDP ãã¼ãçªå·361 * UDP ポート番号 377 362 */ 378 363 -
asp3_gr_sakura/trunk/tinet/netapp/dhcp4_cli.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 95 95 * Tomakomai National College of Technology, JAPAN 96 96 * 97 * ä¸è¨èä½æ¨©è 98 ã¯ï¼ä»¥ä¸ã® (1)ï½(4) ã®æ¡ä»¶ãï¼Free Software Foundation 99 * ã«ãã£ã¦å 100 ¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨ 101 * è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢ 102 * ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹å¤ã»åé 103 å¸ï¼ä»¥ä¸ï¼ 104 * å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 105 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 106 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 107 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 108 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 109 * ç¨ã§ããå½¢ã§åé 110 å¸ããå ´åã«ã¯ï¼åé 111 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 112 * è 113 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 114 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 115 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 116 * ç¨ã§ããªãå½¢ã§åé 117 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 118 * ã¨ï¼ 119 * (a) åé 120 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 121 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 122 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 123 * (b) åé 124 å¸ã®å½¢æ 125 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 126 * å ±åãããã¨ï¼ 127 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 128 * 害ãããï¼ä¸è¨èä½æ¨©è 129 ããã³TOPPERSããã¸ã§ã¯ããå 130 責ãããã¨ï¼ 97 * 上記著作権者は,以下の (1)~(4) の条件か,Free Software Foundation 98 * によって公表されている GNU General Public License の Version 2 に記 99 * 述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア 100 * を改変したものを含む.以下同じ)を使用・複製・改変・再配布(以下, 101 * 利用と呼ぶ)することを無償で許諾する. 102 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 103 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 104 * スコード中に含まれていること. 105 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 106 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 107 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 108 * の無保証規定を掲載すること. 109 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 110 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 111 * と. 112 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 113 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 114 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 115 * 報告すること. 116 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 117 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 131 118 * 132 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 133 ã 134 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 135 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 136 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 119 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 120 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 121 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 122 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 137 123 * 138 124 * @(#) $Id$ … … 183 169 184 170 /* 185 * DHCP ã¯ã©ã¤ã¢ã³ãã¿ã¹ã¯171 * DHCP クライアントタスク 186 172 */ 187 173 … … 189 175 190 176 /* 191 * å¤æ° 192 */ 193 194 static T_DHCP4_CLI_CONTEXT context; /* ã¯ã©ã¤ã¢ã³ãã³ã³ããã¹ã */ 195 static uint8_t magicno[DHCP4_MAGIC_LEN] = DHCP4_RFC1048_MAGIC; /* magic çªå·ï¼RFC1048ï¼*/ 196 197 /* å¿ 198 é ãªãã·ã§ã³ãªã¹ã */ 177 * 変数 178 */ 179 180 static T_DHCP4_CLI_CONTEXT context; /* クライアントコンテキスト */ 181 static uint8_t magicno[DHCP4_MAGIC_LEN] = DHCP4_RFC1048_MAGIC; /* magic 番号(RFC1048)*/ 182 183 /* 必須オプションリスト */ 199 184 #ifdef DHCP4_CLI_CFG_REQUIRED_OLIST 200 185 static uint8_t required_plist[] = DHCP4_CLI_CFG_REQUIRED_OLIST; 201 186 #endif 202 187 203 /* è¦æ±ãªãã·ã§ã³ãªã¹ã*/188 /* 要求オプションリスト */ 204 189 #ifdef DHCP4_CLI_CFG_REQUEST_OLIST 205 190 static uint8_t request_plist[] = DHCP4_CLI_CFG_REQUEST_OLIST; … … 207 192 208 193 /* 209 * dhcp4_cksum -- ãã§ãã¯ãµã ã®è¨ç®é¢æ°194 * dhcp4_cksum -- チェックサムの計算関数 210 195 */ 211 196 212 197 static uint32_t 213 dhcp4_cksum (void *data, uint_t len /* ãªã¯ãããåä½*/)198 dhcp4_cksum (void *data, uint_t len /*オクテット単位*/) 214 199 { 215 200 uint32_t carry, sum = 0; … … 229 214 230 215 /* 231 * create_xid -- ãã©ã³ã¶ã¯ã·ã§ã³ ID ãçæããã216 * create_xid -- トランザクション ID を生成する。 232 217 */ 233 218 … … 245 230 246 231 /* 247 * find_option_sub -- æå®ãããªãã·ã§ã³ãæ¢ç´¢ããã232 * find_option_sub -- 指定したオプションを探索する。 248 233 * 249 * 注æ: å¼æ° size ã 0 ã®æã¯ãªãã·ã§ã³ãµã¤ãºãæ¤è¨¼ããªãã234 * 注意: 引数 size が 0 の時はオプションサイズを検証しない。 250 235 */ 251 236 … … 282 267 283 268 /* 284 * find_option -- æå®ãããªãã·ã§ã³ãæ¢ç´¢ããã269 * find_option -- 指定したオプションを探索する。 285 270 * 286 * 注æ: å¼æ° size ã 0 ã®æã¯ãªãã·ã§ã³ãµã¤ãºãæ¤è¨¼ããªãã271 * 注意: 引数 size が 0 の時はオプションサイズを検証しない。 287 272 */ 288 273 … … 296 281 297 282 /* 298 * is_equal_sid -- ã¡ãã»ã¼ã¸å 299 ã® SERVER ID ãæ¯è¼ããã 283 * is_equal_sid -- メッセージ内の SERVER ID を比較する。 300 284 */ 301 285 … … 314 298 315 299 /* 316 * timer_value -- ã¡ãã»ã¼ã¸ããæéæ 317 å ±ãåãåºãã 300 * timer_value -- メッセージから時間情報を取り出す。 318 301 */ 319 302 … … 328 311 else { 329 312 330 /* ãµã¼ãããã®ãªã¼ã¹æéã¯[s]ã*/313 /* サーバからのリース時間は[s]。*/ 331 314 seconds = msg2host32(opt + 2); 332 315 333 /* ã³ã³ããã¹ãå 334 ã®ãªã¼ã¹æé㯠SYSTIM_HZã*/ 316 /* コンテキスト内のリース時間は SYSTIM_HZ。*/ 335 317 if (seconds == DHCP4_TIME_INFINITY) 336 318 return DHCP4_TIME_INFINITY; … … 343 325 344 326 /* 345 * rel_addr -- IPv4 ã¢ãã¬ã¹ããµãããããã¹ã¯ãéççµè·¯è¡¨ã解æ¾ããã327 * rel_addr -- IPv4 アドレス、サブネットマスク、静的経路表を解放する。 346 328 */ 347 329 … … 386 368 387 369 /* 388 * rel_options -- ãªã¼ã¹ããããªãã·ã§ã³ã解æãã¦å¤ã解æ¾ããã370 * rel_options -- リースされたオプションを解析して値を解放する。 389 371 */ 390 372 … … 452 434 453 435 /* 454 * rel_lease -- ãªã¼ã¹ãããæ 455 å ±ã解æ¾ããã 436 * rel_lease -- リースされた情報を解放する。 456 437 */ 457 438 … … 459 440 rel_lease (T_DHCP4_CLI_CONTEXT *ct) 460 441 { 461 /* æå¹ãªãªã¼ã¹ã»ã¡ãã»ã¼ã¸æ§é ä½ãç¡ããã°ä½ãããªãã*/442 /* 有効なリース・メッセージ構造体が無ければ何もしない。*/ 462 443 if (ct->act_msg == NULL) 463 444 return; 464 445 465 /* ãªã¼ã¹ããããªãã·ã§ã³ã解æãã¦å¤ã解æ¾ããã*/446 /* リースされたオプションを解析して値を解放する。*/ 466 447 rel_options(ct, DHCP4_OPTION_OFFSET + DHCP4_MAGIC_LEN, 467 448 ct->act_msg->len - (DHCP4_OPTION_OFFSET + DHCP4_MAGIC_LEN), true); 468 449 rel_addr(); 469 450 470 /* æå¹ãªãªã¼ã¹ã»ã¡ãã»ã¼ã¸æ§é ä½ã解æ¾ããã*/451 /* 有効なリース・メッセージ構造体を解放する。*/ 471 452 syscall(rel_mpf(MPF_DHCP4_CLI_MSG, (void*)ct->act_msg)); 472 453 ct->act_msg = NULL; … … 474 455 475 456 /* 476 * set_addr -- IPv4 ã¢ãã¬ã¹ããµãããããã¹ã¯ãéççµè·¯è¡¨ãè¨å®ããã457 * set_addr -- IPv4 アドレス、サブネットマスク、静的経路表を設定する。 477 458 */ 478 459 … … 513 494 514 495 /* 515 * set_options -- ãªã¼ã¹ããããªãã·ã§ã³ã解æãã¦å¤ãè¨å®ããã496 * set_options -- リースされたオプションを解析して値を設定する。 516 497 */ 517 498 … … 586 567 587 568 /* 588 * set_lease -- ãªã¼ã¹ãããæ 589 å ±ãè¨å®ããã 569 * set_lease -- リースされた情報を設定する。 590 570 */ 591 571 … … 593 573 set_lease (T_DHCP4_CLI_CONTEXT *ct) 594 574 { 595 /* ãªã¼ã¹ããããªãã·ã§ã³ã解æãã¦å¤ãè¨å®ããã*/575 /* リースされたオプションを解析して値を設定する。*/ 596 576 set_options(ct, DHCP4_OPTION_OFFSET + DHCP4_MAGIC_LEN, 597 577 ct->act_msg->len - (DHCP4_OPTION_OFFSET + DHCP4_MAGIC_LEN), true); … … 599 579 600 580 /* 601 * validate_duplicate -- æå®ããã IPv4 ã¢ãã¬ã¹ã使ããã¦ããªããæ¤è¨¼ããã581 * validate_duplicate -- 指定された IPv4 アドレスが使われていないか検証する。 602 582 * 603 * 使ããã¦ããªãæ㯠true ãè¿ãã583 * 使われていない時は true を返す。 604 584 */ 605 585 … … 609 589 T_IN4_ADDR yiaddr; 610 590 611 /* æå®ããã IPv4 ã¢ãã¬ã¹ã ADDR ANY ãªã使ããã¦ããªãã¨å¤æããã*/591 /* 指定された IPv4 アドレスが ADDR ANY なら使われていないと判断する。*/ 612 592 yiaddr = ntohl(msg->msg.yiaddr); 613 593 if (yiaddr == IPV4_ADDRANY) 614 594 return true; 615 595 616 /* ARP ãã£ãã·ã¥ã«ããã°ä½¿ããã¦ããã¨å¤æããã*/596 /* ARP キャッシュにあれば使われていると判断する。*/ 617 597 if (arp_lookup(yiaddr, false) != NULL) 618 598 return false; 619 599 620 600 /* 621 * ARP è¦æ±ãåºåã㦠TMO_DHCP4C_ARP_WAIT å¾ 622 ã¡ã 623 * ARP ãã£ãã·ã¥ã«ãªããã°ä½¿ããã¦ããªãã¨å¤æããã 601 * ARP 要求を出力して TMO_DHCP4C_ARP_WAIT 待ち、 602 * ARP キャッシュになければ使われていないと判断する。 624 603 */ 625 604 arp_request(&IF_ETHER_NIC_GET_SOFTC()->ifaddr, yiaddr); … … 629 608 630 609 /* 631 * validate_rcv_msg -- åä¿¡ã¡ãã»ã¼ã¸ãæ¤è¨¼ããã610 * validate_rcv_msg -- 受信メッセージを検証する。 632 611 */ 633 612 … … 637 616 uint8_t *opt; 638 617 639 /* packet type ã DHCP4_REPLY ã§ãããã¨ã確èªããã*/618 /* packet type が DHCP4_REPLY であることを確認する。*/ 640 619 if (!(msg->msg.op == DHCP4_REPLY)) 641 620 return false; 642 621 643 /* ã¡ãã»ã¼ã¸ã¿ã¤ããªãã·ã§ã³ããããã¨ã確èªããã*/622 /* メッセージタイプオプションがあることを確認する。*/ 644 623 if ((opt = find_option(msg, DHCP4_OPT_MSG_TYPE, 1)) == NULL) 645 624 return E_PAR; 646 625 647 /* ã¡ãã»ã¼ã¸ã®ã¿ã¤ããä¸è´ãã¦ãããã¨ãæ¤è¨¼ããã*/626 /* メッセージのタイプが一致していることを検証する。*/ 648 627 msg->type = *(opt + 2); 649 628 switch (ct->fsm) { … … 675 654 } 676 655 677 /* ãã¸ãã¯çªå·ãæ¤è¨¼ããã*/656 /* マジック番号を検証する。*/ 678 657 if (memcmp((uint8_t*)&msg->msg.options, magicno, DHCP4_MAGIC_LEN)) 679 658 return E_PAR; 680 659 681 /* ãã©ã³ã¶ã¯ã·ã§ã³ ID ãç°ãªã£ã¦ããã°ã¨ã©ã¼*/660 /* トランザクション ID が異なっていればエラー */ 682 661 if (ntohl(msg->msg.xid) != ct->xid) 683 662 return E_PAR; 684 663 685 /* ãã¼ãã¦ã§ã¢ã¢ãã¬ã¹é·ã 6ï¼MAC ã¢ãã¬ã¹é·ï¼ã§ãªããã°ã¨ã©ã¼*/664 /* ハードウェアアドレス長が 6(MAC アドレス長)でなければエラー */ 686 665 if (msg->msg.hlen != ETHER_ADDR_LEN) 687 666 return E_PAR; 688 667 689 /* ãã¼ãã¦ã§ã¢ã¢ãã¬ã¹ãç°ãªã£ã¦ããã°ã¨ã©ã¼*/668 /* ハードウェアアドレスが異なっていればエラー */ 690 669 if (memcmp(&msg->msg.chaddr, &ct->sc->ifaddr.lladdr, sizeof(ct->sc->ifaddr.lladdr))) 691 670 return E_PAR; 692 671 693 672 /* 694 * ã¡ãã»ã¼ã¸ã¿ã¤ãã OFFER ã®å ´åã¯ã 695 * ARP ã使ç¨ãã¦ãæå®ããã IPv4 ã¢ãã¬ã¹ã使ããã¦ããªããæ¤è¨¼ããã 696 * 使ããã¦ããæã¯ãä»ã® IPv4 ã¢ãã¬ã¹ã®æä¾ãå¾ 697 ã¤ã 673 * メッセージタイプが OFFER の場合は、 674 * ARP を使用して、指定された IPv4 アドレスが使われていないか検証する。 675 * 使われている時は、他の IPv4 アドレスの提供を待つ。 698 676 */ 699 677 if (msg->type == DHCP4_MTYPE_OFFER) { … … 706 684 707 685 /* 708 * eval_prefer -- åä¿¡ã¡ãã»ã¼ã¸ã®æ¨å¥¨åº¦ãè©ä¾¡ããã686 * eval_prefer -- 受信メッセージの推奨度を評価する。 709 687 */ 710 688 … … 714 692 int ix; 715 693 716 /* ç¡å¹ã®å ´åã¯çµäºããã*/694 /* 無効の場合は終了する。*/ 717 695 if (msg == NULL) 718 696 return; 719 697 720 /* æå®ããã IPv4 ã¢ãã¬ã¹ã ADDR ANY ãªãæ¨å¥¨åº¦ã 0ã«è¨å®ããã*/698 /* 指定された IPv4 アドレスが ADDR ANY なら推奨度を 0に設定する。*/ 721 699 if (ntohl(msg->msg.yiaddr) == IPV4_ADDRANY) 722 700 msg->prefer = 0; … … 726 704 #if defined(DHCP4_CLI_CFG_REQUEST_OLIST) 727 705 728 /* è¦æ±ãªãã·ã§ã³ãæ¤è¨¼ããã*/706 /* 要求オプションを検証する。*/ 729 707 for (ix = sizeof(request_plist); ix -- > 0; ) { 730 708 if (find_option(msg, request_plist[ix], 0) != NULL) … … 736 714 #if defined(DHCP4_CLI_CFG_REQUIRED_OLIST) 737 715 738 /* å¿ 739 é ãªãã·ã§ã³ãæ¤è¨¼ããã*/ 716 /* 必須オプションを検証する。*/ 740 717 for (ix = sizeof(required_plist); ix -- > 0; ) { 741 718 if (find_option(msg, required_plist[ix], 0) == NULL) … … 747 724 748 725 /* 749 * eval_rcv_msg -- åä¿¡ã¡ãã»ã¼ã¸ãè©ä¾¡ããã726 * eval_rcv_msg -- 受信メッセージを評価する。 750 727 */ 751 728 … … 755 732 T_DHCP4_CLI_MSG *evl, *msg; 756 733 757 /* ã¡ãã»ã¼ã¸ãåä¿¡ãã¦ããªããã°ä¸æ¢ããã*/734 /* メッセージを受信していなければ中止する。*/ 758 735 syscall(wai_sem(SEM_DHCP4_CLI_LOCK)); 759 736 if (ct->val_lst == NULL) { … … 762 739 } 763 740 764 /* æ¤è¨¼ã¡ãã»ã¼ã¸ãªã¹ãããè©ä¾¡ã¡ãã»ã¼ã¸ãåãåºãã*/741 /* 検証メッセージリストから評価メッセージを取り出す。*/ 765 742 evl = ct->val_lst; 766 743 ct->val_lst = ct->val_lst->next; … … 768 745 syscall(sig_sem(SEM_DHCP4_CLI_LOCK)); 769 746 770 /* è©ä¾¡ã¡ãã»ã¼ã¸ãæ¤è¨¼ããã*/747 /* 評価メッセージを検証する。*/ 771 748 if (validate_rcv_msg(ct, evl) != E_OK) { 772 749 773 /* ã¨ã©ã¼ãçºçããè©ä¾¡ã¡ãã»ã¼ã¸ãåä¿¡ã¡ãã»ã¼ã¸æ§é ä½ãªã¹ãã«æ»ãã*/750 /* エラーが発生した評価メッセージを受信メッセージ構造体リストに戻す。*/ 774 751 goto rcv_ret; 775 752 } 776 753 777 /* åä¿¡ããã¡ãã»ã¼ã¸ã NAK ã®æã®å¦ç*/754 /* 受信したメッセージが NAK の時の処理 */ 778 755 if (evl->type == DHCP4_MTYPE_NAK) { 779 756 780 /* ãªã¼ã¹ãããæ 781 å ±ã解æ¾ããã*/ 757 /* リースされた情報を解放する。*/ 782 758 rel_lease(ct); 783 759 784 /* å 785 é¨ã¨ã©ã¼ãè¨å®ãã¦çµäºããã*/ 760 /* 内部エラーを設定して終了する。*/ 786 761 return E_PAR; 787 762 } 788 763 789 /* REL_INFO ç¶æ 790 ã®æã®å¦ç */ 764 /* REL_INFO 状態の時の処理 */ 791 765 //cons_printf(CONSOLE_PORTID, "evl_rcv_msg3[s=%d]\n", ct->fsm); 792 766 if (ct->fsm == DHCP4_FSM_REL_INFO) { … … 798 772 } 799 773 800 /* è©ä¾¡ã¡ãã»ã¼ã¸ã®æ¨å¥¨åº¦ãè©ä¾¡ããã*/774 /* 評価メッセージの推奨度を評価する。*/ 801 775 eval_prefer(evl); 802 776 803 /* æ¨å¥¨ã¡ãã»ã¼ã¸ãªã¹ãã空ãªãè©ä¾¡ã¡ãã»ã¼ã¸ã移ãã¦çµäºããã*/777 /* 推奨メッセージリストが空なら評価メッセージを移して終了する。*/ 804 778 if (ct->prf_lst == NULL) { 805 779 ct->max_prefer = evl->prefer; … … 808 782 } 809 783 810 /* è©ä¾¡ã¡ãã»ã¼ã¸ã®æ¨å¥¨åº¦ã¨æ¨å¥¨ã¡ãã»ã¼ã¸ãªã¹ãã®æ大æ¨å¥¨åº¦ãæ¯è¼ããã*/784 /* 評価メッセージの推奨度と推奨メッセージリストの最大推奨度を比較する。*/ 811 785 if (evl->prefer > ct->max_prefer) { 812 786 813 787 /* 814 * è©ä¾¡ã¡ãã»ã¼ã¸ã®æ¨å¥¨åº¦ãæ¨å¥¨ã¡ãã»ã¼ã¸ãªã¹ãã®æ大æ¨å¥¨åº¦ããé«ããã°ã815 * æ¨å¥¨ã¡ãã»ã¼ã¸ãªã¹ããåä¿¡ã¡ãã»ã¼ã¸æ§é ä½ãªã¹ãã«æ»ãã816 * è©ä¾¡ã¡ãã»ã¼ã¸ãæ¨å¥¨ã¡ãã»ã¼ã¸ãªã¹ãã«ç§»ãã788 * 評価メッセージの推奨度が推奨メッセージリストの最大推奨度より高ければ、 789 * 推奨メッセージリストを受信メッセージ構造体リストに戻し、 790 * 評価メッセージを推奨メッセージリストに移す。 817 791 */ 818 792 ct->max_prefer = evl->prefer; … … 835 809 836 810 /* 837 * æ¨å¥¨ã¡ãã»ã¼ã¸ãªã¹ãã«åã DHCP4_OPT_SERVER_ID ã®ã¡ãã»ã¼ã¸ãããã°ã838 * è©ä¾¡ã¡ãã»ã¼ã¸ãåä¿¡ã¡ãã»ã¼ã¸æ§é ä½ãªã¹ãã«æ»ãã811 * 推奨メッセージリストに同じ DHCP4_OPT_SERVER_ID のメッセージがあれば、 812 * 評価メッセージを受信メッセージ構造体リストに戻す。 839 813 */ 840 814 goto rcv_ret; … … 843 817 844 818 /* 845 * è©ä¾¡ã¡ãã»ã¼ã¸ãæ¨å¥¨ã¡ãã»ã¼ã¸ãªã¹ãã«ç§»ãã819 * 評価メッセージを推奨メッセージリストに移す。 846 820 */ 847 821 evl->next = ct->prf_lst; … … 852 826 /*else */ 853 827 /* 854 * è©ä¾¡ã¡ãã»ã¼ã¸ã®æ¨å¥¨åº¦ãæ¨å¥¨ã¡ãã»ã¼ã¸ãªã¹ãã®æ大æ¨å¥¨åº¦ããä½ããã°ã855 * è©ä¾¡ã¡ãã»ã¼ã¸ãåä¿¡ã¡ãã»ã¼ã¸æ§é ä½ãªã¹ãã«æ»ãã828 * 評価メッセージの推奨度が推奨メッセージリストの最大推奨度より低ければ、 829 * 評価メッセージを受信メッセージ構造体リストに戻す。 856 830 */ 857 831 … … 865 839 866 840 /* 867 * select_msg -- æ¨å¥¨ã¡ãã»ã¼ã¸ãé¸æããã841 * select_msg -- 推奨メッセージを選択する。 868 842 */ 869 843 … … 875 849 syscall(wai_sem(SEM_DHCP4_CLI_LOCK)); 876 850 if (ct->prf_lst == NULL) { 877 /* ã¡ãã»ã¼ã¸ãåä¿¡ãã¦ããªããã°ä¸æ¢ããã*/851 /* メッセージを受信していなければ中止する。*/ 878 852 syscall(sig_sem(SEM_DHCP4_CLI_LOCK)); 879 853 return NULL; 880 854 } 881 855 882 /* æ¨å¥¨ã¡ãã»ã¼ã¸ãªã¹ãã®å 883 é ã®ã¡ãã»ã¼ã¸ãé¸æããã*/ 856 /* 推奨メッセージリストの先頭のメッセージを選択する。*/ 884 857 select = ct->prf_lst; 885 858 ct->prf_lst = ct->prf_lst->next; 886 859 select->next = NULL; 887 860 888 /* é¸æãããªãã£ãæ¤è¨¼ã¡ãã»ã¼ã¸ãåä¿¡ã¡ãã»ã¼ã¸æ§é ä½ãªã¹ãã«æ»ãã*/861 /* 選択されなかった検証メッセージを受信メッセージ構造体リストに戻す。*/ 889 862 if (ct->rcv_lst == NULL) 890 863 ct->rcv_lst = ct->prf_lst; … … 899 872 900 873 /* 901 * select_ack -- ACK ã¡ãã»ã¼ã¸ãæ¤è¨¼ããã874 * select_ack -- ACK メッセージを検証する。 902 875 * 903 * åãå 904 ¥ãããã¨ãå¯è½ã®æ㯠true ãè¿ãã 876 * 受け入れることが可能の時は true を返す。 905 877 */ 906 878 … … 913 885 return false; 914 886 915 /* æå¹ãªãªã¼ã¹ã»ã¡ãã»ã¼ã¸ãæ®ã£ã¦ããã°ãåä¿¡ã¡ãã»ã¼ã¸æ§é ä½ãªã¹ãã«æ»ãã*/887 /* 有効なリース・メッセージが残っていれば、受信メッセージ構造体リストに戻す。*/ 916 888 if (ct->act_msg != NULL) { 917 889 syscall(wai_sem(SEM_DHCP4_CLI_LOCK)); … … 921 893 } 922 894 923 /* æå¹ãªãªã¼ã¹ã»ã¡ãã»ã¼ã¸ã«è¨å®ããã*/895 /* 有効なリース・メッセージに設定する。*/ 924 896 ct->act_msg = msg; 925 897 return true; … … 927 899 928 900 /* 929 * select_offer -- OFFER ã¡ãã»ã¼ã¸ãæ¤è¨¼ããã901 * select_offer -- OFFER メッセージを検証する。 930 902 * 931 * åãå 932 ¥ãããã¨ãå¯è½ã®æ㯠true ãè¿ãã 903 * 受け入れることが可能の時は true を返す。 933 904 */ 934 905 … … 940 911 941 912 /* 942 * cancel_all_timers -- å 943 ¨ã¦ã® TIMER ããã£ã³ã»ã«ããã 913 * cancel_all_timers -- 全ての TIMER をキャンセルする。 944 914 */ 945 915 … … 957 927 958 928 /* 959 * start_select -- DISCOVER ã¡ãã»ã¼ã¸ãéä¿¡ã㦠SELECT ç¶æ 960 ã«é·ç§»ããã 929 * start_select -- DISCOVER メッセージを送信して SELECT 状態に遷移する。 961 930 */ 962 931 … … 964 933 start_select (T_DHCP4_CLI_CONTEXT *ct) 965 934 { 966 /* éä¿¡ãéå§ããæéãè¨é²ããã*/935 /* 送信を開始した時間を記録する。*/ 967 936 get_tim(&ct->snd_start); 968 937 969 /* OFFER ã¡ãã»ã¼ã¸åä¿¡ã¿ã¤ã ã¢ã¦ããè¨å®ããã*/938 /* OFFER メッセージ受信タイムアウトを設定する。*/ 970 939 syscall(wai_sem(SEM_DHCP4_CLI_TIMER)); 971 940 ct->timers[DHCP4C_TIMER_RCV_OFFER] = SYSTIM2TIMER(TMO_DHCP4C_OFFER); 972 941 syscall(sig_sem(SEM_DHCP4_CLI_TIMER)); 973 942 974 /* éä¿¡å 975 ã¢ãã¬ã¹ã«ãã¼ã«ã«ãããã¯ã¼ã¯ã¸ã®ããã¼ããã£ã¹ããè¨å®ããã*/ 943 /* 送信先アドレスにローカルネットワークへのブロードキャストを設定する。*/ 976 944 ct->dst.ipaddr = IPV4_ADDRBROADCAST; 977 945 978 /* éä¿¡ééããªã»ããããã*/946 /* 送信間隔をリセットする。*/ 979 947 ct->interval = 0; 980 948 981 /* SELECT ç¶æ 982 ã«é·ç§»ããã*/ 949 /* SELECT 状態に遷移する。*/ 983 950 ct->fsm = DHCP4_FSM_SELECT; 984 951 985 /* DISCOVER ã¡ãã»ã¼ã¸ãéä¿¡ããã*/952 /* DISCOVER メッセージを送信する。*/ 986 953 ct->flags |= DHCP4C_FLAG_TMOUT_SND_DISC; 987 954 syscall(sig_sem(SEM_DHCP4_CLI_READY)); … … 989 956 990 957 /* 991 * start_bound -- BOUND ç¶æ 992 ã«é·ç§»ããã 958 * start_bound -- BOUND 状態に遷移する。 993 959 */ 994 960 … … 996 962 start_bound (T_DHCP4_CLI_CONTEXT *ct) 997 963 { 998 /* ãªã¼ã¹ãããæ 999 å ±ãè¨å®ããã*/ 964 /* リースされた情報を設定する。*/ 1000 965 set_lease(ct); 1001 966 1002 /* ãªã¼ã¹ã®æå¹æéãè¨å®ããã*/967 /* リースの有効時間を設定する。*/ 1003 968 ct->expire = timer_value(ct->act_msg, DHCP4_OPT_LEASE_TIME, TMO_DHCP4C_DEF_LEASE); 1004 969 1005 /* ãªã¼ã¹æéã TMO_DHCP4C_MIN_LEASE 以ä¸ã®æã¯ãTMO_DHCP4C_MIN_LEASE ã«è¨å®ããã*/970 /* リース時間が TMO_DHCP4C_MIN_LEASE 以下の時は、TMO_DHCP4C_MIN_LEASE に設定する。*/ 1006 971 if (ct->expire < TMO_DHCP4C_MIN_LEASE) 1007 972 ct->expire = TMO_DHCP4C_MIN_LEASE; 1008 973 1009 /* RENEW ç¶æ 1010 ã¾ã§ã®æéãè¨å®ããã*/ 974 /* RENEW 状態までの時間を設定する。*/ 1011 975 ct->renew = timer_value(ct->act_msg, DHCP4_OPT_RENEWAL_T1, ct->expire / 2); 1012 976 1013 /* REBIND ç¶æ 1014 ã¾ã§ã®æéãè¨å®ããã*/ 977 /* REBIND 状態までの時間を設定する。*/ 1015 978 ct->rebind = timer_value(ct->act_msg, DHCP4_OPT_REBINDING_T2, ct->renew + ct->renew / 2 + ct->renew / 4); 1016 979 1017 /* EXPIRE ãRENEWãREBIND ã¿ã¤ãã¼ãè¨å®ããã*/980 /* EXPIRE、RENEW、REBIND タイマーを設定する。*/ 1018 981 syscall(wai_sem(SEM_DHCP4_CLI_TIMER)); 1019 ct->timers[DHCP4C_TIMER_EXPIRE] = SYSTIM2TIMER(ct->expire); /* EXPIRE ã¾ã§ã®æé*/1020 ct->timers[DHCP4C_TIMER_REBIND] = SYSTIM2TIMER(ct->rebind); /* REBIND ï¼T2ï¼ã¾ã§ã®æé*/1021 ct->timers[DHCP4C_TIMER_RENEW] = SYSTIM2TIMER(ct->renew); /* RENEW ï¼T1ï¼ã¾ã§ã®æé*/982 ct->timers[DHCP4C_TIMER_EXPIRE] = SYSTIM2TIMER(ct->expire); /* EXPIRE までの時間 */ 983 ct->timers[DHCP4C_TIMER_REBIND] = SYSTIM2TIMER(ct->rebind); /* REBIND(T2)までの時間 */ 984 ct->timers[DHCP4C_TIMER_RENEW] = SYSTIM2TIMER(ct->renew); /* RENEW (T1)までの時間 */ 1022 985 syscall(sig_sem(SEM_DHCP4_CLI_TIMER)); 1023 986 1024 /* BOUND ç¶æ 1025 ã«é·ç§»ããã*/ 987 /* BOUND 状態に遷移する。*/ 1026 988 ct->fsm = DHCP4_FSM_BOUND; 1027 989 1028 /* BIND ãéå§ããæéãè¨é²ããã*/990 /* BIND を開始した時間を記録する。*/ 1029 991 get_tim(&ct->bind_start); 1030 992 } 1031 993 1032 994 /* 1033 * start_send_request -- REQUEST ã¡ãã»ã¼ã¸ãéä¿¡ãã¦ãæå®ãããç¶æ 1034 ã«é·ç§»ããã 995 * start_send_request -- REQUEST メッセージを送信して、指定された状態に遷移する。 1035 996 */ 1036 997 … … 1040 1001 T_IFNET *ifp = IF_GET_IFNET(); 1041 1002 1042 /* éä¿¡ãéå§ããæéãè¨é²ããã*/1003 /* 送信を開始した時間を記録する。*/ 1043 1004 get_tim(&ct->snd_start); 1044 1005 1045 /* é·ç§»ããç¶æ 1046 ã RENEW 以å¤ã§ã¯ ACK/NAK ã¡ãã»ã¼ã¸åä¿¡ã¿ã¤ã ã¢ã¦ããè¨å®ããã*/ 1006 /* 遷移する状態が RENEW 以外では ACK/NAK メッセージ受信タイムアウトを設定する。*/ 1047 1007 if (fsm != DHCP4_FSM_RENEW) { 1048 1008 syscall(wai_sem(SEM_DHCP4_CLI_TIMER)); … … 1052 1012 1053 1013 /* 1054 * é·ç§»ããç¶æ 1055 ã RENEW ã§ã 1056 * SERVER ID ãªãã·ã§ã³ãããã°ãã¼ã«ã«ãããã¯ã¼ã¯ã¸ã®ããã¼ããã£ã¹ããéä¿¡ããã 1014 * 遷移する状態が RENEW で、 1015 * SERVER ID オプションがあればローカルネットワークへのブロードキャストを送信する。 1057 1016 */ 1058 1017 if ((fsm == DHCP4_FSM_RENEW) && … … 1062 1021 ct->dst.ipaddr = IPV4_ADDRBROADCAST; 1063 1022 1064 /* éä¿¡ééããªã»ããããã*/1023 /* 送信間隔をリセットする。*/ 1065 1024 ct->interval = 0; 1066 1025 1067 /* æå®ãããç¶æ 1068 ã«é·ç§»ããã*/ 1026 /* 指定された状態に遷移する。*/ 1069 1027 ct->fsm = fsm; 1070 1028 1071 /* REQUEST ã¡ãã»ã¼ã¸ãéä¿¡ããã*/1029 /* REQUEST メッセージを送信する。*/ 1072 1030 ct->flags |= DHCP4C_FLAG_TMOUT_SND_REQ; 1073 1031 syscall(sig_sem(SEM_DHCP4_CLI_READY)); … … 1075 1033 1076 1034 /* 1077 * start_rel_info -- ã¢ãã¬ã¹æ 1078 å ±ã解æ¾ããã 1035 * start_rel_info -- アドレス情報を解放する。 1079 1036 * 1080 * 注æ: DHCPv4 ã® RFC2131 ã«ã¯ç¡ã1037 * 注意: DHCPv4 の RFC2131 には無い 1081 1038 */ 1082 1039 … … 1084 1041 start_rel_info (T_DHCP4_CLI_CONTEXT *ct) 1085 1042 { 1086 /* å 1087 ¨ã¦ã® TIMER ããã£ã³ã»ã«ããã*/ 1043 /* 全ての TIMER をキャンセルする。*/ 1088 1044 cancel_all_timers(ct); 1089 1045 1090 /* æå¹ãªãªã¼ã¹æ 1091 å ±ãç¡ããã° SLEEP ã«é·ç§»ããã*/ 1046 /* 有効なリース情報が無ければ SLEEP に遷移する。*/ 1092 1047 if (ct->act_msg == NULL) { 1093 1048 ct->fsm = DHCP4_FSM_SLEEP; … … 1095 1050 } 1096 1051 1097 /* éä¿¡å 1098 ã¢ãã¬ã¹ã«ãã¼ã«ã«ãããã¯ã¼ã¯ã¸ã®ããã¼ããã£ã¹ããè¨å®ããã*/ 1052 /* 送信先アドレスにローカルネットワークへのブロードキャストを設定する。*/ 1099 1053 ct->dst.ipaddr = IPV4_ADDRBROADCAST; 1100 1054 1101 /* RELEASE ã¡ãã»ã¼ã¸ãéä¿¡ããã*/1055 /* RELEASE メッセージを送信する。*/ 1102 1056 ct->flags |= DHCP4C_FLAG_TMOUT_SND_REL; 1103 1057 syscall(sig_sem(SEM_DHCP4_CLI_READY)); … … 1105 1059 1106 1060 /* 1107 * setup_dhcp_com_msg -- DHCP ã¡ãã»ã¼ã¸ã®å 1108 ±éé¨åãä½æããã 1061 * setup_dhcp_com_msg -- DHCP メッセージの共通部分を作成する。 1109 1062 */ 1110 1063 … … 1117 1070 ct->snd_msg->len = sizeof(ct->snd_msg->msg); 1118 1071 1119 /* ãããé¨ãè¨å®ããã*/1072 /* ヘッダ部を設定する。*/ 1120 1073 ct->snd_msg->msg.op = op; 1121 1074 ct->snd_msg->msg.htype = DHCP4_HWA_TYPE_ETHER; … … 1123 1076 HOST2MSG32(ct->snd_msg->msg.xid, ct->xid); 1124 1077 1125 /* MAC ã¢ãã¬ã¹ãè¨å®ããã*/1078 /* MAC アドレスを設定する。*/ 1126 1079 memcpy(&ct->snd_msg->msg.chaddr, &ct->sc->ifaddr.lladdr, ETHER_ADDR_LEN); 1127 1080 1128 1081 /* 1129 * ãªãã·ã§ã³é¨ãè¨å®ããã1082 * オプション部を設定する。 1130 1083 */ 1131 1084 1132 /* RFC1048 ã«å®ç¾©ããã¦ãããã¸ãã¯çªå·ãè¨å®ããã*/1085 /* RFC1048 に定義されているマジック番号を設定する。*/ 1133 1086 memcpy(&ct->snd_msg->msg.options, magicno, DHCP4_MAGIC_LEN); 1134 1087 option = ct->snd_msg->msg.options + DHCP4_MAGIC_LEN; 1135 1088 1136 /* DHCP ã¡ãã»ã¼ã¸ã¿ã¤ããè¨å®ããã*/1089 /* DHCP メッセージタイプを設定する。*/ 1137 1090 *(option ++) = DHCP4_OPT_MSG_TYPE; 1138 1091 *(option ++) = 1; … … 1143 1096 1144 1097 /* 1145 * setup_release_msg -- RELEASE ã¡ãã»ã¼ã¸ãä½æããã1098 * setup_release_msg -- RELEASE メッセージを作成する。 1146 1099 */ 1147 1100 … … 1151 1104 uint8_t *opt, *ref_opt; 1152 1105 1153 /* æå¹ãªãªã¼ã¹ã»ã¡ãã»ã¼ã¸ããªããã°ã¨ã©ã¼*/1106 /* 有効なリース・メッセージがなければエラー */ 1154 1107 if (ref == NULL) 1155 1108 return E_PAR; … … 1160 1113 1161 1114 /* 1162 * ãµã¼ã IDï¼server-ipï¼ãè¨å®ããã 1163 * RFC2131 4.4.1 Initialization and allocation of network address åç 1164 § 1115 * サーバ ID(server-ip)を設定する。 1116 * RFC2131 4.4.1 Initialization and allocation of network address 参照 1165 1117 */ 1166 1118 if ((ref_opt = find_option(ref, DHCP4_OPT_SERVER_ID, sizeof(T_IN4_ADDR))) == NULL) … … 1172 1124 1173 1125 /* 1174 * ã¯ã©ã¤ã¢ã³ã IDï¼MAC ã¢ãã¬ã¹ï¼ãè¨å®ããã 1175 * RFC2131 4.4.1 Initialization and allocation of network address åç 1176 § 1126 * クライアント ID(MAC アドレス)を設定する。 1127 * RFC2131 4.4.1 Initialization and allocation of network address 参照 1177 1128 */ 1178 1129 *(opt ++) = DHCP4_OPT_CLIENT_ID; … … 1182 1133 opt += ETHER_ADDR_LEN; 1183 1134 1184 /* ãªãã·ã§ã³ã®çµäºãè¨å®ããã*/1135 /* オプションの終了を設定する。*/ 1185 1136 *(opt ++) = DHCP4_OPT_END; 1186 1137 1187 1138 /* 1188 * ã¯ã©ã¤ã¢ã³ã IP ã¢ãã¬ã¹ï¼ciaddrï¼ãè¨å®ããã 1189 * RFC2131 4.4.1 Initialization and allocation of network address åç 1190 § 1139 * クライアント IP アドレス(ciaddr)を設定する。 1140 * RFC2131 4.4.1 Initialization and allocation of network address 参照 1191 1141 */ 1192 1142 HOST2MSG32(ct->snd_msg->msg.ciaddr, IF_GET_IFNET()->in4_ifaddr.addr); 1193 1143 1194 /* ã¡ãã»ã¼ã¸é·ãè¨å®ããã*/1144 /* メッセージ長を設定する。*/ 1195 1145 ct->snd_msg->len = sizeof(ct->snd_msg->msg) - DHCP4_DFLT_OPT_LEN 1196 1146 + (opt - (uint8_t*)&ct->snd_msg->msg.options); … … 1200 1150 1201 1151 /* 1202 * setup_request_msg -- REQUEST ã¡ãã»ã¼ã¸ãä½æããã1152 * setup_request_msg -- REQUEST メッセージを作成する。 1203 1153 */ 1204 1154 … … 1212 1162 #endif 1213 1163 1214 /* åç 1215 §ããã¡ãã»ã¼ã¸ããªããã°ã¨ã©ã¼ */ 1164 /* 参照するメッセージがなければエラー */ 1216 1165 if (ref == NULL) 1217 1166 return E_PAR; … … 1223 1172 #if defined(DHCP4_CLI_CFG_REQUIRED_OLIST) || defined(DHCP4_CLI_CFG_REQUEST_OLIST) 1224 1173 1225 /* 追å ã®ãªãã·ã§ã³ãè¨å®ããã*/1174 /* 追加のオプションを設定する。*/ 1226 1175 1227 1176 *opt = DHCP4_OPT_REQ_PARAM; … … 1230 1179 #if defined(DHCP4_CLI_CFG_REQUIRED_OLIST) 1231 1180 1232 /* è¦æ±ãªãã·ã§ã³ãªã¹ããè¨å®ããã*/1181 /* 要求オプションリストを設定する。*/ 1233 1182 if (sizeof(required_plist) > 0) { 1234 1183 memcpy(opt, required_plist, sizeof(required_plist)); … … 1241 1190 #if defined(DHCP4_CLI_CFG_REQUEST_OLIST) 1242 1191 1243 /* è¦æ±ãªãã·ã§ã³ãªã¹ããè¨å®ããã*/1192 /* 要求オプションリストを設定する。*/ 1244 1193 if (sizeof(request_plist) > 0) { 1245 1194 memcpy(opt, request_plist, sizeof(request_plist)); … … 1255 1204 1256 1205 /* 1257 * ãµã¼ã IDï¼server-ipï¼ãè¨å®ããã 1258 * RFC2131 4.4.1 Initialization and allocation of network address åç 1259 § 1206 * サーバ ID(server-ip)を設定する。 1207 * RFC2131 4.4.1 Initialization and allocation of network address 参照 1260 1208 */ 1261 1209 if (ct->fsm == DHCP4_FSM_REQUEST) { … … 1269 1217 1270 1218 /* 1271 * è¦æ± IP ã¢ãã¬ã¹ï¼requested-ipï¼ãè¨å®ããã 1272 * RFC2131 4.4.1 Initialization and allocation of network address åç 1273 § 1274 * RFC2131 ã§ã¯ãDHCP4_FSM_RENEW ã®æ MUST NOT ã«ãªã£ã¦ãããã 1275 * MUST ã®ããã§ããã 1219 * 要求 IP アドレス(requested-ip)を設定する。 1220 * RFC2131 4.4.1 Initialization and allocation of network address 参照 1221 * RFC2131 では、DHCP4_FSM_RENEW の時 MUST NOT になっているが、 1222 * MUST のようである。 1276 1223 */ 1277 1224 *(opt ++) = DHCP4_OPT_REQ_IPV4; … … 1279 1226 if (ct->fsm == DHCP4_FSM_REQUEST || ct->fsm == DHCP4_FSM_INIT_REBOOT || 1280 1227 ct->fsm == DHCP4_FSM_RENEW || ct->fsm == DHCP4_FSM_REBIND) 1281 /* åç 1282 §ã¡ãã»ã¼ã¸ã¨åã IP ã¢ãã¬ã¹ï¼requested-ipï¼ãè¦æ±ããã*/ 1228 /* 参照メッセージと同じ IP アドレス(requested-ip)を要求する。*/ 1283 1229 memcpy(opt, (uint8_t*)&ref->msg.yiaddr, sizeof(ref->msg.yiaddr)); 1284 1230 else … … 1287 1233 1288 1234 /* 1289 * ã¯ã©ã¤ã¢ã³ã IDï¼MAC ã¢ãã¬ã¹ï¼ãè¨å®ããã 1290 * RFC2131 4.4.1 Initialization and allocation of network address åç 1291 § 1235 * クライアント ID(MAC アドレス)を設定する。 1236 * RFC2131 4.4.1 Initialization and allocation of network address 参照 1292 1237 */ 1293 1238 *(opt ++) = DHCP4_OPT_CLIENT_ID; … … 1297 1242 opt += ETHER_ADDR_LEN; 1298 1243 1299 /* ãªãã·ã§ã³ã®çµäºãè¨å®ããã*/1244 /* オプションの終了を設定する。*/ 1300 1245 *(opt ++) = DHCP4_OPT_END; 1301 1246 1302 1247 /* 1303 * ã¯ã©ã¤ã¢ã³ã IP ã¢ãã¬ã¹ï¼ciaddrï¼ãè¨å®ããã 1304 * RFC2131 4.4.1 Initialization and allocation of network address åç 1305 § 1248 * クライアント IP アドレス(ciaddr)を設定する。 1249 * RFC2131 4.4.1 Initialization and allocation of network address 参照 1306 1250 */ 1307 1251 if (ct->fsm == DHCP4_FSM_RENEW || ct->fsm == DHCP4_FSM_REBIND) … … 1310 1254 HOST2MSG32(ct->snd_msg->msg.ciaddr, IPV4_ADDRANY); 1311 1255 1312 /* ã¡ãã»ã¼ã¸é·ãè¨å®ããã*/1256 /* メッセージ長を設定する。*/ 1313 1257 ct->snd_msg->len = sizeof(ct->snd_msg->msg) - DHCP4_DFLT_OPT_LEN 1314 1258 + (opt - (uint8_t*)&ct->snd_msg->msg.options); … … 1317 1261 1318 1262 /* 1319 * setup_discover_msg -- DISCOVER ã¡ãã»ã¼ã¸ãä½æããã1263 * setup_discover_msg -- DISCOVER メッセージを作成する。 1320 1264 */ 1321 1265 … … 1335 1279 #if defined(DHCP4_CLI_CFG_REQUIRED_OLIST) || defined(DHCP4_CLI_CFG_REQUEST_OLIST) 1336 1280 1337 /* 追å ã®ãªãã·ã§ã³ãè¨å®ããã*/1281 /* 追加のオプションを設定する。*/ 1338 1282 1339 1283 *opt = DHCP4_OPT_REQ_PARAM; … … 1342 1286 #if defined(DHCP4_CLI_CFG_REQUIRED_OLIST) 1343 1287 1344 /* è¦æ±ãªãã·ã§ã³ãªã¹ããè¨å®ããã*/1288 /* 要求オプションリストを設定する。*/ 1345 1289 if (sizeof(required_plist) > 0) { 1346 1290 memcpy(opt, required_plist, sizeof(required_plist)); … … 1353 1297 #if defined(DHCP4_CLI_CFG_REQUEST_OLIST) 1354 1298 1355 /* è¦æ±ãªãã·ã§ã³ãªã¹ããè¨å®ããã*/1299 /* 要求オプションリストを設定する。*/ 1356 1300 if (sizeof(request_plist) > 0) { 1357 1301 memcpy(opt, request_plist, sizeof(request_plist)); … … 1366 1310 #endif /* of #if defined(DHCP4_CLI_CFG_REQUIRED_OLIST) || defined(DHCP4_CLI_CFG_REQUEST_OLIST) */ 1367 1311 1368 /* æ¢ã«ã¢ãã¬ã¹æ 1369 å ±ããªã¼ã¹ããã¦ããã°ãåã IP ã¢ãã¬ã¹ãè¦æ±ããã*/ 1312 /* 既にアドレス情報がリースされていれば、同じ IP アドレスを要求する。*/ 1370 1313 if (ct->act_msg != NULL) { 1371 1314 *(opt ++) = DHCP4_OPT_REQ_IPV4; … … 1375 1318 } 1376 1319 1377 /* ã¯ã©ã¤ã¢ã³ã IDï¼MAC ã¢ãã¬ã¹ï¼ãè¨å®ããã*/1320 /* クライアント ID(MAC アドレス)を設定する。*/ 1378 1321 *(opt ++) = DHCP4_OPT_CLIENT_ID; 1379 1322 *(opt ++) = ETHER_ADDR_LEN + 1; … … 1382 1325 opt += ETHER_ADDR_LEN; 1383 1326 1384 /* ãªãã·ã§ã³ã®çµäºãè¨å®ããã*/1327 /* オプションの終了を設定する。*/ 1385 1328 *(opt ++) = DHCP4_OPT_END; 1386 1329 1387 /* éä¿¡å 1388 ã¢ãã¬ã¹ãè¨å®ããã*/ 1330 /* 送信先アドレスを設定する。*/ 1389 1331 ct->dst.ipaddr = IPV4_ADDRBROADCAST; 1390 1332 1391 /* ã¡ãã»ã¼ã¸é·ãè¨å®ããã*/1333 /* メッセージ長を設定する。*/ 1392 1334 ct->snd_msg->len = sizeof(ct->snd_msg->msg) - DHCP4_DFLT_OPT_LEN 1393 1335 + (opt - (uint8_t*)&ct->snd_msg->msg.options); … … 1396 1338 1397 1339 /* 1398 * ack_msg_timeout -- ACK/NAK ã¡ãã»ã¼ã¸åä¿¡ã¿ã¤ã ã¢ã¦ãå¦ç1340 * ack_msg_timeout -- ACK/NAK メッセージ受信タイムアウト処理 1399 1341 */ 1400 1342 … … 1402 1344 ack_msg_timeout (T_DHCP4_CLI_CONTEXT *ct) 1403 1345 { 1404 /* ACK ã¡ãã»ã¼ã¸ãåä¿¡ãã¦ããã°ãBOUND ç¶æ 1405 ã«é·ç§»ããã*/ 1346 /* ACK メッセージを受信していれば。BOUND 状態に遷移する。*/ 1406 1347 ct->flags &= ~DHCP4C_FLAG_TMOUT_MASK; 1407 1348 if (select_ack(ct)) { 1408 1349 1409 /* REQUEST ã¡ãã»ã¼ã¸éä¿¡ã¿ã¤ãã¼ãåæ¢ããã*/1350 /* REQUEST メッセージ送信タイマーを停止する。*/ 1410 1351 syscall(wai_sem(SEM_DHCP4_CLI_TIMER)); 1411 1352 ct->timers[DHCP4C_TIMER_SND_REQ] = 0; … … 1413 1354 1414 1355 /* 1415 * ç¶æ 1416 ã REQUEST ã®æã¯ã 1417 * OFFER ã¡ãã»ã¼ã¸ãåä¿¡ã¡ãã»ã¼ã¸æ§é ä½ãªã¹ãã«æ»ãã 1356 * 状態が REQUEST の時は、 1357 * OFFER メッセージを受信メッセージ構造体リストに戻す。 1418 1358 */ 1419 1359 if (ct->fsm == DHCP4_FSM_REQUEST && ct->off_msg != NULL) { … … 1425 1365 } 1426 1366 1427 /* BOUND ç¶æ 1428 ã«é·ç§»ããã*/ 1367 /* BOUND 状態に遷移する。*/ 1429 1368 start_bound(ct); 1430 1369 return; … … 1432 1371 else { 1433 1372 1434 /* ãªã¼ã¹æ 1435 å ±ã解æ¾ããã*/ 1373 /* リース情報を解放する。*/ 1436 1374 rel_lease(ct); 1437 1375 … … 1441 1379 1442 1380 /* 1443 * send_request_msg -- REQUEST ã¡ãã»ã¼ã¸ãéä¿¡ããã1381 * send_request_msg -- REQUEST メッセージを送信する。 1444 1382 */ 1445 1383 … … 1453 1391 uint16_t secs; 1454 1392 1455 /* ã¿ã¤ã ã¢ã¦ããã©ã°ãã¯ãªã¢ã¼ããã*/1393 /* タイムアウトフラグをクリアーする。*/ 1456 1394 ct->flags &= ~DHCP4C_FLAG_TMOUT_MASK; 1457 1395 1458 /* ACK ã¡ãã»ã¼ã¸ãåä¿¡ãã¦ããã°ãBOUND ç¶æ 1459 ã«é·ç§»ããã*/ 1396 /* ACK メッセージを受信していれば。BOUND 状態に遷移する。*/ 1460 1397 ct->flags &= ~DHCP4C_FLAG_TMOUT_MASK; 1461 1398 if (select_ack(ct)) { 1462 1399 1463 /* ACK/NAK ã¡ãã»ã¼ã¸åä¿¡ã¿ã¤ãã¼ãåæ¢ããã*/1400 /* ACK/NAK メッセージ受信タイマーを停止する。*/ 1464 1401 syscall(wai_sem(SEM_DHCP4_CLI_TIMER)); 1465 1402 ct->timers[DHCP4C_TIMER_RCV_ACK] = 0; … … 1467 1404 1468 1405 /* 1469 * ç¶æ 1470 ã REQUEST ã®æã¯ã 1471 * OFFER ã¡ãã»ã¼ã¸ãåä¿¡ã¡ãã»ã¼ã¸æ§é ä½ãªã¹ãã«æ»ãã 1406 * 状態が REQUEST の時は、 1407 * OFFER メッセージを受信メッセージ構造体リストに戻す。 1472 1408 */ 1473 1409 if (ct->fsm == DHCP4_FSM_REQUEST && ct->off_msg != NULL) { … … 1479 1415 } 1480 1416 1481 /* BOUND ç¶æ 1482 ã«é·ç§»ããã*/ 1417 /* BOUND 状態に遷移する。*/ 1483 1418 start_bound(ct); 1484 1419 return; 1485 1420 } 1486 1421 1487 /* REQUEST ã¡ãã»ã¼ã¸ãä½æããã*/1422 /* REQUEST メッセージを作成する。*/ 1488 1423 if (ct->fsm == DHCP4_FSM_REQUEST) 1489 1424 ref = ct->off_msg; … … 1496 1431 } 1497 1432 1498 /* éä¿¡ãéå§ãã¦ããã®æéãå¾ãã*/1433 /* 送信を開始してからの時間を得る。*/ 1499 1434 get_tim(&time); 1500 1435 interval = time - ct->snd_start; 1501 1436 1502 1437 /* 1503 * éä¿¡ãéå§ãã¦ããã®æéï¼ç§ï¼ãã¡ãã»ã¼ã¸ã«è¨å®ããã1504 * æ大å¤ã¯ 65535ã1438 * 送信を開始してからの時間(秒)をメッセージに設定する。 1439 * 最大値は 65535。 1505 1440 */ 1506 1441 if (ct->fsm == DHCP4_FSM_REQUEST) … … 1514 1449 HOST2MSG16(ct->snd_msg->msg.secs, secs); 1515 1450 1516 /* ãã³ããããã³ã°ã³ã¼ã«ã§ã¡ãã»ã¼ã¸ãéä¿¡ããã*/1451 /* ノンブロッキングコールでメッセージを送信する。*/ 1517 1452 error = udp_snd_dat(ct->cepid, &ct->dst, &ct->snd_msg->msg, ct->snd_msg->len, TMO_NBLK); 1518 1453 if (error != E_WBLK) { … … 1522 1457 } 1523 1458 1524 /* éä¿¡ééãè¨å®ããã*/1459 /* 送信間隔を設定する。*/ 1525 1460 if (ct->interval == 0) 1526 /* æªè¨å®*/1461 /* 未設定 */ 1527 1462 ct->interval = TMO_DHCP4C_INIT_INTVL; 1528 1463 else 1529 /* ããã¯ãªãã¢ã«ã´ãªãºã 㧠2åã«ããï¼ä¹±æ°ä½¿ç¨ï¼éä¿¡ééãå ç®ããã*/1464 /* バックオフアルゴリズムで 2倍にした(乱数使用)送信間隔を加算する。*/ 1530 1465 ct->interval += (netapp_rand() >> 2) % (ct->interval << 1); 1531 1466 1532 /* éä¿¡å¨æã®å¶éå¤ãè¶ 1533 ããªãããã«ããã*/ 1467 /* 送信周期の制限値を超えないようにする。*/ 1534 1468 if (ct->interval > TMO_DHCP4C_MAX_BACKOFF) 1535 1469 ct->interval = (TMO_DHCP4C_MAX_BACKOFF >> 1) + ((netapp_rand() >> 2) % TMO_DHCP4C_MAX_BACKOFF); 1536 1470 1537 /* ãªã¼ã¹æéã®ã¿ã¤ã ã¢ã¦ããå 1538 éãã */ 1471 /* リース時間のタイムアウト【先送り】 */ 1539 1472 if (ct->fsm != DHCP4_FSM_REQUEST && 1540 1473 TIMEC_GT(ct->interval + time, ct->expire + ct->bind_start)) 1541 1474 ct->interval = ct->expire + ct->bind_start - time + SYSTIM_HZ; 1542 1475 1543 /* åéä¿¡ã¿ã¤ã ã¢ã¦ããè¨å®ããã*/1476 /* 再送信タイムアウトを設定する。*/ 1544 1477 syscall(wai_sem(SEM_DHCP4_CLI_TIMER)); 1545 1478 ct->timers[DHCP4C_TIMER_SND_REQ] = SYSTIM2TIMER(ct->interval); … … 1548 1481 1549 1482 /* 1550 * send_release_msg -- RELEASE ã¡ãã»ã¼ã¸ãéä¿¡ããã1483 * send_release_msg -- RELEASE メッセージを送信する。 1551 1484 */ 1552 1485 … … 1556 1489 ER error; 1557 1490 1558 /* ã¿ã¤ã ã¢ã¦ããã©ã°ãã¯ãªã¢ã¼ããã*/1491 /* タイムアウトフラグをクリアーする。*/ 1559 1492 ct->flags &= ~DHCP4C_FLAG_TMOUT_MASK; 1560 1493 1561 /* RELEASE ã¡ãã»ã¼ã¸ãä½æããã*/1494 /* RELEASE メッセージを作成する。*/ 1562 1495 if ((error = setup_release_msg(ct, ct->act_msg)) != E_OK) { 1563 1496 syslog(LOG_NOTICE, "[DHCP4C] error, setup release message: %s", itron_strerror(error)); … … 1566 1499 } 1567 1500 1568 /* ãªã¼ã¹æ 1569 å ±ã解æ¾ããã*/ 1501 /* リース情報を解放する。*/ 1570 1502 rel_lease(ct); 1571 1503 1572 /* ãã³ããããã³ã°ã³ã¼ã«ã§ã¡ãã»ã¼ã¸ãéä¿¡ããã*/1504 /* ノンブロッキングコールでメッセージを送信する。*/ 1573 1505 error = udp_snd_dat(ct->cepid, &ct->dst, &ct->snd_msg->msg, ct->snd_msg->len, TMO_NBLK); 1574 1506 if (error != E_WBLK) { … … 1578 1510 } 1579 1511 1580 /* ã¡ãã»ã¼ã¸éä¿¡å¾ 1581 ã¡ãè¡ãã*/ 1512 /* メッセージ送信待ちを行う。*/ 1582 1513 syscall(wai_sem(SEM_DHCP4_CLI_READY)); 1583 1514 1584 /* SLEEP ç¶æ 1585 ã«é·ç§»ããã*/ 1515 /* SLEEP 状態に遷移する。*/ 1586 1516 ct->fsm = DHCP4_FSM_SLEEP; 1587 1517 } 1588 1518 1589 1519 /* 1590 * offer_msg_timeout -- OFFER ã¡ãã»ã¼ã¸åä¿¡ã¿ã¤ã ã¢ã¦ãå¦ç1520 * offer_msg_timeout -- OFFER メッセージ受信タイムアウト処理 1591 1521 */ 1592 1522 … … 1594 1524 offer_msg_timeout (T_DHCP4_CLI_CONTEXT *ct) 1595 1525 { 1596 /* OFFER ã¡ãã»ã¼ã¸ãåä¿¡ãã¦ããã°ãREQUEST ç¶æ 1597 ã«é·ç§»ããã*/ 1526 /* OFFER メッセージを受信していれば。REQUEST 状態に遷移する。*/ 1598 1527 ct->flags &= ~DHCP4C_FLAG_TMOUT_MASK; 1599 1528 if (select_offer(ct)) { 1600 1529 1601 /* DISCOVER ã¡ãã»ã¼ã¸éä¿¡ã¿ã¤ãã¼ãåæ¢ããã*/1530 /* DISCOVER メッセージ送信タイマーを停止する。*/ 1602 1531 syscall(wai_sem(SEM_DHCP4_CLI_TIMER)); 1603 1532 ct->timers[DHCP4C_TIMER_SND_DISC] = 0; 1604 1533 syscall(sig_sem(SEM_DHCP4_CLI_TIMER)); 1605 1534 1606 /* REQUEST ã¡ãã»ã¼ã¸ãéä¿¡ã㦠REQUEST ç¶æ 1607 ã«é·ç§»ããã*/ 1535 /* REQUEST メッセージを送信して REQUEST 状態に遷移する。*/ 1608 1536 start_send_request(ct, DHCP4_FSM_REQUEST); 1609 1537 } … … 1613 1541 1614 1542 /* 1615 * send_discover_msg -- DISCOVER ã¡ãã»ã¼ã¸ãéä¿¡ããã1543 * send_discover_msg -- DISCOVERメッセージを送信する。 1616 1544 */ 1617 1545 … … 1623 1551 RELTIM interval; 1624 1552 1625 /* ã¿ã¤ã ã¢ã¦ããã©ã°ãã¯ãªã¢ã¼ããã*/1553 /* タイムアウトフラグをクリアーする。*/ 1626 1554 ct->flags &= ~DHCP4C_FLAG_TMOUT_MASK; 1627 1555 1628 /* OFFER ã¡ãã»ã¼ã¸ãåä¿¡ãã¦ããã°ãREQUEST ç¶æ 1629 ã«é·ç§»ããã*/ 1556 /* OFFER メッセージを受信していれば。REQUEST 状態に遷移する。*/ 1630 1557 ct->flags &= ~DHCP4C_FLAG_TMOUT_MASK; 1631 1558 if (select_offer(ct)) { 1632 1559 1633 /* OFFER ã¡ãã»ã¼ã¸åä¿¡ã¿ã¤ãã¼ãåæ¢ããã*/1560 /* OFFER メッセージ受信タイマーを停止する。*/ 1634 1561 syscall(wai_sem(SEM_DHCP4_CLI_TIMER)); 1635 1562 ct->timers[DHCP4C_TIMER_RCV_OFFER] = 0; 1636 1563 syscall(sig_sem(SEM_DHCP4_CLI_TIMER)); 1637 1564 1638 /* REQUEST ã¡ãã»ã¼ã¸ãéä¿¡ã㦠REQUEST ç¶æ 1639 ã«é·ç§»ããã*/ 1565 /* REQUEST メッセージを送信して REQUEST 状態に遷移する。*/ 1640 1566 start_send_request(ct, DHCP4_FSM_REQUEST); 1641 1567 return; 1642 1568 } 1643 1569 1644 /* DISCOVER ã¡ãã»ã¼ã¸ãä½æããã*/1570 /* DISCOVER メッセージを作成する。*/ 1645 1571 if ((error = setup_discover_msg(ct)) != E_OK) { 1646 1572 syslog(LOG_NOTICE, "[DHCP4C] error, setup discover message: %s", itron_strerror(error)); … … 1649 1575 } 1650 1576 1651 /* éä¿¡ãéå§ãã¦ããã®æéãå¾ãã*/1577 /* 送信を開始してからの時間を得る。*/ 1652 1578 get_tim(&time); 1653 1579 interval = time - ct->snd_start; 1654 1580 1655 1581 /* 1656 * éä¿¡ãéå§ãã¦ããã®æéï¼ç§ï¼ãã¡ãã»ã¼ã¸ã«è¨å®ããã1657 * æ大å¤ã¯ 65535ã1582 * 送信を開始してからの時間(秒)をメッセージに設定する。 1583 * 最大値は 65535。 1658 1584 */ 1659 1585 if (SYSTIM2SEC(interval) < 65536) … … 1663 1589 HOST2MSG16(ct->snd_msg->msg.secs, ct->secs); 1664 1590 1665 /* ãã³ããããã³ã°ã³ã¼ã«ã§ã¡ãã»ã¼ã¸ãéä¿¡ããã*/1591 /* ノンブロッキングコールでメッセージを送信する。*/ 1666 1592 error = udp_snd_dat(ct->cepid, &ct->dst, &ct->snd_msg->msg, ct->snd_msg->len, TMO_NBLK); 1667 1593 if (error != E_WBLK) { … … 1671 1597 } 1672 1598 1673 /* éä¿¡ééãè¨å®ããã*/1599 /* 送信間隔を設定する。*/ 1674 1600 if (ct->interval == 0) 1675 /* æªè¨å®*/1601 /* 未設定 */ 1676 1602 ct->interval = TMO_DHCP4C_INIT_INTVL; 1677 1603 else 1678 /* ããã¯ãªãã¢ã«ã´ãªãºã 㧠2åã«ããï¼ä¹±æ°ä½¿ç¨ï¼éä¿¡ééãå ç®ããã*/1604 /* バックオフアルゴリズムで 2倍にした(乱数使用)送信間隔を加算する。*/ 1679 1605 ct->interval += (netapp_rand() >> 2) % (ct->interval << 1); 1680 1606 1681 /* éä¿¡å¨æã®å¶éå¤ãè¶ 1682 ããªãããã«ããã*/ 1607 /* 送信周期の制限値を超えないようにする。*/ 1683 1608 if (ct->interval > TMO_DHCP4C_MAX_BACKOFF) 1684 1609 ct->interval = (TMO_DHCP4C_MAX_BACKOFF >> 1) + ((netapp_rand() >> 2) % TMO_DHCP4C_MAX_BACKOFF); 1685 1610 1686 /* OFFER ã¡ãã»ã¼ã¸ã®åä¿¡ã¿ã¤ã ã¢ã¦ããè¶ 1687 ããªãããã«èª¿æ´ããã*/ 1611 /* OFFER メッセージの受信タイムアウトを超えないように調整する。*/ 1688 1612 if (TIMEC_GT(time + ct->interval, ct->snd_start + TMO_DHCP4C_OFFER)) 1689 1613 ct->interval = (TMO_DHCP4C_INIT_INTVL + TMO_DHCP4C_OFFER) - time + 1; 1690 1614 1691 /* åéä¿¡ã¿ã¤ã ã¢ã¦ããè¨å®ããã*/1615 /* 再送信タイムアウトを設定する。*/ 1692 1616 syscall(wai_sem(SEM_DHCP4_CLI_TIMER)); 1693 1617 ct->timers[DHCP4C_TIMER_SND_DISC] = SYSTIM2TIMER(ct->interval); … … 1696 1620 1697 1621 /* 1698 * dhcpc_timer -- TIMER 管ç1622 * dhcpc_timer -- TIMER 管理 1699 1623 */ 1700 1624 … … 1716 1640 syscall(sig_sem(SEM_DHCP4_CLI_TIMER)); 1717 1641 1718 /* 1 ç§æ¯ã«ã¿ã¤ã ã¢ã¦ãããã*/1642 /* 1秒毎にタイムアウトする。*/ 1719 1643 timeout((callout_func)dhcpc_timer, ct, NET_TIMER_HZ); 1720 1644 } 1721 1645 1722 1646 /* 1723 * expire_timeout -- EXPIRE ã¿ã¤ã ã¢ã¦ãå¦ç1647 * expire_timeout -- EXPIRE タイムアウト処理 1724 1648 */ 1725 1649 … … 1729 1653 //ER error; 1730 1654 1731 /* ã¿ã¤ã ã¢ã¦ããã©ã°ãã¯ãªã¢ã¼ããã*/1655 /* タイムアウトフラグをクリアーする。*/ 1732 1656 ct->flags &= ~DHCP4C_FLAG_TMOUT_MASK; 1733 1657 1734 /* ç¶æ 1735 ã REQUEST ã®æã¯ä½ãããªãã*/ 1658 /* 状態が REQUEST の時は何もしない。*/ 1736 1659 if (ct->fsm == DHCP4_FSM_REQUEST) 1737 1660 return; 1738 1661 1739 /* å 1740 ¨ã¦ã® TIMER ããã£ã³ã»ã«ããã*/ 1662 /* 全ての TIMER をキャンセルする。*/ 1741 1663 cancel_all_timers(ct); 1742 1664 1743 /* ãªã¼ã¹ãããæ 1744 å ±ã解æ¾ããã*/ 1665 /* リースされた情報を解放する。*/ 1745 1666 rel_lease(ct); 1746 1667 … … 1749 1670 1750 1671 /* 1751 * rebind_timeout -- REBIND ã¿ã¤ã ã¢ã¦ãå¦ç1672 * rebind_timeout -- REBIND タイムアウト処理 1752 1673 */ 1753 1674 … … 1755 1676 rebind_timeout (T_DHCP4_CLI_CONTEXT *ct) 1756 1677 { 1757 /* ã¿ã¤ã ã¢ã¦ããã©ã°ãã¯ãªã¢ã¼ããã*/1678 /* タイムアウトフラグをクリアーする。*/ 1758 1679 ct->flags &= ~DHCP4C_FLAG_TMOUT_MASK; 1759 1680 1760 /* å 1761 ¨ã¦ã® TIMER ããã£ã³ã»ã«ããã*/ 1681 /* 全ての TIMER をキャンセルする。*/ 1762 1682 cancel_all_timers(ct); 1763 1683 1764 /* REQUEST ã¡ãã»ã¼ã¸ãéä¿¡ã㦠REBIND ç¶æ 1765 ã«é·ç§»ããã*/ 1684 /* REQUEST メッセージを送信して REBIND 状態に遷移する。*/ 1766 1685 start_send_request(ct, DHCP4_FSM_REBIND); 1767 1686 } 1768 1687 1769 1688 /* 1770 * renew_timeout -- RENEW ã¿ã¤ã ã¢ã¦ãå¦ç1689 * renew_timeout -- RENEW タイムアウト処理 1771 1690 */ 1772 1691 … … 1774 1693 renew_timeout (T_DHCP4_CLI_CONTEXT *ct) 1775 1694 { 1776 /* ã¿ã¤ã ã¢ã¦ããã©ã°ãã¯ãªã¢ã¼ããã*/1695 /* タイムアウトフラグをクリアーする。*/ 1777 1696 ct->flags &= ~DHCP4C_FLAG_TMOUT_MASK; 1778 1697 1779 /* REQUEST ã¡ãã»ã¼ã¸ãéä¿¡ã㦠RENEW ç¶æ 1780 ã«é·ç§»ããã*/ 1698 /* REQUEST メッセージを送信して RENEW 状態に遷移する。*/ 1781 1699 start_send_request(ct, DHCP4_FSM_RENEW); 1782 1700 } 1783 1701 1784 1702 /* 1785 * dispatch_timeout -- ã¿ã¤ã ã¢ã¦ãããæã®å¦ç1703 * dispatch_timeout -- タイムアウトした時の処理 1786 1704 */ 1787 1705 … … 1831 1749 1832 1750 /* 1833 * dispatch_event -- ã¤ãã³ãæ¯ã®å¦ç1751 * dispatch_event -- イベント毎の処理 1834 1752 */ 1835 1753 … … 1841 1759 while (ct->fsm != DHCP4_FSM_SLEEP && error == E_OK) { 1842 1760 1843 /* ã¡ãã»ã¼ã¸ã®åä¿¡ã¨ã¿ã¤ã ã¢ã¦ããå¾ 1844 ã¤ã*/ 1761 /* メッセージの受信とタイムアウトを待つ。*/ 1845 1762 syscall(wai_sem(SEM_DHCP4_CLI_READY)); 1846 1763 … … 1862 1779 1863 1780 /* 1864 * init_context -- DHCP ã¯ã©ã¤ã¢ã³ãã³ã³ããã¹ãæ§é ä½ãåæåããã1781 * init_context -- DHCP クライアントコンテキスト構造体を初期化する。 1865 1782 */ 1866 1783 … … 1876 1793 1877 1794 /* 1878 * rel_cli_msg -- ã¡ãã»ã¼ã¸æ§é ä½ã解æ¾ããã1795 * rel_cli_msg -- メッセージ構造体を解放する。 1879 1796 */ 1880 1797 … … 1908 1825 1909 1826 /* 1910 * init_cli_msg -- åã¡ãã»ã¼ã¸æ§é ä½ãåæåããã1827 * init_cli_msg -- 各メッセージ構造体を初期化する。 1911 1828 */ 1912 1829 … … 1918 1835 int count; 1919 1836 1920 /* éä¿¡ã¡ãã»ã¼ã¸æ§é ä½ãç²å¾ããã*/1837 /* 送信メッセージ構造体を獲得する。*/ 1921 1838 if ((error = tget_mpf(MPF_DHCP4_CLI_MSG, (void*)&ct->snd_msg, TMO_DHCP4C_MPF_GET)) != E_OK) { 1922 1839 syslog(LOG_NOTICE, "[DHCP4C] error, tget_mpf() for send: %s.", itron_strerror(error)); … … 1925 1842 1926 1843 /* 1927 * æå¹ãªãªã¼ã¹ã»ã¡ãã»ã¼ã¸æ§é ä½ãããå ´åã¯ã1928 * ç²å¾ããåä¿¡ã¡ãã»ã¼ã¸æ§é ä½ãªã¹ãã®æ§é ä½ã 1æ¸ããã1844 * 有効なリース・メッセージ構造体がある場合は、 1845 * 獲得する受信メッセージ構造体リストの構造体を 1減らす。 1929 1846 */ 1930 1847 if (ct->act_msg == NULL) … … 1933 1850 count = NUM_DHCP4_MSG_LIST - 1; 1934 1851 1935 /* åä¿¡ã¡ãã»ã¼ã¸æ§é ä½ãç²å¾ããã*/1852 /* 受信メッセージ構造体を獲得する。*/ 1936 1853 while (count --> 0) { 1937 1854 if ((error = tget_mpf(MPF_DHCP4_CLI_MSG, (void*)&cell, TMO_DHCP4C_MPF_GET)) != E_OK) { … … 1947 1864 1948 1865 /* 1949 * dhcp4c_renew_info -- ãããã¯ã¼ã¯æ 1950 å ±ãååå¾ããã 1866 * dhcp4c_renew_info -- ネットワーク情報を再取得する。 1951 1867 */ 1952 1868 … … 1956 1872 if (context.fsm == DHCP4_FSM_BOUND) { 1957 1873 1958 /* REL_INFO ç¶æ 1959 ã«é·ç§»ããå¾ã« SLEEP ã解é¤ããããã«è¨å®ããã*/ 1874 /* REL_INFO 状態に遷移した後に SLEEP を解除するように設定する。*/ 1960 1875 context.flags |= DHCP4C_FLAG_RENEW; 1961 1876 start_rel_info(&context); … … 1964 1879 else if (context.fsm == DHCP4_FSM_SLEEP) { 1965 1880 1966 /* SLEEP ã解é¤ããã*/1881 /* SLEEP を解除する。*/ 1967 1882 wup_tsk(DHCP4_CLI_TASK); 1968 1883 return E_OK; … … 1973 1888 1974 1889 /* 1975 * dhcp4c_rel_info -- DHCP ã§è¨å®ããããããã¯ã¼ã¯æ 1976 å ±ã解æ¾ããã 1890 * dhcp4c_rel_info -- DHCP で設定されたネットワーク情報を解放する。 1977 1891 */ 1978 1892 … … 1980 1894 dhcp4c_rel_info (void) 1981 1895 { 1982 /* REL_INFO ç¶æ 1983 ã«é·ç§»ããã*/ 1896 /* REL_INFO 状態に遷移する。*/ 1984 1897 start_rel_info(&context); 1985 1898 return E_OK; … … 1987 1900 1988 1901 /* 1989 * dhcp4c_get_info -- DHCP ã§è¨å®ããããããã¯ã¼ã¯æ 1990 å ±ãè¿ãã 1902 * dhcp4c_get_info -- DHCP で設定されたネットワーク情報を返す。 1991 1903 */ 1992 1904 … … 2011 1923 2012 1924 /* 2013 * ã³ã¼ã«ããã¯é¢æ°1925 * コールバック関数 2014 1926 */ 2015 1927 … … 2022 1934 len = *(ER_UINT*)p_parblk; 2023 1935 if (len < 0 && len != E_RLWAI) { 2024 /* E_RLWAI 以å¤ã§ã0 以ä¸ã®å ´åã¯ãã¨ã©ã¼ãæå³ãã¦ããã*/1936 /* E_RLWAI 以外で、0 以下の場合は、エラーを意味している。*/ 2025 1937 syslog(LOG_NOTICE, "[DHCPC(CBR)] error: %s, fncd: %s", itron_strerror(len), in_strtfn(fncd)); 2026 1938 } … … 2028 1940 if (fncd == TEV_UDP_RCV_DAT) { 2029 1941 2030 /* åä¿¡ã¡ãã»ã¼ã¸ãªã¹ãã空ã®æã¯ãåä¿¡ããªãã§ãã¼ã¿ã°ã©ã ãæ¨ã¦ãã*/1942 /* 受信メッセージリストが空の時は、受信しないでデータグラムを捨てる。*/ 2031 1943 if (context.rcv_lst == NULL) 2032 1944 syslog(LOG_NOTICE, "[DHCP4C(CBR)] receive buffer all busy."); 2033 1945 else { 2034 /* ã¡ãã»ã¼ã¸ãåä¿¡ããã¡ãã»ã¼ã¸æ§é ä½ãæºåããã*/1946 /* メッセージを受信するメッセージ構造体を準備する。*/ 2035 1947 syscall(wai_sem(SEM_DHCP4_CLI_LOCK)); 2036 1948 msg = context.rcv_lst; … … 2038 1950 syscall(sig_sem(SEM_DHCP4_CLI_LOCK)); 2039 1951 2040 /* ã¡ãã»ã¼ã¸ãåä¿¡ããã*/1952 /* メッセージを受信する。*/ 2041 1953 len = udp_rcv_dat(context.cepid, &msg->srv, &msg->msg, sizeof(msg->msg), TMO_POL); 2042 1954 … … 2044 1956 msg->len = len; 2045 1957 if (len >= 0) { 2046 /* åä¿¡ããã¡ãã»ã¼ã¸ãæ¤è¨¼ã¡ãã»ã¼ã¸ãªã¹ãã«ç§»ãã*/1958 /* 受信したメッセージを検証メッセージリストに移す。*/ 2047 1959 msg->next = context.val_lst; 2048 1960 context.val_lst = msg; … … 2050 1962 } 2051 1963 else { 2052 /* ã¡ãã»ã¼ã¸æ§é ä½ãåä¿¡ã¡ãã»ã¼ã¸ãªã¹ãã«æ»ãã*/1964 /* メッセージ構造体を受信メッセージリストに戻す。*/ 2053 1965 context.error = len; 2054 1966 msg->next = context.rcv_lst; … … 2064 1976 2065 1977 /* 2066 * dhcp4_cli_task -- DHCP ã¯ã©ã¤ã¢ã³ãã¿ã¹ã¯1978 * dhcp4_cli_task -- DHCP クライアントタスク 2067 1979 */ 2068 1980 … … 2080 1992 ct = &context; 2081 1993 2082 /* DHCP ã¯ã©ã¤ã¢ã³ãã³ã³ããã¹ãæ§é ä½ãåæåããã*/1994 /* DHCP クライアントコンテキスト構造体を初期化する。*/ 2083 1995 init_context(ct, (ID)exinf); 2084 1996 2085 1997 while (true) { 2086 1998 2087 /* 1 ç§æ¯ã«ã¿ã¤ã ã¢ã¦ãããããã«ã¿ã¤ãã¼ãè¨å®ããã*/1999 /* 1秒毎にタイムアウトするようにタイマーを設定する。*/ 2088 2000 timeout((callout_func)dhcpc_timer, ct, NET_TIMER_HZ / DHCP4C_TIMER_HZ); 2089 2001 2090 /* ã¡ãã»ã¼ã¸æ§é ä½ãåæåããã*/2002 /* メッセージ構造体を初期化する。*/ 2091 2003 if ((error = init_cli_msg(ct)) == E_OK) { 2092 2004 2093 /* SELECT ç¶æ 2094 ã«é·ç§»ããã*/ 2005 /* SELECT 状態に遷移する。*/ 2095 2006 start_select(ct); 2096 2007 2097 /* ã¡ã¤ã³ã«ã¼ã*/2008 /* メインループ */ 2098 2009 error = dispatch_event(ct); 2099 2010 } 2100 2011 2101 /* å 2102 ¨ã¦ã® TIMER ããã£ã³ã»ã«ããã*/ 2012 /* 全ての TIMER をキャンセルする。*/ 2103 2013 cancel_all_timers(ct); 2104 2014 2105 /* ã¿ã¤ãã¼ãåæ¢ããã*/2015 /* タイマーを停止する。*/ 2106 2016 untimeout((callout_func)dhcpc_timer, ct); 2107 2017 2108 /* ã¡ãã»ã¼ã¸æ§é ä½ã解æ¾ããã*/2018 /* メッセージ構造体を解放する。*/ 2109 2019 rel_cli_msg (ct); 2110 2020 2111 /* ãªã¼ã¹ã解æ¾å¾ãååå¾ãæå®ããã¦ããªããã°ä¼æ¢ããã*/2021 /* リースを解放後、再取得が指定されていなければ休止する。*/ 2112 2022 if (!(ct->flags & DHCP4C_FLAG_RENEW)) { 2113 2023 2114 /* ä¼æ¢ããã*/2024 /* 休止する。*/ 2115 2025 if (error == E_OK) 2116 2026 syslog(LOG_NOTICE, "[DHCP4C] lease released, go to sleep."); -
asp3_gr_sakura/trunk/tinet/netapp/dhcp4_cli.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 47 35 48 36 /* 49 * DHCP ã¯ã©ã¤ã¢ã³ã50 * ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«37 * DHCP クライアント 38 * コンフィギュレーションファイル 51 39 */ 52 40 53 /* ã¿ã¹ã¯*/41 /* タスク */ 54 42 55 43 CRE_TSK(DHCP4_CLI_TASK, { … … 64 52 #endif /* of #ifdef DHCP4_CLI_CFG */ 65 53 66 /* ã»ããã©*/54 /* セマフォ */ 67 55 68 56 #ifdef DHCP4_CLI_CFG -
asp3_gr_sakura/trunk/tinet/netapp/dhcp4_cli.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 95 95 * Tomakomai National College of Technology, JAPAN 96 96 * 97 * ä¸è¨èä½æ¨©è 98 ã¯ï¼ä»¥ä¸ã® (1)ï½(4) ã®æ¡ä»¶ãï¼Free Software Foundation 99 * ã«ãã£ã¦å 100 ¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨ 101 * è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢ 102 * ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹å¤ã»åé 103 å¸ï¼ä»¥ä¸ï¼ 104 * å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 105 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 106 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 107 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 108 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 109 * ç¨ã§ããå½¢ã§åé 110 å¸ããå ´åã«ã¯ï¼åé 111 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 112 * è 113 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 114 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 115 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 116 * ç¨ã§ããªãå½¢ã§åé 117 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 118 * ã¨ï¼ 119 * (a) åé 120 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 121 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 122 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 123 * (b) åé 124 å¸ã®å½¢æ 125 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 126 * å ±åãããã¨ï¼ 127 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 128 * 害ãããï¼ä¸è¨èä½æ¨©è 129 ããã³TOPPERSããã¸ã§ã¯ããå 130 責ãããã¨ï¼ 131 * 132 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 133 ã 134 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 135 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 136 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 97 * 上記著作権者は,以下の (1)~(4) の条件か,Free Software Foundation 98 * によって公表されている GNU General Public License の Version 2 に記 99 * 述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア 100 * を改変したものを含む.以下同じ)を使用・複製・改変・再配布(以下, 101 * 利用と呼ぶ)することを無償で許諾する. 102 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 103 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 104 * スコード中に含まれていること. 105 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 106 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 107 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 108 * の無保証規定を掲載すること. 109 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 110 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 111 * と. 112 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 113 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 114 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 115 * 報告すること. 116 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 117 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 118 * 119 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 120 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 121 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 122 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 137 123 * 138 124 * @(#) $Id$ … … 145 131 146 132 /* 147 * DHCP ã¯ã©ã¤ã¢ã³ãã®ã¹ã¿ãã¯ãµã¤ãº148 */ 149 150 #define DHCP4_CLI_STACK_SIZE 1024 /* DHCP ã¯ã©ã¤ã¢ã³ãã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº*/133 * DHCP クライアントのスタックサイズ 134 */ 135 136 #define DHCP4_CLI_STACK_SIZE 1024 /* DHCP クライアントタスクのスタックサイズ */ 151 137 152 138 /* 153 * DHCP ã¯ã©ã¤ã¢ã³ãã®åªå 154 度 155 */ 156 157 #define DHCP4_CLI_MAIN_PRIORITY 5 /* DHCP ã¯ã©ã¤ã¢ã³ãã¿ã¹ã¯ã®åªå 158 度 */ 159 160 /* æ¨å¥¨åº¦ã®å®ç¾© */ 161 #define DHCP4_CLI_CFG_PREFER_ADDR 100 /* ã¢ãã¬ã¹ã®æ¨å¥¨åº¦ */ 162 163 /* DHCP ã¯ã©ã¤ã¢ã³ãã¡ãã»ã¼ã¸ã®åä¿¡ãªã¹ããµã¤ãºï¼2以ä¸æå®ãããã¨ï¼ */ 139 * DHCP クライアントの優先度 140 */ 141 142 #define DHCP4_CLI_MAIN_PRIORITY 5 /* DHCP クライアントタスクの優先度 */ 143 144 /* 推奨度の定義 */ 145 #define DHCP4_CLI_CFG_PREFER_ADDR 100 /* アドレスの推奨度 */ 146 147 /* DHCP クライアントメッセージの受信リストサイズ(2以上指定すること) */ 164 148 #define NUM_DHCP4_MSG_LIST 3 165 149 166 150 /* 167 * DHCP ã¯ã©ã¤ã¢ã³ãã¡ãã»ã¼ã¸æ§é ä½æ°ãå¤æ´ç¦æ¢ã168 * +1 ã¯éä¿¡ç¨151 * DHCP クライアントメッセージ構造体数【変更禁止】 152 * +1 は送信用 169 153 */ 170 154 #define NUM_MPF_DHCP4_CLI_MSG (NUM_DHCP4_MSG_LIST+1) 171 155 172 156 /* 173 * ã³ã³ãã¤ã«æã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ 174 */ 175 176 /* DHCP å¿ 177 é ãªãã·ã§ã³ãªã¹ã */ 157 * コンパイル時コンフィギュレーション 158 */ 159 160 /* DHCP 必須オプションリスト */ 178 161 179 162 #ifndef DHCP4_CLI_CFG_REQUIRED_OLIST … … 186 169 #endif /* of #ifndef DHCP4_CLI_CFG_REQUIRED_OLIST */ 187 170 188 /* DHCP è¦æ±ãªãã·ã§ã³ãªã¹ã*/171 /* DHCP 要求オプションリスト */ 189 172 190 173 #ifndef DHCP4_CLI_CFG_REQUEST_OLIST … … 202 185 203 186 /* 204 * ã¿ã¤ã ã¢ã¦ãå¤205 */ 206 207 /* åä¿¡ã¿ã¤ã ã¢ã¦ã*/208 #define TMO_DHCP4C_OFFER ULONG_C(120*1000) /* OFFER ã¡ãã»ã¼ã¸*/209 #define TMO_DHCP4C_ACK ULONG_C(60*1000) /* ACK/NAK ã¡ãã»ã¼ã¸*/210 211 /* ãªã¼ã¹æéã®æ¢å®å¤*/212 #define TMO_DHCP4C_DEF_LEASE ULONG_C(12*60*60*1000) /* æ¨æºæé*/213 #define TMO_DHCP4C_MIN_LEASE ULONG_C(60*1000) /* æå°æé*/214 215 /* ã¡ãã»ã¼ã¸ã®éä¿¡å¨æ*/216 #define TMO_DHCP4C_INIT_INTVL ULONG_C(3*1000) /* åæå¤*/217 #define TMO_DHCP4C_MAX_BACKOFF ULONG_C(15*1000) /* å¶éå¤*/218 219 /* DHCP ãµã¼ãã¸ã® UDP éä¿¡ã¿ã¤ã ã¢ã¦ã*/187 * タイムアウト値 188 */ 189 190 /* 受信タイムアウト */ 191 #define TMO_DHCP4C_OFFER ULONG_C(120*1000) /* OFFER メッセージ */ 192 #define TMO_DHCP4C_ACK ULONG_C(60*1000) /* ACK/NAK メッセージ */ 193 194 /* リース時間の既定値 */ 195 #define TMO_DHCP4C_DEF_LEASE ULONG_C(12*60*60*1000) /* 標準時間 */ 196 #define TMO_DHCP4C_MIN_LEASE ULONG_C(60*1000) /* 最小時間 */ 197 198 /* メッセージの送信周期 */ 199 #define TMO_DHCP4C_INIT_INTVL ULONG_C(3*1000) /* 初期値 */ 200 #define TMO_DHCP4C_MAX_BACKOFF ULONG_C(15*1000) /* 制限値 */ 201 202 /* DHCP サーバへの UDP 送信タイムアウト */ 220 203 #define TMO_DHCP4C_UDP_SND ULONG_C(1000000) /* [us] */ 221 204 222 /* ã¡ãã»ã¼ã¸æ§é ä½ç²å¾ã¿ã¤ã ã¢ã¦ã*/205 /* メッセージ構造体獲得タイムアウト */ 223 206 #define TMO_DHCP4C_MPF_GET ULONG_C(1000000) /* [us] */ 224 207 225 /* ARP è¦æ±ãéä¿¡ãã¦ããã®å¾ 226 ã¡æé */ 208 /* ARP 要求を送信してからの待ち時間 */ 227 209 #define TMO_DHCP4C_ARP_WAIT ULONG_C(1000000) /* [us] */ 228 210 229 /* RELEASE ã¡ãã»ã¼ã¸ãéä¿¡ãã¦ããã®å¾ 230 ã¡æé */ 211 /* RELEASE メッセージを送信してからの待ち時間 */ 231 212 #define TMO_DHCP4C_SND_REL_WAIT ULONG_C(1000000) /* [us] */ 232 213 … … 236 217 237 218 /* 238 * DHCP ã¯ã©ã¤ã¢ã³ãã¡ãã»ã¼ã¸æ§é ä½219 * DHCP クライアントメッセージ構造体 239 220 */ 240 221 241 222 typedef struct dhcp4_cli_msg { 242 /* 4 ãã¤ãå¢çã«ã¢ã©ã¤ã³ããã*/243 T_DHCP4_MSG msg; /* DHCP ã¡ãã»ã¼ã¸æ§é ä½*/244 struct dhcp4_cli_msg *next; /* ãªã¹ãã®æ¬¡ã®ã¡ãã»ã¼ã¸æ§é ä½*/245 T_IPV4EP srv; /* ãµã¼ãã®IPv4ã¢ãã¬ã¹/ãã¼ãçªå·*/246 uint16_t len; /* msg ã®æå¹é·*/247 uint16_t prefer; /* msg ã®æ¨å¥¨åº¦*/248 uint8_t type; /* ã¡ãã»ã¼ã¸ã¿ã¤ã*/223 /* 4バイト境界にアラインする。*/ 224 T_DHCP4_MSG msg; /* DHCP メッセージ構造体 */ 225 struct dhcp4_cli_msg *next; /* リストの次のメッセージ構造体 */ 226 T_IPV4EP srv; /* サーバのIPv4アドレス/ポート番号 */ 227 uint16_t len; /* msg の有効長 */ 228 uint16_t prefer; /* msg の推奨度 */ 229 uint8_t type; /* メッセージタイプ */ 249 230 } T_DHCP4_CLI_MSG; 250 231 … … 252 233 253 234 /* 254 * ã³ã¼ã«ããã¯é¢æ°235 * コールバック関数 255 236 */ 256 237 … … 258 239 259 240 /* 260 * ã¿ã¹ã¯241 * タスク 261 242 */ 262 243 … … 264 245 265 246 /* 266 * é¢æ°247 * 関数 267 248 */ 268 249 -
asp3_gr_sakura/trunk/tinet/netapp/dhcp4_cli_asp.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * ASP ç¨ DHCP ã¯ã©ã¤ã¢ã³ãã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * ASP 用 DHCP クライアントのシステムコンフィギュレーションファイル 48 36 */ 49 37 50 38 /* 51 * å 52 ±é DHCP ã¯ã©ã¤ã¢ã³ãã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ã®ã¤ã³ã¯ã«ã¼ã 39 * 共通 DHCP クライアントのシステムコンフィギュレーションファイルのインクルード 53 40 */ 54 41 … … 58 45 59 46 /* 60 * åºå®ã¡ã¢ãªãã¼ã«47 * 固定メモリプール 61 48 */ 62 49 63 /* éåä¿¡ãããã¡*/50 /* 送受信バッファ */ 64 51 65 52 CRE_MPF(MPF_DHCP4_CLI_MSG, { -
asp3_gr_sakura/trunk/tinet/netapp/dhcp4_cli_jsp.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * JSP ç¨ DHCP ã¯ã©ã¤ã¢ã³ãã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * JSP 用 DHCP クライアントのシステムコンフィギュレーションファイル 48 36 */ 49 37 50 38 /* 51 * å 52 ±é DHCP ã¯ã©ã¤ã¢ã³ãã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ã®ã¤ã³ã¯ã«ã¼ã 39 * 共通 DHCP クライアントのシステムコンフィギュレーションファイルのインクルード 53 40 */ 54 41 … … 58 45 59 46 /* 60 * åºå®ã¡ã¢ãªãã¼ã«47 * 固定メモリプール 61 48 */ 62 49 63 /* éåä¿¡ãããã¡*/50 /* 送受信バッファ */ 64 51 65 52 CRE_MPF(MPF_DHCP4_CLI_MSG, { -
asp3_gr_sakura/trunk/tinet/netapp/dhcp4_cli_var.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 95 95 * Tomakomai National College of Technology, JAPAN 96 96 * 97 * ä¸è¨èä½æ¨©è 98 ã¯ï¼ä»¥ä¸ã® (1)ï½(4) ã®æ¡ä»¶ãï¼Free Software Foundation 99 * ã«ãã£ã¦å 100 ¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨ 101 * è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢ 102 * ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹å¤ã»åé 103 å¸ï¼ä»¥ä¸ï¼ 104 * å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 105 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 106 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 107 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 108 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 109 * ç¨ã§ããå½¢ã§åé 110 å¸ããå ´åã«ã¯ï¼åé 111 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 112 * è 113 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 114 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 115 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 116 * ç¨ã§ããªãå½¢ã§åé 117 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 118 * ã¨ï¼ 119 * (a) åé 120 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 121 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 122 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 123 * (b) åé 124 å¸ã®å½¢æ 125 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 126 * å ±åãããã¨ï¼ 127 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 128 * 害ãããï¼ä¸è¨èä½æ¨©è 129 ããã³TOPPERSããã¸ã§ã¯ããå 130 責ãããã¨ï¼ 131 * 132 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 133 ã 134 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 135 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 136 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 97 * 上記著作権者は,以下の (1)~(4) の条件か,Free Software Foundation 98 * によって公表されている GNU General Public License の Version 2 に記 99 * 述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア 100 * を改変したものを含む.以下同じ)を使用・複製・改変・再配布(以下, 101 * 利用と呼ぶ)することを無償で許諾する. 102 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 103 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 104 * スコード中に含まれていること. 105 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 106 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 107 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 108 * の無保証規定を掲載すること. 109 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 110 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 111 * と. 112 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 113 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 114 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 115 * 報告すること. 116 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 117 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 118 * 119 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 120 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 121 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 122 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 137 123 * 138 124 * @(#) $Id$ … … 143 129 144 130 /* 145 * DHCP ã¯ã©ã¤ã¢ã³ãã³ã³ããã¹ãæ§é ä½146 */ 147 148 /* TIMER ã®å®ç¾©*/131 * DHCP クライアントコンテキスト構造体 132 */ 133 134 /* TIMER の定義 */ 149 135 150 136 #define DHCP4C_TIMER_SND_DISC 0 … … 161 147 162 148 typedef struct dhcp4_cli_context { 163 T_DHCP4_CLI_MSG *rcv_lst; /* åä¿¡ã¡ãã»ã¼ã¸æ§é ä½ãªã¹ã */ 164 T_DHCP4_CLI_MSG *val_lst; /* æ¤è¨¼ã¡ãã»ã¼ã¸æ§é ä½ãªã¹ã */ 165 T_DHCP4_CLI_MSG *prf_lst; /* æ¨å¥¨ã¡ãã»ã¼ã¸æ§é ä½ãªã¹ã */ 166 T_DHCP4_CLI_MSG *snd_msg; /* éä¿¡ã¡ãã»ã¼ã¸æ§é ä½ */ 167 T_DHCP4_CLI_MSG *off_msg; /* éç¥ããããªã¼ã¹ã»ã¡ãã»ã¼ã¸æ§é ä½ */ 168 T_DHCP4_CLI_MSG *act_msg; /* æå¹ãªãªã¼ã¹ã»ã¡ãã»ã¼ã¸æ§é ä½ */ 169 T_IF_SOFTC *sc; /* IF ã®ã½ããã¦ã§ã¢æ 170 å ± */ 171 T_IPV4EP dst; /* éä¿¡å 172 ã®IPã¢ãã¬ã¹/ãã¼ãçªå· */ 173 SYSTIM snd_start; /* éä¿¡ãéå§ããæé */ 174 SYSTIM bind_start; /* BINDãéå§ããæé */ 175 SYSTIM expire; /* ãªã¼ã¹ã®æå¹æéï¼msï¼ */ 176 SYSTIM renew; /* RENEWï¼T1ï¼ã¾ã§ã®æéï¼msï¼ */ 177 SYSTIM rebind; /* REBINDï¼T2ï¼ã¾ã§ã®æéï¼msï¼ */ 149 T_DHCP4_CLI_MSG *rcv_lst; /* 受信メッセージ構造体リスト */ 150 T_DHCP4_CLI_MSG *val_lst; /* 検証メッセージ構造体リスト */ 151 T_DHCP4_CLI_MSG *prf_lst; /* 推奨メッセージ構造体リスト */ 152 T_DHCP4_CLI_MSG *snd_msg; /* 送信メッセージ構造体 */ 153 T_DHCP4_CLI_MSG *off_msg; /* 通知されたリース・メッセージ構造体 */ 154 T_DHCP4_CLI_MSG *act_msg; /* 有効なリース・メッセージ構造体 */ 155 T_IF_SOFTC *sc; /* IF のソフトウェア情報 */ 156 T_IPV4EP dst; /* 送信先のIPアドレス/ポート番号 */ 157 SYSTIM snd_start; /* 送信を開始した時間 */ 158 SYSTIM bind_start; /* BINDを開始した時間 */ 159 SYSTIM expire; /* リースの有効時間(ms) */ 160 SYSTIM renew; /* RENEW(T1)までの時間(ms) */ 161 SYSTIM rebind; /* REBIND(T2)までの時間(ms) */ 178 162 SYSTIM timers[NUM_DHCP4C_TIMERS]; 179 /* ã¿ã¤ãã¼é 180 å */ 181 RELTIM interval; /* éä¿¡éé */ 182 ER_UINT error; /* ã¨ã©ã¼ã»ãã¼ã¿é· */ 163 /* タイマー配列 */ 164 RELTIM interval; /* 送信間隔 */ 165 ER_UINT error; /* エラー・データ長 */ 183 166 ID cepid; /* CEP ID */ 184 uint32_t xid; /* ãã©ã³ã¶ã¯ã·ã§ã³ID */185 uint16_t flags; /* å種ãã©ã°*/186 uint16_t max_prefer; /* åä¿¡ã¡ãã»ã¼ã¸ã®æ大æ¨å¥¨åº¦*/167 uint32_t xid; /* トランザクション ID */ 168 uint16_t flags; /* 各種フラグ */ 169 uint16_t max_prefer; /* 受信メッセージの最大推奨度 */ 187 170 uint16_t secs; /* seconds since boot began */ 188 uint8_t fsm; /* ç¾å¨ã®ç¶æ 189 */ 171 uint8_t fsm; /* 現在の状態 */ 190 172 } T_DHCP4_CLI_CONTEXT; 191 173 192 /* fsmï¼ç¶æ 193 é·ç§»ï¼ã®å®ç¾© */ 174 /* fsm(状態遷移)の定義 */ 194 175 195 176 #define DHCP4_FSM_INIT 1 … … 201 182 #define DHCP4_FSM_INIT_REBOOT 7 202 183 #define DHCP4_FSM_REBOOT 8 203 #define DHCP4_FSM_REL_INFO 11 /* DHCPv4 ã® RFC2131 ã«ã¯ç¡ãã*/204 #define DHCP4_FSM_SLEEP 12 /* DHCPv4 ã® RFC2131 ã«ã¯ç¡ãã*/205 206 /* flag ã®å®ç¾©*/184 #define DHCP4_FSM_REL_INFO 11 /* DHCPv4 の RFC2131 には無い。*/ 185 #define DHCP4_FSM_SLEEP 12 /* DHCPv4 の RFC2131 には無い。*/ 186 187 /* flag の定義 */ 207 188 208 189 #define DHCP4C_FLAG_TMOUT_SND_DISC (DHCP4C_FLAG_TMOUT_TIMER|DHCP4C_TIMER_SND_DISC) … … 222 203 223 204 /* 224 * é¢æ°ã·ãã¥ã¬ã¼ã·ã§ã³ãã¯ã225 */ 226 227 /* ã¿ã¤ã ã¢ã¦ãã®è¨ç®*/205 * 関数シミュレーションマクロ 206 */ 207 208 /* タイムアウトの計算 */ 228 209 229 210 #define DHCP4C_TMOC(t) (((t)-1000)+dhcp_rand()%2000) 230 211 231 /* æéæ¯è¼*/212 /* 時間比較 */ 232 213 233 214 #define TIMEC_GT(a,b) ((int32_t)((a)-(b))>0) 234 215 #define TIMEC_GE(a,b) ((int32_t)((a)-(b))>=0) 235 216 236 /* æéå®æ°ã®å¤æ*/217 /* 時間定数の変換 */ 237 218 238 219 #define SYSTIM2TIMER(t) (((t)<SYSTIM_HZ/DHCP4C_TIMER_HZ)?(DHCP4C_TIMER_HZ):((t)*DHCP4C_TIMER_HZ)/SYSTIM_HZ) -
asp3_gr_sakura/trunk/tinet/netapp/dhcp6.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 * ã¨ï¼ 29 * (a) åé 30 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 31 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 32 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 33 * (b) åé 34 å¸ã®å½¢æ 35 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 36 * å ±åãããã¨ï¼ 37 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 38 * 害ãããï¼ä¸è¨èä½æ¨©è 39 ããã³TOPPERSããã¸ã§ã¯ããå 40 責ãããã¨ï¼ 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 * と. 22 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 23 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 24 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 25 * 報告すること. 26 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 27 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 41 28 * 42 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 43 ã 44 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 45 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 46 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 31 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 32 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 47 33 * 48 34 * @(#) $Id$ … … 53 39 54 40 /* 55 * DHCPv6 ã«é¢ããå®ç¾©41 * DHCPv6 に関する定義 56 42 * 57 43 * RFC3315 … … 59 45 60 46 /* 61 * DHCPv6 ã¡ãã»ã¼ã¸ã®å®æ°ã®å®ç¾©47 * DHCPv6 メッセージの定数の定義 62 48 */ 63 49 … … 66 52 67 53 /* 68 * DHCPv6 ã¡ãã»ã¼ã¸54 * DHCPv6 メッセージ 69 55 */ 70 56 … … 79 65 } T_DHCP6_MSG; 80 66 81 /* message type ã®å®ç¾©*/67 /* message type の定義 */ 82 68 83 69 #define DHCP6_SOLICIT UINT_C(1) … … 96 82 97 83 /* 98 * DHCPv6 ãªãã·ã§ã³84 * DHCPv6 オプション 99 85 */ 100 86 … … 113 99 #define DHCP6_OPT_IA_PD UINT_C(25) 114 100 115 /* hardware address type ã®å®ç¾©*/101 /* hardware address type の定義 */ 116 102 117 103 #define DHCP6_HWA_TYPE_ETHER UINT_C(1) 118 104 #define DHCP6_HWA_TYPE_IEEE802 UINT_C(6) 119 105 120 /* STATUS CODE ã®å®ç¾©*/106 /* STATUS CODE の定義 */ 121 107 122 108 #define DHCP6_STAT_SUCCESS UINT_C(0) … … 127 113 #define DHCP6_STAT_USE_MCAST UINT_C(5) 128 114 129 /* æéå®æ°[s]ã®å®ç¾©*/115 /* 時間定数[s]の定義 */ 130 116 131 117 #define DHCP6_MAX_TIME UINT_C(0xffffffff) 132 118 133 119 /* 134 * ãªãã·ã§ã³ã®ãããé¨ã®å®ç¾© 135 */ 136 137 /* ãªãã·ã§ã³ã®å 138 ±éé¨ */ 120 * オプションのヘッダ部の定義 121 */ 122 123 /* オプションの共通部 */ 139 124 140 125 typedef struct dhcp6_option { … … 143 128 } T_DHCP6_OPTION; 144 129 145 /* ãªãã·ã§ã³ã®å 146 ±éé¨ */ 147 148 /* CLIENTID ãªãã·ã§ã³ */ 130 /* オプションの共通部 */ 131 132 /* CLIENTID オプション */ 149 133 150 134 typedef struct dhcp6_opt_clientid { … … 153 137 } T_DHCP6_OPT_CLIENTID; 154 138 155 /* SERVERID ãªãã·ã§ã³*/139 /* SERVERID オプション */ 156 140 157 141 typedef struct dhcp6_opt_serverid { … … 160 144 } T_DHCP6_OPT_SERVERID; 161 145 162 /* IA_NA/IA_PD ãªãã·ã§ã³*/146 /* IA_NA/IA_PD オプション */ 163 147 164 148 typedef struct dhcp6_opt_ia_na_pd { … … 170 154 } T_DHCP6_OPT_IA_NA_PD; 171 155 172 /* IA_TA ãªãã·ã§ã³*/156 /* IA_TA オプション */ 173 157 174 158 typedef struct dhcp6_opt_ia_ta { … … 178 162 } T_DHCP6_OPT_IA_TA; 179 163 180 /* IAADDR ãªãã·ã§ã³*/164 /* IAADDR オプション */ 181 165 182 166 #ifdef T_IN6_ADDR_DEFINED … … 192 176 #endif /* of #ifdef T_IN6_ADDR_DEFINED */ 193 177 194 /* ORO ãªãã·ã§ã³*/178 /* ORO オプション */ 195 179 196 180 typedef struct dhcp6_opt_oro { … … 199 183 } T_DHCP6_OPT_ORO; 200 184 201 /* PREFERENCE ãªãã·ã§ã³*/185 /* PREFERENCE オプション */ 202 186 203 187 typedef struct dhcp6_opt_preference { … … 207 191 } T_DHCP6_OPT_PREFERENCE; 208 192 209 /* UNICAST ãªãã·ã§ã³*/193 /* UNICAST オプション */ 210 194 211 195 #ifdef T_IN6_ADDR_DEFINED … … 219 203 #endif /* of #ifdef T_IN6_ADDR_DEFINED */ 220 204 221 /* STATUS CODE ãªãã·ã§ã³*/205 /* STATUS CODE オプション */ 222 206 223 207 typedef struct dhcp6_opt_status_code { … … 227 211 } T_DHCP6_OPT_STATUS_CODE; 228 212 229 /* NAME SERVERS ãªãã·ã§ã³*/213 /* NAME SERVERS オプション */ 230 214 231 215 typedef struct dhcp6_opt_name_servers { … … 235 219 } T_DHCP6_OPT_NAME_SERVERS; 236 220 237 /* DOMAIN SEARCH ãªãã·ã§ã³*/221 /* DOMAIN SEARCH オプション */ 238 222 239 223 typedef struct dhcp6_opt_domain_search { … … 244 228 245 229 /* 246 * DHCPv6 ã¿ã¤ãã³ã°å®æ°ãRFC3315 5.5 åç 247 §ã 248 * ãã®ä»ã®ã¿ã¤ãã³ã°å®æ°ã¯ dhcp6_cli.h åç 249 § 230 * DHCPv6 タイミング定数【RFC3315 5.5 参照】 231 * その他のタイミング定数は dhcp6_cli.h 参照 250 232 */ 251 233 … … 257 239 #define TMO_REQ_TIMEOUT (1*SYSTIM_HZ) /* 1[s] */ 258 240 #define TMO_REQ_MAX_RT (30*SYSTIM_HZ) /* 30[s] */ 259 #define TMO_REQ_MAX_RC 10 /* åéä¿¡åæ°*/241 #define TMO_REQ_MAX_RC 10 /* 再送信回数 */ 260 242 #define TMO_CNF_MAX_DELAY (1*SYSTIM_HZ) /* 1[s] */ 261 243 #define TMO_CNF_TIMEOUT (1*SYSTIM_HZ) /* 1[s] */ … … 270 252 #define TMO_INF_MAX_RT (120*SYSTIM_HZ) /* 120[s] */ 271 253 #define TMO_REL_TIMEOUT (1*SYSTIM_HZ) /* 1[s] */ 272 #define TMO_REL_MAX_RC 5 /* åéä¿¡åæ°*/254 #define TMO_REL_MAX_RC 5 /* 再送信回数 */ 273 255 #define TMO_DEC_TIMEOUT (1*SYSTIM_HZ) /* 1[s] */ 274 #define TMO_DEC_MAX_RC 5 /* åéä¿¡åæ°*/256 #define TMO_DEC_MAX_RC 5 /* 再送信回数 */ 275 257 #define TMO_REC_TIMEOUT (2*SYSTIM_HZ) /* 2[s] */ 276 #define TMO_REC_MAX_RC 8 /* åéä¿¡åæ°*/258 #define TMO_REC_MAX_RC 8 /* 再送信回数 */ 277 259 278 260 #endif /* of #ifdef SYSTIM_HZ */ … … 282 264 */ 283 265 284 /* DUID_LLT æ§é ä½*/266 /* DUID_LLT 構造体 */ 285 267 286 268 typedef struct dhcp6_duid_llt_hdr { … … 290 272 } T_DHCP6_DUID_LLT_HDR; 291 273 292 /* DUID_LL æ§é ä½*/274 /* DUID_LL 構造体 */ 293 275 294 276 typedef struct dhcp6_duid_ll_hdr { … … 297 279 } T_DHCP6_DUID_LL_HDR; 298 280 299 /* DUID ã¿ã¤ããRFC3315 9åç 300 §ã*/ 281 /* DUID タイプ【RFC3315 9参照】*/ 301 282 302 283 #define DUID_LLT 1 … … 305 286 306 287 /* 307 * DUID æéã®èª¿æ´308 * DUID æéã®éå§ã¯2001/1/1288 * DUID 時間の調整 289 * DUID 時間の開始は 2001/1/1 309 290 */ 310 291 311 292 #define DUID_TIME_EPOCH 0 312 293 313 /* ãªã¬ã¼è»¢éã®æ大ãããæ°*/294 /* リレー転送の最大ホップ数 */ 314 295 315 296 #define HOP_COUNT_LIMIT 32 316 297 317 298 /* 318 * IPv6 ã¢ãã¬ã¹299 * IPv6 アドレス 319 300 */ 320 301 … … 332 313 333 314 /* 334 * UDP ãã¼ãçªå·315 * UDP ポート番号 335 316 */ 336 317 -
asp3_gr_sakura/trunk/tinet/netapp/dhcp6_cli.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 70 70 * Tomakomai National College of Technology, JAPAN 71 71 * 72 * ä¸è¨èä½æ¨©è 73 ã¯ï¼ä»¥ä¸ã® (1)ï½(4) ã®æ¡ä»¶ãï¼Free Software Foundation 74 * ã«ãã£ã¦å 75 ¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨ 76 * è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢ 77 * ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹å¤ã»åé 78 å¸ï¼ä»¥ä¸ï¼ 79 * å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 80 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 81 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 82 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 83 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 84 * ç¨ã§ããå½¢ã§åé 85 å¸ããå ´åã«ã¯ï¼åé 86 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 87 * è 88 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 89 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 90 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 91 * ç¨ã§ããªãå½¢ã§åé 92 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 93 * ã¨ï¼ 94 * (a) åé 95 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 96 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 97 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 98 * (b) åé 99 å¸ã®å½¢æ 100 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 101 * å ±åãããã¨ï¼ 102 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 103 * 害ãããï¼ä¸è¨èä½æ¨©è 104 ããã³TOPPERSããã¸ã§ã¯ããå 105 責ãããã¨ï¼ 72 * 上記著作権者は,以下の (1)~(4) の条件か,Free Software Foundation 73 * によって公表されている GNU General Public License の Version 2 に記 74 * 述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア 75 * を改変したものを含む.以下同じ)を使用・複製・改変・再配布(以下, 76 * 利用と呼ぶ)することを無償で許諾する. 77 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 78 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 79 * スコード中に含まれていること. 80 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 81 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 82 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 83 * の無保証規定を掲載すること. 84 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 85 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 86 * と. 87 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 88 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 89 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 90 * 報告すること. 91 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 92 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 106 93 * 107 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 108 ã 109 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 110 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 111 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 94 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 95 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 96 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 97 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 112 98 * 113 99 * @(#) $Id$ … … 156 142 157 143 /* 158 * DHCPv6 ã¯ã©ã¤ã¢ã³ãã¿ã¹ã¯144 * DHCPv6 クライアントタスク 159 145 */ 160 146 … … 162 148 163 149 /* 164 * DHCP åä½ã¢ã¼ã150 * DHCP 動作モード 165 151 * 166 * #define DHCP6_CLI_CFG_MODE ã§æå®ããã152 * #define DHCP6_CLI_CFG_MODE で指定する。 167 153 * 168 154 */ … … 173 159 174 160 /* 175 * å¤æ°161 * 変数 176 162 */ 177 163 178 164 static const T_IN6_ADDR in6_addr_all_DHCP_relay_servers = 179 IPV6_ADDR_ALL_DHCP_RELAY_SERVERS_INIT; /* ãªã¬ã¼ã»ãµã¼ãã® IPv6 ã¢ãã¬ã¹*/180 static T_DHCP6_CLI_CONTEXT context; /* ã¯ã©ã¤ã¢ã³ãã³ã³ããã¹ã*/165 IPV6_ADDR_ALL_DHCP_RELAY_SERVERS_INIT; /* リレー・サーバの IPv6 アドレス */ 166 static T_DHCP6_CLI_CONTEXT context; /* クライアントコンテキスト */ 181 167 182 168 #ifdef DHCP6_CLI_CFG_REQUIRED_OLIST 183 static uint8_t required_plist[] = DHCP6_CLI_CFG_REQUIRED_OLIST; /* å¿ 184 é ãªãã·ã§ã³ãªã¹ã */ 169 static uint8_t required_plist[] = DHCP6_CLI_CFG_REQUIRED_OLIST; /* 必須オプションリスト */ 185 170 #endif 186 171 187 172 #ifdef DHCP6_CLI_CFG_REQUEST_OLIST 188 static uint8_t request_plist[] = DHCP6_CLI_CFG_REQUEST_OLIST; /* è¦æ±ãªãã·ã§ã³ãªã¹ã*/173 static uint8_t request_plist[] = DHCP6_CLI_CFG_REQUEST_OLIST; /* 要求オプションリスト */ 189 174 #endif 190 175 191 176 /* 192 * dhcp6_rand -- RFC3315 ã«è¦å®ãããä¹±æ°ãçºçããã177 * dhcp6_rand -- RFC3315 に規定された乱数を発生する。 193 178 */ 194 179 … … 209 194 210 195 /* 211 * init_duid -- ã¯ã©ã¤ã¢ã³ãã® DUID ãè¨å®ããã196 * init_duid -- クライアントの DUID を設定する。 212 197 */ 213 198 … … 218 203 #if DHCP6_CLI_CFG_MODE == DHCP6_CLI_CFG_STATELESS 219 204 220 /* åä½ã¢ã¼ãã« STATELESS ãæå®ãããæ㯠LL å½¢å¼ã«ããã*/205 /* 動作モードに STATELESS が指定された時は LL 形式にする。*/ 221 206 222 207 T_DHCP6_DUID_LL_HDR *ll; … … 226 211 HOST2MSG16(ll->type, DHCP6_HWA_TYPE_ETHER); 227 212 memcpy(&ct->duid[sizeof(*ll)], &ct->sc->ifaddr.lladdr, sizeof(ct->sc->ifaddr.lladdr)); 228 ct->duid_len = sizeof(*ll) + sizeof(ct->sc->ifaddr.lladdr); /* DIUD é·ãè¨é²ããã*/213 ct->duid_len = sizeof(*ll) + sizeof(ct->sc->ifaddr.lladdr); /* DIUD 長を記録する。*/ 229 214 230 215 #elif DHCP6_CLI_CFG_MODE == DHCP6_CLI_CFG_STATEFULL 231 216 232 217 /* 233 * åä½ã¢ã¼ãã« DHCP6_CLI_CFG_STATEFULL ãæå®ãããæ㯠LLT å½¢å¼ã«ããã234 * time ã¡ã³ãã¼ã«ã¯ç¾å¨ã®æé[s]ãè¨å®ããã235 * 注æ: æ«å®çã« get_tim() ã®å¤ã使ãããè¦æ¤è¨218 * 動作モードに DHCP6_CLI_CFG_STATEFULL が指定された時は LLT 形式にする。 219 * time メンバーには現在の時間[s]を設定する。 220 * 注意: 暫定的に get_tim() の値を使うが、要検討 236 221 */ 237 222 … … 246 231 HOST2MSG32(llt->time, time); 247 232 memcpy(&ct->duid[sizeof(*llt)], &ct->sc->ifaddr.lladdr, sizeof(ct->sc->ifaddr.lladdr)); 248 ct->duid_len = sizeof(*llt) + sizeof(ct->sc->ifaddr.lladdr); /* DIUD é·ãè¨é²ããã*/233 ct->duid_len = sizeof(*llt) + sizeof(ct->sc->ifaddr.lladdr); /* DIUD 長を記録する。*/ 249 234 250 235 #else /* of #if DHCP6_CLI_CFG_MODE == DHCP6_CLI_CFG_STATELESS */ … … 255 240 256 241 /* 257 * cancel_all_timers -- å 258 ¨ã¦ã® TIMER ããã£ã³ã»ã«ããã 242 * cancel_all_timers -- 全ての TIMER をキャンセルする。 259 243 */ 260 244 … … 271 255 272 256 /* 273 * dhcpc_timer -- TIMER 管ç257 * dhcpc_timer -- TIMER 管理 274 258 */ 275 259 … … 291 275 syscall(sig_sem(SEM_DHCP6_CLI_TIMER)); 292 276 293 /* 1 ç§æ¯ã«ã¿ã¤ã ã¢ã¦ãããã*/277 /* 1秒毎にタイムアウトする。*/ 294 278 timeout((callout_func)dhcpc_timer, ct, NET_TIMER_HZ / DHCP6C_TIMER_HZ); 295 279 } 296 280 297 281 /* 298 * find_option -- æå®ãããªãã·ã§ã³ãæ¢ç´¢ããã282 * find_option -- 指定したオプションを探索する。 299 283 * 300 * 注æ: å¼æ° len ã 0 ã®æã¯ãªãã·ã§ã³ãµã¤ãºãæ¤è¨¼ããªãã 301 * å¼æ° len ã«ã¯ãªãã·ã§ã³å 302 ¨ä½ã®ãµã¤ãºãæå®ãããã¨ã 284 * 注意: 引数 len が 0 の時はオプションサイズを検証しない。 285 * 引数 len にはオプション全体のサイズを指定すること。 303 286 */ 304 287 … … 321 304 322 305 /* 323 * find_msg_option -- æå®ãããªãã·ã§ã³ãæ¢ç´¢ããã306 * find_msg_option -- 指定したオプションを探索する。 324 307 * 325 * 注æ: å¼æ° len ã 0 ã®æã¯ãªãã·ã§ã³ãµã¤ãºãæ¤è¨¼ããªãã 326 * å¼æ° len ã«ã¯ãªãã·ã§ã³å 327 ¨ä½ã®ãµã¤ãºãæå®ãããã¨ã 308 * 注意: 引数 len が 0 の時はオプションサイズを検証しない。 309 * 引数 len にはオプション全体のサイズを指定すること。 328 310 */ 329 311 … … 335 317 336 318 /* 337 * is_equal_sid -- ã¡ãã»ã¼ã¸å 338 ã® SERVER ID ãæ¯è¼ããã 319 * is_equal_sid -- メッセージ内の SERVER ID を比較する。 339 320 */ 340 321 … … 357 338 358 339 /* 359 * validate_iaaddrs -- ã¢ãã¬ã¹æ 360 å ±ï¼IAADDRï¼ãæ¤è¨¼ããã 340 * validate_iaaddrs -- アドレス情報(IAADDR)を検証する。 361 341 */ 362 342 … … 366 346 T_DHCP6_OPT_IAADDR *iaa; 367 347 368 /* ãªãã·ã§ã³ã IAADDR ã§ãããã¨ãæ¤è¨¼ããã*/348 /* オプションが IAADDR であることを検証する。*/ 369 349 iaa = (T_DHCP6_OPT_IAADDR*)opt; 370 350 if (MSG2HOST16(iaa->code) != DHCP6_OPT_IAADDR) … … 372 352 373 353 while (len > 0) { 374 /* ãªãã·ã§ã³é·ãæ¤è¨¼ããã*/354 /* オプション長を検証する。*/ 375 355 if (len < sizeof(*iaa)) 376 356 return E_PAR; 377 357 378 /* ãªãã·ã§ã³é·ã T_DHCP6_OPT_IAADDR ã®ãµã¤ãºã¨ä¸è´ãã¦ããªããã°ã¨ã©ã¼*/358 /* オプション長が T_DHCP6_OPT_IAADDR のサイズと一致していなければエラー */ 379 359 iaa = (T_DHCP6_OPT_IAADDR*)opt; 380 360 if ((MSG2HOST16(iaa->len) & ~DHCP6C_IAA_FLAG_MASK) < (sizeof(*iaa) - sizeof(T_DHCP6_OPTION))) … … 382 362 383 363 /* 384 * perferred-lifetime 㨠valid-lifetime ã®å¤ãçç¾ãã¦ããã¨ãã¯ã¨ã©ã¼ 385 * ãRFC3315 (22.6) åç 386 §ã 364 * perferred-lifetime と valid-lifetime の値が矛盾しているときはエラー 365 * 【RFC3315 (22.6) 参照】 387 366 */ 388 367 if (MSG2HOST32(iaa->prefer) > MSG2HOST32(iaa->valid)) … … 397 376 398 377 /* 399 * validate_ia_na_pd -- IA_NA/IA_PD ãªãã·ã§ã³ãæ¤è¨¼ããã378 * validate_ia_na_pd -- IA_NA/IA_PD オプションを検証する。 400 379 */ 401 380 … … 406 385 uint8_t *opt; 407 386 408 /* IA_NA/IA_PD ãç¡ããã°æ¤è¨¼ããªãã*/387 /* IA_NA/IA_PD が無ければ検証しない。*/ 409 388 if ((opt = find_msg_option(msg, code, 0)) == NULL) 410 389 return E_OK; 411 390 412 /* ãªãã·ã§ã³é·ãæ¤è¨¼ããã*/391 /* オプション長を検証する。*/ 413 392 na = (T_DHCP6_OPT_IA_NA_PD*)opt; 414 393 if (!(msg->len >= (opt - (uint8_t*)&msg->msg) + sizeof(*na) && … … 417 396 418 397 /* 419 * T1 㨠T2 ã®å¤ãçç¾ãã¦ããæãã¾ãã¯ã¢ãã¬ã¹æ 420 å ±ã誤ã£ã¦ããæã¯ã¨ã©ã¼ 421 * ãRFC3315 (22.4) åç 422 §ã 398 * T1 と T2 の値が矛盾している時、またはアドレス情報が誤っている時はエラー 399 * 【RFC3315 (22.4) 参照】 423 400 */ 424 401 if (MSG2HOST32(na->renew) > 0 && MSG2HOST32(na->rebind) > 0 && … … 433 410 434 411 /* 435 * validate_ia_ta -- IA_TA ãªãã·ã§ã³ãæ¤è¨¼ããã412 * validate_ia_ta -- IA_TA オプションを検証する。 436 413 */ 437 414 … … 442 419 uint8_t *opt; 443 420 444 /* IA_TA ãç¡ããã°æ¤è¨¼ããªãã*/421 /* IA_TA が無ければ検証しない。*/ 445 422 if ((opt = find_msg_option(msg, DHCP6_OPT_IA_TA, 0)) == NULL) 446 423 return E_OK; 447 424 448 /* ãªãã·ã§ã³é·ãæ¤è¨¼ããã*/425 /* オプション長を検証する。*/ 449 426 ta = (T_DHCP6_OPT_IA_TA *)opt; 450 427 if (!(msg->len >= (opt - (uint8_t*)&msg->msg) + sizeof(*ta) && … … 453 430 454 431 /* 455 * ã¢ãã¬ã¹æ 456 å ±ã誤ã£ã¦ããæã¯ã¨ã©ã¼ãRFC3315 (22.4) åç 457 §ã 432 * アドレス情報が誤っている時はエラー【RFC3315 (22.4) 参照】 458 433 */ 459 434 if (validate_iaaddrs(opt + sizeof(*ta), (MSG2HOST16(ta->len) & ~DHCP6C_IAA_FLAG_MASK) - (sizeof(*ta) - sizeof(T_DHCP6_OPTION))) != E_OK) … … 463 438 } 464 439 /* 465 * classify_reply -- å¿çã¡ãã»ã¼ã¸ãåé¡ããã440 * classify_reply -- 応答メッセージを分類する。 466 441 */ 467 442 … … 471 446 ER error; 472 447 473 /* IA_NA ãªãã·ã§ã³ãæ¤è¨¼ããã*/448 /* IA_NA オプションを検証する。*/ 474 449 if ((error = validate_ia_na_pd(msg, DHCP6_OPT_IA_NA)) != E_OK) 475 450 return error; 476 451 477 /* IA_TA ãªãã·ã§ã³ãæ¤è¨¼ããã*/452 /* IA_TA オプションを検証する。*/ 478 453 if ((error = validate_ia_ta(msg)) != E_OK) 479 454 return error; 480 455 481 /* IA_PD ãªãã·ã§ã³ãæ¤è¨¼ããã*/456 /* IA_PD オプションを検証する。*/ 482 457 if ((error = validate_ia_na_pd(msg, DHCP6_OPT_IA_PD)) != E_OK) 483 458 return error; 484 459 485 /* ãµã¼ã DUID ããããã¨ãæ¤è¨¼ããã*/460 /* サーバ DUID があることを検証する。*/ 486 461 if (find_msg_option(msg, DHCP6_OPT_SERVERID, 0) == NULL) 487 462 return E_PAR; … … 491 466 492 467 /* 493 * validate_reply -- å¿çã¡ãã»ã¼ã¸ãæ¤è¨¼ããã468 * validate_reply -- 応答メッセージを検証する。 494 469 */ 495 470 … … 500 475 uint8_t *opt; 501 476 502 /* ãµã¼ã DUID ããããã¨ãæ¤è¨¼ããã*/477 /* サーバ DUID があることを検証する。*/ 503 478 if (find_msg_option(msg, DHCP6_OPT_SERVERID, 0) == NULL) 504 479 return E_PAR; 505 480 506 /* ã¯ã©ã¤ã¢ã³ã DUID ããããèªåã®ã¯ã©ã¤ã¢ã³ã DUID ã¨åããã¨ãæ¤è¨¼ããã*/481 /* クライアント DUID があり、自分のクライアント DUID と同じことを検証する。*/ 507 482 if ((opt = find_msg_option(msg, DHCP6_OPT_CLIENTID, 0)) == NULL) 508 483 return E_PAR; … … 518 493 519 494 /* 520 * get_status_code -- STATUS ãªãã·ã§ã³ã®çµæã³ã¼ããç²å¾ããã495 * get_status_code -- STATUS オプションの結果コードを獲得する。 521 496 */ 522 497 … … 527 502 uint8_t *opt; 528 503 529 /* STATUS ãªãã·ã§ã³ãç¡ããã°æ¤è¨¼ããªãã*/504 /* STATUS オプションが無ければ検証しない。*/ 530 505 if ((opt = find_option(msg, msg_len, DHCP6_OPT_STATUS_CODE, 0)) == NULL) 531 506 return DHCP6_STAT_SUCCESS; 532 507 533 /* ãªãã·ã§ã³é·ãæ¤è¨¼ããã*/508 /* オプション長を検証する。*/ 534 509 status = (T_DHCP6_OPT_STATUS_CODE*)opt; 535 510 if (msg_len < sizeof(*status)) … … 542 517 543 518 /* 544 * get_msg_status_code -- STATUS ãªãã·ã§ã³ã®çµæã³ã¼ããç²å¾ããã519 * get_msg_status_code -- STATUS オプションの結果コードを獲得する。 545 520 */ 546 521 … … 598 573 599 574 /* 600 * validate_rcv_msg -- åä¿¡ã¡ãã»ã¼ã¸ãæ¤è¨¼ããã575 * validate_rcv_msg -- 受信メッセージを検証する。 601 576 */ 602 577 … … 607 582 uint_t code; 608 583 609 /* ã¡ãã»ã¼ã¸ã®ã¿ã¤ããä¸è´ãã¦ãããã¨ãæ¤è¨¼ããã*/584 /* メッセージのタイプが一致していることを検証する。*/ 610 585 switch (ct->fsm) { 611 586 … … 649 624 } 650 625 651 /* åä¿¡ã¡ãã»ã¼ã¸ãæ¤è¨¼ããã*/626 /* 受信メッセージを検証する。*/ 652 627 if ((error = validate_reply(ct, msg)) != E_OK) 653 628 return error; 654 629 655 /* åä¿¡ã¡ãã»ã¼ã¸ãåé¡ããã*/630 /* 受信メッセージを分類する。*/ 656 631 if ((error = classify_reply(msg)) != E_OK) 657 632 return error; 658 633 659 /* åä¿¡ããã¡ãã»ã¼ã¸å 660 ã® STATUS CODE ãªãã·ã§ã³ãæ¤è¨¼ããã*/ 634 /* 受信したメッセージ内の STATUS CODE オプションを検証する。*/ 661 635 error = get_msg_status_code(msg, &code); 662 636 if (error != E_OK) … … 667 641 668 642 /* 669 * eval_ia_prefer -- IA_NA/IA_TA/IA_PD ã®æ¨å¥¨åº¦ãè©ä¾¡ããã643 * eval_ia_prefer -- IA_NA/IA_TA/IA_PD の推奨度を評価する。 670 644 */ 671 645 … … 680 654 uint_t aoff, asize; 681 655 682 /* ç¡å¹ã®å ´åã¯çµäºããã*/656 /* 無効の場合は終了する。*/ 683 657 if (cli_msg == NULL) 684 658 return; … … 721 695 722 696 /* 723 * eval_prefer -- åä¿¡ã¡ãã»ã¼ã¸ã®æ¨å¥¨åº¦ãè©ä¾¡ããã697 * eval_prefer -- 受信メッセージの推奨度を評価する。 724 698 */ 725 699 … … 730 704 int ix; 731 705 732 /* ç¡å¹ã®å ´åã¯çµäºããã*/706 /* 無効の場合は終了する。*/ 733 707 if (msg == NULL) 734 708 return; 735 709 736 /* PREFERENCE ãªãã·ã§ã³ãè©ä¾¡ããã*/710 /* PREFERENCE オプションを評価する。*/ 737 711 if ((opt = find_msg_option(msg, DHCP6_OPT_PREFERENCE, sizeof(T_DHCP6_OPT_PREFERENCE))) != NULL) 738 712 msg->prefer = MSG2HOST16(((T_DHCP6_OPT_PREFERENCE*)opt)->prefer) | DHCP6_ClI_MSG_PREFER_OPTION; … … 742 716 #if defined(DHCP6_CLI_CFG_REQUIRED_OLIST) 743 717 744 /* å¿ 745 é ãªãã·ã§ã³ãæ¤è¨¼ããã*/ 718 /* 必須オプションを検証する。*/ 746 719 for (ix = sizeof(required_plist); ix -- > 0; ) { 747 720 if (find_msg_option(msg, required_plist[ix], 0) == NULL) … … 754 727 #if defined(DHCP6_CLI_CFG_REQUEST_OLIST) 755 728 756 /* è¦æ±ãªãã·ã§ã³ãæ¤è¨¼ããã*/729 /* 要求オプションを検証する。*/ 757 730 for (ix = sizeof(request_plist); ix -- > 0; ) { 758 731 if (find_msg_option(msg, request_plist[ix], 0) != NULL) … … 764 737 765 738 /* 766 * eval_rcv_msg -- åä¿¡ã¡ãã»ã¼ã¸ãè©ä¾¡ããã739 * eval_rcv_msg -- 受信メッセージを評価する。 767 740 */ 768 741 … … 773 746 SYSTIM time; 774 747 775 /* ã¡ãã»ã¼ã¸ãåä¿¡ãã¦ããªããã°ä¸æ¢ããã*/748 /* メッセージを受信していなければ中止する。*/ 776 749 syscall(wai_sem(SEM_DHCP6_CLI_LOCK)); 777 750 if (ct->val_lst == NULL) { … … 780 753 } 781 754 782 /* æ¤è¨¼ã¡ãã»ã¼ã¸ãªã¹ãããè©ä¾¡ã¡ãã»ã¼ã¸ãåãåºãã*/755 /* 検証メッセージリストから評価メッセージを取り出す。*/ 783 756 evl = ct->val_lst; 784 757 ct->val_lst = ct->val_lst->next; … … 786 759 syscall(sig_sem(SEM_DHCP6_CLI_LOCK)); 787 760 788 /* åä¿¡æéãè¨å®ããã*/761 /* 受信時間を設定する。*/ 789 762 get_tim(&time); 790 763 evl->rcv_time = time; 791 764 792 /* è©ä¾¡ã¡ãã»ã¼ã¸ãæ¤è¨¼ããã*/765 /* 評価メッセージを検証する。*/ 793 766 if (validate_rcv_msg(ct, evl) != E_OK) { 794 767 795 /* ã¨ã©ã¼ãçºçããè©ä¾¡ã¡ãã»ã¼ã¸ãåä¿¡ã¡ãã»ã¼ã¸æ§é ä½ãªã¹ãã«æ»ãã*/768 /* エラーが発生した評価メッセージを受信メッセージ構造体リストに戻す。*/ 796 769 goto rcv_ret; 797 770 } 798 771 799 /* REL_INFO ç¶æ 800 ã®æã®å¦ç */ 772 /* REL_INFO 状態の時の処理 */ 801 773 if (ct->fsm == DHCP6_FSM_REL_INFO) { 802 774 syscall(wai_sem(SEM_DHCP6_CLI_LOCK)); 803 775 if (evl->status == DHCP6_STAT_SUCCESS) { 804 776 /* 805 * STATUS CODE ã DHCP6_STAT_SUCCESS ãªãã806 * è©ä¾¡ã¡ãã»ã¼ã¸ãæ¨å¥¨ã¡ãã»ã¼ã¸ãªã¹ãã«è¨å®ãã¦çµäºããã777 * STATUS CODE が DHCP6_STAT_SUCCESS なら、 778 * 評価メッセージを推奨メッセージリストに設定して終了する。 807 779 */ 808 780 evl->next = ct->prf_lst; … … 810 782 } 811 783 else { 812 /* è©ä¾¡ã¡ãã»ã¼ã¸ãåä¿¡ã¡ãã»ã¼ã¸æ§é ä½ãªã¹ãã«æ»ãã¦çµäºããã*/784 /* 評価メッセージを受信メッセージ構造体リストに戻して終了する。*/ 813 785 evl->next = ct->rcv_lst; 814 786 ct->rcv_lst = evl; … … 818 790 } 819 791 820 /* è©ä¾¡ã¡ãã»ã¼ã¸ã®æ¨å¥¨åº¦ãè©ä¾¡ããã*/792 /* 評価メッセージの推奨度を評価する。*/ 821 793 eval_prefer(evl); 822 794 eval_ia_prefer(evl); 823 795 824 /* æ¨å¥¨ã¡ãã»ã¼ã¸ãªã¹ãã空ãªãè©ä¾¡ã¡ãã»ã¼ã¸ã移ãã¦çµäºããã*/796 /* 推奨メッセージリストが空なら評価メッセージを移して終了する。*/ 825 797 if (ct->prf_lst == NULL) { 826 798 ct->max_prefer = evl->prefer & DHCP6_ClI_MSG_PREFER_VALUE_MASK; … … 829 801 } 830 802 831 /* è©ä¾¡ã¡ãã»ã¼ã¸ã®æ¨å¥¨åº¦ã¨æ¨å¥¨ã¡ãã»ã¼ã¸ãªã¹ãã®æ大æ¨å¥¨åº¦ãæ¯è¼ããã*/803 /* 評価メッセージの推奨度と推奨メッセージリストの最大推奨度を比較する。*/ 832 804 if ((evl->prefer & DHCP6_ClI_MSG_PREFER_VALUE_MASK) > ct->max_prefer) { 833 805 834 806 /* 835 * è©ä¾¡ã¡ãã»ã¼ã¸ã®æ¨å¥¨åº¦ãæ¨å¥¨ã¡ãã»ã¼ã¸ãªã¹ãã®æ大æ¨å¥¨åº¦ããé«ããã°ã836 * æ¨å¥¨ã¡ãã»ã¼ã¸ãªã¹ããåä¿¡ã¡ãã»ã¼ã¸æ§é ä½ãªã¹ãã«æ»ãã837 * è©ä¾¡ã¡ãã»ã¼ã¸ãæ¨å¥¨ã¡ãã»ã¼ã¸ãªã¹ãã«ç§»ãã807 * 評価メッセージの推奨度が推奨メッセージリストの最大推奨度より高ければ、 808 * 推奨メッセージリストを受信メッセージ構造体リストに戻し、 809 * 評価メッセージを推奨メッセージリストに移す。 838 810 */ 839 811 ct->max_prefer = evl->prefer & DHCP6_ClI_MSG_PREFER_VALUE_MASK; … … 856 828 857 829 /* 858 * æ¨å¥¨ã¡ãã»ã¼ã¸ãªã¹ãã«åã DHCP6_OPT_SERVERID ã®ã¡ãã»ã¼ã¸ãããã°ã859 * è©ä¾¡ã¡ãã»ã¼ã¸ãåä¿¡ã¡ãã»ã¼ã¸æ§é ä½ãªã¹ãã«æ»ãã830 * 推奨メッセージリストに同じ DHCP6_OPT_SERVERID のメッセージがあれば、 831 * 評価メッセージを受信メッセージ構造体リストに戻す。 860 832 */ 861 833 goto rcv_ret; … … 864 836 865 837 /* 866 * è©ä¾¡ã¡ãã»ã¼ã¸ãæ¨å¥¨ã¡ãã»ã¼ã¸ãªã¹ãã«ç§»ãã838 * 評価メッセージを推奨メッセージリストに移す。 867 839 */ 868 840 evl->next = ct->prf_lst; … … 873 845 /*else */ 874 846 /* 875 * è©ä¾¡ã¡ãã»ã¼ã¸ã®æ¨å¥¨åº¦ãæ¨å¥¨ã¡ãã»ã¼ã¸ãªã¹ãã®æ大æ¨å¥¨åº¦ããä½ããã°ã876 * è©ä¾¡ã¡ãã»ã¼ã¸ãåä¿¡ã¡ãã»ã¼ã¸æ§é ä½ãªã¹ãã«æ»ãã847 * 評価メッセージの推奨度が推奨メッセージリストの最大推奨度より低ければ、 848 * 評価メッセージを受信メッセージ構造体リストに戻す。 877 849 */ 878 850 … … 886 858 887 859 /* 888 * select_msg -- æ¨å¥¨ã¡ãã»ã¼ã¸ãªã¹ãã®å 889 é ã®ã¡ãã»ã¼ã¸ãé¸æããã 860 * select_msg -- 推奨メッセージリストの先頭のメッセージを選択する。 890 861 */ 891 862 … … 897 868 syscall(wai_sem(SEM_DHCP6_CLI_LOCK)); 898 869 if (ct->prf_lst == NULL) { 899 /* ã¡ãã»ã¼ã¸ãåä¿¡ãã¦ããªããã°ä¸æ¢ããã*/870 /* メッセージを受信していなければ中止する。*/ 900 871 syscall(sig_sem(SEM_DHCP6_CLI_LOCK)); 901 872 return NULL; … … 907 878 908 879 if ((select->prefer & DHCP6_ClI_MSG_PREFER_REQUIRED) == 0) { 909 /* å¿ 910 é ãªãã·ã§ã³ãç¡ããã°é¸æããªãã*/ 880 /* 必須オプションが無ければ選択しない。*/ 911 881 syscall(sig_sem(SEM_DHCP6_CLI_LOCK)); 912 882 return NULL; … … 917 887 if (((select->prefer & DHCP6_ClI_MSG_PREFER_REQUIRED) == 0) || 918 888 ((select->prefer & DHCP6_ClI_MSG_PREFER_ADDR) == 0)) { 919 /* å¿ 920 é ãªãã·ã§ã³ã¨ã¢ãã¬ã¹ãç¡ããã°é¸æããªãã*/ 889 /* 必須オプションとアドレスが無ければ選択しない。*/ 921 890 syscall(sig_sem(SEM_DHCP6_CLI_LOCK)); 922 891 return NULL; … … 927 896 #endif /* of #if DHCP6_CLI_CFG_MODE == DHCP6_CLI_CFG_STATELESS */ 928 897 929 /* æ¨å¥¨ã¡ãã»ã¼ã¸ãªã¹ãã®å 930 é ã®ã¡ãã»ã¼ã¸ãé¸æããã*/ 898 /* 推奨メッセージリストの先頭のメッセージを選択する。*/ 931 899 ct->prf_lst = ct->prf_lst->next; 932 900 select->next = NULL; 933 901 934 /* é¸æãããªãã£ãæ¤è¨¼ã¡ãã»ã¼ã¸ãåä¿¡ã¡ãã»ã¼ã¸æ§é ä½ãªã¹ãã«æ»ãã*/902 /* 選択されなかった検証メッセージを受信メッセージ構造体リストに戻す。*/ 935 903 if (ct->rcv_lst == NULL) 936 904 ct->rcv_lst = ct->prf_lst; … … 945 913 946 914 /* 947 * advance_retrans -- åéä¿¡ã¿ã¤ã ã¢ã¦ããæ´æ°ããã915 * advance_retrans -- 再送信タイムアウトを更新する。 948 916 */ 949 917 … … 952 920 { 953 921 /* 954 * åéä¿¡ééï¼RTï¼ãæ´æ°ããã 955 * åéä¿¡æ¯ã«ç´ 2åãããã 956 * æ大éä¿¡ééï¼MRTï¼ãè¶ 957 ããªãããã«ããã 922 * 再送信間隔(RT)を更新する。 923 * 再送信毎に約 2倍するが、 924 * 最大送信間隔(MRT)を超えないようにする。 958 925 */ 959 926 ct->RT += ct->RT + dhcp6_rand(ct->RT); … … 961 928 ct->RT = ct->MRT + dhcp6_rand(ct->MRT); 962 929 963 /* åéä¿¡åæ°ãæ´æ°ããã*/930 /* 再送信回数を更新する。*/ 964 931 ct->txcount ++; 965 932 } 966 933 967 934 /* 968 * init_retrans -- åéä¿¡åæ°ããã©ã³ã¶ã¯ã·ã§ã³ IDããã®ä»ãè¨å®ããã935 * init_retrans -- 再送信回数、トランザクション ID、その他を設定する。 969 936 */ 970 937 … … 972 939 init_retrans (T_DHCP6_CLI_CONTEXT *ct) 973 940 { 974 /* éä¿¡åæ°ããªã»ããããã*/941 /* 送信回数をリセットする。*/ 975 942 ct->txcount = 0; 976 943 977 /* åéä¿¡ééãè¨å®ããã*/944 /* 再送信間隔を設定する。*/ 978 945 ct->RT = ct->IRT + dhcp6_rand(ct->IRT); 979 946 980 /* ãã©ã³ã¶ã¯ã·ã§ã³ ID ãè¨å®ããã*/947 /* トランザクション ID を設定する。*/ 981 948 ct->xid = netapp_rand() % 0x00ffffff; 982 949 983 /* åä¿¡ã¡ãã»ã¼ã¸ã®æ大æ¨å¥¨åº¦ããªã»ããããã*/950 /* 受信メッセージの最大推奨度をリセットする。*/ 984 951 ct->max_prefer = 0; 985 952 } 986 953 987 954 /* 988 * setup_msg_header -- ã¡ãã»ã¼ã¸ã®ãããé¨åãä½æããã955 * setup_msg_header -- メッセージのヘッダ部分を作成する。 989 956 */ 990 957 … … 995 962 ct->snd_msg->len = sizeof(ct->snd_msg->msg); 996 963 997 /* ãããé¨ãè¨å®ããã*/964 /* ヘッダ部を設定する。*/ 998 965 ct->snd_msg->msg.hdr.type = type; 999 966 ct->snd_msg->msg.hdr.xid[0] = (ct->xid >> 16) & 0xff; … … 1005 972 1006 973 /* 1007 * common_options -- æ¨æºãªãã·ã§ã³ã追å ããã974 * common_options -- 標準オプションを追加する。 1008 975 */ 1009 976 … … 1024 991 #if defined(DHCP6_CLI_CFG_RAPID_COMMIT) 1025 992 1026 /* Rapid-commit ã®æå®*/993 /* Rapid-commit の指定 */ 1027 994 if (type == DHCP6_SOLICIT) 1028 995 ; … … 1030 997 #endif /* of #if defined(DHCP6_CLI_CFG_RAPID_COMMIT) */ 1031 998 1032 /* ã¯ã©ã¤ã¢ã³ã DUID ã追å ããã*/999 /* クライアント DUID を追加する。*/ 1033 1000 cid = (T_DHCP6_OPT_CLIENTID*)msg; 1034 1001 HOST2MSG16(cid->code, DHCP6_OPT_CLIENTID); … … 1037 1004 msg += ct->duid_len + sizeof(T_DHCP6_OPT_CLIENTID); 1038 1005 1039 /* ãµã¼ã DUID ã追å ããã*/1006 /* サーバ DUID を追加する。*/ 1040 1007 if (lease == NULL) { 1041 1008 if (!(type == DHCP6_SOLICIT || type == DHCP6_INFO_REQ)) … … 1053 1020 #if defined(DHCP6_CLI_CFG_REQUIRED_OLIST) || defined(DHCP6_CLI_CFG_REQUEST_OLIST) 1054 1021 1055 /* å¿ 1056 é ã»è¦æ±ãªãã·ã§ã³ã追å ããã*/ 1022 /* 必須・要求オプションを追加する。*/ 1057 1023 oro = (T_DHCP6_OPT_ORO*)msg; 1058 1024 HOST2MSG16(oro->code, DHCP6_OPT_ORO); … … 1062 1028 #if defined(DHCP6_CLI_CFG_REQUIRED_OLIST) 1063 1029 1064 /* å¿ 1065 é ãªãã·ã§ã³ã追å ããã*/ 1030 /* 必須オプションを追加する。*/ 1066 1031 HOST2MSG16(oro->len, MSG2HOST16(oro->len) + sizeof(required_plist) * 2); 1067 1032 for (ix = sizeof(required_plist); ix -- > 0; ) { … … 1074 1039 #if defined(DHCP6_CLI_CFG_REQUEST_OLIST) 1075 1040 1076 /* è¦æ±ãªãã·ã§ã³ã追å ããã*/1041 /* 要求オプションを追加する。*/ 1077 1042 HOST2MSG16(oro->len, MSG2HOST16(oro->len) + sizeof(request_plist) * 2); 1078 1043 for (ix = sizeof(request_plist); ix -- > 0; ) { … … 1089 1054 1090 1055 /* 1091 * rel_lease -- ãªã¼ã¹ããããªãã·ã§ã³ã解æãã¦å¤ã解æ¾ããã1056 * rel_lease -- リースされたオプションを解析して値を解放する。 1092 1057 */ 1093 1058 … … 1106 1071 uint8_t *opt, *last; 1107 1072 1108 /* æå¹ãªãªã¼ã¹ã»ã¡ãã»ã¼ã¸æ§é ä½ãç¡ããã°ä½ãããªãã*/1073 /* 有効なリース・メッセージ構造体が無ければ何もしない。*/ 1109 1074 if (ct->act_msg == NULL) 1110 1075 return; … … 1154 1119 1155 1120 /* 1156 * set_lease -- ãªã¼ã¹ããããªãã·ã§ã³ã解æãã¦å¤ãè¨å®ããã1121 * set_lease -- リースされたオプションを解析して値を設定する。 1157 1122 */ 1158 1123 … … 1231 1196 1232 1197 /* 1233 * start_req_info -- INFO-REQUEST ãéå§ããã1198 * start_req_info -- INFO-REQUEST を開始する。 1234 1199 * 1235 * 注æ: DHCPv6 ã® RFC3315 ã«ã¯ç¡ã1200 * 注意: DHCPv6 の RFC3315 には無い 1236 1201 */ 1237 1202 … … 1239 1204 start_req_info (T_DHCP6_CLI_CONTEXT *ct) 1240 1205 { 1241 /* ã¿ã¤ã ã¢ã¦ããè¨å®ããããRFC3315 (18.1.5) åç 1242 §ã*/ 1206 /* タイムアウトを設定する。【RFC3315 (18.1.5) 参照】*/ 1243 1207 ct->IRT = TMO_INF_TIMEOUT; 1244 1208 ct->MRT = TMO_INF_MAX_RT; 1245 1209 ct->MRC = 0; 1246 1210 1247 /* DHCP6_CLI_CFG_ONE_TRY ãæå®ããã¦ããªããã°æ¨æºã¿ã¤ã ã¢ã¦ãã¾ã§åéããã*/1211 /* DHCP6_CLI_CFG_ONE_TRYが指定されていなければ標準タイムアウトまで再送する。*/ 1248 1212 #if defined(DHCP6_CLI_CFG_ONE_TRY) 1249 1213 ct->MRD = 0; … … 1252 1216 #endif 1253 1217 1254 /* åéåæ°ã¨ãã©ã³ã¶ã¯ã·ã§ã³ ID ãè¨å®ããã*/1218 /* 再送回数とトランザクション ID を設定する。*/ 1255 1219 init_retrans(ct); 1256 1220 1257 /* REPLY ã¡ãã»ã¼ã¸ã®åä¿¡ã¿ã¤ã ã¢ã¦ããè¨å®ããã*/1221 /* REPLY メッセージの受信タイムアウトを設定する。*/ 1258 1222 syscall(wai_sem(SEM_DHCP6_CLI_TIMER)); 1259 1223 ct->timers[DHCP6C_TIMER_RCV_REPLY] = SYSTIM2TIMER(ct->MRD); … … 1261 1225 1262 1226 /* 1263 * INFO-REQUEST ã¡ãã»ã¼ã¸éä¿¡é 1264 延æéãè¨å®ããã 1265 * ãã ããTMO_INF_MAX_DELAY ã 1[s]ãªã®ã§ãdly_tsk()ã使ç¨ããã 1227 * INFO-REQUEST メッセージ送信遅延時間を設定する。 1228 * ただし、TMO_INF_MAX_DELAY が 1[s]なので、dly_tsk()を使用する。 1266 1229 */ 1267 1230 dly_tsk(netapp_rand() % TMO_INF_MAX_DELAY); 1268 1231 1269 /* SELECT ç¶æ 1270 ã«é·ç§»ããã*/ 1232 /* SELECT 状態に遷移する。*/ 1271 1233 ct->fsm = DHCP6_FSM_SELECT; 1272 1234 1273 /* INFO-REQUEST ã¡ãã»ã¼ã¸ãéä¿¡ããã*/1235 /* INFO-REQUEST メッセージを送信する。*/ 1274 1236 ct->flags |= DHCP6C_FLAG_TMOUT_SND_IREQ; 1275 1237 syscall(sig_sem(SEM_DHCP6_CLI_READY)); … … 1277 1239 1278 1240 /* 1279 * start_informed -- INFORMED ç¶æ 1280 ã«é·ç§»ããã 1241 * start_informed -- INFORMED 状態に遷移する。 1281 1242 * 1282 * 注æ: DHCPv6 ã® RFC3315 ã«ã¯ç¡ã1243 * 注意: DHCPv6 の RFC3315 には無い 1283 1244 */ 1284 1245 … … 1286 1247 start_informed (T_DHCP6_CLI_CONTEXT *ct) 1287 1248 { 1288 /* æå¹ãªãªã¼ã¹æ 1289 å ±ãç¡ããã° SLEEP ã«é·ç§»ããã*/ 1249 /* 有効なリース情報が無ければ SLEEP に遷移する。*/ 1290 1250 if (ct->act_msg == NULL) { 1291 1251 ct->fsm = DHCP6_FSM_SLEEP; … … 1293 1253 } 1294 1254 1295 /* ãªã¼ã¹æ 1296 å ±ãè¨å®ããã*/ 1255 /* リース情報を設定する。*/ 1297 1256 set_lease(ct); 1298 1257 1299 /* INFORMED ç¶æ 1300 ã«é·ç§»ããã*/ 1258 /* INFORMED 状態に遷移する。*/ 1301 1259 ct->fsm = DHCP6_FSM_INFORMED; 1302 1260 … … 1305 1263 1306 1264 /* 1307 * start_rel_info -- ã¢ãã¬ã¹æ 1308 å ±ã解æ¾ããã 1265 * start_rel_info -- アドレス情報を解放する。 1309 1266 * 1310 * 注æ: DHCPv6 ã® RFC3315 ã«ã¯ç¡ã1267 * 注意: DHCPv6 の RFC3315 には無い 1311 1268 */ 1312 1269 … … 1314 1271 start_rel_info (T_DHCP6_CLI_CONTEXT *ct) 1315 1272 { 1316 /* ãªã¼ã¹æ 1317 å ±ã解æ¾ããã*/ 1273 /* リース情報を解放する。*/ 1318 1274 rel_lease(ct); 1319 1275 1320 /* SLEEP ã«é·ç§»ããã*/1276 /* SLEEP に遷移する。*/ 1321 1277 ct->fsm = DHCP6_FSM_SLEEP; 1322 1278 syscall(sig_sem(SEM_DHCP6_CLI_READY)); … … 1324 1280 1325 1281 /* 1326 * select_info_reply -- æé©ãª REPLY (INFO-REQUEST ã¸ã®å¿ç) ã¡ãã»ã¼ã¸ãé¸æããã1282 * select_info_reply -- 最適な REPLY (INFO-REQUEST への応答) メッセージを選択する。 1327 1283 */ 1328 1284 … … 1332 1288 T_DHCP6_CLI_MSG *msg; 1333 1289 1334 /* æé©ãª REPLY ã¡ãã»ã¼ã¸ãé¸æããã*/1290 /* 最適な REPLY メッセージを選択する。*/ 1335 1291 if ((msg = select_msg(ct)) == NULL) 1336 1292 return false; … … 1341 1297 1342 1298 /* 1343 * setup_info_req_msg -- INFO-REQUEST ã¡ãã»ã¼ã¸ãä½æããã1299 * setup_info_req_msg -- INFO-REQUEST メッセージを作成する。 1344 1300 */ 1345 1301 … … 1349 1305 uint8_t *msg; 1350 1306 1351 /* ã¡ãã»ã¼ã¸ã®ãããé¨åãä½æããã*/1307 /* メッセージのヘッダ部分を作成する。*/ 1352 1308 if ((msg = setup_msg_header(ct, DHCP6_INFO_REQ)) == NULL) 1353 1309 return E_PAR; … … 1356 1312 return E_PAR; 1357 1313 1358 /* ã¡ãã»ã¼ã¸æ§é ä½é·ãè¨å®ããã*/1314 /* メッセージ構造体長を設定する。*/ 1359 1315 ct->snd_msg->len = msg - (uint8_t*)&ct->snd_msg->msg; 1360 1316 1361 /* éä¿¡å 1362 ã¢ãã¬ã¹ãè¨å®ããã*/ 1317 /* 送信先アドレスを設定する。*/ 1363 1318 ct->dst.ipaddr = in6_addr_all_DHCP_relay_servers; 1364 1319 return E_OK; … … 1366 1321 1367 1322 /* 1368 * send_info_req_msg -- INFO-REQUEST ã¡ãã»ã¼ã¸ãéä¿¡ããã1323 * send_info_req_msg -- INFO-REQUEST メッセージを送信する。 1369 1324 */ 1370 1325 … … 1375 1330 1376 1331 1377 /* REPLY ã¡ãã»ã¼ã¸ã®é¸æãçµäºãã¦ããã°ãBOUND ç¶æ 1378 ã«é·ç§»ããã*/ 1332 /* REPLY メッセージの選択が終了していれば、BOUND 状態に遷移する。*/ 1379 1333 ct->flags &= ~DHCP6C_FLAG_TMOUT_MASK; 1380 1334 if (select_info_reply(ct)) { 1381 1335 1382 /* REPLY ã¡ãã»ã¼ã¸åä¿¡ã¿ã¤ãã¼ãåæ¢ããã*/1336 /* REPLY メッセージ受信タイマーを停止する。*/ 1383 1337 syscall(wai_sem(SEM_DHCP6_CLI_TIMER)); 1384 1338 ct->timers[DHCP6C_TIMER_RCV_REPLY] = 0; 1385 1339 syscall(sig_sem(SEM_DHCP6_CLI_TIMER)); 1386 1340 1387 /* INFORMED ç¶æ 1388 ã«é·ç§»ããã*/ 1341 /* INFORMED 状態に遷移する。*/ 1389 1342 start_informed(ct); 1390 1343 return; 1391 1344 } 1392 1345 1393 /* åéä¿¡åæ°ã確èªããã*/1346 /* 再送信回数を確認する。*/ 1394 1347 if ((ct->MRC != 0) && (ct->txcount > ct->MRC)) { 1395 1348 ct->error = E_TMOUT; … … 1397 1350 } 1398 1351 1399 /* INFO-REQUEST ã¡ãã»ã¼ã¸ãä½æããã*/1352 /* INFO-REQUEST メッセージを作成する。*/ 1400 1353 if ((error = setup_info_req_msg(ct)) != E_OK) { 1401 1354 syslog(LOG_NOTICE, "[DHCP6C] error, setup request message: %s.", itron_strerror(error)); … … 1404 1357 } 1405 1358 1406 /* INFO-REQUEST ã¡ãã»ã¼ã¸ãéä¿¡ããã*/1359 /* INFO-REQUEST メッセージを送信する。*/ 1407 1360 error = UDP_SND_DAT(ct->cepid, &ct->dst, &ct->snd_msg->msg, ct->snd_msg->len, TMO_NBLK); 1408 1361 if (error != E_WBLK) { … … 1412 1365 } 1413 1366 1414 /* åéä¿¡ã¿ã¤ã ã¢ã¦ããè¨å®ããã*/1367 /* 再送信タイムアウトを設定する。*/ 1415 1368 syscall(wai_sem(SEM_DHCP6_CLI_TIMER)); 1416 1369 ct->timers[DHCP6C_TIMER_SND_IREQ] = SYSTIM2TIMER(ct->RT); 1417 1370 syscall(sig_sem(SEM_DHCP6_CLI_TIMER)); 1418 1371 1419 /* åéä¿¡ã¿ã¤ã ã¢ã¦ããæ´æ°ããã*/1372 /* 再送信タイムアウトを更新する。*/ 1420 1373 advance_retrans(ct); 1421 1374 } … … 1426 1379 1427 1380 /* 1428 * select_reply -- æé©ãª REPLY ã¡ãã»ã¼ã¸ãé¸æããã1381 * select_reply -- 最適な REPLY メッセージを選択する。 1429 1382 */ 1430 1383 … … 1434 1387 T_DHCP6_CLI_MSG *msg; 1435 1388 1436 /* æé©ãª REPLY ã¡ãã»ã¼ã¸ãé¸æããã*/1389 /* 最適な REPLY メッセージを選択する。*/ 1437 1390 if ((msg = select_msg(ct)) == NULL) 1438 1391 return false; … … 1444 1397 1445 1398 /* 1446 * æé©ãª REPLY ã¡ãã»ã¼ã¸ã®æ¨å¥¨åº¦ã ADVERTISE ã¡ãã»ã¼ã¸æ¨å¥¨åº¦ã®1447 * 1/2 以ä¸ã®æã¯åä¿¡ã¡ãã»ã¼ã¸æ§é ä½ãªã¹ãã«æ»ãã1399 * 最適な REPLY メッセージの推奨度が ADVERTISE メッセージ推奨度の 1400 * 1/2 以下の時は受信メッセージ構造体リストに戻す。 1448 1401 */ 1449 1402 if ((ct->adv_msg != NULL) && (ct->max_prefer < (ct->adv_msg->prefer & DHCP6_ClI_MSG_PREFER_VALUE_MASK) / 2)) { … … 1456 1409 1457 1410 /* 1458 * ct->act_msg ã«ããæå¹ãªå 1459 REPLY ã¡ãã»ã¼ã¸ã 1460 * åä¿¡ã¡ãã»ã¼ã¸æ§é ä½ãªã¹ãã«æ»ãã¦ã 1461 * æé©ãª REPLY ã¡ãã»ã¼ã¸ã act ã«ç§»ãã 1411 * ct->act_msg にある有効な元 REPLY メッセージを 1412 * 受信メッセージ構造体リストに戻して、 1413 * 最適な REPLY メッセージを act に移す。 1462 1414 */ 1463 1415 if (ct->act_msg != NULL) { … … 1474 1426 1475 1427 /* 1476 * select_adv -- æé©ãª ADVERTISE ã¡ãã»ã¼ã¸ãé¸æããã1428 * select_adv -- 最適な ADVERTISE メッセージを選択する。 1477 1429 */ 1478 1430 … … 1480 1432 select_adv (T_DHCP6_CLI_CONTEXT *ct) 1481 1433 { 1482 /* æé©ãª ADVERTISE ã¡ãã»ã¼ã¸ã adv ã«ç§»ãã*/1434 /* 最適な ADVERTISE メッセージを adv に移す。*/ 1483 1435 if ((ct->adv_msg = select_msg(ct)) != NULL) { 1484 1436 1485 1437 /* 1486 * æé©ãª ADVERTISE ã¡ãã»ã¼ã¸ã®ãµã¼ãã® IPv6 ã¢ãã¬ã¹ã1487 * 次ããéä¿¡ããã¢ãã¬ã¹ã«è¨å®ããã1438 * 最適な ADVERTISE メッセージのサーバの IPv6 アドレスを 1439 * 次から送信するアドレスに設定する。 1488 1440 */ 1489 1441 ct->dst = ct->adv_msg->srv; … … 1495 1447 1496 1448 /* 1497 * eval_expire -- æ¨å¥¨æå¹æéã¨æå¹æéã決å®ããã1449 * eval_expire -- 推奨有効時間と有効時間を決定する。 1498 1450 */ 1499 1451 … … 1511 1463 uint_t aoff, asize, addrs; 1512 1464 1513 /* ã¿ã¤ãã¼ãåæ¢ããã*/1465 /* タイマーを停止する。*/ 1514 1466 syscall(wai_sem(SEM_DHCP6_CLI_TIMER)); 1515 1467 ct->timers[DHCP6C_TIMER_RENEW] = 0; … … 1528 1480 opt = (T_DHCP6_OPTION*)msg; 1529 1481 1530 /* IA_NA/IA_PD ãªãã·ã§ã³ã§ããã°ãæå¹æéãæ´æ°ããã*/1482 /* IA_NA/IA_PD オプションであれば、有効時間を更新する。*/ 1531 1483 if (MSG2HOST16(opt->code) == DHCP6_OPT_IA_NA || MSG2HOST16(opt->code) == DHCP6_OPT_IA_PD) { 1532 1484 … … 1540 1492 while (aoff < asize) { 1541 1493 1542 /* æçã®æ¨å¥¨æå¹æéãæ´æ°ããã*/1494 /* 最短の推奨有効時間を更新する。*/ 1543 1495 iaa = (T_DHCP6_OPT_IAADDR*)((uint8_t*)opt + aoff); 1544 1496 //dump_msg_option("evl_depref1", (uint8_t*)iaa); … … 1552 1504 } 1553 1505 1554 /* IAADDR ã®æå¹æéãæ´æ°ããã*/1506 /* IAADDR の有効時間を更新する。*/ 1555 1507 iaa = (T_DHCP6_OPT_IAADDR*)((uint8_t*)opt + aoff); 1556 1508 if (!(MSG2HOST16(iaa->len) & DHCP6C_IAA_FLAG_EXPIRED)) { … … 1570 1522 } 1571 1523 1572 /* iaa_low 㨠iaa_high/2 ã®æé·ã®æ¹ãæå¹æéã¨ãã¦é¸æããã*/1524 /* iaa_low と iaa_high/2 の最長の方を有効時間として選択する。*/ 1573 1525 if (iaa_low <= (iaa_high / 2)) 1574 1526 expire = iaa_high; … … 1576 1528 expire = iaa_low; 1577 1529 1578 /* expire ã æ大å¤ï¼ç¡å¶éï¼ã 1 以ä¸ãªãæ¢å®å¤ã«è¨å®ããã*/1530 /* expire が 最大値(無制限)か 1 以下なら既定値に設定する。*/ 1579 1531 if ((expire == DHCP6_MAX_TIME) || (expire <= 1)) 1580 1532 expire = SYSTIM2SEC(TMO_DHCP6C_REQ_LEASE) / 2; … … 1582 1534 expire /= 2; 1583 1535 1584 /* renew ã決å®ããã*/1536 /* renew を決定する。*/ 1585 1537 if (MSG2HOST32(ia->renew) == 0) 1586 1538 tval = expire + SYSTIM2SEC(ct->act_msg->rcv_time); … … 1592 1544 renew = tval; 1593 1545 1594 /* rebind ã決å®ããã*/1546 /* rebind を決定する。*/ 1595 1547 if (MSG2HOST32(ia->rebind) == 0) 1596 1548 tval = (expire + expire / 2) + SYSTIM2SEC(ct->act_msg->rcv_time); … … 1602 1554 rebind = tval; 1603 1555 1604 /* æçæå¹æéã¨æé·æå¹æéãæ´æ°ããã*/1556 /* 最短有効時間と最長有効時間を更新する。*/ 1605 1557 iaa_low += SYSTIM2SEC(ct->act_msg->rcv_time); 1606 1558 iaa_high += SYSTIM2SEC(ct->act_msg->rcv_time); … … 1614 1566 } 1615 1567 1616 /* ã¢ãã¬ã¹ãéããã¦ããªããã°ãSLEEP ç¶æ 1617 ã«é·ç§»ããã*/ 1568 /* アドレスが送られていなければ、SLEEP 状態に遷移する。*/ 1618 1569 if (addrs == 0) { 1619 1570 ct->fsm = DHCP6_FSM_SLEEP; 1620 1571 } 1621 1572 1622 /* ç¶æ 1623 ã«ä¾åããå¦ç */ 1573 /* 状態に依存する処理 */ 1624 1574 switch (ct->fsm) { 1625 1575 1626 1576 case DHCP6_FSM_BOUND: 1627 1577 1628 /* RENEW ã¿ã¤ã ã¢ã¦ãã®è¨å®*/1578 /* RENEW タイムアウトの設定 */ 1629 1579 if ((rebind > SYSTIM2SEC(time)) && (renew < rebind)) { 1630 1580 ct->next_MRD = SEC2SYSTIM(rebind) - time; … … 1634 1584 break; 1635 1585 } 1636 /* break; */ /* ä¸ã«æããã*/1586 /* break; */ /* 下に抜ける。*/ 1637 1587 1638 1588 case DHCP6_FSM_RENEW: 1639 1589 1640 /* REBIND ã¿ã¤ã ã¢ã¦ãã®è¨å®*/1590 /* REBIND タイムアウトの設定 */ 1641 1591 ct->MRD = SEC2SYSTIM(rebind); 1642 1592 if (rebind != DHCP6_MAX_TIME) { … … 1657 1607 } 1658 1608 1659 /* DEPREF ã¿ã¤ã ã¢ã¦ãã®è¨å®*/1609 /* DEPREF タイムアウトの設定 */ 1660 1610 if (depref != DHCP6_MAX_TIME) { 1661 1611 syscall(wai_sem(SEM_DHCP6_CLI_TIMER)); … … 1664 1614 } 1665 1615 1666 /* EXPIRE ã¿ã¤ã ã¢ã¦ãã®è¨å®*/1616 /* EXPIRE タイムアウトの設定 */ 1667 1617 if (low != DHCP6_MAX_TIME) { 1668 1618 syscall(wai_sem(SEM_DHCP6_CLI_TIMER)); … … 1673 1623 1674 1624 /* 1675 * start_init -- INIT ç¶æ 1676 ã«é·ç§»ããã 1625 * start_init -- INIT 状態に遷移する。 1677 1626 */ 1678 1627 … … 1680 1629 start_init (T_DHCP6_CLI_CONTEXT *ct) 1681 1630 { 1682 /* ã¿ã¤ã ã¢ã¦ããè¨å®ããããRFC3315 (17.1.2) åç 1683 §ã*/ 1631 /* タイムアウトを設定する。【RFC3315 (17.1.2) 参照】*/ 1684 1632 ct->IRT = TMO_SOL_TIMEOUT; 1685 1633 ct->MRT = TMO_SOL_MAX_RT; 1686 1634 ct->MRC = 0; 1687 1635 1688 /* DHCP6_CLI_CFG_ONE_TRY ãæå®ããã¦ããªããã°æ¨æºã¿ã¤ã ã¢ã¦ãã¾ã§åéããã*/1636 /* DHCP6_CLI_CFG_ONE_TRYが指定されていなければ標準タイムアウトまで再送する。*/ 1689 1637 #if defined(DHCP6_CLI_CFG_ONE_TRY) 1690 1638 ct->MRD = 0; … … 1693 1641 #endif 1694 1642 1695 /* åéåæ°ã¨ãã©ã³ã¶ã¯ã·ã§ã³ ID ãè¨å®ããã*/1643 /* 再送回数とトランザクション ID を設定する。*/ 1696 1644 init_retrans(ct); 1697 1645 1698 /* RFC3315 (17.1.2) ã®è¦å®ã«å¾ã£ã¦ã¿ã¤ã ã¢ã¦ãã調æ´ããã*/1646 /* RFC3315 (17.1.2) の規定に従ってタイムアウトを調整する。*/ 1699 1647 if (ct->RT <= ct->IRT) 1700 1648 ct->RT = ct->IRT + (ct->IRT - ct->RT); … … 1702 1650 ct->RT = ct->IRT + SEC2SYSTIM(1); 1703 1651 1704 /* ADVERTISE ã¡ãã»ã¼ã¸ã®åä¿¡ã¿ã¤ã ã¢ã¦ããè¨å®ããã*/1652 /* ADVERTISE メッセージの受信タイムアウトを設定する。*/ 1705 1653 syscall(wai_sem(SEM_DHCP6_CLI_TIMER)); 1706 1654 ct->timers[DHCP6C_TIMER_RCV_ADV] = SYSTIM2TIMER(ct->MRD); … … 1708 1656 1709 1657 /* 1710 * SOLICIT ã¡ãã»ã¼ã¸éä¿¡é 1711 延æéãè¨å®ããã 1712 * ãã ããTMO_SOL_MAX_DELAY ã 1[s]ãªã®ã§ãdly_tsk()ã使ç¨ããã 1658 * SOLICIT メッセージ送信遅延時間を設定する。 1659 * ただし、TMO_SOL_MAX_DELAY が 1[s]なので、dly_tsk()を使用する。 1713 1660 */ 1714 1661 dly_tsk(netapp_rand() % TMO_SOL_MAX_DELAY); 1715 1662 1716 /* INIT ç¶æ 1717 ã«é·ç§»ããã*/ 1663 /* INIT 状態に遷移する。*/ 1718 1664 ct->fsm = DHCP6_FSM_INIT; 1719 1665 1720 /* SOLICIT ã¡ãã»ã¼ã¸ãéä¿¡ããã*/1666 /* SOLICIT メッセージを送信する。*/ 1721 1667 ct->flags |= DHCP6C_FLAG_TMOUT_SND_SOL; 1722 1668 syscall(sig_sem(SEM_DHCP6_CLI_READY)); … … 1724 1670 1725 1671 /* 1726 * start_select -- REQUEST ã¡ãã»ã¼ã¸ãéä¿¡ã㦠SELECT ç¶æ 1727 ã«é·ç§»ããã 1672 * start_select -- REQUEST メッセージを送信して SELECT 状態に遷移する。 1728 1673 */ 1729 1674 … … 1731 1676 start_select (T_DHCP6_CLI_CONTEXT *ct) 1732 1677 { 1733 /* æå¹ãª ADVERTISE ã¡ãã»ã¼ã¸ãåä¿¡ãã¦ããªããã° SLEEP ç¶æ 1734 ã«é·ç§»ããã*/ 1678 /* 有効な ADVERTISE メッセージを受信していなければ SLEEP 状態に遷移する。*/ 1735 1679 if (ct->adv_msg == NULL) { 1736 1680 ct->fsm = DHCP6_FSM_SLEEP; … … 1738 1682 } 1739 1683 1740 /* ã¿ã¤ã ã¢ã¦ããè¨å®ããããRFC3315 (18.1.1) åç 1741 §ã*/ 1684 /* タイムアウトを設定する。【RFC3315 (18.1.1) 参照】*/ 1742 1685 ct->IRT = TMO_REQ_TIMEOUT; 1743 1686 ct->MRT = TMO_REQ_MAX_RT; … … 1745 1688 ct->MRD = 0; 1746 1689 1747 /* åéåæ°ã¨ãã©ã³ã¶ã¯ã·ã§ã³ ID ãè¨å®ããã*/1690 /* 再送回数とトランザクション ID を設定する。*/ 1748 1691 init_retrans(ct); 1749 1692 1750 /* REPLY ã¡ãã»ã¼ã¸ã®åä¿¡ã¿ã¤ã ã¢ã¦ããè¨å®ããã*/1693 /* REPLY メッセージの受信タイムアウトを設定する。*/ 1751 1694 syscall(wai_sem(SEM_DHCP6_CLI_TIMER)); 1752 1695 ct->timers[DHCP6C_TIMER_RCV_REPLY] = SYSTIM2TIMER(ct->MRD); 1753 1696 syscall(sig_sem(SEM_DHCP6_CLI_TIMER)); 1754 1697 1755 /* SELECT ç¶æ 1756 ã«é·ç§»ããã*/ 1698 /* SELECT 状態に遷移する。*/ 1757 1699 ct->fsm = DHCP6_FSM_SELECT; 1758 1700 1759 /* REQUEST ã¡ãã»ã¼ã¸ãéä¿¡ããã*/1701 /* REQUEST メッセージを送信する。*/ 1760 1702 ct->flags |= DHCP6C_FLAG_TMOUT_SND_REQ; 1761 1703 syscall(sig_sem(SEM_DHCP6_CLI_READY)); … … 1763 1705 1764 1706 /* 1765 * start_bound -- BOUND ç¶æ 1766 ã«é·ç§»ããã 1707 * start_bound -- BOUND 状態に遷移する。 1767 1708 */ 1768 1709 … … 1770 1711 start_bound (T_DHCP6_CLI_CONTEXT *ct) 1771 1712 { 1772 /* æå¹ãªãªã¼ã¹æ 1773 å ±ãç¡ããã° SLEEP ã«é·ç§»ããã*/ 1713 /* 有効なリース情報が無ければ SLEEP に遷移する。*/ 1774 1714 if (ct->act_msg == NULL) 1775 1715 ct->fsm = DHCP6_FSM_SLEEP; 1776 1716 1777 /* BOUND ç¶æ 1778 ã«é·ç§»ããã*/ 1717 /* BOUND 状態に遷移する。*/ 1779 1718 ct->fsm = DHCP6_FSM_BOUND; 1780 1719 1781 /* ãªã¼ã¹æ 1782 å ±ãè¨å®ããã*/ 1720 /* リース情報を設定する。*/ 1783 1721 set_lease(ct); 1784 1722 1785 /* æå¹æéã決å®ããã*/1723 /* 有効時間を決定する。*/ 1786 1724 eval_expire(ct); 1787 1725 1788 1726 } 1789 1727 /* 1790 * start_renew -- RENEW ç¶æ 1791 ã«é·ç§»ããã 1728 * start_renew -- RENEW 状態に遷移する。 1792 1729 */ 1793 1730 … … 1795 1732 start_renew (T_DHCP6_CLI_CONTEXT *ct) 1796 1733 { 1797 /* æå¹ãªãªã¼ã¹æ 1798 å ±ãç¡ããã° SLEEP ã«é·ç§»ããã*/ 1734 /* 有効なリース情報が無ければ SLEEP に遷移する。*/ 1799 1735 if (ct->act_msg == NULL) { 1800 1736 ct->fsm = DHCP6_FSM_SLEEP; … … 1802 1738 } 1803 1739 1804 /* ã¿ã¤ã ã¢ã¦ããè¨å®ããããRFC3315 (18.1.3) åç 1805 §ã*/ 1740 /* タイムアウトを設定する。【RFC3315 (18.1.3) 参照】*/ 1806 1741 ct->IRT = TMO_REN_TIMEOUT; 1807 1742 ct->MRT = TMO_REN_MAX_RT; … … 1809 1744 ct->MRD = ct->next_MRD; 1810 1745 1811 /* åéåæ°ã¨ãã©ã³ã¶ã¯ã·ã§ã³ ID ãè¨å®ããã*/1746 /* 再送回数とトランザクション ID を設定する。*/ 1812 1747 init_retrans(ct); 1813 1748 1814 /* REFRESH ã¡ãã»ã¼ã¸ã¿ã¤ããè¨å®ããã*/1749 /* REFRESH メッセージタイプを設定する。*/ 1815 1750 ct->refresh_type = DHCP6_RENEW; 1816 1751 1817 /* REPLY ã¡ãã»ã¼ã¸ã®åä¿¡ã¿ã¤ã ã¢ã¦ããè¨å®ããã*/1752 /* REPLY メッセージの受信タイムアウトを設定する。*/ 1818 1753 syscall(wai_sem(SEM_DHCP6_CLI_TIMER)); 1819 1754 ct->timers[DHCP6C_TIMER_RCV_REPLY] = SYSTIM2TIMER(ct->MRD); 1820 1755 syscall(sig_sem(SEM_DHCP6_CLI_TIMER)); 1821 1756 1822 /* RENEW ç¶æ 1823 ã«é·ç§»ããã*/ 1757 /* RENEW 状態に遷移する。*/ 1824 1758 ct->fsm = DHCP6_FSM_RENEW; 1825 1759 1826 /* REFRESH ã¡ãã»ã¼ã¸ãéä¿¡ããã*/1760 /* REFRESH メッセージを送信する。*/ 1827 1761 ct->flags |= DHCP6C_FLAG_TMOUT_SND_REF; 1828 1762 syscall(sig_sem(SEM_DHCP6_CLI_READY)); … … 1830 1764 1831 1765 /* 1832 * start_rebind -- REBIND ç¶æ 1833 ã«é·ç§»ããã 1766 * start_rebind -- REBIND 状態に遷移する。 1834 1767 */ 1835 1768 … … 1837 1770 start_rebind (T_DHCP6_CLI_CONTEXT *ct) 1838 1771 { 1839 /* æå¹ãªãªã¼ã¹æ 1840 å ±ãç¡ããã° SLEEP ã«é·ç§»ããã*/ 1772 /* 有効なリース情報が無ければ SLEEP に遷移する。*/ 1841 1773 if (ct->act_msg == NULL) { 1842 1774 ct->fsm = DHCP6_FSM_SLEEP; … … 1844 1776 } 1845 1777 1846 /* ã¿ã¤ã ã¢ã¦ããè¨å®ããããRFC3315 (18.1.4) åç 1847 §ã*/ 1778 /* タイムアウトを設定する。【RFC3315 (18.1.4) 参照】*/ 1848 1779 ct->IRT = TMO_REB_TIMEOUT; 1849 1780 ct->MRT = TMO_REB_MAX_RT; … … 1851 1782 ct->MRD = ct->next_MRD; 1852 1783 1853 /* åéåæ°ã¨ãã©ã³ã¶ã¯ã·ã§ã³ ID ãè¨å®ããã*/1784 /* 再送回数とトランザクション ID を設定する。*/ 1854 1785 init_retrans(ct); 1855 1786 1856 /* REFRESH ã¡ãã»ã¼ã¸ã¿ã¤ããè¨å®ããã*/1787 /* REFRESH メッセージタイプを設定する。*/ 1857 1788 ct->refresh_type = DHCP6_REBIND; 1858 1789 1859 /* REPLY ã¡ãã»ã¼ã¸ã®åä¿¡ã¿ã¤ã ã¢ã¦ããè¨å®ããã*/1790 /* REPLY メッセージの受信タイムアウトを設定する。*/ 1860 1791 syscall(wai_sem(SEM_DHCP6_CLI_TIMER)); 1861 1792 ct->timers[DHCP6C_TIMER_RCV_REPLY] = SYSTIM2TIMER(ct->MRD); 1862 1793 syscall(sig_sem(SEM_DHCP6_CLI_TIMER)); 1863 1794 1864 /* éä¿¡å 1865 ã¢ãã¬ã¹ãè¨å®ããã*/ 1795 /* 送信先アドレスを設定する。*/ 1866 1796 ct->dst.ipaddr = in6_addr_all_DHCP_relay_servers; 1867 1797 1868 /* REBIND ç¶æ 1869 ã«é·ç§»ããã*/ 1798 /* REBIND 状態に遷移する。*/ 1870 1799 ct->fsm = DHCP6_FSM_REBIND; 1871 1800 1872 /* REFRESH ã¡ãã»ã¼ã¸ãéä¿¡ããã*/1801 /* REFRESH メッセージを送信する。*/ 1873 1802 ct->flags |= DHCP6C_FLAG_TMOUT_SND_REF; 1874 1803 syscall(sig_sem(SEM_DHCP6_CLI_READY)); … … 1876 1805 1877 1806 /* 1878 * start_rel_info -- ã¢ãã¬ã¹æ 1879 å ±ã解æ¾ããã 1807 * start_rel_info -- アドレス情報を解放する。 1880 1808 * 1881 * 注æ: DHCPv6 ã® RFC3315 ã«ã¯ç¡ã1809 * 注意: DHCPv6 の RFC3315 には無い 1882 1810 */ 1883 1811 … … 1885 1813 start_rel_info (T_DHCP6_CLI_CONTEXT *ct) 1886 1814 { 1887 /* å 1888 ¨ã¦ã® TIMER ããã£ã³ã»ã«ããã*/ 1815 /* 全ての TIMER をキャンセルする。*/ 1889 1816 cancel_all_timers(ct); 1890 1817 1891 /* ãªã¼ã¹æ 1892 å ±ã解æ¾ããã*/ 1818 /* リース情報を解放する。*/ 1893 1819 rel_lease(ct); 1894 1820 1895 /* æå¹ãªãªã¼ã¹æ 1896 å ±ãç¡ããã° SLEEP ã«é·ç§»ããã*/ 1821 /* 有効なリース情報が無ければ SLEEP に遷移する。*/ 1897 1822 if (ct->act_msg == NULL) { 1898 1823 ct->fsm = DHCP6_FSM_SLEEP; … … 1900 1825 } 1901 1826 1902 /* ã¿ã¤ã ã¢ã¦ããè¨å®ããããRFC3315 (18.1.1) åç 1903 §ã*/ 1827 /* タイムアウトを設定する。【RFC3315 (18.1.1) 参照】*/ 1904 1828 ct->IRT = TMO_REL_TIMEOUT; 1905 1829 ct->MRT = 0; … … 1907 1831 ct->MRD = 0; 1908 1832 1909 /* åéåæ°ã¨ãã©ã³ã¶ã¯ã·ã§ã³ ID ãè¨å®ããã*/1833 /* 再送回数とトランザクション ID を設定する。*/ 1910 1834 init_retrans(ct); 1911 1835 1912 /* REL_INFO ç¶æ 1913 ã«é·ç§»ããã*/ 1836 /* REL_INFO 状態に遷移する。*/ 1914 1837 ct->fsm = DHCP6_FSM_REL_INFO; 1915 1838 1916 /* RELEASE ã¡ãã»ã¼ã¸ãéä¿¡ããã*/1839 /* RELEASE メッセージを送信する。*/ 1917 1840 ct->flags |= DHCP6C_FLAG_TMOUT_SND_REL; 1918 1841 syscall(sig_sem(SEM_DHCP6_CLI_READY)); … … 1922 1845 1923 1846 /* 1924 * solicit_ia_option -- SOLICIT ã¡ãã»ã¼ã¸ã® IA_NA/IA_TA/IA_PD ãªãã·ã§ã³ã®å 1925 ±éé¨åã追å ããã 1847 * solicit_ia_option -- SOLICIT メッセージの IA_NA/IA_TA/IA_PD オプションの共通部分を追加する。 1926 1848 */ 1927 1849 … … 1932 1854 uint_t off, len; 1933 1855 1934 /* ãªãã·ã§ã³ã³ã¼ããè¨å®ããã*/1856 /* オプションコードを設定する。*/ 1935 1857 ia = (T_DHCP6_OPT_IA_TA*)msg; 1936 1858 HOST2MSG16(ia->code, code); 1937 1859 1938 /* IAID ãè¨å®ããã*/1860 /* IAID を設定する。*/ 1939 1861 if (sizeof(ct->sc->ifaddr.lladdr) > sizeof(uint32_t)) { 1940 1862 off = sizeof(ct->sc->ifaddr.lladdr) - 4; … … 1949 1871 1950 1872 /* 1951 * solicit_iaaddr_option -- SOLICIT ã¡ãã»ã¼ã¸ã® IAADDR ãªãã·ã§ã³ã追å ããã1873 * solicit_iaaddr_option -- SOLICIT メッセージの IAADDR オプションを追加する。 1952 1874 */ 1953 1875 … … 1961 1883 1962 1884 /* 1963 * æå¹ãªãªã¼ã¹ã»ã¡ãã»ã¼ã¸ãæ®ã£ã¦ãã¦ã1964 * æå®ããããªãã·ã§ã³ï¼IA_NA/IA_TA/IA_PDï¼ãããå ´åã¯1965 * åãã¢ãã¬ã¹ãè¦æ±ããã1885 * 有効なリース・メッセージが残っていて、 1886 * 指定されたオプション(IA_NA/IA_TA/IA_PD)がある場合は 1887 * 同じアドレスを要求する。 1966 1888 */ 1967 1889 if ((ct->act_msg == NULL) || (opt = find_msg_option(ct->act_msg, code, 0)) == NULL) 1968 1890 return 0; 1969 1891 1970 /* ãªãã·ã§ã³ã³ã¼ããè¨å®ããã*/1892 /* オプションコードを設定する。*/ 1971 1893 iaa = (T_DHCP6_OPT_IAADDR*)msg; 1972 1894 HOST2MSG16(iaa->code, DHCP6_OPT_IAADDR); 1973 1895 1974 /* IAADDR ãªãã·ã§ã³ãé¤ãããªãã·ã§ã³é·ãè¨å®ããã*/1896 /* IAADDR オプションを除いたオプション長を設定する。*/ 1975 1897 HOST2MSG16(iaa->len, sizeof(*iaa) - sizeof(T_DHCP6_OPTION)); 1976 1898 1977 /* ã¢ãã¬ã¹ãè¨å®ããã*/1899 /* アドレスを設定する。*/ 1978 1900 len = code == DHCP6_OPT_IA_TA ? sizeof(T_DHCP6_OPT_IA_TA) 1979 1901 : sizeof(T_DHCP6_OPT_IA_NA_PD); 1980 1902 memcpy(&iaa->addr, opt + sizeof(T_DHCP6_OPTION) + len, sizeof(iaa->addr)); 1981 1903 1982 /* T1 ãT2 ãè¨å®ããã*/1904 /* T1、T2 を設定する。*/ 1983 1905 t1 = TMO_DHCP6C_REQ_LEASE / 2; 1984 1906 t2 = t1 + (t1 / 2); … … 1992 1914 1993 1915 /* 1994 * solicit_ia_na_pd -- SOLICIT ã¡ãã»ã¼ã¸ã® IA_NA/IA_PD ãªãã·ã§ã³ã追å ããã1916 * solicit_ia_na_pd -- SOLICIT メッセージの IA_NA/IA_PD オプションを追加する。 1995 1917 */ 1996 1918 … … 2004 1926 uint_t len; 2005 1927 2006 /* IA_NA/IA_TA/IA_PD ãªãã·ã§ã³ã®å 2007 ±éé¨åã追å ããã*/ 1928 /* IA_NA/IA_TA/IA_PD オプションの共通部分を追加する。*/ 2008 1929 solicit_ia_option(ct, msg, code); 2009 1930 ia = (T_DHCP6_OPT_IA_NA_PD*)msg; 2010 1931 2011 /* T1 ãT2 ãè¨å®ããã*/1932 /* T1、T2 を設定する。*/ 2012 1933 t1 = TMO_DHCP6C_REQ_LEASE / 2; 2013 1934 t2 = t1 + (t1 / 2); … … 2016 1937 2017 1938 /* 2018 * æå¹ãªãªã¼ã¹ã»ã¡ãã»ã¼ã¸ãæ®ã£ã¦ãã¦ã2019 * æå®ããããªãã·ã§ã³ï¼IA_NA/IA_PDï¼ãããå ´åã¯2020 * åãã¢ãã¬ã¹ãè¦æ±ããã1939 * 有効なリース・メッセージが残っていて、 1940 * 指定されたオプション(IA_NA/IA_PD)がある場合は 1941 * 同じアドレスを要求する。 2021 1942 */ 2022 1943 msg += sizeof(*ia); 2023 1944 len = solicit_iaaddr_option(ct, msg, code); 2024 1945 2025 /* IA_NAIA_TA/IA_PD ãªãã·ã§ã³ãé¤ãããªãã·ã§ã³é·ãè¨å®ããã*/1946 /* IA_NAIA_TA/IA_PD オプションを除いたオプション長を設定する。*/ 2026 1947 HOST2MSG16(ia->len, (sizeof(*ia) + len) - sizeof(T_DHCP6_OPTION)); 2027 1948 … … 2032 1953 2033 1954 /* 2034 * solicit_ia_ta -- SOLICIT ã¡ãã»ã¼ã¸ã® IA_TA ãªãã·ã§ã³ã追å ããã1955 * solicit_ia_ta -- SOLICIT メッセージの IA_TA オプションを追加する。 2035 1956 */ 2036 1957 … … 2042 1963 T_DHCP6_OPT_IA_TA *ia; 2043 1964 2044 /* IA_NA/IA_TA/IA_PD ãªãã·ã§ã³ã®å 2045 ±éé¨åã追å ããã*/ 1965 /* IA_NA/IA_TA/IA_PD オプションの共通部分を追加する。*/ 2046 1966 solicit_ia_option(ct, msg, DHCP6_OPT_IA_TA); 2047 1967 2048 /* IA_NAIA_TA/IA_PD ãªãã·ã§ã³ãé¤ãããªãã·ã§ã³é·ãè¨å®ããã*/1968 /* IA_NAIA_TA/IA_PD オプションを除いたオプション長を設定する。*/ 2049 1969 ia = (T_DHCP6_OPT_IA_TA*)msg; 2050 1970 HOST2MSG16(ia->len, sizeof(*ia) - sizeof(T_DHCP6_OPTION)); 2051 1971 2052 1972 /* 2053 * æå¹ãªãªã¼ã¹ã»ã¡ãã»ã¼ã¸ãæ®ã£ã¦ãã¦ã2054 * æå®ããããªãã·ã§ã³ï¼IA_TAï¼ãããå ´åã¯2055 * åãã¢ãã¬ã¹ãè¦æ±ããã1973 * 有効なリース・メッセージが残っていて、 1974 * 指定されたオプション(IA_TA)がある場合は 1975 * 同じアドレスを要求する。 2056 1976 */ 2057 1977 msg += sizeof(*ia); … … 2062 1982 2063 1983 /* 2064 * setup_solicit_msg -- SOLICIT ã¡ãã»ã¼ã¸ãä½æããã1984 * setup_solicit_msg -- SOLICIT メッセージを作成する。 2065 1985 */ 2066 1986 … … 2070 1990 uint8_t *head, *msg; 2071 1991 2072 /* ã¡ãã»ã¼ã¸ã®ãããé¨åãä½æããã*/1992 /* メッセージのヘッダ部分を作成する。*/ 2073 1993 if ((head = setup_msg_header(ct, DHCP6_SOLICIT)) == NULL) 2074 1994 return E_PAR; … … 2079 1999 #if defined(DHCP6_CLI_CFG_IA_NA) 2080 2000 2081 /* IA_NA ã追å ããã*/2001 /* IA_NA を追加する。*/ 2082 2002 msg = solicit_ia_na_pd(ct, msg, DHCP6_OPT_IA_NA); 2083 2003 #endif … … 2085 2005 #if defined(DHCP6_CLI_CFG_IA_TA) 2086 2006 2087 /* IA_TA ã追å ããã*/2007 /* IA_TA を追加する。*/ 2088 2008 msg = solicit_ia_ta(ct, msg); 2089 2009 #endif … … 2091 2011 #if defined(DHCP6_CLI_CFG_IA_PD) 2092 2012 2093 /* IA_PD ã追å ããã*/2013 /* IA_PD を追加する。*/ 2094 2014 msg = solicit_ia_na_pd(ct, msg, DHCP6_OPT_IA_PD); 2095 2015 #endif 2096 2016 2097 /* ã¡ãã»ã¼ã¸æ§é ä½é·ãè¨å®ããã*/2017 /* メッセージ構造体長を設定する。*/ 2098 2018 ct->snd_msg->len = msg - (uint8_t*)&ct->snd_msg->msg; 2099 2019 2100 /* éä¿¡å 2101 ã¢ãã¬ã¹ãè¨å®ããã*/ 2020 /* 送信先アドレスを設定する。*/ 2102 2021 ct->dst.ipaddr = in6_addr_all_DHCP_relay_servers; 2103 2022 return E_OK; … … 2105 2024 2106 2025 /* 2107 * send_solicit_msg -- SOLICIT ã¡ãã»ã¼ã¸ãéä¿¡ããã2026 * send_solicit_msg -- SOLICIT メッセージを送信する。 2108 2027 */ 2109 2028 … … 2116 2035 ct->error = E_OK; 2117 2036 2118 /* ADVERTISE ã¡ãã»ã¼ã¸ã®é¸æãçµäºãã¦ããã°ãSELECT ç¶æ 2119 ã«é·ç§»ããã*/ 2037 /* ADVERTISE メッセージの選択が終了していれば、SELECT 状態に遷移する。*/ 2120 2038 if (select_adv(ct)) { 2121 2039 2122 /* ADVERTISE ã¡ãã»ã¼ã¸åä¿¡ã¿ã¤ãã¼ãåæ¢ããã*/2040 /* ADVERTISE メッセージ受信タイマーを停止する。*/ 2123 2041 syscall(wai_sem(SEM_DHCP6_CLI_TIMER)); 2124 2042 ct->timers[DHCP6C_TIMER_RCV_ADV] = 0; 2125 2043 syscall(sig_sem(SEM_DHCP6_CLI_TIMER)); 2126 2044 2127 /* REQUEST ã¡ãã»ã¼ã¸ãéä¿¡ã㦠SELECT ç¶æ 2128 ã«é·ç§»ããã*/ 2045 /* REQUEST メッセージを送信して SELECT 状態に遷移する。*/ 2129 2046 start_select(ct); 2130 2047 return; 2131 2048 } 2132 2049 2133 /* åéä¿¡åæ°ã確èªããã*/2050 /* 再送信回数を確認する。*/ 2134 2051 if ((ct->MRC != 0) && (ct->txcount > ct->MRC)) { 2135 2052 ct->error = E_TMOUT; … … 2137 2054 } 2138 2055 2139 /* SOLICIT ã¡ãã»ã¼ã¸ãä½æããã*/2056 /* SOLICIT メッセージを作成する。*/ 2140 2057 if ((error = setup_solicit_msg(ct, NULL)) != E_OK) { 2141 2058 syslog(LOG_NOTICE, "[DHCP6C] error, setup solicit message: %s.", itron_strerror(error)); … … 2144 2061 } 2145 2062 2146 /* SOLICIT ã¡ãã»ã¼ã¸ãéä¿¡ããã*/2063 /* SOLICIT メッセージを送信する。*/ 2147 2064 error = UDP_SND_DAT(ct->cepid, &ct->dst, &ct->snd_msg->msg, ct->snd_msg->len, TMO_NBLK); 2148 2065 if (error != E_WBLK) { … … 2152 2069 } 2153 2070 2154 /* åéä¿¡ã¿ã¤ã ã¢ã¦ããè¨å®ããã*/2071 /* 再送信タイムアウトを設定する。*/ 2155 2072 syscall(wai_sem(SEM_DHCP6_CLI_TIMER)); 2156 2073 ct->timers[DHCP6C_TIMER_SND_SOL] = SYSTIM2TIMER(ct->RT); 2157 2074 syscall(sig_sem(SEM_DHCP6_CLI_TIMER)); 2158 2075 2159 /* åéä¿¡ã¿ã¤ã ã¢ã¦ããæ´æ°ããã*/2076 /* 再送信タイムアウトを更新する。*/ 2160 2077 advance_retrans(ct); 2161 2078 } 2162 2079 2163 2080 /* 2164 * request_ia_option -- REQUEST ã¡ãã»ã¼ã¸ã® IA_NA/IA_TA/IA_PD ãªãã·ã§ã³ã®å 2165 ±éé¨åã追å ããã 2081 * request_ia_option -- REQUEST メッセージの IA_NA/IA_TA/IA_PD オプションの共通部分を追加する。 2166 2082 */ 2167 2083 … … 2176 2092 src = (T_DHCP6_OPT_IA_NA_PD*)lease; 2177 2093 2178 /* ãªãã·ã§ã³ã³ã¼ããè¨å®ããã*/2094 /* オプションコードを設定する。*/ 2179 2095 HOST2MSG16(dst->code, code); 2180 2096 2181 /* IA_NAIA_TA/IA_PD ãªãã·ã§ã³ãé¤ãããªãã·ã§ã³é·ãè¨å®ããã*/2097 /* IA_NAIA_TA/IA_PD オプションを除いたオプション長を設定する。*/ 2182 2098 HOST2MSG16(dst->len, sizeof(*dst) - (sizeof(dst->code) + sizeof(dst->len))); 2183 2099 2184 /* ADVERTISE ã¡ãã»ã¼ã¸ãã IA ID ãã³ãã¼ããã*/2100 /* ADVERTISE メッセージから IA ID をコピーする。*/ 2185 2101 memcpy(&dst->iaid, &src->iaid, sizeof(src->iaid)); 2186 2102 … … 2191 2107 2192 2108 /* 2193 * request_ia_na_pd -- REQUEST ã¡ãã»ã¼ã¸ã® IA_NA/IA_PD ãªãã·ã§ã³ã追å ããã2109 * request_ia_na_pd -- REQUEST メッセージの IA_NA/IA_PD オプションを追加する。 2194 2110 */ 2195 2111 … … 2205 2121 uint_t ix, nsiaa; 2206 2122 2207 /* ADVERTISE ã¡ãã»ã¼ã¸ã«æå®ããããªãã·ã§ã³ããããã¨ã確èªããã*/2123 /* ADVERTISE メッセージに指定されたオプションがあることを確認する。*/ 2208 2124 if ((opt = find_msg_option(lease, opt_code, 0)) == NULL) 2209 2125 return msg; 2210 2126 2211 /* IA_NA/IA_TA/IA_PD ãªãã·ã§ã³ã®å 2212 ±éé¨åã追å ããã*/ 2127 /* IA_NA/IA_TA/IA_PD オプションの共通部分を追加する。*/ 2213 2128 dia = (T_DHCP6_OPT_IA_NA_PD*)msg; 2214 2129 sia = (T_DHCP6_OPT_IA_NA_PD*)opt; 2215 2130 msg = request_ia_option(ct, msg, opt_code, opt); 2216 2131 2217 /* T1 ãT2 ã決å®ããã*/2132 /* T1、T2 を決定する。*/ 2218 2133 switch (msg_type) { 2219 2134 case DHCP6_REQUEST: … … 2236 2151 } 2237 2152 2238 /* T1 ãT2 ãè¨å®ããã*/2153 /* T1、T2 を設定する。*/ 2239 2154 HOST2MSG32(dia->renew, t1); 2240 2155 HOST2MSG32(dia->rebind, t2); 2241 2156 msg += sizeof(dia->renew) + sizeof(dia->rebind); 2242 2157 2243 /* IAADDR ãªãã·ã§ã³ãè¨å®ããã*/2158 /* IAADDR オプションを設定する。*/ 2244 2159 nsiaa = ((MSG2HOST16(sia->len) & ~DHCP6C_IAA_FLAG_MASK) - (sizeof(*sia) - (sizeof(sia->code) + sizeof(sia->len)))) / sizeof(*siaa); 2245 2160 … … 2248 2163 siaa = (T_DHCP6_OPT_IAADDR*)((opt + sizeof(*sia)) + sizeof(*siaa) * ix); 2249 2164 2250 /* ã¢ãã¬ã¹ã®æå¹æéãåãã¦ããã°ã¹ãããããã*/2165 /* アドレスの有効期限が切れていればスキップする。*/ 2251 2166 if (MSG2HOST16(siaa->len) & DHCP6C_IAA_FLAG_EXPIRED) 2252 2167 continue; 2253 2168 2254 /* ã³ã¼ãã¨é·ããè¨å®ããã*/2169 /* コードと長さを設定する。*/ 2255 2170 memcpy(&diaa->code, &siaa->code, sizeof(siaa->code)); 2256 2171 HOST2MSG16(diaa->len, MSG2HOST16(siaa->len) & ~DHCP6C_IAA_FLAG_MASK); 2257 2172 msg += sizeof(dia->code) + sizeof(dia->len); 2258 2173 2259 /* IPv6 ã¢ãã¬ã¹ãã³ãã¼ããã*/2174 /* IPv6 アドレスをコピーする。*/ 2260 2175 memcpy(&diaa->addr, &siaa->addr, sizeof(siaa->addr)); 2261 2176 msg += sizeof(diaa->addr); 2262 2177 2263 /* T1 ãT2 ã決å®ããã*/2178 /* T1、T2 を決定する。*/ 2264 2179 switch (msg_type) { 2265 2180 case DHCP6_REQUEST: … … 2282 2197 } 2283 2198 2284 /* T1 ãT2 ãè¨å®ããã*/2199 /* T1、T2 を設定する。*/ 2285 2200 HOST2MSG32(diaa->prefer, t1); 2286 2201 HOST2MSG32(diaa->valid, t2); 2287 2202 msg += sizeof(diaa->prefer) + sizeof(diaa->valid); 2288 2203 2289 /* IAADDR ã«ä»å ãªãã·ã§ã³ã追å ãããå 2290 éããã*/ 2204 /* IAADDR に付加オプションを追加する【先送り】。*/ 2291 2205 } 2292 2206 … … 2299 2213 2300 2214 /* 2301 * request_ia_ta -- REQUEST ã¡ãã»ã¼ã¸ã® IA_TA ãªãã·ã§ã³ã追å ããã2215 * request_ia_ta -- REQUEST メッセージの IA_TA オプションを追加する。 2302 2216 */ 2303 2217 … … 2313 2227 uint_t ix, nsiaa; 2314 2228 2315 /* ADVERTISE ã¡ãã»ã¼ã¸ã« IA_TA ãªãã·ã§ã³ããããã¨ã確èªããã*/2229 /* ADVERTISE メッセージに IA_TA オプションがあることを確認する。*/ 2316 2230 if ((opt = find_msg_option(lease, DHCP6_OPT_IA_TA, 0)) == NULL) 2317 2231 return msg; 2318 2232 2319 /* IA_NA/IA_TA/IA_PD ãªãã·ã§ã³ã®å 2320 ±éé¨åã追å ããã*/ 2233 /* IA_NA/IA_TA/IA_PD オプションの共通部分を追加する。*/ 2321 2234 dia = (T_DHCP6_OPT_IA_TA*)msg; 2322 2235 sia = (T_DHCP6_OPT_IA_TA*)opt; 2323 2236 msg = request_ia_option(ct, msg, DHCP6_OPT_IA_TA, opt); 2324 2237 2325 /* IAADDR ãªãã·ã§ã³ãè¨å®ããã*/2238 /* IAADDR オプションを設定する。*/ 2326 2239 nsiaa = ((MSG2HOST16(sia->len) & ~DHCP6C_IAA_FLAG_MASK) - (sizeof(*sia) - (sizeof(sia->code) + sizeof(sia->len)))) / sizeof(*siaa); 2327 2240 … … 2330 2243 siaa = (T_DHCP6_OPT_IAADDR*)((opt + sizeof(*sia)) + sizeof(*siaa) * ix); 2331 2244 2332 /* ã¢ãã¬ã¹ã®æå¹æéãåãã¦ããã°ã¹ãããããã*/2245 /* アドレスの有効期限が切れていればスキップする。*/ 2333 2246 if (MSG2HOST16(siaa->len) & DHCP6C_IAA_FLAG_EXPIRED) 2334 2247 continue; 2335 2248 2336 /* ã³ã¼ãã¨é·ããè¨å®ããã*/2249 /* コードと長さを設定する。*/ 2337 2250 memcpy(diaa->code, siaa->code, sizeof(siaa->code)); 2338 2251 diaa->len = HOST2MSG16(MSG2HOST16(siaa->len) & ~DHCP6C_IAA_FLAG_MASK); 2339 2252 msg += sizeof(dia->code) + sizeof(dia->len); 2340 2253 2341 /* IPv6 ã¢ãã¬ã¹ãã³ãã¼ããã*/2254 /* IPv6 アドレスをコピーする。*/ 2342 2255 memcpy(diaa->addr, siaa->addr, sizeof(siaa->addr)); 2343 2256 msg += sizeof(diaa->addr); 2344 2257 2345 /* T1 ãT2 ã決å®ããã*/2258 /* T1、T2 を決定する。*/ 2346 2259 switch (msg_type) { 2347 2260 case DHCP6_REQUEST: … … 2364 2277 } 2365 2278 2366 /* T1 ãT2 ãè¨å®ããã*/2279 /* T1、T2 を設定する。*/ 2367 2280 HOST2MSG32(diaa->prefer, t1); 2368 2281 HOST2MSG32(diaa->valid, t2); 2369 2282 msg += sizeof(diaa->prefer) + sizeof(diaa->valid); 2370 2283 2371 /* IAADDR ã«ä»å ãªãã·ã§ã³ã追å ãããå 2372 éããã*/ 2284 /* IAADDR に付加オプションを追加する【先送り】。*/ 2373 2285 } 2374 2286 … … 2379 2291 2380 2292 /* 2381 * setup_request_msg -- REQUEST ã¡ãã»ã¼ã¸ãä½æããã2293 * setup_request_msg -- REQUEST メッセージを作成する。 2382 2294 */ 2383 2295 … … 2387 2299 uint8_t *msg; 2388 2300 2389 /* ã¡ãã»ã¼ã¸ã®ãããé¨åãä½æããã*/2301 /* メッセージのヘッダ部分を作成する。*/ 2390 2302 if ((msg = setup_msg_header(ct, type)) == NULL) 2391 2303 return E_PAR; … … 2396 2308 #if defined(DHCP6_CLI_CFG_IA_NA) 2397 2309 2398 /* IA_NA ã追å ããã*/2310 /* IA_NA を追加する。*/ 2399 2311 msg = request_ia_na_pd(ct, msg, type, DHCP6_OPT_IA_NA, lease); 2400 2312 #endif … … 2402 2314 #if defined(DHCP6_CLI_CFG_IA_TA) 2403 2315 2404 /* IA_TA ã追å ããã*/2316 /* IA_TA を追加する。*/ 2405 2317 msg = request_ia_ta(ct, msg, type, lease); 2406 2318 #endif … … 2408 2320 #if defined(DHCP6_CLI_CFG_IA_PD) 2409 2321 2410 /* IA_PD ã追å ããã*/2322 /* IA_PD を追加する。*/ 2411 2323 msg = request_ia_na_pd(ct, msg, type, DHCP6_OPT_IA_PD, lease); 2412 2324 #endif 2413 2325 2414 /* ã¡ãã»ã¼ã¸æ§é ä½é·ãè¨å®ããã*/2326 /* メッセージ構造体長を設定する。*/ 2415 2327 ct->snd_msg->len = msg - (uint8_t*)&ct->snd_msg->msg; 2416 2328 return E_OK; … … 2418 2330 2419 2331 /* 2420 * send_request_msg -- REQUEST ã¡ãã»ã¼ã¸ãéä¿¡ããã2332 * send_request_msg -- REQUEST メッセージを送信する。 2421 2333 */ 2422 2334 … … 2429 2341 ct->flags &= ~DHCP6C_FLAG_TMOUT_MASK; 2430 2342 2431 /* ADVERTISE ã¡ãã»ã¼ã¸ãåä¿¡ãã¦ããªããã°ã¨ã©ã¼*/2343 /* ADVERTISE メッセージを受信していなければエラー */ 2432 2344 if (ct->adv_msg == NULL) { 2433 2345 ct->error = E_OBJ; … … 2435 2347 } 2436 2348 2437 /* REPLY ã¡ãã»ã¼ã¸ã®é¸æãçµäºãã¦ããã°ãBOUND ç¶æ 2438 ã«é·ç§»ããã*/ 2349 /* REPLY メッセージの選択が終了していれば、BOUND 状態に遷移する。*/ 2439 2350 if (select_reply(ct)) { 2440 2351 2441 /* REPLY ã¡ãã»ã¼ã¸åä¿¡ã¿ã¤ãã¼ãåæ¢ããã*/2352 /* REPLY メッセージ受信タイマーを停止する。*/ 2442 2353 syscall(wai_sem(SEM_DHCP6_CLI_TIMER)); 2443 2354 ct->timers[DHCP6C_TIMER_RCV_REPLY] = 0; 2444 2355 syscall(sig_sem(SEM_DHCP6_CLI_TIMER)); 2445 2356 2446 /* ADVERTISE ã¡ãã»ã¼ã¸ãåä¿¡ã¡ãã»ã¼ã¸æ§é ä½ãªã¹ãã«æ»ãã*/2357 /* ADVERTISE メッセージを受信メッセージ構造体リストに戻す。*/ 2447 2358 syscall(wai_sem(SEM_DHCP6_CLI_LOCK)); 2448 2359 ct->adv_msg->next = ct->rcv_lst; … … 2451 2362 syscall(sig_sem(SEM_DHCP6_CLI_LOCK)); 2452 2363 2453 /* BOUND ç¶æ 2454 ã«é·ç§»ããã*/ 2364 /* BOUND 状態に遷移する。*/ 2455 2365 start_bound(ct); 2456 2366 return; 2457 2367 } 2458 2368 2459 /* åéä¿¡åæ°ã確èªããã*/2369 /* 再送信回数を確認する。*/ 2460 2370 if ((ct->MRC != 0) && (ct->txcount > ct->MRC)) { 2461 2371 ct->error = E_TMOUT; … … 2463 2373 } 2464 2374 2465 /* REQUEST ã¡ãã»ã¼ã¸ãä½æããã*/2375 /* REQUEST メッセージを作成する。*/ 2466 2376 if ((error = setup_request_msg(ct, ct->adv_msg, DHCP6_REQUEST)) != E_OK) { 2467 2377 syslog(LOG_NOTICE, "[DHCP6C] error, setup request message: %s.", itron_strerror(error)); … … 2470 2380 } 2471 2381 2472 /* REQUEST ã¡ãã»ã¼ã¸ãéä¿¡ããã*/2382 /* REQUEST メッセージを送信する。*/ 2473 2383 error = UDP_SND_DAT(ct->cepid, &ct->dst, &ct->snd_msg->msg, ct->snd_msg->len, TMO_NBLK); 2474 2384 if (error != E_WBLK) { … … 2478 2388 } 2479 2389 2480 /* åéä¿¡ã¿ã¤ã ã¢ã¦ããè¨å®ããã*/2390 /* 再送信タイムアウトを設定する。*/ 2481 2391 syscall(wai_sem(SEM_DHCP6_CLI_TIMER)); 2482 2392 ct->timers[DHCP6C_TIMER_SND_REQ] = SYSTIM2TIMER(ct->RT); 2483 2393 syscall(sig_sem(SEM_DHCP6_CLI_TIMER)); 2484 2394 2485 /* åéä¿¡ã¿ã¤ã ã¢ã¦ããæ´æ°ããã*/2395 /* 再送信タイムアウトを更新する。*/ 2486 2396 advance_retrans(ct); 2487 2397 } 2488 2398 2489 2399 /* 2490 * send_refresh_msg -- REFRESH ã¡ãã»ã¼ã¸ãéä¿¡ããã2400 * send_refresh_msg -- REFRESH メッセージを送信する。 2491 2401 */ 2492 2402 … … 2498 2408 uint8_t *opt; 2499 2409 2500 /* æå¹ãªãªã¼ã¹æ 2501 å ±ããªããã°ã¨ã©ã¼ */ 2410 /* 有効なリース情報がなければエラー */ 2502 2411 ct->flags &= ~DHCP6C_FLAG_TMOUT_MASK; 2503 2412 if (ct->act_msg == NULL) 2504 2413 ct->error = E_OBJ; 2505 2414 2506 /* REFRESH ã¿ã¤ãã RENEW ã¾ã㯠REBIND ã§ãªããã°ã¨ã©ã¼*/2415 /* REFRESH タイプが RENEW または REBIND でなければエラー */ 2507 2416 if (!((ct->refresh_type == DHCP6_RENEW) || (ct->refresh_type == DHCP6_REBIND))) 2508 2417 ct->error = E_PAR; 2509 2418 2510 /* REPLY ã¡ãã»ã¼ã¸ã®é¸æãçµäºãã¦ããã°ãBOUND ç¶æ 2511 ã«é·ç§»ããã*/ 2419 /* REPLY メッセージの選択が終了していれば、BOUND 状態に遷移する。*/ 2512 2420 if (select_reply(ct)) { 2513 2421 2514 /* REPLY ã¡ãã»ã¼ã¸åä¿¡ã¿ã¤ãã¼ãåæ¢ããã*/2422 /* REPLY メッセージ受信タイマーを停止する。*/ 2515 2423 syscall(wai_sem(SEM_DHCP6_CLI_TIMER)); 2516 2424 ct->timers[DHCP6C_TIMER_RCV_REPLY] = 0; 2517 2425 syscall(sig_sem(SEM_DHCP6_CLI_TIMER)); 2518 2426 2519 /* ãªã¼ã¹æ 2520 å ±ã解æ¾ããã*/ 2427 /* リース情報を解放する。*/ 2521 2428 rel_lease(ct); 2522 2429 2523 /* BOUND ç¶æ 2524 ã«é·ç§»ããã*/ 2430 /* BOUND 状態に遷移する。*/ 2525 2431 start_bound(ct); 2526 2432 return; 2527 2433 } 2528 2434 2529 /* åéä¿¡åæ°ã確èªããã*/2435 /* 再送信回数を確認する。*/ 2530 2436 if ((ct->MRC != 0) && (ct->txcount > ct->MRC)) { 2531 2437 eval_expire(ct); … … 2534 2440 2535 2441 /* 2536 * ãµã¼ããã UNICAST ãªãã·ã§ã³ãåä¿¡ããã¨ã㯠2537 * æå®ããã¢ãã¬ã¹ãéä¿¡å 2538 ã¢ãã¬ã¹ã«è¨å®ããã 2442 * サーバから UNICAST オプションを受信したときは 2443 * 指定したアドレスを送信先アドレスに設定する。 2539 2444 */ 2540 2445 if ((opt = find_msg_option(ct->act_msg, DHCP6_OPT_UNICAST, sizeof(T_DHCP6_OPT_UNICAST))) != NULL) { … … 2543 2448 } 2544 2449 2545 /* REFRESH (REQUEST) ã¡ãã»ã¼ã¸ãä½æããã*/2450 /* REFRESH (REQUEST) メッセージを作成する。*/ 2546 2451 if ((error = setup_request_msg(ct, ct->act_msg, ct->refresh_type)) != E_OK) { 2547 2452 syslog(LOG_NOTICE, "[DHCP6C] error, setup refresh message: %s.", itron_strerror(error)); … … 2550 2455 } 2551 2456 2552 /* REFRESH ã¡ãã»ã¼ã¸ãéä¿¡ããã*/2457 /* REFRESH メッセージを送信する。*/ 2553 2458 error = UDP_SND_DAT(ct->cepid, &ct->dst, &ct->snd_msg->msg, ct->snd_msg->len, TMO_NBLK); 2554 2459 if (error != E_WBLK) { … … 2558 2463 } 2559 2464 2560 /* åéä¿¡ã¿ã¤ã ã¢ã¦ããè¨å®ããã*/2465 /* 再送信タイムアウトを設定する。*/ 2561 2466 syscall(wai_sem(SEM_DHCP6_CLI_TIMER)); 2562 2467 ct->timers[DHCP6C_TIMER_SND_REF] = SYSTIM2TIMER(ct->RT); 2563 2468 syscall(sig_sem(SEM_DHCP6_CLI_TIMER)); 2564 2469 2565 /* åéä¿¡ã¿ã¤ã ã¢ã¦ããæ´æ°ããã*/2470 /* 再送信タイムアウトを更新する。*/ 2566 2471 advance_retrans(ct); 2567 2472 } 2568 2473 2569 2474 /* 2570 * setup_release_msg -- RELEASE ã¡ãã»ã¼ã¸ãä½æããã2475 * setup_release_msg -- RELEASE メッセージを作成する。 2571 2476 */ 2572 2477 … … 2576 2481 uint8_t *msg; 2577 2482 2578 /* ã¡ãã»ã¼ã¸ã®ãããé¨åãä½æããã*/2483 /* メッセージのヘッダ部分を作成する。*/ 2579 2484 if ((msg = setup_msg_header(ct, type)) == NULL) 2580 2485 return E_PAR; … … 2585 2490 #if defined(DHCP6_CLI_CFG_IA_NA) 2586 2491 2587 /* IA_NA ã追å ããã*/2492 /* IA_NA を追加する。*/ 2588 2493 msg = request_ia_na_pd(ct, msg, type, DHCP6_OPT_IA_NA, lease); 2589 2494 #endif … … 2591 2496 #if defined(DHCP6_CLI_CFG_IA_PD) 2592 2497 2593 /* IA_PD ã追å ããã*/2498 /* IA_PD を追加する。*/ 2594 2499 msg = request_ia_na_pd(ct, msg, type, DHCP6_OPT_IA_PD, lease); 2595 2500 #endif 2596 2501 2597 /* ã¡ãã»ã¼ã¸æ§é ä½é·ãè¨å®ããã*/2502 /* メッセージ構造体長を設定する。*/ 2598 2503 ct->snd_msg->len = msg - (uint8_t*)&ct->snd_msg->msg; 2599 2504 return E_OK; … … 2601 2506 2602 2507 /* 2603 * send_release_msg -- RELEASE ã¡ãã»ã¼ã¸ãéä¿¡ããã2508 * send_release_msg -- RELEASE メッセージを送信する。 2604 2509 */ 2605 2510 … … 2609 2514 ER error; 2610 2515 2611 /* æå¹ãª REPLY ã¡ãã»ã¼ã¸ãåä¿¡ãã¦ããªããã°ã¨ã©ã¼*/2516 /* 有効な REPLY メッセージを受信していなければエラー */ 2612 2517 ct->flags &= ~DHCP6C_FLAG_TMOUT_MASK; 2613 2518 if (ct->act_msg == NULL) 2614 2519 ct->error = E_OBJ; 2615 2520 2616 /* æå¹ãª REPLY ã¡ãã»ã¼ã¸ãåä¿¡ãã¦ããã°ãSLEEP ç¶æ 2617 ã«é·ç§»ããã*/ 2521 /* 有効な REPLY メッセージを受信していれば、SLEEP 状態に遷移する。*/ 2618 2522 syscall(wai_sem(SEM_DHCP6_CLI_LOCK)); 2619 2523 if (ct->prf_lst != NULL) { 2620 2524 2621 /* åéä¿¡ã¿ã¤ãã¼ãåæ¢ããã*/2525 /* 再送信タイマーを停止する。*/ 2622 2526 syscall(wai_sem(SEM_DHCP6_CLI_TIMER)); 2623 2527 ct->timers[DHCP6C_TIMER_RCV_REPLY] = 0; 2624 2528 syscall(sig_sem(SEM_DHCP6_CLI_TIMER)); 2625 2529 2626 /* æå¹ãªãªã¼ã¹ã»ã¡ãã»ã¼ã¸æ§é ä½ã解æ¾ããã*/2530 /* 有効なリース・メッセージ構造体を解放する。*/ 2627 2531 if (ct->act_msg != NULL) { 2628 2532 syscall(rel_mpf(MPF_DHCP6_CLI_MSG, (void*)ct->act_msg)); … … 2630 2534 } 2631 2535 2632 /* SLEEP ç¶æ 2633 ã«é·ç§»ããã*/ 2536 /* SLEEP 状態に遷移する。*/ 2634 2537 ct->fsm = DHCP6_FSM_SLEEP; 2635 2538 syscall(sig_sem(SEM_DHCP6_CLI_LOCK)); … … 2638 2541 syscall(sig_sem(SEM_DHCP6_CLI_LOCK)); 2639 2542 2640 /* åéä¿¡åæ°ã確èªããã*/2543 /* 再送信回数を確認する。*/ 2641 2544 if ((ct->MRC != 0) && (ct->txcount > ct->MRC)) { 2642 2545 ct->error = E_TMOUT; … … 2644 2547 } 2645 2548 2646 /* RELEASE ã¡ãã»ã¼ã¸ãä½æããã*/2549 /* RELEASE メッセージを作成する。*/ 2647 2550 if ((error = setup_release_msg(ct, ct->act_msg, DHCP6_RELEASE)) != E_OK) { 2648 2551 syslog(LOG_NOTICE, "[DHCP6C] error, setup release message: %s.", itron_strerror(error)); … … 2651 2554 } 2652 2555 2653 /* RELEASE ã¡ãã»ã¼ã¸ãéä¿¡ããã*/2556 /* RELEASE メッセージを送信する。*/ 2654 2557 error = UDP_SND_DAT(ct->cepid, &ct->dst, &ct->snd_msg->msg, ct->snd_msg->len, TMO_NBLK); 2655 2558 if (error != E_WBLK) { … … 2659 2562 } 2660 2563 2661 /* åéä¿¡ã¿ã¤ã ã¢ã¦ããè¨å®ããã*/2564 /* 再送信タイムアウトを設定する。*/ 2662 2565 syscall(wai_sem(SEM_DHCP6_CLI_TIMER)); 2663 2566 ct->timers[DHCP6C_TIMER_SND_REL] = SYSTIM2TIMER(ct->RT); 2664 2567 syscall(sig_sem(SEM_DHCP6_CLI_TIMER)); 2665 2568 2666 /* åéä¿¡ã¿ã¤ã ã¢ã¦ããæ´æ°ããã*/2569 /* 再送信タイムアウトを更新する。*/ 2667 2570 advance_retrans(ct); 2668 2571 } 2669 2572 2670 2573 /* 2671 * advertise_msg_timeout -- ADVERTISE ã¡ãã»ã¼ã¸ã®ã¿ã¤ã ã¢ã¦ãå¦ç2574 * advertise_msg_timeout -- ADVERTISE メッセージのタイムアウト処理 2672 2575 */ 2673 2576 … … 2675 2578 advertise_msg_timeout (T_DHCP6_CLI_CONTEXT *ct) 2676 2579 { 2677 /* SOLICIT ã¡ãã»ã¼ã¸éä¿¡ã¿ã¤ãã¼ãåæ¢ããã*/2580 /* SOLICIT メッセージ送信タイマーを停止する。*/ 2678 2581 ct->flags &= ~DHCP6C_FLAG_TMOUT_MASK; 2679 2582 syscall(wai_sem(SEM_DHCP6_CLI_TIMER)); … … 2683 2586 if (select_adv(ct)) { 2684 2587 /* 2685 * ADVERTISE ã¡ãã»ã¼ã¸ã®é¸æãçµäºãã¦ããã°ã 2686 * REQUEST ã¡ãã»ã¼ã¸ãéä¿¡ã㦠SELECT ç¶æ 2687 ã«é·ç§»ããã 2588 * ADVERTISE メッセージの選択が終了していれば、 2589 * REQUEST メッセージを送信して SELECT 状態に遷移する。 2688 2590 */ 2689 2591 start_select(ct); … … 2694 2596 2695 2597 /* 2696 * renew_timeout -- RENEW ã¿ã¤ã ã¢ã¦ãå¦ç2598 * renew_timeout -- RENEW タイムアウト処理 2697 2599 */ 2698 2600 … … 2700 2602 renew_timeout (T_DHCP6_CLI_CONTEXT *ct) 2701 2603 { 2702 /* RENEW ç¶æ 2703 ã«é·ç§»ããã*/ 2604 /* RENEW 状態に遷移する。*/ 2704 2605 ct->flags &= ~DHCP6C_FLAG_TMOUT_MASK; 2705 2606 start_renew(ct); … … 2707 2608 2708 2609 /* 2709 * rebind_timeout -- REBIND ã¿ã¤ã ã¢ã¦ãå¦ç2610 * rebind_timeout -- REBIND タイムアウト処理 2710 2611 */ 2711 2612 … … 2713 2614 rebind_timeout (T_DHCP6_CLI_CONTEXT *ct) 2714 2615 { 2715 /* REBIND ç¶æ 2716 ã«é·ç§»ããã*/ 2616 /* REBIND 状態に遷移する。*/ 2717 2617 ct->flags &= ~DHCP6C_FLAG_TMOUT_MASK; 2718 2618 start_rebind(ct); … … 2720 2620 2721 2621 /* 2722 * depref_timeout -- DEPREF ã¿ã¤ã ã¢ã¦ãå¦ç2622 * depref_timeout -- DEPREF タイムアウト処理 2723 2623 */ 2724 2624 … … 2733 2633 uint_t aoff, asize; 2734 2634 2735 /* æå¹ãªãªã¼ã¹ãç¡ããã°å¦ççµäº*/2635 /* 有効なリースが無ければ処理終了 */ 2736 2636 ct->flags &= ~DHCP6C_FLAG_TMOUT_MASK; 2737 2637 if (ct->act_msg == NULL) { … … 2744 2644 while (msg < last) { 2745 2645 2746 /* IA_NA/IA_PD ãªãã·ã§ã³ã§ããã°ãæ¨å¥¨æå¹æéã確èªããã*/2646 /* IA_NA/IA_PD オプションであれば、推奨有効時間を確認する。*/ 2747 2647 opt = (T_DHCP6_OPTION*)msg; 2748 2648 if (MSG2HOST16(opt->code) == DHCP6_OPT_IA_NA || MSG2HOST16(opt->code) == DHCP6_OPT_IA_PD) { … … 2753 2653 aoff += (MSG2HOST16(iaa->len) & ~DHCP6C_IAA_FLAG_MASK) + sizeof(*iaa)) { 2754 2654 2755 /* ãã§ã«æ¨å¥¨æå¹æéãçµéãã¦ããã°å¦çããªãã*/2655 /* すでに推奨有効時間を経過していれば処理しない。*/ 2756 2656 iaa = (T_DHCP6_OPT_IAADDR*)((uint8_t*)opt + aoff); 2757 2657 if ((MSG2HOST16(iaa->len) & DHCP6C_IAA_FLAG_DEPREFERD)) 2758 2658 continue; 2759 2659 2760 /* æ¨å¥¨æå¹æéçµéãã¦ããã° FLAG ãè¨å®ããã*/2660 /* 推奨有効時間経過していれば FLAG を設定する。*/ 2761 2661 if (TIMEC_GE(time, ct->act_msg->rcv_time + MSG2HOST32(iaa->prefer))) { 2762 2662 HOST2MSG16(iaa->len, MSG2HOST16(iaa->len) | DHCP6C_IAA_FLAG_DEPREFERD); … … 2766 2666 syslog(LOG_NOTICE, "[DHCP6C] prefix depreferd: %s.", ipv62str(NULL, &iaa->addr)); 2767 2667 2768 /*ãDNS ã®å¦çãå¿ 2769 è¦ã*/ 2668 /*【DNS の処理が必要】*/ 2770 2669 } 2771 2670 } … … 2778 2677 2779 2678 /* 2780 * expire_timeout -- EXPIRE ã¿ã¤ã ã¢ã¦ãå¦ç2679 * expire_timeout -- EXPIRE タイムアウト処理 2781 2680 */ 2782 2681 … … 2791 2690 uint_t aoff, asize, addrs = 0; 2792 2691 2793 /* æå¹ãªãªã¼ã¹ãç¡ããã°å¦ççµäº*/2692 /* 有効なリースが無ければ処理終了 */ 2794 2693 ct->flags &= ~DHCP6C_FLAG_TMOUT_MASK; 2795 2694 if (ct->act_msg == NULL) { … … 2802 2701 while (msg < last) { 2803 2702 2804 /* IA_NA/IA_PD ãªãã·ã§ã³ã§ããã°ãæå¹æéã確èªããã*/2703 /* IA_NA/IA_PD オプションであれば、有効時間を確認する。*/ 2805 2704 opt = (T_DHCP6_OPTION*)msg; 2806 2705 if (MSG2HOST16(opt->code) == DHCP6_OPT_IA_NA || MSG2HOST16(opt->code) == DHCP6_OPT_IA_PD) { … … 2811 2710 aoff += (MSG2HOST16(iaa->len) & ~DHCP6C_IAA_FLAG_MASK) + sizeof(*iaa)) { 2812 2711 2813 /* ãã§ã«æå¹æéãçµéãã¦ããã°å¦çããªãã*/2712 /* すでに有効時間を経過していれば処理しない。*/ 2814 2713 iaa = (T_DHCP6_OPT_IAADDR*)((uint8_t*)opt + aoff); 2815 2714 if ((MSG2HOST16(iaa->len) & DHCP6C_IAA_FLAG_EXPIRED)) 2816 2715 continue; 2817 2716 2818 /* æå¹æéçµéãã¦ããã° FLAG ãè¨å®ããã*/2717 /* 有効時間経過していれば FLAG を設定する。*/ 2819 2718 if (TIMEC_GE(time, ct->act_msg->rcv_time + MSG2HOST32(iaa->valid))) { 2820 2719 HOST2MSG16(iaa->len, MSG2HOST16(iaa->len) | DHCP6C_IAA_FLAG_EXPIRED); … … 2824 2723 syslog(LOG_NOTICE, "[DHCP6C] prefix expired: %s.", ipv62str(NULL, &iaa->addr)); 2825 2724 2826 /*ãDNS ã®å¦çãå¿ 2827 è¦ã*/ 2725 /*【DNS の処理が必要】*/ 2828 2726 continue; 2829 2727 } … … 2834 2732 } 2835 2733 2836 /* æå¹ãªã¢ãã¬ã¹ãå 2837 ¨ã¦ç¡ããªã£ãæ㯠INIT ç¶æ 2838 ã«é·ç§»ããã*/ 2734 /* 有効なアドレスが全て無くなった時は INIT 状態に遷移する。*/ 2839 2735 if (addrs == 0) { 2840 2736 2841 /* ACTIVE ãªã¼ã¹ãåä¿¡ã¡ãã»ã¼ã¸æ§é ä½ãªã¹ãã«æ»ãã*/2737 /* ACTIVE リースを受信メッセージ構造体リストに戻す。*/ 2842 2738 syslog(LOG_NOTICE, "[DHCP6C] all address expired."); 2843 2739 syscall(wai_sem(SEM_DHCP6_CLI_LOCK)); … … 2847 2743 syscall(sig_sem(SEM_DHCP6_CLI_LOCK)); 2848 2744 2849 /* å 2850 ¨ã¦ã® TIMER ããã£ã³ã»ã«ããã*/ 2745 /* 全ての TIMER をキャンセルする。*/ 2851 2746 cancel_all_timers(ct); 2852 2747 2853 /* INIT ç¶æ 2854 ã«é·ç§»ããã*/ 2748 /* INIT 状態に遷移する。*/ 2855 2749 start_init(ct); 2856 2750 return; … … 2863 2757 2864 2758 /* 2865 * reply_msg_timeout -- REPLY ã¡ãã»ã¼ã¸ã®ã¿ã¤ã ã¢ã¦ãå¦ç2759 * reply_msg_timeout -- REPLY メッセージのタイムアウト処理 2866 2760 */ 2867 2761 … … 2869 2763 reply_msg_timeout (T_DHCP6_CLI_CONTEXT *ct) 2870 2764 { 2871 /* SOLICIT ã¡ãã»ã¼ã¸éä¿¡ã¿ã¤ãã¼ãåæ¢ããã*/2765 /* SOLICIT メッセージ送信タイマーを停止する。*/ 2872 2766 ct->flags &= ~DHCP6C_FLAG_TMOUT_MASK; 2873 2767 syscall(wai_sem(SEM_DHCP6_CLI_TIMER)); … … 2878 2772 #if DHCP6_CLI_CFG_MODE == DHCP6_CLI_CFG_STATELESS || DHCP6_CLI_CFG_MODE == DHCP6_CLI_CFG_RA 2879 2773 2880 /* STATELES ã¢ã¼ãã§ã¯SLEEP ã«é·ç§»ããã*/2774 /* STATELES モードではSLEEP に遷移する。*/ 2881 2775 ct->error = E_TMOUT; 2882 2776 ct->fsm = DHCP6_FSM_SLEEP; … … 2886 2780 #if DHCP6_CLI_CFG_MODE == DHCP6_CLI_CFG_STATEFULL || DHCP6_CLI_CFG_MODE == DHCP6_CLI_CFG_RA 2887 2781 2888 /* RENEW ã¡ãã»ã¼ã¸ã®é¸æãçµäºãã¦ããã°ãBOUND ç¶æ 2889 ã«é·ç§»ããã*/ 2782 /* RENEW メッセージの選択が終了していれば、BOUND 状態に遷移する。*/ 2890 2783 if (select_reply(ct)) { 2891 2784 2892 /* ãªã¼ã¹æ 2893 å ±ã解æ¾ããã*/ 2785 /* リース情報を解放する。*/ 2894 2786 rel_lease(ct); 2895 2787 2896 /* BOUND ç¶æ 2897 ã«é·ç§»ããã*/ 2788 /* BOUND 状態に遷移する。*/ 2898 2789 start_bound(ct); 2899 2790 } … … 2901 2792 eval_expire(ct); 2902 2793 else { 2903 /* SLEEP ã«é·ç§»ããã*/2794 /* SLEEP に遷移する。*/ 2904 2795 ct->error = E_TMOUT; 2905 2796 ct->fsm = DHCP6_FSM_SLEEP; … … 2910 2801 2911 2802 /* 2912 * dispatch_timeout -- ã¿ã¤ã ã¢ã¦ãããæã®å¦ç2803 * dispatch_timeout -- タイムアウトした時の処理 2913 2804 */ 2914 2805 … … 2980 2871 2981 2872 /* 2982 * dispatch_event -- ã¤ãã³ãæ¯ã®å¦ç2873 * dispatch_event -- イベント毎の処理 2983 2874 */ 2984 2875 … … 2990 2881 while (ct->fsm != DHCP6_FSM_SLEEP && error == E_OK) { 2991 2882 2992 /* ã¡ãã»ã¼ã¸ã®éåä¿¡ã¨ã¿ã¤ã ã¢ã¦ããå¾ 2993 ã¤ã*/ 2883 /* メッセージの送受信とタイムアウトを待つ。*/ 2994 2884 syscall(wai_sem(SEM_DHCP6_CLI_READY)); 2995 2885 … … 3012 2902 3013 2903 /* 3014 * init_context -- DHCPv6 ã¯ã©ã¤ã¢ã³ãã³ã³ããã¹ãæ§é ä½ãåæåããã2904 * init_context -- DHCPv6 クライアントコンテキスト構造体を初期化する。 3015 2905 */ 3016 2906 … … 3025 2915 3026 2916 /* 3027 * rel_cli_msg -- ã¡ãã»ã¼ã¸æ§é ä½ã解æ¾ããã2917 * rel_cli_msg -- メッセージ構造体を解放する。 3028 2918 */ 3029 2919 … … 3060 2950 #if DHCP6_CLI_CFG_MODE == DHCP6_CLI_CFG_STATELESS 3061 2951 3062 /* ã¹ãã¼ãã¬ã¹ã®æã¯æå¹ãªãªã¼ã¹ã»ã¡ãã»ã¼ã¸æ§é ä½ã解æ¾ããã*/2952 /* ステートレスの時は有効なリース・メッセージ構造体も解放する。*/ 3063 2953 if (ct->act_msg != NULL) { 3064 2954 syscall(rel_mpf(MPF_DHCP6_CLI_MSG, (void*)ct->act_msg)); … … 3072 2962 3073 2963 /* 3074 * init_cli_msg -- åã¡ãã»ã¼ã¸æ§é ä½ãåæåããã2964 * init_cli_msg -- 各メッセージ構造体を初期化する。 3075 2965 */ 3076 2966 … … 3082 2972 int count; 3083 2973 3084 /* éä¿¡ã¡ãã»ã¼ã¸æ§é ä½ãç²å¾ããã*/2974 /* 送信メッセージ構造体を獲得する。*/ 3085 2975 if ((error = tget_mpf(MPF_DHCP6_CLI_MSG, (void*)&ct->snd_msg, TMO_DHCP6C_MPF_GET)) != E_OK) { 3086 2976 syslog(LOG_NOTICE, "[DHCP6C] error, tget_mpf() for send: %s.", itron_strerror(error)); … … 3089 2979 3090 2980 /* 3091 * æå¹ãªãªã¼ã¹ã»ã¡ãã»ã¼ã¸æ§é ä½ãããå ´åã¯ã3092 * ç²å¾ããåä¿¡ã¡ãã»ã¼ã¸æ§é ä½ãªã¹ãã®æ§é ä½ã 1æ¸ããã2981 * 有効なリース・メッセージ構造体がある場合は、 2982 * 獲得する受信メッセージ構造体リストの構造体を 1減らす。 3093 2983 */ 3094 2984 if (ct->act_msg == NULL) … … 3097 2987 count = NUM_DHCP6_CLI_MSG_LIST - 1; 3098 2988 3099 /* åä¿¡ã¡ãã»ã¼ã¸æ§é ä½ãç²å¾ããã*/2989 /* 受信メッセージ構造体を獲得する。*/ 3100 2990 syscall(wai_sem(SEM_DHCP6_CLI_LOCK)); 3101 2991 while (count --> 0) { … … 3113 3003 3114 3004 /* 3115 * dhcp6c_renew_info -- ãããã¯ã¼ã¯æ 3116 å ±ãååå¾ããã 3005 * dhcp6c_renew_info -- ネットワーク情報を再取得する。 3117 3006 */ 3118 3007 … … 3125 3014 if (context.fsm == DHCP6_FSM_INFORMED) { 3126 3015 3127 /* REL_INFO ç¶æ 3128 ã«é·ç§»ããå¾ã« SLEEP ã解é¤ããããã«è¨å®ããã*/ 3016 /* REL_INFO 状態に遷移した後に SLEEP を解除するように設定する。*/ 3129 3017 context.flags |= DHCP6C_FLAG_RENEW; 3130 3018 start_rel_info(&context); … … 3133 3021 else if (context.fsm == DHCP6_FSM_SLEEP) { 3134 3022 3135 /* SLEEP ã解é¤ããã*/3023 /* SLEEP を解除する。*/ 3136 3024 wup_tsk(DHCP6_CLI_TASK); 3137 3025 return E_OK; … … 3144 3032 if (context.fsm == DHCP6_FSM_BOUND) { 3145 3033 3146 /* RENEW ç¶æ 3147 ã«é·ç§»ããã*/ 3034 /* RENEW 状態に遷移する。*/ 3148 3035 start_renew(&context); 3149 3036 return E_OK; … … 3151 3038 else if (context.fsm == DHCP6_FSM_SLEEP) { 3152 3039 3153 /* SLEEP ã解é¤ããã*/3040 /* SLEEP を解除する。*/ 3154 3041 wup_tsk(DHCP6_CLI_TASK); 3155 3042 return E_OK; … … 3165 3052 3166 3053 /* 3167 * dhcp6c_rel_info -- DHCP ã§è¨å®ããããããã¯ã¼ã¯æ 3168 å ±ã解æ¾ããã 3054 * dhcp6c_rel_info -- DHCP で設定されたネットワーク情報を解放する。 3169 3055 */ 3170 3056 … … 3172 3058 dhcp6c_rel_info (void) 3173 3059 { 3174 /* REL_INFO ç¶æ 3175 ã«é·ç§»ããã*/ 3060 /* REL_INFO 状態に遷移する。*/ 3176 3061 start_rel_info(&context); 3177 3062 return E_OK; … … 3179 3064 3180 3065 /* 3181 * dhcp6c_get_info -- DHCP ã§è¨å®ããããããã¯ã¼ã¯æ 3182 å ±ãè¿ãã 3066 * dhcp6c_get_info -- DHCP で設定されたネットワーク情報を返す。 3183 3067 */ 3184 3068 … … 3209 3093 3210 3094 /* 3211 * ã³ã¼ã«ããã¯é¢æ°3095 * コールバック関数 3212 3096 */ 3213 3097 … … 3220 3104 len = *(ER_UINT*)p_parblk; 3221 3105 if (len < 0 && len != E_RLWAI) { 3222 /* E_RLWAI 以å¤ã§ã0 以ä¸ã®å ´åã¯ãã¨ã©ã¼ã³ã¼ã*/3106 /* E_RLWAI 以外で、0 以下の場合は、エラーコード */ 3223 3107 syslog(LOG_NOTICE, "[DHCP6C(CBR)] error: %s, fncd: %s.", itron_strerror(len), in_strtfn(fncd)); 3224 3108 } … … 3226 3110 if (fncd == TEV_UDP_RCV_DAT) { 3227 3111 3228 /* åä¿¡ã¡ãã»ã¼ã¸ãªã¹ãã空ã®æã¯ãåä¿¡ããªãã§ãã¼ã¿ã°ã©ã ãæ¨ã¦ãã*/3112 /* 受信メッセージリストが空の時は、受信しないでデータグラムを捨てる。*/ 3229 3113 if (context.rcv_lst == NULL) 3230 3114 syslog(LOG_NOTICE, "[DHCP6C(CBR)] receive buffer all busy."); 3231 3115 else { 3232 /* ã¡ãã»ã¼ã¸ãåä¿¡ããã¡ãã»ã¼ã¸æ§é ä½ãæºåããã*/3116 /* メッセージを受信するメッセージ構造体を準備する。*/ 3233 3117 syscall(wai_sem(SEM_DHCP6_CLI_LOCK)); 3234 3118 msg = context.rcv_lst; … … 3236 3120 syscall(sig_sem(SEM_DHCP6_CLI_LOCK)); 3237 3121 3238 /* ã¡ãã»ã¼ã¸ãåä¿¡ããã*/3122 /* メッセージを受信する。*/ 3239 3123 len = UDP_RCV_DAT(context.cepid, &msg->srv, &msg->msg, sizeof(msg->msg), TMO_POL); 3240 3124 … … 3242 3126 msg->len = len; 3243 3127 if (len >= 0) { 3244 /* åä¿¡ããã¡ãã»ã¼ã¸ãæ¤è¨¼ã¡ãã»ã¼ã¸ãªã¹ãã«ç§»ãã*/3128 /* 受信したメッセージを検証メッセージリストに移す。*/ 3245 3129 msg->next = context.val_lst; 3246 3130 context.val_lst = msg; … … 3248 3132 } 3249 3133 else { 3250 /* ã¡ãã»ã¼ã¸æ§é ä½ãåä¿¡ã¡ãã»ã¼ã¸ãªã¹ãã«æ»ãã*/3134 /* メッセージ構造体を受信メッセージリストに戻す。*/ 3251 3135 context.error = len; 3252 3136 msg->next = context.rcv_lst; … … 3261 3145 } 3262 3146 /* 3263 * dhcp6_cli_task -- DHCPv6 ã¯ã©ã¤ã¢ã³ãã¿ã¹ã¯3147 * dhcp6_cli_task -- DHCPv6 クライアントタスク 3264 3148 */ 3265 3149 … … 3284 3168 ct = &context; 3285 3169 3286 /* DHCP ã¯ã©ã¤ã¢ã³ãã³ã³ããã¹ãæ§é ä½ãåæåããã*/3170 /* DHCP クライアントコンテキスト構造体を初期化する。*/ 3287 3171 init_context(ct, (ID)exinf); 3288 3172 3289 3173 while (true) { 3290 3174 3291 /* 1 ç§æ¯ã«ã¿ã¤ã ã¢ã¦ãããããã«ã¿ã¤ãã¼ãè¨å®ããã*/3175 /* 1秒毎にタイムアウトするようにタイマーを設定する。*/ 3292 3176 timeout((callout_func)dhcpc_timer, ct, NET_TIMER_HZ / DHCP6C_TIMER_HZ); 3293 3177 3294 /* ã¯ã©ã¤ã¢ã³ã DUID ãè¨å®ããã*/3178 /* クライアント DUID を設定する。*/ 3295 3179 init_duid(ct); 3296 3180 3297 /* ã¡ãã»ã¼ã¸æ§é ä½ãåæåããã*/3181 /* メッセージ構造体を初期化する。*/ 3298 3182 if ((error = init_cli_msg(ct)) == E_OK) { 3299 3183 … … 3305 3189 #endif 3306 3190 3307 /* ã¡ã¤ã³ã«ã¼ã*/3191 /* メインループ */ 3308 3192 error = dispatch_event(ct); 3309 3193 } 3310 3194 3311 /* å 3312 ¨ã¦ã® TIMER ããã£ã³ã»ã«ããã*/ 3195 /* 全ての TIMER をキャンセルする。*/ 3313 3196 cancel_all_timers(ct); 3314 3197 3315 /* ã¿ã¤ãã¼ãåæ¢ããã*/3198 /* タイマーを停止する。*/ 3316 3199 untimeout((callout_func)dhcpc_timer, ct); 3317 3200 3318 /* ã¡ãã»ã¼ã¸æ§é ä½ã解æ¾ããã*/3201 /* メッセージ構造体を解放する。*/ 3319 3202 rel_cli_msg(ct); 3320 3203 3321 /* ãªã¼ã¹ã解æ¾å¾ãååå¾ãæå®ããã¦ããªããã°ä¼æ¢ããã*/3204 /* リースを解放後、再取得が指定されていなければ休止する。*/ 3322 3205 if (!(ct->flags & DHCP6C_FLAG_RENEW)) { 3323 3206 3324 /* ä¼æ¢ããã*/3207 /* 休止する。*/ 3325 3208 if (error == E_OK) 3326 3209 syslog(LOG_NOTICE, "[DHCP6C] lease released, go to sleep."); -
asp3_gr_sakura/trunk/tinet/netapp/dhcp6_cli.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * DHCPv6 ã¯ã©ã¤ã¢ã³ã48 * ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * DHCPv6 クライアント 36 * コンフィギュレーションファイル 49 37 */ 50 38 51 39 #ifdef DHCP6_CLI_CFG 52 40 53 /* ã¿ã¹ã¯*/41 /* タスク */ 54 42 55 43 CRE_TSK(DHCP6_CLI_TASK, { … … 62 50 }); 63 51 64 /* ã»ããã©*/52 /* セマフォ */ 65 53 66 54 CRE_SEM(SEM_DHCP6_CLI_READY, { TA_TPRI, 0, 1 }); -
asp3_gr_sakura/trunk/tinet/netapp/dhcp6_cli.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 70 70 * Tomakomai National College of Technology, JAPAN 71 71 * 72 * ä¸è¨èä½æ¨©è 73 ã¯ï¼ä»¥ä¸ã® (1)ï½(4) ã®æ¡ä»¶ãï¼Free Software Foundation 74 * ã«ãã£ã¦å 75 ¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨ 76 * è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢ 77 * ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹å¤ã»åé 78 å¸ï¼ä»¥ä¸ï¼ 79 * å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 80 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 81 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 82 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 83 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 84 * ç¨ã§ããå½¢ã§åé 85 å¸ããå ´åã«ã¯ï¼åé 86 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 87 * è 88 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 89 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 90 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 91 * ç¨ã§ããªãå½¢ã§åé 92 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 93 * ã¨ï¼ 94 * (a) åé 95 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 96 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 97 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 98 * (b) åé 99 å¸ã®å½¢æ 100 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 101 * å ±åãããã¨ï¼ 102 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 103 * 害ãããï¼ä¸è¨èä½æ¨©è 104 ããã³TOPPERSããã¸ã§ã¯ããå 105 責ãããã¨ï¼ 106 * 107 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 108 ã 109 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 110 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 111 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 72 * 上記著作権者は,以下の (1)~(4) の条件か,Free Software Foundation 73 * によって公表されている GNU General Public License の Version 2 に記 74 * 述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア 75 * を改変したものを含む.以下同じ)を使用・複製・改変・再配布(以下, 76 * 利用と呼ぶ)することを無償で許諾する. 77 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 78 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 79 * スコード中に含まれていること. 80 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 81 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 82 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 83 * の無保証規定を掲載すること. 84 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 85 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 86 * と. 87 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 88 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 89 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 90 * 報告すること. 91 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 92 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 93 * 94 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 95 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 96 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 97 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 112 98 * 113 99 * @(#) $Id$ … … 123 109 124 110 /* 125 * DHCP ã¯ã©ã¤ã¢ã³ãã®ã¹ã¿ãã¯ãµã¤ãº126 */ 127 128 #define DHCP6_CLI_STACK_SIZE 1024 /* DHCP ã¯ã©ã¤ã¢ã³ãã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº*/111 * DHCP クライアントのスタックサイズ 112 */ 113 114 #define DHCP6_CLI_STACK_SIZE 1024 /* DHCP クライアントタスクのスタックサイズ */ 129 115 130 116 /* 131 * DHCP ã¯ã©ã¤ã¢ã³ãã®åªå 132 度 133 */ 134 135 #define DHCP6_CLI_MAIN_PRIORITY 5 /* DHCP ã¯ã©ã¤ã¢ã³ãã¿ã¹ã¯ã®åªå 136 度 */ 117 * DHCP クライアントの優先度 118 */ 119 120 #define DHCP6_CLI_MAIN_PRIORITY 5 /* DHCP クライアントタスクの優先度 */ 137 121 138 122 /* 139 * ã³ã³ãã¤ã«æã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³140 */ 141 142 /* 143 * DHCPv6 åä½ã¢ã¼ã144 * 145 * #define DHCP6_CLI_CFG_MODE ã§æå®ããã146 * æå®ããã¦ããªããã°ãã¹ãã¼ãã¬ã¹ã«è¨å®ããã147 * 148 */ 149 150 #define DHCP6_CLI_CFG_STATELESS 0 /* ã¹ãã¼ãã¬ã¹ã«è¨å®ããã*/151 #define DHCP6_CLI_CFG_STATEFULL 1 /* ã¹ãã¼ããã«ã«è¨å®ããã*/152 #define DHCP6_CLI_CFG_RA 2 /* RA ã® M/O ãããã«ããè¨å®ããã*/123 * コンパイル時コンフィギュレーション 124 */ 125 126 /* 127 * DHCPv6 動作モード 128 * 129 * #define DHCP6_CLI_CFG_MODE で指定する。 130 * 指定されていなければ、ステートレスに設定する。 131 * 132 */ 133 134 #define DHCP6_CLI_CFG_STATELESS 0 /* ステートレスに設定する。 */ 135 #define DHCP6_CLI_CFG_STATEFULL 1 /* ステートフルに設定する。 */ 136 #define DHCP6_CLI_CFG_RA 2 /* RA の M/O ビットにより設定する。 */ 153 137 #define DHCP6_CLI_CFG_MODE_DEFAULT DHCP6_CLI_CFG_STATELESS 154 138 155 /* IA ã®è¨å®*/139 /* IA の設定 */ 156 140 #define DHCP6_CLI_CFG_IA_NA 1 157 141 //#define DHCP6_CLI_CFG_IA_TA 1 158 142 //#define DHCP6_CLI_CFG_IA_PD 1 159 143 160 /* Rapid-commit ã®æå®*/144 /* Rapid-commit の指定 */ 161 145 //#define DHCP6_CLI_CFG_RAPID_COMMIT 1 162 146 163 /* æ¨å¥¨åº¦ã®å®ç¾©*/164 #define DHCP6_CLI_CFG_PREFER_IA 50 /* IA_NA/TA/PD å½ããã®æ¨å¥¨åº¦*/165 #define DHCP6_CLI_CFG_PREFER_IAADDR 100 /* ã¢ãã¬ã¹å½ããã®æ¨å¥¨åº¦*/166 167 /* DHCPv6 ã¯ã©ã¤ã¢ã³ãã¡ãã»ã¼ã¸ã®åä¿¡ãªã¹ããµã¤ãºï¼2以ä¸æå®ãããã¨ï¼*/147 /* 推奨度の定義 */ 148 #define DHCP6_CLI_CFG_PREFER_IA 50 /* IA_NA/TA/PD 当たりの推奨度 */ 149 #define DHCP6_CLI_CFG_PREFER_IAADDR 100 /* アドレス当たりの推奨度 */ 150 151 /* DHCPv6 クライアントメッセージの受信リストサイズ(2以上指定すること) */ 168 152 #define NUM_DHCP6_CLI_MSG_LIST 3 169 153 170 154 /* 171 * DHCPv6 ã¯ã©ã¤ã¢ã³ãã¡ãã»ã¼ã¸æ§é ä½æ°ãå¤æ´ç¦æ¢ã172 * +1 ã¯éä¿¡ç¨155 * DHCPv6 クライアントメッセージ構造体数【変更禁止】 156 * +1 は送信用 173 157 */ 174 158 #define NUM_MPF_DHCP6_CLI_MSG (NUM_DHCP6_CLI_MSG_LIST+1) 175 159 176 /* DHCP å¿ 177 é ãªãã·ã§ã³ãªã¹ã */ 160 /* DHCP 必須オプションリスト */ 178 161 179 162 #ifndef DHCP6_CLI_CFG_REQUIRED_OLIST … … 191 174 #endif /* of #ifndef DHCP6_CLI_CFG_REQUIRED_OLIST */ 192 175 193 /* DHCP è¦æ±ãªãã·ã§ã³ãªã¹ã*/176 /* DHCP 要求オプションリスト */ 194 177 195 178 #ifndef DHCP6_CLI_CFG_REQUEST_OLIST … … 208 191 209 192 /* 210 * ã¿ã¤ã ã¢ã¦ãå®æ° 211 * RFC3315 ã«è¦å®ãããã¿ã¤ãã³ã°å®æ°ã¯ dhcp6.h åç 212 § 213 */ 214 215 /* æ¨æºã¡ãã»ã¼ã¸ã®åéä¿¡ã¿ã¤ã ã¢ã¦ã */ 193 * タイムアウト定数 194 * RFC3315 に規定されたタイミング定数は dhcp6.h 参照 195 */ 196 197 /* 標準メッセージの再送信タイムアウト */ 216 198 #define TMO_DHCP6C_NORMAL ULONG_C(60*1000) 217 199 218 /* æ¨æºè¦æ±ãªã¼ã¹æé*/200 /* 標準要求リース時間 */ 219 201 #define TMO_DHCP6C_REQ_LEASE ULONG_C(7200*1000) 220 202 221 /* ã¡ãã»ã¼ã¸æ§é ä½ç²å¾ã¿ã¤ã ã¢ã¦ã*/203 /* メッセージ構造体獲得タイムアウト */ 222 204 #define TMO_DHCP6C_MPF_GET ULONG_C(1000) 223 205 224 /* ã¡ãã»ã¼ã¸åä¿¡ã¿ã¤ã ã¢ã¦ã*/206 /* メッセージ受信タイムアウト */ 225 207 #define TMO_DHCP6C_RCV_DAT ULONG_C(1000) 226 208 227 209 /* 228 * DHCPv6 ã¯ã©ã¤ã¢ã³ãã¡ãã»ã¼ã¸æ§é ä½210 * DHCPv6 クライアントメッセージ構造体 229 211 */ 230 212 231 213 typedef struct dhcp6_cli_msg { 232 /* 4 ãã¤ãå¢çã«ã¢ã©ã¤ã³ããã*/233 T_DHCP6_MSG msg; /* DHCPv6 ã¡ãã»ã¼ã¸æ§é ä½*/234 struct dhcp6_cli_msg *next; /* ãªã¹ãã®æ¬¡ã®ã¡ãã»ã¼ã¸æ§é ä½*/235 SYSTIM rcv_time; /* åä¿¡ããæé*/236 T_IPV6EP srv; /* ãµã¼ãã®IPv6ã¢ãã¬ã¹/ãã¼ãçªå·*/237 uint16_t len; /* msg ã®æå¹é·*/238 uint16_t prefer; /* msg ã®æ¨å¥¨åº¦*/239 uint16_t status; /* STATUS CODE ãªãã·ã§ã³ã®status */214 /* 4バイト境界にアラインする。*/ 215 T_DHCP6_MSG msg; /* DHCPv6 メッセージ構造体 */ 216 struct dhcp6_cli_msg *next; /* リストの次のメッセージ構造体 */ 217 SYSTIM rcv_time; /* 受信した時間 */ 218 T_IPV6EP srv; /* サーバのIPv6アドレス/ポート番号 */ 219 uint16_t len; /* msg の有効長 */ 220 uint16_t prefer; /* msg の推奨度 */ 221 uint16_t status; /* STATUS CODE オプションの status */ 240 222 } T_DHCP6_CLI_MSG; 241 223 242 /* prefer ã®ãã©ã° */ 243 244 #define DHCP6_ClI_MSG_PREFER_ADDR UINT_C(0x8000) /* ã¢ãã¬ã¹æ 245 å ±ãã */ 246 #define DHCP6_ClI_MSG_PREFER_REQUIRED UINT_C(0x4000) /* å¿ 247 é ãªãã·ã§ã³ãã */ 248 #define DHCP6_ClI_MSG_PREFER_REQUEST UINT_C(0x2000) /* è¦æ±ãªãã·ã§ã³ãã */ 249 #define DHCP6_ClI_MSG_PREFER_OPTION UINT_C(0x1000) /* PREFER ãªãã·ã§ã³ãã */ 224 /* prefer のフラグ */ 225 226 #define DHCP6_ClI_MSG_PREFER_ADDR UINT_C(0x8000) /* アドレス情報あり */ 227 #define DHCP6_ClI_MSG_PREFER_REQUIRED UINT_C(0x4000) /* 必須オプションあり */ 228 #define DHCP6_ClI_MSG_PREFER_REQUEST UINT_C(0x2000) /* 要求オプションあり */ 229 #define DHCP6_ClI_MSG_PREFER_OPTION UINT_C(0x1000) /* PREFER オプションあり */ 250 230 #define DHCP6_ClI_MSG_PREFER_FLAG_MASK UINT_C(0xf000) 251 231 #define DHCP6_ClI_MSG_PREFER_VALUE_MASK (~(DHCP6_ClI_MSG_PREFER_FLAG_MASK)) 252 232 253 233 /* 254 * STATUS CODE ãªãã·ã§ã³ãç¡ãæã®å¤234 * STATUS CODE オプションが無い時の値 255 235 */ 256 236 … … 258 238 259 239 /* 260 * ã³ã¼ã«ããã¯é¢æ°240 * コールバック関数 261 241 */ 262 242 … … 264 244 265 245 /* 266 * ã¿ã¹ã¯246 * タスク 267 247 */ 268 248 … … 270 250 271 251 /* 272 * é¢æ°252 * 関数 273 253 */ 274 254 -
asp3_gr_sakura/trunk/tinet/netapp/dhcp6_cli_asp.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * ASP ç¨ DHCP ã¯ã©ã¤ã¢ã³ãã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * ASP 用 DHCP クライアントのシステムコンフィギュレーションファイル 48 36 */ 49 37 50 38 /* 51 * å 52 ±é DHCP ã¯ã©ã¤ã¢ã³ãã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ã®ã¤ã³ã¯ã«ã¼ã 39 * 共通 DHCP クライアントのシステムコンフィギュレーションファイルのインクルード 53 40 */ 54 41 … … 58 45 59 46 /* 60 * åºå®ã¡ã¢ãªãã¼ã«47 * 固定メモリプール 61 48 */ 62 49 63 /* éåä¿¡ãããã¡*/50 /* 送受信バッファ */ 64 51 65 52 CRE_MPF(MPF_DHCP6_CLI_MSG, { -
asp3_gr_sakura/trunk/tinet/netapp/dhcp6_cli_jsp.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * JSP ç¨ DHCP ã¯ã©ã¤ã¢ã³ãã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * JSP 用 DHCP クライアントのシステムコンフィギュレーションファイル 48 36 */ 49 37 50 38 /* 51 * å 52 ±é DHCP ã¯ã©ã¤ã¢ã³ãã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ã®ã¤ã³ã¯ã«ã¼ã 39 * 共通 DHCP クライアントのシステムコンフィギュレーションファイルのインクルード 53 40 */ 54 41 … … 58 45 59 46 /* 60 * åºå®ã¡ã¢ãªãã¼ã«47 * 固定メモリプール 61 48 */ 62 49 63 /* éåä¿¡ãããã¡*/50 /* 送受信バッファ */ 64 51 65 52 CRE_MPF(MPF_DHCP6_CLI_MSG, { -
asp3_gr_sakura/trunk/tinet/netapp/dhcp6_cli_var.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 70 70 * Tomakomai National College of Technology, JAPAN 71 71 * 72 * ä¸è¨èä½æ¨©è 73 ã¯ï¼ä»¥ä¸ã® (1)ï½(4) ã®æ¡ä»¶ãï¼Free Software Foundation 74 * ã«ãã£ã¦å 75 ¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨ 76 * è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢ 77 * ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹å¤ã»åé 78 å¸ï¼ä»¥ä¸ï¼ 79 * å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 80 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 81 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 82 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 83 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 84 * ç¨ã§ããå½¢ã§åé 85 å¸ããå ´åã«ã¯ï¼åé 86 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 87 * è 88 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 89 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 90 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 91 * ç¨ã§ããªãå½¢ã§åé 92 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 93 * ã¨ï¼ 94 * (a) åé 95 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 96 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 97 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 98 * (b) åé 99 å¸ã®å½¢æ 100 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 101 * å ±åãããã¨ï¼ 102 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 103 * 害ãããï¼ä¸è¨èä½æ¨©è 104 ããã³TOPPERSããã¸ã§ã¯ããå 105 責ãããã¨ï¼ 106 * 107 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 108 ã 109 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 110 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 111 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 72 * 上記著作権者は,以下の (1)~(4) の条件か,Free Software Foundation 73 * によって公表されている GNU General Public License の Version 2 に記 74 * 述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア 75 * を改変したものを含む.以下同じ)を使用・複製・改変・再配布(以下, 76 * 利用と呼ぶ)することを無償で許諾する. 77 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 78 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 79 * スコード中に含まれていること. 80 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 81 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 82 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 83 * の無保証規定を掲載すること. 84 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 85 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 86 * と. 87 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 88 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 89 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 90 * 報告すること. 91 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 92 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 93 * 94 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 95 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 96 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 97 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 112 98 * 113 99 * @(#) $Id$ … … 120 106 121 107 /* 122 * DHCP ã¯ã©ã¤ã¢ã³ãã³ã³ããã¹ãæ§é ä½123 */ 124 125 /* TIMER ã®å®ç¾©*/108 * DHCP クライアントコンテキスト構造体 109 */ 110 111 /* TIMER の定義 */ 126 112 127 113 #define DHCP6C_TIMER_SND_SOL 0 … … 140 126 #define DHCP6C_TIMER_HZ 1 141 127 142 /* å®æ°ã®å®ç¾©*/128 /* 定数の定義 */ 143 129 144 130 #define MAX_DUID_LEN (ETHER_ADDR_LEN+8) 145 131 146 132 typedef struct dhcp6_cli_context { 147 T_DHCP6_CLI_MSG *rcv_lst; /* åä¿¡ã¡ãã»ã¼ã¸æ§é ä½ãªã¹ã */ 148 T_DHCP6_CLI_MSG *val_lst; /* æ¤è¨¼ã¡ãã»ã¼ã¸æ§é ä½ãªã¹ã */ 149 T_DHCP6_CLI_MSG *prf_lst; /* æ¨å¥¨ã¡ãã»ã¼ã¸æ§é ä½ãªã¹ã */ 150 T_DHCP6_CLI_MSG *snd_msg; /* éä¿¡ã¡ãã»ã¼ã¸æ§é ä½ */ 151 T_DHCP6_CLI_MSG *adv_msg; /* éç¥ããããªã¼ã¹ã»ã¡ãã»ã¼ã¸æ§é ä½ */ 152 T_DHCP6_CLI_MSG *act_msg; /* æå¹ãªãªã¼ã¹ã»ã¡ãã»ã¼ã¸æ§é ä½ */ 153 T_IF_SOFTC *sc; /* IF ã®ã½ããã¦ã§ã¢æ 154 å ± */ 155 T_IPV6EP dst; /* éä¿¡å 156 ã®IPã¢ãã¬ã¹/ãã¼ãçªå· */ 157 SYSTIM RT; /* åéä¿¡éé */ 158 SYSTIM IRT; /* åæåéä¿¡éé */ 159 SYSTIM MRT; /* æ大åéä¿¡éé */ 160 SYSTIM MRD; /* æ大åéä¿¡ç¶ç¶æé */ 161 SYSTIM next_MRD; /* 次ã®æ大åéä¿¡ç¶ç¶æé */ 133 T_DHCP6_CLI_MSG *rcv_lst; /* 受信メッセージ構造体リスト */ 134 T_DHCP6_CLI_MSG *val_lst; /* 検証メッセージ構造体リスト */ 135 T_DHCP6_CLI_MSG *prf_lst; /* 推奨メッセージ構造体リスト */ 136 T_DHCP6_CLI_MSG *snd_msg; /* 送信メッセージ構造体 */ 137 T_DHCP6_CLI_MSG *adv_msg; /* 通知されたリース・メッセージ構造体 */ 138 T_DHCP6_CLI_MSG *act_msg; /* 有効なリース・メッセージ構造体 */ 139 T_IF_SOFTC *sc; /* IF のソフトウェア情報 */ 140 T_IPV6EP dst; /* 送信先のIPアドレス/ポート番号 */ 141 SYSTIM RT; /* 再送信間隔 */ 142 SYSTIM IRT; /* 初期再送信間隔 */ 143 SYSTIM MRT; /* 最大再送信間隔 */ 144 SYSTIM MRD; /* 最大再送信継続時間 */ 145 SYSTIM next_MRD; /* 次の最大再送信継続時間 */ 162 146 SYSTIM timers[NUM_DHCP6C_TIMERS]; 163 /* ã¿ã¤ãã¼é 164 å */ 165 ER_UINT error; /* ã¨ã©ã¼ã»ãã¼ã¿é· */ 147 /* タイマー配列 */ 148 ER_UINT error; /* エラー・データ長 */ 166 149 ID cepid; /* CEP ID */ 167 uint32_t xid; /* ãã©ã³ã¶ã¯ã·ã§ã³ID */168 uint16_t flags; /* å種ãã©ã°*/169 uint16_t max_prefer; /* åä¿¡ã¡ãã»ã¼ã¸ã®æ大æ¨å¥¨åº¦*/150 uint32_t xid; /* トランザクション ID */ 151 uint16_t flags; /* 各種フラグ */ 152 uint16_t max_prefer; /* 受信メッセージの最大推奨度 */ 170 153 uint8_t duid[MAX_DUID_LEN]; 171 154 /* client DHCP Unique ID */ 172 uint8_t duid_len; /* client DUID é· */ 173 uint8_t fsm; /* ç¾å¨ã®ç¶æ 174 */ 175 uint8_t MRC; /* æ大åéä¿¡åæ° */ 176 uint8_t txcount; /* åéä¿¡åæ° */ 177 uint8_t refresh_type; /* REFRESH ã®ã¡ãã»ã¼ã¸ã¿ã¤ã */ 155 uint8_t duid_len; /* client DUID 長 */ 156 uint8_t fsm; /* 現在の状態 */ 157 uint8_t MRC; /* 最大再送信回数 */ 158 uint8_t txcount; /* 再送信回数 */ 159 uint8_t refresh_type; /* REFRESH のメッセージタイプ */ 178 160 } T_DHCP6_CLI_CONTEXT; 179 161 180 /* fsmï¼ç¶æ 181 é·ç§»ï¼ã®å®ç¾© */ 162 /* fsm(状態遷移)の定義 */ 182 163 183 164 #define DHCP6_FSM_INIT 1 … … 186 167 #define DHCP6_FSM_RENEW 5 187 168 #define DHCP6_FSM_REBIND 6 188 #define DHCP6_FSM_REQ_INFO 9 /* DHCPv6 ã® RFC3315 ã«ã¯ç¡ãã*/189 #define DHCP6_FSM_INFORMED 10 /* DHCPv6 ã® RFC3315 ã«ã¯ç¡ãã*/190 #define DHCP6_FSM_REL_INFO 11 /* DHCPv6 ã® RFC3315 ã«ã¯ç¡ãã*/191 #define DHCP6_FSM_SLEEP 12 /* DHCPv6 ã® RFC3315 ã«ã¯ç¡ãã*/192 193 /* flag ã®å®ç¾©*/169 #define DHCP6_FSM_REQ_INFO 9 /* DHCPv6 の RFC3315 には無い。*/ 170 #define DHCP6_FSM_INFORMED 10 /* DHCPv6 の RFC3315 には無い。*/ 171 #define DHCP6_FSM_REL_INFO 11 /* DHCPv6 の RFC3315 には無い。*/ 172 #define DHCP6_FSM_SLEEP 12 /* DHCPv6 の RFC3315 には無い。*/ 173 174 /* flag の定義 */ 194 175 195 176 #define DHCP6C_FLAG_TMOUT_SND_SOL (DHCP6C_FLAG_TMOUT_TIMER|DHCP6C_TIMER_SND_SOL) … … 211 192 #define DHCP6C_FLAG_RENEW UINT_C(0x0400) 212 193 213 /* IAADDR æ§é ä½ã® FLAG ã®å®ç¾©ï¼len ã«å¤éåããï¼*/194 /* IAADDR 構造体の FLAG の定義(len に多重化する)*/ 214 195 215 196 #define DHCP6C_IAA_FLAG_EXPIRED UINT_C(0x8000) … … 218 199 219 200 /* 220 * é¢æ°ã·ãã¥ã¬ã¼ã·ã§ã³ãã¯ã221 */ 222 223 /* æéæ¯è¼*/201 * 関数シミュレーションマクロ 202 */ 203 204 /* 時間比較 */ 224 205 225 206 #define TIMEC_GT(a,b) ((int32_t)((a)-(b))>0) 226 207 #define TIMEC_GE(a,b) ((int32_t)((a)-(b))>=0) 227 208 228 /* æéå®æ°ã®å¤æ*/209 /* 時間定数の変換 */ 229 210 230 211 #define SYSTIM2TIMER(t) (((t)<SYSTIM_HZ/DHCP6C_TIMER_HZ)?(DHCP6C_TIMER_HZ):((t)*DHCP6C_TIMER_HZ)/SYSTIM_HZ) -
asp3_gr_sakura/trunk/tinet/netapp/dns.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 * ã¨ï¼ 29 * (a) åé 30 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 31 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 32 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 33 * (b) åé 34 å¸ã®å½¢æ 35 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 36 * å ±åãããã¨ï¼ 37 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 38 * 害ãããï¼ä¸è¨èä½æ¨©è 39 ããã³TOPPERSããã¸ã§ã¯ããå 40 責ãããã¨ï¼ 41 * 42 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 43 ã 44 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 45 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 46 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 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 * と. 22 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 23 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 24 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 25 * 報告すること. 26 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 27 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 28 * 29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 31 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 32 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 47 33 * 48 34 * @(#) $Id$ … … 53 39 54 40 /* 55 * DNS ã¡ãã»ã¼ã¸ã«é¢ããå®ç¾©56 * 57 * RFC1034 ãRFC1035ãRFC1886ãRFC2136ã58 * RFC2671 ãRFC2845ãRFC2930ãRFC359659 * 60 * DNS ã¡ãã»ã¼ã¸41 * DNS メッセージに関する定義 42 * 43 * RFC1034、RFC1035、RFC1886、RFC2136、 44 * RFC2671、RFC2845、RFC2930、RFC3596 45 * 46 * DNS メッセージ 61 47 * 62 48 * +---------------------+ 63 49 * | Header | 64 50 * +---------------------+ 65 * | Question | Question section å½¢å¼66 * +---------------------+ 67 * | Answer | RR (Resouce Record) å½¢å¼68 * +---------------------+ 69 * | Authority | RR (Resouce Record) å½¢å¼70 * +---------------------+ 71 * | Additional | RR (Resouce Record) å½¢å¼72 * +---------------------+ 73 * 74 * DNS ããã51 * | Question | Question section 形式 52 * +---------------------+ 53 * | Answer | RR (Resouce Record) 形式 54 * +---------------------+ 55 * | Authority | RR (Resouce Record) 形式 56 * +---------------------+ 57 * | Additional | RR (Resouce Record) 形式 58 * +---------------------+ 59 * 60 * DNS ヘッダ 75 61 * 76 62 * 0 7 8 15 … … 108 94 109 95 /* 110 * code ã®å®ç¾©111 */ 112 113 /* QR ã®å®ç¾©*/96 * code の定義 97 */ 98 99 /* QR の定義 */ 114 100 115 101 #define DNS_QR_QUERY 0x0000U 116 102 #define DNS_QR_RESPONSE 0x8000U 117 103 118 /* Opcode ã®å®ç¾©*/104 /* Opcode の定義 */ 119 105 120 106 #define DNS_OPCODE_MASK 0x7800U … … 123 109 #define DNS_OPCODE_STATUS 0x1000U 124 110 125 /* AA ã®å®ç¾©*/111 /* AA の定義 */ 126 112 127 113 #define DNS_AUTHORITATIVE 0x0400U 128 114 129 /* TC ã®å®ç¾©*/115 /* TC の定義 */ 130 116 131 117 #define DNS_TRUN_CATION 0x0200U 132 118 133 /* RD ã®å®ç¾©*/119 /* RD の定義 */ 134 120 135 121 #define DNS_RECURSION_DESIRED 0x0100U 136 122 137 /* RA ã®å®ç¾©*/123 /* RA の定義 */ 138 124 139 125 #define DNS_RECURSION_AVAILABLE 0x0080U 140 126 141 /* RCODE ã®å®ç¾©*/127 /* RCODE の定義 */ 142 128 143 129 #define DNS_RCODE_MASK 0x000fU … … 150 136 151 137 /* 152 * DNS TYPE ã®å®ç¾©138 * DNS TYPE の定義 153 139 */ 154 140 … … 161 147 162 148 /* 163 * DNS CLASS ã®å®ç¾©149 * DNS CLASS の定義 164 150 */ 165 151 … … 167 153 168 154 /* 169 * RR (Resouce Record) å½¢å¼155 * RR (Resouce Record) 形式 170 156 * 171 157 * 0 7 8 15 … … 193 179 * +-----------------------------------------------+ 194 180 * 195 * 注æ: offset ã®åç¹ã¯ DNS message ã®å 196 é 181 * 注意: offset の原点は DNS message の先頭 197 182 */ 198 183 … … 209 194 210 195 /* 211 * Question section å½¢å¼196 * Question section 形式 212 197 * 213 198 * 0 7 8 15 … … 234 219 235 220 /* 236 * SOA RDATA å½¢å¼221 * SOA RDATA 形式 237 222 * 238 223 * 0 7 8 15 … … 266 251 * +-----------------------------------------------+ 267 252 * 268 * 注æ: offset ã®åç¹ã¯ DNS message ã®å 269 é 253 * 注意: offset の原点は DNS message の先頭 270 254 */ 271 255 … … 283 267 284 268 /* 285 * DNS ã®å®æ°ã®å®ç¾©269 * DNS の定数の定義 286 270 */ 287 271 -
asp3_gr_sakura/trunk/tinet/netapp/lcd.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 72 60 73 61 /* 74 * å±æå¤æ°ã®å®ç¾©62 * 局所変数の定義 75 63 */ 76 64 … … 80 68 81 69 /* 82 * lcd_cls -- LCD 表示ã¯ãªã¢70 * lcd_cls -- LCD 表示クリア 83 71 */ 84 72 … … 92 80 93 81 /* 94 * lcd_newline -- LCD ã®è¡¨ç¤ºãæ¹è¡ããã82 * lcd_newline -- LCD の表示を改行する。 95 83 */ 96 84 … … 104 92 105 93 /* 106 * lcd_initialize -- LCD åæå94 * lcd_initialize -- LCD 初期化 107 95 */ 108 96 … … 115 103 116 104 /* 117 * lcd_putc -- LCD åºå105 * lcd_putc -- LCD 出力 118 106 */ 119 107 … … 134 122 135 123 /* 136 * lcd_puts -- LCD ã¸ã®æååã®åºå124 * lcd_puts -- LCD への文字列の出力 137 125 */ 138 126 … … 145 133 146 134 /* 147 * LCD ã¸ã®æ¸å¼ä»æåååºåã©ã¤ãã©ãª148 */ 149 150 /* 151 * æ°å¤å¤æã®ããã®å¤æ表135 * LCD への書式付文字列出力ライブラリ 136 */ 137 138 /* 139 * 数値変換のための変換表 152 140 */ 153 141 … … 156 144 157 145 /* 158 * ãã£ã¨ãé·ãæ´æ°å (LONGEST) ã¨ç¬¦å·ãªãæ´æ°å(ULONGEST)146 * もっとも長い整数型 (LONGEST) と符号なし整数型 (ULONGEST) 159 147 */ 160 148 … … 181 169 182 170 /* 183 * convert -- lcd_printf ã®æ°å¤å¤æ171 * convert -- lcd_printf の数値変換 184 172 */ 185 173 … … 214 202 215 203 pad = ix; 216 if (!left) /* å³è©°ã*/204 if (!left) /* 右詰め */ 217 205 for ( ; pad < width; pad ++) 218 206 lcd_putc(portid, padchar); … … 221 209 lcd_putc(portid, digits[ix]); 222 210 223 if (left) /* 左詰ã*/211 if (left) /* 左詰め */ 224 212 for ( ; pad < width; pad ++) 225 213 lcd_putc(portid, padchar); … … 231 219 232 220 /* 233 * ipv4addr -- IPv4 ã¢ãã¬ã¹åºå221 * ipv4addr -- IPv4 アドレス出力 234 222 */ 235 223 … … 237 225 put_ipv4addr (ID portid, T_IN4_ADDR *addr, int_t width) 238 226 { 239 int_t len = 3; /* 3 㯠'.' ã®æåæ°*/227 int_t len = 3; /* 3 は '.' の文字数 */ 240 228 241 229 len += convert(portid, (*addr >> 24) & 0xff, 10, radhex, 0, false, ' '); … … 256 244 257 245 /* 258 * ipv6addr -- IPv6 ã¢ãã¬ã¹åºå246 * ipv6addr -- IPv6 アドレス出力 259 247 */ 260 248 … … 300 288 301 289 /* 302 * macaddr -- MAC ã¢ãã¬ã¹åºå290 * macaddr -- MAC アドレス出力 303 291 */ 304 292 … … 319 307 320 308 /* 321 * å¼æ°ãåãåºãããã®ãã¯ã309 * 引数を取り出すためのマクロ 322 310 */ 323 311 … … 333 321 334 322 /* 335 * lcd_printf -- ã·ãªã¢ã«ãã¼ãã¸ã®æ¸å¼ä»æåååºå323 * lcd_printf -- シリアルポートへの書式付文字列出力 336 324 */ 337 325 … … 350 338 va_start(ap, fmt); 351 339 while ((ch = *fmt ++) != '\0') { 352 if (ch != '%') { /* æ¸å¼æå®ä»¥å¤*/340 if (ch != '%') { /* 書式指定以外 */ 353 341 lcd_putc(portid, (char)ch); 354 342 continue; … … 358 346 padchar = ' '; 359 347 360 if (ch == '-') { /* 左詰ã*/348 if (ch == '-') { /* 左詰め */ 361 349 fmt ++; 362 350 left = -1; … … 365 353 left = 1; 366 354 367 if ((ch = *fmt ++) == '0') { /* ä¸ä½æ¡ã®0 */355 if ((ch = *fmt ++) == '0') { /* 上位桁の 0 */ 368 356 padchar = '0'; 369 357 ch = *fmt ++; 370 358 } 371 359 372 while ('0' <= ch && ch <= '9') { /* åºåå¹ 373 */ 360 while ('0' <= ch && ch <= '9') { /* 出力幅 */ 374 361 width = width * 10 + ch - '0'; 375 362 ch = *fmt ++; 376 363 } 377 364 378 while (ch == 'l') { /* long (long) ã®æå®*/365 while (ch == 'l') { /* long (long) の指定 */ 379 366 longflag ++; 380 367 ch = *fmt ++; 381 368 } 382 369 383 while (ch == 'h') { /* short ã®æå®*/370 while (ch == 'h') { /* short の指定 */ 384 371 shortflag ++; 385 372 ch = *fmt ++; -
asp3_gr_sakura/trunk/tinet/netapp/lcd.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * æ±ç¨ LCD ãã©ã¤ã35 * 汎用 LCD ドライバ 48 36 */ 49 37 … … 52 40 53 41 /* 54 * lcd_cls -- LCD 表示ã¯ãªã¢42 * lcd_cls -- LCD 表示クリア 55 43 */ 56 44 extern void lcd_cls (void); 57 45 58 46 /* 59 * lcd_initialize -- LCD åæå47 * lcd_initialize -- LCD 初期化 60 48 */ 61 49 extern void lcd_initialize (intptr_t exinf); 62 50 63 51 /* 64 * lcd_putc -- LCD åºå52 * lcd_putc -- LCD 出力 65 53 */ 66 54 extern void lcd_putc (ID portid, int8_t data); 67 55 68 56 /* 69 * lcd_puts -- LCD ã¸ã®æååã®åºå57 * lcd_puts -- LCD への文字列の出力 70 58 */ 71 59 extern void lcd_puts (ID portid, const char *str); 72 60 73 61 /* 74 * LCD ã¸ã®æ¸å¼ä»æåååºåã©ã¤ãã©ãª62 * LCD への書式付文字列出力ライブラリ 75 63 */ 76 64 extern void lcd_printf (ID portid, const char *fmt, ...); -
asp3_gr_sakura/trunk/tinet/netapp/net_cons.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * ãããã¯ã¼ã¯çµç±ã³ã³ã½ã¼ã«å 48 ¥åºå 35 * ネットワーク経由コンソール入出力 49 36 */ 50 37 … … 83 70 84 71 /* 85 * ãã¯ãå®ç¾©86 */ 87 88 /* ãªãã¼ã ã®è§£é¤*/72 * マクロ定義 73 */ 74 75 /* リネームの解除 */ 89 76 90 77 #undef syslog … … 94 81 #define EOF (-1) 95 82 96 /* TELNET ãªãã·ã§ã³*/83 /* TELNET オプション */ 97 84 98 85 #define TELNET_OPT_SE (240) … … 120 107 121 108 /* 122 * å¤æ°123 */ 124 125 /* TCP éåä¿¡ã¦ã£ã³ããããã¡*/109 * 変数 110 */ 111 112 /* TCP 送受信ウィンドバッファ */ 126 113 127 114 uint8_t net_cons_swbuf[NET_CONS_SWBUF_SIZE]; 128 115 uint8_t net_cons_rwbuf[NET_CONS_RWBUF_SIZE]; 129 116 130 bool_t connected = false; /* ã³ãã¯ã·ã§ã³ã®ç¶æ 131 */ 132 bool_t wait_accept = false; /* æ¥ç¶è¦æ±å¾ 133 ã¡ä¸ */ 117 bool_t connected = false; /* コネクションの状態 */ 118 bool_t wait_accept = false; /* 接続要求待ち中 */ 134 119 135 120 #if defined(SUPPORT_INET6) … … 156 141 157 142 /* 158 * ãã³ããããã³ã°ã³ã¼ã«ã®ã³ã¼ã«ããã¯é¢æ°143 * ノンブロッキングコールのコールバック関数 159 144 */ 160 145 … … 196 181 197 182 /* 198 * éä¿¡ãããã¡ã®ãã©ãã·ã¥183 * 送信バッファのフラッシュ 199 184 */ 200 185 … … 218 203 219 204 /* 220 * æåéä¿¡205 * 文字送信 221 206 */ 222 207 … … 255 240 256 241 /* 257 * æååä¿¡ï¼å¤æãªãï¼242 * 文字受信(変換なし) 258 243 */ 259 244 … … 292 277 293 278 /* 294 * æååä¿¡ï¼TELNET ãªãã·ã§ã³ãã¹ãããï¼279 * 文字受信(TELNET オプションをスキップ) 295 280 */ 296 281 … … 357 342 358 343 /* 359 * ã³ãã¯ã·ã§ã³ãåæ344 * コネクションを切断 360 345 */ 361 346 … … 389 374 390 375 /* 391 * ã·ãªã¢ã«ãã¼ãã®å¶å¾¡376 * シリアルポートの制御 392 377 */ 393 378 … … 400 385 401 386 /* 402 * ãã°åºå387 * ログ出力 403 388 */ 404 389 … … 421 406 va_start(ap, format); 422 407 while ((ch = *format ++) != '\0') { 423 if (ch != '%') { /* æ¸å¼æå®ä»¥å¤*/408 if (ch != '%') { /* 書式指定以外 */ 424 409 cons_putchar(CONSOLE_PORTID, (char)ch); 425 410 continue; … … 430 415 padchar = ' '; 431 416 432 if (ch == '-') { /* 左詰ã*/417 if (ch == '-') { /* 左詰め */ 433 418 format ++; 434 419 left = -1; … … 437 422 left = 1; 438 423 439 if ((ch = *format ++) == '0') { /* ä¸ä½æ¡ã®0 */424 if ((ch = *format ++) == '0') { /* 上位桁の 0 */ 440 425 padchar = '0'; 441 426 ch = *format ++; 442 427 } 443 428 444 while ('0' <= ch && ch <= '9') { /* åºåå¹ 445 */ 429 while ('0' <= ch && ch <= '9') { /* 出力幅 */ 446 430 width = width * 10 + ch - '0'; 447 431 ch = *format ++; 448 432 } 449 433 450 while (ch == 'l') { /* long (long) ã®æå®*/434 while (ch == 'l') { /* long (long) の指定 */ 451 435 longflag = true; 452 436 ch = *format ++; … … 556 540 } 557 541 558 while (ch == 'l') { /* long (long) ã®æå®*/542 while (ch == 'l') { /* long (long) の指定 */ 559 543 longflag = true; 560 544 ch = *format ++; -
asp3_gr_sakura/trunk/tinet/netapp/net_cons.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * ãããã¯ã¼ã¯çµç±ã³ã³ã½ã¼ã«å 48 ¥åºå 49 * ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã« 35 * ネットワーク経由コンソール入出力 36 * システムコンフィギュレーションファイル 50 37 */ 51 38 -
asp3_gr_sakura/trunk/tinet/netapp/net_cons.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * ãããã¯ã¼ã¯çµç±ã³ã³ã½ã¼ã«å 48 ¥åºå 35 * ネットワーク経由コンソール入出力 49 36 */ 50 37 51 /* TCP éåä¿¡ã¦ã£ã³ããããã¡ãµã¤ãº*/38 /* TCP 送受信ウィンドバッファサイズ */ 52 39 53 40 #define NET_CONS_SWBUF_SIZE 512 … … 56 43 #ifndef _MACRO_ONLY 57 44 58 /* TCP éåä¿¡ã¦ã£ã³ããããã¡*/45 /* TCP 送受信ウィンドバッファ */ 59 46 60 47 extern uint8_t net_cons_swbuf[]; 61 48 extern uint8_t net_cons_rwbuf[]; 62 49 63 /* ãã³ããããã³ã°ã³ã¼ã«ã®ã³ã¼ã«ããã¯é¢æ°*/50 /* ノンブロッキングコールのコールバック関数 */ 64 51 65 52 extern ER callback_nblk_net_cons(ID cepid, FN fncd, void *p_parblk); -
asp3_gr_sakura/trunk/tinet/netapp/netapp.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 48 36 49 37 /* 50 * IPv4 㨠IPv6 ã®åæããã¯ã38 * IPv4 と IPv6 の切換えマクロ 51 39 */ 52 40 … … 66 54 67 55 /* 68 * ã³ã³ã½ã¼ã«ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå·56 * コンソールに用いるシリアルポート番号 69 57 */ 70 58 … … 74 62 75 63 /* 76 * ã³ã³ã½ã¼ã«ã«ç¨ãã LCD ãã¼ãçªå·64 * コンソールに用いる LCD ポート番号 77 65 */ 78 66 … … 80 68 81 69 /* 82 * æ°å¤å¤æã®ããã®å¤æ表70 * 数値変換のための変換表 83 71 */ 84 72 … … 87 75 88 76 /* 89 * é¢æ°77 * 関数 90 78 */ 91 79 -
asp3_gr_sakura/trunk/tinet/netapp/netapp_subr.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * ãããã¯ã¼ã¯å¿ç¨ããã°ã©ã ãµãã¼ãã«ã¼ãã³35 * ネットワーク応用プログラムサポートルーチン 48 36 */ 49 37 … … 88 76 89 77 /* 90 * IPv6 㨠IPv4 ã§å¼æ°ãç°ãªãé¢æ°ã®ã³ã³ãã¤ã«78 * IPv6 と IPv4 で引数が異なる関数のコンパイル 91 79 */ 92 80 … … 312 300 313 301 /* 314 * å¤æ°302 * 変数 315 303 */ 316 304 … … 325 313 326 314 /* 327 * ã·ãªã¢ã«ãã¼ãã¸ã®æ¸å¼ä»æåååºåã©ã¤ãã©ãª315 * シリアルポートへの書式付文字列出力ライブラリ 328 316 */ 329 317 … … 331 319 332 320 /* 333 * æ°å¤å¤æã®ããã®å¤æ表321 * 数値変換のための変換表 334 322 */ 335 323 … … 338 326 339 327 /* 340 * netapp_rand -- ä¹±æ°ãè¿ãã328 * netapp_rand -- 乱数を返す。 341 329 */ 342 330 … … 349 337 350 338 /* 351 * srand -- ä¹±æ°ãåæåããã339 * srand -- 乱数を初期化する。 352 340 */ 353 341 … … 364 352 365 353 /* 366 * cons_putchar -- ã·ãªã¢ã«ãã¼ãã¸ã®æååºå354 * cons_putchar -- シリアルポートへの文字出力 367 355 */ 368 356 … … 374 362 375 363 /* 376 * cons_getchar -- ã·ãªã¢ã«ãã¼ãããã®æåå 377 ¥å 364 * cons_getchar -- シリアルポートからの文字入力 378 365 */ 379 366 … … 392 379 393 380 /* 394 * cons_putnumber -- cons_printf ã®æ°å¤å¤æ381 * cons_putnumber -- cons_printf の数値変換 395 382 */ 396 383 … … 425 412 426 413 pad = ix; 427 if (!left) /* å³è©°ã*/414 if (!left) /* 右詰め */ 428 415 for ( ; pad < width; pad ++) 429 416 cons_putchar(portid, padchar); … … 432 419 cons_putchar(portid, digits[ix]); 433 420 434 if (left) /* 左詰ã*/421 if (left) /* 左詰め */ 435 422 for ( ; pad < width; pad ++) 436 423 cons_putchar(portid, padchar); … … 440 427 441 428 /* 442 * put_ipv4addr -- IPv4 ã¢ãã¬ã¹åºå429 * put_ipv4addr -- IPv4 アドレス出力 443 430 */ 444 431 … … 446 433 put_ipv4addr (ID portid, T_IN4_ADDR *addr, int_t width) 447 434 { 448 int_t len = 3; /* 3 㯠'.' ã®æåæ°*/435 int_t len = 3; /* 3 は '.' の文字数 */ 449 436 450 437 len += cons_putnumber(portid, (*addr >> 24) & 0xff, 10, radhex, 0, false, ' '); … … 463 450 464 451 /* 465 * ipv6addr -- IPv6 ã¢ãã¬ã¹åºå452 * ipv6addr -- IPv6 アドレス出力 466 453 */ 467 454 … … 522 509 523 510 /* 524 * put_macaddr -- MAC ã¢ãã¬ã¹åºå511 * put_macaddr -- MAC アドレス出力 525 512 */ 526 513 … … 543 530 544 531 /* 545 * cons_printf -- ã·ãªã¢ã«ãã¼ãã¸ã®æ¸å¼ä»æåååºå532 * cons_printf -- シリアルポートへの書式付文字列出力 546 533 */ 547 534 … … 557 544 va_start(ap, fmt); 558 545 while ((ch = *fmt ++) != '\0') { 559 if (ch != '%') { /* æ¸å¼æå®ä»¥å¤*/546 if (ch != '%') { /* 書式指定以外 */ 560 547 cons_putchar(portid, (char)ch); 561 548 continue; … … 565 552 padchar = ' '; 566 553 567 if (*fmt == '-') { /* 左詰ã*/554 if (*fmt == '-') { /* 左詰め */ 568 555 fmt ++; 569 556 left = -1; … … 572 559 left = 1; 573 560 574 if ((ch = *fmt ++) == '0') { /* ä¸ä½æ¡ã®0 */561 if ((ch = *fmt ++) == '0') { /* 上位桁の 0 */ 575 562 padchar = '0'; 576 563 ch = *fmt ++; 577 564 } 578 565 579 while ('0' <= ch && ch <= '9') { /* åºåå¹ 580 */ 566 while ('0' <= ch && ch <= '9') { /* 出力幅 */ 581 567 width = width * 10 + ch - '0'; 582 568 ch = *fmt ++; 583 569 } 584 570 585 while (ch == 'l') { /* long (long) ã®æå®*/571 while (ch == 'l') { /* long (long) の指定 */ 586 572 longflag ++; 587 573 ch = *fmt ++; 588 574 } 589 575 590 while (ch == 'h') { /* short ã®æå®*/576 while (ch == 'h') { /* short の指定 */ 591 577 shortflag ++; 592 578 ch = *fmt ++; … … 689 675 690 676 /* 691 * host2msg16 -- 16 ãããã®å¤ãããã¤ããªã¼ãã¼ã調æ´ãã¦ã¡ãã»ã¼ã¸ã«æ¸ãè¾¼ãã677 * host2msg16 -- 16ビットの値を、バイトオーダーを調整してメッセージに書き込む。 692 678 */ 693 679 … … 702 688 703 689 /* 704 * host2msg32 -- 32 ãããã®å¤ãããã¤ããªã¼ãã¼ã調æ´ãã¦ã¡ãã»ã¼ã¸ã«æ¸ãè¾¼ãã690 * host2msg32 -- 32ビットの値を、バイトオーダーを調整してメッセージに書き込む。 705 691 */ 706 692 … … 715 701 716 702 /* 717 * msg2host16 -- 16 ãããã®å¤ãããã¤ããªã¼ãã¼ã調æ´ãã¦ã¡ãã»ã¼ã¸ããèªã¿åºãã703 * msg2host16 -- 16ビットの値を、バイトオーダーを調整してメッセージから読み出す。 718 704 */ 719 705 … … 728 714 729 715 /* 730 * msg2host32 -- 32 ãããã®å¤ãããã¤ããªã¼ãã¼ã調æ´ãã¦ã¡ãã»ã¼ã¸ããèªã¿åºãã716 * msg2host32 -- 32ビットの値を、バイトオーダーを調整してメッセージから読み出す。 731 717 */ 732 718 … … 741 727 742 728 /* 743 * skip_blanks -- 空ç½ã¨ TAB ãã¹ãããããã729 * skip_blanks -- 空白と TAB をスキップする。 744 730 */ 745 731 … … 753 739 754 740 /* 755 * get_ipv4addr -- æååã® IPv4 ã¢ãã¬ã¹ã T_IN4_ADDR å¤ã«å¤æããã741 * get_ipv4addr -- 文字列の IPv4 アドレスを T_IN4_ADDR 値に変換する。 756 742 */ 757 743 … … 780 766 781 767 /* 782 * get_ipv6addr -- æååã® IPv6 ã¢ãã¬ã¹ã T_IN6_ADDR å¤ã«å¤æããã768 * get_ipv6addr -- 文字列の IPv6 アドレスを T_IN6_ADDR 値に変換する。 783 769 */ 784 770 … … 792 778 793 779 /* 794 * IPv4 ã¢ãã¬ã¹ï¼æ°å.ï¼ãæ¤åºããã IPv4 ã¢ãã¬ã¹ã¨ãã¦å 795 ¥åãã 796 * IPv4 å°å½±ã¢ãã¬ã¹ã«å¤æããã 780 * IPv4 アドレス(数字.)を検出したら IPv4 アドレスとして入力し、 781 * IPv4 射影アドレスに変換する。 797 782 */ 798 783 for (ipv4line = line; '0' <= *ipv4line && *ipv4line <= '9'; ipv4line ++) … … 843 828 844 829 /* 845 * ãããã°è¡å 846 ¥å 830 * デバッグ行入力 847 831 */ 848 832 … … 876 860 877 861 /* 878 * get_int -- æ´æ°å¤æ862 * get_int -- 整数変換 879 863 */ 880 864 … … 904 888 905 889 /* 906 * get_xuint -- 符å·ãªãæ´æ° (16é²) å¤æ890 * get_xuint -- 符号なし整数 (16進) 変換 907 891 */ 908 892 … … 929 913 930 914 /* 931 * dns_strtype -- DNS ã® type ã®æååãè¿ãã915 * dns_strtype -- DNS の type の文字列を返す。 932 916 */ 933 917 … … 961 945 962 946 /* 963 * dns_strclass -- DNS ã® class ã表示ããã947 * dns_strclass -- DNS の class を表示する。 964 948 */ 965 949 … … 978 962 979 963 /* 980 * resolv_hoststr -- æååã®FQDNã»ãã¹ãåã»IPv6/IPv4 ã¢ãã¬ã¹ã解æããã964 * resolv_hoststr -- 文字列のFQDN・ホスト名・IPv6/IPv4 アドレスを解析する。 981 965 */ 982 966 … … 1052 1036 1053 1037 /* 1054 * show_dns_domain_name -- DNS ã®ãã¡ã¤ã³åã表示ããã1038 * show_dns_domain_name -- DNS のドメイン名を表示する。 1055 1039 */ 1056 1040 … … 1080 1064 1081 1065 /* 1082 * resolv_options -- ã¢ãã¬ã¹è§£æ±ºã®ãªãã·ã§ã³è§£æ1066 * resolv_options -- アドレス解決のオプション解析 1083 1067 */ 1084 1068 … … 1158 1142 if (*flags | DNS_LUP_FLAGS_PROTO_IPV6) { 1159 1143 /* 1160 * IPv6 㧠DNS ãµã¼ãã«ç 1161 §ä¼ãããã¨ãæå®ããã¦ãã 1162 * ãµã¼ãã® IPv6 ã¢ãã¬ã¹ãæªå®ç¾©ã®æã¯ãæå®ãå¤ãã 1144 * IPv6 で DNS サーバに照会することが指定されても、 1145 * サーバの IPv6 アドレスが未定義の時は、指定を外す。 1163 1146 */ 1164 1147 dns_in6_get_addr(&in6_addr); … … 1173 1156 if (*flags | DNS_LUP_FLAGS_PROTO_IPV4) { 1174 1157 /* 1175 * IPv4 㧠DNS ãµã¼ãã«ç 1176 §ä¼ãããã¨ãæå®ããã¦ãã 1177 * ãµã¼ãã® IPv4 ã¢ãã¬ã¹ãæªå®ç¾©ã®æã¯ãæå®ãå¤ãã 1158 * IPv4 で DNS サーバに照会することが指定されても、 1159 * サーバの IPv4 アドレスが未定義の時は、指定を外す。 1178 1160 */ 1179 1161 dns_in4_get_addr(&in4_addr); … … 1190 1172 1191 1173 /* 1192 * lookup_ipaddr -- ãã¹ãåã»ãªãã©ã«ã®IPã¢ãã¬ã¹ãIP ã¢ãã¬ã¹ã«å¤æããã1174 * lookup_ipaddr -- ホスト名・リテラルのIPアドレスをIP アドレスに変換する。 1193 1175 */ 1194 1176 -
asp3_gr_sakura/trunk/tinet/netapp/netapp_subr.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * ãµã³ãã«ã¢ããªã±ã¼ã·ã§ã³å 48 ±é 49 * ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã« 35 * サンプルアプリケーション共通 36 * コンフィギュレーションファイル 50 37 */ 51 38 -
asp3_gr_sakura/trunk/tinet/netapp/netapp_var.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 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 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 48 36 49 37 /* 50 * TOPPERS/JSP ã«ã¼ãã«ãã·ã¹ãã æå» (SYSTIM) ã®å¨æ³¢æ°38 * TOPPERS/JSP カーネル、システム時刻 (SYSTIM) の周波数 51 39 */ 52 40 … … 54 42 55 43 /* 56 * IPv6/IPv4 ã«é¢ããå®ç¾© 57 */ 58 59 /* 60 * æå®ããããã¯ãã«å¯¾ãããµã³ãã«ã¢ããªã±ã¼ã·ã§ã³å 61 é¨ã®ãã¯ãã®å®ç¾© 44 * IPv6/IPv4 に関する定義 45 */ 46 47 /* 48 * 指定されたマクロに対するサンプルアプリケーション内部のマクロの定義 62 49 * 63 50 * SUPPORT_INET6 . . ON ON ON ON … … 81 68 82 69 /* 83 * IPv4 㨠IPv6 ãã³ã³ãã¤ã«æã«é¸æããããã®ãã¯ã70 * IPv4 と IPv6 をコンパイル時に選択するためのマクロ 84 71 */ 85 72 … … 103 90 104 91 /* 105 * API IP ãããã³ã«ã®æå®92 * API IPプロトコルの指定 106 93 */ 107 94 … … 113 100 114 101 /* 115 * resolv_hoststr ãè¿ã flags ã®å¤ã®å®ç¾©116 * 117 * 注æ:118 * 119 * dns.h ã§å®ç¾©ããã¦ãã DNS_OPCODEã120 * resolver.h ã§å®ç¾©ããã¦ãã DNS_LUP_FLAGS ã¨éãªããªãäºã102 * resolv_hoststr が返す flags の値の定義 103 * 104 * 注意: 105 * 106 * dns.h で定義されている DNS_OPCODE、 107 * resolver.h で定義されている DNS_LUP_FLAGS と重ならない事。 121 108 */ 122 109 … … 128 115 129 116 /* 130 * å®æ°ã®å®ç¾©117 * 定数の定義 131 118 */ 132 119 … … 144 131 145 132 /* 146 * é¢æ°ã·ãã¥ã¬ã¼ã·ã§ã³ãã¯ã147 */ 148 149 /* ã¡ãã»ã¼ã¸ããã®èªåºã*/133 * 関数シミュレーションマクロ 134 */ 135 136 /* メッセージからの読出し */ 150 137 151 138 #define MSG2HOST16(p) (msg2host16((void*)&(p))) 152 139 #define MSG2HOST32(p) (msg2host32((void*)&(p))) 153 140 154 /* ã¡ãã»ã¼ã¸ã¸ã®æ¸è¾¼ã¿*/141 /* メッセージへの書込み */ 155 142 156 143 #define HOST2MSG16(p,v) (host2msg16((void*)&(p),(v))) … … 158 145 159 146 /* 160 * ãããã¯ã¼ã¯çµç±ã³ã³ã½ã¼ã«å 161 ¥åºå 147 * ネットワーク経由コンソール入出力 162 148 */ 163 149 164 150 #ifdef USE_NET_CONS 165 151 166 /* ãªãã¼ã*/152 /* リネーム */ 167 153 168 154 #define syslog net_syslog 169 155 #define serial_ctl_por net_serial_ctl_por 170 156 171 /* é¢æ°ã·ãã¥ã¬ã¼ã·ã§ã³ãã¯ã*/157 /* 関数シミュレーションマクロ */ 172 158 173 159 #define FLUSH_SND_BUFF() flush_snd_buff() … … 177 163 #else /* of #ifdef USE_NET_CONS */ 178 164 179 /* é¢æ°ã·ãã¥ã¬ã¼ã·ã§ã³ãã¯ã*/165 /* 関数シミュレーションマクロ */ 180 166 181 167 #define FLUSH_SND_BUFF() … … 186 172 187 173 /* 188 * é¢æ°174 * 関数 189 175 */ 190 176 -
asp3_gr_sakura/trunk/tinet/netapp/netappn_subr.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * ãããã¯ã¼ã¯å¿ç¨ããã°ã©ã ãµãã¼ãã«ã¼ãã³35 * ネットワーク応用プログラムサポートルーチン 48 36 */ 49 37 … … 51 39 52 40 /* 53 * alloc_tcp_rep -- TCP åä»å£ãç²å¾ããã41 * alloc_tcp_rep -- TCP 受付口を獲得する。 54 42 */ 55 43 … … 77 65 78 66 /* 79 * free_tcp_rep -- TCP åä»å£ã解æ¾ããã67 * free_tcp_rep -- TCP 受付口を解放する。 80 68 */ 81 69 … … 101 89 102 90 /* 103 * tcpn_is_cepid -- TCP é信端ç¹ãæå®ããããããã¯ã¼ã¯å±¤ãªã true ãè¿ãã91 * tcpn_is_cepid -- TCP 通信端点が指定されたネットワーク層なら true を返す。 104 92 */ 105 93 … … 117 105 118 106 /* 119 * alloc_tcp_cep -- TCP é信端ç¹ãç²å¾ããã107 * alloc_tcp_cep -- TCP 通信端点を獲得する。 120 108 */ 121 109 … … 143 131 144 132 /* 145 * free_tcp_cep -- TCP é信端ç¹ã解æ¾ããã133 * free_tcp_cep -- TCP 通信端点を解放する。 146 134 */ 147 135 … … 168 156 169 157 /* 170 * alloc_udp_cep -- UDP é信端ç¹ãç²å¾ããã158 * alloc_udp_cep -- UDP 通信端点を獲得する。 171 159 */ 172 160 … … 194 182 195 183 /* 196 * free_udp_cep -- UDP é信端ç¹ã解æ¾ããã184 * free_udp_cep -- UDP 通信端点を解放する。 197 185 */ 198 186 -
asp3_gr_sakura/trunk/tinet/netapp/ping.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * ping -- ICMP ECHO ã¡ãã»ã¼ã¸ãéä¿¡ããã35 * ping -- ICMP ECHO メッセージを送信する。 48 36 */ 49 37 … … 90 78 91 79 /* 92 * å¤æ°80 * 変数 93 81 */ 94 82 … … 102 90 103 91 /* 104 * icmp_reply_timeout -- ICMP REPLY ã¿ã¤ã ã¢ã¦ãå¦ç92 * icmp_reply_timeout -- ICMP REPLY タイムアウト処理 105 93 */ 106 94 … … 112 100 113 101 /* 114 * icmp_echo_reply -- ICMP ECHO REPLY ã¡ãã»ã¼ã¸ãå¦çããã102 * icmp_echo_reply -- ICMP ECHO REPLY メッセージを処理する。 115 103 */ 116 104 … … 130 118 131 119 /* 132 * ping4 -- ICMP ECHO ã¡ãã»ã¼ã¸ãéä¿¡ããã120 * ping4 -- ICMP ECHO メッセージを送信する。 133 121 */ 134 122 … … 141 129 int_t ix; 142 130 143 /* éä¿¡ç¨ã® IP ãã¼ã¿ã°ã©ã ãç²å¾ããã*/131 /* 送信用の IP データグラムを獲得する。*/ 144 132 if (in4_get_datagram(&output, ICMP4_HDR_SIZE + len, 0, 145 133 addr, NULL, IPPROTO_ICMP, … … 147 135 return; 148 136 149 /* ICMP ããããè¨å®ããã*/137 /* ICMP ヘッダを設定する。*/ 150 138 icmp4h = GET_ICMP4_HDR(output, IF_IP4_ICMP4_HDR_OFFSET); 151 139 icmp4h->type = ICMP4_ECHO_REQUEST; … … 154 142 icmp4h->data.id_seq.seq = 0; 155 143 156 /* ãã¼ã¿ãè¨å®ããã*/144 /* データを設定する。*/ 157 145 sdu = GET_ICMP4_SDU(output, IF_IP4_ICMP4_HDR_OFFSET) + len; 158 146 for (ix = len; ix -- > 0; ) 159 147 *-- sdu = ('0' + icmp_id + ix) & 0xff; 160 148 161 /* ãã§ãã¯ãµã ãè¨ç®ããã*/149 /* チェックサムを計算する。*/ 162 150 icmp4h->sum = 0; 163 151 icmp4h->sum = in_cksum(icmp4h, ICMP4_HDR_SIZE + len); 164 152 165 /* å¿çãã§ãã¯ç¨ã®å¤æ°ãè¨å®ããã*/153 /* 応答チェック用の変数を設定する。*/ 166 154 #if 0 167 155 curr_icmp_id = icmp_id ++; … … 172 160 NET_COUNT_MIB(icmp_stats.icmpOutEchos, 1); 173 161 174 /* éä¿¡å¾ãç¾å¨ã®æéãè¨æ¶ããã¿ã¤ã ã¢ã¦ããè¨å®ããã*/162 /* 送信後、現在の時間を記憶し、タイムアウトを設定する。*/ 175 163 ip_output(output, TMO_FEVR); 176 164 -
asp3_gr_sakura/trunk/tinet/netapp/ping6.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * ping6 -- ICMPv6 ECHO ã¡ãã»ã¼ã¸ãéä¿¡ããã35 * ping6 -- ICMPv6 ECHO メッセージを送信する。 48 36 */ 49 37 … … 93 81 94 82 /* 95 * å¤æ°83 * 変数 96 84 */ 97 85 … … 106 94 107 95 /* 108 * icmp6_reply_timeout -- ICMP6 REPLY ã¿ã¤ã ã¢ã¦ãå¦ç96 * icmp6_reply_timeout -- ICMP6 REPLY タイムアウト処理 109 97 */ 110 98 … … 117 105 118 106 /* 119 * icmp6_echo_reply -- ICMP6 ECHO REPLY ã¡ãã»ã¼ã¸ãå¦çããã107 * icmp6_echo_reply -- ICMP6 ECHO REPLY メッセージを処理する。 120 108 */ 121 109 … … 134 122 135 123 /* 136 * ping6 -- ICMP ECHO ã¡ãã»ã¼ã¸ãéä¿¡ããã124 * ping6 -- ICMP ECHO メッセージを送信する。 137 125 */ 138 126 … … 149 137 150 138 /* 151 * å®å 152 ã¢ãã¬ã¹ã«ãµããããéä¿¡å 153 ã¢ãã¬ã¹ãã 154 * ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ããæ¢ç´¢ãã¦å©ç¨ããã 139 * 宛先アドレスにふさわしい送信元アドレスを、 140 * ネットワークインタフェースから探索して利用する。 155 141 */ 156 142 if ((ia = in6_ifawithifp(ifp, addr)) == NULL) … … 160 146 ipflags = IPV6_OUT_SET_HOP_LIMIT(IPV6_OUT_FLG_HOP_LIMIT, IPV6_DEFHLIM); 161 147 162 /* éä¿¡ç¨ã® IP ãã¼ã¿ã°ã©ã ãç²å¾ããã*/148 /* 送信用の IP データグラムを獲得する。*/ 163 149 if (in6_get_datagram(&output, ICMP6_HDR_SIZE + size, 0, 164 150 addr, &ia->addr, IPPROTO_ICMPV6, … … 166 152 return; 167 153 168 /* ICMP ããããè¨å®ããã*/154 /* ICMP ヘッダを設定する。*/ 169 155 icmp6h = GET_ICMP6_HDR(output, IF_IP6_ICMP6_HDR_OFFSET); 170 156 icmp6h->type = ICMP6_ECHO_REQUEST; … … 173 159 icmp6h->icmp6_seq= 0; 174 160 175 /* ãã¼ã¿ãè¨å®ããã*/161 /* データを設定する。*/ 176 162 sdu = GET_ICMP6_SDU(output, IF_IP6_ICMP6_HDR_OFFSET) + size; 177 163 for (ix = size; ix -- > 0; ) 178 164 *-- sdu = ('0' + send_icmp6_id + ix) & 0xff; 179 165 180 /* ãã§ãã¯ãµã ãè¨ç®ããã*/166 /* チェックサムを計算する。*/ 181 167 icmp6h->sum = 0; 182 168 icmp6h->sum = in6_cksum(output, IPPROTO_ICMPV6, 183 169 (uint8_t*)icmp6h - output->buf, ICMP6_HDR_SIZE + size); 184 170 185 /* å¿çãã§ãã¯ç¨ã®å¤æ°ãè¨å®ããã*/171 /* 応答チェック用の変数を設定する。*/ 186 172 reply_count = 0; 187 173 … … 197 183 #endif 198 184 199 /* éä¿¡å¾ãç¾å¨ã®æéãè¨æ¶ããã¿ã¤ã ã¢ã¦ããè¨å®ããã*/185 /* 送信後、現在の時間を記憶し、タイムアウトを設定する。*/ 200 186 ip6_output(output, ipflags, TMO_FEVR); 201 187 NET_COUNT_MIB(icmp6_ifstat.ipv6IfIcmpOutMsgs, 1); -
asp3_gr_sakura/trunk/tinet/netapp/resolver.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 * ã¨ï¼ 29 * (a) åé 30 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 31 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 32 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 33 * (b) åé 34 å¸ã®å½¢æ 35 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 36 * å ±åãããã¨ï¼ 37 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 38 * 害ãããï¼ä¸è¨èä½æ¨©è 39 ããã³TOPPERSããã¸ã§ã¯ããå 40 責ãããã¨ï¼ 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 * と. 22 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 23 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 24 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 25 * 報告すること. 26 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 27 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 41 28 * 42 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 43 ã 44 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 45 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 46 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 31 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 32 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 47 33 * 48 34 * @(#) $Id$ … … 50 36 51 37 /* 52 * ãã¹ãåââIP ã¢ãã¬ã¹å¤æ38 * ホスト名←→IP アドレス変換 53 39 */ 54 40 … … 86 72 87 73 /* 88 * å±æå¤æ°74 * 局所変数 89 75 */ 90 76 … … 103 89 104 90 /* 105 * get_dns_header -- DNS ã¡ãã»ã¼ã¸ãã DNS ããããåãåºãã91 * get_dns_header -- DNS メッセージから DNS ヘッダを取り出す。 106 92 */ 107 93 … … 111 97 T_DNS_HDR *dns_hdr; 112 98 113 /* DNS ããããåãåºãã*/99 /* DNS ヘッダを取り出す。*/ 114 100 if (length < sizeof(rslv->dns_hdr)) 115 101 return EV_RSLV_ESIZE; … … 125 111 126 112 /* 127 * dns_strtype -- DNS ã® type ã®æååãè¿ãã113 * dns_strtype -- DNS の type の文字列を返す。 128 114 */ 129 115 … … 144 130 145 131 /* 146 * udp6_dns -- UDP/IPv6 ã«ãã DNS ãµã¼ãããã¡ãã»ã¼ã¸ãåä¿¡ããã132 * udp6_dns -- UDP/IPv6 により DNS サーバからメッセージを受信する。 147 133 */ 148 134 … … 154 140 int retry; 155 141 156 /* DNS ãµã¼ãã® IPv6 ã¢ãã¬ã¹ãæªå®ç¾©ã®æã¯ãã©ã¡ã¼ã¿ã¨ã©ã¼*/142 /* DNS サーバの IPv6 アドレスが未定義の時はパラメータエラー */ 157 143 if (IN6_IS_ADDR_UNSPECIFIED(addr) || (in6_is_addr_ipv4mapped(addr) && addr->s6_addr32[3] == IPV4_ADDRANY)) { 158 144 syslog(LOG_NOTICE, "[RSLV] undefined IPv6 DNS server address."); … … 190 176 191 177 /* 192 * udp4_dns -- UDP/IPv4 ã«ãã DNS ãµã¼ãããã¡ãã»ã¼ã¸ãåä¿¡ããã178 * udp4_dns -- UDP/IPv4 により DNS サーバからメッセージを受信する。 193 179 */ 194 180 … … 200 186 int retry; 201 187 202 /* DNS ãµã¼ãã® IPv4 ã¢ãã¬ã¹ãæªå®ç¾©ã®æã¯ãã©ã¡ã¼ã¿ã¨ã©ã¼*/188 /* DNS サーバの IPv4 アドレスが未定義の時はパラメータエラー */ 203 189 if (*addr == IPV4_ADDRANY) { 204 190 syslog(LOG_NOTICE, "[RSLV] undefined IPv4 DNS server address."); … … 234 220 235 221 /* 236 * skip_label -- ã©ãã«ãèªã¿é£ã°ãã222 * skip_label -- ラベルを読み飛ばす。 237 223 */ 238 224 … … 246 232 247 233 /* 248 * add_name -- ã¡ãã»ã¼ã¸ã«ååã追å ããã234 * add_name -- メッセージに名前を追加する。 249 235 */ 250 236 … … 257 243 while (*name != '\0') { 258 244 259 /* ã¡ãã»ã¼ã¸ãµã¤ãºã«éãã¦ãããã¨ã©ã¼*/245 /* メッセージサイズに達していたらエラー */ 260 246 if (offset + 1 > size) 261 247 return E_BOVR; 262 248 263 /* ã©ãã«ã®çµãããè¦ã¤ããã*/249 /* ラベルの終わりを見つける。*/ 264 250 tail = skip_label(name); 265 251 266 /* ã©ãã«é·ãè¨å®ããã*/252 /* ラベル長を設定する。*/ 267 253 label_len = tail - name; 268 if (label_len > DNS_LABEL_LENGTH) { /* 63 ãªã¯ããããè¶ 269 ããã¨ã¨ã©ã¼ */ 254 if (label_len > DNS_LABEL_LENGTH) { /* 63 オクテットを超えるとエラー */ 270 255 syslog(LOG_NOTICE, "[RSLV] label length(%d) too long > %d.", 271 256 label_len, DNS_LABEL_LENGTH); … … 276 261 offset ++; 277 262 278 /* ã©ãã«åãè¨å®ããã*/ 279 if (offset + label_len > size) { /* ã¡ãã»ã¼ã¸ãµã¤ãºãè¶ 280 ããã¨ã¨ã©ã¼ */ 263 /* ラベル名を設定する。*/ 264 if (offset + label_len > size) { /* メッセージサイズを超えるとエラー */ 281 265 syslog(LOG_NOTICE, "[RSLV] message length(%d) too long > %d.", 282 266 offset + label_len, size); … … 287 271 offset += label_len; 288 272 289 /* 次ã®ã©ãã«ã«ç§»åããã*/273 /* 次のラベルに移動する。*/ 290 274 if (*tail == '\0') 291 275 name = tail; 292 276 else 293 name = tail + 1; /* '.' ãã¹ãããããã*/277 name = tail + 1; /* '.' をスキップする。*/ 294 278 } 295 279 … … 298 282 299 283 /* 300 * add_ipv6addr -- ã¡ãã»ã¼ã¸ã« IPv6 ã¢ãã¬ã¹ã追å ããã284 * add_ipv6addr -- メッセージに IPv6 アドレスを追加する。 301 285 */ 302 286 … … 318 302 for (col = sizeof(T_IN6_ADDR) * 2; -- col >= 0; ) { 319 303 320 /* 16 é²æ° 1æ¡ã®å¤ããååã¨ãã¦è¿½å ããã*/304 /* 16進数 1桁の値を、名前として追加する。*/ 321 305 digit[0] = (addr.s6_addr8[col / 2] >> ((1 - (col % 2)) << 2)) & 0x0f; 322 306 if (digit[0] >= 10) … … 329 313 } 330 314 331 /* "ip6" ã追å ããã*/315 /* "ip6" を追加する。*/ 332 316 if ((error = add_name(msg, size, offset, "ip6")) < 0) 333 317 return error; 334 318 335 /* "arpa" ã追å ããã*/319 /* "arpa" を追加する。*/ 336 320 return add_name(msg, size, error, "arpa"); 337 321 } 338 322 339 323 /* 340 * add_ipv4addr -- ã¡ãã»ã¼ã¸ã« IPv4 ã¢ãã¬ã¹ã追å ããã324 * add_ipv4addr -- メッセージに IPv4 アドレスを追加する。 341 325 */ 342 326 … … 358 342 for (col = 0; col < sizeof(T_IN4_ADDR); col ++) { 359 343 360 /* 1 ãªã¯ãããã®å¤ããæ´æ°å¤ãããªãã©ã«ã«å¤æããã*/344 /* 1オクテットの値を、整数値からリテラルに変換する。*/ 361 345 octet = (addr >> (col << 3)) & 0xff; 362 346 op = &ostr[3]; … … 366 350 } 367 351 368 /* 1 ãªã¯ãããã®å¤ããååã¨ãã¦è¿½å ããã*/352 /* 1オクテットの値を、名前として追加する。*/ 369 353 if ((error = add_name(msg, size, offset, op)) < 0) 370 354 return error; … … 372 356 } 373 357 374 /* "in-addr" ã追å ããã*/358 /* "in-addr" を追加する。*/ 375 359 if ((error = add_name(msg, size, offset, "in-addr")) < 0) 376 360 return error; 377 361 378 /* "arpa" ã追å ããã*/362 /* "arpa" を追加する。*/ 379 363 return add_name(msg, size, error, "arpa"); 380 364 } 381 365 382 366 /* 383 * setup_dns_msg -- DNS ã¡ãã»ã¼ã¸ãä½æããã367 * setup_dns_msg -- DNS メッセージを作成する。 384 368 */ 385 369 … … 405 389 case DNS_LUP_FLAGS_NAME_FQDN: 406 390 407 /* ãã¹ãåãã¾ã㯠FQDN ã®æã®å¦çã*/408 /* ãã¹ãåã追å ããã*/391 /* ホスト名、または FQDN の時の処理。*/ 392 /* ホスト名を追加する。*/ 409 393 if ((offset = add_name(msg, msg_size, offset, name)) < 0) 410 394 return offset; 411 395 412 if (offset - sizeof(dns_hdr) > DNS_NAME_LENGTH) { /* ååã 255 ãªã¯ããããè¶ 413 ããã¨ã¨ã©ã¼ */ 396 if (offset - sizeof(dns_hdr) > DNS_NAME_LENGTH) { /* 名前が 255 オクテットを超えるとエラー */ 414 397 syslog(LOG_NOTICE, "[RSLV] name length(%d) too long > %d.", 415 398 offset - sizeof(dns_hdr), DNS_NAME_LENGTH); … … 417 400 } 418 401 419 /* ãã¹ãåã ãã®æã¯ããã¡ã¤ã³åã追å ããã*/402 /* ホスト名だけの時は、ドメイン名を追加する。*/ 420 403 if ((flags & DNS_LUP_FLAGS_NAME_MASK) == DNS_LUP_FLAGS_NAME_HOST) { 421 404 422 /* ãã¡ã¤ã³åã追å ããã*/405 /* ドメイン名を追加する。*/ 423 406 if ((offset = add_name(msg, msg_size, offset, (char *)dns_domain_name)) < 0) 424 407 return offset; 425 408 426 if (offset - sizeof(dns_hdr) > DNS_NAME_LENGTH) { /* ååã 255 ãªã¯ããããè¶ 427 ããã¨ã¨ã©ã¼ */ 409 if (offset - sizeof(dns_hdr) > DNS_NAME_LENGTH) { /* 名前が 255 オクテットを超えるとエラー */ 428 410 syslog(LOG_NOTICE, "[RSLV] name length(%d) too long > %d.", 429 411 offset - sizeof(dns_hdr), DNS_NAME_LENGTH); … … 450 432 } 451 433 452 /* ååã®çµäºã³ã¼ããTYPEãCLASS ã追å ãã¦ãã¡ãã»ã¼ã¸é·ãè¶ 453 ããªããã¨ã確èªããã*/ 434 /* 名前の終了コード、TYPE、CLASS を追加してもメッセージ長を超えないことを確認する。*/ 454 435 if (offset + sizeof(uint16_t) * 2 + 1 > msg_size) { 455 436 syslog(LOG_NOTICE, "[RSLV] message length(%d) too long > %d.", … … 458 439 } 459 440 460 /* ååã®çµäºã³ã¼ããè¨å®ããã*/441 /* 名前の終了コードを設定する。*/ 461 442 *(msg + offset) = '\0'; 462 443 offset ++; 463 444 464 /* DNS ã® TYPE ãè¨å®ããã*/445 /* DNS の TYPE を設定する。*/ 465 446 if (flags & DNS_LUP_FLAGS_QTYPE_PTR) 466 447 host2msg16(msg + offset, DNS_TYPE_PTR); … … 475 456 offset += sizeof(uint16_t); 476 457 477 /* DNS ã® CLASS ãè¨å®ããã*/458 /* DNS の CLASS を設定する。*/ 478 459 host2msg16(msg + offset, DNS_CLASS_IN); 479 460 … … 482 463 483 464 /* 484 * skip_dns_name -- DNS ã¡ãã»ã¼ã¸ã®ååãèªã¿é£ã°ãã465 * skip_dns_name -- DNS メッセージの名前を読み飛ばす。 485 466 * 486 * 注æ: å§ç¸®å½¢å¼ãèæ 487 ®ãããä¸ä½ 2ãããã 11ãªãå§ç¸®å½¢å¼ã 467 * 注意: 圧縮形式を考慮する。上位 2ビットが 11なら圧縮形式。 488 468 */ 489 469 … … 507 487 508 488 /* 509 * skip_dns_qd -- DNS Question section ãèªã¿é£ã°ãã489 * skip_dns_qd -- DNS Question section を読み飛ばす。 510 490 */ 511 491 … … 516 496 517 497 while (count != 0) { 518 /* name ãèªã¿é£ã°ãã*/498 /* name を読み飛ばす。*/ 519 499 if ((next = skip_dns_name(msg, offset, length)) < 0) 520 500 return next; 521 501 offset = next; 522 502 523 /* type ãclass ãèªã¿é£ã°ãã*/503 /* type、class を読み飛ばす。*/ 524 504 if ((offset + sizeof(uint16_t) + sizeof(uint16_t)) > length) 525 505 return EV_RSLV_ESIZE; … … 533 513 534 514 /* 535 * skip_dns_rr -- DNS RR ãèªã¿é£ã°ãã515 * skip_dns_rr -- DNS RR を読み飛ばす。 536 516 */ 537 517 … … 543 523 544 524 while (count != 0) { 545 /* name ãèªã¿é£ã°ãã*/525 /* name を読み飛ばす。*/ 546 526 if ((next = skip_dns_name(msg, offset, length)) < 0) 547 527 return next; 548 528 offset = next; 549 529 550 /* type ãclassãTTL ãèªã¿é£ã°ãã*/530 /* type、class、TTL を読み飛ばす。*/ 551 531 if (offset + sizeof(uint16_t) + sizeof(uint16_t) + sizeof(uint32_t) > length) 552 532 return EV_RSLV_ESIZE; 553 533 offset += sizeof(uint16_t) + sizeof(uint16_t) + sizeof(uint32_t); 554 534 555 /* RD length 㨠RDATA ãèªã¿é£ã°ãã*/535 /* RD length と RDATA を読み飛ばす。*/ 556 536 if (offset + sizeof(uint16_t) > length) 557 537 return EV_RSLV_ESIZE; … … 569 549 570 550 /* 571 * dns_analyze_qd -- DNS ã¡ãã»ã¼ã¸ã® question section ã解æããã551 * dns_analyze_qd -- DNS メッセージの question section を解析する。 572 552 */ 573 553 … … 582 562 offset = error; 583 563 584 /* DNS ã¡ãã»ã¼ã¸å 585 ã®å½¢å¼ã®ãµã¤ãºã§ãã§ãã¯ããã*/ 564 /* DNS メッセージ内の形式のサイズでチェックする。*/ 586 565 if (offset + T_DNS_QD_SIZE > length) 587 566 return EV_RSLV_ESIZE; 588 567 589 568 /* 590 * DNS ã¡ãã»ã¼ã¸å 591 ã® SOA RDATA ããã¤ããªã¼ãã¼ã調æ´ã㦠592 * å 593 é¨æ§é ä½ã«ã³ãã¼ããã 569 * DNS メッセージ内の SOA RDATA をバイトオーダーを調整して 570 * 内部構造体にコピーする。 594 571 */ 595 572 dns_qd = (T_DNS_QD*)(msg + offset); … … 601 578 602 579 /* 603 * dns_analyze_soa -- DNS ã¡ãã»ã¼ã¸ã® SOA RDATA ã解æããã580 * dns_analyze_soa -- DNS メッセージの SOA RDATA を解析する。 604 581 */ 605 582 … … 610 587 T_DNS_SOA *dns_soa; 611 588 612 /* MNAME ãã¹ãããããã*/589 /* MNAME をスキップする。*/ 613 590 if ((error = skip_dns_name(msg, offset, length)) < 0) 614 591 return error; 615 592 offset = error; 616 593 617 /* RNAME ãã¹ãããããã*/594 /* RNAME をスキップする。*/ 618 595 if ((error = skip_dns_name(msg, offset, length)) < 0) 619 596 return error; 620 597 offset = error; 621 598 622 /* DNS ã¡ãã»ã¼ã¸å 623 ã®å½¢å¼ã®ãµã¤ãºã§ãã§ãã¯ããã*/ 599 /* DNS メッセージ内の形式のサイズでチェックする。*/ 624 600 if (offset + T_DNS_SOA_SIZE > length) 625 601 return EV_RSLV_ESIZE; 626 602 627 603 /* 628 * DNS ã¡ãã»ã¼ã¸å 629 ã® SOA RDATA ããã¤ããªã¼ãã¼ã調æ´ã㦠630 * å 631 é¨æ§é ä½ã«ã³ãã¼ããã 604 * DNS メッセージ内の SOA RDATA をバイトオーダーを調整して 605 * 内部構造体にコピーする。 632 606 */ 633 607 dns_soa = (T_DNS_SOA*)(msg + offset); … … 642 616 643 617 /* 644 * dns_analyze_rr -- DNS ã¡ãã»ã¼ã¸ã® AN/NS/AR section ã解æããã618 * dns_analyze_rr -- DNS メッセージの AN/NS/AR section を解析する。 645 619 */ 646 620 … … 655 629 offset = error; 656 630 657 /* DNS ã¡ãã»ã¼ã¸å 658 ã®å½¢å¼ã®ãµã¤ãºã§ãã§ãã¯ããã*/ 631 /* DNS メッセージ内の形式のサイズでチェックする。*/ 659 632 if (offset + T_DNS_RR_SIZE > length) 660 633 return EV_RSLV_ESIZE; 661 634 662 635 /* 663 * DNS ã¡ãã»ã¼ã¸å 664 ã® SOA RDATA ããã¤ããªã¼ãã¼ã調æ´ã㦠665 * å 666 é¨æ§é ä½ã«ã³ãã¼ããã 636 * DNS メッセージ内の SOA RDATA をバイトオーダーを調整して 637 * 内部構造体にコピーする。 667 638 */ 668 639 dns_rr = (T_DNS_RR*)(msg + offset); … … 678 649 679 650 /* 680 * analyze_dns_msg -- DNS ã¡ãã»ã¼ã¸ã解æããã651 * analyze_dns_msg -- DNS メッセージを解析する。 681 652 */ 682 653 … … 686 657 ER_UINT offset; 687 658 688 /* DNS ããããåãåºãã*/659 /* DNS ヘッダを取り出す。*/ 689 660 if ((offset = get_dns_header(msg, length, rslv)) < 0) 690 661 return offset; 691 662 692 /* question section ãèªã¿é£ã°ãã*/663 /* question section を読み飛ばす。*/ 693 664 rslv->qd_offset = offset; 694 665 if ((offset = skip_dns_qd(msg, offset, length, rslv->dns_hdr.qdcount)) < 0) 695 666 return offset; 696 667 697 /* answer section ãèªã¿é£ã°ãã*/668 /* answer section を読み飛ばす。*/ 698 669 rslv->an_offset = offset; 699 670 if ((offset = skip_dns_rr(msg, offset, length, rslv->dns_hdr.ancount)) < 0) 700 671 return offset; 701 672 702 /* authority records section ãèªã¿é£ã°ãã*/673 /* authority records section を読み飛ばす。*/ 703 674 rslv->ns_offset = offset; 704 675 if ((offset = skip_dns_rr(msg, offset, length, rslv->dns_hdr.nscount)) < 0) 705 676 return offset; 706 677 707 /* additional records section ãèªã¿é£ã°ãã*/678 /* additional records section を読み飛ばす。*/ 708 679 rslv->ar_offset = offset; 709 680 if ((offset = skip_dns_rr(msg, offset, length, rslv->dns_hdr.arcount)) < 0) … … 714 685 715 686 /* 716 * dns_lookup_host_sub -- DNS ã«ãããã¹ãã®æ 717 å ±ãåå¾ããï¼è£å©é¢æ°ï¼ã 687 * dns_lookup_host_sub -- DNS によりホストの情報を取得する(補助関数)。 718 688 */ 719 689 … … 832 802 833 803 /* 834 * udp64_dns -- DNS/IPv6 ãDNS/IPv4 ã«ãã DNS ãµã¼ãããã¡ãã»ã¼ã¸ãåä¿¡ããã804 * udp64_dns -- DNS/IPv6、DNS/IPv4 により DNS サーバからメッセージを受信する。 835 805 */ 836 806 … … 843 813 uint16_t proto; 844 814 845 /* DNS ã¡ãã»ã¼ã¸ãä½æããã*/815 /* DNS メッセージを作成する。*/ 846 816 if ((length = setup_dns_msg(flags, hostname, msg, msg_size)) < 0) 847 817 return length; 848 818 849 /* UDP/IPv6 ã® DNS ãµã¼ãã«ç 850 §ä¼ããã*/ 819 /* UDP/IPv6 の DNS サーバに照会する。*/ 851 820 proto = DNS_LUP_FLAGS_PROTO_IPV6; 852 821 if ((length = udp6_dns(flags, &in6_addr_dns, msg, msg_size, length)) < 0) { 853 /* UDP/IPv6 ã® DNS ãµã¼ãã¸ã®ç 854 §ä¼ãã¨ã©ã¼ã«ãªã£ãæã¯ãUDP/IPv4 ã® DNS ãµã¼ãã«ç 855 §ä¼ããã*/ 822 /* UDP/IPv6 の DNS サーバへの照会がエラーになった時は、UDP/IPv4 の DNS サーバに照会する。*/ 856 823 if ((length = setup_dns_msg(flags, hostname, msg, msg_size)) < 0) 857 824 return length; 858 825 859 /* UDP/IPv4 ã® DNS ãµã¼ãã«ç 860 §ä¼ããã*/ 826 /* UDP/IPv4 の DNS サーバに照会する。*/ 861 827 proto = DNS_LUP_FLAGS_PROTO_IPV4; 862 828 if ((length = udp4_dns(flags, &in4_addr_dns, msg, msg_size, length)) < 0) … … 864 830 } 865 831 866 /* DNS ã¡ãã»ã¼ã¸ã解æããã*/832 /* DNS メッセージを解析する。*/ 867 833 if ((error = analyze_dns_msg(msg, length, rslv)) != E_OK) 868 834 return error; … … 889 855 890 856 /* 891 * dns_lookup_host -- DNS ã«ãããã¹ãã®æ 892 å ±ãåå¾ããã 857 * dns_lookup_host -- DNS によりホストの情報を取得する。 893 858 */ 894 859 … … 904 869 905 870 /* 906 * IPv6/IPv4 ã®ä¸¡æ¹ãæå®ãããæã®å¦ç 907 * ã¾ã type == AAAA 㧠DNS ãµã¼ãã«ç 908 §ä¼ããã 871 * IPv6/IPv4 の両方が指定された時の処理 872 * まず type == AAAA で DNS サーバに照会する。 909 873 */ 910 874 if (flags & DNS_LUP_FLAGS_QTYPE_PTR) { … … 924 888 925 889 /* 926 * type == AAAA ã§ã¢ãã¬ã¹è§£æ±ºãã§ããªãã£ãæã®å¦ç 927 * type == A 㧠DNS ãµã¼ãã«ç 928 §ä¼ããã 890 * type == AAAA でアドレス解決ができなかった時の処理 891 * type == A で DNS サーバに照会する。 929 892 */ 930 893 if (flags & DNS_LUP_FLAGS_QTYPE_A) … … 942 905 943 906 /* 944 * type == AAAA 㨠A ã®ä¸¡æ¹ãæå®ãããæã®å¦ç 945 * ã¾ã type == AAAA 㧠DNS ãµã¼ãã«ç 946 §ä¼ããã 907 * type == AAAA と A の両方が指定された時の処理 908 * まず type == AAAA で DNS サーバに照会する。 947 909 */ 948 910 if ((error = dns_lookup_host_sub(flags & ~DNS_LUP_FLAGS_QTYPE_A, hostname, msg, msg_size, rslv)) < 0) … … 952 914 953 915 /* 954 * type == AAAA ã§ã¢ãã¬ã¹è§£æ±ºãã§ããªãã£ãæã®å¦ç 955 * type == A 㧠DNS ãµã¼ãã«ç 956 §ä¼ããã 916 * type == AAAA でアドレス解決ができなかった時の処理 917 * type == A で DNS サーバに照会する。 957 918 */ 958 919 return dns_lookup_host_sub(flags & ~DNS_LUP_FLAGS_QTYPE_AAAA, hostname, msg, msg_size, rslv); … … 967 928 968 929 else { 969 /* IPv6/IPv4 ã®ã©ã¡ããä¸æ¹ãæå®ãããæã®å¦ç*/930 /* IPv6/IPv4 のどちらか一方が指定された時の処理 */ 970 931 error = dns_lookup_host_sub(flags, hostname, msg, msg_size, rslv); 971 932 } … … 983 944 984 945 /* 985 * dns_in6_set_dname -- DNS ã® ãã¡ã¤ã³åãè¨å®ããï¼DHCPv6ç¨ï¼ã946 * dns_in6_set_dname -- DNS の ドメイン名を設定する(DHCPv6用)。 986 947 * 987 * 注æ: new ã« NULL ãæå®ããã¨ãåæå¤ã«æ»ãã948 * 注意: new に NULL を指定すると、初期値に戻す。 988 949 */ 989 950 … … 1018 979 1019 980 /* 1020 * dns_in6_get_dname -- DNS ã® ãã¡ã¤ã³åãå¾ãã981 * dns_in6_get_dname -- DNS の ドメイン名を得る。 1021 982 */ 1022 983 … … 1028 989 1029 990 /* 1030 * dns_in6_set_addr -- DNS ãµã¼ãã® IPv6 ã¢ãã¬ã¹ãè¨å®ããï¼DHCPv6ç¨ï¼ã991 * dns_in6_set_addr -- DNS サーバの IPv6 アドレスを設定する(DHCPv6用)。 1031 992 * 1032 * 注æ: new ã« NULL ãæå®ããã¨ãåæå¤ã«æ»ãã993 * 注意: new に NULL を指定すると、初期値に戻す。 1033 994 */ 1034 995 … … 1044 1005 1045 1006 /* 1046 * dns_in6_get_addr -- DNS ãµã¼ãã® IPv6 ã¢ãã¬ã¹ãå¾ãã1007 * dns_in6_get_addr -- DNS サーバの IPv6 アドレスを得る。 1047 1008 */ 1048 1009 … … 1063 1024 1064 1025 /* 1065 * dns_in4_set_dname -- DNS ã® ãã¡ã¤ã³åãè¨å®ããï¼DHCPv4ç¨ï¼ã1026 * dns_in4_set_dname -- DNS の ドメイン名を設定する(DHCPv4用)。 1066 1027 * 1067 * 注æ: new ã« NULL ãæå®ããã¨ãåæå¤ã«æ»ãã1028 * 注意: new に NULL を指定すると、初期値に戻す。 1068 1029 */ 1069 1030 … … 1086 1047 1087 1048 /* 1088 * dns_in4_get_dname -- DNS ã® ãã¡ã¤ã³åãå¾ãã1049 * dns_in4_get_dname -- DNS の ドメイン名を得る。 1089 1050 */ 1090 1051 … … 1096 1057 1097 1058 /* 1098 * dns_in4_set_addr -- DNS ãµã¼ãã® IPv4 ã¢ãã¬ã¹ãè¨å®ããï¼DHCPv4ç¨ï¼ã1059 * dns_in4_set_addr -- DNS サーバの IPv4 アドレスを設定する(DHCPv4用)。 1099 1060 * 1100 * 注æ: new ã« NULL ãæå®ããã¨ãåæå¤ã«æ»ãã1061 * 注意: new に NULL を指定すると、初期値に戻す。 1101 1062 */ 1102 1063 … … 1112 1073 1113 1074 /* 1114 * dns_in4_get_addr -- DNS ãµã¼ãã® IPv4 ã¢ãã¬ã¹ãå¾ãã1075 * dns_in4_get_addr -- DNS サーバの IPv4 アドレスを得る。 1115 1076 */ 1116 1077 … … 1129 1090 1130 1091 /* 1131 * dns_host_addr -- ãã¹ãåã IP ã¢ãã¬ã¹ã«å¤æããã1092 * dns_host_addr -- ホスト名を IP アドレスに変換する。 1132 1093 */ 1133 1094 -
asp3_gr_sakura/trunk/tinet/netapp/resolver.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 * ã¨ï¼ 29 * (a) åé 30 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 31 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 32 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 33 * (b) åé 34 å¸ã®å½¢æ 35 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 36 * å ±åãããã¨ï¼ 37 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 38 * 害ãããï¼ä¸è¨èä½æ¨©è 39 ããã³TOPPERSããã¸ã§ã¯ããå 40 責ãããã¨ï¼ 41 * 42 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 43 ã 44 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 45 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 46 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 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 * と. 22 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 23 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 24 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 25 * 報告すること. 26 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 27 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 28 * 29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 31 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 32 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 47 33 * 48 34 * @(#) $Id$ … … 50 36 51 37 /* 52 * ãã¹ãåââIP ã¢ãã¬ã¹å¤æ38 * ホスト名←→IP アドレス変換 53 39 */ 54 40 … … 59 45 60 46 /* 61 * ã³ã³ãã¤ã«æã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã®æå®62 */ 63 64 /* ãã¼ãçªå·*/47 * コンパイル時コンフィギュレーションの指定 48 */ 49 50 /* ポート番号 */ 65 51 66 52 #define RSLV_CFG_DNS_PORTNO 53 67 53 68 54 /* 69 * ã¿ã¤ã ã¢ã¦ãå¤70 */ 71 72 #define TMO_DNS_UDP_SND ULONG_C(1*1000) /* [ms] ãDNS ãµã¼ãã¸ã® UDP éä¿¡ã¿ã¤ã ã¢ã¦ã*/73 #define TMO_DNS_UDP_RCV ULONG_C(5*1000) /* [ms] ãDNS ãµã¼ãããã® UDP åä¿¡ã¿ã¤ã ã¢ã¦ã*/74 #define NUM_DNS_UDP_RETRY 1 /* ãªãã©ã¤åæ°*/75 76 /* 77 * ãã¡ã¤ã³å55 * タイムアウト値 56 */ 57 58 #define TMO_DNS_UDP_SND ULONG_C(1*1000) /* [ms]、DNS サーバへの UDP 送信タイムアウト */ 59 #define TMO_DNS_UDP_RCV ULONG_C(5*1000) /* [ms]、DNS サーバからの UDP 受信タイムアウト */ 60 #define NUM_DNS_UDP_RETRY 1 /* リトライ回数 */ 61 62 /* 63 * ドメイン名 78 64 */ 79 65 … … 84 70 85 71 /* 86 * DNS ãµã¼ãã¼ã® IPã¢ãã¬ã¹72 * DNS サーバーの IPアドレス 87 73 */ 88 74 … … 96 82 97 83 /* 98 * éåä¿¡ãããã¡æ°84 * 送受信バッファ数 99 85 */ 100 86 … … 102 88 103 89 /* 104 * ããã°ã©ã ã§ä½¿ç¨ããæ 105 å ±ã®å®ç¾© 106 */ 107 108 /* 109 * ããã°ã©ã ã§ä½¿ç¨ãã DNS ããã 110 * 111 * 注æ: ã¡ã³ãã¯ãã¹ããã¤ããªã¼ãã¼ 90 * プログラムで使用する情報の定義 91 */ 92 93 /* 94 * プログラムで使用する DNS ヘッダ 95 * 96 * 注意: メンバはホストバイトオーダー 112 97 * 113 98 * 0 7 8 15 … … 147 132 * DNS message data 148 133 * 149 * 注æ: ã¡ã³ãã¯ãã¹ããã¤ããªã¼ãã¼134 * 注意: メンバはホストバイトオーダー 150 135 */ 151 136 … … 159 144 160 145 /* 161 * RR (Resouce Record) å½¢å¼146 * RR (Resouce Record) 形式 162 147 * 163 148 * 0 7 8 15 … … 185 170 * +-----------------------------------------------+ 186 171 * 187 * 注æ: offset ã®åç¹ã¯ DNS message ã®å 188 é 189 * ã¡ã³ãã¯ãã¹ããã¤ããªã¼ãã¼ 172 * 注意: offset の原点は DNS message の先頭 173 * メンバはホストバイトオーダー 190 174 */ 191 175 … … 199 183 200 184 /* 201 * Question section å½¢å¼185 * Question section 形式 202 186 * 203 187 * 0 7 8 15 … … 214 198 * +-----------------------------------------------+ 215 199 * 216 * 注æ: ã¡ã³ãã¯ãã¹ããã¤ããªã¼ãã¼200 * 注意: メンバはホストバイトオーダー 217 201 */ 218 202 … … 223 207 224 208 /* 225 * SOA RDATA å½¢å¼209 * SOA RDATA 形式 226 210 * 227 211 * 0 7 8 15 … … 255 239 * +-----------------------------------------------+ 256 240 * 257 * 注æ: offset ã®åç¹ã¯ DNS message ã®å 258 é 259 * ã¡ã³ãã¯ãã¹ããã¤ããªã¼ãã¼ 241 * 注意: offset の原点は DNS message の先頭 242 * メンバはホストバイトオーダー 260 243 */ 261 244 … … 269 252 270 253 /* 271 * dns_lookup_host ã® flags ã®å®ç¾©272 * 273 * 注æ:274 * dns.h ã§å®ç¾©ããã¦ãã DNS_OPCODE ã¨éãªããªããã¨ã254 * dns_lookup_host の flags の定義 255 * 256 * 注意: 257 * dns.h で定義されている DNS_OPCODE と重ならないこと。 275 258 * #define DNS_OPCODE_MASK 0x7800U 276 259 */ … … 299 282 300 283 /* 301 * ãããã¯ã¼ã¯ã¨ã©ã¼ã³ã¼ã302 */ 303 304 #define EV_RSLV_ESIZE (-100) /* DNS ã¡ãã»ã¼ã¸ã®ååé·ç°å¸¸*/305 #define EV_RSLV_UNEXPCT (-101) /* äºæããªãDNSã¡ãã»ã¼ã¸*/306 307 /* 308 * é¢æ°284 * ネットワークエラーコード 285 */ 286 287 #define EV_RSLV_ESIZE (-100) /* DNSメッセージの名前長異常 */ 288 #define EV_RSLV_UNEXPCT (-101) /* 予期しないDNSメッセージ */ 289 290 /* 291 * 関数 309 292 */ 310 293 … … 316 299 317 300 /* 318 * 注æ: dns_in6_set_dnameãdns_in4_set_dnameã319 * dns_in6_set_addr ã dns_in4_set_addr ã§ã320 * new ã« NULL ãæå®ããã¨ãåæå¤ã«æ»ãã301 * 注意: dns_in6_set_dname、dns_in4_set_dname、 302 * dns_in6_set_addr、 dns_in4_set_addr で、 303 * new に NULL を指定すると、初期値に戻す。 321 304 */ 322 305 -
asp3_gr_sakura/trunk/tinet/netapp/resolver_asp.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * ASP ç¨ Resolver ã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * ASP 用 Resolver のシステムコンフィギュレーションファイル 48 36 */ 49 37 … … 51 39 52 40 /* 53 * åºå®ã¡ã¢ãªãã¼ã«41 * 固定メモリプール 54 42 */ 55 43 56 /* éåä¿¡ãããã¡*/44 /* 送受信バッファ */ 57 45 58 46 CRE_MPF(MPF_RSLV_SRBUF, { -
asp3_gr_sakura/trunk/tinet/netapp/resolver_jsp.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * JSP ç¨ Resolver ã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * JSP 用 Resolver のシステムコンフィギュレーションファイル 48 36 */ 49 37 … … 51 39 52 40 /* 53 * åºå®ã¡ã¢ãªãã¼ã«41 * 固定メモリプール 54 42 */ 55 43 56 /* éåä¿¡ãããã¡*/44 /* 送受信バッファ */ 57 45 58 46 CRE_MPF(MPF_RSLV_SRBUF, { -
asp3_gr_sakura/trunk/tinet/netapp/tcp_discard_cli.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * TCP DISCARD ã¯ã©ã¤ã¢ã³ã35 * TCP DISCARD クライアント 48 36 * 49 * ã»ãã³ããããã³ã°ã³ã¼ã«50 * ã»IPv451 * ã»IPv637 * ・ノンブロッキングコール 38 * ・IPv4 39 * ・IPv6 52 40 */ 53 41 … … 79 67 #ifdef USE_TCP_DISCARD_CLI 80 68 81 /* discard ãµã¼ãã®ãã¼ãçªå·*/69 /* discard サーバのポート番号 */ 82 70 83 71 #define DISCARD_SRV_PORTNO UINT_C(9) 84 72 85 /* 表示*/73 /* 表示 */ 86 74 87 75 /*#define SHOW_RCV_RANGE*/ 88 76 89 /* éä¿¡éé*/77 /* 送信間隔 */ 90 78 91 79 #ifdef TOPPERS_S810_CLG3_85 … … 103 91 #endif /* of #ifdef TOPPERS_S810_CLG3_85 */ 104 92 105 /* èªåå®è¡*/93 /* 自動実行 */ 106 94 107 95 #if defined(TCP_DISCARD_CLI_AUTO_RUN_STR) … … 117 105 118 106 /* 119 * ãããã¡ãµã¤ãºã®å®ç¾©107 * バッファサイズの定義 120 108 */ 121 109 … … 127 115 128 116 /* 129 * å 130 ¨åå¤æ° 117 * 全域変数 131 118 */ 132 119 133 120 bool_t tcp_discard_cli_valid; 134 121 135 /* TCP éåä¿¡ã¦ã£ã³ããããã¡*/122 /* TCP 送受信ウィンドバッファ */ 136 123 137 124 #ifndef TCP_CFG_SWBUF_CSAVE_ONLY … … 142 129 143 130 /* 144 * å¤æ°131 * 変数 145 132 */ 146 133 … … 153 140 154 141 /* 155 * ãã³ããããã³ã°ã³ã¼ã«ã®ã³ã¼ã«ããã¯é¢æ°142 * ノンブロッキングコールのコールバック関数 156 143 */ 157 144 … … 187 174 188 175 /* 189 * send_tcp_discard -- DISCARD/TCP ãµã¼ãã«ã¡ãã»ã¼ã¸ãéä¿¡ããã176 * send_tcp_discard -- DISCARD/TCP サーバにメッセージを送信する。 190 177 */ 191 178 … … 215 202 } 216 203 217 /* æ¥ç¶ãå®äºããã¾ã§å¾ 218 ã¤ã*/ 204 /* 接続が完了するまで待つ。*/ 219 205 syscall(wai_sem(SEM_TCP_DISCARD_CLI_NBLK_READY)); 220 206 … … 259 245 syslog(LOG_NOTICE, "[TDCn:%02u SND] close error: %s", cepid, itron_strerror(error)); 260 246 261 /* éæ¾ãå®äºããã¾ã§å¾ 262 ã¤ã*/ 247 /* 開放が完了するまで待つ。*/ 263 248 syscall(wai_sem(SEM_TCP_DISCARD_CLI_NBLK_READY)); 264 249 } … … 270 255 271 256 /* 272 * send_tcp_discard -- DISCARD/TCP ãµã¼ãã«ã¡ãã»ã¼ã¸ãéä¿¡ããã257 * send_tcp_discard -- DISCARD/TCP サーバにメッセージを送信する。 273 258 */ 274 259 … … 344 329 345 330 /* 346 * getcomd -- ã³ãã³ããå¾ãã331 * getcomd -- コマンドを得る。 347 332 */ 348 333 -
asp3_gr_sakura/trunk/tinet/netapp/tcp_discard_cli.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * TCP DISCARD ã¯ã©ã¤ã¢ã³ã48 * ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * TCP DISCARD クライアント 36 * コンフィギュレーションファイル 49 37 */ 50 38 51 39 #ifdef USE_TCP_DISCARD_CLI 52 40 53 /* ã¿ã¹ã¯*/41 /* タスク */ 54 42 55 43 #ifdef USE_TCP_EXTENTIONS … … 77 65 #endif /* of #ifdef USE_TCP_EXTENTIONS */ 78 66 79 /* ã³ãã³ããã¥ã¼*/67 /* コマンドキュー */ 80 68 81 69 CRE_DTQ(DTQ_TCP_DISCARD_CLI, { TA_TFIFO, 1, NULL }); 82 70 83 /* ã»ããã©*/71 /* セマフォ */ 84 72 85 73 #ifdef USE_TCP_NON_BLOCKING -
asp3_gr_sakura/trunk/tinet/netapp/tcp_discard_cli.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 47 35 #define _TCP_DISCARD_CLI_H_ 48 36 49 /* ã¹ã¿ãã¯ãµã¤ãº*/37 /* スタックサイズ */ 50 38 51 #define TCP_DISCARD_CLI_STACK_SIZE 1024 /* TCP DISCARD ã¯ã©ã¤ã¢ã³ãã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº*/39 #define TCP_DISCARD_CLI_STACK_SIZE 1024 /* TCP DISCARD クライアントタスクのスタックサイズ */ 52 40 53 /* åªå 54 度 */ 41 /* 優先度 */ 55 42 56 #define TCP_DISCARD_CLI_MAIN_PRIORITY 5 /* TCP DISCARD ã¯ã©ã¤ã¢ã³ãã¿ã¹ã¯ã®åªå 57 度 */ 43 #define TCP_DISCARD_CLI_MAIN_PRIORITY 5 /* TCP DISCARD クライアントタスクの優先度 */ 58 44 59 45 /* 60 * TCP éåä¿¡ã¦ã¤ã³ããããã¡ãµã¤ãº46 * TCP 送受信ウインドバッファサイズ 61 47 */ 62 48 … … 80 66 81 67 /* 82 * å¤æ°68 * 変数 83 69 */ 84 70 85 71 extern bool_t tcp_discard_cli_valid; 86 72 87 /* TCP éåä¿¡ãããã¡*/73 /* TCP 送受信バッファ */ 88 74 89 75 extern uint8_t tcp_discard_cli_swbuf[]; 90 76 extern uint8_t tcp_discard_cli_rwbuf[]; 91 77 92 /* ã¿ã¹ã¯*/78 /* タスク */ 93 79 94 80 extern void tcp_discard_cli_task(intptr_t exinf); 95 81 96 /* é¢æ°*/82 /* 関数 */ 97 83 98 84 extern ER callback_nblk_tcp_discard_cli (ID cepid, FN fncd, void *p_parblk); -
asp3_gr_sakura/trunk/tinet/netapp/tcp_discard_srv.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * DISCARD ãµã¼ã35 * DISCARD サーバ 48 36 * 49 * ã»çã³ãã¼API50 * ã»IPv451 * ã»IPv637 * ・省コピー API 38 * ・IPv4 39 * ・IPv6 52 40 */ 53 41 … … 80 68 81 69 /* 82 * 表示70 * 表示 83 71 */ 84 72 … … 87 75 88 76 /* 89 * å 90 ¨åå¤æ° 91 */ 92 93 /* TCP éåä¿¡ã¦ã£ã³ããããã¡ */ 77 * 全域変数 78 */ 79 80 /* TCP 送受信ウィンドバッファ */ 94 81 95 82 #ifndef TCP_CFG_RWBUF_CSAVE_ONLY … … 98 85 99 86 /* 100 * TCP DISCARD ãµã¼ãã¿ã¹ã¯87 * TCP DISCARD サーバタスク 101 88 */ 102 89 … … 236 223 237 224 /* 238 * get_tcp_rep -- TCP åä»å£ãç²å¾ããã225 * get_tcp_rep -- TCP 受付口を獲得する。 239 226 */ 240 227 … … 266 253 267 254 /* 268 * get_tcp_cep -- TCP é信端ç¹ã¨ãç²å¾ããã255 * get_tcp_cep -- TCP 通信端点とを獲得する。 269 256 */ 270 257 … … 293 280 294 281 /* 295 * tcp_discard_srv_task -- TCP ã¨ã³ã¼ãµã¼ãã¿ã¹ã¯282 * tcp_discard_srv_task -- TCP エコーサーバタスク 296 283 */ 297 284 -
asp3_gr_sakura/trunk/tinet/netapp/tcp_discard_srv.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * TCP DISCARD ãµã¼ãã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * TCP DISCARD サーバコンフィギュレーションファイル 48 36 */ 49 37 … … 51 39 52 40 /* 53 * ã¿ã¹ã¯41 * タスク 54 42 */ 55 43 -
asp3_gr_sakura/trunk/tinet/netapp/tcp_discard_srv.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 47 35 #define _TCP_DISCARD_SRV_H_ 48 36 49 /* ã¹ã¿ãã¯ãµã¤ãº*/37 /* スタックサイズ */ 50 38 51 #define TCP_DISCARD_SRV_STACK_SIZE 1024 /* TCP DISCARD ãµã¼ãã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº*/39 #define TCP_DISCARD_SRV_STACK_SIZE 1024 /* TCP DISCARD サーバタスクのスタックサイズ */ 52 40 53 /* åªå 54 度 */ 41 /* 優先度 */ 55 42 56 #define TCP_DISCARD_SRV_MAIN_PRIORITY 5 /* TCP DISCARD ãµã¼ãã¿ã¹ã¯ã®åªå 57 度 */ 43 #define TCP_DISCARD_SRV_MAIN_PRIORITY 5 /* TCP DISCARD サーバタスクの優先度 */ 58 44 59 45 /* 60 * TCP éåä¿¡ã¦ã¤ã³ããããã¡ãµã¤ãº46 * TCP 送受信ウインドバッファサイズ 61 47 */ 62 48 … … 79 65 #endif /* of #if defined(USE_TCP_MSS_SEG) || defined(USE_IPV6_MMTU) */ 80 66 81 /* TCP éåä¿¡ãããã¡*/67 /* TCP 送受信バッファ */ 82 68 83 69 extern uint8_t tcp_discard_srv_swbuf[]; 84 70 extern uint8_t tcp_discard_srv_rwbuf[]; 85 71 86 /* ã¿ã¹ã¯*/72 /* タスク */ 87 73 88 74 extern void tcp_discard_srv_task(intptr_t exinf); -
asp3_gr_sakura/trunk/tinet/netapp/tcp_echo_cli.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * TCP ECHO ã¯ã©ã¤ã¢ã³ã35 * TCP ECHO クライアント 48 36 * 49 * ã»éåä¿¡ã¿ã¹ã¯åé¢å50 * ã»ãã³ããããã³ã°ã³ã¼ã«51 * ã»çã³ãã¼API52 * ã»IPv453 * ã»IPv637 * ・送受信タスク分離型 38 * ・ノンブロッキングコール 39 * ・省コピー API 40 * ・IPv4 41 * ・IPv6 54 42 */ 55 43 … … 83 71 #ifdef USE_TCP_ECHO_CLI 84 72 85 /* echo ãµã¼ãã®ãã¼ãçªå·*/73 /* echo サーバのポート番号 */ 86 74 87 75 #define ECHO_SRV_PORTNO UINT_C(7) 88 76 89 /* ç·æ¥ãã¼ã¿ã®éä¿¡*/77 /* 緊急データの送信 */ 90 78 91 79 #ifdef USE_TCP_EXTENTIONS … … 96 84 #endif /* of #ifdef USE_TCP_EXTENTIONS */ 97 85 98 /* éä¿¡éé*/86 /* 送信間隔 */ 99 87 100 88 #ifdef TOPPERS_S810_CLG3_85 … … 114 102 #endif /* of #ifdef TOPPERS_S810_CLG3_85 */ 115 103 116 /* èªåå®è¡*/104 /* 自動実行 */ 117 105 118 106 #if defined(TCP_ECHO_CLI_AUTO_RUN_STR) … … 138 126 139 127 /* 140 * å 141 ¨åå¤æ° 128 * 全域変数 142 129 */ 143 130 … … 145 132 uint_t tcp_echo_cli_scount; 146 133 147 /* TCP éåä¿¡ã¦ã£ã³ããããã¡*/134 /* TCP 送受信ウィンドバッファ */ 148 135 149 136 #ifndef TCP_CFG_SWBUF_CSAVE … … 158 145 159 146 /* 160 * å 161 ¨åå¤æ° 147 * 全域変数 162 148 */ 163 149 … … 165 151 166 152 /* 167 * ãã³ããããã³ã°ã³ã¼ã«ã®ã³ã¼ã«ããã¯é¢æ°153 * ノンブロッキングコールのコールバック関数 168 154 */ 169 155 … … 224 210 225 211 /* 226 * getcomd -- ã³ãã³ããå¾ãã212 * getcomd -- コマンドを得る。 227 213 */ 228 214 … … 295 281 296 282 /* 297 * TCP ECHO ã¯ã©ã¤ã¢ã³ãéä¿¡ã¿ã¹ã¯298 */ 299 300 /* 301 * IP ã¢ãã¬ã¹ã®æå®283 * TCP ECHO クライアント送信タスク 284 */ 285 286 /* 287 * IP アドレスの指定 302 288 */ 303 289 -
asp3_gr_sakura/trunk/tinet/netapp/tcp_echo_cli.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * TCP ECHO ã¯ã©ã¤ã¢ã³ã48 * ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * TCP ECHO クライアント 36 * コンフィギュレーションファイル 49 37 */ 50 38 51 39 #ifdef USE_TCP_ECHO_CLI 52 40 53 /* ã¿ã¹ã¯*/41 /* タスク */ 54 42 55 43 #ifdef USE_TCP_EXTENTIONS … … 95 83 #endif /* of #ifdef USE_TCP_EXTENTIONS */ 96 84 97 /* ã³ãã³ããã¥ã¼*/85 /* コマンドキュー */ 98 86 99 87 CRE_DTQ(DTQ_TCP_ECHO_CLI_SND, { TA_TFIFO, 1, NULL }); 100 88 CRE_DTQ(DTQ_TCP_ECHO_CLI_RCV, { TA_TFIFO, 1, NULL }); 101 89 102 /* ã»ããã©*/90 /* セマフォ */ 103 91 104 92 #ifdef USE_TCP_NON_BLOCKING -
asp3_gr_sakura/trunk/tinet/netapp/tcp_echo_cli.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 47 35 #define _TCP_ECHO_CLI_H_ 48 36 49 /* ã¹ã¿ãã¯ãµã¤ãº*/37 /* スタックサイズ */ 50 38 51 39 #ifdef TOPPERS_S810_CLG3_85 52 40 53 #define TCP_ECHO_CLI_RCV_STACK_SIZE 512 /* TCP ECHO ã¯ã©ã¤ã¢ã³ãåä¿¡ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº*/54 #define TCP_ECHO_CLI_SND_STACK_SIZE 512 /* TCP ECHO ã¯ã©ã¤ã¢ã³ãéä¿¡ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº*/41 #define TCP_ECHO_CLI_RCV_STACK_SIZE 512 /* TCP ECHO クライアント受信タスクのスタックサイズ */ 42 #define TCP_ECHO_CLI_SND_STACK_SIZE 512 /* TCP ECHO クライアント送信タスクのスタックサイズ */ 55 43 56 44 #else /* of #ifdef TOPPERS_S810_CLG3_85 */ 57 45 58 #define TCP_ECHO_CLI_RCV_STACK_SIZE 1024 /* TCP ECHO ã¯ã©ã¤ã¢ã³ãåä¿¡ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº*/59 #define TCP_ECHO_CLI_SND_STACK_SIZE 1024 /* TCP ECHO ã¯ã©ã¤ã¢ã³ãéä¿¡ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº*/46 #define TCP_ECHO_CLI_RCV_STACK_SIZE 1024 /* TCP ECHO クライアント受信タスクのスタックサイズ */ 47 #define TCP_ECHO_CLI_SND_STACK_SIZE 1024 /* TCP ECHO クライアント送信タスクのスタックサイズ */ 60 48 61 49 #endif /* of #ifdef TOPPERS_S810_CLG3_85 */ 62 50 63 /* åªå 64 度 */ 51 /* 優先度 */ 65 52 66 #define TCP_ECHO_CLI_RCV_MAIN_PRIORITY 5 /* TCP ECHO ã¯ã©ã¤ã¢ã³ãåä¿¡ã¿ã¹ã¯ã®åªå 67 度 */ 68 #define TCP_ECHO_CLI_SND_MAIN_PRIORITY 5 /* TCP ECHO ã¯ã©ã¤ã¢ã³ãéä¿¡ã¿ã¹ã¯ã®åªå 69 度 */ 53 #define TCP_ECHO_CLI_RCV_MAIN_PRIORITY 5 /* TCP ECHO クライアント受信タスクの優先度 */ 54 #define TCP_ECHO_CLI_SND_MAIN_PRIORITY 5 /* TCP ECHO クライアント送信タスクの優先度 */ 70 55 71 56 /* 72 * TCP éåä¿¡ã¦ã¤ã³ããããã¡ãµã¤ãº57 * TCP 送受信ウインドバッファサイズ 73 58 */ 74 59 … … 95 80 96 81 /* 97 * ãããã¡ãµã¤ãºã®å®ç¾©82 * バッファサイズの定義 98 83 */ 99 84 … … 106 91 107 92 /* 108 * å¤æ°93 * 変数 109 94 */ 110 95 … … 113 98 extern ER_UINT tcp_echo_cli_nblk_error; 114 99 115 /* TCP éåä¿¡ãããã¡*/100 /* TCP 送受信バッファ */ 116 101 117 102 extern uint8_t tcp_echo_cli_swbuf[]; 118 103 extern uint8_t tcp_echo_cli_rwbuf[]; 119 104 120 /* ã¿ã¹ã¯*/105 /* タスク*/ 121 106 122 107 extern void tcp_echo_cli_rcv_task(intptr_t exinf); 123 108 extern void tcp_echo_cli_snd_task(intptr_t exinf); 124 109 125 /* é¢æ°*/110 /* 関数 */ 126 111 127 112 extern ER callback_nblk_tcp_echo_cli (ID cepid, FN fncd, void *p_parblk); -
asp3_gr_sakura/trunk/tinet/netapp/tcp_echo_cli_rcv.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * TCP ECHO ã¯ã©ã¤ã¢ã³ãåä¿¡ã¿ã¹ã¯35 * TCP ECHO クライアント受信タスク 48 36 */ 49 37 … … 77 65 #ifdef USE_TCP_ECHO_CLI 78 66 79 /* 表示*/67 /* 表示 */ 80 68 81 69 //#define SHOW_TIME_OUT 82 70 //#define SHOW_RCV_RANGE 83 71 84 /* ã¿ã¤ã ã¢ã¦ã*/72 /* タイムアウト */ 85 73 86 74 #ifdef TOPPERS_S810_CLG3_85 87 75 88 #define CLS_TMO TMO_FEVR /* Close Wait ã¯æ¨æºã§ 60ç§*/76 #define CLS_TMO TMO_FEVR /* Close Wait は標準で 60秒 */ 89 77 //#define RCV_TMO TMO_FEVR 90 78 #define RCV_TMO (30*SYSTIM_HZ) … … 92 80 #else /* of #ifdef TOPPERS_S810_CLG3_85 */ 93 81 94 //#define CLS_TMO TMO_FEVR /* Close Wait ã¯æ¨æºã§ 60ç§*/82 //#define CLS_TMO TMO_FEVR /* Close Wait は標準で 60秒 */ 95 83 #define CLS_TMO (70*SYSTIM_HZ+(netapp_rand()%SYSTIM_HZ)*10) 96 84 //#define RCV_TMO TMO_FEVR … … 100 88 101 89 /* 102 * API IP ãããã³ã«ã®æå®90 * API IPプロトコルの指定 103 91 */ 104 92 … … 116 104 117 105 /* 118 * TCP ECHO ã¯ã©ã¤ã¢ã³ãåä¿¡ã¿ã¹ã¯106 * TCP ECHO クライアント受信タスク 119 107 */ 120 108 … … 166 154 } 167 155 168 /* åä¿¡ãããã¡ã®ç²å¾ãå®äºããã¾ã§å¾ 169 ã¤ã*/ 156 /* 受信バッファの獲得が完了するまで待つ。*/ 170 157 syscall(wai_sem(SEM_TCP_ECHO_CLI_NBLK_READY)); 171 158 if (tcp_echo_cli_nblk_error < 0) … … 196 183 syslog(LOG_NOTICE, "[TEC%c:%02u CLS] error: %s", apip, cepid, itron_strerror(error)); 197 184 198 /* åæãå®äºããã¾ã§å¾ 199 ã¤ã*/ 185 /* 切断が完了するまで待つ。*/ 200 186 syscall(wai_sem(SEM_TCP_ECHO_CLI_NBLK_READY)); 201 187 … … 248 234 } 249 235 250 /* åä¿¡ãå®äºããã¾ã§å¾ 251 ã¤ã*/ 236 /* 受信が完了するまで待つ。*/ 252 237 syscall(wai_sem(SEM_TCP_ECHO_CLI_NBLK_READY)); 253 238 if (tcp_echo_cli_nblk_error < 0) … … 274 259 syslog(LOG_NOTICE, "[TEC%c:%02u CLS] error: %s", apip, cepid, itron_strerror(error)); 275 260 276 /* åæãå®äºããã¾ã§å¾ 277 ã¤ã*/ 261 /* 切断が完了するまで待つ。*/ 278 262 syscall(wai_sem(SEM_TCP_ECHO_CLI_NBLK_READY)); 279 263 -
asp3_gr_sakura/trunk/tinet/netapp/tcp_echo_cli_snd.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 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 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * TCP ECHO ã¯ã©ã¤ã¢ã³ãéä¿¡é¢æ°35 * TCP ECHO クライアント送信関数 48 36 */ 49 37 … … 75 63 #ifdef USE_TCP_ECHO_CLI 76 64 77 /* 表示*/65 /* 表示 */ 78 66 79 67 //#define SHOW_TIME_OUT 80 68 //#define SHOW_SND_COUNT 81 69 82 /* ã¿ã¤ã ã¢ã¦ã*/70 /* タイムアウト */ 83 71 84 72 #ifdef TOPPERS_S810_CLG3_85 … … 101 89 102 90 /* 103 * å¤æ°91 * 変数 104 92 */ 105 93 … … 123 111 124 112 /* 125 * tcp4_active_open -- è½åãªã¼ãã³ãå®è¡ããã113 * tcp4_active_open -- 能動オープンを実行する。 126 114 * 127 115 * USE_TCP_NON_BLOCKING ON … … 142 130 } 143 131 144 /* æ¥ç¶ãå®äºããã¾ã§å¾ 145 ã¤ã*/ 132 /* 接続が完了するまで待つ。*/ 146 133 syscall(wai_sem(SEM_TCP_ECHO_CLI_NBLK_READY)); 147 134 … … 160 147 161 148 /* 162 * tcp_active_open -- è½åãªã¼ãã³ãå®è¡ããã149 * tcp_active_open -- 能動オープンを実行する。 163 150 * 164 151 * USE_TCP_NON_BLOCKING ON … … 184 171 } 185 172 186 /* æ¥ç¶ãå®äºããã¾ã§å¾ 187 ã¤ã*/ 173 /* 接続が完了するまで待つ。*/ 188 174 syscall(wai_sem(SEM_TCP_ECHO_CLI_NBLK_READY)); 189 175 … … 202 188 203 189 /* 204 * tcp_echo_cli_snd -- ECHO/TCP ãµã¼ãã«ã¡ãã»ã¼ã¸ãéä¿¡ããã190 * tcp_echo_cli_snd -- ECHO/TCP サーバにメッセージを送信する。 205 191 * 206 192 * USE_TCP_NON_BLOCKING ON … … 298 284 syslog(LOG_NOTICE, "[TEC%c:%02u SHT] error: %s", apip, cepid, itron_strerror(error)); 299 285 300 /* åä¿¡ãå®äºããã¾ã§å¾ 301 ã¤ã*/ 286 /* 受信が完了するまで待つ。*/ 302 287 syscall(slp_tsk()); 303 288 … … 310 295 311 296 /* 312 * tcp4_active_open -- è½åãªã¼ãã³ãå®è¡ããã297 * tcp4_active_open -- 能動オープンを実行する。 313 298 * 314 299 * USE_TCP_NON_BLOCKING OFF … … 348 333 349 334 /* 350 * tcp_active_open -- è½åãªã¼ãã³ãå®è¡ããã335 * tcp_active_open -- 能動オープンを実行する。 351 336 * 352 337 * USE_TCP_NON_BLOCKING OFF … … 387 372 388 373 /* 389 * tcp_echo_cli_snd -- ECHO/TCP ãµã¼ãã«ã¡ãã»ã¼ã¸ãéä¿¡ããã374 * tcp_echo_cli_snd -- ECHO/TCP サーバにメッセージを送信する。 390 375 * 391 376 * USE_TCP_NON_BLOCKING OFF … … 488 473 syslog(LOG_NOTICE, "[TEC%c:%02u SHT] error: %s", apip, cepid, itron_strerror(error)); 489 474 490 /* åä¿¡ãå®äºããã¾ã§å¾ 491 ã¤ã*/ 475 /* 受信が完了するまで待つ。*/ 492 476 syscall(slp_tsk()); 493 477 -
asp3_gr_sakura/trunk/tinet/netapp/tcp_echo_srv1.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 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 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * TCP ECHO ãµã¼ã#148 * 49 * ã»éåä¿¡ã¿ã¹ã¯åä¸å50 * ã»ãã³ããããã³ã°ã³ã¼ã«51 * ã»çã³ãã¼API52 * ã»IPv4/IPv653 * ã»ç·æ¥ãã¼ã¿ã®åä¿¡35 * TCP ECHO サーバ #1 36 * 37 * ・送受信タスク同一型 38 * ・ノンブロッキングコール 39 * ・省コピー API 40 * ・IPv4/IPv6 41 * ・緊急データの受信 54 42 */ 55 43 … … 89 77 90 78 /* 91 * 表示79 * 表示 92 80 */ 93 81 … … 95 83 96 84 /* 97 * ã³ãã¯ã·ã§ã³åææ¹æ³ã®æå®85 * コネクション切断方法の指定 98 86 */ 99 87 … … 101 89 102 90 /* 103 * ã¿ã¤ã ã¢ã¦ã91 * タイムアウト 104 92 */ 105 93 106 94 #ifdef TOPPERS_S810_CLG3_85 107 95 108 #define CLS_TMO TMO_FEVR /* Close Wait ã¯æ¨æºã§ 60ç§*/96 #define CLS_TMO TMO_FEVR /* Close Wait は標準で 60秒 */ 109 97 //#define RCV_TMO TMO_FEVR 110 98 #define RCV_TMO (30*SYSTIM_HZ) … … 114 102 #else /* of #ifdef TOPPERS_S810_CLG3_85 */ 115 103 116 //#define CLS_TMO TMO_FEVR /* Close Wait ã¯æ¨æºã§ 60ç§*/104 //#define CLS_TMO TMO_FEVR /* Close Wait は標準で 60秒 */ 117 105 #define CLS_TMO (70*SYSTIM_HZ+(netapp_rand()%SYSTIM_HZ)*10) 118 106 //#define RCV_TMO TMO_FEVR … … 124 112 125 113 /* 126 * å 127 ¨åå¤æ° 128 */ 129 130 /* TCP éåä¿¡ã¦ã£ã³ããããã¡ */ 114 * 全域変数 115 */ 116 117 /* TCP 送受信ウィンドバッファ */ 131 118 132 119 #ifndef TCP_CFG_SWBUF_CSAVE … … 141 128 142 129 /* 143 * å¤æ°130 * 変数 144 131 */ 145 132 … … 189 176 190 177 /* 191 * tcp_passive_open -- ååãªã¼ãã³ãå®è¡ããã178 * tcp_passive_open -- 受動オープンを実行する。 192 179 * 193 180 * USE_TCP_NON_BLOCKING OFF … … 209 196 #if TNUM_TCP6_REPID > 0 210 197 211 /* åä»å£ã¯IPv6 */198 /* 受付口は IPv6 */ 212 199 if ((error = tcp6_acp_cep(info->cepid, info->repid, &info->dst, TMO_FEVR)) != E_OK) 213 200 return error; … … 225 212 #if TNUM_TCP4_REPID > 0 226 213 227 /* åä»å£ã¯IPv4 */214 /* 受付口は IPv4 */ 228 215 if ((error = tcp_acp_cep(info->cepid, info->repid, &dst4, TMO_FEVR)) != E_OK) 229 216 return error; … … 246 233 247 234 /* 248 * tcp_passive_open -- ååãªã¼ãã³ãå®è¡ããã235 * tcp_passive_open -- 受動オープンを実行する。 249 236 * 250 237 * USE_TCP_NON_BLOCKING OFF … … 272 259 273 260 /* 274 * tcp_echo_srv -- TCP ã¨ã³ã¼ãµã¼ã261 * tcp_echo_srv -- TCP エコーサーバ 275 262 * 276 263 * USE_TCP_NON_BLOCKING OFF … … 409 396 410 397 /* 411 * tcp_echo_srv -- TCP ã¨ã³ã¼ãµã¼ã398 * tcp_echo_srv -- TCP エコーサーバ 412 399 * 413 400 * USE_TCP_NON_BLOCKING OFF … … 520 507 521 508 /* 522 * tcp_echo_srv_task -- TCP ã¨ã³ã¼ãµã¼ãã¿ã¹ã¯509 * tcp_echo_srv_task -- TCP エコーサーバタスク 523 510 */ 524 511 -
asp3_gr_sakura/trunk/tinet/netapp/tcp_echo_srv1.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * TCP ECHO ãµã¼ã #1ãéåä¿¡ã¿ã¹ã¯åä¸å48 * ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * TCP ECHO サーバ #1、送受信タスク同一型 36 * コンフィギュレーションファイル 49 37 */ 50 38 51 39 #ifdef USE_TCP_ECHO_SRV1 52 40 53 /* ã¿ã¹ã¯*/41 /* タスク */ 54 42 55 43 CRE_TSK(TCP_ECHO_SRV_TASK1, { … … 153 141 #endif /* of #if NUM_TCP_ECHO_SRV_TASKS >= 8 */ 154 142 155 /* ã»ããã©*/143 /* セマフォ */ 156 144 157 145 #ifdef USE_TCP_NON_BLOCKING -
asp3_gr_sakura/trunk/tinet/netapp/tcp_echo_srv1.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 50 38 51 39 /* 52 * TCP ECHO ãµã¼ã#140 * TCP ECHO サーバ #1 53 41 * 54 * ã»éåä¿¡ã¿ã¹ã¯åä¸å55 * ã»ãã³ããããã³ã°ã³ã¼ã«56 * ã»çã³ãã¼API57 * ã»IPv4/IPv658 * ã»ç·æ¥ãã¼ã¿ã®åä¿¡42 * ・送受信タスク同一型 43 * ・ノンブロッキングコール 44 * ・省コピー API 45 * ・IPv4/IPv6 46 * ・緊急データの受信 59 47 */ 60 48 61 /* ã¹ã¿ãã¯ãµã¤ãº*/49 /* スタックサイズ */ 62 50 63 #define TCP_ECHO_SRV_STACK_SIZE 1024 /* TCP ECHO ãµã¼ãã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº*/51 #define TCP_ECHO_SRV_STACK_SIZE 1024 /* TCP ECHO サーバタスクのスタックサイズ */ 64 52 65 /* åªå 66 度 */ 53 /* 優先度 */ 67 54 68 #define TCP_ECHO_SRV_MAIN_PRIORITY 5 /* TCP ECHO ãµã¼ãã¿ã¹ã¯ã®åªå 69 度 */ 55 #define TCP_ECHO_SRV_MAIN_PRIORITY 5 /* TCP ECHO サーバタスクの優先度 */ 70 56 71 57 /* 72 * TCP éåä¿¡ã¦ã¤ã³ããããã¡ãµã¤ãº58 * TCP 送受信ウインドバッファサイズ 73 59 */ 74 60 … … 95 81 96 82 /* 97 * ã¿ã¹ã¯æ°83 * タスク数 98 84 */ 99 85 … … 102 88 #endif 103 89 104 /* IPv4 ç¨ã® TCP ã¨ã³ã¼ãµã¼ãã¿ã¹ã¯ã¯ 1åã«å¶éããã*/90 /* IPv4 用の TCP エコーサーバタスクは 1個に制限する。*/ 105 91 106 92 #ifdef NUM_TCP4_ECHO_SRV_TASKS … … 110 96 111 97 /* 112 * å¤æ°98 * 変数 113 99 */ 114 100 115 /* TCP éåä¿¡ã¦ã£ã³ããããã¡*/101 /* TCP 送受信ウィンドバッファ */ 116 102 117 103 extern uint8_t tcp_echo_srv_swbuf[NUM_TCP_ECHO_SRV_TASKS][TCP_ECHO_SRV_SWBUF_SIZE]; … … 119 105 120 106 /* 121 * ã¿ã¹ã¯107 * タスク 122 108 */ 123 109 … … 125 111 126 112 /* 127 * é¢æ°113 * 関数 128 114 */ 129 115 -
asp3_gr_sakura/trunk/tinet/netapp/tcp_echo_srv1_ext.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * TCP ECHO ãµã¼ã#135 * TCP ECHO サーバ #1 48 36 * 49 * ã»éåä¿¡ã¿ã¹ã¯åä¸å50 * ã»ãã³ããããã³ã°ã³ã¼ã«51 * ã»çã³ãã¼API52 * ã»IPv4/IPv653 * ã»ç·æ¥ãã¼ã¿ã®åä¿¡37 * ・送受信タスク同一型 38 * ・ノンブロッキングコール 39 * ・省コピー API 40 * ・IPv4/IPv6 41 * ・緊急データの受信 54 42 */ 55 43 … … 85 73 86 74 /* 87 * 表示75 * 表示 88 76 */ 89 77 … … 91 79 92 80 /* 93 * ã³ãã¯ã·ã§ã³åææ¹æ³ã®æå®81 * コネクション切断方法の指定 94 82 */ 95 83 … … 97 85 98 86 /* 99 * ã¿ã¤ã ã¢ã¦ã87 * タイムアウト 100 88 */ 101 89 102 90 #ifdef TOPPERS_S810_CLG3_85 103 91 104 #define CLS_TMO TMO_FEVR /* Close Wait ã¯æ¨æºã§ 60ç§*/92 #define CLS_TMO TMO_FEVR /* Close Wait は標準で 60秒 */ 105 93 //#define RCV_TMO TMO_FEVR 106 94 #define RCV_TMO (30*SYSTIM_HZ) … … 110 98 #else /* of #ifdef TOPPERS_S810_CLG3_85 */ 111 99 112 //#define CLS_TMO TMO_FEVR /* Close Wait ã¯æ¨æºã§ 60ç§*/100 //#define CLS_TMO TMO_FEVR /* Close Wait は標準で 60秒 */ 113 101 #define CLS_TMO (70*SYSTIM_HZ+(netapp_rand()%SYSTIM_HZ)*10) 114 102 //#define RCV_TMO TMO_FEVR … … 122 110 123 111 /* 124 * å¤æ°112 * 変数 125 113 */ 126 114 127 115 typedef struct t_tcp_echo_srv_task_info { 128 ID taskid; /* ã¿ã¹ã¯ ID */ 129 bool_t active; /* åä½ç¶æ 130 */ 131 char apip; /* API IPãããã³ã« */ 116 ID taskid; /* タスク ID */ 117 bool_t active; /* 動作状態 */ 118 char apip; /* API IPプロトコル */ 132 119 } T_TCP_ECHO_SRV_TASK_INFO; 133 120 … … 161 148 162 149 /* 163 * get_tcp_rep -- TCP åä»å£ãç²å¾ããã150 * get_tcp_rep -- TCP 受付口を獲得する。 164 151 */ 165 152 … … 219 206 220 207 /* 221 * get_tcp_cep -- TCP é信端ç¹ãç²å¾ããã208 * get_tcp_cep -- TCP 通信端点を獲得する。 222 209 */ 223 210 … … 266 253 267 254 /* 268 * wakeup_tcp_echo_srv -- TCP ã¨ã³ã¼ãµã¼ãã¿ã¹ã¯ã®ä¼æ¢è§£é¤255 * wakeup_tcp_echo_srv -- TCP エコーサーバタスクの休止解除 269 256 */ 270 257 … … 288 275 289 276 /* 290 * tcp_echo_srv_task -- TCP ã¨ã³ã¼ãµã¼ãã¿ã¹ã¯277 * tcp_echo_srv_task -- TCP エコーサーバタスク 291 278 */ 292 279 -
asp3_gr_sakura/trunk/tinet/netapp/tcp_echo_srv1_nblk.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * TCP ECHO ãµã¼ã#135 * TCP ECHO サーバ #1 48 36 * 49 * ã»éåä¿¡ã¿ã¹ã¯åä¸å50 * ã»ãã³ããããã³ã°ã³ã¼ã«51 * ã»çã³ãã¼API52 * ã»IPv4/IPv653 * ã»ç·æ¥ãã¼ã¿ã®åä¿¡37 * ・送受信タスク同一型 38 * ・ノンブロッキングコール 39 * ・省コピー API 40 * ・IPv4/IPv6 41 * ・緊急データの受信 54 42 */ 55 43 … … 85 73 86 74 /* 87 * 表示75 * 表示 88 76 */ 89 77 … … 91 79 92 80 /* 93 * ã³ãã¯ã·ã§ã³åææ¹æ³ã®æå®81 * コネクション切断方法の指定 94 82 */ 95 83 … … 97 85 98 86 /* 99 * ã¿ã¤ã ã¢ã¦ã87 * タイムアウト 100 88 */ 101 89 102 90 #ifdef TOPPERS_S810_CLG3_85 103 91 104 #define CLS_TMO TMO_FEVR /* Close Wait ã¯æ¨æºã§ 60ç§*/92 #define CLS_TMO TMO_FEVR /* Close Wait は標準で 60秒 */ 105 93 //#define RCV_TMO TMO_FEVR 106 94 #define RCV_TMO (30*SYSTIM_HZ) … … 110 98 #else /* of #ifdef TOPPERS_S810_CLG3_85 */ 111 99 112 //#define CLS_TMO TMO_FEVR /* Close Wait ã¯æ¨æºã§ 60ç§*/100 //#define CLS_TMO TMO_FEVR /* Close Wait は標準で 60秒 */ 113 101 #define CLS_TMO (70*SYSTIM_HZ+(netapp_rand()%SYSTIM_HZ)*10) 114 102 //#define RCV_TMO TMO_FEVR … … 122 110 123 111 /* 124 * å¤æ°112 * 変数 125 113 */ 126 114 … … 196 184 197 185 /* 198 * find_srv_info -- æ¥ç¶ç¸æã®æ 199 å ±æ§é ä½ãæ¢ç´¢ããã 186 * find_srv_info -- 接続相手の情報構造体を探索する。 200 187 */ 201 188 … … 212 199 213 200 /* 214 * ãã³ããããã³ã°ã³ã¼ã«ã®ã³ã¼ã«ããã¯é¢æ°201 * ノンブロッキングコールのコールバック関数 215 202 */ 216 203 … … 290 277 291 278 /* 292 * tcp_passive_open -- ååãªã¼ãã³ãå®è¡ããã279 * tcp_passive_open -- 受動オープンを実行する。 293 280 * 294 281 * USE_TCP_NON_BLOCKING ON … … 304 291 305 292 if (apip == API_PROTO_IPV6) { 306 /* åä»å£ã¯IPv6 */293 /* 受付口は IPv6 */ 307 294 if ((error = tcp6_acp_cep(info->cepid, info->repid, &info->dst, TMO_NBLK)) != E_WBLK) 308 295 return error; 309 296 310 /* ç¸æããæ¥ç¶ãããã¾ã§å¾ 311 ã¤ã*/ 297 /* 相手から接続されるまで待つ。*/ 312 298 syscall(wai_sem(info->semid)); 313 299 … … 322 308 } 323 309 else { 324 /* åä»å£ã¯IPv4 */310 /* 受付口は IPv4 */ 325 311 if ((error = tcp_acp_cep(info->cepid, info->repid, &dst4, TMO_NBLK)) != E_WBLK) 326 312 return error; 327 313 328 /* ç¸æããæ¥ç¶ãããã¾ã§å¾ 329 ã¤ã*/ 314 /* 相手から接続されるまで待つ。*/ 330 315 syscall(wai_sem(info->semid)); 331 316 … … 356 341 return error; 357 342 358 /* ç¸æããæ¥ç¶ãããã¾ã§å¾ 359 ã¤ã*/ 343 /* 相手から接続されるまで待つ。*/ 360 344 syscall(wai_sem(info->semid)); 361 345 … … 376 360 377 361 /* 378 * tcp_echo_srv -- TCP ã¨ã³ã¼ãµã¼ã362 * tcp_echo_srv -- TCP エコーサーバ 379 363 * 380 364 * USE_TCP_NON_BLOCKING ON … … 431 415 } 432 416 433 /* åä¿¡ããã¾ã§å¾ 434 ã¤ã*/ 417 /* 受信するまで待つ。*/ 435 418 syscall(wai_sem(tcp_echo_srv_info[six].semid)); 436 419 437 if (tcp_echo_srv_info[six].rlen < 0) { /* ã¨ã©ã¼*/420 if (tcp_echo_srv_info[six].rlen < 0) { /* エラー */ 438 421 syslog(LOG_NOTICE, "[TES%c:%02u RCV] error: %s", 439 422 apip, tcp_echo_srv_info[six].cepid, itron_strerror(tcp_echo_srv_info[six].rlen)); 440 423 break; 441 424 } 442 else if (tcp_echo_srv_info[six].rlen == 0) /* åä¿¡çµäº*/425 else if (tcp_echo_srv_info[six].rlen == 0) /* 受信終了 */ 443 426 break; 444 427 445 428 rblen = tcp_echo_srv_info[six].rlen; 446 429 447 /* ãããã¡ã®æ®ãã«ãããåä¿¡é·ã調æ´ããã*/430 /* バッファの残りにより、受信長を調整する。*/ 448 431 if (rblen > BUF_SIZE - rlen) 449 432 rblen = BUF_SIZE - rlen; … … 478 461 } 479 462 480 /* éä¿¡ãããã¡ã®ç²å¾ãå®äºããã¾ã§å¾ 481 ã¤ã*/ 463 /* 送信バッファの獲得が完了するまで待つ。*/ 482 464 syscall(wai_sem(tcp_echo_srv_info[six].semid)); 483 465 … … 519 501 apip, tcp_echo_srv_info[six].cepid, itron_strerror(error)); 520 502 521 /* éæ¾ãå®äºããã¾ã§å¾ 522 ã¤ã*/ 503 /* 開放が完了するまで待つ。*/ 523 504 syscall(wai_sem(tcp_echo_srv_info[six].semid)); 524 505 … … 533 514 534 515 /* 535 * tcp_echo_srv -- TCP ã¨ã³ã¼ãµã¼ã516 * tcp_echo_srv -- TCP エコーサーバ 536 517 * 537 518 * USE_TCP_NON_BLOCKING ON … … 574 555 } 575 556 576 /* åä¿¡å®äºã¾ã§å¾ 577 ã¤ã*/ 557 /* 受信完了まで待つ。*/ 578 558 syscall(wai_sem(tcp_echo_srv_info[six].semid)); 579 559 … … 606 586 } 607 587 608 /* éä¿¡å®äºã¾ã§å¾ 609 ã¤ã*/ 588 /* 送信完了まで待つ。*/ 610 589 syscall(wai_sem(tcp_echo_srv_info[six].semid)); 611 590 … … 639 618 apip, tcp_echo_srv_info[six].cepid, itron_strerror(error)); 640 619 641 /* éæ¾ãå®äºããã¾ã§å¾ 642 ã¤ã*/ 620 /* 開放が完了するまで待つ。*/ 643 621 syscall(wai_sem(tcp_echo_srv_info[six].semid)); 644 622 -
asp3_gr_sakura/trunk/tinet/netapp/tcp_echo_srv1_var.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 50 38 51 39 /* 52 * 注æ:40 * 注意: 53 41 * 54 * BUF_SIZE 㯠TCP ã®55 * éä¿¡ã¦ã¤ã³ãã¦ãããã¡ãµã¤ãº + åä¿¡ã¦ã¤ã³ãã¦ãããã¡ãµã¤ãºã®56 * 3/2 å以ä¸ã®å¤§ããããªããã°ããããããã¯ããå¯è½æ§ãããã42 * BUF_SIZE は TCP の 43 * 送信ウインドウバッファサイズ + 受信ウインドウバッファサイズの 44 * 3/2 倍以上の大きさがなければ、デッドロックする可能性がある。 57 45 */ 58 46 … … 61 49 62 50 /* 63 * ãµã¼ãæ 64 å ±æ§é ä½ 51 * サーバ情報構造体 65 52 */ 66 53 67 54 typedef struct t_tcp_echo_srv_info { 68 ID cepid; /* é信端ç¹ID */69 ID repid; /* åä»å£ID */55 ID cepid; /* 通信端点 ID */ 56 ID repid; /* 受付口 ID */ 70 57 71 58 #ifdef USE_TCP_NON_BLOCKING 72 ID semid; /* NBLK ç¨ ã»ããã©ID */73 ER error; /* NBLK ç¨error */74 ER_UINT slen; /* NBLK ç¨ éä¿¡ãã¼ã¿æ°*/75 ER_UINT rlen; /* NBLK ç¨ åä¿¡ãã¼ã¿æ°*/59 ID semid; /* NBLK 用 セマフォID */ 60 ER error; /* NBLK 用 error */ 61 ER_UINT slen; /* NBLK 用 送信データ数 */ 62 ER_UINT rlen; /* NBLK 用 受信データ数 */ 76 63 #endif 77 64 78 T_IPEP dst; /* æ¥ç¶ç¸æã¢ãã¬ã¹æ 79 å ± */ 65 T_IPEP dst; /* 接続相手アドレス情報 */ 80 66 81 67 #ifdef USE_TCP_NON_BLOCKING … … 96 82 97 83 /* 98 * å¤æ°84 * 変数 99 85 */ 100 86 … … 102 88 103 89 /* 104 * é¢æ°90 * 関数 105 91 */ 106 92 -
asp3_gr_sakura/trunk/tinet/netapp/tcp_echo_srv2.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * TCP ECHO ãµã¼ã#235 * TCP ECHO サーバ #2 48 36 * 49 * ã»éåä¿¡ã¿ã¹ã¯åé¢å50 * ã»ãã³ããããã³ã°ã³ã¼ã«51 * ã»IPv4/IPv637 * ・送受信タスク分離型 38 * ・ノンブロッキングコール 39 * ・IPv4/IPv6 52 40 */ 53 41 … … 91 79 92 80 /* 93 * 表示81 * 表示 94 82 */ 95 83 … … 97 85 98 86 /* 99 * ã³ãã¯ã·ã§ã³åææ¹æ³ã®æå®87 * コネクション切断方法の指定 100 88 */ 101 89 … … 103 91 104 92 /* 105 * å 106 ¨åå¤æ° 107 */ 108 109 /* TCP éåä¿¡ã¦ã£ã³ããããã¡ */ 93 * 全域変数 94 */ 95 96 /* TCP 送受信ウィンドバッファ */ 110 97 111 98 #ifndef TCP_CFG_SWBUF_CSAVE … … 118 105 119 106 /* 120 * å¤æ°121 */ 122 123 /* 124 * 注æ:107 * 変数 108 */ 109 110 /* 111 * 注意: 125 112 * 126 * BUF_SIZE 㯠TCP ã®127 * éä¿¡ã¦ã¤ã³ãã¦ãããã¡ãµã¤ãº + åä¿¡ã¦ã¤ã³ãã¦ãããã¡ãµã¤ãºã®128 * 3/2 å以ä¸ã®å¤§ããããªããã°ããããããã¯ããå¯è½æ§ãããã113 * BUF_SIZE は TCP の 114 * 送信ウインドウバッファサイズ + 受信ウインドウバッファサイズの 115 * 3/2 倍以上の大きさがなければ、デッドロックする可能性がある。 129 116 */ 130 117 … … 132 119 TCP_ECHO_SRV_RWBUF_SIZE) * 3 / 2) 133 120 134 static char buffer[BUF_SIZE]; /* ãããã¡ */ 135 136 static T_IPEP dst; /* æ¥ç¶ç¸æ */ 137 static bool_t ena_rcv; /* åä¿¡å¯è½ãã©ã° */ 138 static char *rptr = buffer; /* åä¿¡ãã¤ã³ã¿ */ 139 static char *sptr = buffer; /* éä¿¡ãã¤ã³ã¿ */ 140 static uint32_t rcv_total; /* åä¿¡æåæ° */ 141 static uint32_t snd_total; /* éä¿¡æåæ° */ 142 static uint16_t chars; /* ãããã¡å 143 ã®æåæ° */ 144 static uint16_t rcv_count; /* åä¿¡åæ° */ 145 static uint16_t snd_count; /* éä¿¡åæ° */ 121 static char buffer[BUF_SIZE]; /* バッファ */ 122 123 static T_IPEP dst; /* 接続相手 */ 124 static bool_t ena_rcv; /* 受信可能フラグ */ 125 static char *rptr = buffer; /* 受信ポインタ */ 126 static char *sptr = buffer; /* 送信ポインタ */ 127 static uint32_t rcv_total; /* 受信文字数 */ 128 static uint32_t snd_total; /* 送信文字数 */ 129 static uint16_t chars; /* バッファ内の文字数 */ 130 static uint16_t rcv_count; /* 受信回数 */ 131 static uint16_t snd_count; /* 送信回数 */ 146 132 147 133 #ifdef USE_TCP_NON_BLOCKING 148 134 149 static ER rcv_error = E_OK; /* åä¿¡ããã³ããããã³ã°ã³ã¼ã«ã¨ã©ã¼*/150 static ER snd_error = 1; /* éä¿¡ããã³ããããã³ã°ã³ã¼ã«ã¨ã©ã¼*/151 152 /* 153 * ãã³ããããã³ã°ã³ã¼ã«ã®ã³ã¼ã«ããã¯é¢æ°135 static ER rcv_error = E_OK; /* 受信、ノンブロッキングコールエラー */ 136 static ER snd_error = 1; /* 送信、ノンブロッキングコールエラー */ 137 138 /* 139 * ノンブロッキングコールのコールバック関数 154 140 */ 155 141 … … 197 183 syscall(wai_sem(SEM_TCP_ECHO_SRV_LOCK)); 198 184 199 /* éä¿¡ãã¤ã³ã¿ãé²ããã*/185 /* 送信ポインタを進める。*/ 200 186 if (sptr - buffer + slen >= sizeof(buffer)) 201 187 sptr -= sizeof(buffer) - slen; … … 203 189 sptr += slen; 204 190 205 /* ãããã¡å 206 ã®æåæ°ãæ¸ããã*/ 191 /* バッファ内の文字数を減らす。*/ 207 192 last = chars; 208 193 chars -= slen; 209 194 210 /* ãããã¡å 211 ã«æåãããã°ãéä¿¡ã¿ã¹ã¯ãèµ·åºããã*/ 195 /* バッファ内に文字があれば、送信タスクを起床する。*/ 212 196 if (chars > 0 || (!ena_rcv && chars == 0)) 213 197 sig_sem(SEM_TCP_ECHO_SRV_SND_READY); 214 198 215 /* åä¿¡å¯è½ã§ããããã¡å 216 ã«ç©ºããã§ããã°ãåä¿¡ã¿ã¹ã¯ãèµ·åºããã*/ 199 /* 受信可能で、バッファ内に空きができれば、受信タスクを起床する。*/ 217 200 if (ena_rcv && last == sizeof(buffer) && sizeof(buffer) - chars > 0) 218 201 syscall(sig_sem(SEM_TCP_ECHO_SRV_RCV_READY)); … … 240 223 syscall(wai_sem(SEM_TCP_ECHO_SRV_LOCK)); 241 224 242 /* åä¿¡ãã¤ã³ã¿ãé²ããã*/225 /* 受信ポインタを進める。*/ 243 226 if (rptr - buffer + rlen >= sizeof(buffer)) 244 227 rptr -= sizeof(buffer) - rlen; … … 246 229 rptr += rlen; 247 230 248 /* ãããã¡å 249 ã®æåæ°ãå¢ããã*/ 231 /* バッファ内の文字数を増やす。*/ 250 232 last = chars; 251 233 chars += rlen; 252 234 253 /* ãããã¡å 254 ã«æåãå 255 ¥ãã°ãéä¿¡ã¿ã¹ã¯ãèµ·åºããã*/ 235 /* バッファ内に文字が入れば、送信タスクを起床する。*/ 256 236 if (last == 0 && chars > 0) 257 237 sig_sem(SEM_TCP_ECHO_SRV_SND_READY); 258 238 259 /* ãããã¡å 260 ã«ç©ºããããã°ãåä¿¡ã¿ã¹ã¯ãèµ·åºããã*/ 239 /* バッファ内に空きがあれば、受信タスクを起床する。*/ 261 240 if (sizeof(buffer) - chars > 0) 262 241 sig_sem(SEM_TCP_ECHO_SRV_RCV_READY); … … 293 272 294 273 /* 295 * TCP ECHO ãµã¼ãåä¿¡ã«ã¼ãã³ (ãã³ããããã³ã°ã³ã¼ã«ä½¿ç¨)274 * TCP ECHO サーバ受信ルーチン (ノンブロッキングコール使用) 296 275 */ 297 276 … … 312 291 } 313 292 314 /* ã³ãã¯ã·ã§ã³éè¨å®äºã¾ã§å¾ 315 ã¤ã*/ 293 /* コネクション開設完了まで待つ。*/ 316 294 syscall(wai_sem(SEM_TCP_ECHO_SRV_RCV_READY)); 317 295 318 /* å¾ 319 ã£ã¦ããéã«ã¨ã©ã¼ã«ãªã£ãããã³ãã¯ã·ã§ã³ã®éè¨å¾ 320 ã¡ã«æ»ãã*/ 296 /* 待っている間にエラーになったら、コネクションの開設待ちに戻る。*/ 321 297 if (rcv_error != E_OK) 322 298 return rcv_error; … … 331 307 while (true) { 332 308 333 /* åä¿¡ãµã¤ãºãè¨ç®ããã*/309 /* 受信サイズを計算する。*/ 334 310 syscall(wai_sem(SEM_TCP_ECHO_SRV_LOCK)); 335 311 if (sptr > rptr) … … 339 315 syscall(sig_sem(SEM_TCP_ECHO_SRV_LOCK)); 340 316 341 /* åä¿¡ããã*/317 /* 受信する。*/ 342 318 if ((error = tcp_rcv_dat(cepid, rptr, blen, TMO_NBLK)) != E_WBLK) { 343 319 syslog(LOG_NOTICE, "[TES:%02u RCV] recv error = %s", cepid, itron_strerror(error)); … … 345 321 } 346 322 347 /* åä¿¡ãããã¡ã«ç©ºãã§ããã¾ã§å¾ 348 ã¤ã*/ 323 /* 受信バッファに空ができるまで待つ。*/ 349 324 syscall(wai_sem(SEM_TCP_ECHO_SRV_RCV_READY)); 350 325 351 /* å¾ 352 ã£ã¦ããéã«ãåä¿¡æåæ°ã 0 ã«ãªãããã¨ã©ã¼ã«ãªã£ããçµäºããã*/ 326 /* 待っている間に、受信文字数が 0 になるか、エラーになったら終了する。*/ 353 327 if (rcv_error <= 0) 354 328 break; … … 356 330 } 357 331 358 /* åä¿¡å®äº*/332 /* 受信完了 */ 359 333 ena_rcv = false; 360 334 361 /* åä¿¡ãããã¡ã«æåãå 362 ¥ãã®ãå¾ 363 ã£ã¦ããéä¿¡ã¿ã¹ã¯ãèµ·åºããã*/ 335 /* 受信バッファに文字が入るのを待っている送信タスクを起床する。*/ 364 336 if (chars == 0) 365 337 sig_sem(SEM_TCP_ECHO_SRV_SND_READY); 366 338 367 /* ã³ãã¯ã·ã§ã³åæå®äºã¾ã§å¾ 368 ã¤ã*/ 339 /* コネクション切断完了まで待つ。*/ 369 340 syscall(wai_sem(SEM_TCP_ECHO_SRV_CLS_READY)); 370 341 … … 373 344 374 345 /* 375 * TCP ECHO ãµã¼ãéä¿¡ã¿ã¹ã¯ (ãã³ããããã³ã°ã³ã¼ã«ä½¿ç¨)346 * TCP ECHO サーバ送信タスク (ノンブロッキングコール使用) 376 347 */ 377 348 … … 394 365 while (true) { 395 366 396 /* ãããã¡ã«æåãå 397 ¥ãã¾ã§å¾ 398 ã¤ã*/ 367 /* バッファに文字が入るまで待つ。*/ 399 368 syscall(wai_sem(SEM_TCP_ECHO_SRV_SND_READY)); 400 369 401 /* å¾ 402 ã£ã¦ããéã«ã¨ã©ã¼ã«ãªã£ããçµäºããã*/ 370 /* 待っている間にエラーになったら終了する。*/ 403 371 if (snd_error <= 0) 404 372 break; 405 373 406 /* åä¿¡å®äºã§ããããã¡ã«æåããªããã°çµäºããã*/374 /* 受信完了で、バッファに文字がなければ終了する。*/ 407 375 if (!ena_rcv && chars == 0) 408 376 break; 409 377 410 /* éä¿¡ãµã¤ãºãè¨ç®ããã*/378 /* 送信サイズを計算する。*/ 411 379 syscall(wai_sem(SEM_TCP_ECHO_SRV_LOCK)); 412 380 if (rptr > sptr) … … 416 384 syscall(sig_sem(SEM_TCP_ECHO_SRV_LOCK)); 417 385 418 /* éä¿¡ããã*/386 /* 送信する。*/ 419 387 if ((error = tcp_snd_dat(cepid, sptr, blen, TMO_NBLK)) != E_WBLK) { 420 388 syslog(LOG_NOTICE, "[TES:%02u SND] send error = %s", cepid, itron_strerror(error)); … … 423 391 } 424 392 425 /* åä¿¡ãããã¡ã«ç©ºãã§ãããå¾ 426 ã£ã¦ããåä¿¡ã¿ã¹ã¯ãèµ·åºããã*/ 393 /* 受信バッファに空ができるを待っている受信タスクを起床する。*/ 427 394 if (chars == sizeof(buffer)) 428 395 sig_sem(SEM_TCP_ECHO_SRV_SND_READY); … … 445 412 446 413 /* 447 * TCP ECHO ãµã¼ãåä¿¡ã«ã¼ãã³414 * TCP ECHO サーバ受信ルーチン 448 415 */ 449 416 … … 482 449 while (true) { 483 450 484 /* åä¿¡ãµã¤ãºãè¨ç®ããã*/451 /* 受信サイズを計算する。*/ 485 452 syscall(wai_sem(SEM_TCP_ECHO_SRV_LOCK)); 486 453 if (sptr > rptr) … … 490 457 syscall(sig_sem(SEM_TCP_ECHO_SRV_LOCK)); 491 458 492 /* åä¿¡ããã*/459 /* 受信する。*/ 493 460 if ((rlen = tcp_rcv_dat(cepid, rptr, blen, TMO_FEVR)) <= 0) { 494 461 if (rlen < 0) … … 508 475 syscall(wai_sem(SEM_TCP_ECHO_SRV_LOCK)); 509 476 510 /* åä¿¡ãã¤ã³ã¿ãé²ããã*/477 /* 受信ポインタを進める。*/ 511 478 if (rptr - buffer + rlen >= sizeof(buffer)) 512 479 rptr -= sizeof(buffer) - rlen; … … 514 481 rptr += rlen; 515 482 516 /* ãããã¡å 517 ã®æåæ°ãå¢ããã*/ 483 /* バッファ内の文字数を増やす。*/ 518 484 last = chars; 519 485 chars += (uint16_t)rlen; 520 486 521 /* ãããã¡å 522 ã«æåãå 523 ¥ãã°ãéä¿¡ã¿ã¹ã¯ãèµ·åºããã*/ 487 /* バッファ内に文字が入れば、送信タスクを起床する。*/ 524 488 if (last == 0 && chars > 0) 525 489 sig_sem(SEM_TCP_ECHO_SRV_SND_READY); 526 490 527 /* ãããã¡å 528 ã«ç©ºããããã°ãåä¿¡ã¿ã¹ã¯ãèµ·åºããã*/ 491 /* バッファ内に空きがあれば、受信タスクを起床する。*/ 529 492 if (sizeof(buffer) - chars > 0) 530 493 sig_sem(SEM_TCP_ECHO_SRV_RCV_READY); … … 532 495 syscall(sig_sem(SEM_TCP_ECHO_SRV_LOCK)); 533 496 534 /* ãããã¡ã«ç©ºããã§ããã¾ã§å¾ 535 ã¤ã*/ 497 /* バッファに空きができるまで待つ。*/ 536 498 syscall(wai_sem(SEM_TCP_ECHO_SRV_RCV_READY)); 537 499 } 538 500 539 /* åä¿¡å®äº*/501 /* 受信完了 */ 540 502 ena_rcv = false; 541 503 542 /* åä¿¡ãããã¡ã«æåãå 543 ¥ãã®ãå¾ 544 ã£ã¦ããéä¿¡ã¿ã¹ã¯ãèµ·åºããã*/ 504 /* 受信バッファに文字が入るのを待っている送信タスクを起床する。*/ 545 505 if (chars == 0) 546 506 sig_sem(SEM_TCP_ECHO_SRV_SND_READY); 547 507 548 /* ã³ãã¯ã·ã§ã³ã®åæãå®äºããã¾ã§å¾ 549 ã¤ã*/ 508 /* コネクションの切断が完了するまで待つ。*/ 550 509 syscall(wai_sem(SEM_TCP_ECHO_SRV_CLS_READY)); 551 510 … … 554 513 555 514 /* 556 * TCP ECHO ãµã¼ãéä¿¡ã¿ã¹ã¯515 * TCP ECHO サーバ送信タスク 557 516 */ 558 517 … … 578 537 while (true) { 579 538 580 /* ãããã¡ã«æåãå 581 ¥ãã¾ã§å¾ 582 ã¤ã*/ 539 /* バッファに文字が入るまで待つ。*/ 583 540 syscall(wai_sem(SEM_TCP_ECHO_SRV_SND_READY)); 584 541 585 /* åä¿¡å®äºã§ããããã¡ã«æåããªããã°çµäºããã*/542 /* 受信完了で、バッファに文字がなければ終了する。*/ 586 543 if (!ena_rcv && chars == 0) 587 544 break; 588 545 589 /* éä¿¡ãµã¤ãºãè¨ç®ããã*/546 /* 送信サイズを計算する。*/ 590 547 syscall(wai_sem(SEM_TCP_ECHO_SRV_LOCK)); 591 548 if (rptr > sptr) … … 611 568 syscall(wai_sem(SEM_TCP_ECHO_SRV_LOCK)); 612 569 613 /* éä¿¡ãã¤ã³ã¿ãé²ããã*/570 /* 送信ポインタを進める。*/ 614 571 if (sptr - buffer + slen >= sizeof(buffer)) 615 572 sptr -= sizeof(buffer) - slen; … … 617 574 sptr += slen; 618 575 619 /* ãããã¡å 620 ã®æåæ°ãæ¸ããã*/ 576 /* バッファ内の文字数を減らす。*/ 621 577 last = chars; 622 578 chars -= (uint16_t)slen; 623 579 624 /* åä¿¡å®äºã§ããããã¡ã«æåããªããã°çµäºããã*/580 /* 受信完了で、バッファに文字がなければ終了する。*/ 625 581 if (!ena_rcv && chars == 0) { 626 582 syscall(sig_sem(SEM_TCP_ECHO_SRV_LOCK)); … … 628 584 } 629 585 630 /* ãããã¡å 631 ã«æåãããã°ãéä¿¡ã¿ã¹ã¯ãèµ·åºããã*/ 586 /* バッファ内に文字があれば、送信タスクを起床する。*/ 632 587 if (chars > 0) 633 588 sig_sem(SEM_TCP_ECHO_SRV_SND_READY); 634 589 635 /* åä¿¡å¯è½ã§ããããã¡å 636 ã«ç©ºããã§ããã°ãåä¿¡ã¿ã¹ã¯ãèµ·åºããã*/ 590 /* 受信可能で、バッファ内に空きができれば、受信タスクを起床する。*/ 637 591 if (ena_rcv && last == sizeof(buffer) && sizeof(buffer) - chars > 0) 638 592 sig_sem(SEM_TCP_ECHO_SRV_RCV_READY); … … 641 595 } 642 596 643 /* åä¿¡ãããã¡ã«ç©ºãã§ãããå¾ 644 ã£ã¦ããåä¿¡ã¿ã¹ã¯ãèµ·åºããã*/ 597 /* 受信バッファに空ができるを待っている受信タスクを起床する。*/ 645 598 if (chars == sizeof(buffer)) 646 599 sig_sem(SEM_TCP_ECHO_SRV_SND_READY); … … 670 623 671 624 /* 672 * get_tcp_rep -- TCP åä»å£ãç²å¾ããã625 * get_tcp_rep -- TCP 受付口を獲得する。 673 626 */ 674 627 … … 696 649 697 650 /* 698 * get_tcp_cep -- TCP é信端ç¹ãç²å¾ããã651 * get_tcp_cep -- TCP 通信端点を獲得する。 699 652 */ 700 653 … … 731 684 732 685 /* 733 * TCP ECHO ãµã¼ãåä¿¡ã¿ã¹ã¯686 * TCP ECHO サーバ受信タスク 734 687 */ 735 688 -
asp3_gr_sakura/trunk/tinet/netapp/tcp_echo_srv2.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * TCP ECHO ãµã¼ã #2ãéåä¿¡ã¿ã¹ã¯åé¢å48 * ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * TCP ECHO サーバ #2、送受信タスク分離型 36 * コンフィギュレーションファイル 49 37 */ 50 38 51 39 #ifdef USE_TCP_ECHO_SRV2 52 40 53 /* ã¿ã¹ã¯*/41 /* タスク */ 54 42 55 43 #ifdef USE_TCP_EXTENTIONS … … 95 83 #endif /* of #ifdef USE_TCP_EXTENTIONS */ 96 84 97 /* ã³ãã³ããã¥ã¼*/85 /* コマンドキュー */ 98 86 99 87 CRE_DTQ(DTQ_TCP_ECHO_SRV_SND, { TA_TFIFO, 1, NULL }); 100 88 101 /* ã»ããã©*/89 /* セマフォ */ 102 90 103 91 CRE_SEM(SEM_TCP_ECHO_SRV_LOCK, { TA_TPRI, 1, 1 }); -
asp3_gr_sakura/trunk/tinet/netapp/tcp_echo_srv2.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 50 38 51 39 /* 52 * TCP ECHO ãµã¼ã#240 * TCP ECHO サーバ #2 53 41 * 54 * ã»éåä¿¡ã¿ã¹ã¯åé¢å55 * ã»ãã³ããããã³ã°ã³ã¼ã«56 * ã»IPv4/IPv642 * ・送受信タスク分離型 43 * ・ノンブロッキングコール 44 * ・IPv4/IPv6 57 45 */ 58 46 59 /* ã¹ã¿ãã¯ãµã¤ãº*/47 /* スタックサイズ */ 60 48 61 #define TCP_ECHO_SRV_STACK_SIZE 1024 /* TCP ECHO ãµã¼ãã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº*/49 #define TCP_ECHO_SRV_STACK_SIZE 1024 /* TCP ECHO サーバタスクのスタックサイズ */ 62 50 63 /* åªå 64 度 */ 51 /* 優先度 */ 65 52 66 #define TCP_ECHO_SRV_MAIN_PRIORITY 5 /* TCP ECHO ãµã¼ãã¿ã¹ã¯ã®åªå 67 度 */ 53 #define TCP_ECHO_SRV_MAIN_PRIORITY 5 /* TCP ECHO サーバタスクの優先度 */ 68 54 69 55 /* 70 * TCP éåä¿¡ã¦ã¤ã³ããããã¡ãµã¤ãº56 * TCP 送受信ウインドバッファサイズ 71 57 */ 72 58 … … 92 78 #endif /* of #if defined(USE_TCP_MSS_SEG) || defined(USE_IPV6_MMTU) */ 93 79 94 /* ã¿ã¹ã¯æ°*/80 /* タスク数 */ 95 81 96 82 #if defined(USE_TCP_ECHO_SRV2) … … 102 88 103 89 /* 104 * å¤æ°90 * 変数 105 91 */ 106 92 107 /* TCP éåä¿¡ã¦ã£ã³ããããã¡*/93 /* TCP 送受信ウィンドバッファ */ 108 94 109 95 extern uint8_t tcp_echo_srv_swbuf[NUM_TCP_ECHO_SRV_TASKS][TCP_ECHO_SRV_SWBUF_SIZE]; … … 111 97 112 98 /* 113 * ã¿ã¹ã¯99 * タスク 114 100 */ 115 101 … … 118 104 119 105 /* 120 * é¢æ°106 * 関数 121 107 */ 122 108 -
asp3_gr_sakura/trunk/tinet/netapp/tinet_dbg_cons.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * ãããã°ã³ã³ã½ã¼ã«48 * TCP/IP ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * デバッグコンソール 36 * TCP/IP コンフィギュレーションファイル 49 37 */ 50 38 … … 53 41 #ifdef USE_TCP_EXTENTIONS 54 42 55 /* TCP åä»å£*/43 /* TCP 受付口 */ 56 44 57 45 #ifdef SUPPORT_INET6 … … 79 67 #endif /* of #ifdef SUPPORT_INET4 */ 80 68 81 /* TCP é信端ç¹*/69 /* TCP 通信端点 */ 82 70 83 71 #ifdef SUPPORT_INET6 … … 125 113 #ifdef USE_UDP_EXTENTIONS 126 114 127 /* UDP é信端ç¹*/115 /* UDP 通信端点 */ 128 116 129 117 #ifdef SUPPORT_INET6 -
asp3_gr_sakura/trunk/tinet/netapp/tinet_dhcp4_cli.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * DHCP ã¯ã©ã¤ã¢ã³ã48 * TCP/IP ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * DHCP クライアント 36 * TCP/IP コンフィギュレーションファイル 49 37 */ 50 38 51 39 #ifdef DHCP4_CLI_CFG 52 40 53 /* UDP é信端ç¹*/41 /* UDP 通信端点 */ 54 42 55 43 UDP_CRE_CEP (UDP4_DHCP_CLI_CEPID, { -
asp3_gr_sakura/trunk/tinet/netapp/tinet_dhcp6_cli.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * DHCP/DHCPv6 ã¯ã©ã¤ã¢ã³ã48 * TCP/IP ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * DHCP/DHCPv6 クライアント 36 * TCP/IP コンフィギュレーションファイル 49 37 */ 50 38 51 39 #ifdef DHCP6_CLI_CFG 52 40 53 /* UDP é信端ç¹*/41 /* UDP 通信端点 */ 54 42 55 43 UDP6_CRE_CEP (UDP6_DHCP_CLI_CEPID, { -
asp3_gr_sakura/trunk/tinet/netapp/tinet_net_cons.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * ãããã¯ã¼ã¯çµç±ã³ã³ã½ã¼ã«å 48 ¥åºå 49 * TCP/IP ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã« 35 * ネットワーク経由コンソール入出力 36 * TCP/IP コンフィギュレーションファイル 50 37 */ 51 38 52 39 #ifdef USE_NET_CONS 53 40 54 /* TCP åä»å£*/41 /* TCP 受付口 */ 55 42 56 43 #ifdef SUPPORT_INET6 … … 74 61 #endif /* of #ifdef SUPPORT_INET6 */ 75 62 76 /* TCP é信端ç¹*/63 /* TCP 通信端点 */ 77 64 78 65 #ifdef SUPPORT_INET6 -
asp3_gr_sakura/trunk/tinet/netapp/tinet_resolver.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * RESOLVER ã¯ã©ã¤ã¢ã³ã48 * TCP/IP ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * RESOLVER クライアント 36 * TCP/IP コンフィギュレーションファイル 49 37 */ 50 38 51 39 #ifdef USE_RESOLVER 52 40 53 /* UDP é信端ç¹*/41 /* UDP 通信端点 */ 54 42 55 43 #ifdef SUPPORT_INET6 -
asp3_gr_sakura/trunk/tinet/netapp/tinet_tcp4_echo_srv1.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * TCP ECHO ãµã¼ãã® TCP/IP ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * TCP ECHO サーバの TCP/IP コンフィギュレーションファイル 48 36 * 49 37 * SUPPORT_INET4 50 38 * USE_TCP_NON_BLOCKING: OFF 51 39 * USE_TCP_EXTENTIONS: OFF 52 * TCP é信端ç¹ãNUM_TCP_ECHO_SRV_TASKS >= 2 以é40 * TCP 通信端点、NUM_TCP_ECHO_SRV_TASKS >= 2 以降 53 41 * 54 42 */ 55 43 56 /* TCP é信端ç¹*/44 /* TCP 通信端点 */ 57 45 58 46 #if defined(USE_TCP_ECHO_SRV1) -
asp3_gr_sakura/trunk/tinet/netapp/tinet_tcp4_echo_srv1_nblk.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * TCP ECHO ãµã¼ãã® TCP/IP ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * TCP ECHO サーバの TCP/IP コンフィギュレーションファイル 48 36 * 49 37 * SUPPORT_INET4 50 38 * USE_TCP_NON_BLOCKING: ON 51 39 * USE_TCP_EXTENTIONS: OFF 52 * TCP é信端ç¹ãNUM_TCP_ECHO_SRV_TASKS >= 2 以é40 * TCP 通信端点、NUM_TCP_ECHO_SRV_TASKS >= 2 以降 53 41 * 54 42 */ 55 43 56 /* TCP é信端ç¹*/44 /* TCP 通信端点 */ 57 45 58 46 #if defined(USE_TCP_ECHO_SRV1) -
asp3_gr_sakura/trunk/tinet/netapp/tinet_tcp64_echo_srv1.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 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 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * TCP ECHO ãµã¼ãã® TCP/IP ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * TCP ECHO サーバの TCP/IP コンフィギュレーションファイル 48 36 * 49 37 * SUPPORT_INET6 … … 51 39 * USE_TCP_NON_BLOCKING: OFF 52 40 * USE_TCP_EXTENTIONS: OFF 53 * TCP åä»å£54 * TCP é信端ç¹ãNUM_TCP_ECHO_SRV_TASKS == 141 * TCP 受付口 42 * TCP 通信端点、NUM_TCP_ECHO_SRV_TASKS == 1 55 43 * 56 44 */ … … 59 47 60 48 /* 61 * TCP åä»å£49 * TCP 受付口 62 50 */ 63 51 … … 98 86 99 87 /* 100 * TCP é信端ç¹101 * 102 * å®ç¾©ãã TCP é信端ç¹ï¼TCP?_ECHO_SRV_CEPID1ï¼ã®é¸æ88 * TCP 通信端点 89 * 90 * 定義する TCP 通信端点(TCP?_ECHO_SRV_CEPID1)の選択 103 91 * 104 92 * INET6 INET4 USE_TCP4 TCP6_CRE_CEP TCP_CRE_CEP 105 * â â â ÃTCP4106 * â â à TCP Ã107 * â à â TCP Ã108 * â à à TCP Ã109 * à â â ÃTCP110 * à â à ÃTCP111 * à à â à Ã112 * à à à à Ã93 * ○ ○ ○ × TCP4 94 * ○ ○ × TCP × 95 * ○ × ○ TCP × 96 * ○ × × TCP × 97 * × ○ ○ × TCP 98 * × ○ × × TCP 99 * × × ○ × × 100 * × × × × × 113 101 * 114 102 */ -
asp3_gr_sakura/trunk/tinet/netapp/tinet_tcp64_echo_srv1_nblk.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 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 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * TCP ECHO ãµã¼ãã® TCP/IP ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * TCP ECHO サーバの TCP/IP コンフィギュレーションファイル 48 36 * 49 37 * SUPPORT_INET6 … … 51 39 * USE_TCP_NON_BLOCKING: ON 52 40 * USE_TCP_EXTENTIONS: OFF 53 * TCP é信端ç¹ãNUM_TCP_ECHO_SRV_TASKS == 141 * TCP 通信端点、NUM_TCP_ECHO_SRV_TASKS == 1 54 42 * 55 43 */ … … 58 46 59 47 /* 60 * TCP é信端ç¹61 * 62 * å®ç¾©ãã TCP é信端ç¹ï¼TCP?_ECHO_SRV_CEPID1ï¼ã®é¸æ48 * TCP 通信端点 49 * 50 * 定義する TCP 通信端点(TCP?_ECHO_SRV_CEPID1)の選択 63 51 * 64 52 * INET6 INET4 USE_TCP4 TCP6_CRE_CEP TCP_CRE_CEP 65 * â â â ÃTCP466 * â â à TCP Ã67 * â à â TCP Ã68 * â à à TCP Ã69 * à â â ÃTCP70 * à â à ÃTCP71 * à à â à Ã72 * à à à à Ã53 * ○ ○ ○ × TCP4 54 * ○ ○ × TCP × 55 * ○ × ○ TCP × 56 * ○ × × TCP × 57 * × ○ ○ × TCP 58 * × ○ × × TCP 59 * × × ○ × × 60 * × × × × × 73 61 * 74 62 */ -
asp3_gr_sakura/trunk/tinet/netapp/tinet_tcp6_echo_srv1.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * TCP ECHO ãµã¼ãã® TCP/IP ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * TCP ECHO サーバの TCP/IP コンフィギュレーションファイル 48 36 * 49 37 * SUPPORT_INET6 50 38 * USE_TCP_NON_BLOCKING: OFF 51 39 * USE_TCP_EXTENTIONS: OFF 52 * TCP é信端ç¹ãNUM_TCP_ECHO_SRV_TASKS >= 2 以é40 * TCP 通信端点、NUM_TCP_ECHO_SRV_TASKS >= 2 以降 53 41 * 54 42 */ 55 43 56 /* TCP é信端ç¹*/44 /* TCP 通信端点 */ 57 45 58 46 #if defined(USE_TCP_ECHO_SRV1) -
asp3_gr_sakura/trunk/tinet/netapp/tinet_tcp6_echo_srv1_nblk.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * TCP ECHO ãµã¼ãã® TCP/IP ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * TCP ECHO サーバの TCP/IP コンフィギュレーションファイル 48 36 * 49 37 * SUPPORT_INET6 50 38 * USE_TCP_NON_BLOCKING: ON 51 39 * USE_TCP_EXTENTIONS: OFF 52 * TCP é信端ç¹ãNUM_TCP_ECHO_SRV_TASKS >= 2 以é40 * TCP 通信端点、NUM_TCP_ECHO_SRV_TASKS >= 2 以降 53 41 * 54 42 */ 55 43 56 /* TCP é信端ç¹*/44 /* TCP 通信端点 */ 57 45 58 46 #if defined(USE_TCP_ECHO_SRV1) -
asp3_gr_sakura/trunk/tinet/netapp/tinet_tcp_discard_cli.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * TCP DISCARD ã¯ã©ã¤ã¢ã³ã48 * TCP/IP ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * TCP DISCARD クライアント 36 * TCP/IP コンフィギュレーションファイル 49 37 */ 50 38 … … 53 41 #ifndef USE_TCP_EXTENTIONS 54 42 55 /* TCP é信端ç¹*/43 /* TCP 通信端点 */ 56 44 57 45 #ifdef SUPPORT_INET6 -
asp3_gr_sakura/trunk/tinet/netapp/tinet_tcp_discard_srv.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * TCP DISCARD ãµã¼ãã® TCP/IP ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * TCP DISCARD サーバの TCP/IP コンフィギュレーションファイル 48 36 */ 49 37 … … 52 40 #ifndef USE_TCP_EXTENTIONS 53 41 54 /* TCP åä»å£*/42 /* TCP 受付口 */ 55 43 56 44 #ifdef SUPPORT_INET6 … … 74 62 #endif /* of #ifdef SUPPORT_INET6 */ 75 63 76 /* TCP é信端ç¹*/64 /* TCP 通信端点 */ 77 65 78 66 #ifdef SUPPORT_INET6 -
asp3_gr_sakura/trunk/tinet/netapp/tinet_tcp_echo_cli.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * TCP ECHO ã¯ã©ã¤ã¢ã³ã48 * TCP/IP ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * TCP ECHO クライアント 36 * TCP/IP コンフィギュレーションファイル 49 37 */ 50 38 … … 53 41 #ifndef USE_TCP_EXTENTIONS 54 42 55 /* TCP é信端ç¹*/43 /* TCP 通信端点 */ 56 44 57 45 #ifdef SUPPORT_INET6 -
asp3_gr_sakura/trunk/tinet/netapp/tinet_tcp_echo_srv2.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * TCP ECHO ãµã¼ãã® TCP/IP ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * TCP ECHO サーバの TCP/IP コンフィギュレーションファイル 48 36 */ 49 37 … … 52 40 #ifndef USE_TCP_EXTENTIONS 53 41 54 /* TCP åä»å£*/42 /* TCP 受付口 */ 55 43 56 44 #if defined(SUPPORT_INET6) … … 74 62 #endif /* of #if defined(SUPPORT_INET6) */ 75 63 76 /* TCP é信端ç¹*/64 /* TCP 通信端点 */ 77 65 78 66 #if defined(SUPPORT_INET6) -
asp3_gr_sakura/trunk/tinet/netapp/tinet_udp4_echo_cli.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * UDP ECHO ã¯ã©ã¤ã¢ã³ã48 * TCP/IP ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * UDP ECHO クライアント 36 * TCP/IP コンフィギュレーションファイル 49 37 */ 50 38 … … 53 41 #if !defined(USE_UDP_EXTENTIONS) 54 42 55 /* UDP é信端ç¹*/43 /* UDP 通信端点 */ 56 44 57 45 #if defined(USE_UDP_NON_BLOCKING) -
asp3_gr_sakura/trunk/tinet/netapp/tinet_udp4_echo_srv.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * UDP ECHO ãµã¼ã48 * UDP/IP ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * UDP ECHO サーバ 36 * UDP/IP コンフィギュレーションファイル 49 37 * 50 38 * IPv4 … … 55 43 #ifndef USE_UDP_EXTENTIONS 56 44 57 /* UDP é信端ç¹*/45 /* UDP 通信端点 */ 58 46 59 47 #ifdef USE_UDP_NON_BLOCKING -
asp3_gr_sakura/trunk/tinet/netapp/tinet_udp6_echo_cli.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * UDP ECHO ã¯ã©ã¤ã¢ã³ã48 * TCP/IP ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * UDP ECHO クライアント 36 * TCP/IP コンフィギュレーションファイル 49 37 */ 50 38 … … 53 41 #if !defined(USE_UDP_EXTENTIONS) 54 42 55 /* UDP é信端ç¹*/43 /* UDP 通信端点 */ 56 44 57 45 #if defined(USE_UDP_NON_BLOCKING) -
asp3_gr_sakura/trunk/tinet/netapp/tinet_udp6_echo_srv.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * UDP ECHO ãµã¼ã48 * UDP/IP ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * UDP ECHO サーバ 36 * UDP/IP コンフィギュレーションファイル 49 37 * 50 38 * IPv6 … … 55 43 #ifndef USE_UDP_EXTENTIONS 56 44 57 /* UDP é信端ç¹*/45 /* UDP 通信端点 */ 58 46 59 47 #ifdef USE_UDP_NON_BLOCKING -
asp3_gr_sakura/trunk/tinet/netapp/tinet_udp_discard_cli.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * UDP DISCARD ã¯ã©ã¤ã¢ã³ã48 * UDP/IP ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * UDP DISCARD クライアント 36 * UDP/IP コンフィギュレーションファイル 49 37 */ 50 38 … … 53 41 #ifndef USE_UDP_EXTENTIONS 54 42 55 /* UDP é信端ç¹*/43 /* UDP 通信端点 */ 56 44 57 45 #ifdef SUPPORT_INET6 -
asp3_gr_sakura/trunk/tinet/netapp/tinet_wwws.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 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 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * WWW ãµã¼ãã® TCP/IP ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * WWW サーバの TCP/IP コンフィギュレーションファイル 48 36 * 49 37 * SUPPORT_INET6 … … 51 39 * USE_TCP_NON_BLOCKING: OFF 52 40 * USE_TCP_EXTENTIONS: OFF 53 * TCP åä»å£54 * TCP é信端ç¹41 * TCP 受付口 42 * TCP 通信端点 55 43 * 56 44 */ … … 59 47 60 48 /* 61 * TCP åä»å£49 * TCP 受付口 62 50 */ 63 51 … … 98 86 99 87 /* 100 * TCP é信端ç¹101 * 102 * å®ç¾©ãã TCP é信端ç¹ï¼WWW?_CEPID1ï¼ã®é¸æ88 * TCP 通信端点 89 * 90 * 定義する TCP 通信端点(WWW?_CEPID1)の選択 103 91 * 104 92 * INET6 INET4 USE_TCP4 TCP6_CRE_CEP TCP_CRE_CEP 105 * â â â ÃWWW4106 * â â à WWW Ã107 * â à â WWW Ã108 * â à à WWW Ã109 * à â â ÃWWW110 * à â à ÃWWW111 * à à â à Ã112 * à à à à Ã93 * ○ ○ ○ × WWW4 94 * ○ ○ × WWW × 95 * ○ × ○ WWW × 96 * ○ × × WWW × 97 * × ○ ○ × WWW 98 * × ○ × × WWW 99 * × × ○ × × 100 * × × × × × 113 101 * 114 102 */ -
asp3_gr_sakura/trunk/tinet/netapp/udp4_echo_cli.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * UDP4 ECHO ã¯ã©ã¤ã¢ã³ã35 * UDP4 ECHO クライアント 48 36 */ 49 37 … … 76 64 #if defined(USE_UDP4_ECHO_CLI_TSK) 77 65 78 /* echo ãµã¼ãã®ãã¼ãçªå·*/66 /* echo サーバのポート番号 */ 79 67 80 68 #define ECHO_SRV_PORTNO UINT_C(7) 81 69 82 /* éä¿¡éé*/70 /* 送信間隔 */ 83 71 84 72 #if defined(TOPPERS_S810_CLG3_85) … … 92 80 #endif /* of #if defined(TOPPERS_S810_CLG3_85) */ 93 81 94 /* èªåå®è¡*/82 /* 自動実行 */ 95 83 96 84 #if defined(UDP4_ECHO_CLI_AUTO_RUN_STR) … … 102 90 103 91 /* 104 * å 105 ¨åå¤æ° 92 * 全域変数 106 93 */ 107 94 … … 109 96 110 97 /* 111 * å¤æ°98 * 変数 112 99 */ 113 100 … … 123 110 124 111 /* 125 * ãã³ããããã³ã°ã³ã¼ã«ã®ã³ã¼ã«ããã¯é¢æ°112 * ノンブロッキングコールのコールバック関数 126 113 */ 127 114 … … 135 122 136 123 /* 137 * udp4_echo_cli -- ECHO/UDP ãµã¼ãã«ã¡ãã»ã¼ã¸ãéä¿¡ãã (ãã³ããããã³ã°ã³ã¼ã«ä½¿ç¨)ã124 * udp4_echo_cli -- ECHO/UDP サーバにメッセージを送信する (ノンブロッキングコール使用)。 138 125 */ 139 126 … … 162 149 syscall(slp_tsk()); 163 150 get_tim(&time); 164 if (nblk_len < 0) { /* 0 以ä¸ã®å ´åã¯ãã¨ã©ã¼ã³ã¼ã*/151 if (nblk_len < 0) { /* 0 以下の場合は、エラーコード */ 165 152 syslog(LOG_NOTICE, "[UEC4:%02u CBR(NBLK)] error: %7lu,%s", 166 153 cepid, time / SYSTIM_HZ, itron_strerror(nblk_len)); … … 176 163 syscall(slp_tsk()); 177 164 get_tim(&time); 178 if (nblk_len < 0) { /* 0 以ä¸ã®å ´åã¯ãã¨ã©ã¼ã³ã¼ã*/165 if (nblk_len < 0) { /* 0 以下の場合は、エラーコード */ 179 166 syslog(LOG_NOTICE, "[UEC4:%02u RCV(NBLK)] error: %7lu,%s", 180 167 cepid, time / SYSTIM_HZ, itron_strerror(nblk_len)); … … 198 185 199 186 /* 200 * ã³ã¼ã«ããã¯é¢æ°187 * コールバック関数 201 188 */ 202 189 … … 222 209 223 210 /* 224 * udp4_echo_cli -- ECHO/UDP ãµã¼ãã«ã¡ãã»ã¼ã¸ãéä¿¡ãã (ã³ã¼ã«ããã¯é¢æ°ä½¿ç¨)ã211 * udp4_echo_cli -- ECHO/UDP サーバにメッセージを送信する (コールバック関数使用)。 225 212 */ 226 213 … … 248 235 249 236 /* 250 * udp4_echo_cli -- ECHO/UDP ãµã¼ãã«ã¡ãã»ã¼ã¸ãéä¿¡ãã (ã³ã¼ã«ããã¯é¢æ°æªä½¿ç¨)ã237 * udp4_echo_cli -- ECHO/UDP サーバにメッセージを送信する (コールバック関数未使用)。 251 238 */ 252 239 … … 291 278 292 279 /* 293 * getcomd -- ã³ãã³ããå¾ãã280 * getcomd -- コマンドを得る。 294 281 */ 295 282 … … 339 326 340 327 /* 341 * UDP4 ECHO ã¯ã©ã¤ã¢ã³ãéä¿¡ã¿ã¹ã¯328 * UDP4 ECHO クライアント送信タスク 342 329 */ 343 330 -
asp3_gr_sakura/trunk/tinet/netapp/udp4_echo_cli.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * ECHO ãµã¼ã試é¨ããã°ã©ã ã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * ECHO サーバ試験プログラムのシステムコンフィギュレーションファイル 48 36 */ 49 37 50 38 #ifdef USE_UDP4_ECHO_CLI_TSK 51 39 52 /* ã¿ã¹ã¯*/40 /* タスク */ 53 41 54 42 #ifdef USE_UDP_EXTENTIONS … … 76 64 #endif /* of #ifdef USE_UDP_EXTENTIONS */ 77 65 78 /* ã³ãã³ããã¥ã¼*/66 /* コマンドキュー */ 79 67 80 68 CRE_DTQ(DTQ_UDP4_ECHO_CLI, { TA_TFIFO, 1, NULL }); -
asp3_gr_sakura/trunk/tinet/netapp/udp4_echo_cli.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 47 35 #define _UDP4_ECHO_CLI_H_ 48 36 49 /* ã¹ã¿ãã¯ãµã¤ãº*/37 /* スタックサイズ */ 50 38 51 #define UDP4_ECHO_CLI_STACK_SIZE 1024 /* UDP ECHO ã¯ã©ã¤ã¢ã³ãã¿ã¹ã¯ï¼IPv4ï¼ã®ã¹ã¿ãã¯ãµã¤ãº*/39 #define UDP4_ECHO_CLI_STACK_SIZE 1024 /* UDP ECHO クライアントタスク(IPv4)のスタックサイズ */ 52 40 53 /* åªå 54 度 */ 41 /* 優先度 */ 55 42 56 #define UDP4_ECHO_CLI_MAIN_PRIORITY 5 /* UDP ECHO ã¯ã©ã¤ã¢ã³ãã¿ã¹ã¯ï¼IPv4ï¼ã®åªå 57 度 */ 43 #define UDP4_ECHO_CLI_MAIN_PRIORITY 5 /* UDP ECHO クライアントタスク(IPv4)の優先度 */ 58 44 59 /* å¤æ°*/45 /* 変数 */ 60 46 61 47 extern bool_t udp4_echo_cli_valid; 62 48 63 /* ã¿ã¹ã¯*/49 /* タスク */ 64 50 65 51 extern void udp4_echo_cli_task(intptr_t exinf); 66 52 67 /* é¢æ°*/53 /* 関数 */ 68 54 69 55 extern ER callback_udp4_echo_cli (ID cepid, FN fncd, void *p_parblk); -
asp3_gr_sakura/trunk/tinet/netapp/udp4_echo_srv.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * UDP ECHO ãµã¼ã35 * UDP ECHO サーバ 48 36 * 49 37 * IPv4 … … 79 67 80 68 /* 81 * åä¿¡ã¿ã¤ã ã¢ã¦ã69 * 受信タイムアウト 82 70 */ 83 71 … … 93 81 94 82 /* 95 * ã³ã¼ã«ããã¯é¢æ°83 * コールバック関数 96 84 */ 97 85 … … 134 122 135 123 /* 136 * å¤æ°124 * 変数 137 125 */ 138 126 … … 140 128 141 129 /* 142 * ãã³ããããã³ã°ã³ã¼ã«ã®ã³ã¼ã«ããã¯é¢æ°130 * ノンブロッキングコールのコールバック関数 143 131 */ 144 132 … … 150 138 get_tim(&now); 151 139 nblk_len = *(ER_UINT*)p_parblk; 152 if (nblk_len < 0) { /* 0 以ä¸ã®å ´åã¯ãã¨ã©ã¼ã³ã¼ã*/140 if (nblk_len < 0) { /* 0 以下の場合は、エラーコード */ 153 141 syslog(LOG_NOTICE, "[UES4:%02u CBR] error, %7lu,%s, fncd: %s", 154 142 cepid, now / SYSTIM_HZ, itron_strerror(nblk_len), in_strtfn(fncd)); … … 165 153 166 154 /* 167 * UDP ECHO ãµã¼ã155 * UDP ECHO サーバ 168 156 */ 169 157 … … 209 197 210 198 /* 211 * UDP ECHO ãµã¼ã199 * UDP ECHO サーバ 212 200 */ 213 201 … … 247 235 248 236 /* 249 * UDP ECHO ãµã¼ãã¿ã¹ã¯237 * UDP ECHO サーバタスク 250 238 */ 251 239 -
asp3_gr_sakura/trunk/tinet/netapp/udp4_echo_srv.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * UDP ECHO ãµã¼ãã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * UDP ECHO サーバコンフィギュレーションファイル 48 36 * 49 37 * IPv4 … … 53 41 54 42 /* 55 * ã¿ã¹ã¯43 * タスク 56 44 */ 57 45 -
asp3_gr_sakura/trunk/tinet/netapp/udp4_echo_srv.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 47 35 #define _UDP4_ECHO_SRV_H_ 48 36 49 /* ã¹ã¿ãã¯ãµã¤ãº*/37 /* スタックサイズ */ 50 38 51 #define UDP4_ECHO_SRV_STACK_SIZE 1024 /* UDP ECHO ãµã¼ãã¿ã¹ã¯ï¼IPV4ï¼ã®ã¹ã¿ãã¯ãµã¤ãº*/39 #define UDP4_ECHO_SRV_STACK_SIZE 1024 /* UDP ECHO サーバタスク(IPV4)のスタックサイズ */ 52 40 53 /* åªå 54 度 */ 41 /* 優先度 */ 55 42 56 #define UDP4_ECHO_SRV_MAIN_PRIORITY 5 /* UDP ECHO ãµã¼ãã¿ã¹ã¯ï¼IPV4ï¼ã®åªå 57 度 */ 43 #define UDP4_ECHO_SRV_MAIN_PRIORITY 5 /* UDP ECHO サーバタスク(IPV4)の優先度 */ 58 44 59 /* ã¿ã¹ã¯*/45 /* タスク */ 60 46 61 47 extern void udp4_echo_srv_task(intptr_t exinf); 62 48 63 /* é¢æ°*/49 /* 関数 */ 64 50 65 51 extern ER callback_udp4_echo_srv (ID cepid, FN fncd, void *p_parblk); -
asp3_gr_sakura/trunk/tinet/netapp/udp6_echo_cli.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * UDP6 ECHO ã¯ã©ã¤ã¢ã³ã35 * UDP6 ECHO クライアント 48 36 */ 49 37 … … 78 66 #if defined(USE_UDP6_ECHO_CLI_TSK) 79 67 80 /* echo ãµã¼ãã®ãã¼ãçªå·*/68 /* echo サーバのポート番号 */ 81 69 82 70 #define ECHO_SRV_PORTNO UINT_C(7) 83 71 84 /* éä¿¡éé*/72 /* 送信間隔 */ 85 73 86 74 #if defined(TOPPERS_S810_CLG3_85) … … 94 82 #endif /* of #if defined(TOPPERS_S810_CLG3_85) */ 95 83 96 /* èªåå®è¡*/84 /* 自動実行 */ 97 85 98 86 #if defined(UDP6_ECHO_CLI_AUTO_RUN_STR) … … 104 92 105 93 /* 106 * å 107 ¨åå¤æ° 94 * 全域変数 108 95 */ 109 96 … … 111 98 112 99 /* 113 * å¤æ°100 * 変数 114 101 */ 115 102 … … 125 112 126 113 /* 127 * ãã³ããããã³ã°ã³ã¼ã«ã®ã³ã¼ã«ããã¯é¢æ°114 * ノンブロッキングコールのコールバック関数 128 115 */ 129 116 … … 137 124 138 125 /* 139 * udp6_echo_cli -- ECHO/UDP ãµã¼ãã«ã¡ãã»ã¼ã¸ãéä¿¡ãã (ãã³ããããã³ã°ã³ã¼ã«ä½¿ç¨)ã126 * udp6_echo_cli -- ECHO/UDP サーバにメッセージを送信する (ノンブロッキングコール使用)。 140 127 */ 141 128 … … 164 151 syscall(slp_tsk()); 165 152 get_tim(&time); 166 if (nblk_len < 0) { /* 0 以ä¸ã®å ´åã¯ãã¨ã©ã¼ã³ã¼ã*/153 if (nblk_len < 0) { /* 0 以下の場合は、エラーコード */ 167 154 syslog(LOG_NOTICE, "[UEC6:%02u CBR] error: %7lu,%s", 168 155 cepid, time / SYSTIM_HZ, itron_strerror(nblk_len)); … … 178 165 syscall(slp_tsk()); 179 166 get_tim(&time); 180 if (nblk_len < 0) { /* 0 以ä¸ã®å ´åã¯ãã¨ã©ã¼ã³ã¼ã*/167 if (nblk_len < 0) { /* 0 以下の場合は、エラーコード */ 181 168 syslog(LOG_NOTICE, "[UEC6:%02u RVN] error: %7lu,%s", 182 169 cepid, time / SYSTIM_HZ, itron_strerror(nblk_len)); … … 200 187 201 188 /* 202 * ã³ã¼ã«ããã¯é¢æ°189 * コールバック関数 203 190 */ 204 191 … … 224 211 225 212 /* 226 * udp6_echo_cli -- ECHO/UDP ãµã¼ãã«ã¡ãã»ã¼ã¸ãéä¿¡ãã (ã³ã¼ã«ããã¯é¢æ°ä½¿ç¨)ã213 * udp6_echo_cli -- ECHO/UDP サーバにメッセージを送信する (コールバック関数使用)。 227 214 */ 228 215 … … 250 237 251 238 /* 252 * udp6_echo_cli -- ECHO/UDP ãµã¼ãã«ã¡ãã»ã¼ã¸ãéä¿¡ãã (ã³ã¼ã«ããã¯é¢æ°æªä½¿ç¨)ã239 * udp6_echo_cli -- ECHO/UDP サーバにメッセージを送信する (コールバック関数未使用)。 253 240 */ 254 241 … … 293 280 294 281 /* 295 * getcomd -- ã³ãã³ããå¾ãã282 * getcomd -- コマンドを得る。 296 283 */ 297 284 … … 341 328 342 329 /* 343 * UDP6 ECHO ã¯ã©ã¤ã¢ã³ãéä¿¡ã¿ã¹ã¯330 * UDP6 ECHO クライアント送信タスク 344 331 */ 345 332 -
asp3_gr_sakura/trunk/tinet/netapp/udp6_echo_cli.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * ECHO ãµã¼ã試é¨ããã°ã©ã ã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * ECHO サーバ試験プログラムのシステムコンフィギュレーションファイル 48 36 */ 49 37 50 38 #ifdef USE_UDP6_ECHO_CLI_TSK 51 39 52 /* ã¿ã¹ã¯*/40 /* タスク */ 53 41 54 42 #ifdef USE_UDP_EXTENTIONS … … 76 64 #endif /* of #ifdef USE_UDP_EXTENTIONS */ 77 65 78 /* ã³ãã³ããã¥ã¼*/66 /* コマンドキュー */ 79 67 80 68 CRE_DTQ(DTQ_UDP6_ECHO_CLI, { TA_TFIFO, 1, NULL }); -
asp3_gr_sakura/trunk/tinet/netapp/udp6_echo_cli.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 47 35 #define _UDP6_ECHO_CLI_H_ 48 36 49 /* ã¹ã¿ãã¯ãµã¤ãº*/37 /* スタックサイズ */ 50 38 51 #define UDP6_ECHO_CLI_STACK_SIZE 1024 /* UDP ECHO ã¯ã©ã¤ã¢ã³ãã¿ã¹ã¯ï¼IPv6ï¼ã®ã¹ã¿ãã¯ãµã¤ãº*/39 #define UDP6_ECHO_CLI_STACK_SIZE 1024 /* UDP ECHO クライアントタスク(IPv6)のスタックサイズ */ 52 40 53 /* åªå 54 度 */ 41 /* 優先度 */ 55 42 56 #define UDP6_ECHO_CLI_MAIN_PRIORITY 5 /* UDP ECHO ã¯ã©ã¤ã¢ã³ãã¿ã¹ã¯ï¼IPv6ï¼ã®åªå 57 度 */ 43 #define UDP6_ECHO_CLI_MAIN_PRIORITY 5 /* UDP ECHO クライアントタスク(IPv6)の優先度 */ 58 44 59 /* å¤æ°*/45 /* 変数 */ 60 46 61 47 extern bool_t udp6_echo_cli_valid; 62 48 63 /* ã¿ã¹ã¯*/49 /* タスク */ 64 50 65 51 extern void udp6_echo_cli_task(intptr_t exinf); 66 52 67 /* é¢æ°*/53 /* 関数 */ 68 54 69 55 extern ER callback_udp6_echo_cli (ID cepid, FN fncd, void *p_parblk); -
asp3_gr_sakura/trunk/tinet/netapp/udp6_echo_srv.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * UDP ECHO ãµã¼ã35 * UDP ECHO サーバ 48 36 * 49 37 * IPv6 … … 79 67 80 68 /* 81 * åä¿¡ã¿ã¤ã ã¢ã¦ã69 * 受信タイムアウト 82 70 */ 83 71 … … 93 81 94 82 /* 95 * ã³ã¼ã«ããã¯é¢æ°83 * コールバック関数 96 84 */ 97 85 … … 134 122 135 123 /* 136 * å¤æ°124 * 変数 137 125 */ 138 126 … … 140 128 141 129 /* 142 * ãã³ããããã³ã°ã³ã¼ã«ã®ã³ã¼ã«ããã¯é¢æ°130 * ノンブロッキングコールのコールバック関数 143 131 */ 144 132 … … 150 138 get_tim(&now); 151 139 nblk_len = *(ER_UINT*)p_parblk; 152 if (nblk_len < 0) { /* 0 以ä¸ã®å ´åã¯ãã¨ã©ã¼ã³ã¼ã*/140 if (nblk_len < 0) { /* 0 以下の場合は、エラーコード */ 153 141 syslog(LOG_NOTICE, "[UES6:%02u CBR] error: %7lu,%s, fncd: %s", 154 142 cepid, now / SYSTIM_HZ, itron_strerror(nblk_len), in_strtfn(fncd)); … … 165 153 166 154 /* 167 * UDP ECHO ãµã¼ã155 * UDP ECHO サーバ 168 156 */ 169 157 … … 208 196 209 197 /* 210 * UDP ECHO ãµã¼ã198 * UDP ECHO サーバ 211 199 */ 212 200 … … 246 234 247 235 /* 248 * UDP ECHO ãµã¼ãã¿ã¹ã¯236 * UDP ECHO サーバタスク 249 237 */ 250 238 -
asp3_gr_sakura/trunk/tinet/netapp/udp6_echo_srv.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * UDP ECHO ãµã¼ãã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * UDP ECHO サーバコンフィギュレーションファイル 48 36 * 49 37 * IPv6 … … 53 41 54 42 /* 55 * ã¿ã¹ã¯43 * タスク 56 44 */ 57 45 -
asp3_gr_sakura/trunk/tinet/netapp/udp6_echo_srv.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 47 35 #define _UDP6_ECHO_SRV_H_ 48 36 49 /* ã¹ã¿ãã¯ãµã¤ãº*/37 /* スタックサイズ */ 50 38 51 #define UDP6_ECHO_SRV_STACK_SIZE 1024 /* UDP ECHO ãµã¼ãã¿ã¹ã¯ï¼IPv6ï¼ã®ã¹ã¿ãã¯ãµã¤ãº*/39 #define UDP6_ECHO_SRV_STACK_SIZE 1024 /* UDP ECHO サーバタスク(IPv6)のスタックサイズ */ 52 40 53 /* åªå 54 度 */ 41 /* 優先度 */ 55 42 56 #define UDP6_ECHO_SRV_MAIN_PRIORITY 5 /* UDP ECHO ãµã¼ãã¿ã¹ã¯ï¼IPv6ï¼ã®åªå 57 度 */ 43 #define UDP6_ECHO_SRV_MAIN_PRIORITY 5 /* UDP ECHO サーバタスク(IPv6)の優先度 */ 58 44 59 /* ã¿ã¹ã¯*/45 /* タスク */ 60 46 61 47 extern void udp6_echo_srv_task(intptr_t exinf); 62 48 63 /* é¢æ°*/49 /* 関数 */ 64 50 65 51 extern ER callback_udp6_echo_srv (ID cepid, FN fncd, void *p_parblk); -
asp3_gr_sakura/trunk/tinet/netapp/udp_discard_cli.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * UDP DISCARD ã¯ã©ã¤ã¢ã³ã35 * UDP DISCARD クライアント 48 36 */ 49 37 … … 79 67 #ifdef USE_UDP_DISCARD_CLI 80 68 81 /* discard ãµã¼ãã®ãã¼ãçªå·*/69 /* discard サーバのポート番号 */ 82 70 83 71 #define DISCARD_SRV_PORTNO UINT_C(9) 84 72 85 73 /* 86 * å¤æ°74 * 変数 87 75 */ 88 76 … … 97 85 98 86 /* 99 * å 100 ¨åå¤æ° 87 * 全域変数 101 88 */ 102 89 … … 104 91 105 92 /* 106 * send_udp_discard -- DISCARD/UDP ãµã¼ãã«ã¡ãã»ã¼ã¸ãéä¿¡ããã93 * send_udp_discard -- DISCARD/UDP サーバにメッセージを送信する。 107 94 */ 108 95 … … 156 143 157 144 /* 158 * UDP DISCARD ã¯ã©ã¤ã¢ã³ãéä¿¡ã¿ã¹ã¯145 * UDP DISCARD クライアント送信タスク 159 146 */ 160 147 -
asp3_gr_sakura/trunk/tinet/netapp/udp_discard_cli.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * UDP DISCARD ã¯ã©ã¤ã¢ã³ã48 * ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * UDP DISCARD クライアント 36 * コンフィギュレーションファイル 49 37 */ 50 38 51 39 #ifdef USE_UDP_DISCARD_CLI 52 40 53 /* ã¿ã¹ã¯*/41 /* タスク */ 54 42 55 43 #ifdef USE_UDP_EXTENTIONS … … 77 65 #endif /* of #ifdef USE_UDP_EXTENTIONS */ 78 66 79 /* ã³ãã³ããã¥ã¼*/67 /* コマンドキュー */ 80 68 81 69 CRE_DTQ(DTQ_UDP_DISCARD_CLI, { TA_TFIFO, 1, NULL }); -
asp3_gr_sakura/trunk/tinet/netapp/udp_discard_cli.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 47 35 #define _UDP_DISCARD_CLI_H_ 48 36 49 /* ã¹ã¿ãã¯ãµã¤ãº*/37 /* スタックサイズ */ 50 38 51 #define UDP_DISCARD_CLI_STACK_SIZE 1024 /* UDP DISCARD ã¯ã©ã¤ã¢ã³ãã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº*/39 #define UDP_DISCARD_CLI_STACK_SIZE 1024 /* UDP DISCARD クライアントタスクのスタックサイズ */ 52 40 53 /* åªå 54 度 */ 41 /* 優先度 */ 55 42 56 #define UDP_DISCARD_CLI_MAIN_PRIORITY 5 /* UDP DISCARD ã¯ã©ã¤ã¢ã³ãã¿ã¹ã¯ã®åªå 57 度 */ 43 #define UDP_DISCARD_CLI_MAIN_PRIORITY 5 /* UDP DISCARD クライアントタスクの優先度 */ 58 44 59 /* å¤æ°*/45 /* 変数 */ 60 46 61 47 extern bool_t udp_discard_cli_valid; 62 48 63 /* ã¿ã¹ã¯*/49 /* タスク */ 64 50 65 51 extern void udp_discard_cli_task(intptr_t exinf); 66 52 67 /* é¢æ°*/53 /* 関数 */ 68 54 69 55 extern ER callback_udp_discard_cli (ID cepid, FN fncd, void *p_parblk); -
asp3_gr_sakura/trunk/tinet/netapp/wwws.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * WWW ãµã¼ã35 * WWW サーバ 48 36 * 49 * ã»éåä¿¡ã¿ã¹ã¯åä¸å50 * ã»ãã³ããããã³ã°ã³ã¼ã«51 * ã»çã³ãã¼API52 * ã»IPv4/IPv637 * ・送受信タスク同一型 38 * ・ノンブロッキングコール 39 * ・省コピー API 40 * ・IPv4/IPv6 53 41 */ 54 42 … … 101 89 102 90 /* 103 * éåä¿¡ API ã®é¸æ91 * 送受信 API の選択 104 92 */ 105 93 … … 117 105 118 106 /* 119 * é¢æ°107 * 関数 120 108 */ 121 109 … … 132 120 #if defined(SUPPORT_INET6) && defined(SUPPORT_INET4) && defined(USE_WWW4_SRV) 133 121 134 #if NUM_WWW_SRV_TASKS >= 2 /* 2 ãè¶ 135 ããåæ°ã¯æ³å®ãã¦ããªãã */ 122 #if NUM_WWW_SRV_TASKS >= 2 /* 2 を超える個数は想定していない。 */ 136 123 137 124 #define WWW4_SRV_TASK WWW_SRV_TASK1 … … 156 143 157 144 /* 158 * å 159 ¨åå¤æ° 160 */ 161 162 /* TCP éåä¿¡ã¦ã£ã³ããããã¡ */ 145 * 全域変数 146 */ 147 148 /* TCP 送受信ウィンドバッファ */ 163 149 164 150 #ifndef TCP_CFG_SWBUF_CSAVE … … 171 157 172 158 /* 173 * å¤æ°159 * 変数 174 160 */ 175 161 … … 200 186 201 187 /* 202 * æ¥ç¶ç¸æã®æ 203 å ±æ§é ä½ 188 * 接続相手の情報構造体 204 189 */ 205 190 … … 210 195 211 196 typedef struct t_www_srv_info { 212 ID cepid; /* éä¿¡ç«¯ç¹ ID */ 213 ID repid; /* åä»å£ ID */ 214 T_IPEP dst; /* æ¥ç¶ç¸æã¢ãã¬ã¹æ 215 å ± */ 197 ID cepid; /* 通信端点 ID */ 198 ID repid; /* 受付口 ID */ 199 T_IPEP dst; /* 接続相手アドレス情報 */ 216 200 } T_WWW_SRV_INFO; 217 201 … … 221 205 222 206 static T_WWW_SRV_INFO www_srv_info[NUM_WWW_SRV_TASKS]; 223 /* 2 ãè¶ 224 ããåæ°ã¯æ³å®ãã¦ããªãã */ 207 /* 2 を超える個数は想定していない。 */ 225 208 226 209 #else /* of #ifdef USE_TCP_EXTENTIONS */ … … 238 221 #endif /* of #if defined(SUPPORT_INET6) && defined(SUPPORT_INET4) && defined(USE_WWW4_SRV) */ 239 222 240 #if NUM_WWW_SRV_TASKS >= 2 /* 2 ãè¶ 241 ããåæ°ã¯æ³å®ãã¦ããªãã */ 223 #if NUM_WWW_SRV_TASKS >= 2 /* 2 を超える個数は想定していない。 */ 242 224 { WWW_SRV_CEPID2, WWW_SRV_REPID }, 243 225 #endif … … 250 232 251 233 /* 252 * get_char -- ä¸æåå 253 ¥åããã 234 * get_char -- 一文字入力する。 254 235 */ 255 236 … … 286 267 287 268 /* 288 * flush_sbuf -- éä¿¡ãããã¡ããã©ãã·ã¥ããã269 * flush_sbuf -- 送信バッファをフラッシュする。 289 270 */ 290 271 … … 301 282 302 283 /* 303 * put_str -- æååãåºåããã284 * put_str -- 文字列を出力する。 304 285 */ 305 286 … … 343 324 344 325 /* 345 * get_char -- ä¸æåå 346 ¥åããã 326 * get_char -- 一文字入力する。 347 327 */ 348 328 … … 376 356 377 357 /* 378 * flush_sbuf -- éä¿¡ãããã¡ããã©ãã·ã¥ããã358 * flush_sbuf -- 送信バッファをフラッシュする。 379 359 */ 380 360 … … 396 376 397 377 /* 398 * put_str -- æååãåºåããã378 * put_str -- 文字列を出力する。 399 379 */ 400 380 … … 428 408 429 409 /* 430 * get_line -- ä¸è¡å 431 ¥åããã 410 * get_line -- 一行入力する。 432 411 */ 433 412 … … 469 448 470 449 /* 471 * convert -- æ°å¤å¤æ450 * convert -- 数値変換 472 451 */ 473 452 … … 499 478 500 479 /* 501 * split_fields -- ãã£ã¼ã«ãã«åå²ããã480 * split_fields -- フィールドに分割する。 502 481 */ 503 482 … … 523 502 524 503 /* 525 * put_status -- status line ãåºåããã504 * put_status -- status line を出力する。 526 505 */ 527 506 … … 538 517 539 518 /* 540 * put_content_length -- Content-length ãåºåããã519 * put_content_length -- Content-length を出力する。 541 520 */ 542 521 … … 557 536 558 537 /* 559 * get_method -- GET ã¡ã½ããã®å¦ç538 * get_method -- GET メソッドの処理 560 539 */ 561 540 … … 576 555 577 556 /* 578 * parse_request -- ãªã¯ã¨ã¹ãã解æããã557 * parse_request -- リクエストを解析する。 579 558 */ 580 559 … … 608 587 } 609 588 610 while (get_line(cepid, line, srbuf) > 0) { /* ããããã¹ãããããã*/589 while (get_line(cepid, line, srbuf) > 0) { /* ヘッダをスキップする。*/ 611 590 split_fields(line, ": "); 612 591 if (strcmp("Content-Length", &line->buf[line->off[0]]) == 0) … … 614 593 } 615 594 while (blen > 0 && get_line(cepid, line, srbuf) > 0) { 616 /* ã¨ã³ãã£ãã£ã»ããã£ãã¹ãããããã*/595 /* エンティティ・ボディをスキップする。*/ 617 596 blen -= line->len; 618 597 } … … 636 615 637 616 /* 638 * index_html -- /index.html ãã¡ã¤ã«617 * index_html -- /index.html ファイル 639 618 */ 640 619 … … 654 633 "<title>TINET TCP/IP Protocol Stack</title>\r\n" 655 634 "</head><body bgcolor=\"#ffffbb\">\r\n" 656 "<hr> ãã® WWW ãµã¼ãã¯<br>"635 "<hr>この WWW サーバは<br>" 657 636 658 637 #ifdef TARGET_KERNEL_ASP 659 "ASP Kernel for " TARGET_NAME " (" __DATE__ "," __TIME__ ") ã¨<br>\r\n"638 "ASP Kernel for " TARGET_NAME " (" __DATE__ "," __TIME__ ") と<br>\r\n" 660 639 #endif 661 640 662 641 #ifdef TARGET_KERNEL_JSP 663 "JSP Kernel for " TARGET_NAME " (" __DATE__ "," __TIME__ ") ã¨<br>\r\n"642 "JSP Kernel for " TARGET_NAME " (" __DATE__ "," __TIME__ ") と<br>\r\n" 664 643 #endif 665 644 666 "TINET TCP/IP ãããã³ã«ã¹ã¿ãã¯ã«ãããµã¼ãã¹ãã¦ãã¾ãã<br><hr>\r\n"645 "TINET TCP/IP プロトコルスタックによりサービスしています。<br><hr>\r\n" 667 646 668 647 #if NET_COUNT_ENABLE 669 648 670 "<ul><li type=\"square\"><a href=\"stat.html\">ãããã¯ã¼ã¯çµ±è¨æ 671 å ±</a></ul><hr>\r\n" 649 "<ul><li type=\"square\"><a href=\"stat.html\">ネットワーク統計情報</a></ul><hr>\r\n" 672 650 673 651 #else /* of #if NET_COUNT_ENABLE */ 674 652 675 "<ul><li type=\"square\">ãããã¯ã¼ã¯çµ±è¨æ 676 å ±</ul><hr>\r\n" 653 "<ul><li type=\"square\">ネットワーク統計情報</ul><hr>\r\n" 677 654 678 655 #endif /* of #if NET_COUNT_ENABLE */ … … 728 705 get_tim(&start); 729 706 len += put_status(cepid, srbuf, ST_OK); 730 len += put_content_length(cepid, srbuf, strlen(response) - 2); /* 2 ã¯æåã®\r\n */707 len += put_content_length(cepid, srbuf, strlen(response) - 2); /* 2 は最初の \r\n */ 731 708 len += put_str(cepid, srbuf, response); 732 709 get_tim(&finish); … … 749 726 750 727 static const char time_prefix[] = 751 " çµéæé: "728 "経過時間: " 752 729 ; 753 730 … … 762 739 static const char table_prefix_ip4[] = 763 740 "<h2>IPv4</h2><table border>\r\n" 764 "<tr><th>é 765 ç®</th><th>ã«ã¦ã³ã</th></tr>\r\n" 741 "<tr><th>項目</th><th>カウント</th></tr>\r\n" 766 742 ; 767 743 … … 772 748 static const char table_prefix_ip6[] = 773 749 "<h2>IPv6</h2><table border>\r\n" 774 "<tr><th>é 775 ç®</th><th>ã«ã¦ã³ã</th></tr>\r\n" 750 "<tr><th>項目</th><th>カウント</th></tr>\r\n" 776 751 ; 777 752 778 753 static const char table_prefix_icmp6[] = 779 754 "<h2>ICMPv6</h2><table border>\r\n" 780 "<tr><th>é 781 ç®</th><th>ã«ã¦ã³ã</th></tr>\r\n" 755 "<tr><th>項目</th><th>カウント</th></tr>\r\n" 782 756 ; 783 757 784 758 static const char table_prefix_nd6[] = 785 "<h2>è¿é£æ¢ç´¢</h2><table border>\r\n" 786 "<tr><th>é 787 ç®</th><th>ã«ã¦ã³ã</th></tr>\r\n" 759 "<h2>近隣探索</h2><table border>\r\n" 760 "<tr><th>項目</th><th>カウント</th></tr>\r\n" 788 761 ; 789 762 … … 792 765 static const char table_prefix_tcp[] = 793 766 "<h2>TCP</h2><table border>\r\n" 794 "<tr><th>é 795 ç®</th><th>ã«ã¦ã³ã</th></tr>\r\n" 767 "<tr><th>項目</th><th>カウント</th></tr>\r\n" 796 768 ; 797 769 798 770 static const char table_prefix_net_buf[] = 799 "<h2> ãããã¯ã¼ã¯ãããã¡</h2><table border>\r\n"800 "<tr><th> ãµã¤ãº</th>"801 "<th> ç¨ææ°</th>"802 "<th> å²å½è¦æ±æ°</th>"803 "<th> å²å½æ°</th>"804 "<th> å²å½ã¦<br>ã¨ã©ã¼æ°</th></tr>\r\n"771 "<h2>ネットワークバッファ</h2><table border>\r\n" 772 "<tr><th>サイズ</th>" 773 "<th>用意数</th>" 774 "<th>割当要求数</th>" 775 "<th>割当数</th>" 776 "<th>割当て<br>エラー数</th></tr>\r\n" 805 777 ; 806 778 … … 808 780 809 781 static const char table_prefix_ppp[] = 810 "<h2>PPP ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹</h2><table border>\r\n" 811 "<tr><th>é 812 ç®</th><th>ã«ã¦ã³ã</th></tr>\r\n" 782 "<h2>PPP ネットワークインタフェース</h2><table border>\r\n" 783 "<tr><th>項目</th><th>カウント</th></tr>\r\n" 813 784 ; 814 785 815 786 static const char *ppp_item[NC_PPP_SIZE] = { 816 " åä¿¡ãªã¯ãããæ°",817 " éä¿¡ãªã¯ãããæ°",818 " åä¿¡ãã¬ã¼ã æ°",819 " éä¿¡ãã¬ã¼ã æ°",820 " åä¿¡ã¨ã©ã¼ãã¬ã¼ã æ°",821 " éä¿¡ã¨ã©ã¼ãã¬ã¼ã æ°",822 " ãããã¡å²ãå½ã¦å¤±ææ°",787 "受信オクテット数", 788 "送信オクテット数", 789 "受信フレーム数", 790 "送信フレーム数", 791 "受信エラーフレーム数", 792 "送信エラーフレーム数", 793 "バッファ割り当て失敗数", 823 794 }; 824 795 … … 828 799 829 800 static const char table_prefix_ether_nic[] = 830 "<h2>ã¤ã¼ãµãããã»ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹</h2><table border>\r\n" 831 "<tr><th>é 832 ç®</th><th>ã«ã¦ã³ã</th></tr>\r\n" 801 "<h2>イーサネット・ネットワークインタフェース</h2><table border>\r\n" 802 "<tr><th>項目</th><th>カウント</th></tr>\r\n" 833 803 ; 834 804 835 805 static const char *ether_nic_item[NC_ETHER_NIC_SIZE] = { 836 " ãªã»ããæ°",837 " éä¿¡ã»ããã©è³æºè¿å´ãªã¼ãã¼æ°",838 " éä¿¡ã¿ã¤ã ã¢ã¦ãæ°",839 " è¡çªæ°",840 " éä¿¡ã¨ã©ã¼ãã¬ã¼ã æ°",841 " éä¿¡ãã¬ã¼ã æ°",842 " éä¿¡ãªã¯ãããæ°",843 " åä¿¡ã»ããã©è³æºè¿å´ãªã¼ãã¼æ°",844 " åä¿¡ãããã¡å²ãå½ã¦å¤±ææ°",845 " åä¿¡ã¨ã©ã¼ãã¬ã¼ã æ°",846 " åä¿¡ãã¬ã¼ã æ°",847 " åä¿¡ãªã¯ãããæ°",806 "リセット数", 807 "送信セマフォ資源返却オーバー数", 808 "送信タイムアウト数", 809 "衝突数", 810 "送信エラーフレーム数", 811 "送信フレーム数", 812 "送信オクテット数", 813 "受信セマフォ資源返却オーバー数", 814 "受信バッファ割り当て失敗数", 815 "受信エラーフレーム数", 816 "受信フレーム数", 817 "受信オクテット数", 848 818 }; 849 819 … … 853 823 854 824 static const char *ip4_item[NC_IP4_SIZE] = { 855 "åå²éä¿¡ããã©ã°ã¡ã³ãæ°", 856 "åå²éä¿¡æ°", 857 "éä¿¡ã¨ã©ã¼ãã¼ã¿ã°ã©ã æ°", 858 "éä¿¡ãã¼ã¿ã°ã©ã æ°", 859 "éä¿¡ãªã¯ãããæ°", 860 "åå²åä¿¡ã¿ã¤ã ã¢ã¦ãæ°", 861 "åå²åä¿¡ãããã¡å²ãå½ã¦å¤±ææ°", 862 "åå²åä¿¡ç ´æ£æ°", 863 "åå²åä¿¡åæ§ææåæ°", 864 "åå²åä¿¡ãã©ã°ã¡ã³ãæ°", 865 "åå²åä¿¡æ°", 866 "ãªãã·ã§ã³å 867 ¥åæ°", 868 "ãããã³ã«ã¨ã©ã¼æ°", 869 "ã¢ãã¬ã¹ã¨ã©ã¼æ°", 870 "ãã¼ã¸ã§ã³ã¨ã©ã¼æ°", 871 "é·ãã¨ã©ã¼æ°", 872 "ãã§ãã¯ãµã ã¨ã©ã¼æ°", 873 "åä¿¡ã¨ã©ã¼ãã¼ã¿ã°ã©ã æ°", 874 "åä¿¡ãã¼ã¿ã°ã©ã æ°", 875 "åä¿¡ãªã¯ãããæ°", 825 "分割送信、フラグメント数", 826 "分割送信数", 827 "送信エラーデータグラム数", 828 "送信データグラム数", 829 "送信オクテット数", 830 "分割受信タイムアウト数", 831 "分割受信バッファ割り当て失敗数", 832 "分割受信破棄数", 833 "分割受信再構成成功数", 834 "分割受信フラグメント数", 835 "分割受信数", 836 "オプション入力数", 837 "プロトコルエラー数", 838 "アドレスエラー数", 839 "バージョンエラー数", 840 "長さエラー数", 841 "チェックサムエラー数", 842 "受信エラーデータグラム数", 843 "受信データグラム数", 844 "受信オクテット数", 876 845 }; 877 846 … … 881 850 882 851 static const char *ip6_item[NC_IP6_SIZE] = { 883 " åå²éä¿¡ããã©ã°ã¡ã³ãæ°",884 " åå²éä¿¡æ°",885 " éä¿¡ã¨ã©ã¼ãã¼ã¿ã°ã©ã æ°",886 " éä¿¡ãã¼ã¿ã°ã©ã æ°",887 " éä¿¡ãªã¯ãããæ°",888 " åå²åä¿¡ã¿ã¤ã ã¢ã¦ãæ°",889 " åå²åä¿¡ãããã¡å²ãå½ã¦å¤±ææ°",890 " åå²åä¿¡ç ´æ£æ°",891 " åå²åä¿¡åæ§ææåæ°",892 " åå²åä¿¡ãã©ã°ã¡ã³ãæ°",893 " åå²åä¿¡æ°",894 " ãããã³ã«ã¨ã©ã¼æ°",895 " ã¢ãã¬ã¹ã¨ã©ã¼æ°",896 " ãã¼ã¸ã§ã³ã¨ã©ã¼æ°",897 " é·ãã¨ã©ã¼æ°",898 " åä¿¡ã¨ã©ã¼ãã¼ã¿ã°ã©ã æ°",899 " åä¿¡ãã¼ã¿ã°ã©ã æ°",900 " åä¿¡ãªã¯ãããæ°",852 "分割送信、フラグメント数", 853 "分割送信数", 854 "送信エラーデータグラム数", 855 "送信データグラム数", 856 "送信オクテット数 ", 857 "分割受信タイムアウト数", 858 "分割受信バッファ割り当て失敗数", 859 "分割受信破棄数", 860 "分割受信再構成成功数", 861 "分割受信フラグメント数", 862 "分割受信数", 863 "プロトコルエラー数 ", 864 "アドレスエラー数 ", 865 "バージョンエラー数 ", 866 "長さエラー数", 867 "受信エラーデータグラム数", 868 "受信データグラム数", 869 "受信オクテット数 ", 901 870 }; 902 871 903 872 static const char *icmp6_item[NC_ICMP6_SIZE] = { 904 " éä¿¡ã¨ã©ã¼ ICMP ãã¼ã¿æ°",905 " éä¿¡ ICMP ãã¼ã¿æ°",906 " éä¿¡ ICMP ãªã¯ãããæ°",907 " é·ãã¨ã©ã¼æ°",908 " åä¿¡ã¨ã©ã¼ ICMP ãã¼ã¿æ°",909 " åä¿¡ ICMP ãã¼ã¿æ°",910 " åä¿¡ ICMP ãªã¯ãããæ°",873 "送信エラー ICMP データ数 ", 874 "送信 ICMP データ数", 875 "送信 ICMP オクテット数", 876 "長さエラー数", 877 "受信エラー ICMP データ数 ", 878 "受信 ICMP データ数", 879 "受信 ICMP オクテット数", 911 880 }; 912 881 913 882 static const char *nd6_item[NC_ND6_SIZE] = { 914 " éè¤ã¢ãã¬ã¹æ¤åºéä¿¡æ°",915 " è¿é£è¦è«éä¿¡æ°",916 " è¿é£è¦è«åä¿¡æ°",917 " è¿é£éç¥éä¿¡æ°",918 " è¿é£éç¥åä¿¡æ°",919 " ã«ã¼ã¿è¦è«åºåæ°",920 " ã«ã¼ã¿éç¥åä¿¡æ°",883 "重複アドレス検出送信数", 884 "近隣要請送信数", 885 "近隣要請受信数", 886 "近隣通知送信数", 887 "近隣通知受信数", 888 "ルータ要請出力数", 889 "ルータ通知受信数", 921 890 }; 922 891 … … 924 893 925 894 static const char *tcp_item[NC_TCP_SIZE] = { 926 " è½åãªã¼ãã³æ°",927 " ååãªã¼ãã³æ°",928 "RTT æ´æ°æ°",929 " éä¿¡ RST æ°",930 " éä¿¡ ACK æ°",931 " éä¿¡ç·æ¥ã»ã°ã¡ã³ãæ°",932 " éä¿¡ãã¼ã¿ã»ã°ã¡ã³ãæ°",933 " åéã»ã°ã¡ã³ãæ°",934 " éä¿¡ã»ã°ã¡ã³ãæ°",935 " éä¿¡å¶å¾¡ã»ã°ã¡ã³ãæ°",936 " éä¿¡ãã¼ã¿ãªã¯ãããæ°",937 " åä¿¡ãã¥ã¼è§£æ¾æ°",938 " åä¿¡å¤éæ°",939 " åä¿¡ç ´æ£æ°",940 " åä¿¡ RST æ°",941 " åä¿¡å¤é ACK æ°",942 " åä¿¡ ACK æ°",943 " åä¿¡ãã§ãã¯ãµã ä¸æ£æ°",944 " åä¿¡ãããä¸æ£æ°",945 " åä¿¡ç·æ¥ã»ã°ã¡ã³ãæ°",946 " åä¿¡ãã¼ã¿ã»ã°ã¡ã³ãæ°",947 " åä¿¡ã»ã°ã¡ã³ãæ°",948 " åä¿¡ãã¼ã¿ãªã¯ãããæ°",949 " åä¿¡ãªã¯ãããæ°",895 "能動オープン数", 896 "受動オープン数", 897 "RTT 更新数", 898 "送信 RST 数", 899 "送信 ACK 数", 900 "送信緊急セグメント数", 901 "送信データセグメント数", 902 "再送セグメント数", 903 "送信セグメント数", 904 "送信制御セグメント数", 905 "送信データオクテット数", 906 "受信キュー解放数", 907 "受信多重数", 908 "受信破棄数", 909 "受信 RST 数", 910 "受信多重 ACK 数", 911 "受信 ACK 数", 912 "受信チェックサム不正数", 913 "受信ヘッダ不正数", 914 "受信緊急セグメント数", 915 "受信データセグメント数", 916 "受信セグメント数", 917 "受信データオクテット数", 918 "受信オクテット数", 950 919 }; 951 920 952 921 /* 953 * put_count_item1 -- ã«ã¦ã³ã¿ã®å 954 容ãåºåãããã°ã«ã¼ã 1 922 * put_count_item1 -- カウンタの内容を出力する。グループ 1 955 923 */ 956 924 … … 995 963 996 964 /* 997 * put_count_item2 -- ã«ã¦ã³ã¿ã®å 998 容ãåºåãããã°ã«ã¼ã 2 965 * put_count_item2 -- カウンタの内容を出力する。グループ 2 999 966 */ 1000 967 … … 1021 988 1022 989 /* 1023 * td_len_ppp -- put_count_ppp ã§åºåããæåæ°ã990 * td_len_ppp -- put_count_ppp で出力する文字数。 1024 991 */ 1025 992 … … 1036 1003 1037 1004 /* 1038 * put_count_ppp -- ã«ã¦ã³ã¿ (PPP) ã®å 1039 容ãåºåããã 1005 * put_count_ppp -- カウンタ (PPP) の内容を出力する。 1040 1006 */ 1041 1007 … … 1108 1074 1109 1075 /* 1110 * td_len_ip4 -- put_count_ip4 ã§åºåããæåæ°ã1076 * td_len_ip4 -- put_count_ip4 で出力する文字数。 1111 1077 */ 1112 1078 … … 1123 1089 1124 1090 /* 1125 * put_count_ip4 -- ã«ã¦ã³ã¿ (IP4) ã®å 1126 容ãåºåããã 1091 * put_count_ip4 -- カウンタ (IP4) の内容を出力する。 1127 1092 */ 1128 1093 … … 1153 1118 1154 1119 /* 1155 * td_len_nd6 -- put_count_nd6 ã§åºåããæåæ°ã1120 * td_len_nd6 -- put_count_nd6 で出力する文字数。 1156 1121 */ 1157 1122 … … 1168 1133 1169 1134 /* 1170 * put_count_nd6 -- ã«ã¦ã³ã¿ (ND6) ã®å 1171 容ãåºåããã 1135 * put_count_nd6 -- カウンタ (ND6) の内容を出力する。 1172 1136 */ 1173 1137 … … 1194 1158 1195 1159 /* 1196 * td_len_icmp6 -- put_count_icmp6 ã§åºåããæåæ°ã1160 * td_len_icmp6 -- put_count_icmp6 で出力する文字数。 1197 1161 */ 1198 1162 … … 1209 1173 1210 1174 /* 1211 * put_count_icmp6 -- ã«ã¦ã³ã¿ (ICMP6) ã®å 1212 容ãåºåããã 1175 * put_count_icmp6 -- カウンタ (ICMP6) の内容を出力する。 1213 1176 */ 1214 1177 … … 1235 1198 1236 1199 /* 1237 * td_len_ip6 -- put_count_ip6 ã§åºåããæåæ°ã1200 * td_len_ip6 -- put_count_ip6 で出力する文字数。 1238 1201 */ 1239 1202 … … 1250 1213 1251 1214 /* 1252 * put_count_ip6 -- ã«ã¦ã³ã¿ (IP6) ã®å 1253 容ãåºåããã 1215 * put_count_ip6 -- カウンタ (IP6) の内容を出力する。 1254 1216 */ 1255 1217 … … 1278 1240 1279 1241 /* 1280 * td_len_tcp -- put_count_tcp ã§åºåããæåæ°ã1242 * td_len_tcp -- put_count_tcp で出力する文字数。 1281 1243 */ 1282 1244 … … 1293 1255 1294 1256 /* 1295 * put_count_tcp -- ã«ã¦ã³ã¿ (TCP) ã®å 1296 容ãåºåããã 1257 * put_count_tcp -- カウンタ (TCP) の内容を出力する。 1297 1258 */ 1298 1259 … … 1319 1280 1320 1281 /* 1321 * put_elapse_time -- çµéæéãåºåããã1282 * put_elapse_time -- 経過時間を出力する。 1322 1283 */ 1323 1284 … … 1351 1312 1352 1313 /* 1353 * put_count_net_buf -- ã«ã¦ã³ã¿ (TCP) ã®å 1354 容ãåºåããã 1314 * put_count_net_buf -- カウンタ (TCP) の内容を出力する。 1355 1315 */ 1356 1316 … … 1392 1352 1393 1353 /* 1394 * td_len_ether_nic -- put_count_ether_nic ã§åºåããæåæ°ã1354 * td_len_ether_nic -- put_count_ether_nic で出力する文字数。 1395 1355 */ 1396 1356 … … 1407 1367 1408 1368 /* 1409 * put_count_ether_nic -- ã«ã¦ã³ã¿ (ETHER_NIC) ã®å 1410 容ãåºåããã 1369 * put_count_ether_nic -- カウンタ (ETHER_NIC) の内容を出力する。 1411 1370 */ 1412 1371 … … 1435 1394 1436 1395 /* 1437 * stat_html -- /stat.html ãã¡ã¤ã«1396 * stat_html -- /stat.html ファイル 1438 1397 */ 1439 1398 … … 1451 1410 #endif 1452 1411 1453 "<title>ãããã¯ã¼ã¯çµ±è¨æ 1454 å ±</title>\r\n" 1412 "<title>ネットワーク統計情報</title>\r\n" 1455 1413 "</head><body bgcolor=\"#ffffbb\">\r\n" 1456 "<hr><h1 align=\"center\">ãããã¯ã¼ã¯çµ±è¨æ 1457 å ±</h1><hr>\r\n" 1414 "<hr><h1 align=\"center\">ネットワーク統計情報</h1><hr>\r\n" 1458 1415 ; 1459 1416 … … 1463 1420 1464 1421 static const char table_prefix1[] = 1465 "<h2>ã°ã«ã¼ã 1</h2><table border>\r\n" 1466 "<tr><th>é 1467 ç®</th>\r\n" 1468 "<th>åä¿¡ãªã¯ãããæ°</th>" 1469 "<th>éä¿¡ãªã¯ãããæ°</th>\r\n" 1470 "<th>åä¿¡ãã±ããæ°</th>" 1471 "<th>éä¿¡ãã±ããæ°</th>\r\n" 1472 "<th>åä¿¡ã¨ã©ã¼<br>ãã±ããæ°</th>" 1473 "<th>éä¿¡ã¨ã©ã¼<br>ãã±ããæ°</th></tr>\r\n" 1422 "<h2>グループ 1</h2><table border>\r\n" 1423 "<tr><th>項目</th>\r\n" 1424 "<th>受信オクテット数</th>" 1425 "<th>送信オクテット数</th>\r\n" 1426 "<th>受信パケット数</th>" 1427 "<th>送信パケット数</th>\r\n" 1428 "<th>受信エラー<br>パケット数</th>" 1429 "<th>送信エラー<br>パケット数</th></tr>\r\n" 1474 1430 ; 1475 1431 … … 1477 1433 1478 1434 static const char table_prefix2[] = 1479 "<h2>ã°ã«ã¼ã 2</h2><table border>\r\n" 1480 "<tr><th>é 1481 ç®</th>" 1482 "<th>åä¿¡ãªã¯ãããæ°</th>" 1483 "<th>åä¿¡ãã¬ã¼ã æ°</th></tr>\r\n" 1435 "<h2>グループ 2</h2><table border>\r\n" 1436 "<tr><th>項目</th>" 1437 "<th>受信オクテット数</th>" 1438 "<th>受信フレーム数</th></tr>\r\n" 1484 1439 ; 1485 1440 … … 1574 1529 1575 1530 + content_len 1576 - 2); /* 2 ã¯æåã®\r\n */1531 - 2); /* 2 は最初の \r\n */ 1577 1532 1578 1533 len += put_str(cepid, srbuf, res_prefix); … … 1664 1619 1665 1620 /* 1666 * get_tcp_rep -- TCP åä»å£ãç²å¾ããã1621 * get_tcp_rep -- TCP 受付口を獲得する。 1667 1622 */ 1668 1623 … … 1722 1677 1723 1678 /* 1724 * get_tcp_cep -- TCP é信端ç¹ãç²å¾ããã1679 * get_tcp_cep -- TCP 通信端点を獲得する。 1725 1680 */ 1726 1681 … … 1767 1722 1768 1723 /* 1769 * tcp_passive_open -- ååãªã¼ãã³ãå®è¡ããã1724 * tcp_passive_open -- 受動オープンを実行する。 1770 1725 * 1771 1726 * USE_TCP_NON_BLOCKING OFF … … 1781 1736 1782 1737 if (apip == API_PROTO_IPV6) { 1783 /* åä»å£ã¯IPv6 */1738 /* 受付口は IPv6 */ 1784 1739 if ((error = tcp6_acp_cep(info->cepid, info->repid, &info->dst, TMO_FEVR)) != E_OK) 1785 1740 return error; … … 1792 1747 } 1793 1748 else { 1794 /* åä»å£ã¯IPv4 */1749 /* 受付口は IPv4 */ 1795 1750 if ((error = tcp_acp_cep(info->cepid, info->repid, &dst4, TMO_FEVR)) != E_OK) 1796 1751 return error; … … 1828 1783 1829 1784 /* 1830 * WWW ãµã¼ã1785 * WWW サーバ 1831 1786 */ 1832 1787 … … 1914 1869 1915 1870 /* 1916 * WWW ãµã¼ãã¿ã¹ã¯1871 * WWW サーバタスク 1917 1872 */ 1918 1873 … … 2008 1963 2009 1964 /* 2010 * wakeup_www_srv -- WWW ãµã¼ãã¿ã¹ã¯ã®ä¼æ¢è§£é¤1965 * wakeup_www_srv -- WWW サーバタスクの休止解除 2011 1966 */ 2012 1967 … … 2027 1982 2028 1983 /* 2029 * WWW ãµã¼ãã¿ã¹ã¯1984 * WWW サーバタスク 2030 1985 */ 2031 1986 -
asp3_gr_sakura/trunk/tinet/netapp/wwws.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * WWW ãµã¼ãã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * WWW サーバのシステムコンフィギュレーションファイル 48 36 */ 49 37 50 38 #ifdef USE_WWW_SRV 51 39 52 /* ã¿ã¹ã¯*/40 /* タスク */ 53 41 54 42 CRE_TSK(WWW_SRV_TASK1, { -
asp3_gr_sakura/trunk/tinet/netapp/wwws.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 48 36 49 37 /* 50 * WWW ãµã¼ã38 * WWW サーバ 51 39 */ 52 40 53 41 #ifdef TOPPERS_S810_CLG3_85 54 #define WWW_SRV_STACK_SIZE 768 /* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº*/42 #define WWW_SRV_STACK_SIZE 768 /* タスクのスタックサイズ */ 55 43 #else /* of #ifdef TOPPERS_S810_CLG3_85 */ 56 #define WWW_SRV_STACK_SIZE 1024 /* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº*/44 #define WWW_SRV_STACK_SIZE 1024 /* タスクのスタックサイズ */ 57 45 #endif /* of #ifdef TOPPERS_S810_CLG3_85 */ 58 #define WWW_SRV_MAIN_PRIORITY 5 /* ã¿ã¹ã¯ã®åªå 59 度 */ 46 #define WWW_SRV_MAIN_PRIORITY 5 /* タスクの優先度 */ 60 47 61 48 /* 62 * TCP éåä¿¡ã¦ã¤ã³ããããã¡ãµã¤ãº49 * TCP 送受信ウインドバッファサイズ 63 50 */ 64 51 … … 88 75 89 76 /* 90 * ã¿ã¹ã¯æ°77 * タスク数 91 78 */ 92 79 … … 124 111 } T_WWW_RWBUF; 125 112 126 /* ã¿ã¹ã¯*/113 /* タスク */ 127 114 128 115 extern void www_srv_task (intptr_t exinf); 129 116 130 117 /* 131 * å¤æ°118 * 変数 132 119 */ 133 120 134 /* TCP éåä¿¡ã¦ã£ã³ããããã¡*/121 /* TCP 送受信ウィンドバッファ */ 135 122 136 123 #ifdef NUM_WWW_SRV_TASKS … … 142 129 143 130 /* 144 * é¢æ°131 * 関数 145 132 */ 146 133 -
asp3_gr_sakura/trunk/tinet/netapp/wwws_asp.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * ASP ç¨ WWW ãµã¼ãã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * ASP 用 WWW サーバのシステムコンフィギュレーションファイル 48 36 */ 49 37 50 38 /* 51 * å 52 ±é WWW ãµã¼ãã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ã®ã¤ã³ã¯ã«ã¼ã 39 * 共通 WWW サーバのシステムコンフィギュレーションファイルのインクルード 53 40 */ 54 41 … … 58 45 59 46 /* 60 * åºå®ã¡ã¢ãªãã¼ã«47 * 固定メモリプール 61 48 */ 62 49 63 /* åä¿¡ãããã¡*/50 /* 受信バッファ */ 64 51 65 52 CRE_MPF(MPF_WWW_RWBUF, { … … 71 58 }); 72 59 73 /* è¡ãããã¡*/60 /* 行バッファ */ 74 61 75 62 CRE_MPF(MPF_WWW_LINE, { -
asp3_gr_sakura/trunk/tinet/netapp/wwws_jsp.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * JSP ç¨ WWW ãµã¼ãã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * JSP 用 WWW サーバのシステムコンフィギュレーションファイル 48 36 */ 49 37 50 38 /* 51 * å 52 ±é WWW ãµã¼ãã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ã®ã¤ã³ã¯ã«ã¼ã 39 * 共通 WWW サーバのシステムコンフィギュレーションファイルのインクルード 53 40 */ 54 41 … … 58 45 59 46 /* 60 * åºå®ã¡ã¢ãªãã¼ã«47 * 固定メモリプール 61 48 */ 62 49 63 /* åä¿¡ãããã¡*/50 /* 受信バッファ */ 64 51 65 52 CRE_MPF(MPF_WWW_RWBUF, { … … 70 57 }); 71 58 72 /* è¡ãããã¡*/59 /* 行バッファ */ 73 60 74 61 CRE_MPF(MPF_WWW_LINE, { -
asp3_gr_sakura/trunk/tinet/netdev/if_rx62n/Makefile.tinet
-
Property svn:mime-type
changed from
text/x-makefile
totext/x-makefile; charset=UTF-8
r317 r318 5 5 # Tomakomai National College of Technology, JAPAN 6 6 # 7 # ä¸è¨èä½æ¨©è 8 ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ 9 # ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹ 10 # å¤ã»åé 11 å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 12 # (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 13 # 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 14 # ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 15 # (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 16 # ç¨ã§ããå½¢ã§åé 17 å¸ããå ´åã«ã¯ï¼åé 18 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 19 # è 20 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 21 # ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 22 # (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 23 # ç¨ã§ããªãå½¢ã§åé 24 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 25 # ã¨ï¼ 26 # (a) åé 27 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 28 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 29 # ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 30 # (b) åé 31 å¸ã®å½¢æ 32 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 33 # å ±åãããã¨ï¼ 34 # (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 35 # 害ãããï¼ä¸è¨èä½æ¨©è 36 ããã³TOPPERSããã¸ã§ã¯ããå 37 責ãããã¨ï¼ 38 # ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç 39 # ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è 40 ããã³TOPPERSããã¸ã§ã¯ãã 41 # å 42 責ãããã¨ï¼ 7 # 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 8 # ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 9 # 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 10 # (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 11 # 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 12 # スコード中に含まれていること. 13 # (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 14 # 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 15 # 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 16 # の無保証規定を掲載すること. 17 # (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 18 # 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 19 # と. 20 # (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 21 # 作権表示,この利用条件および下記の無保証規定を掲載すること. 22 # (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 23 # 報告すること. 24 # (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 25 # 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 26 # また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 27 # 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 28 # 免責すること. 43 29 # 44 # æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 45 ã 46 # ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 47 # ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 48 # ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 49 # ã®è²¬ä»»ãè² ããªãï¼ 30 # 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 31 # よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 32 # に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 33 # アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 34 # の責任を負わない. 50 35 # 51 # @(#) $Id : Makefile.tinet,v 1.5 2009/12/24 05:46:54 abe Exp abe$36 # @(#) $Id$ 52 37 # 53 38 54 39 # 55 # ã³ã³ãã¤ã«ãªãã·ã§ã³40 # コンパイルオプション 56 41 # 57 42 INCLUDES := $(INCLUDES) -I$(TINET_ROOT)/netdev/$(NET_DEV) -
Property svn:mime-type
changed from
-
asp3_gr_sakura/trunk/tinet/netdev/if_rx62n/ether_phy.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 6 6 * Copyright (C) 2014-2017 by Cores Co., Ltd. Japan 7 7 * 8 * ä¸è¨èä½æ¨©è 9 ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ 10 * ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹ 11 * å¤ã»åé 12 å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 13 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 14 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 15 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 16 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 17 * ç¨ã§ããå½¢ã§åé 18 å¸ããå ´åã«ã¯ï¼åé 19 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 20 * è 21 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 22 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 23 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 24 * ç¨ã§ããªãå½¢ã§åé 25 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 26 * ã¨ï¼ 27 * (a) åé 28 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 29 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 30 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 31 * (b) åé 32 å¸ã®å½¢æ 33 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 34 * å ±åãããã¨ï¼ 35 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 36 * 害ãããï¼ä¸è¨èä½æ¨©è 37 ããã³TOPPERSããã¸ã§ã¯ããå 38 責ãããã¨ï¼ 39 * ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç 40 * ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è 41 ããã³TOPPERSããã¸ã§ã¯ãã 42 * å 43 責ãããã¨ï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 44 30 * 45 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 46 ã 47 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 48 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 49 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 50 * ã®è²¬ä»»ãè² ããªãï¼ 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * @(#) $Id$ … … 109 94 { 110 95 #ifndef _MSC_VER 111 /* PHY ã®ãªã»ãã*/96 /* PHYのリセット */ 112 97 phy_write_reg(phy_addr, PHY_CONTROL_REGISTER, PHY_CONTROL_RESET); 113 98 114 /* 500mså¾ 115 㤠*/ 116 /* tslp_tsk(500 * 1000); ä¸è¦ï¼ */ 117 118 /* ãªã»ããå®äºã®ç¢ºèª */ 99 /* 500ms待つ */ 100 /* tslp_tsk(500 * 1000); 不要? */ 101 102 /* リセット完了の確認 */ 119 103 while((phy_read_reg(phy_addr, PHY_CONTROL_REGISTER) & PHY_CONTROL_RESET) != 0) 120 104 tslp_tsk(100); … … 127 111 uint16_t status; 128 112 #ifndef _MSC_VER 129 /* ãªã³ã¯å®äºã®ç¢ºèª*/113 /* リンク完了の確認 */ 130 114 while((phy_read_reg(phy_addr, PHY_STATUS_REGISTER) & PHY_STATUS_LINK_STATUS) == 0) 131 115 tslp_tsk(100); 132 116 133 /* ãªã¼ããã´ã·ã¨ã¼ã·ã§ã³ã®ãç¥ãããæå¹ã«è¨å®*/117 /* オートネゴシエーションのお知らせを有効に設定 */ 134 118 phy_write_reg(phy_addr, PHY_AN_ADVERTISEMENT_REGISTER, 135 119 PHY_AN_AD_100BASE_T4 | PHY_AN_AD_100BASE_TX_FULL_DUPLEX | PHY_AN_AD_100BASE_TX_HALF_DUPLEX 136 120 | PHY_AN_AD_10BASE_T_FULL_DUPLEX | PHY_AN_AD_10BASE_T_HALF_DUPLEX | PHY_AN_AD_SELECTOR_FIELD); 137 121 138 /* ãªã¼ããã´ã·ã¨ã¼ã·ã§ã³ãæå¹ã«è¨å®*/122 /* オートネゴシエーションを有効に設定 */ 139 123 phy_write_reg(phy_addr, PHY_CONTROL_REGISTER, PHY_CONTROL_SPEED_SELECT | PHY_CONTROL_A_N_ENABLE); 140 124 141 /* ãªã¼ããã´ã·ã¨ã¼ã·ã§ã³å®äºã®ç¢ºèª*/125 /* オートネゴシエーション完了の確認 */ 142 126 while((phy_read_reg(phy_addr, PHY_STATUS_REGISTER) & PHY_STATUS_A_N_COMPLETE) == 0) 143 127 tslp_tsk(100); … … 157 141 { 158 142 #ifndef _MSC_VER 159 /* ãªã³ã¯ã®ç¢ºèª*/143 /* リンクの確認 */ 160 144 return (phy_read_reg(phy_addr, PHY_STATUS_REGISTER) & PHY_STATUS_LINK_STATUS) == 0; 161 145 #else … … 169 153 int i; 170 154 171 /* PRE ï¼32åã®é£ç¶ãã1b */155 /* PRE :32個の連続した1b */ 172 156 for (i = 0; i < 32; i++) 173 157 phy_write_bit(true); 174 158 175 /* ST ï¼ãã¬ã¼ã ã®å 176 é ã示ã01bã®ã©ã¤ã */ 177 phy_write_bit(false); 178 phy_write_bit(true); 179 180 /* OP ï¼ã¢ã¯ã»ã¹ç¨®å¥ã示ãã³ã¼ãã®ã©ã¤ã */ 181 phy_write_bit(true); 182 phy_write_bit(false); 183 184 /* PHYAD ï¼PHY-LSIã®ã¢ãã¬ã¹ã1çªã®å ´åã00001bãã©ã¤ãï¼MSB ããé 次ã©ã¤ãï¼ã */ 159 /* ST :フレームの先頭を示す01bのライト */ 160 phy_write_bit(false); 161 phy_write_bit(true); 162 163 /* OP :アクセス種別を示すコードのライト */ 164 phy_write_bit(true); 165 phy_write_bit(false); 166 167 /* PHYAD :PHY-LSIのアドレスが1番の場合、00001bをライト(MSB から順次ライト)。 */ 185 168 phy_write_bit((phy_addr & 0x10) != 0); 186 169 phy_write_bit((phy_addr & 0x08) != 0); … … 189 172 phy_write_bit((phy_addr & 0x01) != 0); 190 173 191 /* REGAD ï¼ã¬ã¸ã¹ã¿ã¢ãã¬ã¹ã1çªã®å ´åã00001bãã©ã¤ãï¼MSBããé 次ã©ã¤ãï¼ã*/174 /* REGAD :レジスタアドレスが1番の場合、00001bをライト(MSBから順次ライト)。 */ 192 175 phy_write_bit((reg_addr & 0x10) != 0); 193 176 phy_write_bit((reg_addr & 0x08) != 0); … … 196 179 phy_write_bit((reg_addr & 0x01) != 0); 197 180 198 /* TA ï¼MII/RMIIã¤ã³ã¿ãã§ã¼ã¹ä¸ã§ãã¼ã¿ã®éä¿¡å 199 ãåãæ¿ããæé */ 200 /* ããã¹è§£æ¾ãï¼Z0ã¨è¡¨è¨ï¼ãè¡ã */ 181 /* TA :MII/RMIIインタフェース上でデータの送信元を切り替える時間 */ 182 /* 「バス解放」(Z0と表記)を行う */ 201 183 phy_release_bus(); 202 184 203 /* DATA ï¼16ãããã®ãã¼ã¿ãMSBããé 次ãªã¼ã*/185 /* DATA :16ビットのデータ。MSBから順次リード */ 204 186 for (bit = 0x8000; bit != 0; bit >>= 1) { 205 187 if(phy_read_bit()) … … 207 189 } 208 190 209 /* IDLE ï¼æ¬¡ã®MII管çãã©ã¼ãããå 210 ¥åã¾ã§ã®å¾ 211 æ©æé */ 212 /* ãã§ã«TAæã«ãã¹è§£æ¾æ¸ã¿ã§ããå¶å¾¡ä¸è¦ */ 191 /* IDLE :次のMII管理フォーマット入力までの待機時間 */ 192 /* すでにTA時にバス解放済みであり制御不要 */ 213 193 phy_release_bus(); 214 194 … … 221 201 uint16_t bit; 222 202 223 /* PRE ï¼32åã®é£ç¶ãã1b */203 /* PRE :32個の連続した1b */ 224 204 for (i = 0; i < 32; i++) 225 205 phy_write_bit(true); 226 206 227 /* ST ï¼ãã¬ã¼ã ã®å 228 é ã示ã01bã®ã©ã¤ã */ 229 phy_write_bit(false); 230 phy_write_bit(true); 231 232 /* OP ï¼ã¢ã¯ã»ã¹ç¨®å¥ã示ãã³ã¼ãã®ã©ã¤ã */ 233 phy_write_bit(false); 234 phy_write_bit(true); 235 236 /* PHYAD ï¼PHY-LSIã®ã¢ãã¬ã¹ã1çªã®å ´åã00001bãã©ã¤ãï¼MSB ããé 次ã©ã¤ãï¼ã */ 207 /* ST :フレームの先頭を示す01bのライト */ 208 phy_write_bit(false); 209 phy_write_bit(true); 210 211 /* OP :アクセス種別を示すコードのライト */ 212 phy_write_bit(false); 213 phy_write_bit(true); 214 215 /* PHYAD :PHY-LSIのアドレスが1番の場合、00001bをライト(MSB から順次ライト)。 */ 237 216 phy_write_bit((phy_addr & 0x10) != 0); 238 217 phy_write_bit((phy_addr & 0x08) != 0); … … 241 220 phy_write_bit((phy_addr & 0x01) != 0); 242 221 243 /* REGAD ï¼ã¬ã¸ã¹ã¿ã¢ãã¬ã¹ã1çªã®å ´åã00001bãã©ã¤ãï¼MSBããé 次ã©ã¤ãï¼ã*/222 /* REGAD :レジスタアドレスが1番の場合、00001bをライト(MSBから順次ライト)。 */ 244 223 phy_write_bit((reg_addr & 0x10) != 0); 245 224 phy_write_bit((reg_addr & 0x08) != 0); … … 248 227 phy_write_bit((reg_addr & 0x01) != 0); 249 228 250 /* TA ï¼MII/RMIIã¤ã³ã¿ãã§ã¼ã¹ä¸ã§ãã¼ã¿ã®éä¿¡å 251 ãåãæ¿ããæé */ 252 /* 10bãã©ã¤ã */ 253 phy_write_bit(true); 254 phy_write_bit(false); 255 256 /* DATA ï¼16ãããã®ãã¼ã¿ãMSBããé 次ã©ã¤ã */ 229 /* TA :MII/RMIIインタフェース上でデータの送信元を切り替える時間 */ 230 /* 10bをライト */ 231 phy_write_bit(true); 232 phy_write_bit(false); 233 234 /* DATA :16ビットのデータ。MSBから順次ライト */ 257 235 for (bit = 0x8000; bit != 0; bit >>= 1) { 258 236 phy_write_bit((reg_data & bit) != 0); 259 237 } 260 238 261 /* IDLE ï¼æ¬¡ã®MII管çãã©ã¼ãããå 262 ¥åã¾ã§ã®å¾ 263 æ©æé */ 264 /* ãåç¬ãã¹è§£æ¾ãï¼Xã¨è¡¨è¨ï¼ãè¡ã */ 239 /* IDLE :次のMII管理フォーマット入力までの待機時間 */ 240 /* 「単独バス解放」(Xと表記)を行う */ 265 241 phy_single_rel_bus(); 266 242 } … … 269 245 270 246 /* 271 * 1 ããããã¼ã¿ã®ã©ã¤ã247 * 1 ビットデータのライト 272 248 */ 273 249 static void phy_write_bit(bool_t bit) … … 276 252 uint32_t data = bit ? ETHERC_PIR_MDO : 0; 277 253 278 /* PHY é¨ã¤ã³ã¿ãã§ã¼ã¹ã¬ã¸ã¹ã¿ã¸ã®ã©ã¤ã*/254 /* PHY部インタフェースレジスタへのライト */ 279 255 sil_wrw_mem(ETHERC_PIR, data | ETHERC_PIR_MMD | 0/*ETHERC_PIR_MDC*/); 280 256 281 257 for(i = ETHERC_PIR_WAIT; i > 0; i--); 282 258 283 /* PHY é¨ã¤ã³ã¿ãã§ã¼ã¹ã¬ã¸ã¹ã¿ã¸ã®ã©ã¤ã*/259 /* PHY部インタフェースレジスタへのライト */ 284 260 sil_wrw_mem(ETHERC_PIR, data | ETHERC_PIR_MMD | ETHERC_PIR_MDC); 285 261 286 262 for(i = 2 * ETHERC_PIR_WAIT; i > 0; i--); 287 263 288 /* PHY é¨ã¤ã³ã¿ãã§ã¼ã¹ã¬ã¸ã¹ã¿ã¸ã®ã©ã¤ã*/264 /* PHY部インタフェースレジスタへのライト */ 289 265 sil_wrw_mem(ETHERC_PIR, data | ETHERC_PIR_MMD | 0/*ETHERC_PIR_MDC*/); 290 266 … … 293 269 294 270 /* 295 * ãã¹è§£æ¾271 * バス解放 296 272 */ 297 273 static void phy_release_bus() … … 299 275 int i; 300 276 301 /* PHY é¨ã¤ã³ã¿ãã§ã¼ã¹ã¬ã¸ã¹ã¿ã¸ã®ã©ã¤ã*/277 /* PHY部インタフェースレジスタへのライト */ 302 278 sil_wrw_mem(ETHERC_PIR, 0/*ETHERC_PIR_MMD*/ | 0/*ETHERC_PIR_MDC*/); 303 279 304 280 for(i = ETHERC_PIR_WAIT; i > 0; i--); 305 281 306 /* PHY é¨ã¤ã³ã¿ãã§ã¼ã¹ã¬ã¸ã¹ã¿ã¸ã®ã©ã¤ã*/282 /* PHY部インタフェースレジスタへのライト */ 307 283 sil_wrw_mem(ETHERC_PIR, 0/*ETHERC_PIR_MMD*/ | ETHERC_PIR_MDC); 308 284 309 285 for(i = 2 * ETHERC_PIR_WAIT; i > 0; i--); 310 286 311 /* PHY é¨ã¤ã³ã¿ãã§ã¼ã¹ã¬ã¸ã¹ã¿ã¸ã®ã©ã¤ã*/287 /* PHY部インタフェースレジスタへのライト */ 312 288 sil_wrw_mem(ETHERC_PIR, 0/*ETHERC_PIR_MMD*/ | 0/*ETHERC_PIR_MDC*/); 313 289 … … 316 292 317 293 /* 318 * 1 ããããã¼ã¿ã®ãªã¼ã294 * 1 ビットデータのリード 319 295 */ 320 296 static bool_t phy_read_bit() … … 325 301 for(i = ETHERC_PIR_WAIT; i > 0; i--); 326 302 327 /* PHY é¨ã¤ã³ã¿ãã§ã¼ã¹ã¬ã¸ã¹ã¿ã¸ã®ã©ã¤ã*/303 /* PHY部インタフェースレジスタへのライト */ 328 304 sil_wrw_mem(ETHERC_PIR, 0/*ETHERC_PIR_MMD*/ | ETHERC_PIR_MDC); 329 305 330 306 for(i = ETHERC_PIR_WAIT; i > 0; i--); 331 307 332 /* PHY é¨ã¤ã³ã¿ãã§ã¼ã¹ã¬ã¸ã¹ã¿ã¸ã®ã©ã¤ã*/308 /* PHY部インタフェースレジスタへのライト */ 333 309 bit = (sil_rew_mem(ETHERC_PIR) & ETHERC_PIR_MDI) != 0; 334 310 335 311 for(i = ETHERC_PIR_WAIT; i > 0; i--); 336 312 337 /* PHY é¨ã¤ã³ã¿ãã§ã¼ã¹ã¬ã¸ã¹ã¿ã¸ã®ã©ã¤ã*/313 /* PHY部インタフェースレジスタへのライト */ 338 314 sil_wrw_mem(ETHERC_PIR, 0/*ETHERC_PIR_MMD*/ | 0/*ETHERC_PIR_MDC*/); 339 315 … … 344 320 345 321 /* 346 * åç¬ãã¹è§£æ¾322 * 単独バス解放 347 323 */ 348 324 static void phy_single_rel_bus() … … 352 328 for(i = ETHERC_PIR_WAIT; i > 0; i--); 353 329 354 /* PHY é¨ã¤ã³ã¿ãã§ã¼ã¹ã¬ã¸ã¹ã¿ã¸ã®ã©ã¤ã*/330 /* PHY部インタフェースレジスタへのライト */ 355 331 sil_wrw_mem(ETHERC_PIR, ETHERC_PIR_MMD | ETHERC_PIR_MDC); 356 332 357 333 for(i = 2 * ETHERC_PIR_WAIT; i > 0; i--); 358 334 359 /* PHY é¨ã¤ã³ã¿ãã§ã¼ã¹ã¬ã¸ã¹ã¿ã¸ã®ã©ã¤ã*/335 /* PHY部インタフェースレジスタへのライト */ 360 336 sil_wrw_mem(ETHERC_PIR, 0/*ETHERC_PIR_MMD*/ | 0/*ETHERC_PIR_MDC*/); 361 337 -
asp3_gr_sakura/trunk/tinet/netdev/if_rx62n/ether_phy.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 6 6 * Copyright (C) 2014 Cores Co., Ltd. Japan 7 7 * 8 * ä¸è¨èä½æ¨©è 9 ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ 10 * ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹ 11 * å¤ã»åé 12 å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 13 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 14 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 15 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 16 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 17 * ç¨ã§ããå½¢ã§åé 18 å¸ããå ´åã«ã¯ï¼åé 19 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 20 * è 21 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 22 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 23 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 24 * ç¨ã§ããªãå½¢ã§åé 25 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 26 * ã¨ï¼ 27 * (a) åé 28 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 29 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 30 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 31 * (b) åé 32 å¸ã®å½¢æ 33 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 34 * å ±åãããã¨ï¼ 35 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 36 * 害ãããï¼ä¸è¨èä½æ¨©è 37 ããã³TOPPERSããã¸ã§ã¯ããå 38 責ãããã¨ï¼ 39 * ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç 40 * ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è 41 ããã³TOPPERSããã¸ã§ã¯ãã 42 * å 43 責ãããã¨ï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 44 30 * 45 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 46 ã 47 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 48 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 49 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 50 * ã®è²¬ä»»ãè² ããªãï¼ 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * @(#) $Id$ -
asp3_gr_sakura/trunk/tinet/netdev/if_rx62n/if_rx62n.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 6 6 * Copyright (C) 2014-2017 by Cores Co., Ltd. Japan 7 7 * 8 * ä¸è¨èä½æ¨©è 9 ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ 10 * ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹ 11 * å¤ã»åé 12 å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 13 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 14 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 15 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 16 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 17 * ç¨ã§ããå½¢ã§åé 18 å¸ããå ´åã«ã¯ï¼åé 19 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 20 * è 21 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 22 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 23 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 24 * ç¨ã§ããªãå½¢ã§åé 25 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 26 * ã¨ï¼ 27 * (a) åé 28 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 29 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 30 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 31 * (b) åé 32 å¸ã®å½¢æ 33 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 34 * å ±åãããã¨ï¼ 35 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 36 * 害ãããï¼ä¸è¨èä½æ¨©è 37 ããã³TOPPERSããã¸ã§ã¯ããå 38 責ãããã¨ï¼ 39 * ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç 40 * ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è 41 ããã³TOPPERSããã¸ã§ã¯ãã 42 * å 43 責ãããã¨ï¼ 44 * 45 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 46 ã 47 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 48 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 49 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 50 * ã®è²¬ä»»ãè² ããªãï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 30 * 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * @(#) $Id$ … … 128 113 129 114 /* 130 * ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã«ä¾åããã½ããã¦ã§ã¢æ 131 å ± 115 * ネットワークインタフェースに依存するソフトウェア情報 132 116 */ 133 117 … … 141 125 142 126 /* 143 * ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã®ã½ããã¦ã§ã¢æ 144 å ± 145 */ 146 147 /* ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã«ä¾åããã½ããã¦ã§ã¢æ 148 å ± */ 127 * ネットワークインタフェースのソフトウェア情報 128 */ 129 130 /* ネットワークインタフェースに依存するソフトウェア情報 */ 149 131 150 132 static T_RX62N_SOFTC rx62n_softc; … … 166 148 #endif 167 149 168 /* ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã«ä¾åããªãã½ããã¦ã§ã¢æ 169 å ± */ 150 /* ネットワークインタフェースに依存しないソフトウェア情報 */ 170 151 171 152 T_IF_SOFTC if_softc = { 172 {0,}, /* ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã®ã¢ãã¬ã¹ */ 173 0, /* éä¿¡ã¿ã¤ã ã¢ã¦ã */ 174 &rx62n_softc, /* ãã£ãã¤ã¹ä¾åã®ã½ããã¦ã§ã¢æ 175 å ± */ 176 SEM_IF_RX62N_SBUF_READY, /* éä¿¡ã»ããã© */ 177 SEM_IF_RX62N_RBUF_READY, /* åä¿¡ã»ããã© */ 153 {0,}, /* ネットワークインタフェースのアドレス */ 154 0, /* 送信タイムアウト */ 155 &rx62n_softc, /* ディバイス依存のソフトウェア情報 */ 156 SEM_IF_RX62N_SBUF_READY, /* 送信セマフォ */ 157 SEM_IF_RX62N_RBUF_READY, /* 受信セマフォ */ 178 158 179 159 #ifdef SUPPORT_INET6 180 160 181 IF_MADDR_INIT, /* ãã«ããã£ã¹ãã¢ãã¬ã¹ãªã¹ã*/161 IF_MADDR_INIT, /* マルチキャストアドレスリスト */ 182 162 183 163 #endif /* of #ifdef SUPPORT_INET6 */ … … 185 165 186 166 /* 187 * å±æå¤æ°167 * 局所変数 188 168 */ 189 169 … … 198 178 199 179 /* 200 * ds_crc -- ã¤ã¼ãµãããã¢ãã¬ã¹ã® CRC ãè¨ç®ããã180 * ds_crc -- イーサネットアドレスの CRC を計算する。 201 181 */ 202 182 … … 226 206 227 207 /* 228 * ds_getmcaf -- ãã«ããã£ã¹ãã¢ãã¬ã¹ã®ãªã¹ããããã«ããã£ã¹ãã¢ãã¬ã¹229 * ãã£ã«ã¿ãè¨ç®ããã208 * ds_getmcaf -- マルチキャストアドレスのリストからマルチキャストアドレス 209 * フィルタを計算する。 230 210 */ 231 211 … … 245 225 246 226 /* 247 * rx62n_setrcr -- åä¿¡æ§æã¬ã¸ã¹ã¿ (RCR) ãè¨å®ããã227 * rx62n_setrcr -- 受信構成レジスタ (RCR) を設定する。 248 228 */ 249 229 … … 255 235 256 236 /* 257 * rx62n_addmulti -- ãã«ããã£ã¹ãã¢ãã¬ã¹ã追å ããã237 * rx62n_addmulti -- マルチキャストアドレスを追加する。 258 238 */ 259 239 … … 268 248 269 249 /* 270 * rx62n_stop -- ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ãåæ¢ããã 271 * 272 * 注æ: NIC å²ãè¾¼ã¿ç¦æ¢ç¶æ 273 ã§å¼ã³åºããã¨ã 250 * rx62n_stop -- ネットワークインタフェースを停止する。 251 * 252 * 注意: NIC 割り込み禁止状態で呼び出すこと。 274 253 */ 275 254 … … 277 256 rx62n_stop (T_RX62N_SOFTC *sc) 278 257 { 279 /* åä½ã¢ã¼ãã¯ãªã¢*/258 /* 動作モードクリア */ 280 259 sil_wrw_mem(ETHERC_ECMR, 0x00000000); 281 260 } 282 261 283 262 /* 284 * rx62n_init_sub -- ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã®åæå 285 * 286 * 注æ: NIC å²ãè¾¼ã¿ç¦æ¢ç¶æ 287 ã§å¼ã³åºããã¨ã 263 * rx62n_init_sub -- ネットワークインタフェースの初期化 264 * 265 * 注意: NIC 割り込み禁止状態で呼び出すこと。 288 266 */ 289 267 … … 293 271 enum phy_mode_t mode; 294 272 295 /* MAC é¨ã½ããã¦ã¨ã¢ã»ãªã»ãã*/273 /* MAC部ソフトウエア・リセット */ 296 274 sil_wrw_mem(EDMAC_EDMR, sil_rew_mem(EDMAC_EDMR) | EDMAC_EDMR_SWR_BIT); 297 275 … … 304 282 | (uint32_t)mac_addr[5]); 305 283 306 /* PHY ãªã»ãã*/284 /* PHYリセット */ 307 285 phy_reset(0); 308 286 … … 310 288 sil_wrw_mem(ETHERC_ECSR, 0x00000037); 311 289 312 /* ãªã³ã¯å¤åå²ãè¾¼ã¿æå¹*/290 /* リンク変化割り込み有効 */ 313 291 sil_wrw_mem(ETHERC_ECSIPR, sil_rew_mem(ETHERC_ECSIPR) | ETHERC_ECSIPR_LCHNGIP); 314 292 … … 316 294 sil_wrw_mem(EDMAC_EESR, 0x47FF0F9F); 317 295 318 /* éåä¿¡å²ãè¾¼ã¿æå¹*/296 /* 送受信割り込み有効 */ 319 297 sil_wrw_mem(EDMAC_EESIPR, (EDMAC_EESIPR_TCIP | EDMAC_EESIPR_FRIP | EDMAC_EESIPR_RDEIP | EDMAC_EESIPR_FROFIP)); 320 298 321 /* åä¿¡ãã¬ã¼ã é·ä¸éï¼ãããã¡ãµã¤ãºï¼*/299 /* 受信フレーム長上限(バッファサイズ) */ 322 300 sil_wrw_mem(ETHERC_RFLR, IF_RX62N_BUF_PAGE_SIZE); 323 301 324 /* 96 ãããæéï¼åæå¤ï¼*/302 /* 96ビット時間(初期値) */ 325 303 sil_wrw_mem(ETHERC_IPGR, 0x00000014); 326 304 … … 341 319 sil_wrw_mem(EDMAC_RMCR, 0x00000001); 342 320 343 /* PHY ã®åæå*/321 /* PHYの初期化 */ 344 322 mode = phy_initialize(0); 345 323 346 /* ECMR ã¬ã¸ã¹ã¿ã®è¨å®*/324 /* ECMRレジスタの設定 */ 347 325 rx62n_set_ecmr(ic, mode); 348 326 349 327 #if defined(TARGET_KERNEL_ASP) 350 328 351 /* ã¿ã¼ã²ããä¾åé¨ã®å²è¾¼ã¿åæå*/329 /* ターゲット依存部の割込み初期化 */ 352 330 rx62n_inter_init(); 353 331 354 332 #endif /* of #if defined(TARGET_KERNEL_ASP) */ 355 333 356 #if defined(TARGET_KERNEL_JSP) && TKERNEL_PRVER >= 0x1042u /* JSP-1.4.2 以é*/357 358 /* ã¿ã¼ã²ããä¾åé¨ã®å²è¾¼ã¿åæå*/334 #if defined(TARGET_KERNEL_JSP) && TKERNEL_PRVER >= 0x1042u /* JSP-1.4.2 以降 */ 335 336 /* ターゲット依存部の割込み初期化 */ 359 337 rx62n_inter_init(); 360 338 … … 364 342 365 343 /* 366 * rx62n_set_ecmr -- ECMR ã¬ã¸ã¹ã¿ã®è¨å®344 * rx62n_set_ecmr -- ECMRレジスタの設定 367 345 */ 368 346 … … 379 357 ecmr |= ETHERC_ECMR_RTM; 380 358 381 /* åä½ã¢ã¼ãè¨å®*/359 /* 動作モード設定 */ 382 360 sil_wrw_mem(ETHERC_ECMR, ecmr); 383 361 } 384 362 385 363 /* 386 * rx62n_reset -- ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ããªã»ããããã364 * rx62n_reset -- ネットワークインタフェースをリセットする。 387 365 */ 388 366 … … 394 372 #endif 395 373 396 /* NIC ããã®å²ãè¾¼ã¿ãç¦æ¢ããã*/374 /* NIC からの割り込みを禁止する。*/ 397 375 #ifdef TARGET_KERNEL_JSP 398 376 ipm = rx62n_dis_inter(); … … 406 384 rx62n_init_sub(ic); 407 385 408 /* NIC ããã®å²ãè¾¼ã¿ã許å¯ããã*/386 /* NIC からの割り込みを許可する。*/ 409 387 #ifdef TARGET_KERNEL_JSP 410 388 rx62n_ena_inter(ipm); … … 416 394 417 395 /* 418 * get_rx62n_softc -- ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã®ã½ããã¦ã§ã¢æ 419 å ±ãè¿ãã 396 * get_rx62n_softc -- ネットワークインタフェースのソフトウェア情報を返す。 420 397 */ 421 398 … … 427 404 428 405 /* 429 * rx62n_watchdog -- ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã®ã¯ããããã°ã¿ã¤ã ã¢ã¦ã406 * rx62n_watchdog -- ネットワークインタフェースのワッチドッグタイムアウト 430 407 */ 431 408 … … 437 414 438 415 /* 439 * rx62n_probe -- ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã®æ¤åº416 * rx62n_probe -- ネットワークインタフェースの検出 440 417 */ 441 418 … … 446 423 #if defined(TARGET_KERNEL_ASP) 447 424 448 /* ã¿ã¼ã²ããä¾åé¨ã®ãã¹ã®åæå*/425 /* ターゲット依存部のバスの初期化 */ 449 426 rx62n_bus_init(); 450 427 451 428 #endif /* of #if defined(TARGET_KERNEL_ASP) */ 452 #if defined(TARGET_KERNEL_JSP) && TKERNEL_PRVER >= 0x1042u /* JSP-1.4.2 以é*/453 454 /* ã¿ã¼ã²ããä¾åé¨ã®ãã¹ã®åæå*/429 #if defined(TARGET_KERNEL_JSP) && TKERNEL_PRVER >= 0x1042u /* JSP-1.4.2 以降 */ 430 431 /* ターゲット依存部のバスの初期化 */ 455 432 rx62n_bus_init(); 456 433 … … 463 440 464 441 /* 465 * rx62n_init -- ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã®åæå442 * rx62n_init -- ネットワークインタフェースの初期化 466 443 */ 467 444 … … 477 454 int i; 478 455 479 /* NIC ããã®å²ãè¾¼ã¿ãç¦æ¢ããã*/456 /* NIC からの割り込みを禁止する。*/ 480 457 #ifdef TARGET_KERNEL_JSP 481 458 ipm = rx62n_dis_inter(); … … 509 486 rdsc->rdle = 1; 510 487 511 /* rx62n_init æ¬ä½ãå¼ã³åºãã*/488 /* rx62n_init 本体を呼び出す。*/ 512 489 rx62n_init_sub(ic); 513 490 … … 516 493 } 517 494 518 /* NIC ããã®å²ãè¾¼ã¿ã許å¯ããã*/495 /* NIC からの割り込みを許可する。*/ 519 496 #ifdef TARGET_KERNEL_JSP 520 497 rx62n_ena_inter(ipm); … … 526 503 527 504 /* 528 * rx62n_read -- ãã¬ã¼ã ã®èªã¿è¾¼ã¿505 * rx62n_read -- フレームの読み込み 529 506 */ 530 507 … … 541 518 enum phy_mode_t mode; 542 519 543 /* ãªã³ã¯ç¶æ 544 ã«å¤åãã */ 520 /* リンク状態に変化あり */ 545 521 if (sc->link_pre != sc->link_now) { 546 522 sc->link_pre = sc->link_now; 547 523 548 524 if (!phy_is_link(0)) { 549 /* PHY ã®åæå*/525 /* PHYの初期化 */ 550 526 mode = phy_initialize(0); 551 527 552 /* ECMR ã¬ã¸ã¹ã¿ã®è¨å®*/528 /* ECMRレジスタの設定 */ 553 529 rx62n_set_ecmr(ic, mode); 554 530 } … … 573 549 * <----------------- len ----------------> 574 550 * ^ 575 * t_net_buf 㧠4 ãªã¯ãããå¢çã«ã¢ã©ã¤ã³ããã¦ããã551 * t_net_buf で 4 オクテット境界にアラインされている。 576 552 * 577 * tcp_input 㨠udp_input ã§ã¯ãæ¬ä¼¼ããã㨠SDU ã§ãã§ãã¯ãµã ã 578 * è¨ç®ããããn ã 4 ãªã¯ãããå¢çã«ãªãããã« SDU ã®å¾ãã« 0 ã 579 * ãããã£ã³ã°ããããã®åãèæ 580 ®ã㦠net_buf ãç²å¾ããªããã°ãªããªãã 553 * tcp_input と udp_input では、擬似ヘッダと SDU でチェックサムを 554 * 計算するが、n が 4 オクテット境界になるように SDU の後ろに 0 を 555 * パッディングする。その分を考慮して net_buf を獲得しなければならない。 581 556 */ 582 557 align = ((((len - sizeof(T_IF_HDR)) + 3) >> 2) << 2) + sizeof(T_IF_HDR); … … 608 583 609 584 /* 610 * rx62n_start -- éä¿¡ãã¬ã¼ã ããããã¡ãªã³ã°ããã585 * rx62n_start -- 送信フレームをバッファリングする。 611 586 */ 612 587 … … 659 634 660 635 /* 661 * RX62N Ethernet Controler éåä¿¡å²ãè¾¼ã¿ãã³ãã©636 * RX62N Ethernet Controler 送受信割り込みハンドラ 662 637 */ 663 638 … … 675 650 676 651 if (ecsr & ETHERC_ECSR_LCHNG) { 677 /* ETHERC é¨å²ãè¾¼ã¿è¦å ã¯ãªã¢*/652 /* ETHERC部割り込み要因クリア */ 678 653 sil_wrw_mem(ETHERC_ECSR, ETHERC_ECSR_LCHNG); 679 654 … … 681 656 sc->link_now = (psr & ETHERC_PSR_LMON) != 0; 682 657 683 /* ãªã³ã¯ç¶æ 684 ã«å¤åãã */ 658 /* リンク状態に変化あり */ 685 659 if (sc->link_pre != sc->link_now) { 686 /* åä¿¡å²ãè¾¼ã¿å¦ç*/660 /* 受信割り込み処理 */ 687 661 isig_sem(ic->semid_rxb_ready); 688 662 } … … 692 666 693 667 if (eesr & EDMAC_EESR_FR) { 694 /* DMA é¨å²ãè¾¼ã¿è¦å ã¯ãªã¢*/668 /* DMA部割り込み要因クリア */ 695 669 sil_wrw_mem(EDMAC_EESR, EDMAC_EESR_FR); 696 670 697 /* åä¿¡å²ãè¾¼ã¿å¦ç*/671 /* 受信割り込み処理 */ 698 672 isig_sem(ic->semid_rxb_ready); 699 673 } 700 674 if (eesr & EDMAC_EESR_TC) { 701 /* DMA é¨å²ãè¾¼ã¿è¦å ã¯ãªã¢*/675 /* DMA部割り込み要因クリア */ 702 676 sil_wrw_mem(EDMAC_EESR, EDMAC_EESR_TC); 703 677 704 /* éä¿¡å²ãè¾¼ã¿å¦ç*/678 /* 送信割り込み処理 */ 705 679 isig_sem(ic->semid_txb_ready); 706 680 } 707 681 if (eesr & (EDMAC_EESR_FROF | EDMAC_EESR_RDE)) { 708 /* DMA é¨å²ãè¾¼ã¿è¦å ã¯ãªã¢*/682 /* DMA部割り込み要因クリア */ 709 683 sil_wrw_mem(EDMAC_EESR, EDMAC_EESR_FROF | EDMAC_EESR_RDE); 710 684 711 685 sc->over_flow = true; 712 686 713 /* åä¿¡å²ãè¾¼ã¿å¦ç*/687 /* 受信割り込み処理 */ 714 688 isig_sem(ic->semid_rxb_ready); 715 689 } -
asp3_gr_sakura/trunk/tinet/netdev/if_rx62n/if_rx62n.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 6 6 * Copyright (C) 2014 Cores Co., Ltd. Japan 7 7 * 8 * ä¸è¨èä½æ¨©è 9 ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ 10 * ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹ 11 * å¤ã»åé 12 å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 13 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 14 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 15 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 16 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 17 * ç¨ã§ããå½¢ã§åé 18 å¸ããå ´åã«ã¯ï¼åé 19 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 20 * è 21 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 22 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 23 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 24 * ç¨ã§ããªãå½¢ã§åé 25 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 26 * ã¨ï¼ 27 * (a) åé 28 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 29 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 30 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 31 * (b) åé 32 å¸ã®å½¢æ 33 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 34 * å ±åãããã¨ï¼ 35 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 36 * 害ãããï¼ä¸è¨èä½æ¨©è 37 ããã³TOPPERSããã¸ã§ã¯ããå 38 責ãããã¨ï¼ 39 * ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç 40 * ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è 41 ããã³TOPPERSããã¸ã§ã¯ãã 42 * å 43 責ãããã¨ï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 44 30 * 45 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 46 ã 47 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 48 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 49 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 50 * ã®è²¬ä»»ãè² ããªãï¼ 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * @(#) $Id$ … … 54 39 55 40 /* 56 * if_rx62n ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«41 * if_rx62n コンフィギュレーションファイル 57 42 */ 58 43 … … 61 46 INCLUDE("<if_rx62nreg.h>"); 62 47 63 /* å²ãè¾¼ã¿ãã³ãã©*/48 /* 割り込みハンドラ */ 64 49 65 50 DEF_INH(INHNO_IF_RX62N_TRX, { TA_HLNG, if_rx62n_trx_handler }); 66 51 67 /* å 68 ¥åºååæç¨ã»ããã© */ 52 /* 入出力同期用セマフォ */ 69 53 70 54 CRE_SEM(SEM_IF_RX62N_SBUF_READY, { TA_TPRI, NUM_IF_RX62N_TXBUF, NUM_IF_RX62N_TXBUF }); -
asp3_gr_sakura/trunk/tinet/netdev/if_rx62n/if_rx62n.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 6 6 * Copyright (C) 2014 Cores Co., Ltd. Japan 7 7 * 8 * ä¸è¨èä½æ¨©è 9 ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ 10 * ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹ 11 * å¤ã»åé 12 å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 13 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 14 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 15 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 16 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 17 * ç¨ã§ããå½¢ã§åé 18 å¸ããå ´åã«ã¯ï¼åé 19 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 20 * è 21 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 22 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 23 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 24 * ç¨ã§ããªãå½¢ã§åé 25 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 26 * ã¨ï¼ 27 * (a) åé 28 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 29 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 30 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 31 * (b) åé 32 å¸ã®å½¢æ 33 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 34 * å ±åãããã¨ï¼ 35 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 36 * 害ãããï¼ä¸è¨èä½æ¨©è 37 ããã³TOPPERSããã¸ã§ã¯ããå 38 責ãããã¨ï¼ 39 * ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç 40 * ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è 41 ããã³TOPPERSããã¸ã§ã¯ãã 42 * å 43 責ãããã¨ï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 44 30 * 45 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 46 ã 47 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 48 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 49 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 50 * ã®è²¬ä»»ãè² ããªãï¼ 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * @(#) $Id$ … … 66 51 67 52 /* 68 * NIC ã®é¸æãã¯ã53 * NIC の選択マクロ 69 54 */ 70 55 … … 79 64 #define T_IF_ETHER_NIC_SOFTC struct t_rx62n_softc 80 65 81 /* IPv6 é¢ä¿*/66 /* IPv6 関係 */ 82 67 83 #define IF_ETHER_NIC_IN6_IFID(i,a) get_mac6_ifid(i,a) /* ã¤ã³ã¿ãã§ã¼ã¹èå¥åã®è¨å®*/84 #define IF_ETHER_NIC_ADDMULTI(s) rx62n_addmulti(s) /* ãã«ããã£ã¹ãã¢ãã¬ã¹ã®ç»é²*/68 #define IF_ETHER_NIC_IN6_IFID(i,a) get_mac6_ifid(i,a) /* インタフェース識別子の設定 */ 69 #define IF_ETHER_NIC_ADDMULTI(s) rx62n_addmulti(s) /* マルチキャストアドレスの登録 */ 85 70 86 71 #if !defined(TOPPERS_MACRO_ONLY) && !defined(_MACRO_ONLY) 87 72 88 73 /* 89 * åæ¹åç 90 § 74 * 前方参照 91 75 */ 92 76 … … 108 92 109 93 /* 110 * é¢æ°94 * 関数 111 95 */ 112 96 -
asp3_gr_sakura/trunk/tinet/netdev/if_rx62n/if_rx62n_sym.def
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
-
asp3_gr_sakura/trunk/tinet/netdev/if_rx62n/if_rx62nreg.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 6 6 * Copyright (C) 2014-2015 Cores Co., Ltd. Japan 7 7 * 8 * ä¸è¨èä½æ¨©è 9 ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ 10 * ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹ 11 * å¤ã»åé 12 å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 13 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 14 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 15 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 16 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 17 * ç¨ã§ããå½¢ã§åé 18 å¸ããå ´åã«ã¯ï¼åé 19 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 20 * è 21 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 22 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 23 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 24 * ç¨ã§ããªãå½¢ã§åé 25 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 26 * ã¨ï¼ 27 * (a) åé 28 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 29 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 30 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 31 * (b) åé 32 å¸ã®å½¢æ 33 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 34 * å ±åãããã¨ï¼ 35 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 36 * 害ãããï¼ä¸è¨èä½æ¨©è 37 ããã³TOPPERSããã¸ã§ã¯ããå 38 責ãããã¨ï¼ 39 * ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç 40 * ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è 41 ããã³TOPPERSããã¸ã§ã¯ãã 42 * å 43 責ãããã¨ï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 44 30 * 45 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 46 ã 47 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 48 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 49 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 50 * ã®è²¬ä»»ãè² ããªãï¼ 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * @(#) $Id$ … … 58 43 #include "t_stddef.h" 59 44 60 #define EDMAC_EDMR ((uint32_t *)0x000C0000) /* EDMAC ã¢ã¼ãã¬ã¸ã¹ã¿*/45 #define EDMAC_EDMR ((uint32_t *)0x000C0000) /* EDMACモードレジスタ */ 61 46 #define EDMAC_EDMR_SWR_BIT 0x00000001 62 47 #define EDMAC_EDMR_DE_BIT 0x00000040 63 48 64 #define EDMAC_EDTRR ((uint32_t *)0x000C0008) /* EDMAC éä¿¡è¦æ±ã¬ã¸ã¹ã¿*/49 #define EDMAC_EDTRR ((uint32_t *)0x000C0008) /* EDMAC送信要求レジスタ */ 65 50 #define EDMAC_EDTRR_TR 0x00000001 66 51 67 #define EDMAC_EDRRR ((uint32_t *)0x000C0010) /* EDMAC åä¿¡è¦æ±ã¬ã¸ã¹ã¿*/52 #define EDMAC_EDRRR ((uint32_t *)0x000C0010) /* EDMAC受信要求レジスタ */ 68 53 #define EDMAC_EDRRR_RR 0x00000001 69 54 70 #define EDMAC_TDLAR ((uint32_t *)0x000C0018) /* éä¿¡ãã£ã¹ã¯ãªãã¿ãªã¹ãå 71 é ã¢ãã¬ã¹ã¬ã¸ã¹ã¿ */ 72 #define EDMAC_RDLAR ((uint32_t *)0x000C0020) /* åä¿¡ãã£ã¹ã¯ãªãã¿ãªã¹ãå 73 é ã¢ãã¬ã¹ã¬ã¸ã¹ã¿ */ 55 #define EDMAC_TDLAR ((uint32_t *)0x000C0018) /* 送信ディスクリプタリスト先頭アドレスレジスタ */ 56 #define EDMAC_RDLAR ((uint32_t *)0x000C0020) /* 受信ディスクリプタリスト先頭アドレスレジスタ */ 74 57 75 #define EDMAC_EESR ((uint32_t *)0x000C0028) /* ETHERC/EDMAC ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿*/58 #define EDMAC_EESR ((uint32_t *)0x000C0028) /* ETHERC/EDMACステータスレジスタ */ 76 59 #define EDMAC_EESR_FROF 0x00010000 77 60 #define EDMAC_EESR_RDE 0x00020000 … … 80 63 #define EDMAC_EESR_TWB 0x40000000 81 64 82 #define EDMAC_EESIPR ((uint32_t *)0x000C0030) /* ETHERC/EDMAC ã¹ãã¼ã¿ã¹å²ãè¾¼ã¿è¨±å¯ã¬ã¸ã¹ã¿*/65 #define EDMAC_EESIPR ((uint32_t *)0x000C0030) /* ETHERC/EDMACステータス割り込み許可レジスタ */ 83 66 #define EDMAC_EESIPR_RMAFIP 0x00000080 84 67 #define EDMAC_EESIPR_FROFIP 0x00010000 … … 88 71 #define EDMAC_EESIPR_TWBIP 0x40000000 89 72 90 #define EDMAC_TRSCER ((uint32_t *)0x000C0038) /* éåä¿¡ã¹ãã¼ã¿ã¹ã³ãã¼æ示ã¬ã¸ã¹ã¿ */ 91 #define EDMAC_RMFCR ((uint32_t *)0x000C0040) /* ãã¹ããã¬ã¼ã ã«ã¦ã³ã¿ã¬ã¸ã¹ã¿ */ 92 #define EDMAC_TFTR ((uint32_t *)0x000C0048) /* éä¿¡FIFOãããå¤æå®ã¬ã¸ã¹ã¿ */ 93 #define EDMAC_FDR ((uint32_t *)0x000C0050) /* FIFO容éæå®ã¬ã¸ã¹ã¿ */ 94 #define EDMAC_RMCR ((uint32_t *)0x000C0058) /* åä¿¡æ¹å¼å¶å¾¡ã¬ã¸ã¹ã¿ */ 95 #define EDMAC_TFUCR ((uint32_t *)0x000C0064) /* éä¿¡FIFOã¢ã³ãã©ã³ã«ã¦ã³ã */ 96 #define EDMAC_RFOCR ((uint32_t *)0x000C0068) /* åä¿¡FIFOãªã¼ãããã¼ã«ã¦ã³ã */ 97 #define EDMAC_IOSR ((uint32_t *)0x000C006C) /* åå¥åºåä¿¡å·è¨å®ã¬ã¸ã¹ã¿ */ 98 #define EDMAC_FCFTR ((uint32_t *)0x000C0070) /* ããã¼å¶å¾¡éå§FIFOãããå¤è¨å®ã¬ã¸ã¹ã¿ */ 99 #define EDMAC_RPADIR ((uint32_t *)0x000C0078) /* åä¿¡ãã¼ã¿ããã£ã³ã°æ¿å 100 ¥è¨å®ã¬ã¸ã¹ã¿ */ 101 #define EDMAC_TRIMD ((uint32_t *)0x000C007C) /* éä¿¡å²ãè¾¼ã¿è¨å®ã¬ã¸ã¹ã¿ */ 102 #define EDMAC_RBWAR ((uint32_t *)0x000C00C8) /* åä¿¡ãããã¡ã©ã¤ãã¢ãã¬ã¹ã¬ã¸ã¹ã¿ */ 103 #define EDMAC_RDFAR ((uint32_t *)0x000C00CC) /* åä¿¡ãã£ã¹ã¯ãªãã¿ãã§ããã¢ãã¬ã¹ã¬ã¸ã¹ã¿ */ 104 #define EDMAC_TBRAR ((uint32_t *)0x000C00D4) /* éä¿¡ãããã¡ãªã¼ãã¢ãã¬ã¹ã¬ã¸ã¹ã¿ */ 105 #define EDMAC_TDFAR ((uint32_t *)0x000C00D8) /* éä¿¡ãã£ã¹ã¯ãªãã¿ãã§ããã¢ãã¬ã¹ã¬ã¸ã¹ã¿ */ 73 #define EDMAC_TRSCER ((uint32_t *)0x000C0038) /* 送受信ステータスコピー指示レジスタ */ 74 #define EDMAC_RMFCR ((uint32_t *)0x000C0040) /* ミスドフレームカウンタレジスタ */ 75 #define EDMAC_TFTR ((uint32_t *)0x000C0048) /* 送信FIFOしきい値指定レジスタ */ 76 #define EDMAC_FDR ((uint32_t *)0x000C0050) /* FIFO容量指定レジスタ */ 77 #define EDMAC_RMCR ((uint32_t *)0x000C0058) /* 受信方式制御レジスタ */ 78 #define EDMAC_TFUCR ((uint32_t *)0x000C0064) /* 送信FIFOアンダランカウント */ 79 #define EDMAC_RFOCR ((uint32_t *)0x000C0068) /* 受信FIFOオーバフローカウント */ 80 #define EDMAC_IOSR ((uint32_t *)0x000C006C) /* 個別出力信号設定レジスタ */ 81 #define EDMAC_FCFTR ((uint32_t *)0x000C0070) /* フロー制御開始FIFOしきい値設定レジスタ */ 82 #define EDMAC_RPADIR ((uint32_t *)0x000C0078) /* 受信データパディング挿入設定レジスタ */ 83 #define EDMAC_TRIMD ((uint32_t *)0x000C007C) /* 送信割り込み設定レジスタ */ 84 #define EDMAC_RBWAR ((uint32_t *)0x000C00C8) /* 受信バッファライトアドレスレジスタ */ 85 #define EDMAC_RDFAR ((uint32_t *)0x000C00CC) /* 受信ディスクリプタフェッチアドレスレジスタ */ 86 #define EDMAC_TBRAR ((uint32_t *)0x000C00D4) /* 送信バッファリードアドレスレジスタ */ 87 #define EDMAC_TDFAR ((uint32_t *)0x000C00D8) /* 送信ディスクリプタフェッチアドレスレジスタ */ 106 88 107 #define ETHERC_ECMR ((uint32_t *)0x000C0100) /* ETHERC ã¢ã¼ãã¬ã¸ã¹ã¿*/89 #define ETHERC_ECMR ((uint32_t *)0x000C0100) /* ETHERCモードレジスタ */ 108 90 #define ETHERC_ECMR_PRM 0x00000001 109 91 #define ETHERC_ECMR_DM 0x00000002 … … 112 94 #define ETHERC_ECMR_RE 0x00000040 113 95 114 #define ETHERC_RFLR ((uint32_t *)0x000C0108) /* åä¿¡ãã¬ã¼ã é·ä¸éã¬ã¸ã¹ã¿*/115 #define ETHERC_ECSR ((uint32_t *)0x000C0110) /* ETHERC ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿*/96 #define ETHERC_RFLR ((uint32_t *)0x000C0108) /* 受信フレーム長上限レジスタ */ 97 #define ETHERC_ECSR ((uint32_t *)0x000C0110) /* ETHERCステータスレジスタ */ 116 98 #define ETHERC_ECSR_LCHNG 0x00000004 117 #define ETHERC_ECSIPR ((uint32_t *)0x000C0118) /* ETHERC å²ãè¾¼ã¿è¨±å¯ã¬ã¸ã¹ã¿*/99 #define ETHERC_ECSIPR ((uint32_t *)0x000C0118) /* ETHERC割り込み許可レジスタ */ 118 100 #define ETHERC_ECSIPR_LCHNGIP 0x00000004 119 #define ETHERC_PIR ((uint32_t *)0x000C0120) /* PHY é¨ã¤ã³ã¿ãã§ã¼ã¹ã¬ã¸ã¹ã¿*/101 #define ETHERC_PIR ((uint32_t *)0x000C0120) /* PHY部インタフェースレジスタ */ 120 102 #define ETHERC_PIR_MDC 0x00000001 121 103 #define ETHERC_PIR_MMD 0x00000002 … … 123 105 #define ETHERC_PIR_MDI 0x00000008 124 106 125 #define ETHERC_PSR ((uint32_t *)0x000C0128) /* PHY é¨ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿*/107 #define ETHERC_PSR ((uint32_t *)0x000C0128) /* PHY部ステータスレジスタ */ 126 108 #define ETHERC_PSR_LMON 0x00000001 127 109 128 #define ETHERC_RDMLR ((uint32_t *)0x000C0140) /* ä¹±æ°çæã«ã¦ã³ã¿ä¸éå¤è¨å®ã¬ã¸ã¹ã¿ */ 129 #define ETHERC_IPGR ((uint32_t *)0x000C0150) /* IPGè¨å®ã¬ã¸ã¹ã¿ */ 130 #define ETHERC_APR ((uint32_t *)0x000C0154) /* èªåPAUSEãã¬ã¼ã è¨å®ã¬ã¸ã¹ã¿ */ 131 #define ETHERC_MPR ((uint32_t *)0x000C0158) /* æåPAUSEãã¬ã¼ã è¨å®ã¬ã¸ã¹ã¿ */ 132 #define ETHERC_RFCF ((uint32_t *)0x000C0160) /* åä¿¡PAUSEãã¬ã¼ã ã«ã¦ã³ã¿ */ 133 #define ETHERC_TPAUSER ((uint32_t *)0x000C0164) /* èªåPAUSEãã¬ã¼ã åéåæ°è¨å®ã¬ã¸ã¹ã¿ */ 134 #define ETHERC_TPAUSECR ((uint32_t *)0x000C0168) /* PAUSEãã¬ã¼ã åéåæ°ã«ã¦ã³ã¿ */ 135 #define ETHERC_BCFRR ((uint32_t *)0x000C016C) /* Broadcastãã¬ã¼ã åä¿¡åæ°è¨å®ã¬ã¸ã¹ã¿ */ 136 #define ETHERC_MAHR ((uint32_t *)0x000C01C0) /* MACã¢ãã¬ã¹ä¸ä½è¨å®ã¬ã¸ã¹ã¿ */ 137 #define ETHERC_MALR ((uint32_t *)0x000C01C8) /* MACã¢ãã¬ã¹ä¸ä½è¨å®ã¬ã¸ã¹ã¿ */ 138 #define ETHERC_TROCR ((uint32_t *)0x000C01D0) /* éä¿¡ãªãã©ã¤ãªã¼ãã«ã¦ã³ã¿ã¬ã¸ã¹ã¿ */ 139 #define ETHERC_CDCR ((uint32_t *)0x000C01D4) /* é 140 延è¡çªæ¤åºã«ã¦ã³ã¿ã¬ã¸ã¹ã¿ */ 141 #define ETHERC_LCCR ((uint32_t *)0x000C01D8) /* ãã£ãªã¢æ¶å¤±ã«ã¦ã³ã¿ã¬ã¸ã¹ã¿ */ 142 #define ETHERC_CNDCR ((uint32_t *)0x000C01DC) /* ãã£ãªã¢æªæ¤åºã«ã¦ã³ã¿ã¬ã¸ã¹ã¿ */ 143 #define ETHERC_CEFCR ((uint32_t *)0x000C01E4) /* CRCã¨ã©ã¼ãã¬ã¼ã åä¿¡ã«ã¦ã³ã¿ã¬ã¸ã¹ã¿ */ 144 #define ETHERC_FRECR ((uint32_t *)0x000C01E8) /* ãã¬ã¼ã åä¿¡ã¨ã©ã¼ã«ã¦ã³ã¿ã¬ã¸ã¹ã¿ */ 145 #define ETHERC_TSFRCR ((uint32_t *)0x000C01EC) /* 64ãã¤ãæªæºãã¬ã¼ã åä¿¡ã«ã¦ã³ã¿ã¬ã¸ã¹ã¿ */ 146 #define ETHERC_TLFRCR ((uint32_t *)0x000C01F0) /* æå®ãã¤ãè¶ 147 ãã¬ã¼ã åä¿¡ã«ã¦ã³ã¿ã¬ã¸ã¹ã¿ */ 148 #define ETHERC_RFCR ((uint32_t *)0x000C01F4) /* 端æ°ããããã¬ã¼ã åä¿¡ã«ã¦ã³ã¿ã¬ã¸ã¹ã¿ */ 149 #define ETHERC_MAFCR ((uint32_t *)0x000C01F8) /* ãã«ããã£ã¹ãã¢ãã¬ã¹ãã¬ã¼ã åä¿¡ã«ã¦ã³ã¿ã¬ã¸ã¹ã¿ */ 110 #define ETHERC_RDMLR ((uint32_t *)0x000C0140) /* 乱数生成カウンタ上限値設定レジスタ */ 111 #define ETHERC_IPGR ((uint32_t *)0x000C0150) /* IPG設定レジスタ */ 112 #define ETHERC_APR ((uint32_t *)0x000C0154) /* 自動PAUSEフレーム設定レジスタ */ 113 #define ETHERC_MPR ((uint32_t *)0x000C0158) /* 手動PAUSEフレーム設定レジスタ */ 114 #define ETHERC_RFCF ((uint32_t *)0x000C0160) /* 受信PAUSEフレームカウンタ */ 115 #define ETHERC_TPAUSER ((uint32_t *)0x000C0164) /* 自動PAUSEフレーム再送回数設定レジスタ */ 116 #define ETHERC_TPAUSECR ((uint32_t *)0x000C0168) /* PAUSEフレーム再送回数カウンタ */ 117 #define ETHERC_BCFRR ((uint32_t *)0x000C016C) /* Broadcastフレーム受信回数設定レジスタ */ 118 #define ETHERC_MAHR ((uint32_t *)0x000C01C0) /* MACアドレス上位設定レジスタ */ 119 #define ETHERC_MALR ((uint32_t *)0x000C01C8) /* MACアドレス下位設定レジスタ */ 120 #define ETHERC_TROCR ((uint32_t *)0x000C01D0) /* 送信リトライオーバカウンタレジスタ */ 121 #define ETHERC_CDCR ((uint32_t *)0x000C01D4) /* 遅延衝突検出カウンタレジスタ */ 122 #define ETHERC_LCCR ((uint32_t *)0x000C01D8) /* キャリア消失カウンタレジスタ */ 123 #define ETHERC_CNDCR ((uint32_t *)0x000C01DC) /* キャリア未検出カウンタレジスタ */ 124 #define ETHERC_CEFCR ((uint32_t *)0x000C01E4) /* CRCエラーフレーム受信カウンタレジスタ */ 125 #define ETHERC_FRECR ((uint32_t *)0x000C01E8) /* フレーム受信エラーカウンタレジスタ */ 126 #define ETHERC_TSFRCR ((uint32_t *)0x000C01EC) /* 64バイト未満フレーム受信カウンタレジスタ */ 127 #define ETHERC_TLFRCR ((uint32_t *)0x000C01F0) /* 指定バイト超フレーム受信カウンタレジスタ */ 128 #define ETHERC_RFCR ((uint32_t *)0x000C01F4) /* 端数ビットフレーム受信カウンタレジスタ */ 129 #define ETHERC_MAFCR ((uint32_t *)0x000C01F8) /* マルチキャストアドレスフレーム受信カウンタレジスタ */ 150 130 151 /* éä¿¡ãã£ã¹ã¯ãªãã¿*/131 /* 送信ディスクリプタ */ 152 132 typedef struct t_rx62n_tx_desc { 153 133 uint32_t tfs : 26; … … 163 143 } T_RX62N_TX_DESC; 164 144 165 /* åä¿¡ãã£ã¹ã¯ãªãã¿*/145 /* 受信ディスクリプタ */ 166 146 typedef struct t_rx62n_rx_desc { 167 147 uint32_t rfs : 27; -
asp3_gr_sakura/trunk/tinet/netdev/if_rx62n/nic.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 6 6 * Copyright (C) 2014 Cores Co., Ltd. Japan 7 7 * 8 * ä¸è¨èä½æ¨©è 9 ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ 10 * ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹ 11 * å¤ã»åé 12 å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 13 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 14 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 15 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 16 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 17 * ç¨ã§ããå½¢ã§åé 18 å¸ããå ´åã«ã¯ï¼åé 19 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 20 * è 21 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 22 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 23 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 24 * ç¨ã§ããªãå½¢ã§åé 25 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 26 * ã¨ï¼ 27 * (a) åé 28 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 29 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 30 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 31 * (b) åé 32 å¸ã®å½¢æ 33 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 34 * å ±åãããã¨ï¼ 35 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 36 * 害ãããï¼ä¸è¨èä½æ¨©è 37 ããã³TOPPERSããã¸ã§ã¯ããå 38 責ãããã¨ï¼ 39 * ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç 40 * ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è 41 ããã³TOPPERSããã¸ã§ã¯ãã 42 * å 43 責ãããã¨ï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 44 30 * 45 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 46 ã 47 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 48 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 49 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 50 * ã®è²¬ä»»ãè² ããªãï¼ 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * @(#) $Id$ -
asp3_gr_sakura/trunk/tinet/netdev/if_rx62n/nic_asp.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 6 6 * Copyright (C) 2014 Cores Co., Ltd. Japan 7 7 * 8 * ä¸è¨èä½æ¨©è 9 ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ 10 * ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹ 11 * å¤ã»åé 12 å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 13 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 14 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 15 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 16 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 17 * ç¨ã§ããå½¢ã§åé 18 å¸ããå ´åã«ã¯ï¼åé 19 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 20 * è 21 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 22 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 23 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 24 * ç¨ã§ããªãå½¢ã§åé 25 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 26 * ã¨ï¼ 27 * (a) åé 28 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 29 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 30 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 31 * (b) åé 32 å¸ã®å½¢æ 33 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 34 * å ±åãããã¨ï¼ 35 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 36 * 害ãããï¼ä¸è¨èä½æ¨©è 37 ããã³TOPPERSããã¸ã§ã¯ããå 38 責ãããã¨ï¼ 39 * ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç 40 * ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è 41 ããã³TOPPERSããã¸ã§ã¯ãã 42 * å 43 責ãããã¨ï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 44 30 * 45 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 46 ã 47 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 48 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 49 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 50 * ã®è²¬ä»»ãè² ããªãï¼ 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * @(#) $Id$ … … 54 39 55 40 /* 56 * if_rx62n ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«41 * if_rx62n コンフィギュレーションファイル 57 42 */ 58 43 … … 61 46 #include "if_rx62nreg.h" 62 47 63 /* å²ãè¾¼ã¿ãã³ãã©*/48 /* 割り込みハンドラ */ 64 49 65 50 DEF_INH(INHNO_IF_RX62N_TRX, { TA_NULL, if_rx62n_trx_handler }); 66 51 CFG_INT(INTNO_IF_RX62N_TRX, { INTATR_IF_RX62N_TRX, INTPRI_IF_RX62N_TRX }); 67 52 68 /* å 69 ¥åºååæç¨ã»ããã© */ 53 /* 入出力同期用セマフォ */ 70 54 71 55 CRE_SEM(SEM_IF_RX62N_SBUF_READY, { TA_TPRI, NUM_IF_RX62N_TXBUF, NUM_IF_RX62N_TXBUF }); -
asp3_gr_sakura/trunk/tinet/netdev/if_rx62n/nic_rename.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 6 6 * Copyright (C) 2014 Cores Co., Ltd. Japan 7 7 * 8 * ä¸è¨èä½æ¨©è 9 ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ 10 * ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹ 11 * å¤ã»åé 12 å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 13 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 14 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 15 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 16 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 17 * ç¨ã§ããå½¢ã§åé 18 å¸ããå ´åã«ã¯ï¼åé 19 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 20 * è 21 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 22 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 23 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 24 * ç¨ã§ããªãå½¢ã§åé 25 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 26 * ã¨ï¼ 27 * (a) åé 28 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 29 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 30 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 31 * (b) åé 32 å¸ã®å½¢æ 33 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 34 * å ±åãããã¨ï¼ 35 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 36 * 害ãããï¼ä¸è¨èä½æ¨©è 37 ããã³TOPPERSããã¸ã§ã¯ããå 38 責ãããã¨ï¼ 39 * ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç 40 * ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è 41 ããã³TOPPERSããã¸ã§ã¯ãã 42 * å 43 責ãããã¨ï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 44 30 * 45 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 46 ã 47 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 48 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 49 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 50 * ã®è²¬ä»»ãè² ããªãï¼ 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * @(#) $Id$ … … 57 42 58 43 /* 59 * ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹å 60 é¨åã®ãªãã¼ã 44 * ネットワークインタフェース内部名のリネーム 61 45 */ 62 46 -
asp3_gr_sakura/trunk/tinet/netdev/if_rx62n/tinet_nic_config.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 6 6 * Copyright (C) 2014 Cores Co., Ltd. Japan 7 7 * 8 * ä¸è¨èä½æ¨©è 9 ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ 10 * ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹ 11 * å¤ã»åé 12 å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 13 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 14 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 15 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 16 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 17 * ç¨ã§ããå½¢ã§åé 18 å¸ããå ´åã«ã¯ï¼åé 19 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 20 * è 21 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 22 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 23 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 24 * ç¨ã§ããªãå½¢ã§åé 25 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 26 * ã¨ï¼ 27 * (a) åé 28 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 29 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 30 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 31 * (b) åé 32 å¸ã®å½¢æ 33 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 34 * å ±åãããã¨ï¼ 35 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 36 * 害ãããï¼ä¸è¨èä½æ¨©è 37 ããã³TOPPERSããã¸ã§ã¯ããå 38 責ãããã¨ï¼ 39 * ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç 40 * ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è 41 ããã³TOPPERSããã¸ã§ã¯ãã 42 * å 43 責ãããã¨ï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 44 30 * 45 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 46 ã 47 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 48 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 49 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 50 * ã®è²¬ä»»ãè² ããªãï¼ 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * @(#) $Id$ … … 57 42 58 43 /* 59 * ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã®å 60 é¨èå¥åã®ãªãã¼ã 44 * ネットワークインタフェースの内部識別名のリネーム 61 45 */ 62 46 -
asp3_gr_sakura/trunk/tinet/netdev/if_rx62n/tinet_nic_defs.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 6 6 * Copyright (C) 2014 Cores Co., Ltd. Japan 7 7 * 8 * ä¸è¨èä½æ¨©è 9 ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ 10 * ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹ 11 * å¤ã»åé 12 å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 13 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 14 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 15 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 16 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 17 * ç¨ã§ããå½¢ã§åé 18 å¸ããå ´åã«ã¯ï¼åé 19 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 20 * è 21 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 22 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 23 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 24 * ç¨ã§ããªãå½¢ã§åé 25 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 26 * ã¨ï¼ 27 * (a) åé 28 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 29 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 30 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 31 * (b) åé 32 å¸ã®å½¢æ 33 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 34 * å ±åãããã¨ï¼ 35 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 36 * 害ãããï¼ä¸è¨èä½æ¨©è 37 ããã³TOPPERSããã¸ã§ã¯ããå 38 責ãããã¨ï¼ 39 * ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç 40 * ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è 41 ããã³TOPPERSããã¸ã§ã¯ãã 42 * å 43 責ãããã¨ï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 44 30 * 45 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 46 ã 47 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 48 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 49 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 50 * ã®è²¬ä»»ãè² ããªãï¼ 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * @(#) $Id$ … … 57 42 58 43 /* 59 * T_ETHER_HDR ã§ãã¢ã©ã¤ã³ã調æ´ããå ´åã¯ã調æ´éãæå®ããã60 * 調æ´ããªãå ´åã¯ã0 ãæå®ããã44 * T_ETHER_HDR で、アラインを調整する場合は、調整量を指定する。 45 * 調整しない場合は、0 を指定する。 61 46 */ 62 47 #define IF_ETHER_NIC_HDR_ALIGN 0 -
asp3_gr_sakura/trunk/tinet/netinet/icmp6.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 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 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 115 103 116 104 /* 117 * ICMPv6 ããã105 * ICMPv6 ヘッダ 118 106 */ 119 107 120 108 typedef struct t_icmp6_hdr { 121 uint8_t type; /* ã¡ãã»ã¼ã¸ã®å*/122 uint8_t code; /* ãµãå*/123 uint16_t sum; /* ãã§ãã¯ãµã*/109 uint8_t type; /* メッセージの型 */ 110 uint8_t code; /* サブ型 */ 111 uint16_t sum; /* チェックサム */ 124 112 union { 125 113 uint32_t data32; … … 132 120 #define icmp6_data16 data.data16 133 121 #define icmp6_data8 data.data8 134 #define icmp6_pptr data.data32 /* ãã©ã¡ã¼ã¿ç°å¸¸*/135 #define icmp6_mtu data.data32 /* ãã©ã¡ã¼ã¿ç°å¸¸*/136 #define icmp6_id data.data16[0] /* ã¨ã³ã¼è¦æ±ã¨å¿ç*/137 #define icmp6_seq data.data16[1] /* ã¨ã³ã¼è¦æ±ã¨å¿ç*/122 #define icmp6_pptr data.data32 /* パラメータ異常 */ 123 #define icmp6_mtu data.data32 /* パラメータ異常 */ 124 #define icmp6_id data.data16[0] /* エコー要求と応答 */ 125 #define icmp6_seq data.data16[1] /* エコー要求と応答 */ 138 126 139 127 #define ICMP6_HDR_SIZE (sizeof(T_ICMP6_HDR)) … … 147 135 148 136 /* 149 * ICMP6 ã¿ã¤ã 150 */ 151 152 #define ICMP6_DST_UNREACH UINT_C(1) /* å®å 153 å°éä¸å¯è½ */ 154 #define ICMP6_PACKET_TOO_BIG UINT_C(2) /* ãã±ããã大ããããã */ 155 #define ICMP6_TIME_EXCEEDED UINT_C(3) /* TTL ãè¶ 156 éããã */ 157 #define ICMP6_PARAM_PROB UINT_C(4) /* IPv6 ããããä¸æ£ã */ 158 159 #define ICMP6_ECHO_REQUEST UINT_C(128) /* ã¨ã³ã¼è¦æ± */ 160 #define ICMP6_ECHO_REPLY UINT_C(129) /* ã¨ã³ã¼å¿ç */ 161 162 #define ICMP6_MEMBERSHIP_QUERY UINT_C(130) /* ã°ã«ã¼ãã¡ã³ãç 163 §ä¼ */ 164 #define ICMP6_MEMBERSHIP_REPORT UINT_C(131) /* ã°ã«ã¼ãã¡ã³ãå ±å */ 165 #define ICMP6_MEMBERSHIP_REDUCTION UINT_C(132) /* ã°ã«ã¼ãã¡ã³ãçµäº */ 166 167 #define MLD_LISTENER_QUERY UINT_C(130) /* ãã«ããã£ã¹ãåä¿¡è 168 ç 169 §ä¼ */ 170 #define MLD_LISTENER_REPORT UINT_C(131) /* ãã«ããã£ã¹ãåä¿¡è 171 å ±å */ 172 #define MLD_LISTENER_DONE UINT_C(132) /* ãã«ããã£ã¹ãåä¿¡è 173 çµäº */ 174 175 #define ND_ROUTER_SOLICIT UINT_C(133) /* ã«ã¼ã¿è¦è« */ 176 #define ND_ROUTER_ADVERT UINT_C(134) /* ã«ã¼ã¿éç¥ */ 177 #define ND_NEIGHBOR_SOLICIT UINT_C(135) /* è¿é£è¦è« */ 178 #define ND_NEIGHBOR_ADVERT UINT_C(136) /* è¿é£éç¥ */ 179 #define ND_REDIRECT UINT_C(137) /* åãç´ã */ 180 181 #define ICMP6_ROUTER_RENUMBERING UINT_C(138) /* ã«ã¼ã¿çªå·åè¨å® */ 182 183 #define ICMP6_WRU_REQUEST UINT_C(139) /* è¦æ±ãã¼ãæ¢ç´¢ */ 184 #define ICMP6_WRU_REPLY UINT_C(140) /* å¿çãã¼ãæ¢ç´¢ */ 185 186 #define ICMP6_FQDN_QUERY UINT_C(139) /* FQDN ç 187 §ä¼ */ 188 #define ICMP6_FQDN_REPLY UINT_C(140) /* FQDN å¿ç */ 189 190 #define ICMP6_NI_QUERY UINT_C(139) /* ãã¼ãæ 191 å ±ç 192 §ä¼ */ 193 #define ICMP6_NI_REPLY UINT_C(140) /* ãã¼ãæ 194 å ±å¿ç */ 195 196 #define ICMP6_MAX_TYPE UINT_C(203) /* ICMP6 ã¿ã¤ãã®æå¤§å¤ */ 197 198 /* 199 * ICMP6 ã³ã¼ã 200 */ 201 202 /* å®å 203 å°éä¸å¯è½ */ 204 205 #define ICMP6_DST_UNREACH_NOROUTE UINT_C(0) /* å°éã«ã¼ããªãã */ 206 #define ICMP6_DST_UNREACH_ADMIN UINT_C(1) /* 管çè 207 ã«ããç¡å¹åä¸ã */ 208 #define ICMP6_DST_UNREACH_NOTEIGHBOR UINT_C(2) /* è¿é£è 209 ã§ã¯ãªããªã£ãã */ 210 #define ICMP6_DST_UNREACH_BEYOND_SCOPE UINT_C(2) /* ã¹ã³ã¼ããè¶ 211 ãã¦ããã */ 212 #define ICMP6_DST_UNREACH_ADDR UINT_C(3) /* å®å 213 ã¢ãã¬ã¹ã«å°éä¸å¯è½ã */ 214 #define ICMP6_DST_UNREACH_NOPORT UINT_C(4) /* å®å 215 ãã¼ãã«å°éä¸å¯è½ã */ 216 217 /* TTL è¶ 218 é */ 219 220 #define ICMP6_TIME_EXCEED_TRANSIT UINT_C(0) /* 転éæã« TTL==0 ã«ãªã£ãã */ 221 #define ICMP6_TIME_EXCEED_REASSEMBLY UINT_C(1) /* IP åæ§æã§ã¿ã¤ã ã¢ã¦ãããã*/ 222 223 /* ãããä¸æ£ */ 224 225 #define ICMP6_PARAMPROB_HEADER UINT_C(0) /* ãããã«ä¸æ£ããã£ãã */ 226 #define ICMP6_PARAMPROB_NEXT_HEADER UINT_C(1) /* 次ããããèªèã§ããªãã */ 227 #define ICMP6_PARAMPROB_OPTION UINT_C(2) /* ãªãã·ã§ã³ãèªèã§ããªãã */ 228 229 /* å 230 é¨ä½¿ç¨ */ 231 #define ND_REDIRECT_ONLINK UINT_C(0) /* ãªã³ãªã³ã¯ã¸ã®åãç´ã */ 232 #define ND_REDIRECT_ROUTER UINT_C(1) /* ã«ã¼ã¿ã¸ã®åãç´ã */ 233 234 /* 235 * å¶éå¤ 236 */ 237 238 /* ICMPv6 ã®æ大ãã¤ãã¼ãé· */ 137 * ICMP6 タイプ 138 */ 139 140 #define ICMP6_DST_UNREACH UINT_C(1) /* 宛先到達不可能 */ 141 #define ICMP6_PACKET_TOO_BIG UINT_C(2) /* パケットが大きすぎる。 */ 142 #define ICMP6_TIME_EXCEEDED UINT_C(3) /* TTL を超過した。 */ 143 #define ICMP6_PARAM_PROB UINT_C(4) /* IPv6 ヘッダが不正。 */ 144 145 #define ICMP6_ECHO_REQUEST UINT_C(128) /* エコー要求 */ 146 #define ICMP6_ECHO_REPLY UINT_C(129) /* エコー応答 */ 147 148 #define ICMP6_MEMBERSHIP_QUERY UINT_C(130) /* グループメンバ照会 */ 149 #define ICMP6_MEMBERSHIP_REPORT UINT_C(131) /* グループメンバ報告 */ 150 #define ICMP6_MEMBERSHIP_REDUCTION UINT_C(132) /* グループメンバ終了 */ 151 152 #define MLD_LISTENER_QUERY UINT_C(130) /* マルチキャスト受信者照会 */ 153 #define MLD_LISTENER_REPORT UINT_C(131) /* マルチキャスト受信者報告 */ 154 #define MLD_LISTENER_DONE UINT_C(132) /* マルチキャスト受信者終了 */ 155 156 #define ND_ROUTER_SOLICIT UINT_C(133) /* ルータ要請 */ 157 #define ND_ROUTER_ADVERT UINT_C(134) /* ルータ通知 */ 158 #define ND_NEIGHBOR_SOLICIT UINT_C(135) /* 近隣要請 */ 159 #define ND_NEIGHBOR_ADVERT UINT_C(136) /* 近隣通知 */ 160 #define ND_REDIRECT UINT_C(137) /* 向け直し */ 161 162 #define ICMP6_ROUTER_RENUMBERING UINT_C(138) /* ルータ番号再設定 */ 163 164 #define ICMP6_WRU_REQUEST UINT_C(139) /* 要求ノード探索 */ 165 #define ICMP6_WRU_REPLY UINT_C(140) /* 応答ノード探索 */ 166 167 #define ICMP6_FQDN_QUERY UINT_C(139) /* FQDN 照会 */ 168 #define ICMP6_FQDN_REPLY UINT_C(140) /* FQDN 応答 */ 169 170 #define ICMP6_NI_QUERY UINT_C(139) /* ノード情報照会 */ 171 #define ICMP6_NI_REPLY UINT_C(140) /* ノード情報応答 */ 172 173 #define ICMP6_MAX_TYPE UINT_C(203) /* ICMP6 タイプの最大値 */ 174 175 /* 176 * ICMP6 コード 177 */ 178 179 /* 宛先到達不可能 */ 180 181 #define ICMP6_DST_UNREACH_NOROUTE UINT_C(0) /* 到達ルートなし。 */ 182 #define ICMP6_DST_UNREACH_ADMIN UINT_C(1) /* 管理者により無効化中。 */ 183 #define ICMP6_DST_UNREACH_NOTEIGHBOR UINT_C(2) /* 近隣者ではなくなった。 */ 184 #define ICMP6_DST_UNREACH_BEYOND_SCOPE UINT_C(2) /* スコープを超えている。 */ 185 #define ICMP6_DST_UNREACH_ADDR UINT_C(3) /* 宛先アドレスに到達不可能。 */ 186 #define ICMP6_DST_UNREACH_NOPORT UINT_C(4) /* 宛先ポートに到達不可能。 */ 187 188 /* TTL 超過 */ 189 190 #define ICMP6_TIME_EXCEED_TRANSIT UINT_C(0) /* 転送時に TTL==0 になった。 */ 191 #define ICMP6_TIME_EXCEED_REASSEMBLY UINT_C(1) /* IP 再構成でタイムアウトした。*/ 192 193 /* ヘッダ不正 */ 194 195 #define ICMP6_PARAMPROB_HEADER UINT_C(0) /* ヘッダに不正があった。 */ 196 #define ICMP6_PARAMPROB_NEXT_HEADER UINT_C(1) /* 次ヘッダが認識できない。 */ 197 #define ICMP6_PARAMPROB_OPTION UINT_C(2) /* オプションが認識できない。 */ 198 199 /* 内部使用 */ 200 #define ND_REDIRECT_ONLINK UINT_C(0) /* オンリンクへの向け直し */ 201 #define ND_REDIRECT_ROUTER UINT_C(1) /* ルータへの向け直し */ 202 203 /* 204 * 制限値 205 */ 206 207 /* ICMPv6 の最大ペイロード長 */ 239 208 #define ICMPV6_PAYLOAD_MAXLEN (IPV6_MMTU - (IP6_HDR_SIZE + ICMP6_HDR_SIZE)) 240 209 241 210 /* 242 * è¿é£è¦è«211 * 近隣要請 243 212 */ 244 213 … … 246 215 T_ICMP6_HDR hdr; 247 216 T_IN6_ADDR target; 248 /* ãã®å¾ã«ãªãã·ã§ã³ãç¶ã*/217 /* この後にオプションが続く */ 249 218 } T_NEIGHBOR_SOLICIT_HDR; 250 219 … … 264 233 265 234 /* 266 * è¿é£éç¥235 * 近隣通知 267 236 */ 268 237 … … 270 239 T_ICMP6_HDR hdr; 271 240 T_IN6_ADDR target; 272 /* ãã®å¾ã«ãªãã·ã§ã³ãç¶ã*/241 /* この後にオプションが続く */ 273 242 } T_NEIGHBOR_ADVERT_HDR; 274 243 275 /* ICMP6 ãããã®ãã¼ã¿é¨ã®å®ç¾©*/244 /* ICMP6 ヘッダのデータ部の定義 */ 276 245 277 246 #define nd_na_flags_reserved hdr.data.data32 … … 295 264 296 265 /* 297 * è¿é£éç¥ãã©ã°ãnd_na_flags_reserved (hdr.data32) ã«è¨å®ããã266 * 近隣通知フラグ、nd_na_flags_reserved (hdr.data32) に設定する。 298 267 */ 299 268 300 269 #if _NET_CFG_BYTE_ORDER == _NET_CFG_BIG_ENDIAN 301 270 302 #define ND_NA_FLG_OVERRIDE ULONG_C(0x20000000) /* è¿é£ãã£ãã·ã¥ä¸æ¸ã*/303 #define ND_NA_FLG_SOLICITED ULONG_C(0x40000000) /* è¿é£è¦è«ã¸ã®å¿ç*/304 #define ND_NA_FLG_ROUTER ULONG_C(0x80000000) /* ã«ã¼ã¿éç¥*/271 #define ND_NA_FLG_OVERRIDE ULONG_C(0x20000000) /* 近隣キャッシュ上書き */ 272 #define ND_NA_FLG_SOLICITED ULONG_C(0x40000000) /* 近隣要請への応答 */ 273 #define ND_NA_FLG_ROUTER ULONG_C(0x80000000) /* ルータ通知 */ 305 274 306 275 #elif _NET_CFG_BYTE_ORDER == _NET_CFG_LITTLE_ENDIAN 307 276 308 #define ND_NA_FLG_OVERRIDE ULONG_C(0x00000020) /* è¿é£ãã£ãã·ã¥ä¸æ¸ã*/309 #define ND_NA_FLG_SOLICITED ULONG_C(0x00000040) /* è¿é£è¦è«ã¸ã®å¿ç*/310 #define ND_NA_FLG_ROUTER ULONG_C(0x00000080) /* ã«ã¼ã¿éç¥*/277 #define ND_NA_FLG_OVERRIDE ULONG_C(0x00000020) /* 近隣キャッシュ上書き */ 278 #define ND_NA_FLG_SOLICITED ULONG_C(0x00000040) /* 近隣要請への応答 */ 279 #define ND_NA_FLG_ROUTER ULONG_C(0x00000080) /* ルータ通知 */ 311 280 312 281 #endif /* #if _NET_CFG_BYTE_ORDER == _NET_CFG_BIG_ENDIAN */ 313 282 314 283 /* 315 * ã«ã¼ã¿éç¥284 * ルータ通知 316 285 * 317 286 * RFC4291: IP Version 6 Addressing Architecture … … 322 291 typedef struct t_router_advert_hdr { 323 292 T_ICMP6_HDR hdr; 324 uint32_t reachable; /* [ms] å°éå¯è½æé*/325 uint32_t retransmit; /* [ms] è¿é£è¦è«éä¿¡éé*/326 /* ãã®å¾ã«ãªãã·ã§ã³ãç¶ã*/293 uint32_t reachable; /* [ms] 到達可能時間 */ 294 uint32_t retransmit; /* [ms] 近隣要請送信間隔 */ 295 /* この後にオプションが続く */ 327 296 } T_ROUTER_ADVERT_HDR; 328 297 329 /* ICMP6 ãããã®ãã¼ã¿é¨ã®å®ç¾©*/298 /* ICMP6 ヘッダのデータ部の定義 */ 330 299 331 300 #define nd_ra_current_hoplimit hdr.data.data8[0] 332 301 #define nd_ra_flags hdr.data.data8[1] 333 #define nd_ra_router_lifetime hdr.data.data16[1] /* [s] ã«ã¼ã¿æå¹æé*/302 #define nd_ra_router_lifetime hdr.data.data16[1] /* [s] ルータ有効時間 */ 334 303 335 304 #define ROUTER_ADVERT_HDR_SIZE (sizeof(T_ROUTER_ADVERT_HDR)) … … 349 318 350 319 /* 351 * ã«ã¼ã¿éç¥ãããã®ãã©ã°320 * ルータ通知ヘッダのフラグ 352 321 */ 353 322 … … 357 326 358 327 /* 359 * M: RA以å¤ã®æ¹æ³ã§èªåçã«ã¢ãã¬ã¹ãè¨å®ãããã¨ã許å¯ããã 360 * O: RA以å¤ã®æ¹æ³ã§èªåçã«ã¢ãã¬ã¹ä»¥å¤ã®æ 361 å ±ãè¨å®ãããã¨ãã許å¯ããã 328 * M: RA以外の方法で自動的にアドレスを設定することを許可する。 329 * O: RA以外の方法で自動的にアドレス以外の情報を設定することをを許可する。 362 330 * 363 331 * M O 364 * ON ON ã¢ãã¬ã¹ã¨ãã以å¤ã®æ 365 å ±ãDHCPv6ã§è¨å®ããï¼statefullï¼ 366 * ON OFF ã¢ãã¬ã¹ã¯DHCPv6ã§è¨å®ãããããã以å¤ã¯æåã§è¨å®ããã 367 * OFF ON ã¢ãã¬ã¹ã¯ RA ã§è¨å®ãããããã以å¤ã®æ 368 å ±ãDHCPv6ã§è¨å®ããï¼statelessï¼ 369 * OFF OFF DHCPv6 ã¯ä½¿ç¨ããªãã 370 */ 371 372 /* 373 * ã«ã¼ã¿è¦è« 332 * ON ON アドレスとそれ以外の情報をDHCPv6で設定する(statefull) 333 * ON OFF アドレスはDHCPv6で設定するが、それ以外は手動で設定する。 334 * OFF ON アドレスは RA で設定するが、それ以外の情報をDHCPv6で設定する(stateless) 335 * OFF OFF DHCPv6 は使用しない。 336 */ 337 338 /* 339 * ルータ要請 374 340 */ 375 341 … … 378 344 } T_ROUTER_SOLICIT_HDR; 379 345 380 /* ICMP6 ãããã®ãã¼ã¿é¨ã®å®ç¾©*/346 /* ICMP6 ヘッダのデータ部の定義 */ 381 347 382 348 #define nd_rs_reserved hdr.data.data32 … … 399 365 400 366 /* 401 * è¿é£æ¢ç´¢ãªãã·ã§ã³402 */ 403 404 /* è¿é£æ¢ç´¢ããã*/367 * 近隣探索オプション 368 */ 369 370 /* 近隣探索ヘッダ */ 405 371 406 372 typedef struct t_neighbor_hdr { … … 409 375 } T_NEIGHBOR_HDR; 410 376 411 /* è¿é£æ¢ç´¢ãªãã·ã§ã³ããã*/377 /* 近隣探索オプションヘッダ */ 412 378 413 379 typedef struct t_nd_opt_hdr { 414 uint8_t type; /* ãªãã·ã§ã³ã¿ã¤ã*/415 uint8_t len; /* ãªãã·ã§ã³é·ãåä½ã¯ 8 ãã¤ã*/380 uint8_t type; /* オプションタイプ */ 381 uint8_t len; /* オプション長、単位は 8 バイト */ 416 382 } T_ND_OPT_HDR; 417 383 418 384 #define ND_OPT_HDR_SIZE (sizeof(T_ND_OPT_HDR)) 419 385 420 #define ND_OPT_SOURCE_LINKADDR UINT_C(1) /* éä¿¡å 421 ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã®ã¢ãã¬ã¹ */ 422 #define ND_OPT_TARGET_LINKADDR UINT_C(2) /* 対象ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã®ã¢ãã¬ã¹ */ 423 #define ND_OPT_PREFIX_INFORMATION UINT_C(3) /* ãã¬ãã£ãã¯ã¹æ 424 å ± */ 425 #define ND_OPT_REDIRECTED_HEADER UINT_C(4) /* ãªãã¤ã¬ã¯ãã»ããã */ 386 #define ND_OPT_SOURCE_LINKADDR UINT_C(1) /* 送信先ネットワークインタフェースのアドレス */ 387 #define ND_OPT_TARGET_LINKADDR UINT_C(2) /* 対象ネットワークインタフェースのアドレス */ 388 #define ND_OPT_PREFIX_INFORMATION UINT_C(3) /* プレフィックス情報 */ 389 #define ND_OPT_REDIRECTED_HEADER UINT_C(4) /* リダイレクト・ヘッダ */ 426 390 #define ND_OPT_MTU UINT_C(5) /* MTU */ 427 391 428 #define ND_OPT_PREFIX_INFO_COUNT UINT_C(6) /* ãã¬ãã£ãã¯ã¹æ 429 å ±ã®åæ° */ 430 #define ND_OPT_OFF_ARRAY_SIZE UINT_C(7) /* ND ãªãã·ã§ã³ã®ãªãã»ãããè¨é²ããé 431 åãµã¤ãº*/ 432 433 #define ND_OPT_OFF_ARRAY_IX(t) ((t)-1) /* ãªãã»ããé 434 åã®ã¤ã³ããã¯ã¹ */ 435 436 /* ãã¬ãã£ãã¯ã¹ãªãã·ã§ã³ */ 392 #define ND_OPT_PREFIX_INFO_COUNT UINT_C(6) /* プレフィックス情報の個数 */ 393 #define ND_OPT_OFF_ARRAY_SIZE UINT_C(7) /* ND オプションのオフセットを記録する配列サイズ*/ 394 395 #define ND_OPT_OFF_ARRAY_IX(t) ((t)-1) /* オフセット配列のインデックス */ 396 397 /* プレフィックスオプション */ 437 398 438 399 typedef struct t_nd_opt_prefix_info { 439 uint8_t type; /* è¿é£æ¢ç´¢ãªãã·ã§ã³ã¿ã¤ã= 3 */440 uint8_t len; /* ãªãã·ã§ã³é· = 8Ã4=32 */441 uint8_t prefix_len; /* ãã¬ãã£ãã¯ã¹é·*/442 uint8_t flags; /* ãã©ã°*/443 uint32_t valid; /* [s] æå¹æé*/444 uint32_t preferred; /* [s] æ¨å¥¨æå¹æé*/400 uint8_t type; /* 近隣探索オプションタイプ = 3 */ 401 uint8_t len; /* オプション長 = 8×4=32 */ 402 uint8_t prefix_len; /* プレフィックス長 */ 403 uint8_t flags; /* フラグ */ 404 uint32_t valid; /* [s] 有効時間 */ 405 uint32_t preferred; /* [s] 推奨有効時間 */ 445 406 uint32_t reserved; 446 T_IN6_ADDR prefix; /* ãã¬ãã£ãã¯ã¹*/407 T_IN6_ADDR prefix; /* プレフィックス */ 447 408 } T_ND_OPT_PREFIX_INFO; 448 409 449 #define ND_OPT_PI_FLAG_ONLINK UINT_C(0x80) /* ãªã³ãªã³ã¯ãã¬ãã£ãã¯ã¹*/450 #define ND_OPT_PI_FLAG_AUTO UINT_C(0x40) /* ã¹ãã¼ãã¬ã¹ã»ã¢ãã¬ã¹èªåè¨å®*/451 452 /* MTU ãªãã·ã§ã³ããã*/410 #define ND_OPT_PI_FLAG_ONLINK UINT_C(0x80) /* オンリンクプレフィックス */ 411 #define ND_OPT_PI_FLAG_AUTO UINT_C(0x40) /* ステートレス・アドレス自動設定*/ 412 413 /* MTU オプションヘッダ */ 453 414 454 415 typedef struct t_nd_opt_mtu_hdr { 455 uint8_t type; /* ãªãã·ã§ã³ã¿ã¤ã*/456 uint8_t len; /* ãªãã·ã§ã³é·ãåä½ã¯ 8 ãã¤ã*/416 uint8_t type; /* オプションタイプ */ 417 uint8_t len; /* オプション長、単位は 8 バイト*/ 457 418 uint16_t reserved; 458 419 uint32_t mtu; /* MTU */ … … 460 421 461 422 /* 462 * åãç´ã423 * 向け直し 463 424 */ 464 425 465 426 typedef struct t_nd_redirect_hdr { 466 427 T_ICMP6_HDR hdr; 467 T_IN6_ADDR target; /* ã«ã¼ã¿ã®ã¢ãã¬ã¹*/468 T_IN6_ADDR dst; /* åãç´ãã®çµç¹ã¢ãã¬ã¹*/469 /* ãã®å¾ã«ãªãã·ã§ã³ãç¶ã*/428 T_IN6_ADDR target; /* ルータのアドレス */ 429 T_IN6_ADDR dst; /* 向け直しの終点アドレス */ 430 /* この後にオプションが続く */ 470 431 } T_ND_REDIRECT_HDR; 471 432 … … 475 436 476 437 /* 477 * SNMP 㮠管çæ 478 å ±ãã¼ã¹ (MIB) 438 * SNMP の 管理情報ベース (MIB) 479 439 */ 480 440 … … 521 481 522 482 /* 523 * é¢æ°483 * 関数 524 484 */ 525 485 -
asp3_gr_sakura/trunk/tinet/netinet/icmp_var.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 86 74 87 75 /* 88 * SNMP 㮠管çæ 89 å ±ãã¼ã¹ (MIB) 76 * SNMP の 管理情報ベース (MIB) 90 77 */ 91 78 -
asp3_gr_sakura/trunk/tinet/netinet/if_ether.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 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 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 122 110 123 111 /* 124 * ARP ãã£ãã·ã¥ã¨ã³ããª112 * ARP キャッシュエントリ 125 113 */ 126 114 … … 128 116 129 117 /* 130 * é¢æ°118 * 関数 131 119 */ 132 120 … … 135 123 136 124 /* 137 * in_arpinput -- TCP/IP ç¨ ARP ã®å 138 ¥åé¢æ° 125 * in_arpinput -- TCP/IP 用 ARP の入力関数 139 126 */ 140 127 … … 152 139 et_arph = GET_ETHER_ARP_HDR(input); 153 140 154 ntoahl(saddr, et_arph->sproto); /* éä¿¡å 155 IP ã¢ãã¬ã¹ */ 156 ntoahl(taddr, et_arph->tproto); /* 解決対象 IP ã¢ãã¬ã¹ */ 157 158 /* 159 * 以ä¸ã®å ´åã¯ã¨ã©ã¼ 160 * ã»éä¿¡ãã¹ãã®ç©çã¢ãã¬ã¹ãèªå 161 * ã»éä¿¡ãã¹ãã®ç©çã¢ãã¬ã¹ãããã¼ããã£ã¹ã 141 ntoahl(saddr, et_arph->sproto); /* 送信元 IP アドレス */ 142 ntoahl(taddr, et_arph->tproto); /* 解決対象 IP アドレス */ 143 144 /* 145 * 以下の場合はエラー 146 * ・送信ホストの物理アドレスが自分 147 * ・送信ホストの物理アドレスがブロードキャスト 162 148 */ 163 149 if (memcmp(et_arph->shost, ifaddr->lladdr, ETHER_ADDR_LEN) == 0 || … … 166 152 167 153 /* 168 * éä¿¡ãã¹ãã® IP ã¢ãã¬ã¹ãèªåã®å ´åã¯ãéè¤ãã¦ããã®ã§169 * ç¸æã«ãç¥ãããã170 * ãã ããèªåã¨ç¸æã®ã¢ãã¬ã¹ãæªå®ç¾©ï¼IPV4_ADDRANYï¼ã®æã¯ä½ãããªãã154 * 送信ホストの IP アドレスが自分の場合は、重複しているので 155 * 相手にも知らせる。 156 * ただし、自分と相手のアドレスが未定義(IPV4_ADDRANY)の時は何もしない。 171 157 */ 172 158 if ((saddr == ifp->in4_ifaddr.addr) && (saddr != IPV4_ADDRANY)) { … … 197 183 198 184 /* 199 * 以ä¸ã®å ´åã¯ä½ãããªãã 200 * ã»è§£æ±ºå¯¾è±¡ IP ã¢ãã¬ã¹ãèªåã§ã¯ãªãã注: å 201 ã® FreeBSD ã® 202 * å®è£ 203 ã§ã¯ãARP PROXY çã®ãããèªå以å¤ã® IP ã¢ãã¬ã¹ã® 204 * 解決ãè¡ã£ã¦ããããæ¬å®è£ 205 ã§ã¯ãèªå以å¤ã® IP 206 * ã¢ãã¬ã¹ã®è§£æ±ºã¯è¡ããªãã 185 * 以下の場合は何もしない。 186 * ・解決対象 IP アドレスが自分ではない、注: 元の FreeBSD の 187 * 実装では、ARP PROXY 等のため、自分以外の IP アドレスの 188 * 解決も行っているが、本実装では、自分以外の IP 189 * アドレスの解決は行わない。 207 190 */ 208 191 if (taddr != ifp->in4_ifaddr.addr) … … 210 193 211 194 /* 212 * éä¿¡å 213 IP ã¢ãã¬ã¹ã ARP ãã£ãã·ã¥ã«ããã調ã¹ãã 214 * ãã£ãã·ã¥ã«ãªããã°ãæ°ãã«ã¨ã³ããªãç»é²ããã 195 * 送信元 IP アドレスが ARP キャッシュにあるか調べる。 196 * キャッシュになければ、新たにエントリを登録する。 215 197 */ 216 198 syscall(wai_sem(SEM_ARP_CACHE_LOCK)); … … 221 203 222 204 /* 223 * éä¿¡ããã³ãã³ã°ããã¦ãããã¬ã¼ã ãããã°éä¿¡ããã205 * 送信がペンデングされているフレームがあれば送信する。 224 206 */ 225 207 if (ent->hold) { 226 208 227 /* ãã¬ã¼ã ã® Ethernet ããããè¨å®ããã*/209 /* フレームの Ethernet ヘッダを設定する。*/ 228 210 memcpy(GET_ETHER_HDR(ent->hold)->dhost, ent->mac_addr, ETHER_ADDR_LEN); 229 211 … … 232 214 syscall(sig_sem(SEM_ARP_CACHE_LOCK)); 233 215 234 /* ãã³ãã£ã³ã°ããã¦ãããã¬ã¼ã ãéä¿¡ããã*/216 /* ペンディングされているフレームを送信する。*/ 235 217 IF_RAW_OUTPUT(pending, TMO_FEVR); 236 218 … … 243 225 arph = GET_ARP_HDR(input); 244 226 245 /* ã¢ãã¬ã¹è§£æ±ºè¦æ±ã§ãªããã°çµäº*/227 /* アドレス解決要求でなければ終了 */ 246 228 if (ntohs(arph->opcode) != ARPOP_REQUEST) 247 229 goto buf_rel; 248 230 249 /* Ethernet ARP ããããè¨å®ããã*/231 /* Ethernet ARP ヘッダを設定する。*/ 250 232 memcpy(et_arph->thost, et_arph->shost, ETHER_ADDR_LEN); 251 233 memcpy(et_arph->shost, ifaddr->lladdr, ETHER_ADDR_LEN); … … 253 235 ahtonl(et_arph->sproto, taddr); 254 236 255 /* Ethernet ARP ããããè¨å®ããã*/237 /* Ethernet ARP ヘッダを設定する。*/ 256 238 arph->opcode = htons(ARPOP_REPLY); 257 239 258 /* Ethernet ããããè¨å®ããã*/240 /* Ethernet ヘッダを設定する。*/ 259 241 eth = GET_ETHER_HDR(input); 260 242 memcpy(eth->dhost, eth->shost, ETHER_ADDR_LEN); 261 243 memcpy(eth->shost, ifaddr->lladdr, ETHER_ADDR_LEN); 262 244 263 /* ARP å¿çãéä¿¡ããã*/245 /* ARP 応答を送信する。*/ 264 246 IF_RAW_OUTPUT(input, TMO_FEVR); 265 247 return; … … 272 254 273 255 /* 274 * arp_timer -- ARP ãã£ãã·ã¥ã®æ´æ°256 * arp_timer -- ARP キャッシュの更新 275 257 */ 276 258 … … 286 268 arp_cache[ix].expire -= ARP_TIMER_TMO; 287 269 if (arp_cache[ix].expire == 0) { 288 /* éä¿¡ããã³ãã³ã°ããã¦ãããã¬ã¼ã ãããã°æ¨ã¦ãã*/270 /* 送信がペンデングされているフレームがあれば捨てる。*/ 289 271 if (arp_cache[ix].hold) { 290 272 NET_COUNT_IP4(net_count_ip4[NC_IP4_OUT_ERR_PACKETS], 1); … … 301 283 302 284 /* 303 * arp_lookup -- ARP ãã£ãã·ã¥ã®æ¢ç´¢ã¨ç»é² 304 * 305 * 注æ: SEM_ARP_CACHE_LOCK ãç²å¾ããç¶æ 306 ã§å¼åºãã㨠285 * arp_lookup -- ARP キャッシュの探索と登録 286 * 287 * 注意: SEM_ARP_CACHE_LOCK を獲得した状態で呼出すこと 307 288 */ 308 289 … … 318 299 } 319 300 320 /* create ãçãªããæ°ããªã¨ã³ããªãç»é²ããã*/301 /* create が真なら、新たなエントリを登録する。*/ 321 302 if (create) { 322 303 323 /* ã¾ãã空ããããã°ããã®ç©ºããå©ç¨ããã*/304 /* まず、空きがあれば、その空きを利用する。*/ 324 305 for (ix = NUM_ARP_ENTRY; ix -- > 0; ) { 325 306 if (arp_cache[ix].expire == 0) { … … 330 311 331 312 /* 332 * 空ãããªããã°ãã¿ã¤ã ã¢ã¦ãã¾ã§æéãæçã®333 * ã¨ã³ããªã¼ãç ´æ£ãã¦å©ç¨ããã313 * 空きがなければ、タイムアウトまで時間が最短の 314 * エントリーを破棄して利用する。 334 315 */ 335 316 syslog(LOG_NOTICE, "[ARP] cache busy, size=%d", NUM_ARP_ENTRY); … … 349 330 350 331 /* 351 * arp_request -- MAC ã¢ãã¬ã¹è§£æ±ºè¦æ±332 * arp_request -- MAC アドレス解決要求 352 333 */ 353 334 … … 367 348 if ((error = tget_net_buf(&arp_req, IF_ARP_ETHER_HDR_SIZE, TMO_ARP_GET_NET_BUF)) == E_OK) { 368 349 369 /* ã¤ã¼ãµãããããããè¨å®ããã*/350 /* イーサネットヘッダを設定する。*/ 370 351 eth = GET_ETHER_HDR(arp_req); 371 352 memcpy(eth->dhost, ether_broad_cast_addr, ETHER_ADDR_LEN); … … 373 354 eth->type = htons(ETHER_TYPE_ARP); 374 355 375 /* ARP ããããè¨å®ããã*/356 /* ARP ヘッダを設定する。*/ 376 357 arph = GET_ARP_HDR(arp_req); 377 358 arph->hrd_addr = htons(ARPHRD_ETHER); … … 381 362 arph->opcode = htons(ARPOP_REQUEST); 382 363 383 /* ã¤ã¼ãµããã ARP ããããè¨å®ããã*/364 /* イーサネット ARP ヘッダを設定する。*/ 384 365 et_arph = GET_ETHER_ARP_HDR(arp_req); 385 366 src = IF_GET_IFNET()->in4_ifaddr.addr; … … 389 370 ahtonl(et_arph->tproto, dst); 390 371 391 /* éä¿¡ããã*/372 /* 送信する。*/ 392 373 error = IF_RAW_OUTPUT(arp_req, TMO_ARP_OUTPUT); 393 374 } … … 398 379 399 380 /* 400 * arp_get_cache -- ARP ãã£ãã·ã¥ãç²å¾ããã381 * arp_get_cache -- ARP キャッシュを獲得する。 401 382 */ 402 383 … … 408 389 409 390 /* 410 * arp_input -- ARP ã®å 411 ¥åé¢æ° 391 * arp_input -- ARP の入力関数 412 392 */ 413 393 … … 420 400 NET_COUNT_ARP(net_count_arp.in_packets, 1); 421 401 422 /* ARP ãããã®é·ãããã§ãã¯ããã*/402 /* ARP ヘッダの長さをチェックする。*/ 423 403 if (input->len < IF_ARP_HDR_SIZE) 424 404 goto buf_rel; … … 427 407 428 408 /* 429 * ç©çã¢ãã¬ã¹ãã©ã¼ãããã Ehternet 以å¤430 * ã¾ãã¯ããããã³ã«ã IP 以å¤ã¯ã¨ã©ã¼ã409 * 物理アドレスフォーマットが Ehternet 以外 410 * または、プロトコルが IP 以外はエラー。 431 411 */ 432 412 if (ntohs(arph->hrd_addr) != ARPHRD_ETHER || … … 434 414 goto buf_rel; 435 415 436 /* ARP ããã + Ether ARP ãããã®é·ãããã§ãã¯ããã*/416 /* ARP ヘッダ + Ether ARP ヘッダの長さをチェックする。*/ 437 417 if (input->len < IF_ARP_ETHER_HDR_SIZE) 438 418 goto buf_rel; … … 447 427 448 428 /* 449 * arp_resolve -- MAC ã¢ãã¬ã¹è§£æ±º450 * 451 * ã¢ãã¬ã¹è§£æ±ºãã§ããã°ãæ»ãå¤ã¯ true ãè¿ããã§ããªããã°452 * éä¿¡ããã³ãã£ã³ã°ãã¦ãæ»ãå¤ã¯ false ãè¿ãã429 * arp_resolve -- MAC アドレス解決 430 * 431 * アドレス解決ができれば、戻り値は true を返し、できなければ 432 * 送信をペンディングして、戻り値は false を返す。 453 433 */ 454 434 … … 463 443 464 444 /* 465 * 次ã®å ´åã¯ãã¤ã¼ãµãããã®ããã¼ããã£ã¹ãã¢ãã¬ã¹ãè¿ãã445 * 次の場合は、イーサネットのブロードキャストアドレスを返す。 466 446 * 467 * ã»å 468 ¨ãããã 1 469 * ã»ãã¹ãé¨ã®å 470 ¨ãããã 1 ã§ããããã¯ã¼ã¯é¨ããã¼ã«ã«ã¢ãã¬ã¹ 447 * ・全ビットが 1 448 * ・ホスト部の全ビットが 1 で、ネットワーク部がローカルアドレス 471 449 */ 472 450 if (gw == IPV4_ADDR_BROADCAST || … … 476 454 } 477 455 478 /* éä¿¡å 479 GW ã® IP ã¢ãã¬ã¹ã ARP ãã£ãã·ã¥ã«ããã調ã¹ãã*/ 456 /* 送信先 GW の IP アドレスが ARP キャッシュにあるか調べる。*/ 480 457 syscall(wai_sem(SEM_ARP_CACHE_LOCK)); 481 458 ent = arp_lookup(gw, true); … … 486 463 } 487 464 else { 488 /* éä¿¡ããã³ãã³ã°ããã¦ãããã¬ã¼ã ãããã°æ¨ã¦ãã*/465 /* 送信がペンデングされているフレームがあれば捨てる。*/ 489 466 if (ent->hold) { 490 467 NET_COUNT_IP4(net_count_ip4[NC_IP4_OUT_ERR_PACKETS], 1); … … 493 470 494 471 /* 495 * éä¿¡ããã³ãã£ã³ã°ããã496 * IF ã§ãããã¯ã¼ã¯ãããã¡ãéæ¾ããªããã©ã°ãè¨å®ããã¦ããã¨ãã¯ã497 * éä¿¡ããã³ãã£ã³ã°ããªãã472 * 送信をペンディングする。 473 * IF でネットワークバッファを開放しないフラグが設定されているときは、 474 * 送信をペンディングしない。 498 475 */ 499 476 if ((output->flags & NB_FLG_NOREL_IFOUT) == 0) … … 505 482 syscall(sig_sem(SEM_ARP_CACHE_LOCK)); 506 483 507 /* ã¢ãã¬ã¹è§£æ±ºè¦æ±ãéä¿¡ããã*/484 /* アドレス解決要求を送信する。*/ 508 485 arp_request(ifaddr, gw); 509 486 return false; … … 512 489 513 490 /* 514 * arp_init -- ARP åæå491 * arp_init -- ARP 初期化 515 492 */ 516 493 -
asp3_gr_sakura/trunk/tinet/netinet/if_ether.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * Ethernet ARP ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * Ethernet ARP コンフィギュレーションファイル 48 36 */ 49 37 50 38 #if defined(_IP4_CFG) && defined(SUPPORT_ETHER) 51 39 52 /* ARP ãã£ãã·ã¥æ´æ°ç¨ã»ããã©*/40 /* ARP キャッシュ更新用セマフォ */ 53 41 54 42 CRE_SEM(SEM_ARP_CACHE_LOCK, { TA_TPRI, 1, 1 }); -
asp3_gr_sakura/trunk/tinet/netinet/if_ether.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 88 76 * Ethernet Address Resolution Protocol. 89 77 * 90 * RFC 826 åç 91 § 78 * RFC 826 参照 92 79 */ 93 80 94 81 typedef struct t_ether_arp_hdr { 95 uint8_t shost[ETHER_ADDR_LEN]; /* éä¿¡ãã¹ãã®ç©çã¢ãã¬ã¹*/96 uint8_t sproto[IPV4_ADDR_LEN]; /* éä¿¡ãã¹ãã® IP ã¢ãã¬ã¹*/97 uint8_t thost[ETHER_ADDR_LEN]; /* 解決対象ç©çã¢ãã¬ã¹*/98 uint8_t tproto[IPV4_ADDR_LEN]; /* 解決対象 IP ã¢ãã¬ã¹*/82 uint8_t shost[ETHER_ADDR_LEN]; /* 送信ホストの物理アドレス */ 83 uint8_t sproto[IPV4_ADDR_LEN]; /* 送信ホストの IP アドレス */ 84 uint8_t thost[ETHER_ADDR_LEN]; /* 解決対象物理アドレス */ 85 uint8_t tproto[IPV4_ADDR_LEN]; /* 解決対象 IP アドレス */ 99 86 } T_ETHER_ARP_HDR; 100 87 … … 105 92 106 93 /* 107 * ARP ãã£ãã·ã¥ã¨ã³ããª94 * ARP キャッシュエントリ 108 95 */ 109 96 110 97 typedef struct arp_entry { 111 T_NET_BUF *hold; /* ARP ã®è§£æ±ºå¾ 112 ã¡åºåãã¬ã¼ã */ 113 T_IN4_ADDR ip_addr; /* IP ã¢ãã¬ã¹ */ 114 uint16_t expire; /* ç ´æ£ã¾ã§ã®æéã0 ãªãæªä½¿ç¨ */ 115 uint8_t mac_addr[ETHER_ADDR_LEN]; /* MAC ã¢ãã¬ã¹ */ 98 T_NET_BUF *hold; /* ARP の解決待ち出力フレーム */ 99 T_IN4_ADDR ip_addr; /* IP アドレス */ 100 uint16_t expire; /* 破棄までの時間、0 なら未使用 */ 101 uint8_t mac_addr[ETHER_ADDR_LEN]; /* MAC アドレス */ 116 102 } T_ARP_ENTRY; 117 103 118 104 /* 119 * é¢æ°105 * 関数 120 106 */ 121 107 … … 128 114 129 115 /* 130 * TINET ç¬èªAPI116 * TINET 独自 API 131 117 */ 132 118 -
asp3_gr_sakura/trunk/tinet/netinet/in.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 89 77 90 78 /* 91 * TINET ã®ãã¼ã¸ã§ã³æ 92 å ± 79 * TINET のバージョン情報 93 80 */ 94 81 95 #define TINET_PRVER UINT_C(0x1070) /* TINET ã®ãã¼ã¸ã§ã³çªå·*/82 #define TINET_PRVER UINT_C(0x1070) /* TINET のバージョン番号 */ 96 83 97 84 /* 98 * ã¤ã³ã¿ã¼ãããã·ã¹ãã ã®å®ç¾©ãRFC790 åç 99 § 85 * インターネットシステムの定義、RFC790 参照 100 86 */ 101 87 102 88 /* 103 * ãããã³ã«(RFC1700)89 * プロトコル (RFC1700) 104 90 */ 105 91 106 #define IPPROTO_IP UINT_C(0) /* IP ã®ããã¼*/107 #define IPPROTO_HOPOPTS UINT_C(0) /* IPv6 ä¸ç¶ç¹ (Hop-by-Hop) ãªãã·ã§ã³*/92 #define IPPROTO_IP UINT_C(0) /* IP のダミー */ 93 #define IPPROTO_HOPOPTS UINT_C(0) /* IPv6 中継点 (Hop-by-Hop) オプション */ 108 94 #define IPPROTO_ICMP UINT_C(1) /* ICMP */ 109 95 #define IPPROTO_TCP UINT_C(6) /* TCP */ 110 96 #define IPPROTO_UDP UINT_C(17) /* UDP */ 111 97 #define IPPROTO_IPV6 UINT_C(41) /* IPv6 */ 112 #define IPPROTO_ROUTING UINT_C(43) /* çµè·¯å¶å¾¡ãªãã·ã§ã³*/113 #define IPPROTO_FRAGMENT UINT_C(44) /* æçåãªãã·ã§ã³*/98 #define IPPROTO_ROUTING UINT_C(43) /* 経路制御オプション */ 99 #define IPPROTO_FRAGMENT UINT_C(44) /* 断片化オプション */ 114 100 #define IPPROTO_RSVP UINT_C(46) /* RSVP */ 115 #define IPPROTO_ESP UINT_C(50) /* IPv6 æå·åãªãã·ã§ã³*/116 #define IPPROTO_AH UINT_C(51) /* IPv6 èªè¨¼ãªãã·ã§ã³*/101 #define IPPROTO_ESP UINT_C(50) /* IPv6 暗号化オプション */ 102 #define IPPROTO_AH UINT_C(51) /* IPv6 認証オプション */ 117 103 #define IPPROTO_ICMPV6 UINT_C(58) /* ICMPv6 */ 118 #define IPPROTO_NONE UINT_C(59) /* IPv6 次ãããç¡ã */ 119 #define IPPROTO_DSTOPTS UINT_C(60) /* IPv6 çµç¹ãªãã·ã§ã³ */ 120 #define IPPROTO_IPCOMP UINT_C(108) /* ãã¤ãã¼ãå§ç¸® */ 121 #define IPPROTO_DONE UINT_C(257) /* IPv6 ã§ä¸ä½ãããã³ã«å 122 ¥åçµäº */ 104 #define IPPROTO_NONE UINT_C(59) /* IPv6 次ヘッダ無し */ 105 #define IPPROTO_DSTOPTS UINT_C(60) /* IPv6 終点オプション */ 106 #define IPPROTO_IPCOMP UINT_C(108) /* ペイロード圧縮 */ 107 #define IPPROTO_DONE UINT_C(257) /* IPv6 で上位プロトコル入力終了 */ 123 108 124 109 /* 125 * ãã¼ãã®é·ã110 * ポートの長さ 126 111 */ 127 112 … … 129 114 130 115 /* 131 * ãã¼ãçªå·ã®å®ç¾©116 * ポート番号の定義 132 117 */ 133 118 134 #define TCP_PORTANY UINT_C(0x0000) /* ITRON TCP/IP æ¨æº*/135 #define UDP_PORTANY UINT_C(0x0000) /* ITRON TCP/IP æ¨æº*/119 #define TCP_PORTANY UINT_C(0x0000) /* ITRON TCP/IP 標準 */ 120 #define UDP_PORTANY UINT_C(0x0000) /* ITRON TCP/IP 標準 */ 136 121 137 #define TCP_PORT_LAST_WELL_KNOWN UINT_C(1023) /* Well Known çµäºçªå·*/138 #define TCP_PORT_FIRST_AUTO UINT_C(1024) /* èªåå²ãå½ã¦éå§çªå·*/139 #define TCP_PORT_LAST_AUTO UINT_C(4999) /* èªåå²ãå½ã¦çµäºçªå·*/122 #define TCP_PORT_LAST_WELL_KNOWN UINT_C(1023) /* Well Known 終了番号 */ 123 #define TCP_PORT_FIRST_AUTO UINT_C(1024) /* 自動割り当て開始番号 */ 124 #define TCP_PORT_LAST_AUTO UINT_C(4999) /* 自動割り当て終了番号 */ 140 125 141 #define UDP_PORT_LAST_WELL_KNOWN UINT_C(1023) /* Well Known çµäºçªå·*/142 #define UDP_PORT_FIRST_AUTO UINT_C(1024) /* èªåå²ãå½ã¦éå§çªå·*/143 #define UDP_PORT_LAST_AUTO UINT_C(4999) /* èªåå²ãå½ã¦çµäºçªå·*/126 #define UDP_PORT_LAST_WELL_KNOWN UINT_C(1023) /* Well Known 終了番号 */ 127 #define UDP_PORT_FIRST_AUTO UINT_C(1024) /* 自動割り当て開始番号 */ 128 #define UDP_PORT_LAST_AUTO UINT_C(4999) /* 自動割り当て終了番号 */ 144 129 145 130 /* 146 * API IP ãããã³ã«ã®æå®131 * API IPプロトコルの指定 147 132 */ 148 133 … … 152 137 153 138 /* 154 * åççæç¨ TCP/IPv6 é信端ç¹139 * 動的生成用 TCP/IPv6 通信端点 155 140 */ 156 141 … … 158 143 159 144 /* 160 * ãã¤ããªã¼ãé¢æ°ã®å®ç¾©145 * バイトオーダ関数の定義 161 146 * 162 * tinet/net/net.h ã§ããã¤ããªã¼ãã®å®ç¾©ãè¡ã£ã¦ãããã163 * tinet/net/net.h ãã¤ã³ã¯ã«ã¼ãããªã164 * ã¢ããªã±ã¼ã·ã§ã³ããã°ã©ã ç¨ã«165 * ã¿ã¼ã²ããä¾åããªããã¤ããªã¼ãé¢æ°ãå®ç¾©ããã147 * tinet/net/net.h でもバイトオーダの定義を行っているが、 148 * tinet/net/net.h をインクルードしない 149 * アプリケーションプログラム用に 150 * ターゲット依存しないバイトオーダ関数を定義する。 166 151 */ 167 152 168 153 #if defined(_NET_CFG_BYTE_ORDER) 169 154 170 /* tinet/net/net.h ãã¤ã³ã¯ã«ã¼ããã¦ããã*/155 /* tinet/net/net.h をインクルードしている。*/ 171 156 172 157 #else /* of #if defined(_NET_CFG_BYTE_ORDER) */ … … 185 170 186 171 /* 187 * TINET ç¬èªAPI172 * TINET 独自 API 188 173 */ 189 174 -
asp3_gr_sakura/trunk/tinet/netinet/in4.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 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 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 84 72 85 73 /* 86 * IPv4 ã¢ãã¬ã¹ 87 */ 88 89 /* åæ¹åç 90 § */ 74 * IPv4 アドレス 75 */ 76 77 /* 前方参照 */ 91 78 92 79 #ifndef T_IN4_ADDR_DEFINED … … 99 86 100 87 /* 101 * ITRON TCP/IPv4 ã¢ãã¬ã¹/ãã¼ãçªå·ã®å®ç¾©88 * ITRON TCP/IPv4 アドレス/ポート番号の定義 102 89 */ 103 90 104 91 typedef struct t_ipv4ep { 105 uint32_t ipaddr; /* IPv4 ã¢ãã¬ã¹*/106 uint16_t portno; /* ãã¼ãçªå·*/92 uint32_t ipaddr; /* IPv4 アドレス */ 93 uint16_t portno; /* ポート番号 */ 107 94 } T_IPV4EP; 108 95 … … 110 97 111 98 /* 112 * ã¢ãã¬ã¹ã®é·ã99 * アドレスの長さ 113 100 */ 114 101 … … 116 103 117 104 /* 118 * IPv4 ã¢ãã¬ã¹ã®å®ç¾©119 */ 120 121 #define IPV4_ADDRANY ULONG_C(0x00000000) /* ITRON TCP/IP æ¨æº*/105 * IPv4 アドレスの定義 106 */ 107 108 #define IPV4_ADDRANY ULONG_C(0x00000000) /* ITRON TCP/IP 標準 */ 122 109 #define IPV4_ADDRBROADCAST ULONG_C(0xffffffff) 123 110 … … 158 145 159 146 /* 160 * é¢æ°ã·ãã¥ã¬ã¼ã·ã§ã³ãã¯ã147 * 関数シミュレーションマクロ 161 148 */ 162 149 … … 167 154 168 155 /* 169 * åççæç¨ TCP é信端ç¹156 * 動的生成用 TCP 通信端点 170 157 */ 171 158 172 159 typedef struct t_tcp_ccep { 173 /* æ¨æº */ 174 ATR cepatr; /* é信端ç¹å±æ§ */ 175 void *sbuf; /* éä¿¡ç¨ã¦ã£ã³ããããã¡ */ 176 int_t sbufsz; /* éä¿¡ç¨ã¦ã£ã³ããããã¡ãµã¤ãº */ 177 void *rbuf; /* åä¿¡ç¨ã¦ã£ã³ããããã¡ */ 178 int_t rbufsz; /* åä¿¡ç¨ã¦ã£ã³ããããã¡ãµã¤ãº */ 179 FP callback; /* ã³ã¼ã«ãã㯠*/ 180 /* å®è£ 181 ä¾å */ 160 /* 標準 */ 161 ATR cepatr; /* 通信端点属性 */ 162 void *sbuf; /* 送信用ウィンドバッファ */ 163 int_t sbufsz; /* 送信用ウィンドバッファサイズ */ 164 void *rbuf; /* 受信用ウィンドバッファ */ 165 int_t rbufsz; /* 受信用ウィンドバッファサイズ */ 166 FP callback; /* コールバック */ 167 /* 実装依存 */ 182 168 } T_TCP_CCEP; 183 169 184 170 /* 185 * åççæç¨ TCP åä»å£171 * 動的生成用 TCP 受付口 186 172 */ 187 173 188 174 typedef struct t_tcp_crep { 189 /* æ¨æº */ 190 ATR repatr; /* åä»å£å±æ§ */ 191 T_IPV4EP myaddr; /* èªåã®ã¢ãã¬ã¹ */ 192 /* å®è£ 193 ä¾å */ 175 /* 標準 */ 176 ATR repatr; /* 受付口属性 */ 177 T_IPV4EP myaddr; /* 自分のアドレス */ 178 /* 実装依存 */ 194 179 } T_TCP_CREP; 195 180 196 181 /* 197 * åççæç¨ UDP é信端ç¹182 * 動的生成用 UDP 通信端点 198 183 */ 199 184 200 185 typedef struct t_udp_ccep { 201 /* æ¨æº */ 202 ATR cepatr; /* UDP é信端ç¹å±æ§ */ 203 T_IPV4EP myaddr; /* èªåã®ã¢ãã¬ã¹ */ 204 FP callback; /* ã³ã¼ã«ããã¯é¢æ° */ 205 /* å®è£ 206 ä¾å */ 186 /* 標準 */ 187 ATR cepatr; /* UDP 通信端点属性 */ 188 T_IPV4EP myaddr; /* 自分のアドレス */ 189 FP callback; /* コールバック関数 */ 190 /* 実装依存 */ 207 191 } T_UDP_CCEP; 208 192 209 193 /* 210 * TINET ç¬èªAPI194 * TINET 独自 API 211 195 */ 212 196 -
asp3_gr_sakura/trunk/tinet/netinet/in4_subr.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 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 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 120 108 121 109 /* 122 * in_rtinit -- ã«ã¼ãã£ã³ã°è¡¨ãåæåããã110 * in_rtinit -- ルーティング表を初期化する。 123 111 */ 124 112 … … 136 124 137 125 /* 138 * in_rtnewentry -- æ°ããã¨ã³ããªãç²å¾ããã126 * in_rtnewentry -- 新しいエントリを獲得する。 139 127 */ 140 128 … … 146 134 int_t ix; 147 135 148 /* 空ãã¨ã³ããªãæ¢ãã*/136 /* 空きエントリを探す。*/ 149 137 for (ix = NUM_IN4_STATIC_ROUTE_ENTRY; ix < NUM_IN4_ROUTE_ENTRY; ix ++) { 150 138 rt = &routing4_tbl[ix]; … … 155 143 } 156 144 157 /* expire ã®åä½ã¯ [s]ã*/145 /* expire の単位は [s]。*/ 158 146 syscall(get_tim(&now)); 159 147 now /= SYSTIM_HZ; 160 148 161 149 if (frt == NULL) { 162 /* 空ãããªããã°ãæå¹æéããã£ã¨ãçãã¨ã³ããªã空ãã«ããã*/150 /* 空きがなければ、有効時間がもっとも短いエントリを空きにする。*/ 163 151 T_IN4_RTENTRY *srt = NULL; 164 152 int_t diff, sdiff = INT_MAX; … … 169 157 diff = (int_t)(rt->expire - now); 170 158 if (diff <= 0) { /* rt->expire <= now */ 171 /* æ¢ã«ãæå¹æéãéãã¦ããã*/159 /* 既に、有効時間が過ぎている。*/ 172 160 frt = rt; 173 161 break; … … 190 178 191 179 /* 192 * in_rttimer -- ã«ã¼ãã£ã³ã°è¡¨ã®ç®¡çã¿ã¤ãã¼180 * in_rttimer -- ルーティング表の管理タイマー 193 181 */ 194 182 … … 199 187 int_t ix; 200 188 201 /* expire ã®åä½ã¯ [s]ã*/189 /* expire の単位は [s]。*/ 202 190 syscall(get_tim(&now)); 203 191 now /= SYSTIM_HZ; … … 214 202 215 203 /* 216 * in4_get_maxnum_ifaddr -- ã¤ã³ã¿ãã§ã¼ã¹ã«è¨å®å¯è½ãªæ大ã¢ãã¬ã¹æ°ãè¿ãã204 * in4_get_maxnum_ifaddr -- インタフェースに設定可能な最大アドレス数を返す。 217 205 */ 218 206 … … 224 212 225 213 /* 226 * in4_get_ifaddr -- ã¤ã³ã¿ãã§ã¼ã¹ã«è¨å®ããã¦ããã¢ãã¬ã¹ãè¿ãã214 * in4_get_ifaddr -- インタフェースに設定されているアドレスを返す。 227 215 */ 228 216 … … 236 224 237 225 /* 238 * in4_set_header -- IPv4 ããããè¨å®ããã226 * in4_set_header -- IPv4 ヘッダを設定する。 239 227 */ 240 228 … … 246 234 T_IFNET *ifp = IF_GET_IFNET(); 247 235 248 /* IP ããããè¨å®ããã*/236 /* IP ヘッダを設定する。*/ 249 237 ip4h->vhl = IP4_MAKE_VHL(IPV4_VERSION, IP4_HDR_SIZE >> 2); 250 238 ip4h->len = htons(IP4_HDR_SIZE + len); … … 254 242 ip4h->id = ip4h->flg_off = ip4h->sum = 0; 255 243 256 /* IP ã¢ãã¬ã¹ãè¨å®ããã*/244 /* IP アドレスを設定する。*/ 257 245 ip4h->dst = htonl(*dstaddr); 258 246 … … 266 254 267 255 /* 268 * in4_get_datagram -- IPv4 ãã¼ã¿ã°ã©ã ãç²å¾ããããããè¨å®ããã256 * in4_get_datagram -- IPv4 データグラムを獲得し、ヘッダを設定する。 269 257 */ 270 258 … … 277 265 uint_t align; 278 266 279 /* ãã¼ã¿é·ã 4 ãªã¯ãããå¢çã«èª¿æ´ããã*/267 /* データ長を 4 オクテット境界に調整する。*/ 280 268 align = (len + 3) >> 2 << 2; 281 269 282 /* ãããã¯ã¼ã¯ãããã¡ãç²å¾ããã*/270 /* ネットワークバッファを獲得する。*/ 283 271 if ((error = tget_net_buf_ex(nbuf, (uint_t)(IF_IP4_HDR_SIZE + align), 284 272 (uint_t)(IF_IP4_HDR_SIZE + maxlen), nbatr, tmout)) != E_OK) … … 286 274 287 275 /* 288 * ãã大ããªãµã¤ãºã®ãããã¯ã¼ã¯ãããã¡ãç²å¾ããå ´åã®ã¿é·ãã調æ´ããã289 * ããå°ããªãµã¤ãºã®ãããã¯ã¼ã¯ãããã¡ã®ç²å¾ã¯ãéä¿¡ã¦ã£ã³ããããã¡ã®290 * çã³ãã¼æ©è½ã§ä½¿ç¨ãããå®éã«éä¿¡ããã¾ã§ããã¼ã¿ãµã¤ãºã¯æ±ºå®ã§ããªãã276 * より大きなサイズのネットワークバッファを獲得する場合のみ長さを調整する。 277 * より小さなサイズのネットワークバッファの獲得は、送信ウィンドバッファの 278 * 省コピー機能で使用され、実際に送信するまで、データサイズは決定できない。 291 279 */ 292 280 if ((nbatr & NBA_SEARCH_ASCENT) != 0) 293 281 (*nbuf)->len = (uint16_t)(IF_IP4_HDR_SIZE + len); 294 282 295 /* IP ããããè¨å®ããã*/283 /* IP ヘッダを設定する。*/ 296 284 if ((error = in4_set_header(*nbuf, len, dstaddr, srcaddr, proto, ttl)) != E_OK) 297 285 return error; 298 286 299 /* 4 ãªã¯ãããå¢çã¾ã§ããã£ã³ã°ã§åããã*/287 /* 4 オクテット境界までパディングで埋める。*/ 300 288 if (align > len) 301 289 memset((GET_IP4_SDU(*nbuf) + len), 0, (size_t)(align - len)); … … 305 293 306 294 /* 307 * in4_cksum -- IPv4 ã®ãã©ã³ã¹ãã¼ã層ãããã®ãã§ãã¯ãµã ãè¨ç®ããã308 * 309 * 注æ: æ»ãå¤ã¯ãããã¯ã¼ã¯ãã¤ããªã¼ã295 * in4_cksum -- IPv4 のトランスポート層ヘッダのチェックサムを計算する。 296 * 297 * 注意: 戻り値はネットワークバイトオーダ 310 298 */ 311 299 … … 316 304 uint_t align; 317 305 318 /* 4 ãªã¯ãããå¢çã®ãã¼ã¿é·*/306 /* 4 オクテット境界のデータ長 */ 319 307 align = (len + 3) >> 2 << 2; 320 308 321 /* 4 ãªã¯ãããå¢çã¾ã§ããã£ã³ã°ã§åããã*/309 /* 4 オクテット境界までパディングで埋める。*/ 322 310 if (align > len) 323 311 memset((uint8_t*)nbuf->buf + off + len, 0, (size_t)(align - len)); … … 332 320 333 321 /* 334 * in_cksum -- ãã§ãã¯ãµã è¨ç®é¢æ°ãIPv4ãICMPv4 ç¨335 * 336 * 注æ: data 㯠4 ãªã¯ãããåä½ã§ããã£ã³ã°ãããã¨ã337 * data ã 2 ãªã¯ãããåä½ã«ã¢ã©ã¤ã³ããã¦ããªãã¨338 * ä¾å¤ãçºçããå¯è½æ§ãããã339 * len 㯠4 ãªã¯ãããåä½ã«ã¢ã©ã¤ã³ããã¦ãããã¨ã340 * 341 * æ»ãå¤ã¯ãããã¯ã¼ã¯ãã¤ããªã¼ã322 * in_cksum -- チェックサム計算関数、IPv4、ICMPv4 用 323 * 324 * 注意: data は 4 オクテット単位でパディングすること。 325 * data が 2 オクテット単位にアラインされていないと 326 * 例外が発生する可能性がある。 327 * len は 4 オクテット単位にアラインされていること。 328 * 329 * 戻り値はネットワークバイトオーダ 342 330 */ 343 331 344 332 uint16_t 345 in_cksum (void *data, uint_t len /* ãªã¯ãããåä½*/)333 in_cksum (void *data, uint_t len /*オクテット単位*/) 346 334 { 347 335 uint16_t sum; … … 352 340 353 341 /* 354 * in4_is_dstaddr_accept -- å®å 355 ã¢ãã¬ã¹ã¨ãã¦æ£ããããã§ãã¯ããã 356 * 357 * 注æ: dstaddr ã¯ã 358 * TINET-1.2 ãããããã¯ã¼ã¯ãã¤ããªã¼ãã 359 * TINET-1.1 ã¾ã§ã¯ããã¹ããã¤ããªã¼ã 342 * in4_is_dstaddr_accept -- 宛先アドレスとして正しいかチェックする。 343 * 344 * 注意: dstaddr は、 345 * TINET-1.2 からネットワークバイトオーダ、 346 * TINET-1.1 までは、ホストバイトオーダ 360 347 */ 361 348 … … 370 357 371 358 /* 372 * inn4_is_dstaddr_accept -- å®å 373 ã¢ãã¬ã¹ã¨ãã¦æ£ããããã§ãã¯ããã 374 * 375 * 注æ: dstaddr ã¯ã 376 * TINET-1.2 ãããããã¯ã¼ã¯ãã¤ããªã¼ãã 377 * TINET-1.1 ã¾ã§ã¯ããã¹ããã¤ããªã¼ã 359 * inn4_is_dstaddr_accept -- 宛先アドレスとして正しいかチェックする。 360 * 361 * 注意: dstaddr は、 362 * TINET-1.2 からネットワークバイトオーダ、 363 * TINET-1.1 までは、ホストバイトオーダ 378 364 */ 379 365 … … 391 377 392 378 /* 393 * in4_addrwithifp -- å®å 394 ã¢ãã¬ã¹ã«ãµããããéä¿¡å 395 ã¢ãã¬ã¹ãã 396 * ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ããæ¢ç´¢ããã 397 * in6_addrwithifp ãã·ãã¥ã¬ã¼ãããã ãã§ã 398 * ã¨ã©ã¼ãè¿ããã¨ã¯ãªãã 379 * in4_addrwithifp -- 宛先アドレスにふさわしい送信元アドレスを、 380 * ネットワークインタフェースから探索する。 381 * in6_addrwithifp をシミュレートするだけで、 382 * エラーを返すことはない。 399 383 */ 400 384 … … 407 391 408 392 /* 409 * in4_add_ifaddr -- ã¤ã³ã¿ãã§ã¼ã¹ã« IPv4 ã¢ãã¬ã¹ãè¨å®ããã393 * in4_add_ifaddr -- インタフェースに IPv4 アドレスを設定する。 410 394 */ 411 395 … … 423 407 424 408 /* 425 * in4_add_route -- çµè·¯è¡¨ã«ã¨ã³ããªãè¨å®ããã409 * in4_add_route -- 経路表にエントリを設定する。 426 410 */ 427 411 … … 443 427 444 428 /* 445 * in4_rtalloc -- ã«ã¼ãã£ã³ã°è¡¨ãæ¢ç´¢ããã429 * in4_rtalloc -- ルーティング表を探索する。 446 430 */ 447 431 … … 466 450 467 451 /* 468 * in4_rtredirect -- ã«ã¼ãã£ã³ã°è¡¨ã«ã¨ã³ããªãç»é²ããã469 * 470 * 注æ: å¼æ° tmo ã®åä½ã¯ [ms]ã452 * in4_rtredirect -- ルーティング表にエントリを登録する。 453 * 454 * 注意: 引数 tmo の単位は [ms]。 471 455 */ 472 456 … … 485 469 486 470 /* 487 * in4_timer -- IPv4 å 488 ±éã¿ã¤ãã¼ 489 * 490 * 1ç§å¨æã§èµ·åãããã 471 * in4_timer -- IPv4 共通タイマー 472 * 473 * 1秒周期で起動される。 491 474 */ 492 475 … … 510 493 511 494 /* 512 * in4_init -- IPv4 å 513 ±éæ©è½ãåæåããã 495 * in4_init -- IPv4 共通機能を初期化する。 514 496 */ 515 497 -
asp3_gr_sakura/trunk/tinet/netinet/in4_var.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 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 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 86 74 87 75 /* 88 * ã¤ã³ã¿ãã§ã¼ã¹ã¢ãã¬ã¹æ§é ä½76 * インタフェースアドレス構造体 89 77 */ 90 78 91 79 typedef struct t_in4_ifaddr { 92 T_IN4_ADDR addr; /* IPv4 ã¢ãã¬ã¹*/93 T_IN4_ADDR mask; /* ãµãããããã¹ã¯*/80 T_IN4_ADDR addr; /* IPv4 アドレス */ 81 T_IN4_ADDR mask; /* サブネットマスク */ 94 82 } T_IN4_IFADDR; 95 83 96 84 /* 97 * ã«ã¼ãã£ã³ã°è¡¨ã¨ã³ããªæ§é ä½85 * ルーティング表エントリ構造体 98 86 */ 99 87 100 88 typedef struct t_in4_rtentry { 101 T_IN4_ADDR target; /* ç®æ¨ãããã¯ã¼ã¯ã¢ãã¬ã¹*/102 T_IN4_ADDR mask; /* ç®æ¨ãããã¯ã¼ã¯ã¢ãã¬ã¹ã®ãµãããããã¹ã¯*/103 T_IN4_ADDR gateway; /* ã²ã¼ãã¦ã§ã¤ã® IP ã¢ãã¬ã¹*/104 uint32_t expire; /* æå¹æéãåããæå»[s] */105 uint8_t flags; /* ãã©ã°*/89 T_IN4_ADDR target; /* 目標ネットワークアドレス */ 90 T_IN4_ADDR mask; /* 目標ネットワークアドレスのサブネットマスク */ 91 T_IN4_ADDR gateway; /* ゲートウェイの IP アドレス */ 92 uint32_t expire; /* 有効時間が切れる時刻 [s] */ 93 uint8_t flags; /* フラグ */ 106 94 } T_IN4_RTENTRY; 107 95 /* 108 * TINET 1.1 ã¨ã®äºææ§ã®ããã®å®ç¾©109 * 110 * TINET 1.5 ã¨ã®äºææ§ã®ããã«å®ç¾©ãç¡å¹ã«ããã96 * TINET 1.1 との互換性のための定義 97 * 98 * TINET 1.5 との互換性のために定義を無効にした。 111 99 */ 112 100 … … 123 111 124 112 /* 125 * ã«ã¼ãã£ã³ã°è¡¨113 * ルーティング表 126 114 */ 127 115 … … 133 121 134 122 /* 135 * åæ¹åç 136 § 123 * 前方参照 137 124 */ 138 125 … … 148 135 149 136 /* 150 * é¢æ°ã·ãã¥ã¬ã¼ã·ã§ã³ãã¯ã137 * 関数シミュレーションマクロ 151 138 */ 152 139 … … 154 141 155 142 /* 156 * é¢æ°143 * 関数 157 144 */ 158 145 … … 171 158 172 159 /* 173 * in4_is_dstaddr_accept -- å®å 174 ã¢ãã¬ã¹ã¨ãã¦æ£ããããã§ãã¯ããã 175 * 176 * 注æ: dstaddr ã¯ã 177 * TINET-1.2 ãããããã¯ã¼ã¯ãã¤ããªã¼ãã 178 * TINET-1.1 ã¾ã§ã¯ããã¹ããã¤ããªã¼ã 160 * in4_is_dstaddr_accept -- 宛先アドレスとして正しいかチェックする。 161 * 162 * 注意: dstaddr は、 163 * TINET-1.2 からネットワークバイトオーダ、 164 * TINET-1.1 までは、ホストバイトオーダ 179 165 */ 180 166 extern bool_t in4_is_dstaddr_accept (T_IN4_ADDR *myaddr, T_IN4_ADDR *dstaddr); … … 182 168 183 169 /* 184 * in_cksum -- ãã§ãã¯ãµã è¨ç®é¢æ°ãIPv4ãICMPv4 ç¨185 * 186 * 注æ: data 㯠4 ãªã¯ãããåä½ã§ããã£ã³ã°ãããã¨ã187 * data ã 2 ãªã¯ãããåä½ã«ã¢ã©ã¤ã³ããã¦ããªãã¨188 * ä¾å¤ãçºçããå¯è½æ§ãããã189 * len 㯠4 ãªã¯ãããåä½ã«ã¢ã©ã¤ã³ããã¦ãããã¨ã190 */ 191 extern uint16_t in_cksum(void *data, uint_t len /* ãªã¯ãããåä½*/);192 193 /* 194 * in_cksum_sum -- ãã§ãã¯ãµã ã®åè¨è¨ç®é¢æ°195 * 196 * 注æ: data 㯠4 ãªã¯ãããåä½ã§ããã£ã³ã°ãããã¨ã197 * data ã 2 ãªã¯ãããåä½ã«ã¢ã©ã¤ã³ããã¦ããªãã¨198 * ä¾å¤ãçºçããå¯è½æ§ãããã199 * len 㯠4 ãªã¯ãããåä½ã«ã¢ã©ã¤ã³ããã¦ãããã¨ã200 */ 201 extern uint32_t in_cksum_sum (void *data, uint_t len /* ãªã¯ãããåä½*/);202 203 /* 204 * in_cksum_carry -- ãã§ãã¯ãµã ã®æ¡ä¸ãè¨ç®é¢æ°205 * 206 * 注æ: data 㯠4 ãªã¯ãããåä½ã§ããã£ã³ã°ãããã¨ã207 * data ã 2 ãªã¯ãããåä½ã«ã¢ã©ã¤ã³ããã¦ããªãã¨208 * ä¾å¤ãçºçããå¯è½æ§ãããã209 * len 㯠4 ãªã¯ãããåä½ã«ã¢ã©ã¤ã³ããã¦ãããã¨ã170 * in_cksum -- チェックサム計算関数、IPv4、ICMPv4 用 171 * 172 * 注意: data は 4 オクテット単位でパディングすること。 173 * data が 2 オクテット単位にアラインされていないと 174 * 例外が発生する可能性がある。 175 * len は 4 オクテット単位にアラインされていること。 176 */ 177 extern uint16_t in_cksum(void *data, uint_t len /*オクテット単位*/); 178 179 /* 180 * in_cksum_sum -- チェックサムの合計計算関数 181 * 182 * 注意: data は 4 オクテット単位でパディングすること。 183 * data が 2 オクテット単位にアラインされていないと 184 * 例外が発生する可能性がある。 185 * len は 4 オクテット単位にアラインされていること。 186 */ 187 extern uint32_t in_cksum_sum (void *data, uint_t len /*オクテット単位*/); 188 189 /* 190 * in_cksum_carry -- チェックサムの桁上げ計算関数 191 * 192 * 注意: data は 4 オクテット単位でパディングすること。 193 * data が 2 オクテット単位にアラインされていないと 194 * 例外が発生する可能性がある。 195 * len は 4 オクテット単位にアラインされていること。 210 196 */ 211 197 extern uint32_t in_cksum_carry (uint32_t sum); -
asp3_gr_sakura/trunk/tinet/netinet/in_itron.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 48 36 49 37 /* 50 * API æ©è½ã»äºè±¡ã³ã¼ã38 * API 機能・事象コード 51 39 */ 52 40 53 /* TCP é¢ä¿*/41 /* TCP 関係 */ 54 42 55 43 #define TFN_TCP_CRE_REP (-0x201) … … 76 64 #define TEV_TCP_RCV_OOB (-0x201) 77 65 78 /* UDP é¢ä¿*/66 /* UDP 関係 */ 79 67 80 68 #define TFN_UDP_CRE_CEP (-0x221) … … 89 77 #define TEV_UDP_RCV_DAT (-0x221) 90 78 91 /* ä¸è¬*/79 /* 一般 */ 92 80 93 #define NADR ((void*)(-1)) /* ç¡å¹ã¢ãã¬ã¹*/81 #define NADR ((void*)(-1)) /* 無効アドレス */ 94 82 #define IS_PTR_DEFINED(a) ((void*)(a)!=NADR&&(void*)(a)!=NULL) 95 83 #define TCP_REP_NONE UINT_C(0) … … 98 86 99 87 /* 100 * é¢æ°88 * 関数 101 89 */ 102 90 103 /* TCP é¢ä¿*/91 /* TCP 関係 */ 104 92 105 /* ãæ¨æºæ©è½ã*/93 /* 【標準機能】 */ 106 94 107 95 extern ER tcp_acp_cep (ID cepid, ID repid, T_IPV4EP *p_dstaddr, TMO tmout); … … 120 108 extern ER tcp6_con_cep (ID cepid, T_IPV6EP *p_myaddr, T_IPV6EP *p_dstaddr, TMO tmout); 121 109 122 /* ãæ¡å¼µæ©è½ã*/110 /* 【拡張機能】 */ 123 111 124 112 extern ER tcp_del_rep (ID cepid); … … 133 121 extern ER tcp6_cre_rep (ID repid, T_TCP6_CREP *pk_crep); 134 122 135 /* UDP é¢ä¿*/123 /* UDP 関係 */ 136 124 137 /* ãæ¨æºæ©è½ã*/125 /* 【標準機能】 */ 138 126 139 127 extern ER_UINT udp_snd_dat (ID cepid, T_IPV4EP *p_dstaddr, void *data, int_t len, TMO tmout); … … 144 132 extern ER_UINT udp6_rcv_dat (ID cepid, T_IPV6EP *p_dstaddr, void *data, int_t len, TMO tmout); 145 133 146 /* ãæ¡å¼µæ©è½ã*/134 /* 【拡張機能】 */ 147 135 148 136 extern ER udp_del_cep (ID cepid); -
asp3_gr_sakura/trunk/tinet/netinet/in_rename.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 48 36 49 37 /* 50 * TCP/IP ãããã³ã«ã¹ã¿ãã¯å 51 é¨åã®ãªãã¼ã 38 * TCP/IP プロトコルスタック内部名のリネーム 52 39 */ 53 40 … … 158 145 #define tmax_tcp_repid _tinet_tmax_tcp_repid 159 146 #define tmax_tcp_cepid _tinet_tmax_tcp_cepid 160 #define tmax_tcp_crepid _tinet_tmax_tcp_repid /* TINET 1.3 ã¨ã®äºææ§ã®ããã®å®ç¾©*/161 #define tmax_tcp_ccepid _tinet_tmax_tcp_cepid /* TINET 1.3 ã¨ã®äºææ§ã®ããã®å®ç¾©*/147 #define tmax_tcp_crepid _tinet_tmax_tcp_repid /* TINET 1.3 との互換性のための定義 */ 148 #define tmax_tcp_ccepid _tinet_tmax_tcp_cepid /* TINET 1.3 との互換性のための定義 */ 162 149 163 150 /* netinet/udp_input.c */ … … 195 182 #define udp4_cep _tinet_udp4_cep 196 183 #define tmax_udp_cepid _tinet_tmax_udp_cepid 197 #define tmax_udp_ccepid _tinet_tmax_udp_cepid /* TINET 1.3 ã¨ã®äºææ§ã®ããã®å®ç¾©*/184 #define tmax_udp_ccepid _tinet_tmax_udp_cepid /* TINET 1.3 との互換性のための定義 */ 198 185 199 186 /* netinet/ip_icmp.c */ -
asp3_gr_sakura/trunk/tinet/netinet/in_subr.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 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 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 117 105 118 106 /* 119 * in_cksum_sum -- ãã§ãã¯ãµã ã®åè¨è¨ç®é¢æ°120 * 121 * 注æ: data 㯠4 ãªã¯ãããåä½ã§ããã£ã³ã°ãããã¨ã122 * data ã 2 ãªã¯ãããåä½ã«ã¢ã©ã¤ã³ããã¦ããªãã¨123 * ä¾å¤ãçºçããå¯è½æ§ãããã124 * len 㯠4 ãªã¯ãããåä½ã«ã¢ã©ã¤ã³ããã¦ãããã¨ã125 * 126 * æ»ãå¤ã¯ãã¹ããã¤ããªã¼ã107 * in_cksum_sum -- チェックサムの合計計算関数 108 * 109 * 注意: data は 4 オクテット単位でパディングすること。 110 * data が 2 オクテット単位にアラインされていないと 111 * 例外が発生する可能性がある。 112 * len は 4 オクテット単位にアラインされていること。 113 * 114 * 戻り値はホストバイトオーダ 127 115 */ 128 116 129 117 uint32_t 130 in_cksum_sum (void *data, uint_t len /* ãªã¯ãããåä½*/)118 in_cksum_sum (void *data, uint_t len /*オクテット単位*/) 131 119 { 132 120 uint32_t sum = 0; … … 146 134 147 135 /* 148 * in_cksum_carry -- ãã§ãã¯ãµã ã®æ¡ä¸ãè¨ç®é¢æ°149 * 150 * 注æ: data 㯠4 ãªã¯ãããåä½ã§ããã£ã³ã°ãããã¨ã151 * data ã 2 ãªã¯ãããåä½ã«ã¢ã©ã¤ã³ããã¦ããªãã¨152 * ä¾å¤ãçºçããå¯è½æ§ãããã153 * len 㯠4 ãªã¯ãããåä½ã«ã¢ã©ã¤ã³ããã¦ãããã¨ã136 * in_cksum_carry -- チェックサムの桁上げ計算関数 137 * 138 * 注意: data は 4 オクテット単位でパディングすること。 139 * data が 2 オクテット単位にアラインされていないと 140 * 例外が発生する可能性がある。 141 * len は 4 オクテット単位にアラインされていること。 154 142 */ 155 143 … … 168 156 169 157 /* 170 * in_strtfn -- API æ©è½ã³ã¼ãã®æå表ç¾ãè¿ãã158 * in_strtfn -- API 機能コードの文字表現を返す。 171 159 */ 172 160 173 161 typedef struct t_strtfn { 174 FN fncd; /* API æ©è½ã³ã¼ã*/175 const char *str; /* æå表ç¾*/162 FN fncd; /* API 機能コード */ 163 const char *str; /* 文字表現 */ 176 164 } T_STRTFN; 177 165 … … 222 210 223 211 /* 224 * ipv42str -- IPv4 ã¢ãã¬ã¹ãæååã«å¤æããã212 * ipv42str -- IPv4 アドレスを文字列に変換する。 225 213 */ 226 214 … … 256 244 257 245 /* 258 * in6_is_addr_ipv4mapped -- IPv4 å°å½±ã¢ãã¬ã¹ã§ããäºãæ¤æ»ããã246 * in6_is_addr_ipv4mapped -- IPv4 射影アドレスである事を検査する。 259 247 */ 260 248 … … 268 256 269 257 /* 270 * ip_exchg_addr -- IP ã¢ãã¬ã¹ã交æããã258 * ip_exchg_addr -- IP アドレスを交換する。 271 259 */ 272 260 … … 279 267 iph = GET_IP6_HDR(nbuf); 280 268 281 /* IPv6 ã¢ãã¬ã¹ã交æããã*/269 /* IPv6 アドレスを交換する。*/ 282 270 ipaddr = iph->src; 283 271 iph->src = iph->dst; … … 293 281 iph = GET_IP4_HDR(nbuf); 294 282 295 /* IPv4 ã¢ãã¬ã¹ã交æããã*/283 /* IPv4 アドレスを交換する。*/ 296 284 ipaddr = iph->src; 297 285 iph->src = iph->dst; … … 311 299 312 300 /* 313 * ip_exchg_addr -- IP ã¢ãã¬ã¹ã交æããã301 * ip_exchg_addr -- IP アドレスを交換する。 314 302 */ 315 303 … … 322 310 iph = GET_IP_HDR(nbuf); 323 311 324 /* IP ã¢ãã¬ã¹ã交æããã*/312 /* IP アドレスを交換する。*/ 325 313 ipaddr = iph->src; 326 314 iph->src = iph->dst; … … 333 321 334 322 /* 335 * inn_is_dstaddr_accept -- å®å 336 ã¢ãã¬ã¹ã¨ãã¦æ£ããããã§ãã¯ããã 323 * inn_is_dstaddr_accept -- 宛先アドレスとして正しいかチェックする。 337 324 */ 338 325 … … 357 344 358 345 /* 359 * inn_are_net_srcaddr_equal -- ã¢ãã¬ã¹ãåä¸ããã§ãã¯ããã346 * inn_are_net_srcaddr_equal -- アドレスが同一かチェックする。 360 347 */ 361 348 … … 375 362 376 363 /* 377 * inn_copy_to_host -- IP ããããããã¹ã表ç¾å¤æãã¦ãIP ã¢ãã¬ã¹ãã³ãã¼ããã364 * inn_copy_to_host -- IP ヘッダからホスト表現変換して、IP アドレスをコピーする。 378 365 */ 379 366 … … 389 376 390 377 /* 391 * inn_get_datagram -- IPv6/IPv4 ãã¼ã¿ã°ã©ã ãç²å¾ããããããè¨å®ããã378 * inn_get_datagram -- IPv6/IPv4 データグラムを獲得し、ヘッダを設定する。 392 379 */ 393 380 … … 413 400 414 401 /* 415 * inn_addrwithifp -- å®å 416 ã¢ãã¬ã¹ã«ãµããããéä¿¡å 417 ã¢ãã¬ã¹ãã 418 * ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ããæ¢ç´¢ããã 402 * inn_addrwithifp -- 宛先アドレスにふさわしい送信元アドレスを、 403 * ネットワークインタフェースから探索する。 419 404 */ 420 405 … … 435 420 436 421 /* 437 * inn_is_addr_multicast -- ã¢ãã¬ã¹ããã«ããã£ã¹ãã¢ãã¬ã¹ããã§ãã¯ããã422 * inn_is_addr_multicast -- アドレスがマルチキャストアドレスかチェックする。 438 423 */ 439 424 … … 451 436 452 437 /* 453 * ãã¤ããªã¼ãé¢æ°ã®å®ç¾©454 * 455 * tinet/net/net.h ã§ããã¤ããªã¼ãã®å®ç¾©ãè¡ã£ã¦ãããã456 * tinet/net/net.h ãã¤ã³ã¯ã«ã¼ãããªã457 * ã¢ããªã±ã¼ã·ã§ã³ããã°ã©ã ç¨ã«458 * ã¿ã¼ã²ããä¾åããªããã¤ããªã¼ãé¢æ°ãå®ç¾©ããã438 * バイトオーダ関数の定義 439 * 440 * tinet/net/net.h でもバイトオーダの定義を行っているが、 441 * tinet/net/net.h をインクルードしない 442 * アプリケーションプログラム用に 443 * ターゲット依存しないバイトオーダ関数を定義する。 459 444 */ 460 445 -
asp3_gr_sakura/trunk/tinet/netinet/in_var.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 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 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 87 75 88 76 /* 89 * ç¬èªã®ã¨ã©ã¼ã³ã¼ã 90 */ 91 92 #define EV_NOPND (-97) /* ãã³ãã£ã³ã°ãã¦ããªã */ 93 94 /* 95 * ãããã¯ã¼ã¯ã¨ã©ã¼ã³ã¼ã 96 */ 97 98 #define EV_MSIZE (-98) /* ãã¼ã¿ã°ã©ã é·è¶ 99 é */ 100 #define EV_NURCH (-99) /* ãããã¯ã¼ã¯å°éä¸è½ */ 101 #define EV_HDOWN (-100) /* ãã¹ããã¦ã³ */ 102 #define EV_HURCH (-101) /* ãã¹ãå°éä¸è½ */ 103 #define EV_CNNRF (-102) /* æ¥ç¶ä¸è½ */ 104 #define EV_CNRST (-103) /* æ¥ç¶ãªã»ãã */ 105 #define EV_REXMTMO (-104) /* åéã¿ã¤ã ã¢ã¦ã */ 106 107 /* 108 * å 109 ±éã¿ã¤ãã®èµ·åå¨æã®å®ç¾© 77 * 独自のエラーコード 78 */ 79 80 #define EV_NOPND (-97) /* ペンディングしていない */ 81 82 /* 83 * ネットワークエラーコード 84 */ 85 86 #define EV_MSIZE (-98) /* データグラム長超過 */ 87 #define EV_NURCH (-99) /* ネットワーク到達不能 */ 88 #define EV_HDOWN (-100) /* ホストダウン */ 89 #define EV_HURCH (-101) /* ホスト到達不能 */ 90 #define EV_CNNRF (-102) /* 接続不能 */ 91 #define EV_CNRST (-103) /* 接続リセット */ 92 #define EV_REXMTMO (-104) /* 再送タイムアウト */ 93 94 /* 95 * 共通タイマの起動周期の定義 110 96 */ 111 97 … … 113 99 114 100 /* 115 * ã«ã¼ãã£ã³ã°ã¨ã³ããªç¶æ 116 ãã©ã° 117 */ 118 119 #define IN_RTF_DEFINED UINT_C(0x01) /* å®ç¾©æ¸ã¿ */ 120 #define IN_RTF_REDIRECT UINT_C(0x10) /* åãç´ãã«ããèªåè¨å®ããã */ 121 122 /* 123 * IPv4 㨠IPv6 ãã³ã³ãã¤ã«æã«é¸æããããã®ãã¯ã 101 * ルーティングエントリ状態フラグ 102 */ 103 104 #define IN_RTF_DEFINED UINT_C(0x01) /* 定義済み */ 105 #define IN_RTF_REDIRECT UINT_C(0x10) /* 向け直しにより自動設定された */ 106 107 /* 108 * IPv4 と IPv6 をコンパイル時に選択するためのマクロ 124 109 */ 125 110 … … 207 192 208 193 /* 209 * é¢æ°194 * 関数 210 195 */ 211 196 extern bool_t inn_is_dstaddr_accept (T_IN6_ADDR *myaddr, T_NET_BUF *nbuf); -
asp3_gr_sakura/trunk/tinet/netinet/ip.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * IPv4 ã§ä½¿ç¨ããã«ã¼ãã«ãªãã¸ã§ã¯ã35 * IPv4 で使用するカーネルオブジェクト 48 36 */ 49 37 … … 52 40 #ifdef IP4_CFG_FRAGMENT 53 41 54 /* ãã¼ã¿ã°ã©ã ã®åå²ã»åæ§æ*/42 /* データグラムの分割・再構成 */ 55 43 56 44 CRE_SEM(SEM_IP4_FRAG_QUEUE, { TA_TPRI, 1, 1 }); … … 60 48 #if NUM_IN4_REDIRECT_ROUTE_ENTRY > 0 61 49 62 /* ã«ã¼ãã£ã³ã°è¡¨ï¼åãç´ãï¼*/50 /* ルーティング表(向け直し)*/ 63 51 64 52 CRE_SEM(SEM_IN4_ROUTING_TBL, { TA_TPRI, 1, 1 }); -
asp3_gr_sakura/trunk/tinet/netinet/ip.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 86 74 87 75 /* 88 * IPv4 ã®å®ç¾©ãRFC791 åç 89 § 76 * IPv4 の定義、RFC791 参照 90 77 */ 91 78 … … 93 80 94 81 /* 95 * IPv4 ãããã®å®ç¾©82 * IPv4 ヘッダの定義 96 83 */ 97 84 98 85 typedef struct t_ip4_hdr { 99 86 uint8_t vhl; /* version << 4 | header length >> 2 */ 100 /* length 㯠4 octets åä½*/87 /* length は 4 octets 単位 */ 101 88 uint8_t type; /* type of services */ 102 89 uint16_t len; /* total length */ … … 116 103 117 104 /* 118 * IPv4 ãããæ§é ä½ã¡ã³ãã¢ã¯ã»ã¹ãã¯ã105 * IPv4 ヘッダ構造体メンバアクセスマクロ 119 106 */ 120 107 … … 128 115 129 116 /* 130 * IPv4 ãããã®ãã£ã¼ã«ãã®å¤ã®å®ç¾©117 * IPv4 ヘッダのフィールドの値の定義 131 118 */ 132 119 133 #define IP4_VHL_BORING UINT_C(0x45) /* ãªãã·ã§ã³ããªã VHL å¤*/134 #define IP4_RF UINT_C(0x8000) /* off: äºç´*/135 #define IP4_DF UINT_C(0x4000) /* off: åå²ç¦æ¢*/136 #define IP4_MF UINT_C(0x2000) /* off: åå²ãã*/137 #define IP4_OFFMASK UINT_C(0x1fff) /* ãªãã»ããé¨ã®ãã¹ã¯å¤*/120 #define IP4_VHL_BORING UINT_C(0x45) /* オプションがない VHL 値 */ 121 #define IP4_RF UINT_C(0x8000) /* off: 予約 */ 122 #define IP4_DF UINT_C(0x4000) /* off: 分割禁止 */ 123 #define IP4_MF UINT_C(0x2000) /* off: 分割あり */ 124 #define IP4_OFFMASK UINT_C(0x1fff) /* オフセット部のマスク値 */ 138 125 139 126 /* 140 * å¶éå¤127 * 制限値 141 128 */ 142 129 143 #define IP4_MAXPACKET UINT_C(65535) /* æ大ãã±ãããµã¤ãº*/144 #define IP4_MAXTTL UINT_C(255) /* TTL æ大å¤*/145 #define IP4_DEFTTL UINT_C(64) /* TTL è¦å®å¤(RFC1340) */146 #define IP4_FRAGTTL UINT_C(60) /* åå²ããããã¼ã¿ã°ã©ã ã®çåæéï¼ç§ï¼*/147 #define IP4_MSS UINT_C(576) /* æ大ã»ã°ã¡ã³ããµã¤ãºã®è¦å®å¤*/130 #define IP4_MAXPACKET UINT_C(65535) /* 最大パケットサイズ */ 131 #define IP4_MAXTTL UINT_C(255) /* TTL 最大値 */ 132 #define IP4_DEFTTL UINT_C(64) /* TTL 規定値 (RFC1340) */ 133 #define IP4_FRAGTTL UINT_C(60) /* 分割されたデータグラムの生存時間(秒)*/ 134 #define IP4_MSS UINT_C(576) /* 最大セグメントサイズの規定値 */ 148 135 149 /* IPv4 㨠IPv6 ãã³ã³ãã¤ã«æã«é¸æããããã®ãã¯ã*/136 /* IPv4 と IPv6 をコンパイル時に選択するためのマクロ */ 150 137 151 138 #if !defined(_IP6_CFG) && defined(_IP4_CFG) -
asp3_gr_sakura/trunk/tinet/netinet/ip4_var.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 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 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 84 72 85 73 /* 86 * IPv4 ãããã»ãã¤ãã¼ãã¢ã¯ã»ã¹ãã¯ã74 * IPv4 ヘッダ・ペイロードアクセスマクロ 87 75 */ 88 76 … … 99 87 100 88 /* 101 * IP ã® MSS ãµã¤ãºã®ãããã¯ã¼ã¯ãããã¡89 * IP の MSS サイズのネットワークバッファ 102 90 */ 103 91 104 92 typedef struct t_net_buf_ip_mss { 105 uint16_t len; /* ãã¼ã¿ã®é·ã*/106 uint8_t idix; /* mpfid ã®ã¤ã³ããã¯ã¹*/107 uint8_t flags; /* ãã©ã°*/93 uint16_t len; /* データの長さ */ 94 uint8_t idix; /* mpfid のインデックス */ 95 uint8_t flags; /* フラグ */ 108 96 #ifdef IF_ETHER_NIC_NET_BUF_ALIGN 109 97 uint8_t nalign[IF_ETHER_NIC_NET_BUF_ALIGN]; … … 113 101 #endif 114 102 uint8_t buf[IF_HDR_SIZE + IP4_MSS]; 115 /* ãããã¡æ¬ä½*/103 /* バッファ本体 */ 116 104 } T_NET_BUF_IP_MSS; 117 105 118 106 /* 119 * 65536 ãªã¯ããããµã¤ãºã®ãããã¯ã¼ã¯ãããã¡107 * 65536 オクテットサイズのネットワークバッファ 120 108 */ 121 109 122 110 typedef struct t_net_buf4_65536 { 123 uint16_t len; /* ãã¼ã¿ã®é·ã*/124 uint8_t idix; /* mpfid ã®ã¤ã³ããã¯ã¹*/125 uint8_t flags; /* ãã©ã°*/111 uint16_t len; /* データの長さ */ 112 uint8_t idix; /* mpfid のインデックス */ 113 uint8_t flags; /* フラグ */ 126 114 #ifdef IF_ETHER_NIC_NET_BUF_ALIGN 127 115 uint8_t nalign[IF_ETHER_NIC_NET_BUF_ALIGN]; … … 131 119 #endif 132 120 uint8_t buf[IF_IP4_HDR_SIZE + 65536]; 133 /* ãããã¡æ¬ä½*/121 /* バッファ本体 */ 134 122 #if defined(IF_PDU_HDR_PADDING) 135 123 uint8_t padding[IF_PDU_HDR_PADDING]; 136 #endif /* ãããã®ä½å*/124 #endif /* ヘッダの余分 */ 137 125 } T_NET_BUF4_65536; 138 126 … … 140 128 141 129 /* 142 * åæ§æãã¥ã¼ç¨ IPv4 ãããã®å®ç¾©130 * 再構成キュー用 IPv4 ヘッダの定義 143 131 */ 144 132 145 133 typedef struct t_qip4_hdr { 146 134 uint8_t vhl; /* version << 4 | header length >> 2 */ 147 /* length 㯠4 octets åä½*/135 /* length は 4 octets 単位 */ 148 136 uint8_t type; /* type of services */ 149 137 uint16_t len; /* total length */ … … 158 146 uint32_t src; /* source address */ 159 147 160 T_NET_BUF *next; /* 次㮠IPv4 ãã©ã°ã¡ã³ã*/148 T_NET_BUF *next; /* 次の IPv4 フラグメント */ 161 149 } T_QIP4_HDR; 162 150 … … 171 159 172 160 /* 173 * ãã¼ã¿ã°ã©ã åæ§æç¨ãããã¯ã¼ã¯ãããã¡161 * データグラム再構成用ネットワークバッファ 174 162 */ 175 163 176 164 typedef struct t_net_buf4_reassm { 177 uint16_t len; /* ãã¼ã¿ã®é·ã*/178 uint8_t idix; /* mpfid ã®ã¤ã³ããã¯ã¹*/179 uint8_t flags; /* ãã©ã°*/165 uint16_t len; /* データの長さ */ 166 uint8_t idix; /* mpfid のインデックス */ 167 uint8_t flags; /* フラグ */ 180 168 #ifdef IF_ETHER_NIC_NET_BUF_ALIGN 181 169 uint8_t nalign[IF_ETHER_NIC_NET_BUF_ALIGN]; … … 185 173 #endif 186 174 uint8_t buf[IP4_CFG_FRAG_REASSM_SIZE]; 187 /* ãããã¡æ¬ä½*/175 /* バッファ本体 */ 188 176 } T_NET_BUF4_REASSM; 189 177 … … 191 179 192 180 /* 193 * TCP ã®åæ§æãã¥ã¼ã«ããã IPv4 ãããã®å®ç¾©181 * TCP の再構成キューにおける IPv4 ヘッダの定義 194 182 */ 195 183 196 184 typedef struct t_ip4_tcp_q_hdr { 197 185 uint8_t vhl; /* version << 4 | header length >> 2 */ 198 /* length 㯠4 octets åä½*/186 /* length は 4 octets 単位 */ 199 187 uint8_t type; /* type of services */ 200 188 uint16_t len; /* total length */ … … 205 193 uint8_t ttl; /* time to live */ 206 194 uint8_t proto; /* protocol */ 207 uint16_t thoff; /* TCP ãããã®ãªãã»ãã*/195 uint16_t thoff; /* TCP ヘッダのオフセット */ 208 196 209 197 T_IN4_ADDR src; /* source address */ … … 214 202 215 203 /* 216 * SNMP 㮠管çæ 217 å ±ãã¼ã¹ (MIB) 204 * SNMP の 管理情報ベース (MIB) 218 205 */ 219 206 … … 257 244 258 245 /* 259 * é¢æ°246 * 関数 260 247 */ 261 248 -
asp3_gr_sakura/trunk/tinet/netinet/ip6.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 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 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 115 103 116 104 /* 117 * IPv6 ã®å®ç¾©ãRFC2460 åç 118 § 105 * IPv6 の定義、RFC2460 参照 119 106 */ 120 107 … … 122 109 123 110 /* 124 * IPv6 ãããã®å®ç¾©111 * IPv6 ヘッダの定義 125 112 */ 126 113 … … 139 126 140 127 /* 141 * IPv6 ãããæ§é ä½ã¡ã³ãã¢ã¯ã»ã¹ãã¯ã128 * IPv6 ヘッダ構造体メンバアクセスマクロ 142 129 */ 143 130 … … 149 136 150 137 /* 151 * æ¡å¼µããã138 * 拡張ヘッダ 152 139 */ 153 140 154 141 typedef struct t_ip6_ext_hdr { 155 142 uint8_t next; /* Next Header */ 156 uint8_t len; /* 8 ãªã¯ãããåä½ã®é·ã*/143 uint8_t len; /* 8 オクテット単位の長さ */ 157 144 } T_IP6_EXT_HDR; 158 145 159 146 /* 160 * ä¸ç¶ç¹ (Hop-by-Hop) ãªãã·ã§ã³ããã147 * 中継点 (Hop-by-Hop) オプションヘッダ 161 148 */ 162 149 163 150 typedef struct t_ip6_hbh_hdr { 164 151 uint8_t next; /* Next Header */ 165 uint8_t len; /* 8 ãªã¯ãããåä½ã®é·ãããã ãã 166 * ãã®ãªãã·ã§ã³ãããå 167 ¨ä½ã®ãªã¯ãããæ°ã 168 * 8 ã§å²ã£ãå¤ã® - 1 ãå 169 ¥ãã 152 uint8_t len; /* 8 オクテット単位の長さ。ただし、 153 * このオプションヘッダ全体のオクテット数を 154 * 8 で割った値の - 1 が入る。 170 155 */ 171 156 } T_IP6_HBH_HDR; 172 157 173 158 /* 174 * çµç¹ (Destination) ãªãã·ã§ã³ããã159 * 終点 (Destination) オプションヘッダ 175 160 */ 176 161 177 162 typedef struct t_ip6_dest_hdr { 178 163 uint8_t next; /* Next Header */ 179 uint8_t len; /* 8 ãªã¯ãããåä½ã®é·ãããã ãã 180 * ãã®ãªãã·ã§ã³ãããå 181 ¨ä½ã®ãªã¯ãããæ°ã 182 * 8 ã§å²ã£ãå¤ã® - 1 ãå 183 ¥ãã 164 uint8_t len; /* 8 オクテット単位の長さ。ただし、 165 * このオプションヘッダ全体のオクテット数を 166 * 8 で割った値の - 1 が入る。 184 167 */ 185 168 } T_IP6_DEST_HDR; 186 169 187 /* ä¸ç¶ç¹ (Hop-by-Hop) ãªãã·ã§ã³*/170 /* 中継点 (Hop-by-Hop) オプション */ 188 171 189 172 #define IP6OPT_PAD1 UINT_C(0x00) /* 00 0 00000 */ … … 194 177 #define IP6OPT_RTR_ALERT UINT_C(0x05) /* 00 0 00101 */ 195 178 196 #define IP6OPT_MINLEN 2 /* ãªãã·ã§ã³ã®æçé·*/197 198 /* æªç¥ã®ãªãã·ã§ã³ã®å¦çã®æå®*/199 200 #define IP6OPT_TYPE_SKIP UINT_C(0x00) /* ç¡è¦ããã*/201 #define IP6OPT_TYPE_DISCARD UINT_C(0x40) /* ãã¼ã¿ã°ã©ã ãç ´æ£ããã*/202 #define IP6OPT_TYPE_FORCEICMP UINT_C(0x80) /* ç ´æ£ãã¦ãICMP ãè¿éããã*/179 #define IP6OPT_MINLEN 2 /* オプションの最短長 */ 180 181 /* 未知のオプションの処理の指定 */ 182 183 #define IP6OPT_TYPE_SKIP UINT_C(0x00) /* 無視する。 */ 184 #define IP6OPT_TYPE_DISCARD UINT_C(0x40) /* データグラムを破棄する。 */ 185 #define IP6OPT_TYPE_FORCEICMP UINT_C(0x80) /* 破棄して、ICMP を返送する。 */ 203 186 #define IP6OPT_TYPE_ICMP UINT_C(0xc0) 204 /* ç ´æ£ãã¦ããã«ããã£ã¹ãã§ãªããã° ICMP ãè¿éããã*/187 /* 破棄して、マルチキャストでなければ ICMP を返送する。 */ 205 188 206 189 #define IP6OPT_TYPE(o) ((o)&UINT_C(0xc0)) 207 190 208 191 /* 209 * çµè·¯å¶å¾¡ããã192 * 経路制御ヘッダ 210 193 */ 211 194 212 195 typedef struct t_ip6_rt_hdr { 213 196 uint8_t next; /* Next Header */ 214 uint8_t len; /* 8 ãªã¯ãããåä½ã®é·ãããã ãã 215 * ãã®ãªãã·ã§ã³ãããå 216 ¨ä½ã®ãªã¯ãããæ°ã 217 * 8 ã§å²ã£ãå¤ã® - 1 ãå 218 ¥ãã 219 */ 220 uint8_t type; /* çµè·¯å¶å¾¡ã¿ã¤ã */ 221 uint8_t segleft; /* ã»ã°ã¡ã³ãã®æ®ã */ 197 uint8_t len; /* 8 オクテット単位の長さ。ただし、 198 * このオプションヘッダ全体のオクテット数を 199 * 8 で割った値の - 1 が入る。 200 */ 201 uint8_t type; /* 経路制御タイプ */ 202 uint8_t segleft; /* セグメントの残り */ 222 203 } T_IP6_RT_HDR; 223 204 224 205 /* 225 * ã¿ã¤ã 0 çµè·¯å¶å¾¡ããã206 * タイプ 0 経路制御ヘッダ 226 207 */ 227 208 228 209 typedef struct t_ip6_rt0_hdr { 229 210 uint8_t next; /* Next Header */ 230 uint8_t len; /* 8 ãªã¯ãããåä½ã®é·ãããã ãã 231 * ãã®ãªãã·ã§ã³ãããå 232 ¨ä½ã®ãªã¯ãããæ°ã 233 * 8 ã§å²ã£ãå¤ã® - 1 ãå 234 ¥ãã 235 */ 236 uint8_t type; /* çµè·¯å¶å¾¡ã¿ã¤ã */ 237 uint8_t segleft; /* ã»ã°ã¡ã³ãã®æ®ã */ 238 uint32_t reserved; /* äºç´ */ 211 uint8_t len; /* 8 オクテット単位の長さ。ただし、 212 * このオプションヘッダ全体のオクテット数を 213 * 8 で割った値の - 1 が入る。 214 */ 215 uint8_t type; /* 経路制御タイプ */ 216 uint8_t segleft; /* セグメントの残り */ 217 uint32_t reserved; /* 予約 */ 239 218 } T_IP6_RT0_HDR; 240 219 241 220 /* 242 * æçããã221 * 断片ヘッダ 243 222 */ 244 223 … … 246 225 uint8_t next; /* Next Header */ 247 226 uint8_t reserved; 248 uint16_t off_flag; /* ãªãã»ããã¨ãã©ã°*/249 uint32_t ident; /* åå²èå¥å*/227 uint16_t off_flag; /* オフセットとフラグ */ 228 uint32_t ident; /* 分割識別子 */ 250 229 } T_IP6_FRAG_HDR; 251 230 252 /* æçãããã®ãªãã»ããã¨ãã©ã°*/231 /* 断片ヘッダのオフセットとフラグ */ 253 232 254 233 #ifdef _NET_CFG_BYTE_ORDER … … 256 235 #if _NET_CFG_BYTE_ORDER == _NET_CFG_BIG_ENDIAN 257 236 258 #define IP6F_OFF_MASK UINT_C(0xfff8) /* ãªãã»ãããååºããã¹ã¯*/259 #define IP6F_RESERVED_MASK UINT_C(0x0006) /* äºç´ãååºããã¹ã¯*/260 #define IP6F_MORE_FRAG UINT_C(0x0001) /* ä¸éãã©ã°ã¡ã³ã*/237 #define IP6F_OFF_MASK UINT_C(0xfff8) /* オフセットを取出すマスク */ 238 #define IP6F_RESERVED_MASK UINT_C(0x0006) /* 予約を取出すマスク */ 239 #define IP6F_MORE_FRAG UINT_C(0x0001) /* 中間フラグメント */ 261 240 262 241 #elif _NET_CFG_BYTE_ORDER == _NET_CFG_LITTLE_ENDIAN 263 242 264 #define IP6F_OFF_MASK UINT_C(0xf8ff) /* ãªãã»ãããååºããã¹ã¯*/265 #define IP6F_RESERVED_MASK UINT_C(0x0600) /* äºç´ãååºããã¹ã¯*/266 #define IP6F_MORE_FRAG UINT_C(0x0100) /* ä¸éãã©ã°ã¡ã³ã*/243 #define IP6F_OFF_MASK UINT_C(0xf8ff) /* オフセットを取出すマスク */ 244 #define IP6F_RESERVED_MASK UINT_C(0x0600) /* 予約を取出すマスク */ 245 #define IP6F_MORE_FRAG UINT_C(0x0100) /* 中間フラグメント */ 267 246 268 247 #endif /* #if _NET_CFG_BYTE_ORDER == _NET_CFG_BIG_ENDIAN */ … … 271 250 272 251 /* 273 * å¶éå¤274 */ 275 276 #define IPV6_MAXHLIM UINT_C(255) /* ããããªãããã®æ大å¤*/277 #define IPV6_DEFHLIM UINT_C(64) /* ããããªãããã®è¦å®å¤*/278 #define IPV6_FRAGTTL UINT_C(60) /* åå²ããããã¼ã¿ã°ã©ã ã®çåæéï¼ç§ï¼*/279 #define IPV6_MMTU UINT_C(1280) /* æå° MTUããã¤ãã¼ã (1024) + ããã(256) */280 #define IPV6_MAXPACKET UINT_C(65535) /* ã¸ã£ã³ããã¤ãã¼ããé¤ãæ大ãã±ãããµã¤ãº*/281 282 /* 283 * IPv6 㨠IPv4 ãã³ã³ãã¤ã«æã«é¸æããããã®ãã¯ã284 */ 285 286 /* 287 * ããããªãããã®è¦å®å¤ã¯ãã«ã¼ã¿éç¥ã«ããå¤æ´ããããã¨ããã252 * 制限値 253 */ 254 255 #define IPV6_MAXHLIM UINT_C(255) /* ホップリミットの最大値 */ 256 #define IPV6_DEFHLIM UINT_C(64) /* ホップリミットの規定値 */ 257 #define IPV6_FRAGTTL UINT_C(60) /* 分割されたデータグラムの生存時間(秒) */ 258 #define IPV6_MMTU UINT_C(1280) /* 最小 MTU。ペイロード (1024) + ヘッダ (256) */ 259 #define IPV6_MAXPACKET UINT_C(65535) /* ジャンボペイロードを除く最大パケットサイズ */ 260 261 /* 262 * IPv6 と IPv4 をコンパイル時に選択するためのマクロ 263 */ 264 265 /* 266 * ホップリミットの規定値は、ルータ通知により変更されることがある 288 267 */ 289 268 290 269 #if NUM_ND6_DEF_RTR_ENTRY > 0 291 270 292 /* ã«ã¼ã¿éç¥ãåä¿¡ããå ´åã¯ãéç¥ãããå¤*/271 /* ルータ通知を受信する場合は、通知された値 */ 293 272 294 273 #define IP6_DEFTTL ip6_defhlim … … 296 275 #else /* #if NUM_ND6_DEF_RTR_ENTRY > 0 */ 297 276 298 /* ã«ã¼ã¿éç¥ãåä¿¡ããªãå ´åã®å¤ã¯æ¢å®å¤*/277 /* ルータ通知を受信しない場合の値は既定値 */ 299 278 300 279 #define IP6_DEFTTL IPV6_DEFHLIM … … 302 281 #endif /* #if NUM_ND6_DEF_RTR_ENTRY > 0 */ 303 282 304 /* IPv4 㨠IPv6 ãã³ã³ãã¤ã«æã«é¸æããããã®ãã¯ã*/283 /* IPv4 と IPv6 をコンパイル時に選択するためのマクロ */ 305 284 306 285 #ifdef _IP6_CFG -
asp3_gr_sakura/trunk/tinet/netinet/ip_icmp.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 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 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 129 117 130 118 /* 131 * å¤æ°119 * 変数 132 120 */ 133 121 … … 135 123 136 124 /* 137 * SNMP 㮠管çæ 138 å ±ãã¼ã¹ (MIB) 125 * SNMP の 管理情報ベース (MIB) 139 126 */ 140 127 … … 144 131 145 132 /* 146 * é¢æ°133 * 関数 147 134 */ 148 135 … … 159 146 160 147 /* 161 * icmp_echo -- ã¨ã³ã¼è¦æ±ãåä¿¡ããã¨ãã®å¦ç162 * 163 * input ã«ã¯ IF ããã㨠IP ããããå«ã¾ãã¦ããã148 * icmp_echo -- エコー要求を受信したときの処理 149 * 150 * input には IF ヘッダと IP ヘッダも含まれている。 164 151 */ 165 152 … … 173 160 NET_COUNT_MIB(icmp_stats.icmpInEchos, 1); 174 161 175 /* IPv4 ã¢ãã¬ã¹ãæªå®ç¾©ã®æã¯å¿çããªãã*/162 /* IPv4 アドレスが未定義の時は応答しない。*/ 176 163 if (!IN4_IS_ADDR_ANY(&ifp->in4_ifaddr.addr)) { 177 164 178 165 /* 179 * ã¡ãã»ã¼ã¸ã®åãã¨ã³ã¼è¦æ± (8) ãã180 * ã¨ã³ã¼å¿ç (0) ã«å¤æ´ãã¦éãè¿ãã166 * メッセージの型をエコー要求 (8) から 167 * エコー応答 (0) に変更して送り返す。 181 168 */ 182 169 … … 185 172 186 173 /* 187 * å®å 188 ã¢ãã¬ã¹ã¯åä¿¡ããã¡ãã»ã¼ã¸ã®éä¿¡å 189 ã¢ãã¬ã¹ã 190 * éä¿¡å 191 ã¢ãã¬ã¹ã¯èª IPv4 ã¢ãã¬ã¹ã 174 * 宛先アドレスは受信したメッセージの送信元アドレス。 175 * 送信元アドレスは自 IPv4 アドレス。 192 176 */ 193 177 ip4h = GET_IP4_HDR(input); … … 195 179 ip4h->src = htonl(ifp->in4_ifaddr.addr); 196 180 197 /* ãã§ãã¯ãµã ãè¨ç®ããã*/181 /* チェックサムを計算する。*/ 198 182 icmp4h->sum = 0; 199 183 icmp4h->sum = in_cksum(icmp4h, 200 184 (uint_t)(((input->len - GET_IF_IP4_HDR_SIZE(input)) + 3) >> 2 << 2)); 201 185 202 /* éä¿¡ããã*/186 /* 送信する。*/ 203 187 NET_COUNT_ICMP4(net_count_icmp4.out_octets, 204 188 input->len - GET_IF_IP4_HDR_SIZE(input)); … … 211 195 212 196 /* 213 * icmp_unreach -- ICMP4_UNREACH ãåä¿¡ããã¨ãã®å¦ç197 * icmp_unreach -- ICMP4_UNREACH を受信したときの処理 214 198 */ 215 199 … … 246 230 error = code2error[code]; 247 231 248 /* æçµãããã TCP/UDP ã®ã¿å¯¾å¿ããã*/232 /* 最終ヘッダが TCP/UDP のみ対応する。*/ 249 233 if (ip4h->proto == IPPROTO_TCP || ip4h->proto == IPPROTO_UDP) { 250 234 … … 275 259 276 260 /* 277 * icmp_redirect -- åãç´ãã¡ãã»ã¼ã¸ãåä¿¡ããã¨ãã®å¦ç278 * 279 * input ã«ã¯ IF ããã㨠IP ããããå«ã¾ãã¦ããã261 * icmp_redirect -- 向け直しメッセージを受信したときの処理 262 * 263 * input には IF ヘッダと IP ヘッダも含まれている。 280 264 */ 281 265 … … 291 275 292 276 /* 293 * å 294 容ãã§ãã¯ã以ä¸ã®å ´åã¯ã¨ã©ã¼ 277 * 内容チェック、以下の場合はエラー 295 278 * 296 * ã»ICMP ã³ã¼ãããICMP4_REDIRECT_PORT_AND_HOST (3) 以ä¸297 * ã»ãã¼ã¿ã°ã©ã é·ããICMP ã®æå°é·ããçã (IP ããã + ICMP ããã + IP ããã+ 8)298 * ã»ãã¼ã¿ã°ã©ã é·ããICMP ã®æ大é·ããçã299 * ã»279 * ・ICMP コードが、ICMP4_REDIRECT_PORT_AND_HOST (3) 以上 280 * ・データグラム長が、ICMP の最小長より短い (IP ヘッダ + ICMP ヘッダ + IP ヘッダ + 8) 281 * ・データグラム長が、ICMP の最大長より短い 282 * ・ 300 283 */ 301 284 if (icmp4h->code > ICMP4_REDIRECT_PORT_AND_HOST || … … 313 296 314 297 /* 315 * icmp_input -- ICMP ã®å 316 ¥åé¢æ° 317 * 318 * input ã«ã¯ IF ããã㨠IP ããããå«ã¾ãã¦ããã 298 * icmp_input -- ICMP の入力関数 299 * 300 * input には IF ヘッダと IP ヘッダも含まれている。 319 301 */ 320 302 … … 331 313 NET_COUNT_ICMP4(net_count_icmp4.in_packets, 1); 332 314 333 /* ICMP ãããã®é·ãããã§ãã¯ããã*/315 /* ICMP ヘッダの長さをチェックする。*/ 334 316 if (input->len < IF_IP4_ICMP4_HDR_SIZE) { 335 317 NET_COUNT_ICMP4(net_count_icmp4.in_err_packets, 1); … … 340 322 icmp4h = (T_ICMP4_HDR *)(input->buf + *offp); 341 323 342 /* 4 ãªã¯ãããå¢çã®ãã¼ã¿é·*/324 /* 4 オクテット境界のデータ長 */ 343 325 len = input->len - *offp; 344 326 align = (len + 3) >> 2 << 2; 345 327 346 /* 4 ãªã¯ãããå¢çã¾ã§ããã£ã³ã°ã§åããã*/328 /* 4 オクテット境界までパディングで埋める。*/ 347 329 if (align > len) 348 330 memset((uint8_t*)input->buf + input->len, 0, (size_t)(align - len)); 349 331 350 /* ãã§ãã¯ãµã ãè¨ç®ããã*/332 /* チェックサムを計算する。*/ 351 333 if (in_cksum(icmp4h, align) != 0) { 352 334 NET_COUNT_ICMP4(net_count_icmp4.in_err_packets, 1); … … 354 336 } 355 337 356 /* ã¡ãã»ã¼ã¸ã®åã«ããåå²ããã*/338 /* メッセージの型により分岐する。*/ 357 339 switch (icmp4h->type) { 358 340 case ICMP4_ECHO_REQUEST: … … 409 391 410 392 /* 411 * icmp_error -- ICMP ã¨ã©ã¼éä¿¡é¢æ°ã412 * 413 * input ã«ã¯ IF ããã㨠IP ããããå«ã¾ãã¦ããã414 * icmp_error ã§ã¯ããããã¯ã¼ã¯ãããã¡ input ãè¿å´ããªãã®ã§ã415 * å¼åºãå´ã§ãéæ¾ãã¦ããçµäºããã393 * icmp_error -- ICMP エラー送信関数。 394 * 395 * input には IF ヘッダと IP ヘッダも含まれている。 396 * icmp_error では、ネットワークバッファ input を返却しないので、 397 * 呼出し側で、開放してから終了する。 416 398 */ 417 399 … … 428 410 ip4hl = GET_IP4_HDR_SIZE(input); 429 411 430 /* éä¿¡ç¨ã® IP ãã¼ã¿ã°ã©ã ãç²å¾ããã*/412 /* 送信用の IP データグラムを獲得する。*/ 431 413 if (input->len - ip4hl < 8) 432 414 len = input->len - ip4hl; … … 440 422 return; 441 423 442 /* ICMP ããããè¨å®ããã*/424 /* ICMP ヘッダを設定する。*/ 443 425 icmp4h = GET_ICMP4_HDR(output, IF_IP4_ICMP4_HDR_OFFSET); 444 426 icmp4h->type = ICMP4_UNREACH; … … 446 428 icmp4h->data.addr= 0; 447 429 448 /* ã¨ã©ã¼ãçºçãã IP ããã㨠ãã¼ã¿ 8 ãªã¯ããããã³ãã¼ããã*/430 /* エラーが発生した IP ヘッダと データ 8 オクテットをコピーする。*/ 449 431 memcpy(GET_ICMP4_SDU(output, IF_IP4_ICMP4_HDR_OFFSET), 450 432 GET_IP4_HDR(input), (size_t)(ip4hl + len)); 451 433 452 /* 4 ãªã¯ãããå¢çã®ãã¼ã¿é·*/434 /* 4 オクテット境界のデータ長 */ 453 435 align = (len + 3) >> 2 << 2; 454 436 455 /* 4 ãªã¯ãããå¢çã¾ã§ããã£ã³ã°ã§åããã*/437 /* 4 オクテット境界までパディングで埋める。*/ 456 438 if (align > len) 457 439 memset((uint8_t*)GET_ICMP4_SDU(output, IF_IP4_ICMP4_HDR_OFFSET) + ip4hl + len, 458 440 0, (size_t)(align - len)); 459 441 460 /* ãã§ãã¯ãµã ãè¨ç®ããã*/442 /* チェックサムを計算する。*/ 461 443 icmp4h->sum = 0; 462 444 icmp4h->sum = in_cksum(icmp4h, (uint_t)(ICMP4_HDR_SIZE + ip4hl + align)); 463 445 464 /* éä¿¡ããã*/446 /* 送信する。*/ 465 447 NET_COUNT_ICMP4(net_count_icmp4.out_octets, 466 448 output->len - GET_IF_IP4_HDR_SIZE(output)); -
asp3_gr_sakura/trunk/tinet/netinet/ip_icmp.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 86 74 87 75 /* 88 * ICMP ãããã®å®ç¾©ãRFC 79276 * ICMP ヘッダの定義、RFC 792 89 77 */ 90 78 91 79 typedef struct t_icmp_hdr { 92 uint8_t type; /* ã¡ãã»ã¼ã¸ã®å*/93 uint8_t code; /* ãµãå*/94 uint16_t sum; /* ãã§ãã¯ãµã*/80 uint8_t type; /* メッセージの型 */ 81 uint8_t code; /* サブ型 */ 82 uint16_t sum; /* チェックサム */ 95 83 union { 96 84 struct id_seq { … … 116 104 117 105 /* 118 * ã¡ãã»ã¼ã¸ã®å106 * メッセージの型 119 107 */ 120 108 121 #define ICMP4_ECHO_REPLY UINT_C(0) /* ã¨ã³ã¼å¿ç*/122 #define ICMP4_UNREACH UINT_C(3) /* ã¨ã©ã¼*/123 #define ICMP4_SOURCE_QUENCH UINT_C(4) /* çºä¿¡å¶é*/124 #define ICMP4_REDIRECT UINT_C(5) /* æ¹åå¤æ´*/125 #define ICMP4_ECHO_REQUEST UINT_C(8) /* ã¨ã³ã¼è¦æ±*/126 #define ICMP4_TIME_EXCEEDED UINT_C(11) /* çºä¿¡å¶é*/127 #define ICMP4_PARAMETER UINT_C(12) /* ãã©ã¡ã¼ã¿ç°å¸¸*/128 #define ICMP4_TIME_REQUEST UINT_C(13) /* ã¿ã¤ã ã¹ã¿ã³ãè¦æ±*/129 #define ICMP4_TIME_REPLY UINT_C(14) /* ã¿ã¤ã ã¹ã¿ã³ãå¿ç*/130 #define ICMP4_MASK_REQUEST UINT_C(17) /* ã¢ãã¬ã¹ãã¹ã¯è¦æ±*/131 #define ICMP4_MASK_REPLY UINT_C(18) /* ã¢ãã¬ã¹ãã¹ã¯å¿ç*/109 #define ICMP4_ECHO_REPLY UINT_C(0) /* エコー応答 */ 110 #define ICMP4_UNREACH UINT_C(3) /* エラー */ 111 #define ICMP4_SOURCE_QUENCH UINT_C(4) /* 発信制限 */ 112 #define ICMP4_REDIRECT UINT_C(5) /* 方向変更 */ 113 #define ICMP4_ECHO_REQUEST UINT_C(8) /* エコー要求 */ 114 #define ICMP4_TIME_EXCEEDED UINT_C(11) /* 発信制限 */ 115 #define ICMP4_PARAMETER UINT_C(12) /* パラメータ異常 */ 116 #define ICMP4_TIME_REQUEST UINT_C(13) /* タイムスタンプ要求 */ 117 #define ICMP4_TIME_REPLY UINT_C(14) /* タイムスタンプ応答 */ 118 #define ICMP4_MASK_REQUEST UINT_C(17) /* アドレスマスク要求 */ 119 #define ICMP4_MASK_REPLY UINT_C(18) /* アドレスマスク応答 */ 132 120 133 121 /* 134 * ãµãå122 * サブ型 135 123 */ 136 124 137 125 /* ICMP4_UNREACH (3) */ 138 126 139 #define ICMP4_UNREACH_NET UINT_C(0) /* ãããã¯ã¼ã¯*/140 #define ICMP4_UNREACH_HOST UINT_C(1) /* ãã¹ã*/141 #define ICMP4_UNREACH_PROTOCOL UINT_C(2) /* ãããã³ã«*/142 #define ICMP4_UNREACH_PORT UINT_C(3) /* ãã¼ã*/143 #define ICMP4_UNREACH_FLAG UINT_C(4) /* åå²*/144 #define ICMP4_UNREACH_SRC_FAIL UINT_C(5) /* ã½ã¼ã¹çµè·¯*/145 #define ICMP4_UNREACH_NET_UNKNOWN UINT_C(6) /* ãããã¯ã¼ã¯ä¸æ*/146 #define ICMP4_UNREACH_HOST_UNKNOWN UINT_C(7) /* ãã¹ãä¸æ*/147 #define ICMP4_UNREACH_ISOLATED UINT_C(8) /* åé¢*/127 #define ICMP4_UNREACH_NET UINT_C(0) /* ネットワーク */ 128 #define ICMP4_UNREACH_HOST UINT_C(1) /* ホスト */ 129 #define ICMP4_UNREACH_PROTOCOL UINT_C(2) /* プロトコル */ 130 #define ICMP4_UNREACH_PORT UINT_C(3) /* ポート */ 131 #define ICMP4_UNREACH_FLAG UINT_C(4) /* 分割 */ 132 #define ICMP4_UNREACH_SRC_FAIL UINT_C(5) /* ソース経路 */ 133 #define ICMP4_UNREACH_NET_UNKNOWN UINT_C(6) /* ネットワーク不明 */ 134 #define ICMP4_UNREACH_HOST_UNKNOWN UINT_C(7) /* ホスト不明 */ 135 #define ICMP4_UNREACH_ISOLATED UINT_C(8) /* 分離 */ 148 136 #define ICMP4_UNREACH_NET_PROHIB UINT_C(9) /* */ 149 137 #define ICMP4_UNREACH_HOST_PROHIB UINT_C(10) /* */ 150 #define ICMP4_UNREACH_TOS_NET UINT_C(11) /* ãããã¯ã¼ã¯ã¸ã®ä¸æ£TOS*/151 #define ICMP4_UNREACH_TOS_HOST UINT_C(12) /* ãã¹ãã¸ã®ä¸æ£TOS */138 #define ICMP4_UNREACH_TOS_NET UINT_C(11) /* ネットワークへの不正TOS*/ 139 #define ICMP4_UNREACH_TOS_HOST UINT_C(12) /* ホストへの不正TOS */ 152 140 #define ICMP4_UNREACH_FILTER_PROHIB UINT_C(13) /* */ 153 141 #define ICMP4_UNREACH_HOST_PRECEDENCE UINT_C(14) /* */ … … 156 144 /* ICMP4_REDIRECT (5) */ 157 145 158 #define ICMP4_REDIRECT_NET UINT_C(0) /* ãããã¯ã¼ã¯*/159 #define ICMP4_REDIRECT_HOST UINT_C(1) /* ãã¹ã*/160 #define ICMP4_REDIRECT_PORT_AND_NET UINT_C(2) /* ãã¼ãçªå·ã¨ããã*/161 #define ICMP4_REDIRECT_PORT_AND_HOST UINT_C(3) /* ãã¼ãçªå·ã¨ãã¹ã*/146 #define ICMP4_REDIRECT_NET UINT_C(0) /* ネットワーク */ 147 #define ICMP4_REDIRECT_HOST UINT_C(1) /* ホスト */ 148 #define ICMP4_REDIRECT_PORT_AND_NET UINT_C(2) /* ポート番号とネット */ 149 #define ICMP4_REDIRECT_PORT_AND_HOST UINT_C(3) /* ポート番号とホスト */ 162 150 163 151 /* 164 * å 165 ¨åå¤æ° 152 * 全域変数 166 153 */ 167 154 168 155 /* 169 * é¢æ°ã·ãã¥ã¬ã¼ã·ã§ã³ãã¯ã156 * 関数シミュレーションマクロ 170 157 */ 171 158 … … 177 164 178 165 /* 179 * é¢æ°166 * 関数 180 167 */ 181 168 … … 189 176 190 177 /* 191 * TINET ç¬èªAPI178 * TINET 独自 API 192 179 */ 193 180 -
asp3_gr_sakura/trunk/tinet/netinet/ip_input.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 140 128 141 129 /* 142 * å¤æ°130 * 変数 143 131 */ 144 132 … … 146 134 147 135 /* 148 * SNMP 㮠管çæ 149 å ±ãã¼ã¹ (MIB) 136 * SNMP の 管理情報ベース (MIB) 150 137 */ 151 138 … … 157 144 158 145 /* 159 * ãã¼ã¿ã°ã©ã åæ§æãã¥ã¼146 * データグラム再構成キュー 160 147 */ 161 148 … … 164 151 165 152 /* 166 * é¢æ°153 * 関数 167 154 */ 168 155 … … 171 158 172 159 /* 173 * ip_get_frag_queue -- ãã¼ã¿ã°ã©ã åæ§æãã¥ã¼ãç²å¾ããã160 * ip_get_frag_queue -- データグラム再構成キューを獲得する。 174 161 */ 175 162 … … 181 168 182 169 /* 183 * ip_freef -- ãã¼ã¿ã°ã©ã åæ§æãã¥ã¼ã解æ¾ããã170 * ip_freef -- データグラム再構成キューを解放する。 184 171 */ 185 172 … … 199 186 200 187 /* 201 * ip_frag_timer -- ãã¼ã¿ã°ã©ã åæ§æ管çã¿ã¤ã188 * ip_frag_timer -- データグラム再構成管理タイマ 202 189 */ 203 190 … … 222 209 223 210 /* 224 * ip_reass -- ãã¼ã¿ã°ã©ã ãåæ§æããã211 * ip_reass -- データグラムを再構成する。 225 212 */ 226 213 … … 246 233 247 234 /* 248 * ID ãIPã¢ãã¬ã¹ãä¸ä½ãããã³ã«ãç°ãªããã©ã°ã¡ã³ãããã¥ã¼ã«æãã°ç ´æ£ããã235 * ID、IPアドレス、上位プロトコルが異なるフラグメントがキューに有れば破棄する。 249 236 */ 250 237 frag = ip_frag_queue[ix]; … … 263 250 NET_COUNT_IP4(net_count_ip4[NC_IP4_FRAG_IN], 1); 264 251 265 /* æ°è¦ã® ID ãªããå®å 266 ã¢ãã¬ã¹ãä¿åãã¦ããã¥ã¼ã«ã¤ãªãã*/ 252 /* 新規の ID なら、宛先アドレスを保存して、キューにつなぐ。*/ 267 253 frag_dst [ix] = dst; 268 254 ip_frag_queue[ix] = input; … … 270 256 input = NULL; 271 257 272 /* åæ§æã¿ã¤ã ã¢ã¦ããè¨å®ããã*/258 /* 再構成タイムアウトを設定する。*/ 273 259 ip4h->ttl = IP4_FRAGTTL; 274 260 } 275 261 else { 276 262 277 /* æ£ããä½ç½®ã«æ¿å 278 ¥ããã*/ 263 /* 正しい位置に挿入する。*/ 279 264 prev = NULL; 280 265 while (frag != NULL && … … 293 278 input = NULL; 294 279 295 /* å 296 ¨ã¦ã®ãã©ã°ã¡ã³ããæã£ã¦ããã調ã¹ãã*/ 280 /* 全てのフラグメントが揃っているか調べる。*/ 297 281 off = 0; 298 282 for (frag = ip_frag_queue[ix]; frag != NULL; frag = GET_QIP4_HDR(frag)->next) { 299 283 if ((IP4_FLGOFF_OFF(GET_QIP4_HDR(frag)->flg_off) << 3) != off) { 300 /* éä¸ãæãã¦ãããçµäºããã*/284 /* 途中が抜けていたら終了する。*/ 301 285 syscall(sig_sem(SEM_IP4_FRAG_QUEUE)); 302 286 return NULL; … … 306 290 } 307 291 308 /* å 309 ¨ã¦ã®ãã©ã°ã¡ã³ããæã£ããåæ§æããã*/ 292 /* 全てのフラグメントが揃ったら再構成する。*/ 310 293 if ((GET_QIP4_HDR(prev)->flg_off & IP4_MF) == 0) { 311 294 312 /* ãããã¯ã¼ã¯ãããã¡ãç²å¾ããã*/295 /* ネットワークバッファを獲得する。*/ 313 296 if (tget_net_buf(&input, IF_IP4_HDR_SIZE + off, TMO_IP4_FRAG_GET_NET_BUF) == E_OK) { 314 297 NET_COUNT_IP4(net_count_ip4[NC_IP4_FRAG_IN_OK], 1); 315 298 NET_COUNT_MIB(ip_stats.ipReasmOKs, 1); 316 299 317 /* IPv4 ããããè¨å®ããã*/300 /* IPv4 ヘッダを設定する。*/ 318 301 frag = ip_frag_queue[ix]; 319 302 ip4h = GET_IP4_HDR(input); … … 325 308 ip4h->flg_off = ip4h->id = 0; 326 309 327 /* ãã¼ã¿ã°ã©ã ãåæ§æããã*/310 /* データグラムを再構成する。*/ 328 311 off = IP4_HDR_SIZE; 329 312 while (frag != NULL) { … … 339 322 NET_COUNT_MIB(ip_stats.ipReasmFails, 1); 340 323 } 341 /* ãã¥ã¼ã空ã«ããã*/324 /* キューを空にする。*/ 342 325 ip_freef(ix); 343 326 } … … 350 333 351 334 /* 352 * ip_init -- IP ã®åæå335 * ip_init -- IP の初期化 353 336 */ 354 337 … … 360 343 361 344 /* 362 * ip_remove_options -- IPv4 ãããã®ãªãã·ã§ã³ãåé¤ãã以éãåã«è©°ããã345 * ip_remove_options -- IPv4 ヘッダのオプションを削除し、以降を前に詰める。 363 346 */ 364 347 … … 384 367 385 368 /* 386 * ip_input -- IP ã®å 387 ¥åé¢æ° 369 * ip_input -- IP の入力関数 388 370 */ 389 371 390 372 #if defined(SUPPORT_IPSEC) 391 373 /* 392 * TODO: IPsec SPãæ¤ç´¢ãããã±ããããªã¸ã§ã¯ããããã©ããå¤å®ããå¦çãå®è£ 393 ãã 374 * TODO: IPsec SPを検索し、パケットをリジェクトするかどうか判定する処理を実装する 394 375 */ 395 376 #endif /* of defined(SUPPORT_IPSEC) */ … … 407 388 NET_COUNT_MIB(ip_stats.ipInReceives, 1); 408 389 409 /* IP ãããã®é·ãããã§ãã¯ããã*/390 /* IP ヘッダの長さをチェックする。*/ 410 391 if (input->len < IF_IP4_HDR_SIZE) { 411 392 NET_COUNT_IP4(net_count_ip4[NC_IP4_IN_ERR_SHORT], 1); … … 417 398 hlen = GET_IP4_HDR_SIZE(input); 418 399 419 /* ãã¼ã¸ã§ã³ããã§ãã¯ããã*/400 /* バージョンをチェックする。*/ 420 401 if (IP4_VHL_V(ip4h->vhl) != IPV4_VERSION) { 421 402 NET_COUNT_IP4(net_count_ip4[NC_IP4_IN_ERR_VER], 1); … … 424 405 } 425 406 426 /* IP ãããã®é·ãããã§ãã¯ãããªãã·ã§ã³ã解æããã*/407 /* IP ヘッダの長さをチェックし、オプションを解析する。*/ 427 408 if (hlen > IP4_HDR_SIZE) { 428 409 NET_COUNT_IP4(net_count_ip4[NC_IP4_OPTS], 1); 429 /* %%% ãªãã·ã§ã³ã®è§£æ%%% */430 } 431 432 /* ãã¼ã¿ã°ã©ã é·ããã§ãã¯ããã*/410 /* %%% オプションの解析 %%% */ 411 } 412 413 /* データグラム長をチェックする。*/ 433 414 if (ntohs(ip4h->len) > input->len - IF_HDR_SIZE) { 434 415 NET_COUNT_IP4(net_count_ip4[NC_IP4_IN_ERR_SHORT], 1); … … 437 418 } 438 419 439 /* ãããã¯ã¼ã¯ãããã¡ã®é·ãããã¼ã¿ã°ã©ã é·ã«èª¿æ´ããã*/420 /* ネットワークバッファの長さをデータグラム長に調整する。*/ 440 421 input->len = (uint16_t)(ntohs(ip4h->len) + IF_HDR_SIZE); 441 422 442 /* ãã§ãã¯ãµã ããã§ãã¯ããã*/423 /* チェックサムをチェックする。*/ 443 424 if (in_cksum(ip4h, hlen) != 0) { 444 425 NET_COUNT_IP4(net_count_ip4[NC_IP4_IN_ERR_CKSUM], 1); … … 447 428 } 448 429 449 /* IP ãããã®é·ãããã§ãã¯ããä¸ä½ã ICMP 以å¤ã¯ãªãã·ã§ã³ãæ¶å»ããã*/430 /* IP ヘッダの長さをチェックし、上位が ICMP 以外はオプションを消去する。*/ 450 431 if (hlen > IP4_HDR_SIZE && ip4h->proto != IPPROTO_ICMP) { 451 432 memset((uint8_t*)ip4h + IP4_HDR_SIZE, 0, hlen - IP4_HDR_SIZE); 452 433 } 453 434 454 /* éä¿¡å 455 ã¢ãã¬ã¹ããã§ãã¯ããã*/ 435 /* 送信元アドレスをチェックする。*/ 456 436 src = ntohl(ip4h->src); 457 437 bc = (ifp->in4_ifaddr.addr & ifp->in4_ifaddr.mask) | ~ifp->in4_ifaddr.mask; … … 475 455 #endif /* of #ifdef SUPPORT_LOOP */ 476 456 477 /* ãã¦å 478 ã¢ãã¬ã¹ããã§ãã¯ããã*/ 457 /* あて先アドレスをチェックする。*/ 479 458 dst = ntohl(ip4h->dst); 480 459 … … 482 461 483 462 /* 484 * DHCP_CFG ãå®ç¾©ããã¦ããã¨ãã¯ããã¼ã«ã«ã¢ãã¬ã¹ãæªå®ç¾©ã®485 * å ´åããã¼ã¿ã°ã©ã ãåä¿¡ããã463 * DHCP_CFG が定義されているときは、ローカルアドレスが未定義の 464 * 場合もデータグラムを受信する。 486 465 */ 487 466 … … 507 486 #ifdef IP4_CFG_FRAGMENT 508 487 509 /* åå²ããã¦ããããã§ãã¯ããã*/488 /* 分割されているかチェックする。*/ 510 489 if (ntohs(ip4h->flg_off) & (IP4_MF | IP4_OFFMASK)) { 511 490 if ((input = ip_reass(ip4h, input)) == NULL) … … 515 494 #else /* of #ifdef IP4_CFG_FRAGMENT */ 516 495 517 /* åå²ããã¦ããããã§ãã¯ããã*/496 /* 分割されているかチェックする。*/ 518 497 if (ntohs(ip4h->flg_off) & (IP4_MF | IP4_OFFMASK)) { 519 498 T_IN4_ADDR src; … … 533 512 534 513 #if defined(SUPPORT_IPSEC) 535 /* ããã§ipsec4_in_rejectãå®è¡ãã*/514 /* ここでipsec4_in_rejectを実行する */ 536 515 if ((ip4h->proto != IPPROTO_ESP) && ipsec4_in_reject (input)) { 537 516 goto buf_rel; … … 539 518 #endif /* of #if defined(SUPPORT_IPSEC) */ 540 519 541 /* ãããã³ã«ãé¸æãã*/520 /* プロトコルを選択する */ 542 521 switch (ip4h->proto) { 543 522 … … 577 556 NET_COUNT_MIB(ip_stats.ipInUnknownProtos, 1); 578 557 579 /* ãã¼ã«ã« IP ã¢ãã¬ã¹ã«å±ãããã¼ã¿ã°ã©ã ã®ã¿ ICMP ã¨ã©ã¼ãéç¥ããã*/558 /* ローカル IP アドレスに届いたデータグラムのみ ICMP エラーを通知する。*/ 580 559 if (dst == ifp->in4_ifaddr.addr) { 581 560 T_IN4_ADDR src; … … 586 565 } 587 566 /* 588 * icmp_error ã§ã¯ããããã¯ã¼ã¯ãããã¡ input ãè¿å´ããªãã®ã§589 * éæ¾ãã¦ããçµäºããã567 * icmp_error では、ネットワークバッファ input を返却しないので 568 * 開放してから終了する。 590 569 */ 591 570 break; -
asp3_gr_sakura/trunk/tinet/netinet/ip_output.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 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 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 123 111 124 112 /* 125 * IP output -- IP ã®åºåé¢æ°126 * 127 * 注æ: ãã¼ã¸ã§ã³ã¨ãããé·ã¯ä¸ä½å±¤ã§è¨å®ããã113 * IP output -- IP の出力関数 114 * 115 * 注意: バージョンとヘッダ長は上位層で設定する。 128 116 */ 129 117 … … 144 132 145 133 #ifdef SUPPORT_IPSEC 146 /* XXX: IPsec ã®å¦çã¯ãã±ããæçåã®åã«è¡ããã*/147 148 /* SPD ãåå¾ãã*/134 /* XXX: IPsecの処理はパケット断片化の前に行われる */ 135 136 /* SPDを取得する */ 149 137 sp = ipsec4_getpolicybyaddr(output, IPSEC_DIR_OUTBOUND, &ipsec_error); 150 138 if (sp==NULL) { … … 153 141 } 154 142 155 /* ããªã·ããã§ãã¯ãã*/143 /* ポリシをチェックする*/ 156 144 #if 0 157 145 switch (sp->policy) { … … 165 153 166 154 case IPSEC_POLICY_IPSEC: 167 /* XXX: SH2 ã§ã¯ããã§illegal Instructionãçºçãããã³ã³ãã¤ã©ã®ãã°? */155 /* XXX: SH2ではここでillegal Instructionが発生する。コンパイラのバグ? */ 168 156 if (sp->req == NULL) { 169 /* éµäº¤æãã¼ã¢ã³ã«å¯¾ãã¦SAã®åå¾ãè¦æ±ãã*/157 /* 鍵交換デーモンに対してSAの取得を要求する */ 170 158 goto bad; 171 159 } … … 173 161 174 162 default: 175 /* ä¸æ£ãªããªã·*/163 /* 不正なポリシ */ 176 164 goto bad; 177 165 break; 178 166 } 179 167 #else /* 0 */ 180 /* XXX: ã³ã³ãã¤ã©ã®ä¸å 181 ·ååé¿ã®ãã switchãããifæã§æ¸ãç´ãã */ 168 /* XXX: コンパイラの不具合回避のため switchをやめif文で書き直した */ 182 169 policy = sp->spinitb->policy; 183 170 … … 188 175 else if (policy == IPSEC_POLICY_IPSEC) { 189 176 if (sp->req == NULL) 190 /* éµäº¤æãã¼ã¢ã³ã«å¯¾ãã¦SAã®åå¾ãè¦æ±ãã*/177 /* 鍵交換デーモンに対してSAの取得を要求する */ 191 178 goto bad; 192 179 } else … … 199 186 200 187 state.m = output; 201 /* XXX: ipsec4_output()å 202 ã§ã¯ãip->{len,off}ããããã¯ã¼ã¯ãã¤ããªã¼ãã¨ãã */ 188 /* XXX: ipsec4_output()内では、ip->{len,off}をネットワークバイトオーダとする */ 203 189 error = ipsec4_output (&state, sp, 0 /* flags */ ); 204 190 output = state.m; 205 191 206 192 if (error) { 207 /* net_buf ã¯ipsec4_outputã«ãã£ã¦æ¢ã«è§£æ¾ããã¦ãã*/193 /* net_buf はipsec4_outputによって既に解放されている */ 208 194 switch (error) { 209 195 default: … … 213 199 } 214 200 215 /* ipsec4_outputã«å½±é¿ãåããå¤ãæ´æ°ãã */ 216 /* XXX: å¿ 217 è¦ã? */ 201 /* ipsec4_outputに影響を受けた値を更新する */ 202 /* XXX: 必要か? */ 218 203 219 204 skip_ipsec: … … 227 212 228 213 /* 229 * ãã¼ã¿ã°ã©ã ãµã¤ãºããããã¯ã¼ã¯ã® MTU ãè¶ 230 ãã¦ããã°ã 231 * åå²ãã¦éä¿¡ããã 214 * データグラムサイズがネットワークの MTU を超えていれば、 215 * 分割して送信する。 232 216 */ 233 217 if (ntohs(ip4h->len) > IF_MTU) { … … 247 231 flen = len - off; 248 232 249 /* ãã¼ã¿é·ã¯ 4 ãªã¯ãããå¢çã«èª¿æ´ããã*/233 /* データ長は 4 オクテット境界に調整する。 */ 250 234 align = (flen + 3) >> 2 << 2; 251 235 252 /* ãããã¯ã¼ã¯ãããã¡ãç²å¾ããã*/236 /* ネットワークバッファを獲得する。*/ 253 237 if (tget_net_buf(&frag, align + IF_IP4_HDR_SIZE, TMO_IP4_FRAG_GET_NET_BUF) == E_OK) { 254 238 255 /* ãã©ã°ã¡ã³ããã³ãã¼ããã*/239 /* フラグメントをコピーする。*/ 256 240 memcpy(GET_IP4_SDU(frag), (uint8_t *)ip4h + off, flen); 257 241 258 /* ããããåããã*/242 /* ヘッダを埋める。*/ 259 243 fip4h = GET_IP4_HDR(frag); 260 244 *fip4h = *ip4h; … … 279 263 } 280 264 else { 281 /* ç²å¾ã§ããªããã°ãéä¿¡ããããããã*/265 /* 獲得できなければ、送信をあきらめる。*/ 282 266 syscall(rel_net_buf(output)); 283 267 NET_COUNT_IP4(net_count_ip4[NC_IP4_OUT_ERR_PACKETS], 1); … … 294 278 else { 295 279 296 /* ããããåããã*/280 /* ヘッダを埋める。*/ 297 281 ip4h->id = htons(frag_id); 298 282 frag_id ++; … … 312 296 ip4h = GET_IP4_HDR(output); 313 297 314 /* ãã¼ã¿ã°ã©ã ãµã¤ãºããããã¯ã¼ã¯ã® MTU ãè¶ 315 ãã¦ããã°ã¨ã©ã¼ */ 298 /* データグラムサイズがネットワークの MTU を超えていればエラー */ 316 299 if (ntohs(ip4h->len) > IF_MTU) 317 300 return E_PAR; 318 301 319 /* ããããåããã*/302 /* ヘッダを埋める。*/ 320 303 ip4h->id = htons(frag_id); 321 304 frag_id ++; -
asp3_gr_sakura/trunk/tinet/netinet/ip_var.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 87 75 88 76 /* 89 * IPv4 㨠IPv6 ãã³ã³ãã¤ã«æã«é¸æããããã®ãã¯ã77 * IPv4 と IPv6 をコンパイル時に選択するためのマクロ 90 78 */ 91 79 -
asp3_gr_sakura/trunk/tinet/netinet/tcp.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * TCP ã§ä½¿ç¨ããã«ã¼ãã«ãªãã¸ã§ã¯ã35 * TCP で使用するカーネルオブジェクト 48 36 */ 49 37 50 38 #ifdef SUPPORT_TCP 51 39 52 /* åºåã¿ã¹ã¯*/40 /* 出力タスク */ 53 41 54 42 CRE_TSK(TCP_OUTPUT_TASK, { … … 61 49 }); 62 50 63 /* ã»ããã©*/51 /* セマフォ */ 64 52 65 53 CRE_SEM(SEM_TCP_POST_OUTPUT, { TA_TPRI, 0, 1 }); -
asp3_gr_sakura/trunk/tinet/netinet/tcp.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 84 72 85 73 /* 86 * TCP ããããRFC 793 åç 87 § 74 * TCP ヘッダ、RFC 793 参照 88 75 */ 89 76 90 77 typedef struct t_tcp_hdr { 91 uint16_t sport; /* éä¿¡å 92 ãã¼ãçªå· */ 93 uint16_t dport; /* å®å 94 ãã¼ãçªå· */ 78 uint16_t sport; /* 送信元ポート番号 */ 79 uint16_t dport; /* 宛先ポート番号 */ 95 80 96 uint32_t seq; /* SEQ çªå·*/81 uint32_t seq; /* SEQ 番号 */ 97 82 98 uint32_t ack; /* ACK çªå·*/83 uint32_t ack; /* ACK 番号 */ 99 84 100 uint8_t doff; /* ãã¼ã¿ãªãã»ãã(ä¸ä½4ããã) */101 uint8_t flags; /* ãã©ã°(ä¸ä½6ããã) */102 uint16_t win; /* ã¦ã£ã³ããµã¤ãº*/85 uint8_t doff; /* データオフセット(上位4ビット) */ 86 uint8_t flags; /* フラグ(下位6ビット) */ 87 uint16_t win; /* ウィンドサイズ */ 103 88 104 uint16_t sum; /* ãã§ãã¯ãµã*/105 uint16_t urp; /* ç·æ¥ãã¤ã³ã¿*/89 uint16_t sum; /* チェックサム */ 90 uint16_t urp; /* 緊急ポインタ */ 106 91 } T_TCP_HDR; 107 92 … … 109 94 110 95 /* 111 * TCP ãããæ§é ä½ã¡ã³ãã¢ã¯ã»ã¹ãã¯ã96 * TCP ヘッダ構造体メンバアクセスマクロ 112 97 */ 113 98 … … 117 102 118 103 /* 119 * TCP ãããã®ãã©ã°ãã£ã¼ã«ãã®å¤ã®å®ç¾©104 * TCP ヘッダのフラグフィールドの値の定義 120 105 */ 121 106 122 #define TCP_FLG_FIN UINT_C(0x01) /* FIN: æçµ */ 123 #define TCP_FLG_SYN UINT_C(0x02) /* SYN: åæ */ 124 #define TCP_FLG_RST UINT_C(0x04) /* RST: ã³ãã¯ã·ã§ã³ã®ãªã»ãã */ 125 #define TCP_FLG_PUSH UINT_C(0x08) /* PUSH:ããã·ã¥æ©è½ */ 126 #define TCP_FLG_ACK UINT_C(0x10) /* ACK: è¯å®å¿ç */ 127 #define TCP_FLG_URG UINT_C(0x20) /* URG: ç·æ¥æ 128 å ± */ 107 #define TCP_FLG_FIN UINT_C(0x01) /* FIN: 最終 */ 108 #define TCP_FLG_SYN UINT_C(0x02) /* SYN: 同期 */ 109 #define TCP_FLG_RST UINT_C(0x04) /* RST: コネクションのリセット */ 110 #define TCP_FLG_PUSH UINT_C(0x08) /* PUSH:プッシュ機能 */ 111 #define TCP_FLG_ACK UINT_C(0x10) /* ACK: 肯定応答 */ 112 #define TCP_FLG_URG UINT_C(0x20) /* URG: 緊急情報 */ 129 113 130 114 /* 131 * TCP ãªãã·ã§ã³ã®å®ç¾©115 * TCP オプションの定義 132 116 */ 133 117 134 /* ãªãã·ã§ã³ã®å*/118 /* オプションの型 */ 135 119 136 #define TCP_OPT_EOL UINT_C(0) /* æçµ*/137 #define TCP_OPT_NOP UINT_C(1) /* ä½ãããªã*/138 #define TCP_OPT_MAXSEG UINT_C(2) /* æ大ã»ã°ã¡ã³ãé·*/139 #define TCP_OPT_WINDOW UINT_C(3) /* ã¦ã£ã³ãã¹ã±ã¼ãªã³ã°*/140 #define TCP_OPT_SACK_PERM UINT_C(4) /* é¸æ ACK 許å¯*/141 #define TCP_OPT_SACK UINT_C(5) /* é¸æACK */142 #define TCP_OPT_TIMESTAMP UINT_C(8) /* ã¿ã¤ã ã¹ã¿ã³ã*/143 #define TCP_OPT_CC UINT_C(11) /* æ¥ç¶ã«ã¦ã³ã*/144 #define TCP_OPT_CCNEW UINT_C(12) /* æ¥ç¶ã«ã¦ã³ã*/145 #define TCP_OPT_CCECHO UINT_C(13) /* æ¥ç¶ã«ã¦ã³ã*/120 #define TCP_OPT_EOL UINT_C(0) /* 最終 */ 121 #define TCP_OPT_NOP UINT_C(1) /* 何もしない */ 122 #define TCP_OPT_MAXSEG UINT_C(2) /* 最大セグメント長 */ 123 #define TCP_OPT_WINDOW UINT_C(3) /* ウィンドスケーリング */ 124 #define TCP_OPT_SACK_PERM UINT_C(4) /* 選択 ACK 許可 */ 125 #define TCP_OPT_SACK UINT_C(5) /* 選択 ACK */ 126 #define TCP_OPT_TIMESTAMP UINT_C(8) /* タイムスタンプ */ 127 #define TCP_OPT_CC UINT_C(11) /* 接続カウント */ 128 #define TCP_OPT_CCNEW UINT_C(12) /* 接続カウント */ 129 #define TCP_OPT_CCECHO UINT_C(13) /* 接続カウント */ 146 130 147 /* ãªãã·ã§ã³ã®é·ã*/131 /* オプションの長さ */ 148 132 149 #define TCP_OPT_LEN_MAXSEG 4 /* æ大ã»ã°ã¡ã³ãé·*/150 #define TCP_OPT_LEN_WINDOW 3 /* ã¦ã£ã³ãã¹ã±ã¼ãªã³ã°*/151 #define TCP_OPT_LEN_SACK_PERM 4 /* é¸æ ACK 許å¯*/152 #define TCP_OPT_LEN_SACK 5 /* é¸æACK */153 #define TCP_OPT_LEN_TIMESTAMP 10 /* ã¿ã¤ã ã¹ã¿ã³ã*/154 #define TCP_OPT_LEN_CC 6 /* æ¥ç¶ã«ã¦ã³ã*/155 #define TCP_OPT_LEN_CCNEW 6 /* æ¥ç¶ã«ã¦ã³ã*/156 #define TCP_OPT_LEN_CCECHO 6 /* æ¥ç¶ã«ã¦ã³ã*/133 #define TCP_OPT_LEN_MAXSEG 4 /* 最大セグメント長 */ 134 #define TCP_OPT_LEN_WINDOW 3 /* ウィンドスケーリング */ 135 #define TCP_OPT_LEN_SACK_PERM 4 /* 選択 ACK 許可 */ 136 #define TCP_OPT_LEN_SACK 5 /* 選択 ACK */ 137 #define TCP_OPT_LEN_TIMESTAMP 10 /* タイムスタンプ */ 138 #define TCP_OPT_LEN_CC 6 /* 接続カウント */ 139 #define TCP_OPT_LEN_CCNEW 6 /* 接続カウント */ 140 #define TCP_OPT_LEN_CCECHO 6 /* 接続カウント */ 157 141 158 142 /* 159 * TCP æ大ã»ã°ã¡ã³ããµã¤ãº143 * TCP 最大セグメントサイズ 160 144 */ 161 145 162 146 /* 163 * IPv4 ã® TCP æ大ã»ã°ã¡ã³ããµã¤ãº164 * IP4_MSS 㯠576 ã§ãæ¨æºã® IPv4 ãããé· (20) ã¨165 * TCP ãããé· (20) ãå¼ããå¤ 536 ã§ãããã512 ãæ¨æºã¨ããã147 * IPv4 の TCP 最大セグメントサイズ 148 * IP4_MSS は 576 で、標準の IPv4 ヘッダ長 (20) と 149 * TCP ヘッダ長 (20) を引いた値 536 であるが、512 を標準とする。 166 150 */ 167 151 … … 169 153 170 154 /* 171 * IPv6 ã® TCP æ大ã»ã°ã¡ã³ããµã¤ãº172 * IPV6_MMTU 㯠1280 ã§ãæ¨æºã® IPv6 ãããé· (40) ã¨173 * TCP ãããé· (20) ãå¼ããå¤ 1220 ã§ãããã1024 ãæ¨æºã¨ããã155 * IPv6 の TCP 最大セグメントサイズ 156 * IPV6_MMTU は 1280 で、標準の IPv6 ヘッダ長 (40) と 157 * TCP ヘッダ長 (20) を引いた値 1220 であるが、1024 を標準とする。 174 158 */ 175 159 … … 177 161 178 162 /* 179 * TCP æå°ã»ã°ã¡ã³ããµã¤ãº163 * TCP 最小セグメントサイズ 180 164 * 181 * 256 ï¼æå°ãªã³ã¯ MTUï¼- 40 = 216165 * 256(最小リンク MTU)- 40 = 216 182 166 */ 183 167 … … 185 169 186 170 /* 187 * TCP æ大ã¦ã£ã³ãã¦ãµã¤ãº171 * TCP 最大ウィンドウサイズ 188 172 */ 189 173 -
asp3_gr_sakura/trunk/tinet/netinet/tcp_fsm.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 84 72 85 73 /* 86 * TCP FSM ç¶æ 87 ã®å®ç¾©ãRFC 793 åç 88 § 74 * TCP FSM 状態の定義、RFC 793 参照 89 75 */ 90 76 91 #define TCP_FSM_CLOSED 0 /* ã¯ãã¼ãº */ 92 #define TCP_FSM_LISTEN 1 /* ååãªã¼ãã³ */ 93 #define TCP_FSM_SYN_SENT 2 /* è½åãªã¼ãã³ãSYN éä¿¡æ¸ã¿ */ 94 #define TCP_FSM_SYN_RECVD 3 /* ååãªã¼ãã³ãSYN åä¿¡æ¸ã¿ */ 95 #define TCP_FSM_ESTABLISHED 4 /* ã³ãã¯ã·ã§ã³éè¨å®äº */ 96 #define TCP_FSM_CLOSE_WAIT 5 /* ç¸æãã FIN åä¿¡ãAPP ã®çµäºå¾ 97 ã¡ */ 98 #define TCP_FSM_FIN_WAIT_1 6 /* APP ãçµäºãFIN éä¿¡æ¸ã¿ãACK å¾ 99 ã¡ */ 100 #define TCP_FSM_CLOSING 7 /* åæã¯ãã¼ãºãFIN 交ææ¸ã¿ãACK å¾ 101 ã¡ */ 102 #define TCP_FSM_LAST_ACK 8 /* APP ãçµäºãACK å¾ 103 ã¡ */ 104 #define TCP_FSM_FIN_WAIT_2 9 /* ç¸æããã® FIN å¾ 105 ã¡ */ 106 #define TCP_FSM_TIME_WAIT 10 /* ç¸æããã® FIN åä¿¡æ¸ã¿ãæéå¾ 107 ã¡ */ 77 #define TCP_FSM_CLOSED 0 /* クローズ */ 78 #define TCP_FSM_LISTEN 1 /* 受動オープン */ 79 #define TCP_FSM_SYN_SENT 2 /* 能動オープン、SYN 送信済み */ 80 #define TCP_FSM_SYN_RECVD 3 /* 受動オープン、SYN 受信済み */ 81 #define TCP_FSM_ESTABLISHED 4 /* コネクション開設完了 */ 82 #define TCP_FSM_CLOSE_WAIT 5 /* 相手から FIN 受信、APP の終了待ち */ 83 #define TCP_FSM_FIN_WAIT_1 6 /* APP が終了、FIN 送信済み、ACK 待ち */ 84 #define TCP_FSM_CLOSING 7 /* 同時クローズ、FIN 交換済み、ACK 待ち */ 85 #define TCP_FSM_LAST_ACK 8 /* APP が終了、ACK 待ち */ 86 #define TCP_FSM_FIN_WAIT_2 9 /* 相手からの FIN 待ち */ 87 #define TCP_FSM_TIME_WAIT 10 /* 相手からの FIN 受信済み、時間待ち */ 108 88 109 89 /* 110 * é¢æ°ã·ãã¥ã¬ã¼ã·ã§ã³ãã¯ã90 * 関数シミュレーションマクロ 111 91 */ 112 92 -
asp3_gr_sakura/trunk/tinet/netinet/tcp_input.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 128 116 129 117 /* 130 * æ»ãå¤118 * 戻り値 131 119 * 132 * RET_OK æ£å¸¸133 * RET_DROP ã¨ã©ã¼ãã»ã°ã¡ã³ããç ´æ£ããã134 * RET_RST_DROP ã¨ã©ã¼ãRST ãéä¿¡ããã»ã°ã¡ã³ããç ´æ£ããã120 * RET_OK 正常 121 * RET_DROP エラー、セグメントを破棄する。 122 * RET_RST_DROP エラー、RST を送信し、セグメントを破棄する。 135 123 */ 136 124 … … 142 130 143 131 /* 144 * é¢æ°132 * 関数 145 133 */ 146 134 … … 159 147 160 148 /* 161 * parse_option -- TCP ãããã®ãªãã·ã§ã³ã解æããã149 * parse_option -- TCP ヘッダのオプションを解析する。 162 150 */ 163 151 … … 214 202 215 203 /* 216 * set_rexmt_timer -- æ°ããå¾å¾©æéãåéããåéã¿ã¤ããæ´æ°ããã204 * set_rexmt_timer -- 新しい往復時間を収集し、再送タイマを更新する。 217 205 */ 218 206 … … 225 213 if (cep->srtt != 0) { 226 214 /* 227 * srtt: å¹³æ»åãããRTT215 * srtt: 平滑化された RTT 228 216 * 229 * è¨æ¸¬ããã RTT (rtt) ã¨ç¾å¨ã®å¹³æ»åããã RTT (srtt) ã®å·® (delta) ãæ±ããã217 * 計測された RTT (rtt) と現在の平滑化された RTT (srtt) の差 (delta) を求める。 230 218 * 231 * delta 㯠2 ãããå·¦ã·ãã ( 4 å) ããå¤ã§ä¿æããã232 * srtt 㯠5 ãããå·¦ã·ãã (32 å) ããå¤ã§ä¿æããã¦ããã219 * delta は 2 ビット左シフト ( 4 倍) した値で保持する。 220 * srtt は 5 ビット左シフト (32 倍) した値で保持されている。 233 221 * 234 222 * delta = rtt / 8 - srtt / 8 235 223 * 236 * æ°ãã srtt ã¯224 * 新しい srtt は 237 225 * 238 226 * srtt = rtt / 8 + srtt * 7 / 8 239 227 * = srtt + (rtt / 8 - srtt / 8) 240 228 * 241 * ã§è¨ç®ããã242 * ãã®ãããrtt ã 2 ãããå·¦ã·ããããsrtt ã (5 - 2) ãããå³ã·ããã㦠delta ãæ±ããã229 * で計算する。 230 * このため、rtt を 2 ビット左シフトし、srtt を (5 - 2) ビット右シフトして delta を求める。 243 231 */ 244 232 delta = ((rtt - 1) << TCP_DELTA_SHIFT) - (cep->srtt >> (TCP_SRTT_SHIFT - TCP_DELTA_SHIFT)); … … 248 236 249 237 /* 250 * delta ã®çµ¶å¯¾å¤ | delta | ãæ±ããã238 * delta の絶対値 | delta | を求める。 251 239 */ 252 240 if (delta < 0) … … 254 242 255 243 /* 256 * rttvar: å¹³æ»åãããåæ£244 * rttvar: 平滑化された分散 257 245 * 258 * rttvar 㯠4 ãããå·¦ã·ãã (16 å) ããå¤ã§ä¿æããã¦ããã246 * rttvar は 4 ビット左シフト (16 倍) した値で保持されている。 259 247 * 260 248 * delta = |delta| / 4 - rttvar / 4 261 249 * 262 * æ°ãã rttvar ã¯250 * 新しい rttvar は 263 251 * 264 252 * rttvar = |delta|/ 4 + rttvar * 3 /4 265 253 * = rttvar + (|delta| / 4 - rttvar / 4) 266 254 * 267 * ã§è¨ç®ããã255 * で計算する。 268 256 */ 269 257 delta -= cep->rttvar >> (TCP_RTTVAR_SHIFT - TCP_DELTA_SHIFT); … … 274 262 else { 275 263 /* 276 * ã¾ã srtt ã®è¨å®ãè¡ããã¦ããªãã¨ãã¯ãä»åè¨æ¸¬ããã RTT ã使ç¨ããã277 * å¹³æ»åããã RTT (srtt) ã«ã¯ãRTT ã 5 ãããå·¦ã·ãã (32å) ããå¤ã278 * å¹³æ»åãããåæ£ (rttvar) ã«ã¯ãRTT ã® 1/2 ã 4 ãããå·¦ã·ãã (16å) ããå¤ã264 * まだ srtt の設定が行われていないときは、今回計測された RTT を使用する。 265 * 平滑化された RTT (srtt) には、RTT を 5 ビット左シフト (32倍) した値。 266 * 平滑化された分散 (rttvar) には、RTT の 1/2 を 4 ビット左シフト (16倍) した値。 279 267 */ 280 268 cep->srtt = rtt << TCP_SRTT_SHIFT; … … 283 271 284 272 /* 285 * rtt ã®æ¸¬å®ãçµäºããåéåæ°ããªã»ããããã273 * rtt の測定を終了し、再送回数をリセットする。 286 274 */ 287 275 cep->rtt = cep->rxtshift = 0; 288 276 289 277 /* 290 * RTT ã«è¨±ãããæå°å¤ 㨠rtt + 2 ã®å¤§ããªå¤ã®æ¹ãåéã¿ã¤ã ã¢ã¦ãã®æå°å¤ã«ããã278 * RTT に許される最小値 と rtt + 2 の大きな値の方を再送タイムアウトの最小値にする。 291 279 */ 292 280 if (rtt + 2 < TCP_TVAL_MIN) … … 301 289 302 290 /* 303 * reassemble -- åä¿¡ã»ã°ã¡ã³ããåæ§æãããé çªéãã«åä¿¡ããã¨ãã®å¦ç291 * reassemble -- 受信セグメントを再構成する。順番通りに受信したときの処理 304 292 */ 305 293 … … 313 301 if (tcph->sum > cep->rbufsz - cep->rwbuf_count) { 314 302 /* 315 * åä¿¡ã¦ã£ã³ããããã¡ã«ç©ºãããªãã¨ãã¯ç ´æ£ããã303 * 受信ウィンドバッファに空きがないときは破棄する。 316 304 */ 317 305 NET_COUNT_TCP(net_count_tcp[NC_TCP_RECV_DROP_SEGS], 1); … … 324 312 cep->fsm_state == TCP_FSM_ESTABLISHED) { 325 313 /* 326 * é çªéãã«ã»ã°ã¡ã³ããåä¿¡ããæã®å¦ç327 * åä¿¡ã»ã°ã¡ã³ãã®ä¸¦ã¹æ¿ãã¯ä¸è¦ãªã®ã§328 * ãã®ã¾ã¾åä¿¡ã¦ã£ã³ããããã¡ã«æ¸ãè¾¼ãã314 * 順番通りにセグメントを受信した時の処理 315 * 受信セグメントの並べ替えは不要なので 316 * そのまま受信ウィンドバッファに書き込む。 329 317 */ 330 318 … … 341 329 qhdr = GET_TCP_Q_HDR(input, thoff); 342 330 343 /* TCP ãããã®ä½ç½®ãä¿åããã*/331 /* TCP ヘッダの位置を保存する。*/ 344 332 SET_IP_TCP_Q_HDR_OFFSET(input, thoff); 345 333 346 /* SDU ã®ãªãã»ããï¼å 347 ã¯ã¦ã£ã³ããµã¤ãºï¼ããªã»ããããã*/ 334 /* SDU のオフセット(元はウィンドサイズ)をリセットする。*/ 348 335 qhdr->soff = 0; 349 336 350 /* ãã¼ã¿ãåä¿¡ã¦ã£ã³ããããã¡ã«æ¸ãè¾¼ãã*/337 /* データを受信ウィンドバッファに書き込む。*/ 351 338 TCP_WRITE_RWBUF(cep, input, thoff); 352 339 } … … 359 346 360 347 /* 361 * listening -- ååãªã¼ãã³ãã¦ï¼ç¶æ 362 ã LISTEN ã®å¦ç 348 * listening -- 受動オープンして,状態が LISTEN の処理 363 349 * 364 * æ»ãå¤:365 * RET_OK æ£å¸¸366 * RET_DROP ã¨ã©ã¼ãã»ã°ã¡ã³ããç ´æ£ããã367 * RET_RST_DROP ã¨ã©ã¼ãRST ãéä¿¡ããã»ã°ã¡ã³ããç ´æ£ããã350 * 戻り値: 351 * RET_OK 正常 352 * RET_DROP エラー、セグメントを破棄する。 353 * RET_RST_DROP エラー、RST を送信し、セグメントを破棄する。 368 354 */ 369 355 … … 376 362 377 363 /* 378 * ãã©ã°ã« RST ãã»ããããã¦ããã°ç ´æ£ããã364 * フラグに RST がセットされていれば破棄する。 379 365 */ 380 366 if (tcph->flags & TCP_FLG_RST) … … 382 368 383 369 /* 384 * ãã©ã°ã« ACK ãã»ãããã¦ãããã°ã385 * ãªã»ãããéã£ã¦ç ´æ£ããã370 * フラグに ACK がセットさてれいれば、 371 * リセットを送って破棄する。 386 372 */ 387 373 if (tcph->flags & TCP_FLG_ACK) … … 389 375 390 376 /* 391 * ãã©ã°ã« SYN ãã»ããããã¦ããªããã°ãã°ç ´æ£ããã377 * フラグに SYN がセットされていなければれば破棄する。 392 378 */ 393 379 if ((tcph->flags & TCP_FLG_SYN) == 0) … … 395 381 396 382 /* 397 * åä¿¡å¯è½ãª IP ã¢ãã¬ã¹ã¨ãã¼ãçªå·ã§ãããã¨ã確èªããã383 * 受信可能な IP アドレスとポート番号であることを確認する。 398 384 */ 399 385 if (!tcp_is_addr_accept(input, thoff)) 400 386 return RET_DROP; 401 387 402 /* ç¸æã®ã¢ãã¬ã¹ãè¨é²ããã*/388 /* 相手のアドレスを記録する。*/ 403 389 IN_COPY_TO_HOST(&cep->dstaddr.ipaddr, input); 404 390 cep->dstaddr.portno = tcph->sport; 405 391 406 /* ãªãã·ã§ã³ãå¦çããã*/392 /* オプションを処理する。*/ 407 393 parse_option(tcph, cep); 408 394 409 /* ã·ã¼ã±ã³ã¹çªå·ãåæåããã*/395 /* シーケンス番号を初期化する。*/ 410 396 if (tcp_iss == 0) 411 397 tcp_init_iss(); 412 398 413 /* èªåã®ã·ã¼ã±ã³ã¹çªå·ã®åæå¤ãè¨é²ããã*/399 /* 自分のシーケンス番号の初期値を記録する。*/ 414 400 if (iss != 0) 415 401 cep->iss = iss; … … 419 405 tcp_iss += TCP_ISS_INCR() / 4; 420 406 421 /* ç¸æã®ã·ã¼ã±ã³ã¹çªå·ã®åæå¤ãè¨é²ããã*/407 /* 相手のシーケンス番号の初期値を記録する。*/ 422 408 cep->irs = tcph->seq; 423 409 424 /* éåä¿¡ã·ã¼ã±ã³ã¹çªå·ãåæåããã*/410 /* 送受信シーケンス番号を初期化する。*/ 425 411 init_send_seq(cep); 426 412 init_receive_seq(cep); 427 413 428 /* éä¿¡ã¦ã¤ã³ããµã¤ãºãè¨å®ããã*/414 /* 送信ウインドサイズを設定する。*/ 429 415 cep->snd_wnd = tcph->win; 430 416 431 /* æçµè¨å®*/417 /* 最終設定 */ 432 418 cep->flags |= TCP_CEP_FLG_ACK_NOW; 433 419 cep->fsm_state = TCP_FSM_SYN_RECVD; … … 438 424 439 425 /* 440 * syn_sent -- è½åãªã¼ãã³ãã¦ãç¶æ 441 ã SYN éä¿¡æ¸ã®å¦ç 426 * syn_sent -- 能動オープンして、状態が SYN 送信済の処理 442 427 * 443 * æ»ãå¤:444 * RET_OK æ£å¸¸445 * RET_DROP ã¨ã©ã¼ãã»ã°ã¡ã³ããç ´æ£ããã446 * RET_RST_DROP ã¨ã©ã¼ãRST ãéä¿¡ããã»ã°ã¡ã³ããç ´æ£ããã428 * 戻り値: 429 * RET_OK 正常 430 * RET_DROP エラー、セグメントを破棄する。 431 * RET_RST_DROP エラー、RST を送信し、セグメントを破棄する。 447 432 */ 448 433 … … 453 438 454 439 /* 455 * ç¸æããå信確èªãéããã¦æ¥ã¦ãã440 * 相手から受信確認が送られて来ても、 456 441 * 457 * ACK <= iss && éä¿¡ããæ大SEQ (snd_max) < ACK442 * ACK <= iss && 送信した最大 SEQ (snd_max) < ACK 458 443 * 459 * ãªãããªã»ãããéã£ã¦ã»ã°ã¡ã³ããç ´æ£ããã444 * なら、リセットを送ってセグメントを破棄する。 460 445 */ 461 446 if ((tcph->flags & TCP_FLG_ACK) && … … 464 449 465 450 /* 466 * RST/ACK ãã©ã°ã®å¿çãããã°ããã¼ããéãã¦ããªã467 * ãã¨ãæå³ãã¦ããã451 * RST/ACK フラグの応答があれば、ポートが開いていない 452 * ことを意味している。 468 453 */ 469 454 if (tcph->flags & TCP_FLG_RST) { … … 476 461 477 462 /* 478 * SYN ãã©ã°ããªããã°ã»ã°ã¡ã³ããç ´æ£ããã463 * SYN フラグがなければセグメントを破棄する。 479 464 */ 480 465 if ((tcph->flags & TCP_FLG_SYN) == 0) 481 466 return RET_DROP; 482 467 483 cep->snd_wnd = tcph->win; /* snd_wnd: ç¸æã®åä¿¡å¯è½ã¦ã£ã³ããµã¤ãº*/484 cep->irs = tcph->seq; /* irs: ç¸æã®ã·ã¼ã±ã³ã¹çªå·ã®åæå¤*/485 init_receive_seq(cep); /* éåä¿¡ã·ã¼ã±ã³ã¹çªå·ãåæåããã*/468 cep->snd_wnd = tcph->win; /* snd_wnd: 相手の受信可能ウィンドサイズ */ 469 cep->irs = tcph->seq; /* irs: 相手のシーケンス番号の初期値 */ 470 init_receive_seq(cep); /* 送受信シーケンス番号を初期化する。 */ 486 471 487 472 if (tcph->flags & TCP_FLG_ACK) { 488 473 /* 489 * ACK ãã©ã°ãããã¨ãã®å¦ç474 * ACK フラグがあるときの処理 490 475 * 491 * åä¿¡ãæå¾ 492 ãã¦ããæ大㮠SEQ (rcv_adv) ã 493 * åä¿¡å¯è½ãªã¦ã£ã³ããµã¤ãº (rcv_wnd) åé²ããã 494 */ 495 cep->rcv_adv += cep->rcv_wnd; /* rcv_adv: åä¿¡ãæå¾ 496 ãã¦ããæ大㮠SEQ */ 497 /* rcv_wnd: åä¿¡å¯è½ãªã¦ã£ã³ããµã¤ãº */ 498 499 /* æªç¢ºèªã®æå°éä¿¡ SEQ (snd_una) ã SYN å (1 ãªã¯ããã) é²ããã*/ 476 * 受信を期待している最大の SEQ (rcv_adv) を 477 * 受信可能なウィンドサイズ (rcv_wnd) 分進める。 478 */ 479 cep->rcv_adv += cep->rcv_wnd; /* rcv_adv: 受信を期待している最大の SEQ */ 480 /* rcv_wnd: 受信可能なウィンドサイズ */ 481 482 /* 未確認の最小送信 SEQ (snd_una) を SYN 分 (1 オクテット) 進める。*/ 500 483 cep->snd_una ++; 501 484 502 485 #ifdef TCP_CFG_DELAY_ACK 503 486 504 if (tcph->sum != 0) /* tcph->sum 㯠SDU é·*/487 if (tcph->sum != 0) /* tcph->sum は SDU 長 */ 505 488 cep->flags |= TCP_CEP_FLG_DEL_ACK; 506 489 else … … 515 498 if (cep->flags & TCP_CEP_FLG_NEED_FIN) { 516 499 /* 517 * CEP 㧠FIN éä¿¡ãè¦æ±ããã¦ããã°ã 518 * åæå¦çãéå§ãã 519 * CEP ã®ç¶æ 520 ã FIN Wait 1 ã«ããã 500 * CEP で FIN 送信が要求されていれば、 501 * 切断処理を開始し、 502 * CEP の状態を FIN Wait 1 にする。 521 503 */ 522 504 cep->fsm_state = TCP_FSM_FIN_WAIT_1; … … 526 508 else { 527 509 /* 528 * ç¸æãã ACK ãå¿çãããã®ã§ã 529 * CEP ã®ç¶æ 530 ã ã³ãã¯ã·ã§ã³éè¨å®äºç¶æ 531 ã«ããã 510 * 相手から ACK が応答されたので、 511 * CEP の状態を コネクション開設完了状態にする。 532 512 */ 533 513 cep->timer[TCP_TIM_KEEP] = TCP_TVAL_KEEP_IDLE; … … 540 520 if (cep->snd_nblk_tfn == TFN_TCP_CON_CEP) { 541 521 542 /* ç¸æã®ã¢ãã¬ã¹ãã³ãã¼ããã*/522 /* 相手のアドレスをコピーする。*/ 543 523 *cep->p_dstaddr = cep->dstaddr; 544 524 … … 576 556 } 577 557 else { 578 /* ACK ãã©ã°ããªãã¨ãã¯ãACK ãéã£ã¦ãCEP ã®ç¶æ 579 ã SYN åä¿¡æ¸ã¿ã«ããã*/ 558 /* ACK フラグがないときは、ACK を送って、CEP の状態を SYN 受信済みにする。*/ 580 559 cep->flags |= TCP_CEP_FLG_ACK_NOW; 581 560 cep->timer[TCP_TIM_REXMT] = 0; … … 587 566 588 567 /* 589 * trim_length -- åä¿¡ãã SDU é·ã調æ´ããã568 * trim_length -- 受信した SDU 長を調整する。 590 569 */ 591 570 … … 594 573 { 595 574 tcph->seq ++; 596 if (tcph->sum > cep->rcv_wnd) { /* 注æ: tcph->sum 㯠SDU é·*/597 /* 598 * SDU é·ãåä¿¡ã¦ã£ã³ããµã¤ãºãã大ããã¨ãã¯ãåä¿¡ã¦ã£ã³ããµã¤ãºä»¥éã¯599 * ç ´æ£ããFIN ã«å¿çããªããã¨ã§ãç ´æ£ãããã¼ã¿ãåéãããã575 if (tcph->sum > cep->rcv_wnd) { /* 注意: tcph->sum は SDU 長 */ 576 /* 577 * SDU 長が受信ウィンドサイズより大きいときは、受信ウィンドサイズ以降は 578 * 破棄し、FIN に応答しないことで、破棄したデータを再送させる。 600 579 */ 601 580 tcph->sum = (uint16_t)cep->rcv_wnd; 602 581 tcph->flags &= ~TCP_FLG_FIN; 603 582 } 604 cep->snd_wl1 = tcph->seq - 1; /* cep->snd_wl1: ã¦ã£ã³ãæ´æ° SEQ çªå·*/583 cep->snd_wl1 = tcph->seq - 1; /* cep->snd_wl1: ウィンド更新 SEQ 番号 */ 605 584 606 585 #ifdef TCP_CFG_EXTENTIONS 607 cep->rcv_up = tcph->seq; /* cep->rcv_up : åä¿¡ããç·æ¥ãã¤ã³ã¿*/586 cep->rcv_up = tcph->seq; /* cep->rcv_up : 受信した緊急ポインタ */ 608 587 #endif 609 588 } 610 589 611 590 /* 612 * proc_ack2 -- ACK ã®å¦ç(2)591 * proc_ack2 -- ACK の処理 (2) 613 592 * 614 * æ»ãå¤593 * 戻り値 615 594 * 616 * RET_OK æ£å¸¸617 * RET_RETURN æ£å¸¸ããªã¿ã¼ã³ããã618 * RET_DROP ã¨ã©ã¼ãã»ã°ã¡ã³ããç ´æ£ããã619 * RET_RST_DROP ã¨ã©ã¼ãRST ãéä¿¡ããã»ã°ã¡ã³ããç ´æ£ããã595 * RET_OK 正常 596 * RET_RETURN 正常、リターンする。 597 * RET_DROP エラー、セグメントを破棄する。 598 * RET_RST_DROP エラー、RST を送信し、セグメントを破棄する。 620 599 */ 621 600 … … 631 610 632 611 /* 633 * ç¸æã«å信確èªããã ACK ãããã¾ã 確èªããã¦ããªã634 * æå°éä¿¡ SEQ (snd_una) ãå¼ãã¨ãéä¿¡ã¦ã£ã³ããããã¡ãã635 * åé¤ãã¦ãããªã¯ãããæ° (acked) ã«ãªãã612 * 相手に受信確認された ACK から、まだ確認されていない 613 * 最小送信 SEQ (snd_una) を引くと、送信ウィンドバッファから 614 * 削除してよいオクテット数 (acked) になる。 636 615 */ 637 616 acked = tcph->ack - cep->snd_una; … … 639 618 640 619 /* 641 * å¾å¾©æéè¨æ¸¬ (rtt) ãè¨å®ããã¦ãã¦ãè¨æ¸¬éå§ SEQ ãã642 * å¾ã® ACK ãåä¿¡ããããã¿ã¤ãããã¯ãªãããã£ã³ã»ã«ãã643 * åéã¿ã¤ããåè¨å®ããã620 * 往復時間計測 (rtt) が設定されていて、計測開始 SEQ より 621 * 後の ACK を受信したら、タイマバックオフをキャンセルし、 622 * 再送タイマを再設定する。 644 623 */ 645 624 if (cep->rtt && SEQ_GT(tcph->ack, cep->rtseq)) { … … 648 627 649 628 /* 650 * å 651 ¨ã¦ã®æªç¢ºèªãã¼ã¿ã ACK ãããããåéã¿ã¤ããåæ¢ãã 652 * åéãè¨æ¶ãã (ããã«åºåãæç¶)ã 653 * ãããACK ãã¹ããããã«å¤ãã®ãã¼ã¿ããããªããåéã¿ã¤ãã« 654 * ç¾å¨ã®åéã¿ã¤ã ã¢ã¦ããè¨å®ããã 655 */ 656 if (tcph->ack == cep->snd_max) { /* cep->snd_max: éä¿¡ããæ大 SEQ */ 629 * 全ての未確認データが ACK されたら、再送タイマを停止し、 630 * 再開を記憶する (さらに出力か持続)。 631 * もし、ACK すべき、さらに多くのデータがあるなら、再送タイマに 632 * 現在の再送タイムアウトを設定する。 633 */ 634 if (tcph->ack == cep->snd_max) { /* cep->snd_max: 送信した最大 SEQ */ 657 635 658 636 #ifdef TCP_CFG_SWBUF_CSAVE 659 637 660 638 /* 661 * éä¿¡ã¦ã£ã³ããããã¡ã®çã³ãã¼æ©è½ãæå¹ã®å ´åã¯ã662 * éä¿¡æ¸ã¿ã§ãACKãå®äºããã¾ã§åéã¿ã¤ããå¤æ´ããªãã639 * 送信ウィンドバッファの省コピー機能が有効の場合は、 640 * 送信済みで、ACKが完了するまで再送タイマを変更しない。 663 641 */ 664 642 if ((cep->flags & TCP_CEP_FLG_WBCS_MASK) == TCP_CEP_FLG_WBCS_ACKED) … … 674 652 } 675 653 else if (cep->timer[TCP_TIM_PERSIST] == 0) { 676 cep->timer[TCP_TIM_REXMT] = cep->rxtcur; /* cep->rxtcur: ç¾å¨ã®åéã¿ã¤ã ã¢ã¦ã*/677 } 678 679 /* ç¸æãå信確èªãããã¼ã¿ãããã¨ãã®å¦ç*/654 cep->timer[TCP_TIM_REXMT] = cep->rxtcur; /* cep->rxtcur: 現在の再送タイムアウト */ 655 } 656 657 /* 相手が受信確認したデータがあるときの処理 */ 680 658 if (acked) { 681 uint32_t cw = cep->snd_cwnd; /* cep->snd_cwnd: 輻輳ã¦ã£ã³ããµã¤ãº*/682 uint32_t incr = cep->maxseg; /* cep->maxseg: æ大ã»ã°ã¡ã³ããµã¤ãº*/683 684 /* 685 * æ°ãã«ç¸æãå信確èªãããã¼ã¿ããã£ãã¨ãã¯ã686 * 輻輳ã¦ã£ã³ããµã¤ãºã大ããããã687 * 輻輳ã¦ã£ã³ããµã¤ãº (snd_cwnd) ã688 * 輻輳ã¦ã£ã³ããµã¤ãºã®ãããå¤ (snd_ssthresh) ãã大ããã¨ãã¯689 * 輻輳åé¿å¶å¾¡ãè¡ãã659 uint32_t cw = cep->snd_cwnd; /* cep->snd_cwnd: 輻輳ウィンドサイズ */ 660 uint32_t incr = cep->maxseg; /* cep->maxseg: 最大セグメントサイズ */ 661 662 /* 663 * 新たに相手が受信確認したデータがあったときは、 664 * 輻輳ウィンドサイズを大きくする。 665 * 輻輳ウィンドサイズ (snd_cwnd) が 666 * 輻輳ウィンドサイズのしきい値 (snd_ssthresh) より大きいときは 667 * 輻輳回避制御を行い。 690 668 * 691 669 * snd_cwnd = snd_cwnd + maxseg * maxseg / snd_cwnd; 692 670 * 693 * çãããå°ããã¨ãã¯ãã¹ãã¼ã¹ã¿ã¼ãå¶å¾¡ãè¡ãã671 * 等しいか小さいときは、スロースタート制御を行う。 694 672 * 695 673 * snd_cwnd = snd_cwnd + maxseg … … 697 675 */ 698 676 if (cw > cep->snd_ssthresh) 699 /* 輻輳åé¿å¶å¾¡*/677 /* 輻輳回避制御 */ 700 678 incr = incr * incr / cw; 701 679 … … 706 684 707 685 /* 708 * éä¿¡ã¦ã£ã³ããããã¡ãããç¸æãå信確èªãããã¼ã¿æ° (acked) ã®ãã¼ã¿ãåé¤ããã686 * 送信ウィンドバッファから、相手が受信確認したデータ数 (acked) のデータを削除する。 709 687 */ 710 688 if (acked > cep->swbuf_count) { … … 719 697 } 720 698 721 /* éä¿¡ã¦ã£ã³ããããã¡ã«ç©ºããã§ãããã¨ãç¥ãããã*/699 /* 送信ウィンドバッファに空きができたことを知らせる。*/ 722 700 syscall(set_flg(cep->snd_flgid, TCP_CEP_EVT_SWBUF_READY)); 723 701 724 702 /* 725 * éé確èªããã¦ããªãæå°éä¿¡ SEQ (snd_una) ã726 * ä»åéé確èªããã ACK ã¾ã§é²ãã727 * 次ã®éä¿¡ãã¼ã¿ã® SEQ (snd_nxt) ããæ°ãã728 * éé確èªããã¦ããªãæå°éä¿¡SEQ (snd_una)729 * ã¾ã§é²ããã703 * 送達確認されていない最小送信 SEQ (snd_una) を 704 * 今回送達確認された ACK まで進め、 705 * 次の送信データの SEQ (snd_nxt) も、新しい 706 * 送達確認されていない最小送信 SEQ (snd_una) 707 * まで進める。 730 708 */ 731 709 cep->snd_una += acked; … … 734 712 735 713 /* 736 * ç¶æ 737 ã«ããåå² 714 * 状態により分岐 738 715 */ 739 716 switch (cep->fsm_state) { 740 case TCP_FSM_FIN_WAIT_1: /* APP ãçµäºãFIN éä¿¡æ¸ã¿ãACK å¾ 741 ã¡ */ 717 case TCP_FSM_FIN_WAIT_1: /* APP が終了、FIN 送信済み、ACK 待ち */ 742 718 if (ourfinisacked) { 743 719 cep->fsm_state = TCP_FSM_FIN_WAIT_2; … … 745 721 } 746 722 break; 747 case TCP_FSM_CLOSING: /* åæã¯ãã¼ãºãFIN 交ææ¸ã¿ãACK å¾ 748 ã¡ */ 723 case TCP_FSM_CLOSING: /* 同時クローズ、FIN 交換済み、ACK 待ち */ 749 724 if (ourfinisacked) { 750 725 /* 751 * éä¿¡ãã FIN ã確èªããã¦ããã°ç¶æ 752 ãå¤æ´ãã 753 * ãã¹ã¦ã®ã¿ã¤ãããªã»ããããå¾ã2MSL ã¿ã¤ããè¨å®ããã 726 * 送信した FIN が確認されていれば状態を変更し、 727 * すべてのタイマをリセットした後、2MSL タイマを設定する。 754 728 */ 755 729 cep->fsm_state = TCP_FSM_TIME_WAIT; … … 758 732 } 759 733 break; 760 case TCP_FSM_LAST_ACK: /* APP ãçµäºãACK å¾ 761 ã¡ */ 734 case TCP_FSM_LAST_ACK: /* APP が終了、ACK 待ち */ 762 735 if (ourfinisacked) { 763 736 /* 764 * éä¿¡ãã FIN ã確èªããã¦ããã°ãcep ãã¯ãã¼ãºãã765 * ã»ã°ã¡ã³ããç ´æ£ããã737 * 送信した FIN が確認されていれば、cep をクローズし、 738 * セグメントを破棄する。 766 739 */ 767 740 cep = tcp_close(cep); … … 769 742 } 770 743 break; 771 case TCP_FSM_TIME_WAIT: /* ç¸æããã® FIN åä¿¡æ¸ã¿ãæéå¾ 772 ã¡ */ 744 case TCP_FSM_TIME_WAIT: /* 相手からの FIN 受信済み、時間待ち */ 773 745 /* 774 * ç¸æãã FIN ãåéããããããä¸åº¦2MSL ã¿ã¤ããè¨å®ãã775 * ACK éä¿¡å¾ãã»ã°ã¡ã³ããç ´æ£ããã746 * 相手から FIN が再送された。もう一度2MSL タイマを設定し、 747 * ACK 送信後、セグメントを破棄する。 776 748 */ 777 749 cep->timer[TCP_TIM_2MSL] = 2 * TCP_TVAL_MSL; … … 784 756 785 757 /* 786 * proc_ack1 -- ACK ã®å¦ç(1)758 * proc_ack1 -- ACK の処理 (1) 787 759 * 788 * æ»ãå¤:789 * RET_OK æ£å¸¸790 * RET_RETURN æ£å¸¸ããªã¿ã¼ã³ããã791 * RET_DROP ã¨ã©ã¼ãã»ã°ã¡ã³ããç ´æ£ããã792 * RET_RST_DROP ã¨ã©ã¼ãRST ãéä¿¡ããã»ã°ã¡ã³ããç ´æ£ããã760 * 戻り値: 761 * RET_OK 正常 762 * RET_RETURN 正常、リターンする。 763 * RET_DROP エラー、セグメントを破棄する。 764 * RET_RST_DROP エラー、RST を送信し、セグメントを破棄する。 793 765 * 794 766 */ … … 800 772 801 773 switch (cep->fsm_state) { 802 case TCP_FSM_SYN_RECVD: /* SYN ãåä¿¡ããSYN éä¿¡æ¸ã¿ */ 803 804 /* ç¶æ 805 ãå¤æ´ããã*/ 774 case TCP_FSM_SYN_RECVD: /* SYN を受信し、SYN 送信済み */ 775 776 /* 状態を変更する。*/ 806 777 if (cep->flags & TCP_CEP_FLG_NEED_FIN) { 807 778 cep->fsm_state = TCP_FSM_FIN_WAIT_1; … … 812 783 cep->fsm_state = TCP_FSM_ESTABLISHED; 813 784 814 /* TCP é信端ç¹ããTCP åä»å£ã解æ¾ããã*/785 /* TCP 通信端点からTCP 受付口を解放する。*/ 815 786 cep->rep = NULL; 816 787 … … 825 796 if (cep->rcv_nblk_tfn == TFN_TCP_ACP_CEP) { 826 797 827 /* ç¸æã®ã¢ãã¬ã¹ãã³ãã¼ããã*/798 /* 相手のアドレスをコピーする。*/ 828 799 829 800 #if defined(_IP6_CFG) && defined(_IP4_CFG) … … 875 846 if (cep->snd_nblk_tfn == TFN_TCP_CON_CEP) { 876 847 877 /* ç¸æã®ã¢ãã¬ã¹ãã³ãã¼ããã*/848 /* 相手のアドレスをコピーする。*/ 878 849 *cep->p_dstaddr = cep->dstaddr; 879 850 … … 923 894 924 895 /* 925 * SDU ããªã FIN ãã¤ãã¦ããªããã°ãtcp_move_ra2rw() ãå¼åºãã926 */ 927 if (tcph->sum == 0 && (tcph->flags & TCP_FLG_FIN) == 0) /* tcph->sum 㯠SDU é·*/896 * SDU がなく FIN がついていなければ、tcp_move_ra2rw() を呼出す。 897 */ 898 if (tcph->sum == 0 && (tcph->flags & TCP_FLG_FIN) == 0) /* tcph->sum は SDU 長 */ 928 899 tcph->flags = tcp_move_ra2rw(cep, tcph->flags); 929 900 930 cep->snd_wl1 = tcph->seq - 1; /* snd_wl1: ã¦ã£ã³ãæ´æ°SEQ */931 932 /* break; ä¸ã«è½ã¡ãã*/901 cep->snd_wl1 = tcph->seq - 1; /* snd_wl1: ウィンド更新 SEQ */ 902 903 /* break; 下に落ちる。*/ 933 904 934 case TCP_FSM_ESTABLISHED: /* ã³ãã¯ã·ã§ã³éè¨å®äº */ 935 case TCP_FSM_FIN_WAIT_1: /* çµäºãã¦ãFIN éä¿¡æ¸ã¿ */ 936 case TCP_FSM_FIN_WAIT_2: /* çµäºãFIN ä¼é確èªåä¿¡ãFINå¾ 937 ã¡*/ 938 case TCP_FSM_CLOSE_WAIT: /* FIN åä¿¡ãã¯ãã¼ãºå¾ 939 ã¡ */ 940 case TCP_FSM_CLOSING: /* çµäºãFIN 交ææ¸ã¿ãACK å¾ 941 ã¡ */ 942 case TCP_FSM_LAST_ACK: /* FIN åä¿¡ãçµäºãACK å¾ 943 ã¡ */ 944 case TCP_FSM_TIME_WAIT: /* çµäºãæéå¾ 945 ã¡ */ 905 case TCP_FSM_ESTABLISHED: /* コネクション開設完了 */ 906 case TCP_FSM_FIN_WAIT_1: /* 終了して、FIN 送信済み */ 907 case TCP_FSM_FIN_WAIT_2: /* 終了、FIN 伝達確認受信、FIN待ち*/ 908 case TCP_FSM_CLOSE_WAIT: /* FIN 受信、クローズ待ち */ 909 case TCP_FSM_CLOSING: /* 終了、FIN 交換済み、ACK 待ち */ 910 case TCP_FSM_LAST_ACK: /* FIN 受信、終了、ACK 待ち */ 911 case TCP_FSM_TIME_WAIT: /* 終了、時間待ち */ 946 912 947 913 if (SEQ_LE(tcph->ack, cep->snd_una)) { 948 914 949 915 /* 950 * åä¿¡ç¢ºèª ACK ã æªç¢ºèªã®æå°éä¿¡ SEQ (snd_una) ã¨åãã以åã®ã¨ãã®å¦ç951 * ã¤ã¾ããå¤éã« ACK ãåä¿¡ãããã¨ãæå³ãã¦ããã916 * 受信確認 ACK が 未確認の最小送信 SEQ (snd_una) と同じか以前のときの処理 917 * つまり、多重に ACK を受信したことを意味している。 952 918 */ 953 919 954 if (tcph->sum == 0 && tcph->win == cep->snd_wnd) { /* tcph->sum 㯠SDU é·*/920 if (tcph->sum == 0 && tcph->win == cep->snd_wnd) { /* tcph->sum は SDU 長 */ 955 921 956 922 /* 957 * SDU ããªããç¸æã®ã¦ã£ã³ããµã¤ãºãå¤æ´ããã¦ããªããã°ã958 * ãã§ã«éä¿¡ããã»ã°ã¡ã³ãã®ä¸ã§ãACK (tcph->ack) ã¨959 * åã SEQ ããå§ã¾ãã»ã°ã¡ã³ãããéä¸ã§æ¶å¤±ããå¯è½æ§ãããã960 * ãã®å ´åã¯ãé«éå転éã¨é«éãªã«ããªãè¡ãã923 * SDU がなく、相手のウィンドサイズが変更されていなければ、 924 * すでに送信したセグメントの中で、ACK (tcph->ack) と 925 * 同じ SEQ から始まるセグメントが、途中で消失した可能性がある。 926 * この場合は、高速再転送と高速リカバリを行う。 961 927 */ 962 928 NET_COUNT_TCP(net_count_tcp[NC_TCP_RECV_DUP_ACKS], 1); … … 965 931 966 932 /* 967 * åéã¿ã¤ããã»ããããã¦ããªãã¨ãã968 * ã¾ãã¯ãACK (tcph->ack) ã¨æªç¢ºèªã®æå°éä¿¡ SEQã969 * ä¸è´ããªãã¨ãã¯ãå¤é ACK æ°ã 0 ã«ããã933 * 再送タイマがセットされていないとき、 934 * または、ACK (tcph->ack) と未確認の最小送信 SEQが 935 * 一致しないときは、多重 ACK 数を 0 にする。 970 936 */ 971 937 cep->dupacks = 0; … … 975 941 976 942 /* 977 * å¤é ACK æ°ããããå¤ (æ¨æº 3) ã«ãªã£ãã978 * é«éå転éå¦çãéå§ããã943 * 多重 ACK 数がしきい値 (標準 3) になったら 944 * 高速再転送処理を開始する。 979 945 */ 980 946 uint_t win; 981 947 982 948 /* 983 * 輻輳ã¦ã£ã³ããµã¤ãº(snd_cwnd)ã®ãããå¤ãè¨å®ããã949 * 輻輳ウィンドサイズ(snd_cwnd)のしきい値を設定する。 984 950 * 985 * ç¸æã®åä¿¡å¯è½ã¦ã£ã³ããµã¤ãº (snd_wnd) ã986 * 輻輳ã¦ã£ã³ããµã¤ãº (snd_cwnd) ã® 1/2ã987 * ãã ãã2 * maxseg 以ä¸ã951 * 相手の受信可能ウィンドサイズ (snd_wnd) か 952 * 輻輳ウィンドサイズ (snd_cwnd) の 1/2。 953 * ただし、2 * maxseg 以上。 988 954 * 989 955 */ … … 996 962 cep->snd_ssthresh = win * cep->maxseg; 997 963 998 /* åéã¿ã¤ãã¨å¾å¾©æéããªã»ããããã*/964 /* 再送タイマと往復時間をリセットする。*/ 999 965 cep->timer[TCP_TIM_REXMT] = 0; 1000 966 cep->rtt = 0; 1001 967 1002 /* æ¶å¤±ããã»ã°ã¡ã³ããéä¿¡ããã*/968 /* 消失したセグメントを送信する。*/ 1003 969 cep->snd_old_nxt = cep->snd_nxt; 1004 970 cep->snd_nxt = tcph->ack; … … 1006 972 1007 973 /* 1008 * snd_nxt ãå 1009 ã«æ»ãããã«è¨å®ã㦠1010 * éä¿¡ãæ示ããã 974 * snd_nxt を元に戻すように設定して 975 * 送信を指示する。 1011 976 */ 1012 977 cep->flags |= TCP_CEP_FLG_POST_OUTPUT | … … 1016 981 sig_sem(SEM_TCP_POST_OUTPUT); 1017 982 1018 /* 輻輳ã¦ã£ã³ããµã¤ãºãæ´æ°ããã*/983 /* 輻輳ウィンドサイズを更新する。*/ 1019 984 cep->snd_cwnd = (uint16_t)(cep->snd_ssthresh 1020 985 + cep->maxseg * cep->dupacks); … … 1026 991 1027 992 /* 1028 * å¤é ACK æ°ããããå¤ (æ¨æº 3) ãè¶ 1029 ããã 1030 * 輻輳ã¦ã£ã³ããµã¤ãºãå¢å ããªããåéããã 993 * 多重 ACK 数がしきい値 (標準 3) を超えたら 994 * 輻輳ウィンドサイズを増加しながら再送する。 1031 995 */ 1032 996 cep->snd_cwnd += cep->maxseg; 1033 997 1034 /* éä¿¡ãæ示ããã*/998 /* 送信を指示する。*/ 1035 999 cep->flags |= TCP_CEP_FLG_POST_OUTPUT; 1036 1000 sig_sem(SEM_TCP_POST_OUTPUT); … … 1045 1009 1046 1010 /* 1047 * åä¿¡ç¢ºèª ACK ã æªç¢ºèªã®æå°éä¿¡ SEQ (snd_una) 以éã®ã¨ãã®å¦ç1011 * 受信確認 ACK が 未確認の最小送信 SEQ (snd_una) 以降のときの処理 1048 1012 */ 1049 1013 if (cep->dupacks >= MAX_TCP_REXMT_THRESH && cep->snd_cwnd > cep->snd_ssthresh) 1050 1014 /* 1051 * é«éå転éãè¡ã£ã¦ããã¨ãã¯ã輻輳ã¦ã£ã³ããµã¤ãºããããå¤ã¾ã§æ»ãã1015 * 高速再転送を行っていたときは、輻輳ウィンドサイズをしきい値まで戻す。 1052 1016 */ 1053 1017 cep->snd_cwnd = (uint16_t)cep->snd_ssthresh; … … 1057 1021 if (SEQ_GT(tcph->ack, cep->snd_max)) 1058 1022 /* 1059 * åä¿¡ãã ACK ãéä¿¡ããæ大 SEQ ãè¶ 1060 ãã¦ããã¨ãã®å¦ç 1023 * 受信した ACK が送信した最大 SEQ を超えていたときの処理 1061 1024 */ 1062 1025 return drop_after_ack(input, cep, thoff); … … 1064 1027 if (cep->flags & TCP_CEP_FLG_NEED_SYN) { 1065 1028 /* 1066 * SYN éä¿¡è¦æ±ãåãæ¶ãã¦ãæªç¢ºèªã®æå°éä¿¡ SEQ ãé²ããã1029 * SYN 送信要求を取り消して、未確認の最小送信 SEQ を進める。 1067 1030 */ 1068 1031 cep->flags &= ~TCP_CEP_FLG_NEED_SYN; … … 1077 1040 1078 1041 /* 1079 * update_wnd -- ã¦ã£ã³ããµã¤ãºãæ´æ°ããã1042 * update_wnd -- ウィンドサイズを更新する。 1080 1043 * 1081 * æ»ãå¤: éä¿¡ãå¿ 1082 è¦ãªã true ãè¿ãã 1044 * 戻り値: 送信が必要なら true を返す。 1083 1045 */ 1084 1046 … … 1088 1050 1089 1051 /* 1090 * æ´æ°æ¡ä»¶1052 * 更新条件 1091 1053 * 1092 * ACK ãã©ã°ãã»ããããã¦ãã&&1093 * ( ååã¦ã£ã³ããæ´æ°ãã SEQ (snd_wl1) ã SEQ ããå||1094 * ååã¦ã£ã³ããæ´æ°ãã SEQ (snd_wl1) ã SEQ ã¨åã&&1095 * ( ååã¦ã£ã³ããæ´æ°ãã ACK (snd_wl2) ã ACK ããå||1096 * ( ååã¦ã£ã³ããæ´æ°ãã ACK (snd_wl2) ã ACK ã¨åã&&1097 * WIN ãç¸æã®åä¿¡å¯è½ã¦ã£ã³ããµã¤ãº (snd_wnd) ãã大ãã1054 * ACK フラグがセットされている && 1055 * (前回ウィンドを更新した SEQ (snd_wl1) が SEQ より前 || 1056 * 前回ウィンドを更新した SEQ (snd_wl1) が SEQ と同じ && 1057 * (前回ウィンドを更新した ACK (snd_wl2) が ACK より前 || 1058 * (前回ウィンドを更新した ACK (snd_wl2) が ACK と同じ && 1059 * WIN が相手の受信可能ウィンドサイズ (snd_wnd) より大きい 1098 1060 * ) 1099 1061 * ) … … 1111 1073 1112 1074 if (cep->snd_wnd > cep->max_sndwnd) 1113 /* ä»ã¾ã§ã®æ大éä¿¡ã¦ã£ã³ããµã¤ãºãæ´æ°ããã*/1075 /* 今までの最大送信ウィンドサイズを更新する。*/ 1114 1076 cep->max_sndwnd = cep->snd_wnd; 1115 1077 … … 1119 1081 1120 1082 /* 1121 * éä¿¡ã¦ã£ã³ããããã¡ç¨ã®ãããã¯ã¼ã¯ãããã¡å²ãå½ã¦ä¸ã§ã 1122 * ç¸æã®åä¿¡ã¦ã£ã³ãã空ãã®ãå¾ 1123 ã£ã¦ããã¨ãã®å¦ç 1083 * 送信ウィンドバッファ用のネットワークバッファ割り当て中で、 1084 * 相手の受信ウィンドが空くのを待っているときの処理 1124 1085 */ 1125 1086 if (cep->snd_wnd > 0) { 1126 1087 1127 1088 /* 1128 * ç¸æã®åä¿¡ã¦ã£ã³ãã空ããã¨ãã¯ã1129 * éä¿¡ã¦ã£ã³ããããã¡ç¨ã®ãããã¯ã¼ã¯ãããã¡å²ãå½ã¦ãåéããã1089 * 相手の受信ウィンドが空いたときは、 1090 * 送信ウィンドバッファ用のネットワークバッファ割り当てを再開する。 1130 1091 */ 1131 1092 cep->flags = (cep->flags & ~TCP_CEP_FLG_WBCS_MASK) … … 1144 1105 1145 1106 /* 1146 * proc_urg -- ç·æ¥ãã¼ã¿ã¤ãã®ã»ã°ã¡ã³ãã®å¦ç1107 * proc_urg -- 緊急データつきのセグメントの処理 1147 1108 */ 1148 1109 … … 1155 1116 TCP_FSM_HAVE_RCVD_FIN(cep->fsm_state) == 0) { 1156 1117 1157 /* ç·æ¥ãã¼ã¿ã¤ãã®ã»ã°ã¡ã³ãã®å¦ç*/1118 /* 緊急データつきのセグメントの処理 */ 1158 1119 1159 1120 NET_COUNT_TCP(net_count_tcp[NC_TCP_RECV_URG_SEGS], 1); … … 1161 1122 1162 1123 /* 1163 * ç·æ¥ãã¤ã³ã¿ã®ä½ç½®ãåä¿¡ã¦ã£ã³ããããã¡ã® 1164 * ç¯å²ãè¶ 1165 ããã¨ãã¯ä½ãããªãã 1124 * 緊急ポインタの位置が受信ウィンドバッファの 1125 * 範囲を超えるときは何もしない。 1166 1126 */ 1167 1127 tcph->urp = 0; … … 1170 1130 1171 1131 if (SEQ_GT(tcph->seq + tcph->urp, cep->rcv_up)) 1172 /* ç·æ¥ãã¤ã³ã¿ãæ´æ°ãããã¨ãã®å¦ç*/1132 /* 緊急ポインタが更新されたときの処理 */ 1173 1133 cep->rcv_up = tcph->seq + tcph->urp; 1174 1134 1175 if ((tcph->flags & TCP_FLG_URG) && (tcph->urp + TCP_CFG_URG_OFFSET) < tcph->sum) { /* tcph->sum 㯠TCP ã® SDU é·*/1135 if ((tcph->flags & TCP_FLG_URG) && (tcph->urp + TCP_CFG_URG_OFFSET) < tcph->sum) { /* tcph->sum は TCP の SDU 長 */ 1176 1136 1177 1137 /* 1178 * ç·æ¥ãã¤ã³ã¿ã®ä½ç½®ããä»ååä¿¡ããã»ã°ã¡ã³ãå 1179 ã®å ´åã¯ã 1180 * ã³ã¼ã«ããã¯é¢æ°ãå¼ã³åºãã 1138 * 緊急ポインタの位置が、今回受信したセグメント内の場合は、 1139 * コールバック関数を呼び出す。 1181 1140 */ 1182 1141 cep->urg_tcph = tcph; … … 1201 1160 1202 1161 if (cep->urg_tcph != NULL) { 1203 /* ã³ã¼ã«ããã¯é¢æ°å 1204 㧠tcp_rcv_oob() ãå¼åºããªãã£ãã*/ 1162 /* コールバック関数内で tcp_rcv_oob() を呼出さなかった。*/ 1205 1163 cep->urg_tcph = NULL; 1206 1164 tcph->urp = 0; … … 1208 1166 else { 1209 1167 /* 1210 * ã³ã¼ã«ããã¯é¢æ°å 1211 㧠tcp_rcv_oob() ãå¼åºããæã¯ã 1212 * SDU é·ã®è£æ£å¤ãè¨å®ããã 1168 * コールバック関数内で tcp_rcv_oob() を呼出した時は、 1169 * SDU 長の補正値を設定する。 1213 1170 */ 1214 1171 tcph->urp = 1; … … 1237 1194 1238 1195 /* 1239 * drop_after_ack -- åä¿¡ã»ã°ã¡ã³ããç ´æ£ããå¾ãACK ãè¿ã (注æ: ååã¨ã¯åã£ã¦ããªã)ã1196 * drop_after_ack -- 受信セグメントを破棄した後、ACK を返す (注意: 名前とは合っていない)。 1240 1197 * 1241 * æ»ãå¤:1242 * RET_RETURN æ£å¸¸ããªã¿ã¼ã³ããã1243 * RET_RST_DROP ã¨ã©ã¼ãRST ãéä¿¡ããã»ã°ã¡ã³ããç ´æ£ããã1198 * 戻り値: 1199 * RET_RETURN 正常、リターンする。 1200 * RET_RST_DROP エラー、RST を送信し、セグメントを破棄する。 1244 1201 */ 1245 1202 … … 1250 1207 1251 1208 /* 1252 * SYN åä¿¡ç¶æ 1253 ã§ãACK ãéé確èªããã¦ããªãæå°éä¿¡ SEQ (snd_una) ãã 1254 * åã®å¤ããéä¿¡ãããæ大 SEQ (snd_max) ããå¾ã®å¤ã®å ´åã¯ãç¸æã« RST ã 1255 * éã£ã¦çµäºãããããã¯ã"LAND" DoS æ»æã¸ã®é²å¾¡ã§ãããå½é ããã SYN 1256 * ã»ã°ã¡ã³ããéä¿¡ãã¤ã¥ãããã¼ãéã§ã® ACK ã¹ãã¼ã ãé²ãã 1209 * SYN 受信状態で、ACK が送達確認されていない最小送信 SEQ (snd_una) より 1210 * 前の値か、送信された最大 SEQ (snd_max) より後の値の場合は、相手に RST を 1211 * 送って終了する。これは、"LAND" DoS 攻撃への防御であり、偽造された SYN 1212 * セグメントを送信しつづけるポート間での ACK ストームを防ぐ。 1257 1213 */ 1258 1214 if (cep->fsm_state == TCP_FSM_SYN_RECVD && (tcph->flags & TCP_FLG_ACK) && … … 1263 1219 syscall(rel_net_buf(input)); 1264 1220 1265 /* éä¿¡ãæ示ããã*/1221 /* 送信を指示する。*/ 1266 1222 cep->flags |= TCP_CEP_FLG_ACK_NOW | TCP_CEP_FLG_POST_OUTPUT; 1267 1223 sig_sem(SEM_TCP_POST_OUTPUT); … … 1270 1226 1271 1227 /* 1272 * close_connection -- ã³ãã¯ã·ã§ã³éæ¾å¦çãç¸æãã FIN ãåä¿¡ããã1228 * close_connection -- コネクション開放処理、相手から FIN を受信した。 1273 1229 */ 1274 1230 … … 1295 1251 1296 1252 switch (cep->fsm_state) { 1297 case TCP_FSM_SYN_RECVD: /* SYN ãåä¿¡ããSYN éä¿¡æ¸ã¿*/1298 case TCP_FSM_ESTABLISHED: /* ã³ãã¯ã·ã§ã³éè¨å®äº*/1253 case TCP_FSM_SYN_RECVD: /* SYN を受信し、SYN 送信済み */ 1254 case TCP_FSM_ESTABLISHED: /* コネクション開設完了 */ 1299 1255 cep->fsm_state = TCP_FSM_CLOSE_WAIT; 1300 1256 syscall(set_flg(cep->snd_flgid, TCP_CEP_EVT_RWBUF_READY)); 1301 1257 break; 1302 1258 1303 case TCP_FSM_FIN_WAIT_1: /* APP ãçµäºãFIN éä¿¡æ¸ã¿ãACK å¾ 1304 ã¡ */ 1259 case TCP_FSM_FIN_WAIT_1: /* APP が終了、FIN 送信済み、ACK 待ち */ 1305 1260 cep->fsm_state = TCP_FSM_CLOSING; 1306 1261 break; 1307 1262 1308 case TCP_FSM_FIN_WAIT_2: /* ç¸æããã® FIN å¾ 1309 ã¡ */ 1263 case TCP_FSM_FIN_WAIT_2: /* 相手からの FIN 待ち */ 1310 1264 cep->fsm_state = TCP_FSM_TIME_WAIT; 1311 1265 tcp_cancel_timers(cep); … … 1313 1267 1314 1268 /* 1315 * FIN WAIT 2 ç¶æ 1316 ã§ã¯ã 1317 * åä¿¡ã¯å¯è½ã§ãããããã§ã«éä¿¡ã¯çµäºãã¦ããã 1318 * ç¸æã®éä¿¡ãçµäºããã®ã§ãå 1319 ¥åã¿ã¹ã¯ã®ã¿èµ·åºããã 1269 * FIN WAIT 2 状態では、 1270 * 受信は可能であるが、すでに送信は終了している。 1271 * 相手の送信も終了したので、入力タスクのみ起床する。 1320 1272 */ 1321 1273 syscall(set_flg(cep->snd_flgid, TCP_CEP_EVT_SWBUF_READY)); … … 1323 1275 #if defined(NUM_TCP_TW_CEP_ENTRY) && NUM_TCP_TW_CEP_ENTRY > 0 1324 1276 1325 /* ç¸æããã® FIN ã«å¯¾ãã¦å¿çãè¿ãã*/1277 /* 相手からの FIN に対して応答を返す。*/ 1326 1278 tcp_respond(NULL, cep, cep->rcv_nxt, cep->snd_una, 1327 1279 cep->rbufsz - cep->rwbuf_count, TCP_FLG_ACK); … … 1330 1282 1331 1283 /* 1332 * å¿ 1333 è¦ãªæ 1334 å ±ã Time Wait ç¨ TCP é信端ç¹ã«ç§»ãã¦ã 1335 * æ¨æºã® TCP é信端ç¹ãéæ¾ããã 1284 * 必要な情報を Time Wait 用 TCP 通信端点に移して、 1285 * 標準の TCP 通信端点を開放する。 1336 1286 */ 1337 1287 tcp_move_twcep(cep); … … 1341 1291 break; 1342 1292 1343 case TCP_FSM_TIME_WAIT: /* ç¸æããã® FIN åä¿¡æ¸ã¿ãæéå¾ 1344 ã¡ */ 1293 case TCP_FSM_TIME_WAIT: /* 相手からの FIN 受信済み、時間待ち */ 1345 1294 cep->timer[TCP_TIM_2MSL] = 2 * TCP_TVAL_MSL; 1346 1295 break; … … 1349 1298 1350 1299 /* 1351 * tcp_input -- TCP ã®å 1352 ¥åé¢æ° 1300 * tcp_input -- TCP の入力関数 1353 1301 * 1354 * 注æ: input ã«ã¯ IF ããã㨠IP ããããå 1355 é ã«ããã 1302 * 注意: input には IF ヘッダと IP ヘッダが先頭にある。 1356 1303 */ 1357 1304 … … 1379 1326 NET_COUNT_MIB(tcp_stats.tcpInSegs, 1); 1380 1327 1381 /* ãããé·ããã§ãã¯ããã*/1328 /* ヘッダ長をチェックする。*/ 1382 1329 if (input->len < IF_IP_TCP_HDR_SIZE(input)) { 1383 1330 NET_COUNT_TCP(net_count_tcp[NC_TCP_RECV_BAD_HEADERS], 1); … … 1387 1334 tcph = GET_TCP_HDR(input, *offp); 1388 1335 1389 seglen = input->len - *offp; /* TCP ã®ã»ã°ã¡ã³ãé·*/1336 seglen = input->len - *offp; /* TCP のセグメント長 */ 1390 1337 1391 1338 if (IN_CKSUM(input, IPPROTO_TCP, *offp, (uint_t)seglen) != 0) { … … 1394 1341 } 1395 1342 1396 /* TCP ãããé·ããã§ãã¯ããã*/1343 /* TCP ヘッダ長をチェックする。*/ 1397 1344 if (TCP_HDR_LEN(tcph->doff) < TCP_HDR_SIZE || TCP_HDR_LEN(tcph->doff) > seglen) { 1398 1345 NET_COUNT_TCP(net_count_tcp[NC_TCP_RECV_BAD_HEADERS], 1); 1399 1346 goto drop; 1400 1347 } 1401 tcph->sum = seglen - TCP_HDR_LEN(tcph->doff); /* ãããã tcph->sum 㯠TCP ã® SDU é·*/1348 tcph->sum = seglen - TCP_HDR_LEN(tcph->doff); /* ここから tcph->sum は TCP の SDU 長 */ 1402 1349 1403 1350 /* 1404 * SYN 㨠FIN ã®ä¸¡ããããã»ããããã¦ããã°ç ´æ£ãããnmap çã®å¯¾ç1405 * ãã ããRFC1644 T/TCP æ¡å¼µæ©è½ã¨ç«¶åããã1351 * SYN と FIN の両ビットがセットされていれば破棄する。nmap 等の対策 1352 * ただし、RFC1644 T/TCP 拡張機能と競合する。 1406 1353 */ 1407 1354 if ((tcph->flags & (TCP_FLG_SYN | TCP_FLG_FIN)) == (TCP_FLG_SYN | TCP_FLG_FIN)) 1408 1355 goto drop; 1409 1356 1410 /* ãããã¯ã¼ã¯ãªã¼ãã¼ãããã¹ããªã¼ãã¼ã«å¤æããã*/1357 /* ネットワークオーダーからホストオーダーに変換する。*/ 1411 1358 1412 1359 NTOHL(tcph->seq); … … 1422 1369 1423 1370 /* 1424 * ç¶æ 1425 ã Time Wait ä¸ã® CEP ãæ¢ç´¢ããã 1371 * 状態が Time Wait 中の CEP を探索する。 1426 1372 */ 1427 1373 twcep = tcp_find_twcep(input, *offp); 1428 1374 if (twcep != NULL) { 1429 1375 1430 if (tcph->flags & TCP_FLG_RST) /* RST ãã©ã°ãåä¿¡ããã¨ãã¯ç¡è¦ããã*/1376 if (tcph->flags & TCP_FLG_RST) /* RST フラグを受信したときは無視する。*/ 1431 1377 goto drop; 1432 1378 else { 1433 1379 1434 1380 /* 1435 * TCP é信端ç¹ã Time Wait ã®æãç¸æãã¹ãããã»ã°ã¡ã³ããæ¥ãã¨ãã¯ã1436 * ç¸æãã¹ãã® FIN ã«å¯¾ããèªãã¹ãã® ACK ã»ã°ã¡ã³ããéä¸ã§1437 * æ失ãããã¨ãæå³ãã¦ããã®ã§ãACK ã»ã°ã¡ã³ããåéããã1381 * TCP 通信端点が Time Wait の時、相手ホストからセグメントが来たときは、 1382 * 相手ホストの FIN に対する自ホストの ACK セグメントが途中で 1383 * 損失したことを意味しているので、ACK セグメントを再送する。 1438 1384 */ 1439 1385 1440 /* ãã¹ããªã¼ãã¼ãããããã¯ã¼ã¯ãªã¼ãã¼ã«æ»ãã*/1386 /* ホストオーダーからネットワークオーダーに戻す。*/ 1441 1387 HTONS(tcph->sport); 1442 1388 HTONS(tcph->dport); … … 1447 1393 } 1448 1394 else 1449 /* æ¨æºã® TCP é信端ç¹ãå¾ãã*/1395 /* 標準の TCP 通信端点を得る。*/ 1450 1396 cep = tcp_find_cep(input, *offp); 1451 1397 1452 1398 #else /* of #if defined(NUM_TCP_TW_CEP_ENTRY) && NUM_TCP_TW_CEP_ENTRY > 0 */ 1453 1399 1454 /* TCP é信端ç¹ãå¾ãã*/1400 /* TCP 通信端点を得る。*/ 1455 1401 cep = tcp_find_cep(input, *offp); 1456 1402 … … 1458 1404 1459 1405 /* 1460 * TCP é信端ç¹ããªãå ´å㨠CEP ã®ç¶æ 1461 ãã¯ãã¼ãºãªãç ´æ£ããã 1406 * TCP 通信端点がない場合と CEP の状態がクローズなら破棄する。 1462 1407 */ 1463 1408 if (cep == NULL) { … … 1477 1422 1478 1423 /* 1479 * ã³ãã¯ã·ã§ã³éè¨æ¸ã¿ã§ã»ã°ã¡ã³ããåä¿¡ããã¨ãã¯ã1480 * ã¢ã¤ãã«æéã¨çå確èªã¿ã¤ãããªã»ããããã1424 * コネクション開設済みでセグメントを受信したときは、 1425 * アイドル時間と生存確認タイマをリセットする。 1481 1426 */ 1482 1427 cep->idle = 0; … … 1485 1430 } 1486 1431 1487 /* CEP ã®ç¶æ 1488 ã LISTEN 以å¤ã®æã¯ããªãã·ã§ã³ãå¦çããã*/ 1432 /* CEP の状態が LISTEN 以外の時は、オプションを処理する。*/ 1489 1433 if (cep->fsm_state != TCP_FSM_LISTEN) 1490 1434 parse_option(tcph, cep); 1491 1435 1492 1436 /* 1493 * åä¿¡å¯è½ã¦ã£ã³ããµã¤ãºãè¨ç®ããã1437 * 受信可能ウィンドサイズを計算する。 1494 1438 * 1495 * rcv_nxt: åä¿¡ãæå¾ 1496 ãã¦ããæå°ã® SEQï¼ãã以åã¯åä¿¡æ¸ã¿ï¼ 1497 * rcv_adv: åä¿¡ãæå¾ 1498 ãã¦ããæ大㮠SEQ 1499 * rbufsz: åä¿¡ã¦ã£ã³ããããã¡ãµã¤ãº 1500 * rwbuf_count: åä¿¡ã¦ã£ã³ããããã¡ã«ãããã¼ã¿é 1501 * tcph->sum: ä»ååä¿¡ãã SDU ãµã¤ãº 1439 * rcv_nxt: 受信を期待している最小の SEQ(これ以前は受信済み) 1440 * rcv_adv: 受信を期待している最大の SEQ 1441 * rbufsz: 受信ウィンドバッファサイズ 1442 * rwbuf_count: 受信ウィンドバッファにあるデータ量 1443 * tcph->sum: 今回受信した SDU サイズ 1502 1444 * 1503 * ä»ååä¿¡ããã»ã°ã¡ã³ããé åºæ´åãã¥ã¼ã«é£çµãã 1504 * å¯è½æ§ãããã®ã§ tcph->sum ãèæ 1505 ®ããã 1445 * 今回受信したセグメントを順序整列キューに連結する 1446 * 可能性があるので tcph->sum を考慮する。 1506 1447 * 1507 1448 */ … … 1514 1455 cep->rcv_wnd = cep->rcv_adv - cep->rcv_nxt; 1515 1456 1516 /* CEP ã®ç¶æ 1517 ã«ããå¦çãè¡ãã*/ 1518 1519 if (cep->fsm_state == TCP_FSM_LISTEN) { /* ååãªã¼ãã³ (LISTEN) ã®å¦çã*/ 1457 /* CEP の状態により処理を行う。*/ 1458 1459 if (cep->fsm_state == TCP_FSM_LISTEN) { /* 受動オープン (LISTEN) の処理。*/ 1520 1460 if ((ret = listening(input, cep, *offp, iss)) == RET_RST_DROP) 1521 1461 goto reset_drop; 1522 1462 else if (ret == RET_DROP) 1523 1463 goto drop; 1524 trim_length(tcph, cep); /* åä¿¡ãã SDU é·ã調æ´ããã*/1525 1526 if (tcph->flags & TCP_FLG_ACK) { /* ACK ãã©ã°ã®å¦ç*/1464 trim_length(tcph, cep); /* 受信した SDU 長を調整する。*/ 1465 1466 if (tcph->flags & TCP_FLG_ACK) { /* ACK フラグの処理 */ 1527 1467 if ((ret = proc_ack2(input, cep, *offp, &needoutput)) == RET_DROP) 1528 1468 goto drop; … … 1533 1473 } 1534 1474 } 1535 else if (cep->fsm_state == TCP_FSM_SYN_SENT) { /* è½åãªã¼ãã³ãSYN éä¿¡æ¸ã¿*/1475 else if (cep->fsm_state == TCP_FSM_SYN_SENT) { /* 能動オープン、SYN 送信済み */ 1536 1476 if ((ret = syn_sent(tcph, cep)) == RET_RST_DROP) 1537 1477 goto reset_drop; 1538 1478 else if (ret == RET_DROP) 1539 1479 goto drop; 1540 trim_length(tcph, cep); /* åä¿¡ãã SDU é·ã調æ´ããã*/1541 1542 if (tcph->flags & TCP_FLG_ACK) { /* ACK ãã©ã°ã®å¦ç*/1480 trim_length(tcph, cep); /* 受信した SDU 長を調整する。*/ 1481 1482 if (tcph->flags & TCP_FLG_ACK) { /* ACK フラグの処理 */ 1543 1483 if ((ret = proc_ack2(input, cep, *offp, &needoutput)) == RET_DROP) 1544 1484 goto drop; … … 1550 1490 } 1551 1491 else { 1552 if (cep->fsm_state == TCP_FSM_SYN_RECVD) { /* SYN ãåä¿¡ãSYN éä¿¡æ¸ã¿*/1492 if (cep->fsm_state == TCP_FSM_SYN_RECVD) { /* SYN を受信、SYN 送信済み */ 1553 1493 /* 1554 * ç¸æããå信確èªãéããã¦æ¥ã¦ãã1494 * 相手から受信確認が送られて来ても、 1555 1495 * 1556 * ACK <= æªç¢ºèªã®æå°éä¿¡SEQ (snd_una) &&1557 * éä¿¡ããæ大SEQ (snd_max) < ACK1496 * ACK <= 未確認の最小送信 SEQ (snd_una) && 1497 * 送信した最大 SEQ (snd_max) < ACK 1558 1498 * 1559 * ãªãããªã»ãããéã£ã¦ã»ã°ã¡ã³ããç ´æ£ããã1499 * なら、リセットを送ってセグメントを破棄する。 1560 1500 */ 1561 1501 if ((tcph->flags & TCP_FLG_ACK) && … … 1566 1506 1567 1507 /* 1568 * RST ãã©ã°ãåä¿¡ããã¨ãã®å¦ç (ç°å¸¸åæ)1508 * RST フラグを受信したときの処理 (異常切断) 1569 1509 */ 1570 1510 if (tcph->flags & TCP_FLG_RST) { … … 1572 1512 SEQ_LT(tcph->seq, cep->last_ack_sent + cep->rcv_wnd)) { 1573 1513 /* 1574 * åä¿¡ããã»ã°ã¡ã³ãã® SEQ ããæå¾ã«éä¿¡ããACK (last_ack_sent)1575 * ãããåä¿¡ã¦ã¤ã³ãã¦ãµã¤ãºã¾ã§ã®éã®å¦ç1514 * 受信したセグメントの SEQ が、最後に送信した ACK (last_ack_sent) 1515 * から、受信ウインドウサイズまでの間の処理 1576 1516 */ 1577 1517 switch (cep->fsm_state) { 1578 case TCP_FSM_SYN_RECVD: /* SYN ãåä¿¡ããSYN éä¿¡æ¸ã¿*/1579 1580 cep->net_error = EV_CNNRF; /* æ¥ç¶ä¸è½*/1518 case TCP_FSM_SYN_RECVD: /* SYN を受信し、SYN 送信済み */ 1519 1520 cep->net_error = EV_CNNRF; /* 接続不能 */ 1581 1521 cep->error = E_CLS; 1582 1522 NET_COUNT_TCP(net_count_tcp[NC_TCP_RECV_RSTS], 1); … … 1585 1525 break; 1586 1526 1587 case TCP_FSM_ESTABLISHED: /* ã³ãã¯ã·ã§ã³éè¨å®äº */ 1588 case TCP_FSM_CLOSE_WAIT: /* FIN åä¿¡ãã¯ãã¼ãºå¾ 1589 ã¡ */ 1527 case TCP_FSM_ESTABLISHED: /* コネクション開設完了 */ 1528 case TCP_FSM_CLOSE_WAIT: /* FIN 受信、クローズ待ち */ 1590 1529 NET_COUNT_MIB(tcp_stats.tcpEstabResets, 1); 1591 1530 /* fallthrough */ 1592 1531 1593 case TCP_FSM_FIN_WAIT_1: /* çµäºãã¦ãFIN éä¿¡æ¸ã¿ */ 1594 case TCP_FSM_FIN_WAIT_2: /* çµäºãFIN ä¼é確èªåä¿¡ãFINå¾ 1595 ã¡ */ 1596 1597 cep->net_error = EV_CNRST; /* æ¥ç¶ãªã»ãã */ 1532 case TCP_FSM_FIN_WAIT_1: /* 終了して、FIN 送信済み */ 1533 case TCP_FSM_FIN_WAIT_2: /* 終了、FIN 伝達確認受信、FIN待ち */ 1534 1535 cep->net_error = EV_CNRST; /* 接続リセット */ 1598 1536 cep->error = E_CLS; 1599 1537 NET_COUNT_TCP(net_count_tcp[NC_TCP_RECV_RSTS], 1); 1600 1538 /* no break; */ 1601 1539 1602 case TCP_FSM_CLOSING: /* çµäºãFIN 交ææ¸ã¿ãACK å¾ 1603 ã¡ */ 1604 case TCP_FSM_LAST_ACK: /* FIN åä¿¡ãçµäºãACK å¾ 1605 ã¡ */ 1540 case TCP_FSM_CLOSING: /* 終了、FIN 交換済み、ACK 待ち */ 1541 case TCP_FSM_LAST_ACK: /* FIN 受信、終了、ACK 待ち */ 1606 1542 1607 1543 cep = tcp_close(cep); … … 1613 1549 1614 1550 /* 1615 * CEP ã®ç¶æ 1616 ã SYN ãåä¿¡ããSYN éä¿¡æ¸ã¿ã®å ´åã¯ã 1617 * åä¿¡ã¦ã£ã³ãã«åã¾ãããã«ãã¼ã¿ã 1618 * 調æ´ããåã«ããã®æ¥ç¶ã«ãããã±ãããã©ãããæ¤è¨¼ããã 1551 * CEP の状態が SYN を受信し、SYN 送信済みの場合は、 1552 * 受信ウィンドに収まるようにデータを 1553 * 調整する前に、この接続によるパケットかどうかを検証する。 1619 1554 * 1620 * åä¿¡ããç¸æã® SEQ < ç¸æã® SEQ ã®åæå¤(irs)1555 * 受信した相手の SEQ < 相手の SEQ の初期値 (irs) 1621 1556 * 1622 * ããã¯ã"LAND" DoS æ»æã®é²å¾¡ã§ããã1557 * これは、"LAND" DoS 攻撃の防御である。 1623 1558 */ 1624 1559 if (cep->fsm_state == TCP_FSM_SYN_RECVD && SEQ_LT(tcph->seq, cep->irs)) { … … 1627 1562 1628 1563 /* 1629 * åä¿¡ãæå¾ 1630 ãã¦ããæå°ã® SEQ (rcv_nxt) - åä¿¡ããç¸æã® SEQ ã 1631 * æ£ãªããrcv_nxt 以åã®ãã¼ã¿ã¯ãã§ã«åä¿¡ãã¦ããã®ã§ããã®é¨åã 1632 * åé¤ããã 1564 * 受信を期待している最小の SEQ (rcv_nxt) - 受信した相手の SEQ が 1565 * 正なら、rcv_nxt 以前のデータはすでに受信しているので、その部分を 1566 * 削除する。 1633 1567 * <---------- rcv_wnd ---------> 1634 1568 * rcv_nxt rcv_nxt + rcv_wnd … … 1642 1576 * ^ ^ 1643 1577 * seq seq + len 1644 * <---------------> åé¤ããã1578 * <---------------> 削除する。 1645 1579 */ 1646 1580 todrop = cep->rcv_nxt - tcph->seq; … … 1648 1582 1649 1583 /* 1650 * SYN ãã©ã°ãã¤ãã¦ããã¨ãã¯ããã®å (1 ãªã¯ããã)1651 * SEQ ãé²ããç·æ¥ãã¤ã³ã¿ã¨åé¤ããé·ãã調æ´ããã1584 * SYN フラグがついているときは、その分 (1 オクテット) 1585 * SEQ を進め、緊急ポインタと削除する長さを調整する。 1652 1586 */ 1653 1587 if (tcph->flags & TCP_FLG_SYN) { … … 1662 1596 1663 1597 /* 1664 * åé¤ããé·ãã SDU ããé·ããã¤ã¾ããåä¿¡ãæå¾ 1665 ãã¦ãã 1666 * æå°ã® SEQ (rcv_nxt) ã«éãã¦ããªããã 1667 * åé¤ããé·ãã SDU ã¨åãã§ãFIN ãã©ã°ãã¤ãã¦ãªããã° 1668 * å 1669 ¨ã¦åé¤ããã 1598 * 削除する長さが SDU より長い、つまり、受信を期待している 1599 * 最小の SEQ (rcv_nxt) に達していないか、 1600 * 削除する長さが SDU と同じで、FIN フラグがついてなければ 1601 * 全て削除する。 1670 1602 */ 1671 if ( todrop > tcph->sum || /* tcph->sum 㯠TCP ã® SDU é·*/1603 if ( todrop > tcph->sum || /* tcph->sum は TCP の SDU 長 */ 1672 1604 (todrop == tcph->sum && (tcph->flags & TCP_FLG_FIN) == 0)) { 1673 1605 tcph->flags &= ~TCP_FLG_FIN; 1674 1606 cep->flags |= TCP_CEP_FLG_ACK_NOW; 1675 todrop = tcph->sum; /* tcph->sum 㯠TCP ã® SDU é·*/1607 todrop = tcph->sum; /* tcph->sum は TCP の SDU 長 */ 1676 1608 } 1677 1609 1678 1610 /* 1679 * SDU ãåã«è©°ããã1611 * SDU を前に詰める。 1680 1612 */ 1681 if (todrop < tcph->sum) { /* tcph->sum 㯠TCP ã® SDU é·*/1613 if (todrop < tcph->sum) { /* tcph->sum は TCP の SDU 長 */ 1682 1614 memcpy(GET_TCP_SDU(input, *offp), 1683 1615 GET_TCP_SDU(input, *offp) + todrop, (size_t)(tcph->sum - todrop)); … … 1685 1617 1686 1618 /* 1687 * SEQ 㨠SDU é·ã調æ´ããã1619 * SEQ と SDU 長を調整する。 1688 1620 */ 1689 1621 tcph->seq += todrop; 1690 tcph->sum -= (uint16_t)todrop; /* tcph->sum 㯠TCP ã® SDU é·*/1622 tcph->sum -= (uint16_t)todrop; /* tcph->sum は TCP の SDU 長 */ 1691 1623 1692 1624 /* 1693 * ç·æ¥ãã¤ã³ã¿ã調æ´ããã1625 * 緊急ポインタを調整する。 1694 1626 */ 1695 1627 if (tcph->urp > todrop) … … 1704 1636 1705 1637 /* 1706 * ããã¦ã¼ã¶ã¿ã¹ã¯ãçµäºããå¾ã«ããã¼ã¿ãåä¿¡ãã1707 * å ´åã¯ãRST ãéãã1708 */ 1709 if (cep->fsm_state == TCP_FSM_LAST_ACK && tcph->sum > 0) { /* tcph->sum 㯠TCP ã® SDU é·*/1638 * もしユーザタスクが終了した後に、データを受信した 1639 * 場合は、RST を送る。 1640 */ 1641 if (cep->fsm_state == TCP_FSM_LAST_ACK && tcph->sum > 0) { /* tcph->sum は TCP の SDU 長 */ 1710 1642 cep = tcp_close(cep); 1711 1643 goto reset_drop; … … 1713 1645 1714 1646 /* 1715 * åä¿¡ã»ã°ã¡ã³ããåä¿¡ã¦ã£ã³ããè¶ 1716 ããå ´åã¯ã 1717 * è¶ 1718 ããåãåãã 1647 * 受信セグメントが受信ウィンドを超える場合は、 1648 * 超えた分を削る。 1719 1649 * 1720 1650 * <---------- rcv_wnd ---------> … … 1729 1659 * ^ ^ 1730 1660 * seq seq + len 1731 * <-----> åé¤ããã1732 */ 1733 todrop = (tcph->seq + tcph->sum) - (cep->rcv_nxt + cep->rcv_wnd); /* tcph->sum 㯠TCP ã® SDU é·*/1661 * <-----> 削除する。 1662 */ 1663 todrop = (tcph->seq + tcph->sum) - (cep->rcv_nxt + cep->rcv_wnd); /* tcph->sum は TCP の SDU 長 */ 1734 1664 if (todrop > 0) { 1735 if (todrop > tcph->sum) { /* tcph->sum 㯠TCP ã® SDU é·*/1665 if (todrop > tcph->sum) { /* tcph->sum は TCP の SDU 長 */ 1736 1666 /* 1737 * åä¿¡ãã SDU ã®å 1738 ¨ã¦ãåä¿¡ã¦ã£ã³ããè¶ 1739 ããå ´åã 1667 * 受信した SDU の全てが受信ウィンドを超える場合。 1740 1668 * 1741 * TIME_WAIT ä¸ã«ãæ°ããªæ¥ç¶è¦æ±ãåä¿¡ããã1742 * å¤ãæ¥ç¶ãç ´æ£ããæ°ããªæ¥ç¶ãéå§ããã1743 * ãã ããSEQ ã¯åããé²ãã§ããªããã°ãªããªãã1669 * TIME_WAIT 中に、新たな接続要求を受信したら 1670 * 古い接続を破棄し、新たな接続を開始する。 1671 * ただし、SEQ は前より進んでいなければならない。 1744 1672 */ 1745 1673 if ((tcph->flags & TCP_FLG_SYN) && … … 1753 1681 1754 1682 /* 1755 * åä¿¡ã¦ã£ã³ãã 0 ã§ãåä¿¡ãã SEQ 㨠1756 * åä¿¡ãæå¾ 1757 ãã¦ããæå°ã® SEQ ãä¸è´ããã¨ã㯠1758 * ACK ãè¿ãããã以å¤ã¯ãã¼ã¿ãç ´æ£ããACK ãè¿ãã 1683 * 受信ウィンドが 0 で、受信した SEQ と 1684 * 受信を期待している最小の SEQ が一致したときは 1685 * ACK を返す。それ以外はデータを破棄し、ACK を返す。 1759 1686 */ 1760 1687 if (cep->rcv_wnd == 0 && (tcph->seq == cep->rcv_nxt || tcph->sum == 0)) { … … 1767 1694 } 1768 1695 } 1769 tcph->sum -= (uint16_t)todrop; /* tcph->sum 㯠TCP ã® SDU é·*/1696 tcph->sum -= (uint16_t)todrop; /* tcph->sum は TCP の SDU 長 */ 1770 1697 tcph->flags &= ~(TCP_FLG_PUSH | TCP_FLG_FIN); 1771 1698 } 1772 1699 1773 1700 /* 1774 * ãããSYN ãã»ããããã¦ããã°ã1775 * ã¨ã©ã¼ãªã®ã§ RST ãéããæ¥ç¶ãç ´æ£ããã1701 * もし、SYN がセットされていれば、 1702 * エラーなので RST を送り、接続を破棄する。 1776 1703 */ 1777 1704 if (tcph->flags & TCP_FLG_SYN) { … … 1782 1709 1783 1710 /* 1784 * ãããACK ãã»ããããã¦ããªãå ´åã¯ã 1785 * ç¶æ 1786 ã SYN åä¿¡æ¸ã¿ã 1787 * SYN ãéä¿¡ãããã¨ãã¦ããã°ãå¦çãç¶ãããã 1788 * ãã以å¤ã¯ã»ã°ã¡ã³ããç ´æ£ãã¦çµäºããã 1711 * もし、ACK がセットされていない場合は、 1712 * 状態が SYN 受信済みか 1713 * SYN を送信しようとしていれば、処理を続けるが、 1714 * それ以外はセグメントを破棄して終了する。 1789 1715 */ 1790 1716 if ((tcph->flags & TCP_FLG_ACK) == 0) { … … 1794 1720 else { 1795 1721 /* 1796 * ACK ã®å¦ç1722 * ACK の処理 1797 1723 */ 1798 1724 ret = proc_ack1(input, cep, *offp, &needoutput); … … 1808 1734 /* step 6 */ 1809 1735 1810 /* éä¿¡ã¦ã£ã³ããæ´æ°ããã*/1736 /* 送信ウィンドを更新する。*/ 1811 1737 if (update_wnd(tcph, cep) == true) 1812 1738 needoutput = true; 1813 1739 1814 /* ç·æ¥ãã¼ã¿ãå¦çããã*/1740 /* 緊急データを処理する。*/ 1815 1741 proc_urg(tcph, cep); 1816 1742 … … 1818 1744 1819 1745 /* 1820 * SDU ãããããFIN ãæªåä¿¡ã®ç¶æ 1821 ã§ãæåã« FIN ãåä¿¡ããã¨ãã 1822 * åä¿¡ã»ã°ã¡ã³ããã¥ã¼ã« net_buf ã追å ããã 1823 * ãã以å¤ã®å ´åã¯ãã»ã°ã¡ã³ããç ´æ£ããã 1746 * SDU があるか、FIN を未受信の状態で、最初に FIN を受信したとき、 1747 * 受信セグメントキューに net_buf を追加する。 1748 * それ以外の場合は、セグメントを破棄する。 1824 1749 */ 1825 1750 flags = tcph->flags; 1826 if ((tcph->sum > 0 || (flags & TCP_FLG_FIN)) && /* tcph->sum 㯠TCP ã® SDU é·*/1751 if ((tcph->sum > 0 || (flags & TCP_FLG_FIN)) && /* tcph->sum は TCP の SDU 長 */ 1827 1752 TCP_FSM_HAVE_RCVD_FIN(cep->fsm_state) == 0) { 1828 1753 flags = reassemble(input, cep, *offp, flags); … … 1834 1759 1835 1760 /* 1836 * FIN ãåä¿¡ãããã³ãã¯ã·ã§ã³ãã¯ãã¼ãºããã1761 * FIN を受信したらコネクションをクローズする。 1837 1762 */ 1838 1763 if (flags & TCP_FLG_FIN) 1839 1764 close_connection(cep, &needoutput); 1840 1765 1841 /* åºåãè¡ã£ãå¾çµäºããã*/1766 /* 出力を行った後終了する。*/ 1842 1767 if (needoutput == true || (cep->flags & TCP_CEP_FLG_ACK_NOW)) { 1843 /* éä¿¡ãæ示ããã*/1768 /* 送信を指示する。*/ 1844 1769 cep->flags |= TCP_CEP_FLG_POST_OUTPUT; 1845 1770 sig_sem(SEM_TCP_POST_OUTPUT); … … 1850 1775 reset_drop: 1851 1776 /* 1852 * RST éä¿¡å¦ç1777 * RST 送信処理 1853 1778 */ 1854 1779 … … 1856 1781 goto drop; 1857 1782 1858 /* ãã¹ããªã¼ãã¼ãããããã¯ã¼ã¯ãªã¼ãã¼ã«æ»ãã*/1783 /* ホストオーダーからネットワークオーダーに戻す。*/ 1859 1784 1860 1785 HTONS(tcph->sport); … … 1870 1795 else { 1871 1796 if (tcph->flags & TCP_FLG_SYN) 1872 tcph->sum ++; /* tcph->sum 㯠SDU é·*/1797 tcph->sum ++; /* tcph->sum は SDU 長 */ 1873 1798 tcp_respond(input, cep, tcph->seq + tcph->sum, 0, rbfree, TCP_FLG_RST | TCP_FLG_ACK); 1874 1799 } 1875 1800 1876 /* input 㯠tcp_respoond ã§è¿å´ãããã*/1801 /* input は tcp_respoond で返却される。*/ 1877 1802 NET_COUNT_TCP(net_count_tcp[NC_TCP_SEND_RSTS], 1); 1878 1803 NET_COUNT_MIB(tcp_stats.tcpOutRsts, 1); -
asp3_gr_sakura/trunk/tinet/netinet/tcp_output.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 125 113 126 114 /* 127 * é¢æ°115 * 関数 128 116 */ 129 117 … … 132 120 133 121 /* 134 * å¤æ°122 * 変数 135 123 */ 136 124 137 /* åºåæã®ãã©ã°ã FSM ç¶æ 138 ã«ããé¸æããããã®è¡¨ */ 125 /* 出力時のフラグを FSM 状態により選択するための表 */ 139 126 140 127 const static uint8_t tcp_outflags[] = { 141 TCP_FLG_RST | TCP_FLG_ACK, /* 0, ã¯ãã¼ãº */ 142 0, /* 1, ååãªã¼ãã³ */ 143 TCP_FLG_SYN, /* 2, è½åãªã¼ãã³ãSYN éä¿¡æ¸ã¿ */ 144 TCP_FLG_SYN | TCP_FLG_ACK, /* 3, SYM ãåä¿¡ããSYN éä¿¡æ¸ã¿ */ 145 TCP_FLG_ACK, /* 4, ã³ãã¯ã·ã§ã³éè¨å®äº */ 146 TCP_FLG_ACK, /* 5, FIN åä¿¡ãã¯ãã¼ãºå¾ 147 ã¡ */ 148 TCP_FLG_FIN | TCP_FLG_ACK, /* 6, çµäºãã¦ãFIN éä¿¡æ¸ã¿ */ 149 TCP_FLG_FIN | TCP_FLG_ACK, /* 7, çµäºãFIN 交ææ¸ã¿ãACK å¾ 150 ã¡ */ 151 TCP_FLG_FIN | TCP_FLG_ACK, /* 8, FIN åä¿¡ãçµäºãACK å¾ 152 ã¡ */ 153 TCP_FLG_ACK, /* 9, çµäºãFIN ä¼é確èªåä¿¡ãFINå¾ 154 ã¡ */ 155 TCP_FLG_ACK, /* 10, çµäºãæéå¾ 156 ã¡ */ 128 TCP_FLG_RST | TCP_FLG_ACK, /* 0, クローズ */ 129 0, /* 1, 受動オープン */ 130 TCP_FLG_SYN, /* 2, 能動オープン、SYN 送信済み */ 131 TCP_FLG_SYN | TCP_FLG_ACK, /* 3, SYM を受信し、SYN 送信済み */ 132 TCP_FLG_ACK, /* 4, コネクション開設完了 */ 133 TCP_FLG_ACK, /* 5, FIN 受信、クローズ待ち */ 134 TCP_FLG_FIN | TCP_FLG_ACK, /* 6, 終了して、FIN 送信済み */ 135 TCP_FLG_FIN | TCP_FLG_ACK, /* 7, 終了、FIN 交換済み、ACK 待ち */ 136 TCP_FLG_FIN | TCP_FLG_ACK, /* 8, FIN 受信、終了、ACK 待ち */ 137 TCP_FLG_ACK, /* 9, 終了、FIN 伝達確認受信、FIN待ち */ 138 TCP_FLG_ACK, /* 10, 終了、時間待ち */ 157 139 }; 158 140 159 141 /* 160 * send_segment -- TCP åºåå¦ç142 * send_segment -- TCP 出力処理 161 143 */ 162 144 … … 188 170 189 171 /* 190 * ã»ã°ã¡ã³ãé·ããç¸æã®æ大åä¿¡ã»ã°ã¡ã³ãé·ã«èª¿æ´ããã 191 * ãããè¶ 192 ãã¦ããå ´åã¯ãè¶ 193 ããåãå¾ã§éä¿¡ããã 194 * ãã®ãããFIN ããããã¯ãªã¢ããã 172 * セグメント長を、相手の最大受信セグメント長に調整する。 173 * もし、超えている場合は、超えた分を後で送信する。 174 * このため、FIN ビットをクリアする。 195 175 * 196 * ãªãªã¸ãã«ã§ã¯ãt_maxopd ãå¶éé·ã«ãã¦ãããã 197 * æ¬å®è£ 198 ã§ã¯ãç¸æã®æ大åä¿¡ã»ã°ã¡ã³ãã«ããã 176 * オリジナルでは、t_maxopd を制限長にしているが、 177 * 本実装では、相手の最大受信セグメントにする。 199 178 */ 200 179 if (len + optlen > cep->maxseg) { … … 205 184 206 185 /* 207 * éä¿¡ãããã¡ã空ã«ãªãã¨ã㯠PUSH ãã©ã°ãè¨å®ããã186 * 送信バッファが空になるときは PUSH フラグを設定する。 208 187 */ 209 188 if (len && doff + len >= cep->swbuf_count) … … 216 195 217 196 /* 218 * éä¿¡ã¦ã¤ã³ããããã¡ãéæ¾ãããªãããã«ãã¦ã219 * ãããã¯ã¼ã¯ãããã¡ãåºåã«ç§»ãã197 * 送信ウインドバッファが開放されないようにして、 198 * ネットワークバッファを出力に移す。 220 199 */ 221 200 cep->swbufq->flags |= NB_FLG_NOREL_IFOUT; … … 225 204 226 205 /* 227 * ACK å®äºç¶æ 228 ã§ããã®é¢æ°ãå¼ã³åºããããã¨ãããã 229 * ãã®æã¯ãlen ã 0 ã«ãã¦ãå¦çãç¶ç¶ããã 206 * ACK 完了状態で、この関数が呼び出されることもある。 207 * この時は、len を 0 にして、処理を継続する。 230 208 */ 231 209 len = 0; … … 254 232 255 233 /* 256 * éä¿¡ã¦ã¤ã³ããããã¡ãéæ¾ãããªãããã«ãã¦ã257 * ãããã¯ã¼ã¯ãããã¡ãåºåã«ç§»ãã234 * 送信ウインドバッファが開放されないようにして、 235 * ネットワークバッファを出力に移す。 258 236 */ 259 237 cep->swbufq->flags |= NB_FLG_NOREL_IFOUT; … … 263 241 264 242 /* 265 * ACK å®äºç¶æ 266 ã§ããã®é¢æ°ãå¼ã³åºããããã¨ãããã 267 * ãã®æã¯ãlen ã 0 ã«ãã¦ãå¦çãç¶ç¶ããã 243 * ACK 完了状態で、この関数が呼び出されることもある。 244 * この時は、len を 0 にして、処理を継続する。 268 245 */ 269 246 len = 0; … … 290 267 291 268 /* 292 * TCP ãªãã·ã§ã³ã®è¨å®ãè¡ãã 293 * æ¬å®è£ 294 ã§ã¯ãæ大ã»ã°ã¡ã³ããµã¤ãºã®ã¿è¨å®ããã 269 * TCP オプションの設定を行う。 270 * 本実装では、最大セグメントサイズのみ設定する。 295 271 */ 296 272 hdr_offset = IF_IP_TCP_HDR_OFFSET(output); … … 309 285 } 310 286 311 /* TCP SDU ã«éä¿¡ãã¼ã¿ãã³ãã¼ããã*/287 /* TCP SDU に送信データをコピーする。*/ 312 288 313 289 if (len > 0) { … … 335 311 336 312 /* 337 * snd_max: éä¿¡ããæ大SEQ338 * snd_nxt: 次ã«éä¿¡ããSEQ313 * snd_max: 送信した最大 SEQ 314 * snd_nxt: 次に送信する SEQ 339 315 * 340 * ç¸æãã FIN ãåä¿¡ããã¾ã FIN ãéä¿¡ãã¦ããªããã341 * éããã¼ã¿ããªãã¨ãã¯ãFIN ãç¸æã«å±ããããã342 * ã»ã°ã¡ã³ããéä¿¡ããããSEQ ã¯é²ããªãã316 * 相手から FIN を受信し、まだ FIN を送信していないか、 317 * 送るデータがないときは、FIN を相手に届けるため、 318 * セグメントを送信するが、SEQ は進めない。 343 319 */ 344 320 if ((flags & TCP_FLG_FIN) && (cep->flags & TCP_CEP_FLG_SENT_FIN) && … … 350 326 351 327 /* 352 * SEQ ãACKããã©ã°ã®è¨å®ã328 * SEQ、ACK、フラグの設定。 353 329 */ 354 330 if (len > 0 || (flags & (TCP_FLG_SYN | TCP_FLG_FIN)) || cep->timer[TCP_TIM_PERSIST] != 0) … … 358 334 359 335 /* 360 * rcv_nxt: åä¿¡ãæå¾ 361 ãã¦ããæå°ã® SEQ 336 * rcv_nxt: 受信を期待している最小の SEQ 362 337 */ 363 338 tcph->ack = htonl(cep->rcv_nxt); … … 365 340 366 341 /* 367 * åä¿¡ã¦ã£ã³ãã®è¨ç®342 * 受信ウィンドの計算 368 343 * 369 * rbufsz: åä¿¡ç¨ãããã¡ãµã¤ãº370 * maxseg: ç¸æã®æ大åä¿¡ã»ã°ã¡ã³ããµã¤ãº344 * rbufsz: 受信用バッファサイズ 345 * maxseg: 相手の最大受信セグメントサイズ 371 346 */ 372 347 if (win < (cep->rbufsz / 4) && win < cep->maxseg) … … 374 349 375 350 /* 376 * rcv_nxt: åä¿¡ãæå¾ 377 ãã¦ããæå°ã® SEQ 378 * rcv_adv: åä¿¡ãæå¾ 379 ãã¦ããæ大㮠SEQ 351 * rcv_nxt: 受信を期待している最小の SEQ 352 * rcv_adv: 受信を期待している最大の SEQ 380 353 */ 381 354 if ((int32_t)win < (int32_t)(cep->rcv_adv - cep->rcv_nxt)) … … 387 360 388 361 /* 389 * ç·æ¥ãã¤ã³ã¿ã®è¨å®362 * 緊急ポインタの設定 390 363 */ 391 364 if (SEQ_GT(cep->snd_up, cep->snd_nxt)) { … … 402 375 403 376 /* 404 * ãã§ãã¯ãµã ãè¨å®ããã377 * チェックサムを設定する。 405 378 */ 406 379 tcph->sum = 0; 407 380 tcph->sum = IN_CKSUM(output, IPPROTO_TCP, hdr_offset, GET_TCP_HDR_SIZE(output, hdr_offset) + len); 408 381 409 /* ãããã¯ã¼ã¯ãããã¡é·ã調æ´ããã*/382 /* ネットワークバッファ長を調整する。*/ 410 383 output->len = (uint16_t)(GET_IF_IP_TCP_HDR_SIZE(output, hdr_offset) + len); 411 384 412 385 /* 413 * ã¿ã¤ãã®èª¿æ´386 * タイマの調整 414 387 */ 415 388 if ((cep->flags & TCP_CEP_FLG_FORCE) == 0 || cep->timer[TCP_TIM_PERSIST] == 0) { … … 417 390 418 391 /* 419 * 次ã«éä¿¡ãã SEQ (snd_nxt) ãä»åéä¿¡ãããã¼ã¿æ°åé²ããã392 * 次に送信する SEQ (snd_nxt) を今回送信するデータ数分進める。 420 393 */ 421 394 if (flags & TCP_FLG_SYN) … … 429 402 430 403 /* 431 * 次ã«éä¿¡ãã SEQ (snd_nxt) ã432 * éä¿¡ããæ大 SEQ (snd_max) ããé²ãã§ããã°ã433 * éä¿¡ããæ大 SEQ (snd_max) ãæ´æ°ããã404 * 次に送信する SEQ (snd_nxt) が 405 * 送信した最大 SEQ (snd_max) より進んでいれば、 406 * 送信した最大 SEQ (snd_max) を更新する。 434 407 */ 435 408 if (SEQ_GT(cep->snd_nxt, cep->snd_max)) { 436 409 cep->snd_max = cep->snd_nxt; 437 410 /* 438 * ãããå¾å¾©æéè¨æ¸¬ãè¡ã£ã¦ããªããã°ã439 * ãã®éä¿¡ã«æéãåãããã411 * もし、往復時間計測を行っていなければ、 412 * この送信に時間を合わせる。 440 413 */ 441 414 if (cep->rtt == 0) { 442 415 cep->rtt = 1; 443 cep->rtseq = startseq; /* æ´æ°åã®cep->snd_nxt */444 } 445 } 446 447 /* 448 * ããè¨å®ããã¦ããªãããACK ã¾ãã¯ä¿çãçºçãã¦ããªããã°ã449 * åéã¿ã¤ããè¨å®ãããè¨å®ããåæå¤ã¯ã450 * ãæ»ãããªå¾å¾©æé + 2 à å¾å¾©æéå¤åãã§ããã451 * åéæéã®ããã¯ãªãã«ä½¿ãããã·ããã«ã¦ã³ããåæåããã416 cep->rtseq = startseq; /* 更新前の cep->snd_nxt */ 417 } 418 } 419 420 /* 421 * もし設定されていないか、ACK または保留が発生していなければ、 422 * 再送タイマを設定する。設定する初期値は、 423 * 「滑らかな往復時間 + 2 × 往復時間変動」である。 424 * 再送時間のバックオフに使われるシフトカウントも初期化する。 452 425 */ 453 426 if (cep->timer[TCP_TIM_REXMT] == 0 && cep->snd_nxt != cep->snd_una) { … … 461 434 462 435 /* 463 * 次ã«éä¿¡ãã SEQ (snd_nxt) + ä»åéä¿¡ãããã¼ã¿æ° (len) ã464 * éä¿¡ããæ大 SEQ (snd_max) ããé²ãã§ããã°ã465 * éä¿¡ããæ大 SEQ (snd_max) ãæ´æ°ããã436 * 次に送信する SEQ (snd_nxt) + 今回送信するデータ数 (len) が 437 * 送信した最大 SEQ (snd_max) より進んでいれば、 438 * 送信した最大 SEQ (snd_max) を更新する。 466 439 */ 467 440 else if (SEQ_GT(cep->snd_nxt + len, cep->snd_max)) … … 481 454 #endif /* of #ifdef TCP_CFG_TRACE */ 482 455 483 /* ãããã¯ã¼ã¯å±¤ (IP) ã®åºåé¢æ°ãå¼ã³åºãã*/456 /* ネットワーク層 (IP) の出力関数を呼び出す。*/ 484 457 if ((error = IP_OUTPUT(output, TMO_TCP_OUTPUT)) != E_OK) 485 458 goto err_ret; 486 459 487 460 /* 488 * ç¸æã«ä¼ããã¦ã£ã³ãã¦ãµã¤ãº (win) ã 0 以ä¸ã§ã 489 * åä¿¡ãæå¾ 490 ãã¦ããæå°ã® SEQ (rcv_nxt) + win ã 491 * åä¿¡ãæå¾ 492 ãã¦ããæ大㮠SEQ (rcv_adv) ããé²ãã§ããã° 493 * åä¿¡ãæå¾ 494 ãã¦ããæ大㮠SEQ ãæ´æ°ããã 461 * 相手に伝えたウィンドウサイズ (win) が 0 以上で、 462 * 受信を期待している最小の SEQ (rcv_nxt) + win が 463 * 受信を期待している最大の SEQ (rcv_adv) より進んでいれば 464 * 受信を期待している最大の SEQ を更新する。 495 465 */ 496 466 if (win > 0 && SEQ_GT(cep->rcv_nxt + win, cep->rcv_adv)) { … … 499 469 500 470 /* 501 * æå¾ã«éä¿¡ãã ACK (last_ack_sent) ãæ´æ°ããã471 * 最後に送信した ACK (last_ack_sent) を更新する。 502 472 */ 503 473 cep->last_ack_sent = cep->rcv_nxt; 504 474 505 475 /* 506 * ãã©ã°ã®è¨å®ãè¡ãã476 * フラグの設定を行う。 507 477 */ 508 478 cep->flags &= ~(TCP_CEP_FLG_ACK_NOW | TCP_CEP_FLG_DEL_ACK); … … 514 484 err_ret: 515 485 /* 516 * 以ä¸ã«é¢ä¿ããªããã©ã°ãã¯ãªã¢ã¼ããã517 * ã»éåä¿¡ã¦ã£ã³ããããã¡ã®çã³ãã¼æ©è½518 * ã»åçãªé信端ç¹ã®çæã»åé¤æ©è½486 * 以下に関係しないフラグをクリアーする。 487 * ・送受信ウィンドバッファの省コピー機能 488 * ・動的な通信端点の生成・削除機能 519 489 */ 520 490 cep->flags &= TCP_CEP_FLG_NOT_CLEAR; … … 524 494 525 495 /* 526 * tcp_output -- TCP åºåå¦ç496 * tcp_output -- TCP 出力処理 527 497 */ 528 498 … … 537 507 538 508 /* 539 * snd_una: æªç¢ºèªã®æå°éä¿¡ SEQ ã¾ãã¯ã確èªãããæ大éä¿¡SEQ540 * snd_max: éä¿¡ããæ大SEQ509 * snd_una: 未確認の最小送信 SEQ または、確認された最大送信 SEQ 510 * snd_max: 送信した最大 SEQ 541 511 */ 542 512 idle = (cep->snd_max == cep->snd_una); 543 513 544 514 /* 545 * idle: ã¢ã¤ãã«æé546 * rxtcur: ç¾å¨ã®åéã¿ã¤ã ã¢ã¦ã515 * idle: アイドル時間 516 * rxtcur: 現在の再送タイムアウト 547 517 */ 548 518 if (idle && cep->idle >= cep->rxtcur) 549 519 550 520 /* 551 * snd_cwnd: 輻輳ã¦ã£ã³ããµã¤ãº552 * maxseg : ç¸æã®æ大åä¿¡ã»ã°ã¡ã³ããµã¤ãº521 * snd_cwnd: 輻輳ウィンドサイズ 522 * maxseg : 相手の最大受信セグメントサイズ 553 523 * 554 * é·æéã¢ã¤ãã«ã ã£ãã®ã§ã¹ãã¼ã¹ã¿ã¼ãå¶å¾¡ã«è¨å®ããã524 * 長時間アイドルだったのでスロースタート制御に設定する。 555 525 */ 556 526 cep->snd_cwnd = cep->maxseg; … … 560 530 561 531 /* 562 * snd_nxt: 次ã«éä¿¡ãã SEQããã®æç¹ã§ã¯ãååéä¿¡ããSEQ563 * snd_una: æªç¢ºèªã®æå°éä¿¡ SEQãã¾ãã¯ç¢ºèªãããæ大éä¿¡SEQ532 * snd_nxt: 次に送信する SEQ、この時点では、前回送信した SEQ 533 * snd_una: 未確認の最小送信 SEQ、または確認された最大送信 SEQ 564 534 * 565 * doff: éä¿¡ãéå§ãããªãã»ããã566 * swbuf_count ( éä¿¡ãããã¡ã«ãããªã¯ãããæ°)535 * doff: 送信を開始するオフセット。 536 * swbuf_count (送信バッファにあるオクテット数) 567 537 * 0 V 568 538 * +-------------------------------------------+ … … 570 540 * +-------------------------------------------+ 571 541 * ^ ^ 572 * |<------------->snd_nxt ( ååéä¿¡ããSEQ)542 * |<------------->snd_nxt (前回送信した SEQ) 573 543 * | doff 574 * snd_una ( ã¾ã 確èªããã¦ããªã)544 * snd_una (まだ確認されていない) 575 545 */ 576 546 doff = (uint_t)(cep->snd_nxt - cep->snd_una); 577 547 578 548 /* 579 * snd_wnd: ç¸æã®åä¿¡å¯è½ã¦ã£ã³ããµã¤ãº580 * snd_cwnd: 輻輳ã¦ã£ã³ããµã¤ãº549 * snd_wnd: 相手の受信可能ウィンドサイズ 550 * snd_cwnd: 輻輳ウィンドサイズ 581 551 * 582 * win: ã©ã¡ããå°ããã¦ã£ã³ããµã¤ãºã«è¨å®ããã552 * win: どちらか小さいウィンドサイズに設定する。 583 553 */ 584 554 win = cep->snd_wnd < cep->snd_cwnd ? cep->snd_wnd : cep->snd_cwnd; 585 555 586 /* åºåãã©ã°ã®è¨å®*/556 /* 出力フラグの設定 */ 587 557 flags = tcp_outflags[cep->fsm_state]; 588 558 if (cep->flags & TCP_CEP_FLG_NEED_FIN) … … 593 563 594 564 /* 595 * ãããéä¿¡ã¦ã¤ã³ããµã¤ãº (win) ã 0 ãªã 1 ãªã¯ãããéä¿¡ããã596 * ããã§ãªããã°ãæç¶ã¿ã¤ã ã¢ã¦ãããã£ã³ã»ã«ãã597 * åéä¿¡åæ° (rxtshift) ã 0 ã«ããã565 * もし、送信ウインドサイズ (win) が 0 なら 1 オクテット送信する。 566 * そうでなければ、持続タイムアウトをキャンセルし、 567 * 再送信回数 (rxtshift) を 0 にする。 598 568 */ 599 569 if (win == 0) { 600 570 601 571 /* 602 * doff: éä¿¡ãããªã¯ãããæ°ã603 * swbuf_count: éä¿¡ãããã¡ã®ä½¿ç¨ä¸ãµã¤ãº572 * doff: 送信するオクテット数。 573 * swbuf_count: 送信バッファの使用中サイズ 604 574 * 605 * éä¿¡ãããã¡ã«æ®ã£ã¦ãããªã¯ããããããããã606 * éä¿¡ãããã¨ãã¦ãããªã¯ãããæ°ããå¤ããã°607 * FIN ãã©ã°ãã¯ãªã¢ããã575 * 送信バッファに残っているオクテットが、これから 576 * 送信しようとしているオクテット数より多ければ 577 * FIN フラグをクリアする。 608 578 */ 609 579 if (doff < cep->swbuf_count) … … 613 583 else { 614 584 /* 615 * TCP_TIM_PERSIST: æç¶ã¿ã¤ã616 * rxtshift: åéä¿¡åæ°ã®log(2)585 * TCP_TIM_PERSIST: 持続タイマ 586 * rxtshift: 再送信回数の log(2) 617 587 */ 618 588 cep->timer[TCP_TIM_PERSIST] = 0; … … 622 592 623 593 /* 624 * len: ä»åéä¿¡ãããªã¯ãããæ°625 * swbuf_count ( éä¿¡ãããã¡ã«ãããªã¯ãããæ°)594 * len: 今回送信するオクテット数 595 * swbuf_count (送信バッファにあるオクテット数) 626 596 * | 627 597 * 0 V … … 631 601 * ^ ^<-------------> 632 602 * | | len 633 * |<------------->snd_nxt ( ååéä¿¡ããSEQ)603 * |<------------->snd_nxt (前回送信した SEQ) 634 604 * | doff 635 * snd_una ( ã¾ã 確èªããã¦ããªã)605 * snd_una (まだ確認されていない) 636 606 */ 637 607 if (cep->swbuf_count < win) … … 641 611 642 612 /* 643 * ãã§ã«éä¿¡ããã¦ããã°ãSYN ãããããªãããã644 * ãããã以ä¸ã®æ¡ä»¶ã§ã¯éä¿¡ãæ§ããã613 * すでに送信されていれば、SYN ビットをオフする。 614 * しかし、以下の条件では送信を控える。 645 615 * 646 * ã»ç¶æ 647 ã SYN éä¿¡ã 648 * ã»ã»ã°ã¡ã³ãããã¼ã¿ãå«ãã§ããã 616 * ・状態が SYN 送信。 617 * ・セグメントがデータを含んでいる。 649 618 */ 650 619 if ((flags & TCP_FLG_SYN) && SEQ_GT(cep->snd_nxt, cep->snd_una)) { 651 620 flags &= ~TCP_FLG_SYN; 652 doff --; /* -1 㯠SYN ãã©ã°å*/653 len ++; /* +1 㯠SYN ãã©ã°å*/621 doff --; /* -1 は SYN フラグ分 */ 622 len ++; /* +1 は SYN フラグ分 */ 654 623 if (len > 0 && cep->fsm_state == TCP_FSM_SYN_SENT) 655 624 break; … … 664 633 665 634 /* 666 * len ã 0 以ä¸ãªãã0 ã«è¨å®ããã667 * ãããéä¿¡ã¦ã£ã³ãã¦ãµã¤ãºã 0 ãªãã668 * åéä¿¡ã¿ã¤ãããã£ã³ã»ã«ãã669 * ååéä¿¡ãã SEQ (snd_nxt) ã670 * 確èªãããæ大éä¿¡ SEQ (snd_una) ã«æ»ãã671 * ããã¦ãæç¶ã¿ã¤ãã¼ãæ¢ã¾ã£ã¦ããã°ãåè¨å®ããã635 * len が 0 以下なら、0 に設定する。 636 * もし、送信ウィンドウサイズが 0 なら、 637 * 再送信タイマをキャンセルし、 638 * 前回送信した SEQ (snd_nxt) を 639 * 確認された最大送信 SEQ (snd_una) に戻す。 640 * そして、持続タイマーが止まっていれば、再設定する。 672 641 */ 673 642 len = 0; … … 683 652 684 653 /* 685 * ä»åéä¿¡ãããªã¯ãããæ° (len) ã¯ã 686 * ç¸æã®æ大åä¿¡ã»ã°ã¡ã³ããµã¤ãº (maxseg) ãè¶ 687 ããªãããã«ããã 654 * 今回送信するオクテット数 (len) は、 655 * 相手の最大受信セグメントサイズ (maxseg) を超えないようにする。 688 656 */ 689 657 if (len > cep->maxseg) { … … 693 661 694 662 /* 695 * swbuf_count ( éä¿¡ãããã¡ã«ãããªã¯ãããæ°)663 * swbuf_count (送信バッファにあるオクテット数) 696 664 * | 697 665 * 0 V … … 701 669 * ^ ^<-------------> 702 670 * | | len 703 * |<------------->snd_nxt ( ååéä¿¡ããSEQ)671 * |<------------->snd_nxt (前回送信した SEQ) 704 672 * | doff 705 * snd_una ( ã¾ã 確èªããã¦ããªã)673 * snd_una (まだ確認されていない) 706 674 * 707 * ä»åéä¿¡å¾ããéä¿¡ãããã¡ã«ãã¼ã¿ãæ®ã£ã¦ããã°708 * FIN ãã©ã°ãã¯ãªã¢ããã675 * 今回送信後も、送信バッファにデータが残っていれば 676 * FIN フラグをクリアする。 709 677 */ 710 678 if (SEQ_LT(cep->snd_nxt + len, cep->snd_una + cep->swbuf_count)) … … 712 680 713 681 /* 714 * ãããã win ã¯ãåä¿¡ã¦ã£ã³ãã¦ãµã¤ãºã715 * åä¿¡ãããã¡ã®ç©ºã容é682 * ここから win は、受信ウィンドウサイズ。 683 * 受信バッファの空き容量 716 684 */ 717 685 win = cep->rbufsz - cep->rwbuf_count; 718 686 719 687 /* 720 * æããªã¦ã£ã³ãã¦ã»ã·ã³ããã¼ã ã®åé¿å¦ç (éä¿¡å´)688 * 愚かなウィンドウ・シンドロームの回避処理 (送信側) 721 689 * 722 * 以ä¸ã®æ¡ä»¶ã§ãéä¿¡ãè¡ãã690 * 以下の条件で、送信を行う。 723 691 * 724 * ã»ãã«ãµã¤ãº (maxseg) ã®ã»ã°ã¡ã³ããéããã¨ãã§ããã 725 * ã»ç¸æã®æ大ã®åä¿¡ã¦ã£ã³ãã¦ãµã¤ãºã® 1/2 ã®ãã¼ã¿ã 726 * éããã¨ãã§ããã 727 * ã»éä¿¡ãããã¡ã空ã«ã§ããã¢ã¤ãã«ãéé 728 延ãªãã·ã§ã³ãæå¹ãªã¨ãã 692 * ・フルサイズ (maxseg) のセグメントを送ることができる。 693 * ・相手の最大の受信ウィンドウサイズの 1/2 のデータを 694 * 送ることができる。 695 * ・送信バッファを空にでき、アイドルか非遅延オプションが有効なとき。 729 696 */ 730 697 if (len) { 731 698 732 699 /* 733 * ä»åéä¿¡ãããªã¯ãããæ° (len) ã734 * ç¸æã®æ大åä¿¡ã»ã°ã¡ã³ããµã¤ãº (maxseg) ã«735 * ä¸è´ããã¨ãã¯éä¿¡ããã700 * 今回送信するオクテット数 (len) が 701 * 相手の最大受信セグメントサイズ (maxseg) に 702 * 一致するときは送信する。 736 703 */ 737 704 if (len == cep->maxseg) { … … 741 708 742 709 /* 743 * ä»åã®éä¿¡ã§ãéä¿¡ãããã¡ã空ã«ã§ãã744 * ã¢ã¤ãã«ãé PUSH ãªãã·ã§ã³ãæå¹ãªã¨ãã710 * 今回の送信で、送信バッファを空にでき、 711 * アイドルか非 PUSH オプションが有効なとき。 745 712 */ 746 713 if ((idle || (cep->flags & TCP_CEP_FLG_NO_DELAY)) && … … 752 719 753 720 /* 754 * max_sndwnd: ä»ã¾ã§ã®æ大éä¿¡ã¦ã£ã³ããµã¤ãº755 * snd_nxt: 次ã«éä¿¡ããSEQ756 * snd_max: éä¿¡ããæ大SEQ721 * max_sndwnd: 今までの最大送信ウィンドサイズ 722 * snd_nxt: 次に送信する SEQ 723 * snd_max: 送信した最大 SEQ 757 724 * 758 * 次ã®æ¡ä»¶ã§ã¯éä¿¡ãè¡ãã725 * 次の条件では送信を行う。 759 726 * 760 * ã»å¼·å¶éä¿¡ãã©ã°ãã»ããããã¦ããã761 * ã»ãã¼ã¿é·ãç¸æã®æ大ã®åä¿¡ã¦ã£ã³ãã¦ãµã¤ãºã® 1/2 以ä¸ã§ã762 * ç¸æã®æ大ã®åä¿¡ã¦ã£ã³ãã¦ãµã¤ãºã 0 ãã大ããã763 * ã»æ¬¡ã«éä¿¡ãã SEQ ãéä¿¡ããæ大 SEQ ããå°ããã764 * ã¤ã¾ããåéããã¨ãã727 * ・強制送信フラグがセットされている。 728 * ・データ長が相手の最大の受信ウィンドウサイズの 1/2 以上で、 729 * 相手の最大の受信ウィンドウサイズが 0 より大きい。 730 * ・次に送信する SEQ が送信した最大 SEQ より小さい、 731 * つまり、再送するとき。 765 732 */ 766 733 if ((cep->flags & TCP_CEP_FLG_FORCE) || … … 774 741 775 742 /* 776 * æããªã¦ã£ã³ãã¦ã»ã·ã³ããã¼ã ã®åé¿å¦ç (åä¿¡å´)743 * 愚かなウィンドウ・シンドロームの回避処理 (受信側) 777 744 * 778 * ã¦ã£ã³ãã¦ãµã¤ãºããã«ãµã¤ãºã® 2 åã®ã»ã°ã¡ã³ãããããã¯779 * åä¿¡ãããã¡å®¹éã® 1/2 ã®ãããããå°ããã»ãã®780 * ãµã¤ãºã§å¢å ãããå ´åã¯ãã¦ã£ã³ãã¦ãµã¤ãºã®æ´æ°ãè¡ãã745 * ウィンドウサイズがフルサイズの 2 倍のセグメント、あるいは 746 * 受信バッファ容量の 1/2 の、いずれか小さいほうの 747 * サイズで増加される場合は、ウィンドウサイズの更新を行う。 781 748 */ 782 749 if (win > 0) { … … 784 751 785 752 /* 786 * win: åä¿¡ãããã¡ã®ç©ºã容é 787 * MAX_TCP_WIN_SIZE: TCP ãããã® win ãã£ã¼ã«ãã«è¨å®ã§ããæå¤§å¤ 788 * rcv_adv: åä¿¡ãæå¾ 789 ãã¦ããæ大㮠SEQ 790 * rcv_nxt: åä¿¡ãæå¾ 791 ãã¦ããæå°ã® SEQ 753 * win: 受信バッファの空き容量 754 * MAX_TCP_WIN_SIZE: TCP ヘッダの win フィールドに設定できる最大値 755 * rcv_adv: 受信を期待している最大の SEQ 756 * rcv_nxt: 受信を期待している最小の SEQ 792 757 */ 793 758 if (win < MAX_TCP_WIN_SIZE) … … 804 769 805 770 /* 806 * ACK ãéä¿¡ããã771 * ACK を送信する。 807 772 */ 808 773 if (cep->flags & TCP_CEP_FLG_ACK_NOW) { … … 827 792 828 793 /* 829 * snd_nxt: 次ã«éä¿¡ããSEQ830 * snd_una: æªç¢ºèªã®æå°éä¿¡ SEQãã¾ãã¯ç¢ºèªãããæ大éä¿¡SEQ794 * snd_nxt: 次に送信する SEQ 795 * snd_una: 未確認の最小送信 SEQ、または確認された最大送信 SEQ 831 796 * 832 * ç¸æãã FIN ãåä¿¡ããã¾ã FIN ãéä¿¡ãã¦ããªããã833 * éããã¼ã¿ããªãã¨ãã¯ãFIN ãç¸æã«å±ããããã834 * ã»ã°ã¡ã³ããéä¿¡ããã797 * 相手から FIN を受信し、まだ FIN を送信していないか、 798 * 送るデータがないときは、FIN を相手に届けるため、 799 * セグメントを送信する。 835 800 */ 836 801 if ((flags & TCP_FLG_FIN) && … … 841 806 842 807 /* 843 * éä¿¡ãã¹ããã¼ã¿ããããåéã¿ã¤ãã¨æç¶ã¿ã¤ããåãã¦ããã¨ãã¯844 * æç¶ã¿ã¤ããè¨å®ããã808 * 送信すべきデータがあり、再送タイマと持続タイマが切れているときは 809 * 持続タイマを設定する。 845 810 */ 846 811 if (cep->swbuf_count && cep->timer[TCP_TIM_REXMT ] == 0 && … … 857 822 858 823 /* 859 * tcptsk_alloc_swbufq -- éä¿¡ã¦ã£ã³ããããã¡å²ãå½ã¦824 * tcptsk_alloc_swbufq -- 送信ウィンドバッファ割り当て 860 825 */ 861 826 … … 867 832 868 833 /* 869 * snd_wnd: ç¸æã®åä¿¡å¯è½ã¦ã£ã³ããµã¤ãº870 * snd_cwnd: 輻輳ã¦ã£ã³ããµã¤ãº834 * snd_wnd: 相手の受信可能ウィンドサイズ 835 * snd_cwnd: 輻輳ウィンドサイズ 871 836 * 872 * win: ã©ã¡ããå°ããã¦ã£ã³ããµã¤ãºã«è¨å®ããã837 * win: どちらか小さいウィンドサイズに設定する。 873 838 */ 874 839 win = cep->snd_wnd < cep->snd_cwnd ? cep->snd_wnd : cep->snd_cwnd; 875 840 876 841 /* 877 * ç¸æã®åä¿¡ã¦ã£ã³ããéãã¦ããå ´åã¯ãéãã¾ã§å¾ 878 æ©ããã 842 * 相手の受信ウィンドが閉じている場合は、開くまで待機する。 879 843 */ 880 844 if (win == 0) { … … 885 849 #ifdef TCP_CFG_NON_BLOCKING 886 850 887 /* ãã³ããããã³ã°ã³ã¼ã«*/851 /* ノンブロッキングコール */ 888 852 if (!IS_PTR_DEFINED(cep->callback)) { 889 853 syslog(LOG_WARNING, "[TCP] no call back, CEP: %d.", GET_TCP_CEPID(cep)); 890 854 891 /* è¨æ¶ããã¦ããã¿ã¹ã¯ ID 㨠API æ©è½ã³ã¼ããã¯ãªã¢ã¼ããã*/855 /* 記憶されているタスク ID と API 機能コードをクリアーする。*/ 892 856 cep->snd_tskid = TA_NULL; 893 857 cep->snd_tfn = cep->snd_nblk_tfn = TFN_TCP_UNDEF; … … 904 868 (GET_TCP_CEPID(cep) & NBA_ID_MASK)), TMO_POL)) != E_OK) { 905 869 906 /* ãããã¯ã¼ã¯ãããã¡ãäºç´ããã*/870 /* ネットワークバッファを予約する。*/ 907 871 cep->flags = (cep->flags & ~TCP_CEP_FLG_WBCS_MASK) | TCP_CEP_FLG_WBCS_NBUF_PEND; 908 872 } 909 873 else { 910 874 911 /* éä¿¡ã¦ã£ã³ããããã¡ãåæåããã*/875 /* 送信ウィンドバッファを初期化する。*/ 912 876 tcp_init_swbuf(cep); 913 877 … … 918 882 uint_t len; 919 883 920 /* éä¿¡ã¦ã£ã³ããããã¡ã®æ¸ãè¾¼ã¿ã¢ãã¬ã¹ãè¨å®ããã*/884 /* 送信ウィンドバッファの書き込みアドレスを設定する。*/ 921 885 len = TCP_GET_SWBUF_ADDR(cep, cep->snd_p_buf); 922 886 923 /* ã³ã¼ã«ããã¯é¢æ°ãå¼ã³åºãã*/887 /* コールバック関数を呼び出す。*/ 924 888 #ifdef TCP_CFG_NON_BLOCKING_COMPAT14 925 889 (*cep->callback)(GET_TCP_CEPID(cep), cep->snd_nblk_tfn, (void*)(uint32_t)len); … … 929 893 930 894 931 /* è¨æ¶ããã¦ããã¿ã¹ã¯ ID 㨠API æ©è½ã³ã¼ããã¯ãªã¢ã¼ããã*/895 /* 記憶されているタスク ID と API 機能コードをクリアーする。*/ 932 896 cep->snd_tskid = TA_NULL; 933 897 cep->snd_tfn = cep->snd_nblk_tfn = TFN_TCP_UNDEF; … … 939 903 uint_t len; 940 904 941 /* éä¿¡ã¦ã£ã³ããããã¡ã«ãã¼ã¿ãæ¸ãè¾¼ãã*/905 /* 送信ウィンドバッファにデータを書き込む。*/ 942 906 len = TCP_WRITE_SWBUF(cep, cep->snd_data, (uint_t)cep->snd_len); 943 907 944 908 #ifdef TCP_CFG_EXTENTIONS 945 909 946 /* éä¿¡ç·æ¥ãã¤ã³ã¿ãè¨å®ããã*/910 /* 送信緊急ポインタを設定する。*/ 947 911 if (cep->snd_nblk_tfn == TFN_TCP_SND_OOB) 948 912 cep->snd_up = cep->snd_una + len; … … 950 914 #endif /* of #ifdef TCP_CFG_EXTENTIONS */ 951 915 952 /* ãã©ã°ããéä¿¡å¯è½ã«è¨å®ããå¼·å¶çã«éä¿¡ããã*/916 /* フラグを、送信可能に設定し、強制的に送信する。*/ 953 917 cep->flags |= TCP_CEP_FLG_FORCE | TCP_CEP_FLG_FORCE_CLEAR | TCP_CEP_FLG_POST_OUTPUT; 954 918 955 /* ã³ã¼ã«ããã¯é¢æ°ãå¼ã³åºãã*/919 /* コールバック関数を呼び出す。*/ 956 920 #ifdef TCP_CFG_NON_BLOCKING_COMPAT14 957 921 (*cep->callback)(GET_TCP_CEPID(cep), cep->snd_nblk_tfn, (void*)(uint32_t)len); … … 961 925 962 926 963 /* è¨æ¶ããã¦ããã¿ã¹ã¯ ID 㨠API æ©è½ã³ã¼ããã¯ãªã¢ã¼ããã*/927 /* 記憶されているタスク ID と API 機能コードをクリアーする。*/ 964 928 cep->snd_tskid = TA_NULL; 965 929 cep->snd_tfn = cep->snd_nblk_tfn = TFN_TCP_UNDEF; … … 973 937 974 938 /* 975 * tcptsk_free_swbufq -- éä¿¡ã¦ã£ã³ããããã¡éæ¾939 * tcptsk_free_swbufq -- 送信ウィンドバッファ開放 976 940 */ 977 941 … … 980 944 { 981 945 /* 982 * å信確èªãå®äºãããããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ããã®983 * åºåãå®äºããã¨ãã¯ãéä¿¡ã¦ã£ã³ããããã¡ãã¥ã¼ã解æ¾ããã984 */ 985 986 /* éä¿¡ã¦ã£ã³ããããã¡ã®ä½¿ç¨ä¸ãµã¤ãºããªã»ããããã*/946 * 受信確認が完了し、ネットワークインタフェースからの 947 * 出力も完了したときは、送信ウィンドバッファキューを解放する。 948 */ 949 950 /* 送信ウィンドバッファの使用中サイズをリセットする。*/ 987 951 cep->swbuf_count = 0; 988 952 989 /* éä¿¡ã¦ã£ã³ããããã¡ãã¥ã¼ã®ãããã¯ã¼ã¯ãããã¡ã解æ¾ããã*/953 /* 送信ウィンドバッファキューのネットワークバッファを解放する。*/ 990 954 syscall(rel_net_buf(cep->swbufq)); 991 955 cep->swbufq = NULL; 992 956 993 /* ãã©ã°ã空ãã«è¨å®ããã*/957 /* フラグを空きに設定する。*/ 994 958 cep->flags = (cep->flags & ~TCP_CEP_FLG_WBCS_MASK) | TCP_CEP_FLG_WBCS_FREE; 995 959 996 /* éä¿¡ã¦ã£ã³ããããã¡ã«ç©ºããã§ãããã¨ãç¥ãããã*/960 /* 送信ウィンドバッファに空きができたことを知らせる。*/ 997 961 syscall(set_flg(cep->snd_flgid, TCP_CEP_EVT_SWBUF_READY)); 998 962 999 /* éä¿¡ã¦ã£ã³ããããã¡ã®ç©ºãå¾ 1000 ã¡ã®ã¨ãã¯ãTCP åºåã¿ã¹ã¯ãèµ·åããã*/ 963 /* 送信ウィンドバッファの空き待ちのときは、TCP 出力タスクを起動する。*/ 1001 964 if ((cep->flags & TCP_CEP_FLG_WBCS_NBUF_REQ) != 0) { 1002 965 sig_sem(SEM_TCP_POST_OUTPUT); … … 1007 970 1008 971 /* 1009 * TCP åºåã¿ã¹ã¯972 * TCP 出力タスク 1010 973 */ 1011 974 … … 1026 989 #ifdef _IP6_CFG 1027 990 1028 /* IPv6 ã®ã¹ãã¼ãã¬ã¹ã»ã¢ãã¬ã¹èªåè¨å®ãå®è¡ããã*/991 /* IPv6 のステートレス・アドレス自動設定を実行する。*/ 1029 992 in6_if_up(IF_GET_IFNET()); 1030 993 … … 1033 996 while (true) { 1034 997 1035 /* åºåããã¹ããããã¾ã§å¾ 1036 ã¤ã*/ 998 /* 出力がポストされるまで待つ。*/ 1037 999 syscall(wai_sem(SEM_TCP_POST_OUTPUT)); 1038 1000 … … 1059 1021 1060 1022 /* 1061 * ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ããéä¿¡ãçµãã£ã¦ããªãã¨ãã¯ã1062 * éä¿¡ãäºç´ããã1023 * ネットワークインタフェースから送信が終わっていないときは、 1024 * 送信を予約する。 1063 1025 */ 1064 1026 if (cep->flags & TCP_CEP_FLG_POST_OUTPUT && … … 1075 1037 1076 1038 /* 1077 * éä¿¡äºç´ä¸ã«ããããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ããéä¿¡ãçµäºãããã 1078 * éä¿¡ãéå§ããããã ããå®å 1079 ¨ã«éä¿¡ãçµäºããã¨ãã¯ä½ãããªãã 1039 * 送信予約中に、ネットワークインタフェースから送信が終了したら、 1040 * 送信を開始する。ただし、完全に送信が終了したときは何もしない。 1080 1041 */ 1081 1042 if (cep->flags & TCP_CEP_FLG_RESERVE_OUTPUT) { … … 1100 1061 1101 1062 /* 1102 * tcp_con_cep ã®ãã³ããããã³ã°ã³ã¼ã«ã§ã1103 * æªå²å½ã®ã®å ´åã¯ããã¼ãçªå·ãå²ãå½ã¦ãã1104 * p_myaddr ã NADR (-1) ãã1105 * èªãã¼ãçªå·ã TCP_PORTANY ãªããèªåã§å²ãå½ã¦ãã1063 * tcp_con_cep のノンブロッキングコールで、 1064 * 未割当のの場合は、ポート番号を割り当てる。 1065 * p_myaddr が NADR (-1) か、 1066 * 自ポート番号が TCP_PORTANY なら、自動で割り当てる。 1106 1067 */ 1107 1068 if (cep->p_myaddr == NADR || cep->p_myaddr->portno == TCP_PORTANY) … … 1118 1079 syslog(LOG_WARNING, "[TCP] no call back, CEP: %d.", GET_TCP_CEPID(cep)); 1119 1080 1120 /* è¨æ¶ããã¦ããã¿ã¹ã¯ ID 㨠API æ©è½ã³ã¼ããã¯ãªã¢ã¼ããã*/1081 /* 記憶されているタスク ID と API 機能コードをクリアーする。*/ 1121 1082 cep->snd_tfn = cep->snd_nblk_tfn = TFN_TCP_UNDEF; 1122 1083 cep->snd_tskid = TA_NULL; … … 1130 1091 1131 1092 if (cep->flags & TCP_CEP_FLG_CLOSE_AFTER_OUTPUT) { 1132 /* ã³ãã¯ã·ã§ã³ãéããã*/1093 /* コネクションを閉じる。*/ 1133 1094 tcp_close(cep); 1134 1095 cep->flags &= ~TCP_CEP_FLG_CLOSE_AFTER_OUTPUT; … … 1136 1097 1137 1098 if (cep->flags & TCP_CEP_FLG_RESTORE_NEXT_OUTPUT) { 1138 /* snd_nxt ãå 1139 ã«æ»ãã*/ 1099 /* snd_nxt を元に戻す。*/ 1140 1100 if (SEQ_GT(cep->snd_old_nxt, cep->snd_nxt)) 1141 1101 cep->snd_nxt = cep->snd_old_nxt; … … 1150 1110 } while (ix != last_ix); 1151 1111 1152 /* 次åã¯ãå¦çããé信端ç¹ãå¾åãã«ããã*/1112 /* 次回は、処理した通信端点を後回しにする。*/ 1153 1113 last_ix = sel_ix; 1154 1114 } -
asp3_gr_sakura/trunk/tinet/netinet/tcp_seq.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 84 72 85 73 /* 86 * SEQ 㨠ACK çªå·ã¯ã32 ããã符å·ä»æ´æ°ã§æ¯è¼ããã74 * SEQ と ACK 番号は、32 ビット符号付整数で比較する。 87 75 */ 88 76 … … 93 81 94 82 /* 95 * é¢æ°ã·ãã¥ã¬ã¼ã·ã§ã³ãã¯ã83 * 関数シミュレーションマクロ 96 84 */ 97 85 … … 99 87 100 88 /* 101 * å 102 ¨åå¤æ° 89 * 全域変数 103 90 */ 104 91 105 extern T_TCP_SEQ tcp_iss; /* TCP ã® SEQ ã®åæå¤*/92 extern T_TCP_SEQ tcp_iss; /* TCP の SEQ の初期値 */ 106 93 107 94 /* 108 * ã¤ã³ã©ã¤ã³é¢æ°95 * インライン関数 109 96 */ 110 97 111 98 /* 112 * init_receive_seq -- åä¿¡ SEQ çªå·ãåæåããã99 * init_receive_seq -- 受信 SEQ 番号を初期化する。 113 100 */ 114 101 … … 120 107 121 108 /* 122 * init_send_seq -- éä¿¡ SEQ çªå·ãåæåããã109 * init_send_seq -- 送信 SEQ 番号を初期化する。 123 110 */ 124 111 -
asp3_gr_sakura/trunk/tinet/netinet/tcp_subr.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 129 117 130 118 /* 131 * å 132 ¨åå¤æ° 133 */ 134 135 /* 136 * TCP ã® SEQ ã®åæå¤ãããã°ã©ã ãèµ·åãã¦ãæåã« TCP ã»ã°ã¡ã³ãã 137 * éåä¿¡ããã¨ãã«ãget_tim() ã«ããåæåããã 119 * 全域変数 120 */ 121 122 /* 123 * TCP の SEQ の初期値、プログラムが起動して、最初に TCP セグメントを 124 * 送受信するときに、get_tim() により初期化する。 138 125 */ 139 126 T_TCP_SEQ tcp_iss = 0; … … 142 129 143 130 /* 144 * SNMP 㮠管çæ 145 å ±ãã¼ã¹ (MIB) 131 * SNMP の 管理情報ベース (MIB) 146 132 */ 147 133 … … 151 137 152 138 /* 153 * å±æå¤æ°154 */ 155 156 static uint16_t tcp_port_auto = TCP_PORT_FIRST_AUTO; /* èªåå²ãå½ã¦çªå·*/139 * 局所変数 140 */ 141 142 static uint16_t tcp_port_auto = TCP_PORT_FIRST_AUTO; /* 自動割り当て番号 */ 157 143 158 144 #if defined(NUM_TCP_TW_CEP_ENTRY) && NUM_TCP_TW_CEP_ENTRY > 0 159 145 160 146 /* 161 * ã¿ã¹ã¯ããã® Time Wait ç¶æ 162 CEP åé¢æ©è½ 163 */ 164 165 /* 166 * å¤æ° 147 * タスクからの Time Wait 状態 CEP 分離機能 148 */ 149 150 /* 151 * 変数 167 152 */ 168 153 … … 170 155 171 156 /* 172 * tcp_move_twcep -- å¿ 173 è¦ãªæ 174 å ±ã Time Wait ç¨ TCP é信端ç¹ã«ç§»ãã¦ã 175 * æ¨æºã® TCP é信端ç¹ãéæ¾ããã 157 * tcp_move_twcep -- 必要な情報を Time Wait 用 TCP 通信端点に移して、 158 * 標準の TCP 通信端点を開放する。 176 159 */ 177 160 … … 181 164 T_TCP_TWCEP* twcep; 182 165 183 /* 空ãã® Time Wait ç¨ TCP é信端ç¹ãæ¢ç´¢ããã*/166 /* 空きの Time Wait 用 TCP 通信端点を探索する。*/ 184 167 for (twcep = &tcp_twcep[NUM_TCP_TW_CEP_ENTRY]; twcep -- != tcp_twcep; ) { 185 168 if (twcep->fsm_state != TCP_FSM_TIME_WAIT) { 186 169 187 170 /* 188 * é信端ç¹ãããã¯ãã 189 * å¿ 190 è¦ãªæ 191 å ±ã Time Wait ç¨ TCP é信端ç¹ã«ç§»ãã 171 * 通信端点をロックし、 172 * 必要な情報を Time Wait 用 TCP 通信端点に移す。 192 173 */ 193 174 syscall(wai_sem(cep->semid_lock)); … … 202 183 twcep->timer_2msl = cep->timer[TCP_TIM_2MSL]; 203 184 204 /* é信端ç¹ãããã¯ã解é¤ããã*/185 /* 通信端点をロックを解除する。*/ 205 186 syscall(sig_sem(cep->semid_lock)); 206 187 207 /* æ¨æº TCP é信端ç¹ãéæ¾ããã*/188 /* 標準 TCP 通信端点を開放する。*/ 208 189 tcp_close(cep); 209 190 … … 214 195 215 196 /* 216 * tcp_find_twcep -- ãã¼ãçªå·ãã Time Wait ç¨ TCP é信端ç¹ãå¾ãã197 * tcp_find_twcep -- ポート番号から Time Wait 用 TCP 通信端点を得る。 217 198 */ 218 199 … … 226 207 227 208 /* 228 * ç¶æ 229 ã TIME WAIT ã§ã 230 * IP ã¢ãã¬ã¹ã¨ãã¼ãçªå·ãä¸è´ããé信端ç¹ãæ¢ç´¢ããã 209 * 状態が TIME WAIT で、 210 * IP アドレスとポート番号が一致する通信端点を探索する。 231 211 */ 232 212 for (twcep = &tcp_twcep[NUM_TCP_TW_CEP_ENTRY]; twcep -- != tcp_twcep; ) { … … 245 225 246 226 /* 247 * tcp_find_cep -- ãã¼ãçªå·ãã TCP é信端ç¹ãå¾ãã227 * tcp_find_cep -- ポート番号から TCP 通信端点を得る。 248 228 */ 249 229 … … 257 237 258 238 /* 259 * ç¶æ 260 ã SYN éä¿¡æ¸ã¿ä»¥å¾ã¯ã 261 * IP ã¢ãã¬ã¹ã¨ãã¼ãçªå·ãä¸è´ãã TCP é信端ç¹ãæ¢ç´¢ããã 239 * 状態が SYN 送信済み以後は、 240 * IP アドレスとポート番号が一致する TCP 通信端点を探索する。 262 241 */ 263 242 for (cep = &tcp_cep[tmax_tcp_cepid]; cep -- != tcp_cep; ) { … … 270 249 } 271 250 272 /* IPv4 ã§ååãªã¼ãã³ä¸ã® TCP é信端ç¹ãå 273 ã«æ¢ç´¢ããã*/ 251 /* IPv4 で受動オープン中の TCP 通信端点を先に探索する。*/ 274 252 for (cep = &tcp_cep[tmax_tcp_cepid]; cep -- != tcp_cep; ) { 275 253 if ((cep->flags & TCP_CEP_FLG_IPV4) && … … 281 259 } 282 260 283 /* ååãªã¼ãã³ä¸ã® TCP é信端ç¹ãæ¢ç´¢ããã*/261 /* 受動オープン中の TCP 通信端点を探索する。*/ 284 262 for (cep = &tcp_cep[tmax_tcp_cepid]; cep -- != tcp_cep; ) { 285 263 … … 327 305 328 306 /* 329 * tcp_is_addr_accept -- åä¿¡å¯è½ãª IP ã¢ãã¬ã¹ã¨ãã¼ãçªå·ã§ãããã¨ã確èªããã307 * tcp_is_addr_accept -- 受信可能な IP アドレスとポート番号であることを確認する。 330 308 */ 331 309 … … 340 318 341 319 /* 342 * 次ã®ã¨ãã¯ç ´æ£ããã 343 * ã»ãã¼ãçªå·ãåä¸ã§ãéåä¿¡ IP ã¢ãã¬ã¹ ãåä¸ã 344 * ãã ããéä¿¡å 345 IP ã¢ãã¬ã¹ããã¼ã«ã«ã«ã¼ãããã¯ãªãè¯ãã 346 * ã»ãã«ããã£ã¹ãã¢ãã¬ã¹ 320 * 次のときは破棄する。 321 * ・ポート番号が同一で、送受信 IP アドレス が同一。 322 * ただし、送信元 IP アドレスがローカルループバックなら良い。 323 * ・マルチキャストアドレス 347 324 */ 348 325 … … 354 331 355 332 /* 356 * 次ã®ã¨ãã¯ãåä¿¡å¯è½ã§ã¯ãªãã357 * ã»ãã¼ãçªå·ãåä¸ã§ãéåä¿¡ IP ã¢ãã¬ã¹ ãåä¸ã358 * ã»ãã«ããã£ã¹ãã¢ãã¬ã¹333 * 次のときは、受信可能ではない。 334 * ・ポート番号が同一で、送受信 IP アドレス が同一。 335 * ・マルチキャストアドレス 359 336 */ 360 337 if (tcph->dport == tcph->sport && IN_ARE_HDR_ADDR_EQUAL(input)) … … 370 347 371 348 /* 372 * tcp_free_reassq -- åä¿¡åæ§æãã¥ã¼ã®ãããã¯ã¼ã¯ãããã¡ã解æ¾ããã349 * tcp_free_reassq -- 受信再構成キューのネットワークバッファを解放する。 373 350 * 374 * 注æ: 375 * å¿ 376 è¦ã§ããã°ããã®é¢æ°ãå¼ã³åºãåã«ãé信端ç¹ãããã¯ãã 377 * æ»ã£ãå¾ã解é¤ããå¿ 378 è¦ãããã 351 * 注意: 352 * 必要であれば、この関数を呼び出す前に、通信端点をロックし、 353 * 戻った後、解除する必要がある。 379 354 */ 380 355 … … 393 368 394 369 /* 395 * tcp_alloc_auto_port -- èªåå²ãå½ã¦ãã¼ãçªå·ãè¨å®ããã370 * tcp_alloc_auto_port -- 自動割り当てポート番号を設定する。 396 371 */ 397 372 … … 480 455 481 456 /* 482 * tcp_alloc_port -- æå®ããããã¼ãçªå·ãè¨å®ããã457 * tcp_alloc_port -- 指定されたポート番号を設定する。 483 458 */ 484 459 … … 500 475 501 476 /* 502 * tcp_init -- TCP ã¢ã¸ã¥ã¼ã«ã®åæå477 * tcp_init -- TCP モジュールの初期化 503 478 */ 504 479 … … 516 491 517 492 /* 518 * tcp_init_iss ã·ã¼ã±ã³ã¹çªå·ãåæåããã493 * tcp_init_iss シーケンス番号を初期化する。 519 494 */ 520 495 … … 530 505 531 506 /* 532 * tcp_close -- ã³ãã¯ã·ã§ã³ãéæ¾ããã507 * tcp_close -- コネクションを開放する。 533 508 */ 534 509 … … 536 511 tcp_close (T_TCP_CEP *cep) 537 512 { 538 /* ã¿ã¤ãã¼ãåæ¢ããã*/513 /* タイマーを停止する。*/ 539 514 tcp_cancel_timers(cep); 540 515 541 516 /* 542 * é信端ç¹ãããã¯ãã543 * åä¿¡åæ§æãã¥ã¼ã®ãããã¯ã¼ã¯ãããã¡ã解æ¾ããã517 * 通信端点をロックし、 518 * 受信再構成キューのネットワークバッファを解放する。 544 519 */ 545 520 syscall(wai_sem(cep->semid_lock)); … … 547 522 syscall(sig_sem(cep->semid_lock)); 548 523 549 /* ç¶æ 550 ãæªä½¿ç¨ã«ããã*/ 524 /* 状態を未使用にする。*/ 551 525 cep->fsm_state = TCP_FSM_CLOSED; 552 526 553 527 /* 554 * 以ä¸ã«é¢ä¿ããªããã©ã°ãã¯ãªã¢ã¼ããã555 * ã»éåä¿¡ã¦ã£ã³ããããã¡ã®çã³ãã¼æ©è½556 * ã»åçãªé信端ç¹ã®çæã»åé¤æ©è½557 * ã»é信端ç¹ã®ãããã¯ã¼ã¯å±¤ãããã³ã«528 * 以下に関係しないフラグをクリアーする。 529 * ・送受信ウィンドバッファの省コピー機能 530 * ・動的な通信端点の生成・削除機能 531 * ・通信端点のネットワーク層プロトコル 558 532 */ 559 533 cep->flags &= TCP_CEP_FLG_NOT_CLEAR; … … 562 536 563 537 if (cep->snd_nblk_tfn != TFN_TCP_UNDEF || cep->rcv_nblk_tfn != TFN_TCP_UNDEF) { 564 /* ãã³ããããã³ã°ã³ã¼ã«*/538 /* ノンブロッキングコール */ 565 539 566 540 #ifdef TCP_CFG_NON_BLOCKING_COMPAT14 … … 575 549 576 550 case TFN_TCP_ACP_CEP: 577 /* TCP é信端ç¹ããTCP åä»å£ã解æ¾ããã*/551 /* TCP 通信端点からTCP 受付口を解放する。*/ 578 552 cep->rep = NULL; 579 553 … … 587 561 case TFN_TCP_RCV_BUF: 588 562 589 /* åä¿¡ã¦ã£ã³ããããã¡ã®ç©ºã¢ãã¬ã¹ãç²å¾ããã*/563 /* 受信ウィンドバッファの空アドレスを獲得する。*/ 590 564 len = TCP_GET_RWBUF_ADDR(cep, cep->rcv_p_buf); 591 565 592 /* ç°å¸¸åæçã®ã¨ã©ã¼ãè¨å®ããã*/566 /* 異常切断等のエラーを設定する。*/ 593 567 if (cep->error == E_TMOUT) 594 568 len = E_CLS; … … 601 575 case TFN_TCP_RCV_DAT: 602 576 603 /* åä¿¡ã¦ã£ã³ããããã¡ãããã¼ã¿ãåãåºãã*/577 /* 受信ウィンドバッファからデータを取り出す。*/ 604 578 len = TCP_READ_RWBUF(cep, cep->rcv_data, (uint_t)cep->rcv_len); 605 579 606 /* ç°å¸¸åæçã®ã¨ã©ã¼ãè¨å®ããã*/580 /* 異常切断等のエラーを設定する。*/ 607 581 if (cep->error == E_TMOUT) 608 582 len = E_CLS; … … 626 600 } 627 601 628 /* è¨æ¶ããã¦ããã¿ã¹ã¯ ID 㨠API æ©è½ã³ã¼ããã¯ãªã¢ã¼ããã*/602 /* 記憶されているタスク ID と API 機能コードをクリアーする。*/ 629 603 cep->rcv_tskid = TA_NULL; 630 604 cep->rcv_tfn = cep->rcv_nblk_tfn = TFN_TCP_UNDEF; … … 636 610 637 611 case TFN_TCP_CON_CEP: 638 /* TCP é信端ç¹ãã TCP åä»å£ã解æ¾ããã*/612 /* TCP 通信端点から TCP 受付口を解放する。*/ 639 613 cep->rep = NULL; 640 614 … … 659 633 } 660 634 661 /* è¨æ¶ããã¦ããã¿ã¹ã¯ ID 㨠API æ©è½ã³ã¼ããã¯ãªã¢ã¼ããã*/635 /* 記憶されているタスク ID と API 機能コードをクリアーする。*/ 662 636 cep->snd_tskid = TA_NULL; 663 637 cep->snd_tfn = cep->snd_nblk_tfn = TFN_TCP_UNDEF; … … 678 652 case TFN_TCP_ACP_CEP: 679 653 680 /* TCP é信端ç¹ããTCP åä»å£ã解æ¾ããã*/654 /* TCP 通信端点からTCP 受付口を解放する。*/ 681 655 cep->rep = NULL; 682 656 … … 685 659 #endif 686 660 687 /* æ¥ç¶ã¨ã©ã¼ãè¨å®ããã*/661 /* 接続エラーを設定する。*/ 688 662 len = E_CLS; 689 663 (*cep->callback)(GET_TCP_CEPID(cep), cep->rcv_nblk_tfn, (void*)&len); … … 692 666 case TFN_TCP_RCV_BUF: 693 667 694 /* åä¿¡ã¦ã£ã³ããããã¡ã®ç©ºã¢ãã¬ã¹ãç²å¾ããã*/668 /* 受信ウィンドバッファの空アドレスを獲得する。*/ 695 669 len = TCP_GET_RWBUF_ADDR(cep, cep->rcv_p_buf); 696 670 697 /* ç°å¸¸åæçã®ã¨ã©ã¼ãè¨å®ããã*/671 /* 異常切断等のエラーを設定する。*/ 698 672 if (cep->error == E_TMOUT) 699 673 len = E_CLS; … … 706 680 case TFN_TCP_RCV_DAT: 707 681 708 /* åä¿¡ã¦ã£ã³ããããã¡ãããã¼ã¿ãåãåºãã*/682 /* 受信ウィンドバッファからデータを取り出す。*/ 709 683 len = TCP_READ_RWBUF(cep, cep->rcv_data, (uint_t)cep->rcv_len); 710 684 711 /* ç°å¸¸åæçã®ã¨ã©ã¼ãè¨å®ããã*/685 /* 異常切断等のエラーを設定する。*/ 712 686 if (cep->error == E_TMOUT) 713 687 len = E_CLS; … … 731 705 } 732 706 733 /* è¨æ¶ããã¦ããã¿ã¹ã¯ ID 㨠API æ©è½ã³ã¼ããã¯ãªã¢ã¼ããã*/707 /* 記憶されているタスク ID と API 機能コードをクリアーする。*/ 734 708 cep->rcv_tskid = TA_NULL; 735 709 cep->rcv_tfn = cep->rcv_nblk_tfn = TFN_TCP_UNDEF; … … 743 717 case TFN_TCP_CON_CEP: 744 718 745 /* TCP é信端ç¹ããTCP åä»å£ã解æ¾ããã*/719 /* TCP 通信端点からTCP 受付口を解放する。*/ 746 720 cep->rep = NULL; 747 721 … … 750 724 #endif 751 725 752 /* æ¥ç¶ã¨ã©ã¼ãè¨å®ããã*/726 /* 接続エラーを設定する。*/ 753 727 len = E_CLS; 754 728 (*cep->callback)(GET_TCP_CEPID(cep), cep->snd_nblk_tfn, (void*)&len); … … 769 743 } 770 744 771 /* è¨æ¶ããã¦ããã¿ã¹ã¯ ID 㨠API æ©è½ã³ã¼ããã¯ãªã¢ã¼ããã*/745 /* 記憶されているタスク ID と API 機能コードをクリアーする。*/ 772 746 cep->snd_tskid = TA_NULL; 773 747 cep->snd_tfn = cep->snd_nblk_tfn = TFN_TCP_UNDEF; … … 779 753 780 754 /* 781 * é信端ç¹ãããã¯ãã782 * éåä¿¡ã¦ã£ã³ããããã¡ãã¥ã¼ã®ãããã¯ã¼ã¯ãããã¡ã解æ¾ããã755 * 通信端点をロックし、 756 * 送受信ウィンドバッファキューのネットワークバッファを解放する。 783 757 */ 784 758 syscall(wai_sem(cep->semid_lock)); … … 787 761 syscall(sig_sem(cep->semid_lock)); 788 762 789 /* æªä½¿ç¨ã«ãªã£ããã¨ãç¥ãããã*/763 /* 未使用になったことを知らせる。*/ 790 764 syscall(set_flg(cep->est_flgid, TCP_CEP_EVT_CLOSED)); 791 765 } 792 else { /* éãã³ããããã³ã°ã³ã¼ã«*/766 else { /* 非ノンブロッキングコール */ 793 767 794 768 #endif /* of #ifdef TCP_CFG_NON_BLOCKING */ 795 769 796 /* è¨æ¶ããã¦ããã¿ã¹ã¯ ID 㨠API æ©è½ã³ã¼ããã¯ãªã¢ã¼ããã*/770 /* 記憶されているタスク ID と API 機能コードをクリアーする。*/ 797 771 cep->snd_tskid = cep->rcv_tskid = TA_NULL; 798 772 cep->snd_tfn = cep->rcv_tfn = TFN_TCP_UNDEF; 799 773 800 774 /* 801 * é信端ç¹ãããã¯ãã802 * éåä¿¡ã¦ã£ã³ããããã¡ãã¥ã¼ã®ãããã¯ã¼ã¯ãããã¡ã解æ¾ããã775 * 通信端点をロックし、 776 * 送受信ウィンドバッファキューのネットワークバッファを解放する。 803 777 */ 804 778 syscall(wai_sem(cep->semid_lock)); … … 807 781 syscall(sig_sem(cep->semid_lock)); 808 782 809 /* æªä½¿ç¨ã«ãªã£ããã¨ãç¥ãããã*/783 /* 未使用になったことを知らせる。*/ 810 784 syscall(set_flg(cep->est_flgid, TCP_CEP_EVT_CLOSED)); 811 785 812 786 /* 813 * å 814 ¥åºåã¿ã¹ã¯ãèµ·åºãã¦ã 815 * éåä¿¡ä¸å¯ã«ãªã£ããã¨ãç¥ãããã 787 * 入出力タスクを起床して、 788 * 送受信不可になったことを知らせる。 816 789 */ 817 790 syscall(set_flg(cep->snd_flgid, TCP_CEP_EVT_SWBUF_READY)); … … 828 801 829 802 /* 830 * tcp_drop -- TCP æ¥ç¶ãç ´æ£ããã803 * tcp_drop -- TCP 接続を破棄する。 831 804 */ 832 805 … … 846 819 cep->fsm_state = TCP_FSM_CLOSED; 847 820 848 /* éä¿¡ã¨ãéä¿¡å¾ã³ãã¯ã·ã§ã³ã®åæãæ示ããã*/821 /* 送信と、送信後コネクションの切断を指示する。*/ 849 822 cep->flags |= TCP_CEP_FLG_POST_OUTPUT | TCP_CEP_FLG_CLOSE_AFTER_OUTPUT; 850 823 sig_sem(SEM_TCP_POST_OUTPUT); … … 857 830 858 831 /* 859 * tcp_respond -- TCP ã®åä¸ã¡ãã»ã¼ã¸ãéä¿¡ããã832 * tcp_respond -- TCP の単一メッセージを送信する。 860 833 */ 861 834 … … 872 845 873 846 /* 874 * output ã NULL ã§ãªããã°ãããã¯å 875 ¥åããã»ã°ã¡ã³ãã® 876 * net_buf ã§ããã®ã¾ã¾åå©ç¨ããã 847 * output が NULL でなければ、これは入力したセグメントの 848 * net_buf で、そのまま再利用する。 877 849 */ 878 850 if (output != NULL) { … … 880 852 881 853 /* 882 * IPv4 ã§ã¯ãIP ãããã®ãªãã·ã§ã³ãåé¤ããã883 * IPv6 ã§ã¯ãæ¡å¼µããããåé¤ããã854 * IPv4 では、IP ヘッダのオプションを削除する。 855 * IPv6 では、拡張ヘッダを削除する。 884 856 */ 885 857 if (IP_REMOVE_OPTIONS(output) != E_OK) { … … 892 864 #if defined(_IP6_CFG) 893 865 894 /* ãã©ããã¯ã¯ã©ã¹ã¨ããã¼ã©ãã«ãã¯ãªã¢ããã*/866 /* トラヒッククラスとフローラベルをクリアする。*/ 895 867 SET_IP_CF(output, 0); 896 868 897 869 #endif /* of #if defined(_IP6_CFG) */ 898 870 899 /* TCP SDU é·ã 0 ã«ããã*/871 /* TCP SDU 長を 0 にする。*/ 900 872 SET_IP_SDU_SIZE(output, TCP_HDR_SIZE); 901 873 902 874 tcph = GET_TCP_HDR(output, IF_IP_TCP_HDR_OFFSET(output)); 903 875 904 /* ãã¼ãçªå·ã交æããã*/876 /* ポート番号を交換する。*/ 905 877 portno = tcph->sport; 906 878 tcph->sport = tcph->dport; 907 879 tcph->dport = portno; 908 880 909 /* TCP ãããã«æ 910 å ±ãè¨å®ããã*/ 881 /* TCP ヘッダに情報を設定する。*/ 911 882 tcph->doff = TCP_MAKE_DATA_OFF(TCP_HDR_SIZE); 912 883 } 913 884 914 /* cep ã NULL ã§ããã°ãä½ãããªãã§çµäºããã*/885 /* cep が NULL であれば、何もしないで終了する。*/ 915 886 else if (cep == NULL) 916 887 return; … … 931 902 932 903 /* 933 * ãã§ãã¯ãµã ãè¨å®ããã904 * チェックサムを設定する。 934 905 */ 935 906 hdr_offset = IF_IP_TCP_HDR_OFFSET(output); … … 937 908 (uint_t)GET_TCP_HDR_SIZE(output, hdr_offset)); 938 909 939 /* ãããã¯ã¼ã¯ãããã¡é·ã調æ´ããã*/910 /* ネットワークバッファ長を調整する。*/ 940 911 output->len = (uint16_t)GET_IF_IP_TCP_HDR_SIZE(output, hdr_offset); 941 912 … … 946 917 #endif /* of #ifdef TCP_CFG_TRACE */ 947 918 948 /* ãããã¯ã¼ã¯å±¤ (IP) ã®åºåé¢æ°ãå¼ã³åºãã*/919 /* ネットワーク層 (IP) の出力関数を呼び出す。*/ 949 920 IP_OUTPUT(output, TMO_TCP_OUTPUT); 950 921 } 951 922 #if 0 952 923 /* 953 * tcp_get_segment -- TCP ã»ã°ã¡ã³ããç²å¾ããããããè¨å®ããã924 * tcp_get_segment -- TCP セグメントを獲得し、ヘッダを設定する。 954 925 * 955 * æ»ãå¤ ã¨ã©ã¼ã³ã¼ã956 * optlen ãªãã·ã§ã³ãµã¤ãºã4 ãªã¯ãããåä½957 * maxlen æ大ã»ã°ã¡ã³ããµã¤ãºï¼IF/IP/TCP ããããµã¤ãºãå«ã¾ãªãï¼958 * len TCP SDU ãµã¤ãº926 * 戻り値 エラーコード 927 * optlen オプションサイズ、4 オクテット単位 928 * maxlen 最大セグメントサイズ(IF/IP/TCP ヘッダサイズを含まない) 929 * len TCP SDU サイズ 959 930 */ 960 931 … … 966 937 ER error; 967 938 968 /* IP ãã¼ã¿ã°ã©ã ãç²å¾ããã*/939 /* IP データグラムを獲得する。*/ 969 940 if ((error = IN_GET_DATAGRAM(nbuf, 970 941 (uint_t)(TCP_HDR_SIZE + optlen + len), … … 978 949 } 979 950 980 /* TCP ãããã«æ 981 å ±ãè¨å®ããã*/ 982 983 /* TCP ãããã«æ 984 å ±ãè¨å®ããã*/ 951 /* TCP ヘッダに情報を設定する。*/ 952 953 /* TCP ヘッダに情報を設定する。*/ 985 954 tcph = GET_TCP_HDR(*nbuf, IF_IP_TCP_HDR_OFFSET(*nbuf)); 986 955 tcph->sport = htons(cep->myaddr.portno); … … 993 962 #endif 994 963 /* 995 * tcpn_get_segment -- TCP ã»ã°ã¡ã³ããç²å¾ããããããè¨å®ããã964 * tcpn_get_segment -- TCP セグメントを獲得し、ヘッダを設定する。 996 965 * 997 * æ»ãå¤ ã¨ã©ã¼ã³ã¼ã998 * optlen ãªãã·ã§ã³ãµã¤ãºã4 ãªã¯ãããåä½999 * maxlen æ大ã»ã°ã¡ã³ããµã¤ãºï¼IF/IP/TCP ããããµã¤ãºãå«ãï¼1000 * len TCP SDU ãµã¤ãº966 * 戻り値 エラーコード 967 * optlen オプションサイズ、4 オクテット単位 968 * maxlen 最大セグメントサイズ(IF/IP/TCP ヘッダサイズを含む) 969 * len TCP SDU サイズ 1001 970 */ 1002 971 … … 1008 977 ER error; 1009 978 1010 /* IP ãã¼ã¿ã°ã©ã ãç²å¾ããã*/979 /* IP データグラムを獲得する。*/ 1011 980 if ((error = IN_GET_DATAGRAM(nbuf, 1012 981 (uint_t)(TCP_HDR_SIZE + optlen + len), … … 1020 989 } 1021 990 1022 /* TCP ãããã«æ 1023 å ±ãè¨å®ããã*/ 1024 1025 /* TCP ãããã«æ 1026 å ±ãè¨å®ããã*/ 991 /* TCP ヘッダに情報を設定する。*/ 992 993 /* TCP ヘッダに情報を設定する。*/ 1027 994 tcph = GET_TCP_HDR(*nbuf, IF_IP_TCP_HDR_OFFSET(*nbuf)); 1028 995 tcph->sport = htons(cep->myaddr.portno); … … 1035 1002 1036 1003 /* 1037 * tcp_can_send_more -- éä¿¡ã§ããããé信端ç¹ã®ç¶æ 1038 ãè¦ãã 1004 * tcp_can_send_more -- 送信できるか、通信端点の状態を見る。 1039 1005 */ 1040 1006 … … 1044 1010 ER error; 1045 1011 1046 /* éä¿¡ã§ããããCEP ã® FSM ç¶æ 1047 ãè¦ãã*/ 1012 /* 送信できるか、CEP の FSM 状態を見る。*/ 1048 1013 if (!TCP_FSM_CAN_SEND_MORE(cep->fsm_state)) { 1049 1014 if ((error = cep->error) == E_OK) … … 1052 1017 #ifdef TCP_CFG_NON_BLOCKING 1053 1018 1054 /* ã¿ã¤ã ã¢ã¦ãããã§ãã¯ããã*/1055 if (tmout == TMO_NBLK) { /* ãã³ããããã³ã°ã³ã¼ã«*/1019 /* タイムアウトをチェックする。*/ 1020 if (tmout == TMO_NBLK) { /* ノンブロッキングコール */ 1056 1021 1057 1022 if (!IS_PTR_DEFINED(cep->callback)) 1058 1023 error = E_OBJ; 1059 1024 else { 1060 /* ã³ã¼ã«ããã¯é¢æ°ãå¼ã³åºãã*/1025 /* コールバック関数を呼び出す。*/ 1061 1026 #ifdef TCP_CFG_NON_BLOCKING_COMPAT14 1062 1027 (*cep->callback)(GET_TCP_CEPID(cep), fncd, (void*)error); … … 1083 1048 #ifdef TCP_CFG_NON_BLOCKING 1084 1049 1085 /* ã¿ã¤ã ã¢ã¦ãããã§ãã¯ããã*/1086 if (tmout == TMO_NBLK) { /* ãã³ããããã³ã°ã³ã¼ã«*/1050 /* タイムアウトをチェックする。*/ 1051 if (tmout == TMO_NBLK) { /* ノンブロッキングコール */ 1087 1052 if (!IS_PTR_DEFINED(cep->callback)) 1088 1053 error = E_OBJ; … … 1090 1055 error = E_OBJ; 1091 1056 1092 /* ã³ã¼ã«ããã¯é¢æ°ãå¼ã³åºãã*/1057 /* コールバック関数を呼び出す。*/ 1093 1058 #ifdef TCP_CFG_NON_BLOCKING_COMPAT14 1094 1059 (*cep->callback)(GET_TCP_CEPID(cep), fncd, (void*)error); … … 1116 1081 1117 1082 /* 1118 * tcp_can_recv_more -- åä¿¡ã§ããããé信端ç¹ã®ç¶æ 1119 ãè¦ãã 1083 * tcp_can_recv_more -- 受信できるか、通信端点の状態を見る。 1120 1084 * 1121 * 注æ: æ»ãå¤1085 * 注意: 戻り値 1122 1086 * 1123 * E_OK åä¿¡å¯è½1124 * E_OBJ ç¸æããåæãããããã¨ã©ã¼ãçºçããã1087 * E_OK 受信可能 1088 * E_OBJ 相手から切断されたか、エラーが発生した。 1125 1089 */ 1126 1090 … … 1129 1093 { 1130 1094 /* 1131 * åä¿¡ã§ããããfsm_state ãè¦ããåä¿¡ã§ããªãå ´åã¯1132 * é·ã 0ãã¾ãã¯ã¨ã©ã¼ãè¿ãã1095 * 受信できるか、fsm_state を見る。受信できない場合は 1096 * 長さ 0、またはエラーを返す。 1133 1097 */ 1134 1098 if (!TCP_FSM_CAN_RECV_MORE(cep->fsm_state) && … … 1138 1102 #ifdef TCP_CFG_NON_BLOCKING 1139 1103 1140 /* ã¿ã¤ã ã¢ã¦ãããã§ãã¯ããã*/1141 if (tmout == TMO_NBLK) { /* ãã³ããããã³ã°ã³ã¼ã«*/1104 /* タイムアウトをチェックする。*/ 1105 if (tmout == TMO_NBLK) { /* ノンブロッキングコール */ 1142 1106 1143 1107 if (!IS_PTR_DEFINED(cep->callback)) 1144 1108 *error = E_OBJ; 1145 1109 else { 1146 /* ã³ã¼ã«ããã¯é¢æ°ãå¼ã³åºãã*/1110 /* コールバック関数を呼び出す。*/ 1147 1111 #ifdef TCP_CFG_NON_BLOCKING_COMPAT14 1148 1112 (*cep->callback)(GET_TCP_CEPID(cep), fncd, (void*)*error); … … 1157 1121 1158 1122 /* 1159 * é信端ç¹ãããã¯ãã¦ã1160 * åä¿¡ã¦ã£ã³ããããã¡ãã¥ã¼ã®ãããã¯ã¼ã¯ãããã¡ã解æ¾ããã1123 * 通信端点をロックして、 1124 * 受信ウィンドバッファキューのネットワークバッファを解放する。 1161 1125 */ 1162 1126 syscall(wai_sem(cep->semid_lock)); … … 1174 1138 #ifdef TCP_CFG_NON_BLOCKING 1175 1139 1176 /* ã¿ã¤ã ã¢ã¦ãããã§ãã¯ããã*/1177 if (tmout == TMO_NBLK) { /* ãã³ããããã³ã°ã³ã¼ã«*/1140 /* タイムアウトをチェックする。*/ 1141 if (tmout == TMO_NBLK) { /* ノンブロッキングコール */ 1178 1142 if (!IS_PTR_DEFINED(cep->callback)) 1179 1143 *error = E_OBJ; … … 1181 1145 *error = E_OBJ; 1182 1146 1183 /* ã³ã¼ã«ããã¯é¢æ°ãå¼ã³åºãã*/1147 /* コールバック関数を呼び出す。*/ 1184 1148 #ifdef TCP_CFG_NON_BLOCKING_COMPAT14 1185 1149 (*cep->callback)(GET_TCP_CEPID(cep), fncd, (void*)*error); … … 1206 1170 1207 1171 /* 1208 * tcp_wait_rwbuf -- åä¿¡ã¦ã£ã³ããããã¡ã«ãã¼ã¿ãå 1209 ¥ãã®ãå¾ 1210 ã¤ã 1172 * tcp_wait_rwbuf -- 受信ウィンドバッファにデータが入るのを待つ。 1211 1173 */ 1212 1174 … … 1218 1180 1219 1181 if (cep->rwbuf_count == 0) { 1220 /* åä¿¡ã¦ã£ã³ããããã¡ã«ãã¼ã¿ããªããã°ãå 1221 ¥åãããã¾ã§å¾ 1222 ã¤ã*/ 1182 /* 受信ウィンドバッファにデータがなければ、入力があるまで待つ。*/ 1223 1183 while (cep->rwbuf_count == 0) { 1224 1184 if ((error = twai_flg(cep->rcv_flgid, TCP_CEP_EVT_RWBUF_READY, TWF_ORW, &flag, tmout)) != E_OK) { … … 1228 1188 1229 1189 /* 1230 * åä¿¡ã§ããããfsm_state ãè¦ããåä¿¡ã§ããªãç¶æ 1231 ã§ã 1232 * åä¿¡ã¦ã£ã³ããããã¡ã«æåããªãå ´åã¯çµäºããã 1190 * 受信できるか、fsm_state を見る。受信できない状態で、 1191 * 受信ウィンドバッファに文字がない場合は終了する。 1233 1192 */ 1234 1193 if (!TCP_FSM_CAN_RECV_MORE(cep->fsm_state) && … … 1236 1195 1237 1196 /* 1238 * é信端ç¹ãããã¯ãã¦ã1239 * åä¿¡ã¦ã£ã³ããããã¡ãã¥ã¼ã®ãããã¯ã¼ã¯ãããã¡ã解æ¾ããã1197 * 通信端点をロックして、 1198 * 受信ウィンドバッファキューのネットワークバッファを解放する。 1240 1199 */ 1241 1200 syscall(wai_sem(cep->semid_lock)); … … 1255 1214 1256 1215 /* 1257 * tcp_move_ra2rw -- åä¿¡åæ§æãã¥ã¼ã§åæ§æããã»ã°ã¡ã³ããåä¿¡ã¦ã£ã³ããããã¡ã«æ¸ãè¾¼ãã1216 * tcp_move_ra2rw -- 受信再構成キューで再構成したセグメントを受信ウィンドバッファに書き込む。 1258 1217 */ 1259 1218 … … 1265 1224 1266 1225 /* 1267 * åä¿¡ãã¼ã¿ãåä¿¡ã¦ã£ã³ããããã¡ã«æ¸ãè¾¼ã¿ã1268 * rcv_nxt ãå®äºãã SEQ ã ãé²ããã1226 * 受信データを受信ウィンドバッファに書き込み、 1227 * rcv_nxt を完了した SEQ だけ進める。 1269 1228 */ 1270 1229 if (TCP_FSM_HAVE_ESTABLISHED(cep->fsm_state)) { … … 1275 1234 break; 1276 1235 1277 /* 次ã®ã»ã°ã¡ã³ãã«é²ãã*/1236 /* 次のセグメントに進む。*/ 1278 1237 cep->reassq = qhdr->next; 1279 1238 1280 /* FIN ãã©ã°ã®ã¿æ®ãã*/1239 /* FIN フラグのみ残す。*/ 1281 1240 flags &= TCP_FLG_FIN; 1282 1241 1283 /* ãã¼ã¿ãåä¿¡ã¦ã£ã³ããããã¡ã«æ¸ãè¾¼ãã*/1242 /* データを受信ウィンドバッファに書き込む。*/ 1284 1243 TCP_WRITE_RWBUF(cep, q, (uint_t)(GET_IP_TCP_Q_HDR_OFFSET(q))); 1285 1244 } … … 1293 1252 1294 1253 /* 1295 * tcp_write_raque -- åä¿¡ã»ã°ã¡ã³ããåæ§æãã¦ãåä¿¡åæ§æãã¥ã¼ã«ç¹ãã1254 * tcp_write_raque -- 受信セグメントを再構成して、受信再構成キューに繋ぐ。 1296 1255 */ 1297 1256 … … 1304 1263 int32_t len; 1305 1264 1306 /* TCP ãããã®ä½ç½®ãä¿åããã*/1265 /* TCP ヘッダの位置を保存する。*/ 1307 1266 SET_IP_TCP_Q_HDR_OFFSET(input, thoff); 1308 1267 1309 1268 /* 1310 * MAX_TCP_REALLOC_SIZE 以ä¸ã®å ´åã¯ãæ°ãã«ãããã¯ã¼ã¯ãããã¡ã1311 * å²å½ã¦ã¦ããã¼ã¿ãã³ãã¼ããã1312 * ãã®ã¨ããIP ã®ãªãã·ã§ã³ï¼æ¡å¼µãããï¼ã¨ TCP ã®ãªãã·ã§ã³ã¯åé¤ããã1269 * MAX_TCP_REALLOC_SIZE 以下の場合は、新たにネットワークバッファを 1270 * 割当てて、データをコピーする。 1271 * このとき、IP のオプション(拡張ヘッダ)と TCP のオプションは削除する。 1313 1272 */ 1314 1273 len = IF_IP_TCP_HDR_SIZE(input) + inqhdr->slen; … … 1317 1276 1318 1277 /* 1319 * ãããã¯ã¼ã¯ãããã¡ã確ä¿ã§ããªãã¨ãã¯å²å½ã¦ãªãã1278 * ネットワークバッファが確保できないときは割当てない。 1320 1279 */ 1321 1280 if (tget_net_buf(&new, (uint_t)len, TMO_TCP_GET_NET_BUF) != E_OK) … … 1342 1301 1343 1302 /* 1344 * ä»å追å ããã»ã°ã¡ã³ãããå(p)ã¨å¾(q)ã®ã»ã°ã¡ã³ããæ¢ãã1303 * 今回追加するセグメントより前(p)と後(q)のセグメントを探す。 1345 1304 * 1346 1305 * +-------------------------+ … … 1365 1324 1366 1325 /* 1367 * å(p)ã®ã»ã°ã¡ã³ããããã°ãæ¢ã«ãä»åã¨åãã»ã°ã¡ã³ãã 1368 * ãããã¨ãããããã®å ´åã¯ããã®é¨åã¾ãã¯å 1369 ¨ã¦ãç ´æ£ããã 1326 * 前(p)のセグメントがあれば、既に、今回と同じセグメントが 1327 * あることもある。その場合は、その部分または全てを破棄する。 1370 1328 * 1371 1329 * qhdr->seq … … 1389 1347 1390 1348 /* 1391 * len ãæ£ã§ããã°ãå(p) ã®ã»ã°ã¡ã³ãã¨ä»åã®1392 * ã»ã°ã¡ã³ããéãªã£ã¦ããã1349 * len が正であれば、前(p) のセグメントと今回の 1350 * セグメントが重なっている。 1393 1351 */ 1394 1352 if (len >= inqhdr->slen) { 1395 1353 1396 1354 /* 1397 * len ãä»åã®ã»ã°ã¡ã³ãã¨åããªã1398 * ã¾ã£ããåãã»ã°ã¡ã³ããªã®ã§ä½ãããªãã1355 * len が今回のセグメントと同じなら 1356 * まったく同じセグメントなので何もしない。 1399 1357 */ 1400 1358 if (new != NULL) { … … 1407 1365 1408 1366 /* 1409 * 追å ããã»ã°ã¡ã³ãã® SDU ã len ååã«è©°ããã1367 * 追加するセグメントの SDU を len 分前に詰める。 1410 1368 */ 1411 1369 inqhdr->seq += len; … … 1416 1374 1417 1375 /* 1418 * ãã¥ã¼ã«ã¤ãªãåã«ãæ°ãããããã¯ã¼ã¯ãããã¡ã«ãã¼ã¿ã移ãã1419 * TCP ã®ãªãã·ã§ã³ã¯åé¤ããã1376 * キューにつなぐ前に、新しいネットワークバッファにデータを移す。 1377 * TCP のオプションは削除する。 1420 1378 */ 1421 1379 if (new != NULL) { … … 1430 1388 1431 1389 /* 1432 * éãªãå¾(q)ã®ã»ã°ã¡ã³ãã調æ´ããã1390 * 重なる後(q)のセグメントを調整する。 1433 1391 * 1434 1392 * inqhdr->seq … … 1450 1408 len = inqhdr->seq + inqhdr->slen - qhdr->seq; 1451 1409 if (len <= 0) 1452 /* len ãè² ãªãéãªã£ã¦ããªãã*/1410 /* len が負なら重なっていない。*/ 1453 1411 break; 1454 1412 else if (len < qhdr->slen) { 1455 1413 1456 1414 /* 1457 * å¾ãã§éãªã£ã¦ããã»ã°ã¡ã³ãã® SDU ã len ååã«è©°ããã1415 * 後ろで重なっているセグメントの SDU を len 分前に詰める。 1458 1416 * 1459 1417 * inqhdr->seq … … 1499 1457 1500 1458 /* 1501 * tcp_rexmt_val -- åéã¿ã¤ã ã¢ã¦ãå¤ãè¿ãã1459 * tcp_rexmt_val -- 再送タイムアウト値を返す。 1502 1460 */ 1503 1461 … … 1515 1473 1516 1474 /* 1517 * tcp_init_cep -- é信端ç¹ãåæåããã1475 * tcp_init_cep -- 通信端点を初期化する。 1518 1476 */ 1519 1477 … … 1524 1482 #ifdef TCP_CFG_RWBUF_CSAVE 1525 1483 /* 1526 * åä¿¡ã¦ã£ã³ããããã¡ã®çã³ãã¼æ©è½ãæå¹ã«ããå ´åã 1527 * åä¿¡ã¦ã£ã³ããããã¡ãå 1528 ¨ã¦è§£æ¾ãããªããã¨ãããã®ã§ã 1529 * ããã§è§£æ¾ããã 1484 * 受信ウィンドバッファの省コピー機能を有効にした場合、 1485 * 受信ウィンドバッファが全て解放されないことがあるので、 1486 * ここで解放する。 1530 1487 */ 1531 1488 if (cep->rwbufq != NULL) { … … 1542 1499 cep->rbuf_rptr = cep->rbuf_wptr = cep->rbuf; 1543 1500 1544 cep->maxseg = DEF_TCP_SND_SEG; /* éä¿¡æ大ã»ã°ã¡ã³ããµã¤ãº*/1545 cep->srtt = TCP_TVAL_SRTT_BASE; /* æ»ãããªç§»åå¹³å*/1501 cep->maxseg = DEF_TCP_SND_SEG; /* 送信最大セグメントサイズ */ 1502 cep->srtt = TCP_TVAL_SRTT_BASE; /* 滑らかな移動平均 */ 1546 1503 cep->rttvar = ((TCP_TVAL_RTO_BASE - TCP_TVAL_SRTT_BASE) << TCP_RTTVAR_SHIFT) / 4; 1547 /* æ»ãããªåæ£*/1548 cep->rxtcur = TCP_TVAL_RTO_BASE; /* ç¾å¨ã®åéå¤*/1549 cep->snd_cwnd = MAX_TCP_WIN_SIZE; /* 輻輳ã¦ã£ã³ããµã¤ãº*/1550 cep->snd_ssthresh= MAX_TCP_WIN_SIZE; /* 輻輳ã¦ã£ã³ããµã¤ãº(snd_cwnd)ã® å¶éå¤*/1504 /* 滑らかな分散 */ 1505 cep->rxtcur = TCP_TVAL_RTO_BASE; /* 現在の再送値 */ 1506 cep->snd_cwnd = MAX_TCP_WIN_SIZE; /* 輻輳ウィンドサイズ */ 1507 cep->snd_ssthresh= MAX_TCP_WIN_SIZE; /* 輻輳ウィンドサイズ(snd_cwnd)の 制限値 */ 1551 1508 1552 1509 /* 1553 * 以ä¸ã«é¢ä¿ããªããã©ã°ãã¯ãªã¢ã¼ããã1554 * ã»éåä¿¡ã¦ã£ã³ããããã¡ã®çã³ãã¼æ©è½1555 * ã»åçãªé信端ç¹ã®çæã»åé¤æ©è½1556 * ã»é信端ç¹ã®ãããã¯ã¼ã¯å±¤ãããã³ã«1510 * 以下に関係しないフラグをクリアーする。 1511 * ・送受信ウィンドバッファの省コピー機能 1512 * ・動的な通信端点の生成・削除機能 1513 * ・通信端点のネットワーク層プロトコル 1557 1514 */ 1558 1515 cep->flags &= TCP_CEP_FLG_NOT_CLEAR; 1559 1516 1560 /* ã»ããã©ãåæåããã*/1517 /* セマフォを初期化する。*/ 1561 1518 sig_sem(cep->semid_lock); 1562 1519 1563 /* ãã©ã°ãåæåããã*/1520 /* フラグを初期化する。*/ 1564 1521 syscall(set_flg(cep->snd_flgid, TCP_CEP_EVT_SWBUF_READY)); 1565 1522 syscall(clr_flg(cep->rcv_flgid, TCP_CEP_EVT_RWBUF_READY)); … … 1567 1524 1568 1525 /* 1569 * tcp_notify -- ICMP ã¨ã©ã¼ã®å¦ç1526 * tcp_notify -- ICMP エラーの処理 1570 1527 */ 1571 1528 … … 1578 1535 1579 1536 /* 1580 * ã³ãã¯ã·ã§ã³éè¨æ¸ã§ããã¹ãå°éä¸è½ã¨ã©ã¼ã®å ´åã¯ã1581 * åéã«ããå¦çããã1537 * コネクション開設済で、ホスト到達不能エラーの場合は、 1538 * 再送により処理する。 1582 1539 */ 1583 1540 if (cep->fsm_state == TCP_FSM_ESTABLISHED && … … 1586 1543 1587 1544 /* 1588 * ã³ãã¯ã·ã§ã³éè¨ä¸ãåãã¨ã©ã¼ãä½åº¦ãåä¿¡ããå ´åã¯ã 1589 * å¾ 1590 ã¡ç¶æ 1591 ã解é¤ãã対å¿ããé¢æ°ã«ã¨ã©ã¼ãè¿ãããã 1545 * コネクション開設中、同じエラーを何度か受信した場合は、 1546 * 待ち状態を解除し、対応する関数にエラーを返させる。 1592 1547 */ 1593 1548 if (cep->fsm_state < TCP_FSM_ESTABLISHED && cep->rxtshift > 3 && cep->net_error != E_OK) { … … 1598 1553 cep->net_error = error; 1599 1554 1600 /* éä¿¡ãæ示ããã*/1555 /* 送信を指示する。*/ 1601 1556 cep->flags |= TCP_CEP_FLG_POST_OUTPUT; 1602 1557 sig_sem(SEM_TCP_POST_OUTPUT); … … 1606 1561 1607 1562 /* 1608 * tcp_lock_cep -- TCP é信端ç¹ãããã¯ããã1563 * tcp_lock_cep -- TCP 通信端点をロックする。 1609 1564 */ 1610 1565 … … 1617 1572 *p_cep = NULL; 1618 1573 1619 /* TCP éä¿¡ç«¯ç¹ ID ããã§ãã¯ããã*/1574 /* TCP 通信端点 ID をチェックする。*/ 1620 1575 if (!VALID_TCP_CEPID(cepid)) 1621 1576 return E_ID; 1622 1577 1623 /* TCP é信端ç¹ãå¾ãã*/1578 /* TCP 通信端点を得る。*/ 1624 1579 cep = GET_TCP_CEP(cepid); 1625 1580 1626 /* TCP é信端ç¹ãããã¯ããã*/1581 /* TCP 通信端点をロックする。*/ 1627 1582 syscall(wai_sem(cep->semid_lock)); 1628 1583 1629 /* TCP é信端ç¹ããã§ãã¯ããã*/1584 /* TCP 通信端点をチェックする。*/ 1630 1585 if (!VALID_TCP_CEP(cep)) { 1631 1586 syscall(sig_sem(cep->semid_lock)); … … 1634 1589 1635 1590 /* 1636 * API æ©è½ã³ã¼ãã¨ã¿ã¹ã¯èå¥åãè¨é²ããã1637 * ãã§ã«è¨é²ããã¦ããã°ããã³ãã£ã³ã°ä¸ãªã®ã§ã¨ã©ã¼1591 * API 機能コードとタスク識別子を記録する。 1592 * すでに記録されていれば、ペンディング中なのでエラー 1638 1593 */ 1639 1594 if (IS_TFN_TCP_RCV(tfn)) { … … 1657 1612 } 1658 1613 1659 /* é信端ç¹ã®ããã¯ã解é¤ããã*/1614 /* 通信端点のロックを解除する。*/ 1660 1615 syscall(sig_sem(cep->semid_lock)); 1661 1616 … … 1667 1622 1668 1623 /* 1669 * ãã¬ã¼ã¹åºåã«ç¨ããã·ãªã¢ã«ãã¼ãçªå·1624 * トレース出力に用いるシリアルポート番号 1670 1625 */ 1671 1626 … … 1675 1630 1676 1631 /* 1677 * ã³ãã¯ã·ã§ã³ã®ç¶æ 1678 1632 * コネクションの状態 1679 1633 */ 1680 1634 … … 1694 1648 1695 1649 /* 1696 * trace_putchar -- ã·ãªã¢ã«ãã¼ãã¸ã®æååºå1650 * trace_putchar -- シリアルポートへの文字出力 1697 1651 */ 1698 1652 … … 1705 1659 1706 1660 /* 1707 * ã·ãªã¢ã«ãã¼ãã¸ã®æ¸å¼ä»æåååºåã©ã¤ãã©ãª1708 */ 1709 1710 /* 1711 * æ°å¤å¤æã®ããã®å¤æ表1661 * シリアルポートへの書式付文字列出力ライブラリ 1662 */ 1663 1664 /* 1665 * 数値変換のための変換表 1712 1666 */ 1713 1667 … … 1716 1670 1717 1671 /* 1718 * convert -- trace_printf ã®æ°å¤å¤æ1672 * convert -- trace_printf の数値変換 1719 1673 */ 1720 1674 … … 1753 1707 1754 1708 /* 1755 * trace_printf -- ã·ãªã¢ã«ãã¼ãã¸ã®æ¸å¼ä»æåååºå1709 * trace_printf -- シリアルポートへの書式付文字列出力 1756 1710 */ 1757 1711 … … 1766 1720 va_start(ap, fmt); 1767 1721 while ((ch = *fmt ++) != '\0') { 1768 if (ch != '%') { /* æ¸å¼æå®ä»¥å¤*/1722 if (ch != '%') { /* 書式指定以外 */ 1769 1723 trace_putchar(portid, (char)ch); 1770 1724 continue; … … 1773 1727 width = longflag = 0; 1774 1728 padchar = ' '; 1775 if ((ch = *fmt ++) == '0') { /* ä¸ä½æ¡ã®0 */1729 if ((ch = *fmt ++) == '0') { /* 上位桁の 0 */ 1776 1730 padchar = '0'; 1777 1731 ch = *fmt ++; 1778 1732 } 1779 1733 1780 while ('0' <= ch && ch <= '9') { /* åºåå¹ 1781 */ 1734 while ('0' <= ch && ch <= '9') { /* 出力幅 */ 1782 1735 width = width * 10 + ch - '0'; 1783 1736 ch = *fmt ++; 1784 1737 } 1785 1738 1786 while (ch == 'l') { /* long (long) ã®æå®*/1739 while (ch == 'l') { /* long (long) の指定 */ 1787 1740 longflag ++; 1788 1741 ch = *fmt ++; … … 1845 1798 1846 1799 /* 1847 * TCP ãã©ã°æåå1800 * TCP フラグ文字列 1848 1801 */ 1849 1802 … … 1864 1817 1865 1818 /* 1866 * éä¿¡ TCP ãããã®ãã¬ã¼ã¹åºå1819 * 送信 TCP ヘッダのトレース出力 1867 1820 */ 1868 1821 … … 1925 1878 1926 1879 /* 1927 * åä¿¡ TCP ãããã®ãã¬ã¼ã¹åºå1880 * 受信 TCP ヘッダのトレース出力 1928 1881 * 1929 * 注æ: TCP ãããå 1930 ã¯ããã§ã«ãã¹ããã¤ããªã¼ã 1882 * 注意: TCP ヘッダ内は、すでにホストバイトオーダ 1931 1883 */ 1932 1884 -
asp3_gr_sakura/trunk/tinet/netinet/tcp_subr_cs.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 134 122 135 123 /* 136 * TCP é信端ç¹ã®éä¿¡ã¦ã£ã³ããããã¡ã®çã³ãã¼æ©è½ãæå¹ãªå ´å137 * ãã ããé信端ç¹ã®éä¿¡ã¦ã£ã³ããããã¡ï¼cep->sbufï¼ã®å¤ã«ããã138 * TCP é信端ç¹æ¯ã«éä¿¡ã¦ã£ã³ããããã¡ã®çã³ãã¼æ©è½ã使ç¨ãããã139 * 使ç¨ããªãããåãæ¿ããã140 */ 141 142 /* 143 * tcp_drop_swbuf -- éä¿¡ã¦ã£ã³ããããã¡ããæå®ããããªã¯ãããååé¤ããï¼é¸æï¼ã124 * TCP 通信端点の送信ウィンドバッファの省コピー機能が有効な場合 125 * ただし、通信端点の送信ウィンドバッファ(cep->sbuf)の値により、 126 * TCP 通信端点毎に送信ウィンドバッファの省コピー機能を使用するか、 127 * 使用しないかを切り替える。 128 */ 129 130 /* 131 * tcp_drop_swbuf -- 送信ウィンドバッファから指定されたオクテット分削除する(選択)。 144 132 */ 145 133 … … 154 142 155 143 /* 156 * tcp_write_swbuf -- éä¿¡ã¦ã£ã³ããããã¡ã«ãã¼ã¿ãæ¸ãè¾¼ãï¼é¸æï¼ã144 * tcp_write_swbuf -- 送信ウィンドバッファにデータを書き込む(選択)。 157 145 */ 158 146 … … 167 155 168 156 /* 169 * tcp_read_swbuf -- éä¿¡ã¦ã£ã³ããããã¡ãããã¼ã¿ãèªã¿åºãï¼é¸æï¼ã157 * tcp_read_swbuf -- 送信ウィンドバッファからデータを読み出す(選択)。 170 158 */ 171 159 … … 178 166 179 167 /* 180 * tcp_wait_swbuf -- éä¿¡ã¦ã£ã³ããããã¡ã¨ç¸æã®åä¿¡ã¦ã£ã³ããéãã®ãå¾ 181 ã¤ï¼é¸æï¼ã 168 * tcp_wait_swbuf -- 送信ウィンドバッファと相手の受信ウィンドが開くのを待つ(選択)。 182 169 */ 183 170 … … 192 179 193 180 /* 194 * tcp_get_swbuf_addr -- éä¿¡ã¦ã£ã³ããããã¡ã®ç©ºãã¢ãã¬ã¹ãç²å¾ããï¼é¸æï¼ã181 * tcp_get_swbuf_addr -- 送信ウィンドバッファの空きアドレスを獲得する(選択)。 195 182 */ 196 183 … … 205 192 206 193 /* 207 * tcp_send_swbuf -- éä¿¡ã¦ã£ã³ããããã¡ã®ãã¼ã¿ãéä¿¡å¯è½ã«ããï¼é¸æï¼ã194 * tcp_send_swbuf -- 送信ウィンドバッファのデータを送信可能にする(選択)。 208 195 */ 209 196 … … 218 205 219 206 /* 220 * tcp_free_swbufq -- éä¿¡ã¦ã£ã³ããããã¡ãã¥ã¼ã®è§£æ¾ãæ示ããï¼é¸æï¼ã207 * tcp_free_swbufq -- 送信ウィンドバッファキューの解放を指示する(選択)。 221 208 */ 222 209 … … 229 216 230 217 /* 231 * tcp_alloc_swbuf -- éä¿¡ã¦ã£ã³ããããã¡ç¨ã®ãããã¯ã¼ã¯ãããã¡ã®å²ãå½ã¦ãæ示ããï¼é¸æï¼ã218 * tcp_alloc_swbuf -- 送信ウィンドバッファ用のネットワークバッファの割り当てを指示する(選択)。 232 219 */ 233 220 … … 240 227 241 228 /* 242 * tcp_is_swbuf_full -- éä¿¡ã¦ã£ã³ããããã¡ãæºæ¯ããã§ãã¯ããï¼é¸æï¼ã229 * tcp_is_swbuf_full -- 送信ウィンドバッファが満杯かチェックする(選択)。 243 230 */ 244 231 … … 255 242 256 243 /* 257 * tcp_drop_swbuf_cs -- éä¿¡ã¦ã£ã³ããããã¡ããæå®ããããªã¯ãããååé¤ããï¼å°ç¨ï¼ã244 * tcp_drop_swbuf_cs -- 送信ウィンドバッファから指定されたオクテット分削除する(専用)。 258 245 */ 259 246 … … 262 249 { 263 250 264 /* éä¿¡ã¦ã£ã³ããããã¡ããæå®ããããªã¯ãããååé¤ããã*/251 /*送信ウィンドバッファから指定されたオクテット分削除する。*/ 265 252 cep->swbuf_count -= (uint16_t)len; 266 253 267 /* éä¿¡æ¸ã¿ã§ãACKå¾ 268 ã¡ã®æã¯ãACKå®äºã«å¤æ´ããã*/ 254 /* 送信済みで、ACK待ちの時は、ACK完了に変更する。*/ 269 255 if (len > 0 && (cep->flags & TCP_CEP_FLG_WBCS_MASK) == TCP_CEP_FLG_WBCS_SENT) { 270 256 cep->flags = (cep->flags & ~TCP_CEP_FLG_WBCS_MASK) | TCP_CEP_FLG_WBCS_ACKED; … … 274 260 275 261 /* 276 * tcp_write_swbuf_cs -- éä¿¡ã¦ã£ã³ããããã¡ã«ãã¼ã¿ãæ¸ãè¾¼ãï¼å°ç¨ï¼ã262 * tcp_write_swbuf_cs -- 送信ウィンドバッファにデータを書き込む(専用)。 277 263 */ 278 264 … … 283 269 uint_t hdr_size = IF_IP_TCP_NET_HDR_SIZE(&cep->dstaddr.ipaddr); 284 270 285 /* é信端ç¹ãããã¯ããã*/271 /* 通信端点をロックする。*/ 286 272 syscall(wai_sem(cep->semid_lock)); 287 273 … … 295 281 * <---------------- error ---------------> 296 282 * ^ 297 * net_buf 㧠4 ãªã¯ãããå¢çã«ã¢ã©ã¤ã³ããã¦ããã283 * net_buf で 4 オクテット境界にアラインされている。 298 284 * 299 * tcp_output 㨠ip_output ã§ããã§ãã¯ãµã ãè¨ç®ããã¨ãã 300 * n ã 4 ãªã¯ãããå¢çã«ãªãããã« SDU ã®å¾ãã« 0 ã 301 * ãããã£ã³ã°ããããã®åãèæ 302 ®ãã¦éä¿¡ã¦ã£ã³ããããã¡ã® 303 * 空ããµã¤ãºã 4 ãªã¯ãããå¢çã«èª¿æ´ããã 285 * tcp_output と ip_output で、チェックサムを計算するとき、 286 * n が 4 オクテット境界になるように SDU の後ろに 0 を 287 * パッディングする。その分を考慮して送信ウィンドバッファの 288 * 空きサイズを 4 オクテット境界に調整する。 304 289 */ 305 290 error = (uint_t)(((error - hdr_size) >> 2 << 2) + hdr_size); … … 310 295 len = (uint_t)(error - hdr_size); 311 296 312 /* éä¿¡ã¦ã¤ã³ããµã¤ãºã«ãããµã¤ãºã調æ´ããã*/297 /* 送信ウインドサイズによりサイズを調整する。*/ 313 298 if (len > cep->snd_wnd) 314 299 len = cep->snd_wnd; … … 316 301 len = cep->snd_cwnd; 317 302 318 /* ç¸æã®æ大åä¿¡ã»ã°ã¡ã³ããµã¤ãº (maxseg) ãè¶ 319 ããªãããã«ããã*/ 303 /* 相手の最大受信セグメントサイズ (maxseg) を超えないようにする。*/ 320 304 if (len > cep->maxseg) 321 305 len = cep->maxseg; 322 306 323 /* ãã¼ã¿ã移ãã*/307 /* データを移す。*/ 324 308 memcpy(cep->sbuf_wptr, (void*)((uint8_t*)data), (size_t)len); 325 309 cep->sbuf_wptr += len; … … 327 311 error = len; 328 312 329 /* ãããã¯ã¼ã¯ãããã¡é·ã¨ IP ãã¼ã¿ã°ã©ã é·ãè¨å®ããã*/313 /* ネットワークバッファ長と IP データグラム長を設定する。*/ 330 314 cep->swbufq->len = (uint16_t)(cep->swbuf_count + hdr_size); 331 315 SET_IP_SDU_SIZE(cep->swbufq, cep->swbuf_count + TCP_HDR_SIZE); 332 316 333 /* ãã©ã°ããéä¿¡å¯è½ã«è¨å®ããã*/317 /* フラグを、送信可能に設定する。*/ 334 318 cep->flags = (cep->flags & ~TCP_CEP_FLG_WBCS_MASK) | TCP_CEP_FLG_WBCS_SEND_READY; 335 319 } 336 320 337 else { /* éä¿¡ã¦ã¤ã³ããããã¡ãä¸æ£*/321 else { /* 送信ウインドバッファが不正 */ 338 322 syslog(LOG_WARNING, "[TCP] illegal window buff for send, CEP: %d, %4d < %4d.", 339 323 GET_TCP_CEPID(cep), error, hdr_size); 340 324 341 /* éä¿¡ã¦ã£ã³ããããã¡ãã¥ã¼ã®ãããã¯ã¼ã¯ãããã¡ã解æ¾ããã*/325 /* 送信ウィンドバッファキューのネットワークバッファを解放する。*/ 342 326 tcp_free_swbufq_cs(cep); 343 327 } 344 328 345 /* é信端ç¹ã®ããã¯ã解é¤ããã*/329 /* 通信端点のロックを解除する。*/ 346 330 syscall(sig_sem(cep->semid_lock)); 347 331 … … 350 334 351 335 /* 352 * tcp_wait_swbuf_cs -- éä¿¡ã¦ã£ã³ããããã¡ã¨ç¸æã®åä¿¡ã¦ã£ã³ããéãã®ãå¾ 353 ã¤ï¼å°ç¨ï¼ã 336 * tcp_wait_swbuf_cs -- 送信ウィンドバッファと相手の受信ウィンドが開くのを待つ(専用)。 354 337 */ 355 338 … … 362 345 int_t win; 363 346 364 /* éä¿¡ã¦ã£ã³ããããã¡ãå²å½ã¦æ¸ã¿ã§ã空ããããã°çµäºããã*/347 /* 送信ウィンドバッファが割当て済みで、空きがあれば終了する。*/ 365 348 if ((cep->flags & TCP_CEP_FLG_WBCS_MASK) == TCP_CEP_FLG_WBCS_NBUF_READY && 366 349 (cep->swbuf_count + IF_IP_TCP_NET_HDR_SIZE(&cep->dstaddr.ipaddr)) < net_buf_siz(cep->swbufq)) 367 350 return E_OK; 368 351 369 /* éä¿¡ä¸ã§ããã°ãçµäºããã¾ã§å¾ 370 æ©ããã*/ 352 /* 送信中であれば、終了するまで待機する。*/ 371 353 while ((cep->flags & TCP_CEP_FLG_WBCS_MASK) != TCP_CEP_FLG_WBCS_FREE) { 372 354 373 /* éä¿¡å¾ 374 ã¡ã®æéã tmout ããæ¸ããã*/ 355 /* 送信待ちの時間を tmout から減ずる。*/ 375 356 if (!(tmout == TMO_POL || tmout == TMO_FEVR)) 376 357 syscall(get_tim(&before)); … … 381 362 syscall(clr_flg(cep->snd_flgid, (FLGPTN)(~TCP_CEP_EVT_SWBUF_READY))); 382 363 383 /* éä¿¡å¾ 384 ã¡ã®æéã tmout ããæ¸ããã*/ 364 /* 送信待ちの時間を tmout から減ずる。*/ 385 365 if (!(tmout == TMO_POL || tmout == TMO_FEVR)) { 386 366 syscall(get_tim(&after)); … … 391 371 392 372 /* 393 * éä¿¡ã§ããããCEP ã® FSM ç¶æ 394 ãè¦ãã 395 * éä¿¡ã¦ã¤ã³ããããã¡ã空ãã¾ã§å¾ 396 ã¤éã«ãéä¿¡ä¸è½ã«ãªã£ãå ´åã¯ã 397 * ã³ãã¯ã·ã§ã³ãåæããããã¨ãæå³ãã¦ããã 373 * 送信できるか、CEP の FSM 状態を見る。 374 * 送信ウインドバッファが空くまで待つ間に、送信不能になった場合は、 375 * コネクションが切断されたことを意味している。 398 376 */ 399 377 if (!TCP_FSM_CAN_SEND_MORE(cep->fsm_state)) … … 401 379 } 402 380 403 /* ç¸æã®åä¿¡ã¦ã£ã³ããéãã¦ããå ´åã¯ãéãã¾ã§å¾ 404 æ©ããã*/ 381 /* 相手の受信ウィンドが閉じている場合は、開くまで待機する。*/ 405 382 while (true) { 406 383 407 384 /* 408 * snd_wnd: ç¸æã®åä¿¡å¯è½ã¦ã£ã³ããµã¤ãº409 * snd_cwnd: 輻輳ã¦ã£ã³ããµã¤ãº385 * snd_wnd: 相手の受信可能ウィンドサイズ 386 * snd_cwnd: 輻輳ウィンドサイズ 410 387 * 411 * win: ã©ã¡ããå°ããã¦ã£ã³ããµã¤ãºã«è¨å®ããã388 * win: どちらか小さいウィンドサイズに設定する。 412 389 */ 413 390 win = cep->snd_wnd < cep->snd_cwnd ? cep->snd_wnd : cep->snd_cwnd; … … 415 392 break; 416 393 417 /* éãå¾ 418 ã¡ã®æéã tmout ããæ¸ããã*/ 394 /* 開き待ちの時間を tmout から減ずる。*/ 419 395 if (!(tmout == TMO_POL || tmout == TMO_FEVR)) 420 396 syscall(get_tim(&before)); … … 425 401 syscall(clr_flg(cep->snd_flgid, (FLGPTN)(~TCP_CEP_EVT_SWBUF_READY))); 426 402 427 /* éãå¾ 428 ã¡ã®æéã tmout ããæ¸ããã*/ 403 /* 開き待ちの時間を tmout から減ずる。*/ 429 404 if (!(tmout == TMO_POL || tmout == TMO_FEVR)) { 430 405 syscall(get_tim(&after)); … … 435 410 436 411 /* 437 * éä¿¡ã§ããããCEP ã® FSM ç¶æ 438 ãè¦ãã 439 * éä¿¡ã¦ã¤ã³ããããã¡ã空ãã¾ã§å¾ 440 ã¤éã«ãéä¿¡ä¸è½ã«ãªã£ãå ´åã¯ã 441 * ã³ãã¯ã·ã§ã³ãåæããããã¨ãæå³ãã¦ããã 412 * 送信できるか、CEP の FSM 状態を見る。 413 * 送信ウインドバッファが空くまで待つ間に、送信不能になった場合は、 414 * コネクションが切断されたことを意味している。 442 415 */ 443 416 if (!TCP_FSM_CAN_SEND_MORE(cep->fsm_state)) … … 445 418 } 446 419 447 /* ãããã¯ã¼ã¯ãããã¡ãç²å¾ããã*/420 /* ネットワークバッファを獲得する。*/ 448 421 if ((error = tcpn_get_segment(&cep->swbufq, cep, 0, 449 422 TCP_CFG_SWBUF_CSAVE_MIN_SIZE, … … 452 425 return error; 453 426 454 /* éä¿¡ã¦ã£ã³ããããã¡ãåæåããã*/427 /* 送信ウィンドバッファを初期化する。*/ 455 428 tcp_init_swbuf(cep); 456 429 … … 459 432 460 433 /* 461 * tcp_get_swbuf_addr_cs -- éä¿¡ã¦ã£ã³ããããã¡ã®ç©ºãã¢ãã¬ã¹ãç²å¾ããï¼å°ç¨ï¼ã434 * tcp_get_swbuf_addr_cs -- 送信ウィンドバッファの空きアドレスを獲得する(専用)。 462 435 */ 463 436 … … 467 440 ER_UINT error; 468 441 469 /* é信端ç¹ãããã¯ããã*/442 /* 通信端点をロックする。*/ 470 443 syscall(wai_sem(cep->semid_lock)); 471 444 … … 479 452 * <---------------- error ---------------> 480 453 * ^ 481 * net_buf 㧠4 ãªã¯ãããå¢çã«ã¢ã©ã¤ã³ããã¦ããã454 * net_buf で 4 オクテット境界にアラインされている。 482 455 * 483 * tcp_output 㨠ip_output ã§ããã§ãã¯ãµã ãè¨ç®ããã¨ãã 484 * n ã 4 ãªã¯ãããå¢çã«ãªãããã« SDU ã®å¾ãã« 0 ã 485 * ãããã£ã³ã°ããããã®åãèæ 486 ®ãã¦éä¿¡ã¦ã£ã³ããããã¡ã® 487 * 空ããµã¤ãºã 4 ãªã¯ãããå¢çã«èª¿æ´ããã 456 * tcp_output と ip_output で、チェックサムを計算するとき、 457 * n が 4 オクテット境界になるように SDU の後ろに 0 を 458 * パッディングする。その分を考慮して送信ウィンドバッファの 459 * 空きサイズを 4 オクテット境界に調整する。 488 460 */ 489 461 error = (uint_t)(((error - IF_IP_TCP_NET_HDR_SIZE(&cep->dstaddr.ipaddr)) >> 2 << 2) - cep->swbuf_count); 490 462 491 /* éä¿¡ã¦ã¤ã³ããµã¤ãºã«ãããµã¤ãºã調æ´ããã*/463 /* 送信ウインドサイズによりサイズを調整する。*/ 492 464 if (error > cep->snd_wnd) 493 465 error = cep->snd_wnd; … … 495 467 error = cep->snd_cwnd; 496 468 497 /* ç¸æã®æ大åä¿¡ã»ã°ã¡ã³ããµã¤ãº (maxseg) ãè¶ 498 ããªãããã«ããã*/ 469 /* 相手の最大受信セグメントサイズ (maxseg) を超えないようにする。*/ 499 470 if (error > cep->maxseg) 500 471 error = cep->maxseg; 501 472 502 /* éä¿¡ã¦ã£ã³ããããã¡ã®ç©ºããã¼ã¿é·ãè¨å®ãããã®å¤ãè¿ãã*/473 /* 送信ウィンドバッファの空きデータ長を設定し、その値を返す。*/ 503 474 cep->get_buf_len = error; 504 475 505 /* éä¿¡ã¦ã£ã³ããããã¡ã®ç©ºãã¢ãã¬ã¹ã®å 506 é ãè¨å®ããã*/ 476 /* 送信ウィンドバッファの空きアドレスの先頭を設定する。*/ 507 477 *p_buf = cep->sbuf_wptr; 508 478 } 509 479 510 else { /* ãããã¯ã¼ã¯ãããã¡ãä¸æ£*/511 512 /* éä¿¡ã¦ã£ã³ããããã¡ãã¥ã¼ã®ãããã¯ã¼ã¯ãããã¡ã解æ¾ããã*/480 else { /* ネットワークバッファが不正 */ 481 482 /* 送信ウィンドバッファキューのネットワークバッファを解放する。*/ 513 483 tcp_free_swbufq_cs(cep); 514 484 } 515 485 516 /* é信端ç¹ã®ããã¯ã解é¤ããã*/486 /* 通信端点のロックを解除する。*/ 517 487 syscall(sig_sem(cep->semid_lock)); 518 488 … … 521 491 522 492 /* 523 * tcp_send_swbuf_cs -- éä¿¡ã¦ã£ã³ããããã¡ã®ãã¼ã¿ãéä¿¡å¯è½ã«ããï¼å°ç¨ï¼ã493 * tcp_send_swbuf_cs -- 送信ウィンドバッファのデータを送信可能にする(専用)。 524 494 */ 525 495 … … 527 497 tcp_send_swbuf_cs (T_TCP_CEP *cep, uint_t len) 528 498 { 529 /* é信端ç¹ãããã¯ããã*/499 /* 通信端点をロックする。*/ 530 500 syscall(wai_sem(cep->semid_lock)); 531 501 … … 533 503 cep->swbuf_count += len; 534 504 535 /* ãããã¯ã¼ã¯ãããã¡é·ã¨ IP ãã¼ã¿ã°ã©ã é·ãè¨å®ããã*/505 /* ネットワークバッファ長と IP データグラム長を設定する。*/ 536 506 cep->swbufq->len = (uint16_t)(cep->swbuf_count + IF_IP_TCP_NET_HDR_SIZE(&cep->dstaddr.ipaddr)); 537 507 SET_IP_SDU_SIZE(cep->swbufq, len + TCP_HDR_SIZE); 538 508 539 /* tcp_get_buf ã®å²å½ã¦é·ããªã»ããããã*/509 /* tcp_get_buf の割当て長をリセットする。*/ 540 510 cep->get_buf_len = 0; 541 511 542 /* é信端ç¹ã®ããã¯ã解é¤ããã*/512 /* 通信端点のロックを解除する。*/ 543 513 syscall(sig_sem(cep->semid_lock)); 544 514 545 /* ãã©ã°ããéä¿¡å¯è½ã«è¨å®ããå¼·å¶çã«éä¿¡ããã*/515 /* フラグを、送信可能に設定し、強制的に送信する。*/ 546 516 cep->flags = (cep->flags & ~TCP_CEP_FLG_WBCS_MASK) | TCP_CEP_FLG_WBCS_SEND_READY 547 517 | TCP_CEP_FLG_FORCE … … 551 521 552 522 /* 553 * tcp_free_swbufq_cs -- éä¿¡ã¦ã£ã³ããããã¡ãã¥ã¼ã®è§£æ¾ãæ示ããï¼å°ç¨ï¼ã523 * tcp_free_swbufq_cs -- 送信ウィンドバッファキューの解放を指示する(専用)。 554 524 * 555 * 注æ: 556 * å¿ 557 è¦ã§ããã°ããã®é¢æ°ãå¼ã³åºãåã«ãé信端ç¹ãããã¯ãã 558 * æ»ã£ãå¾ã解é¤ããå¿ 559 è¦ãããã 525 * 注意: 526 * 必要であれば、この関数を呼び出す前に、通信端点をロックし、 527 * 戻った後、解除する必要がある。 560 528 */ 561 529 … … 563 531 tcp_free_swbufq_cs (T_TCP_CEP *cep) 564 532 { 565 /* éä¿¡ã¦ã£ã³ããããã¡ã®ç©ºãå¾ 566 ã¡ãåãæ¶ãã*/ 533 /* 送信ウィンドバッファの空き待ちを取り消す。*/ 567 534 cep->flags &= ~TCP_CEP_FLG_WBCS_NBUF_REQ; 568 535 569 536 if ((cep->flags & TCP_CEP_FLG_WBCS_MASK) != TCP_CEP_FLG_WBCS_FREE) { 570 537 /* 571 * éä¿¡ã¦ã£ã³ããããã¡ãåé¤ããããã«ããã©ã°ã ACK å®äºã«è¨å®ãã572 * TCP åºåã¿ã¹ã¯ãèµ·åããã538 * 送信ウィンドバッファを削除するために、フラグを ACK 完了に設定し、 539 * TCP 出力タスクを起動する。 573 540 */ 574 541 cep->flags = (cep->flags & ~TCP_CEP_FLG_WBCS_MASK) | TCP_CEP_FLG_WBCS_ACKED; … … 578 545 579 546 /* 580 * tcp_alloc_swbuf_cs -- éä¿¡ã¦ã£ã³ããããã¡ç¨ã®ãããã¯ã¼ã¯ãããã¡ã®å²ãå½ã¦ãæ示ããï¼å°ç¨ï¼ã547 * tcp_alloc_swbuf_cs -- 送信ウィンドバッファ用のネットワークバッファの割り当てを指示する(専用)。 581 548 */ 582 549 … … 587 554 588 555 /* 589 * éä¿¡ã¦ã£ã³ããããã¡ãæªä½¿ç¨ã®å ´åã®ã¿ã590 * éä¿¡ã¦ã£ã³ããããã¡ç¨ã®ãããã¯ã¼ã¯ãããã¡ã®å²ãå½ã¦ãæ示ããã556 * 送信ウィンドバッファが未使用の場合のみ、 557 * 送信ウィンドバッファ用のネットワークバッファの割り当てを指示する。 591 558 */ 592 559 if ((cep->flags & TCP_CEP_FLG_WBCS_MASK) == TCP_CEP_FLG_WBCS_FREE) … … 595 562 596 563 /* 597 * tcp_is_swbuf_full_cs -- éä¿¡ã¦ã£ã³ããããã¡ãæºæ¯ããã§ãã¯ããï¼å°ç¨ï¼ã564 * tcp_is_swbuf_full_cs -- 送信ウィンドバッファが満杯かチェックする(専用)。 598 565 */ 599 566 … … 606 573 607 574 /* 608 * tcp_init_swbuf -- éä¿¡ã¦ã£ã³ããããã¡ãåæåããï¼å°ç¨ï¼ã575 * tcp_init_swbuf -- 送信ウィンドバッファを初期化する(専用)。 609 576 * 610 * 注æ: tcp_get_segment ã§ãããã¯ã¼ã¯ãããã¡ãç²å¾ãã611 * ç´å¾ã«å¼ã³åºããã¨ã577 * 注意: tcp_get_segment でネットワークバッファを獲得した 578 * 直後に呼び出すこと。 612 579 */ 613 580 … … 615 582 tcp_init_swbuf (T_TCP_CEP *cep) 616 583 { 617 /* éä¿¡ã¦ã¤ã³ããããã¡ã®ä½¿ç¨ä¸ãµã¤ãºããªã»ããããã*/584 /* 送信ウインドバッファの使用中サイズをリセットする。*/ 618 585 cep->swbuf_count = 0; 619 586 620 /* éä¿¡ã¦ã¤ã³ããããã¡ã®ã¢ãã¬ã¹ãè¨å®ããã*/587 /* 送信ウインドバッファのアドレスを設定する。*/ 621 588 cep->sbuf_wptr = cep->sbuf_rptr = GET_TCP_SDU(cep->swbufq, IF_IP_TCP_NET_HDR_OFFSET(&cep->dstaddr.ipaddr)); 622 589 623 /* ãã©ã°ãããããã¯ã¼ã¯ãããã¡å²å½ã¦æ¸ã¿ã«è¨å®ããã*/590 /* フラグを、ネットワークバッファ割当て済みに設定する。*/ 624 591 cep->flags = (cep->flags & ~(TCP_CEP_FLG_WBCS_NBUF_REQ | TCP_CEP_FLG_WBCS_MASK)) 625 592 | TCP_CEP_FLG_WBCS_NBUF_READY; … … 627 594 628 595 /* 629 * tcp_push_res_nbuf -- ãããã¯ã¼ã¯ãããã¡ãäºç´ããï¼å°ç¨ï¼ã596 * tcp_push_res_nbuf -- ネットワークバッファを予約する(専用)。 630 597 */ 631 598 … … 645 612 if ((cep->flags & TCP_CEP_FLG_WBCS_MASK) == TCP_CEP_FLG_WBCS_NBUF_PEND) { 646 613 647 /* ãããã¯ã¼ã¯ãããã¡ãäºç´ããã*/614 /* ネットワークバッファを予約する。*/ 648 615 cep->swbufq = nbuf; 649 616 nbuf = NULL; 650 617 651 /* ãã©ã°ãäºç´ã«è¨å®ããã*/618 /* フラグを予約に設定する。*/ 652 619 cep->flags = (cep->flags & ~TCP_CEP_FLG_WBCS_MASK) | TCP_CEP_FLG_WBCS_NBUF_RSVD; 653 620 sel_ix = ix; … … 664 631 665 632 /* 666 * tcp_pull_res_nbuf -- äºç´ãã¦ãããããã¯ã¼ã¯ãããã¡è¿ãï¼å°ç¨ï¼ã633 * tcp_pull_res_nbuf -- 予約してあるネットワークバッファ返す(専用)。 667 634 */ 668 635 … … 676 643 if ((cep->flags & TCP_CEP_FLG_WBCS_MASK) == TCP_CEP_FLG_WBCS_NBUF_RSVD) { 677 644 678 /* äºç´ãã¦ãããããã¯ã¼ã¯ãããã¡ãè¿ãã*/645 /* 予約してあるネットワークバッファを返す。*/ 679 646 nbuf = cep->swbufq; 680 647 cep->swbufq = NULL; 681 648 682 /* TCP åºåã¿ã¹ã¯ãèµ·åããã*/649 /* TCP 出力タスクを起動する。*/ 683 650 sig_sem(SEM_TCP_POST_OUTPUT); 684 651 } … … 698 665 699 666 /* 700 * TCP é信端ç¹ã®åä¿¡ã¦ã£ã³ããããã¡ã®çã³ãã¼æ©è½ãæå¹ãªå ´å701 * ãã ããé信端ç¹ã®åä¿¡ã¦ã£ã³ããããã¡ï¼cep->rbufï¼ã®å¤ã«ããã702 * TCP é信端ç¹æ¯ã«åä¿¡ã¦ã£ã³ããããã¡ã®çã³ãã¼æ©è½ã使ç¨ãããã703 * 使ç¨ããªãããåãæ¿ããã704 */ 705 706 /* 707 * tcp_drop_rwbuf -- åä¿¡ã¦ã£ã³ããããã¡ãã¥ã¼ã®æåã®ãããã¯ã¼ã¯ãããã¡ã解æ¾ããã667 * TCP 通信端点の受信ウィンドバッファの省コピー機能が有効な場合 668 * ただし、通信端点の受信ウィンドバッファ(cep->rbuf)の値により、 669 * TCP 通信端点毎に受信ウィンドバッファの省コピー機能を使用するか、 670 * 使用しないかを切り替える。 671 */ 672 673 /* 674 * tcp_drop_rwbuf -- 受信ウィンドバッファキューの最初のネットワークバッファを解放する。 708 675 */ 709 676 … … 718 685 719 686 /* 720 * tcp_read_rwbuf -- åä¿¡ã¦ã£ã³ããããã¡ããæå®ããããªã¯ãããåèªã¿åºãã687 * tcp_read_rwbuf -- 受信ウィンドバッファから指定されたオクテット分読み出す。 721 688 */ 722 689 … … 731 698 732 699 /* 733 * tcp_get_rwbuf_addr -- åä¿¡ã¦ã£ã³ããããã¡ã®ç©ºãã¢ãã¬ã¹ãç²å¾ããã700 * tcp_get_rwbuf_addr -- 受信ウィンドバッファの空きアドレスを獲得する。 734 701 */ 735 702 … … 744 711 745 712 /* 746 * tcp_free_rwbufq -- åä¿¡ã¦ã£ã³ããããã¡ãã¥ã¼ã解æ¾ããã713 * tcp_free_rwbufq -- 受信ウィンドバッファキューを解放する。 747 714 */ 748 715 … … 755 722 756 723 /* 757 * tcp_write_rwbuf -- åä¿¡ã¦ã£ã³ããããã¡ã«ãã¼ã¿ãæ¸ãè¾¼ãã724 * tcp_write_rwbuf -- 受信ウィンドバッファにデータを書き込む。 758 725 */ 759 726 … … 770 737 771 738 /* 772 * TCP é信端ç¹ã®åä¿¡ã¦ã£ã³ããããã¡ã®çã³ãã¼æ©è½ãæå¹773 */ 774 775 /* 776 * tcp_drop_rwbuf -- åä¿¡ã¦ã£ã³ããããã¡ãã¥ã¼ã®æåã®ãããã¯ã¼ã¯ãããã¡ã解æ¾ããã739 * TCP 通信端点の受信ウィンドバッファの省コピー機能が有効 740 */ 741 742 /* 743 * tcp_drop_rwbuf -- 受信ウィンドバッファキューの最初のネットワークバッファを解放する。 777 744 */ 778 745 … … 787 754 cep->rwbuf_count -= len; 788 755 789 /* ãããã¯ã¼ã¯ãããã¡ã«ãã¼ã¿ãç¡ããªã£ãã解æ¾ããã*/756 /* ネットワークバッファにデータが無くなったら解放する。*/ 790 757 if (len == qhdr->slen) { 791 758 T_NET_BUF *next; … … 809 776 810 777 /* 811 * tcp_read_rwbuf -- åä¿¡ã¦ã£ã³ããããã¡ããæå®ããããªã¯ãããåèªã¿åºãã778 * tcp_read_rwbuf -- 受信ウィンドバッファから指定されたオクテット分読み出す。 812 779 */ 813 780 … … 819 786 uint8_t *buf = (uint8_t*)data; 820 787 821 /* é信端ç¹ãããã¯ããã*/788 /* 通信端点をロックする。*/ 822 789 syscall(wai_sem(cep->semid_lock)); 823 790 824 791 /* 825 * åä¿¡ã¦ã£ã³ããããã¡ãã¥ã¼ã«ãããã¯ã¼ã¯ãããã¡ãç¡ããªãã826 * len ã 0 ã«ãªãã¾ã§ç¶ããã792 * 受信ウィンドバッファキューにネットワークバッファが無くなるか 793 * len が 0 になるまで続ける。 827 794 */ 828 795 while (cep->rwbufq != NULL && len > 0) { … … 830 797 831 798 /* 832 * len ã¨åä¿¡ã¦ã£ã³ããããã¡ãã¥ã¼ã®å 833 é ãããã¯ã¼ã¯ãããã¡ã® 834 * ãã¼ã¿æ°ã®å°ããæ¹ã移ããã¼ã¿æ°ã«ããã 799 * len と受信ウィンドバッファキューの先頭ネットワークバッファの 800 * データ数の小さい方を移すデータ数にする。 835 801 */ 836 802 if (len > qhdr->slen) … … 844 810 845 811 /* 846 * åä¿¡ã¦ã£ã³ããããã¡ãã¥ã¼ã®ãããã¯ã¼ã¯ãããã¡ã«847 * ãã¼ã¿ãç¡ããªã£ãã解æ¾ããã812 * 受信ウィンドバッファキューのネットワークバッファに 813 * データが無くなったら解放する。 848 814 */ 849 815 tcp_drop_rwbuf_cs(cep, blen); … … 854 820 } 855 821 856 /* é信端ç¹ã®ããã¯ã解é¤ããã*/822 /* 通信端点のロックを解除する。*/ 857 823 syscall(sig_sem(cep->semid_lock)); 858 824 … … 861 827 862 828 /* 863 * tcp_get_rwbuf_addr -- åä¿¡ã¦ã£ã³ããããã¡ã®ç©ºãã¢ãã¬ã¹ãç²å¾ããã829 * tcp_get_rwbuf_addr -- 受信ウィンドバッファの空きアドレスを獲得する。 864 830 */ 865 831 … … 870 836 uint_t len; 871 837 872 /* é信端ç¹ãããã¯ããã*/838 /* 通信端点をロックする。*/ 873 839 syscall(wai_sem(cep->semid_lock)); 874 840 875 841 if (cep->rwbufq == NULL) { 876 842 877 /* åä¿¡ã¦ã£ã³ããããã¡ãå 878 ¨ã¦éæ¾ããã¦ããã¨ãã*/ 843 /* 受信ウィンドバッファが全て開放されているとき。*/ 879 844 *p_buf = NULL; 880 845 len = 0; … … 882 847 else { 883 848 884 /* åä¿¡ã¦ã£ã³ããããã¡ã®ãã¼ã¿ã®ã¢ãã¬ã¹ã®å 885 é ãè¨å®ããã*/ 849 /* 受信ウィンドバッファのデータのアドレスの先頭を設定する。*/ 886 850 qhdr = GET_TCP_Q_HDR(cep->rwbufq, GET_IP_TCP_Q_HDR_OFFSET(cep->rwbufq)); 887 851 *p_buf = GET_TCP_SDU(cep->rwbufq, GET_IP_TCP_Q_HDR_OFFSET(cep->rwbufq)) + qhdr->soff; 888 852 889 /* åä¿¡ã¦ã£ã³ããããã¡ã®ãã¼ã¿é·ãè¨ç®ããã*/853 /* 受信ウィンドバッファのデータ長を計算する。*/ 890 854 len = qhdr->slen; 891 855 } 892 856 893 /* é信端ç¹ã®ããã¯ã解é¤ããã*/857 /* 通信端点のロックを解除する。*/ 894 858 syscall(sig_sem(cep->semid_lock)); 895 859 896 /* åä¿¡ã¦ã£ã³ããããã¡ã®ãã¼ã¿é·ãè¨å®ãããã®å¤ãè¿ãã*/860 /* 受信ウィンドバッファのデータ長を設定し、その値を返す。*/ 897 861 cep->rcv_buf_len = len; 898 862 return len; … … 900 864 901 865 /* 902 * tcp_free_rwbufq -- åä¿¡ã¦ã£ã³ããããã¡ãã¥ã¼ã解æ¾ããã866 * tcp_free_rwbufq -- 受信ウィンドバッファキューを解放する。 903 867 * 904 * 注æ: 905 * å¿ 906 è¦ã§ããã°ããã®é¢æ°ãå¼ã³åºãåã«ãé信端ç¹ãããã¯ãã 907 * æ»ã£ãå¾ã解é¤ããå¿ 908 è¦ãããã 868 * 注意: 869 * 必要であれば、この関数を呼び出す前に、通信端点をロックし、 870 * 戻った後、解除する必要がある。 909 871 */ 910 872 … … 928 890 } 929 891 930 /* åä¿¡ã¦ã£ã³ããããã¡ã®ä½¿ç¨ä¸ãµã¤ãºããªã»ããããã*/892 /* 受信ウィンドバッファの使用中サイズをリセットする。*/ 931 893 cep->rwbuf_count = 0; 932 894 } … … 934 896 935 897 /* 936 * tcp_write_rwbuf -- åä¿¡ã¦ã£ã³ããããã¡ã«ãã¼ã¿ãæ¸ãè¾¼ãã898 * tcp_write_rwbuf -- 受信ウィンドバッファにデータを書き込む。 937 899 * 938 * 注æ: 939 * å 940 ¥å input ã¯ãT_TCP_Q_HDR ã«ãããªã³ã¯ããã 941 * 並ã¹æ¿ããçµäºãã¦ããªããã°ãªããªããã¾ãã 942 * 追å ãããã¼ã¿ã¯ãåä¿¡ã¦ã£ã³ããããã¡ã«åã¾ããã¨ã 900 * 注意: 901 * 入力 input は、T_TCP_Q_HDR によりリンクされ、 902 * 並べ替えが終了していなければならない。また、 903 * 追加するデータは、受信ウィンドバッファに収まること。 943 904 */ 944 905 … … 950 911 uint_t inlen, last; 951 912 952 /* é信端ç¹ãããã¯ããã*/913 /* 通信端点をロックする。*/ 953 914 syscall(wai_sem(cep->semid_lock)); 954 915 … … 963 924 964 925 /* 965 * TCP é信端ç¹ã®åä¿¡ã¦ã£ã³ããããã¡ã®çã³ãã¼æ©è½ã®ã 966 * åä¿¡ã¦ã£ã³ããããã¡ãã¥ã¼ã®æ大ã¨ã³ããªæ°ãè¶ 967 ããã¨ãã¯ã 968 * åä¿¡ããã»ã°ã¡ã³ããç ´æ£ããã 969 * ãã ããSDU é·ã 0 ã®ã»ã°ã¡ã³ã㨠FIN ã»ã°ã¡ã³ãã¯ç ´æ£ããªãã 970 * ãªããæ£å¸¸ã«åä¿¡ããã»ã°ã¡ã³ããç ´æ£ãããããåéåæ°ãå¢å ããã 926 * TCP 通信端点の受信ウィンドバッファの省コピー機能の、 927 * 受信ウィンドバッファキューの最大エントリ数を超えるときは、 928 * 受信したセグメントを破棄する。 929 * ただし、SDU 長が 0 のセグメントと FIN セグメントは破棄しない。 930 * なお、正常に受信したセグメントも破棄するため、再送回数が増加する。 971 931 */ 972 932 syscall(rel_net_buf(input)); 973 933 974 /* é信端ç¹ã®ããã¯ã解é¤ããã*/934 /* 通信端点のロックを解除する。*/ 975 935 syscall(sig_sem(cep->semid_lock)); 976 936 return; … … 983 943 qhdr = (T_TCP_Q_HDR*)GET_TCP_HDR(input, thoff); 984 944 985 /* åä¿¡æ¸ã¿ã·ã¼ã±ã³ã¹çªå·ãæ´æ°ããã*/945 /* 受信済みシーケンス番号を更新する。*/ 986 946 cep->rcv_nxt += inlen; 987 947 988 /* ç·æ¥ãã¼ã¿ã® SDU è£æ£ãè¡ãã*/948 /* 緊急データの SDU 補正を行う。*/ 989 949 if (qhdr->urp > 0 && inlen > 0) { 990 950 inlen -= qhdr->urp; … … 995 955 last = cep->rwbuf_count; 996 956 997 /* ãããã¯ã¼ã¯ãããã¡ãåä¿¡ã¦ã£ã³ããããã¡ãã¥ã¼ã®æå¾ã«é£çµããã*/957 /* ネットワークバッファを受信ウィンドバッファキューの最後に連結する。*/ 998 958 qhdr->next = NULL; 999 959 nextp = &cep->rwbufq; … … 1003 963 1004 964 /* 1005 * FIN ãã©ã°ãä»ããã»ã°ã¡ã³ã㯠inlen == 0 ã«ãªããã¨ãããã1006 * ããã¯ãã¢ããªã±ã¼ã·ã§ã³ã«ãç¸æãããã以ä¸ãã¼ã¿ãéããã¦1007 * ããªããã¨ãç¥ãããããã§ããã965 * FIN フラグが付いたセグメントは inlen == 0 になることもある。 966 * これは、アプリケーションに、相手からこれ以上データが送られて 967 * こないことを知らせるためである。 1008 968 */ 1009 969 if (inlen > 0) { … … 1013 973 } 1014 974 1015 /* é信端ç¹ã®ããã¯ã解é¤ããã*/975 /* 通信端点のロックを解除する。*/ 1016 976 syscall(sig_sem(cep->semid_lock)); 1017 977 1018 978 #ifdef TCP_CFG_NON_BLOCKING 1019 979 1020 if (cep->rcv_nblk_tfn == TFN_TCP_RCV_BUF) { /* ãã³ããããã³ã°ã³ã¼ã«*/980 if (cep->rcv_nblk_tfn == TFN_TCP_RCV_BUF) { /* ノンブロッキングコール */ 1021 981 1022 982 int_t len; … … 1026 986 1027 987 /* 1028 * FIN ãã©ã°ãä»ããã»ã°ã¡ã³ã㯠inlen == 0 ã«ãªããã¨ãããã1029 * ããã¯ãã¢ããªã±ã¼ã·ã§ã³ã«ãç¸æãããã以ä¸ãã¼ã¿ãéããã¦1030 * ããªããã¨ãç¥ãããããã§ããã988 * FIN フラグが付いたセグメントは inlen == 0 になることもある。 989 * これは、アプリケーションに、相手からこれ以上データが送られて 990 * こないことを知らせるためである。 1031 991 */ 1032 992 if (len > 0 || inlen == 0) { 1033 993 1034 /* tcp_rcv_buf ã®å²å½ã¦é·ãè¨å®ããã*/994 /* tcp_rcv_buf の割当て長を設定する。*/ 1035 995 cep->rcv_buf_len = len; 1036 996 1037 /* åä¿¡ã¦ã£ã³ããããã¡ã®ã¢ãã¬ã¹ãè¿ãã*/997 /* 受信ウィンドバッファのアドレスを返す。*/ 1038 998 *cep->rcv_p_buf = GET_TCP_SDU(cep->rwbufq, 1039 999 GET_IP_TCP_Q_HDR_OFFSET(cep->rwbufq)) + qhdr->soff; … … 1052 1012 1053 1013 /* 1054 * é信端ç¹ãããã¯ãã¦ã1055 * åä¿¡ã¦ã£ã³ããããã¡ãã¥ã¼ã®ãããã¯ã¼ã¯ãããã¡ã解æ¾ããã1014 * 通信端点をロックして、 1015 * 受信ウィンドバッファキューのネットワークバッファを解放する。 1056 1016 */ 1057 1017 syscall(wai_sem(cep->semid_lock)); … … 1061 1021 } 1062 1022 1063 /* è¨æ¶ããã¦ããã¿ã¹ã¯ ID 㨠API æ©è½ã³ã¼ããã¯ãªã¢ã¼ããã*/1023 /* 記憶されているタスク ID と API 機能コードをクリアーする。*/ 1064 1024 cep->rcv_tskid = TA_NULL; 1065 1025 cep->rcv_tfn = cep->rcv_nblk_tfn = TFN_TCP_UNDEF; 1066 1026 } 1067 1027 1068 else if (cep->rcv_nblk_tfn == TFN_TCP_RCV_DAT) { /* ãã³ããããã³ã°ã³ã¼ã«*/1028 else if (cep->rcv_nblk_tfn == TFN_TCP_RCV_DAT) { /* ノンブロッキングコール */ 1069 1029 int_t len; 1070 1030 1071 /* åä¿¡ã¦ã£ã³ããããã¡ãããã¼ã¿ãåãåºãã*/1031 /* 受信ウィンドバッファからデータを取り出す。*/ 1072 1032 if ((len = tcp_read_rwbuf_cs(cep, cep->rcv_data, (uint_t)cep->rcv_len)) > 0) { 1073 /* ç¸æã«ã¦ã£ã³ãã¦ãµã¤ãºãå¤ãã£ããã¨ãç¥ãããããåºåããã¹ãããã*/1033 /* 相手にウィンドウサイズが変わったことを知らせるため出力をポストする。*/ 1074 1034 cep->flags |= TCP_CEP_FLG_POST_OUTPUT; 1075 1035 sig_sem(SEM_TCP_POST_OUTPUT); … … 1077 1037 1078 1038 /* 1079 * FIN ãã©ã°ãä»ããã»ã°ã¡ã³ã㯠inlen == 0 ã«ãªããã¨ãããã1080 * ããã¯ãã¢ããªã±ã¼ã·ã§ã³ã«ãç¸æãããã以ä¸ãã¼ã¿ãéããã¦1081 * ããªããã¨ãç¥ãããããã§ããã1039 * FIN フラグが付いたセグメントは inlen == 0 になることもある。 1040 * これは、アプリケーションに、相手からこれ以上データが送られて 1041 * こないことを知らせるためである。 1082 1042 */ 1083 1043 if (len > 0 || inlen == 0) { … … 1094 1054 } 1095 1055 1096 /* è¨æ¶ããã¦ããã¿ã¹ã¯ ID 㨠API æ©è½ã³ã¼ããã¯ãªã¢ã¼ããã*/1056 /* 記憶されているタスク ID と API 機能コードをクリアーする。*/ 1097 1057 cep->rcv_tskid = TA_NULL; 1098 1058 cep->rcv_tfn = cep->rcv_nblk_tfn = TFN_TCP_UNDEF; … … 1104 1064 if (inlen == 0 && cep->rwbuf_count == 0) { 1105 1065 /* 1106 * åä¿¡ã¦ã£ã³ããããã¡å 1107 ã®ãã¼ã¿æ°ã 0 ã§ã 1108 * ç¸æãã FIN ãã©ã°ãä»ããã»ã°ã¡ã³ããåä¿¡ããã¨ãã¯ã 1109 * é信端ç¹ãããã¯ãã¦ã 1110 * åä¿¡ã¦ã£ã³ããããã¡ãã¥ã¼ã®ãããã¯ã¼ã¯ãããã¡ã解æ¾ããã 1066 * 受信ウィンドバッファ内のデータ数が 0 で、 1067 * 相手から FIN フラグが付いたセグメントを受信したときは、 1068 * 通信端点をロックして、 1069 * 受信ウィンドバッファキューのネットワークバッファを解放する。 1111 1070 */ 1112 1071 syscall(wai_sem(cep->semid_lock)); … … 1116 1075 1117 1076 /* 1118 * åä¿¡ã¦ã£ã³ããããã¡ã«ãã¼ã¿ãå 1119 ¥ããã inlen == 0 ã®æãå 1120 ¥åã¿ã¹ã¯ãèµ·åºããã 1121 * FIN ãã©ã°ãä»ããã»ã°ã¡ã³ã㯠inlen == 0 ã«ãªããã¨ãããã 1122 * ããã¯ãã¢ããªã±ã¼ã·ã§ã³ã«ãç¸æãããã以ä¸ãã¼ã¿ãéãã㦠1123 * ããªããã¨ãç¥ãããããã§ããã 1077 * 受信ウィンドバッファにデータが入るか、 inlen == 0 の時、入力タスクを起床する。 1078 * FIN フラグが付いたセグメントは inlen == 0 になることもある。 1079 * これは、アプリケーションに、相手からこれ以上データが送られて 1080 * こないことを知らせるためである。 1124 1081 */ 1125 1082 if ((last == 0 && cep->rwbuf_count > 0) || inlen == 0) { -
asp3_gr_sakura/trunk/tinet/netinet/tcp_subr_ncs.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 130 118 131 119 /* 132 * TCP é信端ç¹ã®éä¿¡ã¦ã£ã³ããããã¡ã®çã³ãã¼æ©è½ãç¡å¹133 */ 134 135 /* 136 * tcp_read_swbuf -- éä¿¡ã¦ã£ã³ããããã¡ãããã¼ã¿ãèªã¿åºãã120 * TCP 通信端点の送信ウィンドバッファの省コピー機能が無効 121 */ 122 123 /* 124 * tcp_read_swbuf -- 送信ウィンドバッファからデータを読み出す。 137 125 */ 138 126 … … 144 132 uint_t hdr_offset = IF_IP_TCP_HDR_OFFSET(output); 145 133 146 /* SDU ã®å¤§ããããã§ãã¯ããã*/134 /* SDU の大きさをチェックする。*/ 147 135 if (sdu_size < GET_TCP_HDR_SIZE(output, hdr_offset) + len) { 148 136 syslog(LOG_INFO, "[TCP] shrink SUD len: %d -> %d", … … 153 141 wptr = GET_TCP_SDU(output, hdr_offset); 154 142 155 /* é信端ç¹ãããã¯ããã*/143 /* 通信端点をロックする。*/ 156 144 syscall(wai_sem(cep->semid_lock)); 157 145 … … 159 147 if (rptr - (uint8_t*)cep->sbuf > cep->sbufsz) { 160 148 161 /* 転ééå§ãéä¿¡ã¦ã£ã³ããããã¡ã®çµãããè¶ 162 ããã¨ãã®å¦çã*/ 149 /* 転送開始が送信ウィンドバッファの終わりを超えるときの処理 */ 163 150 rptr = (uint8_t*)cep->sbuf_rptr - (cep->sbufsz - doff); 164 151 } … … 166 153 uint_t sub; 167 154 168 /* 転éç¯å²ãã©ã¦ã³ãããã¨ãã®å¦ç*/155 /* 転送範囲がラウンドするときの処理 */ 169 156 sub = (uint_t)(cep->sbufsz - (rptr - (uint8_t*)cep->sbuf)); 170 157 memcpy((void*)wptr, rptr, (size_t)sub); … … 178 165 NET_COUNT_TCP(net_count_tcp[NC_TCP_SEND_DATA_OCTETS], len); 179 166 180 /* é信端ç¹ã®ããã¯ã解é¤ããã*/167 /* 通信端点のロックを解除する。*/ 181 168 syscall(sig_sem(cep->semid_lock)); 182 169 } 183 170 184 171 /* 185 * tcp_drop_swbuf -- éä¿¡ã¦ã£ã³ããããã¡ããæå®ããããªã¯ãããååé¤ããã172 * tcp_drop_swbuf -- 送信ウィンドバッファから指定されたオクテット分削除する。 186 173 */ 187 174 … … 191 178 uint_t last; 192 179 193 /* é信端ç¹ãããã¯ããã*/180 /* 通信端点をロックする。*/ 194 181 syscall(wai_sem(cep->semid_lock)); 195 182 … … 197 184 198 185 if (cep->sbuf_rptr + len > (uint8_t*)cep->sbuf + cep->sbufsz) 199 /* ã©ã¦ã³ãããã¨ãã®è¨ç®*/186 /* ラウンドするときの計算 */ 200 187 cep->sbuf_rptr -= cep->sbufsz - len; 201 188 else … … 203 190 cep->swbuf_count -= (uint16_t)len; 204 191 205 /* é信端ç¹ã®ããã¯ã解é¤ããã*/192 /* 通信端点のロックを解除する。*/ 206 193 syscall(sig_sem(cep->semid_lock)); 207 194 208 195 #ifdef TCP_CFG_NON_BLOCKING 209 196 210 if (cep->snd_nblk_tfn == TFN_TCP_GET_BUF) { /* ãã³ããããã³ã°ã³ã¼ã«*/211 212 /* é信端ç¹ãããã¯ããã*/197 if (cep->snd_nblk_tfn == TFN_TCP_GET_BUF) { /* ノンブロッキングコール */ 198 199 /* 通信端点をロックする。*/ 213 200 syscall(wai_sem(cep->semid_lock)); 214 201 215 /* éä¿¡ãã¼ã¿é·ãè¨ç®ããã*/202 /* 送信データ長を計算する。*/ 216 203 if (cep->sbufsz - cep->swbuf_count > cep->sbufsz - (cep->sbuf_wptr - (uint8_t*)cep->sbuf)) 217 /* æ¸è¾¼ã¿ãã¤ã³ã¿ãã©ã¦ã³ãããã¨ãã¯ãæ¸è¾¼ã¿ãã¤ã³ã¿ããéä¿¡ã¦ã£ã³ããããã¡ã®çµããã¾ã§*/204 /* 書込みポインタがラウンドするときは、書込みポインタから送信ウィンドバッファの終わりまで */ 218 205 len = (uint_t)(cep->sbufsz - (cep->sbuf_wptr - (uint8_t*)cep->sbuf)); 219 206 else 220 207 len = cep->sbufsz - cep->swbuf_count; 221 208 222 /* é信端ç¹ã®ããã¯ã解é¤ããã*/209 /* 通信端点のロックを解除する。*/ 223 210 syscall(sig_sem(cep->semid_lock)); 224 211 225 212 if (len > 0) { 226 213 227 /* tcp_get_buf ã®å²å½ã¦é·ãè¨å®ããã*/214 /* tcp_get_buf の割当て長を設定する。*/ 228 215 cep->get_buf_len = len; 229 216 230 /* éä¿¡ã¦ã£ã³ããããã¡ã®ã¢ãã¬ã¹ãè¿ãã*/217 /* 送信ウィンドバッファのアドレスを返す。*/ 231 218 *cep->snd_p_buf = cep->sbuf_wptr; 232 219 … … 241 228 syslog(LOG_WARNING, "[TCP] no call back, CEP: %d.", GET_TCP_CEPID(cep)); 242 229 243 /* è¨æ¶ããã¦ããã¿ã¹ã¯ ID 㨠API æ©è½ã³ã¼ããã¯ãªã¢ã¼ããã*/230 /* 記憶されているタスク ID と API 機能コードをクリアーする。*/ 244 231 cep->snd_tskid = TA_NULL; 245 232 cep->snd_tfn = cep->snd_nblk_tfn = TFN_TCP_UNDEF; … … 250 237 251 238 else if (cep->snd_nblk_tfn == TFN_TCP_SND_DAT || 252 cep->snd_nblk_tfn == TFN_TCP_SND_OOB) { /* ãã³ããããã³ã°ã³ã¼ã«*/239 cep->snd_nblk_tfn == TFN_TCP_SND_OOB) { /* ノンブロッキングコール */ 253 240 254 241 #else /* of #ifdef TCP_CFG_EXTENTIONS */ 255 242 256 else if (cep->snd_nblk_tfn == TFN_TCP_SND_DAT) { /* ãã³ããããã³ã°ã³ã¼ã«*/243 else if (cep->snd_nblk_tfn == TFN_TCP_SND_DAT) { /* ノンブロッキングコール */ 257 244 258 245 #endif /* of #ifdef TCP_CFG_EXTENTIONS */ … … 260 247 ER_UINT error; 261 248 262 /* éä¿¡ã¦ã£ã³ããããã¡ã«ãã¼ã¿ãæ¸ãè¾¼ãã*/249 /* 送信ウィンドバッファにデータを書き込む。*/ 263 250 error = TCP_WRITE_SWBUF(cep, cep->snd_data, (uint_t)cep->snd_len); 264 251 265 252 #ifdef TCP_CFG_EXTENTIONS 266 253 267 /* éä¿¡ç·æ¥ãã¤ã³ã¿ãè¨å®ããã*/254 /* 送信緊急ポインタを設定する。*/ 268 255 if (cep->snd_nblk_tfn == TFN_TCP_SND_OOB) 269 256 cep->snd_up = cep->snd_una + error; … … 281 268 syslog(LOG_WARNING, "[TCP] no call back, CEP: %d.", GET_TCP_CEPID(cep)); 282 269 283 /* è¨æ¶ããã¦ããã¿ã¹ã¯ ID 㨠API æ©è½ã³ã¼ããã¯ãªã¢ã¼ããã*/270 /* 記憶されているタスク ID と API 機能コードをクリアーする。*/ 284 271 cep->snd_tskid = TA_NULL; 285 272 cep->snd_tfn = cep->snd_nblk_tfn = TFN_TCP_UNDEF; … … 289 276 #endif /* of #ifdef TCP_CFG_NON_BLOCKING */ 290 277 291 /* éä¿¡ã¦ã£ã³ããããã¡ã«ç©ºããåºæ¥ããåºåã¿ã¹ã¯ãèµ·åºããã*/278 /* 送信ウィンドバッファに空きが出来たら出力タスクを起床する。*/ 292 279 if (last == cep->sbufsz && cep->swbuf_count < cep->sbufsz) 293 280 syscall(set_flg(cep->snd_flgid, TCP_CEP_EVT_SWBUF_READY)); … … 300 287 301 288 if (cep->swbuf_count > 0) { 302 /* éä¿¡ã¦ã£ã³ããããã¡ã«ãã¼ã¿ãããã°åºåããã¹ãããã*/289 /* 送信ウィンドバッファにデータがあれば出力をポストする。*/ 303 290 cep->flags |= TCP_CEP_FLG_POST_OUTPUT; 304 291 sig_sem(SEM_TCP_POST_OUTPUT); … … 307 294 308 295 /* 309 * tcp_write_swbuf -- éä¿¡ã¦ã£ã³ããããã¡ã«ãã¼ã¿ãæ¸ãè¾¼ãã296 * tcp_write_swbuf -- 送信ウィンドバッファにデータを書き込む。 310 297 */ 311 298 … … 315 302 uint_t offset; 316 303 317 /* é信端ç¹ãããã¯ããã*/304 /* 通信端点をロックする。*/ 318 305 syscall(wai_sem(cep->semid_lock)); 319 306 320 /* len ã¨éä¿¡ã¦ã£ã³ããããã¡ã®ç©ºãã®å°ããæ¹ã移ããã¼ã¿æ°ã«ããã*/307 /* len と送信ウィンドバッファの空きの小さい方を移すデータ数にする。*/ 321 308 if (len > (cep->sbufsz - cep->swbuf_count)) 322 309 len = cep->sbufsz - cep->swbuf_count; 323 310 324 /* æ¸ãè¾¼ã¿ãã¤ã³ã¿ãã©ã¦ã³ãããã¨ãã®å¦ç*/311 /* 書き込みポインタがラウンドするときの処理 */ 325 312 if (len > cep->sbufsz - (cep->sbuf_wptr - (uint8_t*)cep->sbuf)) { 326 313 offset = (uint_t)(cep->sbufsz - (cep->sbuf_wptr -(uint8_t*)cep->sbuf)); … … 336 323 cep->swbuf_count += len - offset; 337 324 338 /* é信端ç¹ã®ããã¯ã解é¤ããã*/325 /* 通信端点のロックを解除する。*/ 339 326 syscall(sig_sem(cep->semid_lock)); 340 327 … … 343 330 344 331 /* 345 * tcp_wait_swbuf -- éä¿¡ã¦ã£ã³ããããã¡ã空ãã®ãå¾ 346 ã¤ã 332 * tcp_wait_swbuf -- 送信ウィンドバッファが空くのを待つ。 347 333 */ 348 334 … … 355 341 while (cep->swbuf_count >= cep->sbufsz) { 356 342 /* 357 * éä¿¡ã¦ã£ã³ããããã¡ã®ç©ºãããªããã°ãåºåããã¹ããã¦ã 358 * éä¿¡ã¦ã£ã³ããããã¡ã空ãã¾ã§å¾ 359 ã¤ã 343 * 送信ウィンドバッファの空きがなければ、出力をポストして、 344 * 送信ウィンドバッファが空くまで待つ。 360 345 */ 361 346 cep->flags |= TCP_CEP_FLG_POST_OUTPUT; … … 368 353 369 354 /* 370 * éä¿¡ã§ããããCEP ã® FSM ç¶æ 371 ãè¦ãã 372 * éä¿¡ã¦ã£ã³ããããã¡ã空ãã¾ã§å¾ 373 ã¤éã«ãéä¿¡ä¸è½ã«ãªã£ãå ´åã¯ã 374 * ã³ãã¯ã·ã§ã³ãåæããããã¨ãæå³ãã¦ããã 355 * 送信できるか、CEP の FSM 状態を見る。 356 * 送信ウィンドバッファが空くまで待つ間に、送信不能になった場合は、 357 * コネクションが切断されたことを意味している。 375 358 */ 376 359 if (!TCP_FSM_CAN_SEND_MORE(cep->fsm_state)) { … … 382 365 } 383 366 /* 384 * tcp_get_swbuf_addr -- éä¿¡ã¦ã£ã³ããããã¡ã®ç©ºãã¢ãã¬ã¹ãç²å¾ããã367 * tcp_get_swbuf_addr -- 送信ウィンドバッファの空きアドレスを獲得する。 385 368 */ 386 369 … … 390 373 uint_t len; 391 374 392 /* é信端ç¹ãããã¯ããã*/375 /* 通信端点をロックする。*/ 393 376 syscall(wai_sem(cep->semid_lock)); 394 377 395 /* éä¿¡ã¦ã£ã³ããããã¡ã®ç©ºãã¢ãã¬ã¹ã®å 396 é ãè¨å®ããã*/ 378 /* 送信ウィンドバッファの空きアドレスの先頭を設定する。*/ 397 379 *p_buf = cep->sbuf_wptr; 398 380 399 /* éä¿¡ã¦ã£ã³ããããã¡ã®ç©ºããµã¤ãºãè¨ç®ããã*/381 /* 送信ウィンドバッファの空きサイズを計算する。*/ 400 382 if (cep->sbufsz - cep->swbuf_count > cep->sbufsz - (cep->sbuf_wptr - (uint8_t*)cep->sbuf)) 401 /* æ¸è¾¼ã¿ãã¤ã³ã¿ãã©ã¦ã³ãããã¨ãã¯ãæ¸è¾¼ã¿ãã¤ã³ã¿ããéä¿¡ã¦ã£ã³ããããã¡ã®çµããã¾ã§*/383 /* 書込みポインタがラウンドするときは、書込みポインタから送信ウィンドバッファの終わりまで */ 402 384 len = (uint_t)(cep->sbufsz - (cep->sbuf_wptr - (uint8_t*)cep->sbuf)); 403 385 else 404 386 len = cep->sbufsz - cep->swbuf_count; 405 387 406 /* é信端ç¹ã®ããã¯ã解é¤ããã*/388 /* 通信端点のロックを解除する。*/ 407 389 syscall(sig_sem(cep->semid_lock)); 408 390 409 /* éä¿¡ã¦ã£ã³ããããã¡ã®ç©ºããã¼ã¿é·ãè¨å®ãããã®å¤ãè¿ãã*/391 /* 送信ウィンドバッファの空きデータ長を設定し、その値を返す。*/ 410 392 cep->get_buf_len = len; 411 393 return (ER_UINT)len; … … 413 395 414 396 /* 415 * tcp_send_swbuf -- éä¿¡ã¦ã£ã³ããããã¡ã®ãã¼ã¿ãéä¿¡å¯è½ã«ããã397 * tcp_send_swbuf -- 送信ウィンドバッファのデータを送信可能にする。 416 398 */ 417 399 … … 419 401 tcp_send_swbuf_ncs (T_TCP_CEP *cep, uint_t len) 420 402 { 421 /* é信端ç¹ãããã¯ããã*/403 /* 通信端点をロックする。*/ 422 404 syscall(wai_sem(cep->semid_lock)); 423 405 … … 425 407 cep->swbuf_count += len; 426 408 427 /* æ¸è¾¼ã¿ãã¤ã³ã¿ãã©ã¦ã³ãããã¨ãã®å¦ç*/409 /* 書込みポインタがラウンドするときの処理 */ 428 410 if (cep->sbuf_wptr >= (uint8_t*)cep->sbuf + cep->sbufsz) 429 411 cep->sbuf_wptr = (uint8_t*)cep->sbuf; 430 412 431 /* tcp_get_buf ã®å²å½ã¦é·ããªã»ããããã*/413 /* tcp_get_buf の割当て長をリセットする。*/ 432 414 cep->get_buf_len = 0; 433 415 434 /* é信端ç¹ã®ããã¯ã解é¤ããã*/416 /* 通信端点のロックを解除する。*/ 435 417 syscall(sig_sem(cep->semid_lock)); 436 418 437 /* éä¿¡ã¦ã£ã³ããããã¡ããã«ã®ã¨ãã¯å¼·å¶çã«éä¿¡ããã*/419 /* 送信ウィンドバッファがフルのときは強制的に送信する。*/ 438 420 if (cep->swbuf_count >= cep->sbufsz) 439 421 cep->flags |= TCP_CEP_FLG_FORCE | TCP_CEP_FLG_FORCE_CLEAR; … … 441 423 442 424 /* 443 * tcp_is_swbuf_full -- éä¿¡ã¦ã£ã³ããããã¡ãæºæ¯ããã§ãã¯ããã425 * tcp_is_swbuf_full -- 送信ウィンドバッファが満杯かチェックする。 444 426 */ 445 427 … … 455 437 456 438 /* 457 * TCP é信端ç¹ã®åä¿¡ã¦ã£ã³ããããã¡ã®çã³ãã¼æ©è½ãç¡å¹458 */ 459 460 /* 461 * tcp_drop_rwbuf -- åä¿¡ã¦ã£ã³ããããã¡ããæå®ããããªã¯ãããååé¤ããã439 * TCP 通信端点の受信ウィンドバッファの省コピー機能が無効 440 */ 441 442 /* 443 * tcp_drop_rwbuf -- 受信ウィンドバッファから指定されたオクテット分削除する。 462 444 */ 463 445 … … 468 450 cep->rbuf_rptr += len; 469 451 470 /* èªã¿åºããã¤ã³ã¿ãã©ã¦ã³ãããã¨ãã®å¦ç*/452 /* 読み出しポインタがラウンドするときの処理 */ 471 453 if (cep->rbuf_rptr >= (uint8_t*)cep->rbuf + cep->rbufsz) 472 454 cep->rbuf_rptr = (uint8_t*)cep->rbuf; … … 474 456 475 457 /* 476 * tcp_read_rwbuf -- åä¿¡ã¦ã£ã³ããããã¡ããæå®ããããªã¯ãããåèªã¿åºãã458 * tcp_read_rwbuf -- 受信ウィンドバッファから指定されたオクテット分読み出す。 477 459 */ 478 460 … … 482 464 uint_t offset; 483 465 484 /* é信端ç¹ãããã¯ããã*/466 /* 通信端点をロックする。*/ 485 467 syscall(wai_sem(cep->semid_lock)); 486 468 487 /* len ã¨åä¿¡ã¦ã£ã³ããããã¡ã®ãã¼ã¿æ°ã®å°ããæ¹ãåãåºããã¼ã¿æ°ã«ããã*/469 /* len と受信ウィンドバッファのデータ数の小さい方を取り出すデータ数にする。*/ 488 470 if (len > cep->rwbuf_count) 489 471 len = cep->rwbuf_count; 490 472 491 /* èªã¿åºããã¤ã³ã¿ãã©ã¦ã³ãããã¨ãã®å¦ç*/473 /* 読み出しポインタがラウンドするときの処理 */ 492 474 if (len > cep->rbufsz - (cep->rbuf_rptr - (uint8_t*)cep->rbuf)) { 493 475 offset = (uint_t)(cep->rbufsz - (cep->rbuf_rptr -(uint8_t*)cep->rbuf)); … … 503 485 cep->rbuf_rptr += len - offset; 504 486 505 /* é信端ç¹ã®ããã¯ã解é¤ããã*/487 /* 通信端点のロックを解除する。*/ 506 488 syscall(sig_sem(cep->semid_lock)); 507 489 … … 510 492 511 493 /* 512 * tcp_get_rwbuf_addr -- åä¿¡ã¦ã£ã³ããããã¡ã®ç©ºãã¢ãã¬ã¹ãç²å¾ããã494 * tcp_get_rwbuf_addr -- 受信ウィンドバッファの空きアドレスを獲得する。 513 495 */ 514 496 … … 518 500 uint_t len; 519 501 520 /* é信端ç¹ãããã¯ããã*/502 /* 通信端点をロックする。*/ 521 503 syscall(wai_sem(cep->semid_lock)); 522 504 523 /* åä¿¡ã¦ã£ã³ããããã¡ã®ãã¼ã¿é·ãè¨ç®ããã*/505 /* 受信ウィンドバッファのデータ長を計算する。*/ 524 506 if (cep->rwbuf_count > cep->rbufsz - (cep->rbuf_rptr - (uint8_t*)cep->rbuf)) 525 /* ãã¤ã³ã¿ãã©ã¦ã³ãããã¨ãã¯åä¿¡ã¦ã£ã³ããããã¡ã®çµããã¾ã§*/507 /* ポインタがラウンドするときは受信ウィンドバッファの終わりまで */ 526 508 len = (uint_t)(cep->rbufsz - (cep->rbuf_rptr - (uint8_t*)cep->rbuf)); 527 509 else 528 510 len = cep->rwbuf_count; 529 511 530 /* åä¿¡ã¦ã£ã³ããããã¡ã®ãã¼ã¿ã®ã¢ãã¬ã¹ã®å 531 é ãè¨å®ããã*/ 512 /* 受信ウィンドバッファのデータのアドレスの先頭を設定する。*/ 532 513 *p_buf = cep->rbuf_rptr; 533 514 534 /* é信端ç¹ã®ããã¯ã解é¤ããã*/515 /* 通信端点のロックを解除する。*/ 535 516 syscall(sig_sem(cep->semid_lock)); 536 517 537 /* åä¿¡ã¦ã£ã³ããããã¡ã®ãã¼ã¿é·ãè¨å®ãããã®å¤ãè¿ãã*/518 /* 受信ウィンドバッファのデータ長を設定し、その値を返す。*/ 538 519 cep->rcv_buf_len = len; 539 520 return len; … … 541 522 542 523 /* 543 * tcp_write_rwbuf -- åä¿¡ã¦ã£ã³ããããã¡ã«ãã¼ã¿ãæ¸ãè¾¼ãã524 * tcp_write_rwbuf -- 受信ウィンドバッファにデータを書き込む。 544 525 * 545 * 注æ: 546 * å 547 ¥å input ã¯ãT_TCP_Q_HDR ã«ãããªã³ã¯ããã 548 * 並ã¹æ¿ããçµäºãã¦ããªããã°ãªããªããã¾ãã 549 * 追å ãããã¼ã¿ã¯ãåä¿¡ã¦ã£ã³ããããã¡ã«åã¾ããã¨ã 526 * 注意: 527 * 入力 input は、T_TCP_Q_HDR によりリンクされ、 528 * 並べ替えが終了していなければならない。また、 529 * 追加するデータは、受信ウィンドバッファに収まること。 550 530 */ 551 531 … … 556 536 uint_t offset, inlen, last; 557 537 558 /* é信端ç¹ãããã¯ããã*/538 /* 通信端点をロックする。*/ 559 539 syscall(wai_sem(cep->semid_lock)); 560 540 561 541 qhdr = (T_TCP_Q_HDR*)GET_TCP_HDR(input, thoff); 562 542 563 /* åä¿¡æ¸ã¿ã·ã¼ã±ã³ã¹çªå·ãæ´æ°ããã*/543 /* 受信済みシーケンス番号を更新する。*/ 564 544 cep->rcv_nxt += qhdr->slen; 565 545 … … 567 547 inlen = qhdr->slen; 568 548 569 /* ç·æ¥ãã¼ã¿ã® SDU è£æ£ãè¡ãã*/549 /* 緊急データの SDU 補正を行う。*/ 570 550 if (qhdr->urp > 0 && inlen > 0) { 571 551 inlen -= qhdr->urp; … … 575 555 576 556 /* 577 * FIN ãã©ã°ãä»ããã»ã°ã¡ã³ã㯠inlen == 0 ã«ãªããã¨ãããã578 * ããã¯ãã¢ããªã±ã¼ã·ã§ã³ã«ãç¸æãããã以ä¸ãã¼ã¿ãéããã¦579 * ããªããã¨ãç¥ãããããã§ããã557 * FIN フラグが付いたセグメントは inlen == 0 になることもある。 558 * これは、アプリケーションに、相手からこれ以上データが送られて 559 * こないことを知らせるためである。 580 560 */ 581 561 if (inlen > 0) { 582 562 583 /* æ¸ãè¾¼ã¿ãã¤ã³ã¿ãã©ã¦ã³ãããã¨ãã®å¦ç*/563 /* 書き込みポインタがラウンドするときの処理 */ 584 564 if (inlen > cep->rbufsz - (cep->rbuf_wptr - (uint8_t*)cep->rbuf)) { 585 565 offset = (uint_t)(cep->rbufsz - (cep->rbuf_wptr - (uint8_t*)cep->rbuf)); … … 604 584 #ifdef TCP_CFG_NON_BLOCKING 605 585 606 if (cep->rcv_nblk_tfn == TFN_TCP_RCV_BUF) { /* ãã³ããããã³ã°ã³ã¼ã«*/586 if (cep->rcv_nblk_tfn == TFN_TCP_RCV_BUF) { /* ノンブロッキングコール */ 607 587 608 588 int_t len; 609 589 610 /* åä¿¡ã¦ã£ã³ããããã¡ã®ç©ºããã¼ã¿é·ãè¨ç®ããã*/590 /* 受信ウィンドバッファの空きデータ長を計算する。*/ 611 591 if (cep->rwbuf_count > cep->rbufsz - (cep->rbuf_rptr - (uint8_t*)cep->rbuf)) { 612 /* ãã¤ã³ã¿ãã©ã¦ã³ãããã¨ãã¯åä¿¡ã¦ã£ã³ããããã¡ã®çµããã¾ã§*/592 /* ポインタがラウンドするときは受信ウィンドバッファの終わりまで */ 613 593 len = (uint_t)(cep->rbufsz - (cep->rbuf_rptr - (uint8_t*)cep->rbuf)); 614 594 } … … 616 596 len = cep->rwbuf_count; 617 597 618 /* é信端ç¹ã®ããã¯ã解é¤ããã*/598 /* 通信端点のロックを解除する。*/ 619 599 syscall(sig_sem(cep->semid_lock)); 620 600 621 601 /* 622 * FIN ãã©ã°ãä»ããã»ã°ã¡ã³ã㯠inlen == 0 ã«ãªããã¨ãããã623 * ããã¯ãã¢ããªã±ã¼ã·ã§ã³ã«ãç¸æãããã以ä¸ãã¼ã¿ãéããã¦624 * ããªããã¨ãç¥ãããããã§ããã602 * FIN フラグが付いたセグメントは inlen == 0 になることもある。 603 * これは、アプリケーションに、相手からこれ以上データが送られて 604 * こないことを知らせるためである。 625 605 */ 626 606 if (len > 0 || inlen == 0) { 627 607 628 /* tcp_rcv_buf ã®å²å½ã¦é·ãè¨å®ããã*/608 /* tcp_rcv_buf の割当て長を設定する。*/ 629 609 cep->rcv_buf_len = len; 630 610 631 /* åä¿¡ã¦ã£ã³ããããã¡ã®ã¢ãã¬ã¹ãè¿ãã*/611 /* 受信ウィンドバッファのアドレスを返す。*/ 632 612 *cep->rcv_p_buf = cep->rbuf_rptr; 633 613 … … 646 626 647 627 /* 648 * é信端ç¹ãããã¯ãã¦ã649 * åä¿¡ã¦ã£ã³ããããã¡ãã¥ã¼ã®ãããã¯ã¼ã¯ãããã¡ã解æ¾ããã628 * 通信端点をロックして、 629 * 受信ウィンドバッファキューのネットワークバッファを解放する。 650 630 */ 651 631 syscall(wai_sem(cep->semid_lock)); … … 655 635 } 656 636 657 /* è¨æ¶ããã¦ããã¿ã¹ã¯ ID 㨠API æ©è½ã³ã¼ããã¯ãªã¢ã¼ããã*/637 /* 記憶されているタスク ID と API 機能コードをクリアーする。*/ 658 638 cep->rcv_tskid = TA_NULL; 659 639 cep->rcv_tfn = cep->rcv_nblk_tfn = TFN_TCP_UNDEF; 660 640 } 661 641 662 else if (cep->rcv_nblk_tfn == TFN_TCP_RCV_DAT) { /* ãã³ããããã³ã°ã³ã¼ã«*/642 else if (cep->rcv_nblk_tfn == TFN_TCP_RCV_DAT) { /* ノンブロッキングコール */ 663 643 ER_UINT len; 664 644 665 /* é信端ç¹ã®ããã¯ã解é¤ããã*/645 /* 通信端点のロックを解除する。*/ 666 646 syscall(sig_sem(cep->semid_lock)); 667 647 668 /* åä¿¡ã¦ã£ã³ããããã¡ãããã¼ã¿ãåãåºãã*/648 /* 受信ウィンドバッファからデータを取り出す。*/ 669 649 if ((len = TCP_READ_RWBUF(cep, cep->rcv_data, (uint_t)cep->rcv_len)) > 0) { 670 /* ç¸æã«ã¦ã£ã³ãã¦ãµã¤ãºãå¤ãã£ããã¨ãç¥ãããããåºåããã¹ãããã*/650 /* 相手にウィンドウサイズが変わったことを知らせるため出力をポストする。*/ 671 651 cep->flags |= TCP_CEP_FLG_POST_OUTPUT; 672 652 sig_sem(SEM_TCP_POST_OUTPUT); … … 674 654 675 655 /* 676 * FIN ãã©ã°ãä»ããã»ã°ã¡ã³ã㯠inlen == 0 ã«ãªããã¨ãããã677 * ããã¯ãã¢ããªã±ã¼ã·ã§ã³ã«ãç¸æãããã以ä¸ãã¼ã¿ãéããã¦678 * ããªããã¨ãç¥ãããããã§ããã656 * FIN フラグが付いたセグメントは inlen == 0 になることもある。 657 * これは、アプリケーションに、相手からこれ以上データが送られて 658 * こないことを知らせるためである。 679 659 */ 680 660 if (len > 0 || inlen == 0) { … … 691 671 } 692 672 693 /* è¨æ¶ããã¦ããã¿ã¹ã¯ ID 㨠API æ©è½ã³ã¼ããã¯ãªã¢ã¼ããã*/673 /* 記憶されているタスク ID と API 機能コードをクリアーする。*/ 694 674 cep->rcv_tskid = TA_NULL; 695 675 cep->rcv_tfn = cep->rcv_nblk_tfn = TFN_TCP_UNDEF; … … 700 680 #endif /* of #ifdef TCP_CFG_NON_BLOCKING */ 701 681 702 /* é信端ç¹ã®ããã¯ã解é¤ããã*/682 /* 通信端点のロックを解除する。*/ 703 683 syscall(sig_sem(cep->semid_lock)); 704 684 705 685 if (inlen == 0 && cep->rwbuf_count == 0) { 706 686 /* 707 * åä¿¡ã¦ã£ã³ããããã¡å 708 ã®ãã¼ã¿æ°ã 0 ã§ã 709 * ç¸æãã FIN ãã©ã°ãä»ããã»ã°ã¡ã³ããåä¿¡ããã¨ãã¯ã 710 * é信端ç¹ãããã¯ãã¦ã 711 * åä¿¡ã¦ã£ã³ããããã¡ãã¥ã¼ã®ãããã¯ã¼ã¯ãããã¡ã解æ¾ããã 687 * 受信ウィンドバッファ内のデータ数が 0 で、 688 * 相手から FIN フラグが付いたセグメントを受信したときは、 689 * 通信端点をロックして、 690 * 受信ウィンドバッファキューのネットワークバッファを解放する。 712 691 */ 713 692 syscall(wai_sem(cep->semid_lock)); … … 717 696 718 697 /* 719 * åä¿¡ã¦ã£ã³ããããã¡ã«ãã¼ã¿ãå 720 ¥ããã inlen == 0 ã®æãå 721 ¥åã¿ã¹ã¯ãèµ·åºããã 722 * FIN ãã©ã°ãä»ããã»ã°ã¡ã³ã㯠inlen == 0 ã«ãªããã¨ãããã 723 * ããã¯ãã¢ããªã±ã¼ã·ã§ã³ã«ãç¸æãããã以ä¸ãã¼ã¿ãéãã㦠724 * ããªããã¨ãç¥ãããããã§ããã 698 * 受信ウィンドバッファにデータが入るか、 inlen == 0 の時、入力タスクを起床する。 699 * FIN フラグが付いたセグメントは inlen == 0 になることもある。 700 * これは、アプリケーションに、相手からこれ以上データが送られて 701 * こないことを知らせるためである。 725 702 */ 726 703 if ((last == 0 && cep->rwbuf_count > 0) || inlen == 0) -
asp3_gr_sakura/trunk/tinet/netinet/tcp_timer.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 119 107 120 108 /* 121 * å±æé¢æ°109 * 局所関数 122 110 */ 123 111 … … 131 119 132 120 /* 133 * ããã¯ãªãæé121 * バックオフ時間 134 122 * 135 * åéãè¡ããã³ã«ãã¿ã¤ã ã¢ã¦ãã®æéã延é·ããã123 * 再送を行うたびに、タイムアウトの時間を延長する。 136 124 */ 137 125 … … 143 131 }; 144 132 145 #define TCP_TOTAL_BACK_OFF 511 /* ããã¯ãªãæéã®åè¨*/146 147 /* 148 * tcp_timers -- ã¿ã¤ã ã¢ã¦ãå¦ç133 #define TCP_TOTAL_BACK_OFF 511 /* バックオフ時間の合計 */ 134 135 /* 136 * tcp_timers -- タイムアウト処理 149 137 */ 150 138 … … 158 146 159 147 /* 160 * åéã¿ã¤ã148 * 再送タイマ 161 149 */ 162 150 case TCP_TIM_REXMT: 163 151 164 152 /* 165 * æ大åéåæ° (TCP_MAX_REXMT_SHIFTãæ¨æº 12 å) ã«ãªã£ãã¨ãã¯ã166 * ã³ãã¯ã·ã§ã³ãåæããã153 * 最大再送回数 (TCP_MAX_REXMT_SHIFT、標準 12 回) になったときは、 154 * コネクションを切断する。 167 155 */ 168 156 if (++ cep->rxtshift > TCP_MAX_REXMT_SHIFT) { … … 174 162 175 163 /* 176 * åéã¿ã¤ã ã¢ã¦ããè¨ç®ããã164 * 再送タイムアウトを計算する。 177 165 */ 178 166 cep->rxtcur = tcp_range_set((T_TCP_TIME)(tcp_rexmt_val(cep) * tcp_back_off[cep->rxtshift]), … … 182 170 183 171 /* 184 * srtt: å¹³æ»åãããRTT185 * rttvar: å¹³æ»åãããåæ£172 * srtt: 平滑化された RTT 173 * rttvar: 平滑化された分散 186 174 * 187 * åéåæ°ãæ大åéåæ°ã® 1/4 ã«ãªã£ãã¨ãã¯ã188 * å¹³æ»åãããåæ£ (rttvar) ã« srtt ãå ç®ãã189 * å¹³æ»åããã RTT ã 0 ã«ããã175 * 再送回数が最大再送回数の 1/4 になったときは、 176 * 平滑化された分散 (rttvar) に srtt を加算し、 177 * 平滑化された RTT を 0 にする。 190 178 * 191 179 */ … … 196 184 197 185 /* 198 * snd_nxt: 次ã«éä¿¡ãã SEQããã®æç¹ã§ã¯ãååéä¿¡ããSEQ199 * snd_una: æªç¢ºèªã®æå°éä¿¡ SEQ ã¾ãã¯ã確èªãããæ大éä¿¡SEQ186 * snd_nxt: 次に送信する SEQ、この時点では、前回送信した SEQ 187 * snd_una: 未確認の最小送信 SEQ または、確認された最大送信 SEQ 200 188 * 201 * ååéä¿¡ãã SEQ (snd_nxt) ã202 * 確èªãããæ大éä¿¡ SEQ (snd_una) ã¾ã§æ»ãã189 * 前回送信した SEQ (snd_nxt) を 190 * 確認された最大送信 SEQ (snd_una) まで戻す。 203 191 */ 204 192 cep->snd_nxt = cep->snd_una; … … 206 194 207 195 /* 208 * rtt: å¾å¾©æéã®è¨æ¸¬ãä¸æ¢ããã196 * rtt: 往復時間の計測を中止する。 209 197 */ 210 198 cep->rtt = 0; 211 199 212 200 /* 213 * éä¿¡ã¦ã¤ã³ãã®è¨å®201 * 送信ウインドの設定 214 202 * 215 * snd_wnd: ç¸æã®åä¿¡å¯è½ã¦ã£ã³ããµã¤ãº216 * snd_cwnd: 輻輳ã¦ã£ã³ããµã¤ãº217 * maxseg : ç¸æã®æ大åä¿¡ã»ã°ã¡ã³ããµã¤ãº203 * snd_wnd: 相手の受信可能ウィンドサイズ 204 * snd_cwnd: 輻輳ウィンドサイズ 205 * maxseg : 相手の最大受信セグメントサイズ 218 206 * 219 * ç¸æã®åä¿¡å¯è½ã¦ã£ã³ããµã¤ãº (snd_wnd) ãã220 * 輻輳ã¦ã£ã³ããµã¤ãº (snd_cwnd) ã®221 * ã©ã¡ããå°ãããµã¤ãºã® 1/2 ããæ´ã«222 * ç¸æã®æ大åä¿¡ã»ã°ã¡ã³ããµã¤ãº (maxseg) ã§å²ã£ãå¤ã223 * ãã ãã2 以ä¸207 * 相手の受信可能ウィンドサイズ (snd_wnd) か、 208 * 輻輳ウィンドサイズ (snd_cwnd) の 209 * どちらか小さいサイズの 1/2 を、更に 210 * 相手の最大受信セグメントサイズ (maxseg) で割った値。 211 * ただし、2 以上 224 212 */ 225 213 if (cep->snd_wnd < cep->snd_cwnd) … … 232 220 233 221 /* 234 * 輻輳ã¦ã£ã³ããµã¤ãº (snd_cwnd) ã¯235 * ç¸æã®åä¿¡å¯è½ã¦ã£ã³ããµã¤ãº (snd_wnd) ã«ã236 * 輻輳ã¦ã£ã³ããµã¤ãºã®ãããå¤ (snd_ssthresh) ã¯237 * ç¸æã®åä¿¡å¯è½ã¦ã£ã³ããµã¤ãº (snd_wnd) ã® win åã«238 * è¨å®ããã222 * 輻輳ウィンドサイズ (snd_cwnd) は 223 * 相手の受信可能ウィンドサイズ (snd_wnd) に、 224 * 輻輳ウィンドサイズのしきい値 (snd_ssthresh) は 225 * 相手の受信可能ウィンドサイズ (snd_wnd) の win 倍に 226 * 設定する。 239 227 */ 240 228 cep->snd_cwnd = cep->maxseg; … … 242 230 cep->dupacks = 0; 243 231 244 /* åºåããã¹ãããã*/232 /* 出力をポストする。*/ 245 233 cep->flags |= TCP_CEP_FLG_POST_OUTPUT; 246 234 sig_sem(SEM_TCP_POST_OUTPUT); … … 248 236 249 237 /* 250 * æç¶ã¿ã¤ã238 * 持続タイマ 251 239 */ 252 240 case TCP_TIM_PERSIST: 253 241 254 242 /* 255 * æ大åéåæ° (TCP_MAX_REXMT_SHIFTãæ¨æº 12 å) ãè¶ 256 ãã¦ãã¦ã 257 * ã¢ã¤ãã«æéããä¿çã¿ã¤ãã®æ¨æºå¤ (TCP_TVAL_KEEP_IDLEã 258 * æ¨æº 2 * 60 * 60 ç§) 以ä¸ãã 259 * åéã¿ã¤ã ã¢ã¦ãå¤ * ããã¯ãªãæéã®åè¨ä»¥ä¸ãªã 260 * ã³ãã¯ã·ã§ã³ãåæããã 243 * 最大再送回数 (TCP_MAX_REXMT_SHIFT、標準 12 回) を超えていて、 244 * アイドル時間が、保留タイマの標準値 (TCP_TVAL_KEEP_IDLE、 245 * 標準 2 * 60 * 60 秒) 以上か、 246 * 再送タイムアウト値 * バックオフ時間の合計以上なら 247 * コネクションを切断する。 261 248 */ 262 249 if (cep->rxtshift > TCP_MAX_REXMT_SHIFT && … … 268 255 } 269 256 270 /* æç¶ã¿ã¤ããåè¨å®ããåºåããã¹ãããã*/257 /* 持続タイマを再設定し、出力をポストする。*/ 271 258 tcp_set_persist_timer(cep); 272 259 … … 276 263 277 264 /* 278 * ä¿ç (keep alive) ã¿ã¤ã265 * 保留 (keep alive) タイマ 279 266 */ 280 267 case TCP_TIM_KEEP: 281 268 282 269 /* 283 * ã³ãã¯ã·ã§ã³ãéè¨ãããã¾ã§ã«ã¿ã¤ã ã¢ã¦ãããã284 * ã³ãã¯ã·ã§ã³ã®éè¨ãä¸æ¢ããã270 * コネクションが開設されるまでにタイムアウトしたら 271 * コネクションの開設を中止する。 285 272 */ 286 273 if (cep->fsm_state < TCP_FSM_ESTABLISHED) { … … 316 303 317 304 /* 318 * 2MSL ã¿ã¤ã305 * 2MSL タイマ 319 306 */ 320 307 case TCP_TIM_2MSL: … … 332 319 333 320 /* 334 * tcp_cancel_timers -- å 335 ¨ã¦ã®ã¿ã¤ãããã£ã³ã»ã«ããã 321 * tcp_cancel_timers -- 全てのタイマをキャンセルする。 336 322 */ 337 323 … … 348 334 349 335 /* 350 * tcp_tw_timo -- Time Wait ç¨ TCP é信端ç¹ã®ã¿ã¤ã ã¢ã¦ãå¦ç336 * tcp_tw_timo -- Time Wait 用 TCP 通信端点のタイムアウト処理 351 337 */ 352 338 … … 360 346 361 347 /* 362 * Time Wait ç¨ TCP é信端ç¹ã§ã¿ã¤ã ã¢ã¦ãã®ã¨ã³ããªãæ¢ç´¢ãã363 * æ¢ç´¢ããã¨ã³ããªã空ãã«ããã348 * Time Wait 用 TCP 通信端点でタイムアウトのエントリを探索し、 349 * 探索したエントリを空きにする。 364 350 */ 365 351 frees = 0; … … 371 357 372 358 /* 373 * Time Wait ç¨ TCP é信端ç¹ã®ç©ºãã¨ã³ããªãçºçããã 374 * æ¨æº TCP é信端ç¹ã§ Time Wait ä¸ã® TCP é信端ç¹ãæ¢ç´¢ãã 375 * å¿ 376 è¦ãªæ 377 å ±ã Time Wait ç¨ TCP é信端ç¹ã«ç§»ãã¦ã 378 * æ¨æºã® TCP é信端ç¹ãéæ¾ããã 359 * Time Wait 用 TCP 通信端点の空きエントリが発生したら 360 * 標準 TCP 通信端点で Time Wait 中の TCP 通信端点を探索し、 361 * 必要な情報を Time Wait 用 TCP 通信端点に移して、 362 * 標準の TCP 通信端点を開放する。 379 363 */ 380 364 if (frees > 0) { … … 387 371 388 372 /* 389 * ãã£ã¨ãé·ãé Time Wait ãã¦ãã TCP é信端ç¹ãéæ¾ããã373 * もっとも長い間 Time Wait している TCP 通信端点を開放する。 390 374 */ 391 375 while (waits > 0) { … … 410 394 411 395 /* 412 * tcp_slow_timo -- 500 [ms] æ¯ã«å¼åºããã TCP ã¿ã¤ã ã¢ã¦ãé¢æ°396 * tcp_slow_timo -- 500 [ms] 毎に呼出される TCP タイムアウト関数 413 397 */ 414 398 … … 452 436 453 437 /* 454 * tcp_fast_timo -- 200 [ms] æ¯ã«å¼åºããã TCP ã¿ã¤ã ã¢ã¦ãé¢æ°438 * tcp_fast_timo -- 200 [ms] 毎に呼出される TCP タイムアウト関数 455 439 */ 456 440 … … 476 460 477 461 /* 478 * tcp_range_set -- æéãæå®ããç¯å²ã«è¨å®ããã462 * tcp_range_set -- 時間を指定した範囲に設定する。 479 463 */ 480 464 … … 491 475 492 476 /* 493 * tcp_set_persist_timer -- æç¶ã¿ã¤ãã®è¨å®477 * tcp_set_persist_timer -- 持続タイマの設定 494 478 */ 495 479 … … 500 484 501 485 /* 502 * srtt: å¹³æ»åãããRTT503 * rttvar: å¹³æ»åãããåæ£486 * srtt: 平滑化された RTT 487 * rttvar: 平滑化された分散 504 488 */ 505 489 time = ((cep->srtt >> 2) + cep->rttvar) >> 1; 506 490 507 491 /* 508 * åéã¿ã¤ããè¨å®ããã¦ããã°å復ä¸è½ã¨ã©ã¼492 * 再送タイマも設定されていれば回復不能エラー 509 493 */ 510 494 if (cep->timer[TCP_TIM_REXMT]) … … 512 496 513 497 /* 514 * æç¶ã¿ã¤ããè¨å®ããã498 * 持続タイマを設定する。 515 499 */ 516 500 cep->timer[TCP_TIM_PERSIST] = tcp_range_set((T_TCP_TIME)(time * tcp_back_off[cep->rxtshift]), … … 519 503 520 504 /* 521 * åéåæ°ãæ´æ°ããã505 * 再送回数を更新する。 522 506 */ 523 507 if (cep->rxtshift < TCP_MAX_REXMT_SHIFT) -
asp3_gr_sakura/trunk/tinet/netinet/tcp_timer.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 83 71 #define _TCP_TIMER_H_ 84 72 85 /* TCP ã¿ã¤ãå¤æ°*/73 /* TCP タイマ変数 */ 86 74 87 //#define NUM_TCP_TIMERS 4 /* TCP ã®ã¿ã¤ãæ°*/75 //#define NUM_TCP_TIMERS 4 /* TCP のタイマ数 */ 88 76 89 #define TCP_TIM_REXMT 0 /* åéã¿ã¤ã*/90 #define TCP_TIM_PERSIST 1 /* æç¶ã¿ã¤ã*/91 #define TCP_TIM_KEEP 2 /* ä¿ç (keep alive) ã¿ã¤ã*/92 #define TCP_TIM_2MSL 3 /* 2MSL ã¿ã¤ã*/77 #define TCP_TIM_REXMT 0 /* 再送タイマ */ 78 #define TCP_TIM_PERSIST 1 /* 持続タイマ */ 79 #define TCP_TIM_KEEP 2 /* 保留 (keep alive) タイマ*/ 80 #define TCP_TIM_2MSL 3 /* 2MSL タイマ */ 93 81 94 /* MSL: Maximum Segment Lifetime, æ大ã»ã°ã¡ã³ãçåæé*/82 /* MSL: Maximum Segment Lifetime, 最大セグメント生存時間 */ 95 83 96 84 /* 97 * TCP/IP ã®ã¿ã¤ãã®å®ç¾©85 * TCP/IP のタイマの定義 98 86 */ 99 87 … … 103 91 #define TCP_SLOW_HZ (ULONG_C(1000)/TCP_SLOW_TMO/NET_TIMER_CYCLE) /* Hz */ 104 92 105 /* TCP ã¿ã¤ãå¤*/93 /* TCP タイマ値 */ 106 94 107 95 #define TCP_TVAL_MSL (TCP_SLOW_HZ * 30) 108 /* æ大ã»ã°ã¡ã³ãçåæé*/96 /* 最大セグメント生存時間 */ 109 97 110 #define TCP_TVAL_SRTT_BASE 0 /* æ»ãããªå¾å¾©æéã®åºæºå¤*/98 #define TCP_TVAL_SRTT_BASE 0 /* 滑らかな往復時間の基準値*/ 111 99 112 100 #define TCP_TVAL_RTO_BASE (TCP_SLOW_HZ * 3) 113 /* æ 114 å ±ãå¾ãããªãå ´åã®åéã¿ã¤ã ã¢ã¦ãã®åºæºå¤ */ 101 /* 情報が得られない場合の再送タイムアウトの基準値 */ 115 102 116 103 #define TCP_TVAL_MIN_PERSIST (TCP_SLOW_HZ * 5) 117 /* æç¶ã¿ã¤ã ã¢ã¦ãã®æå°å¤*/104 /* 持続タイムアウトの最小値 */ 118 105 #define TCP_TVAL_MAX_PERSIST (TCP_SLOW_HZ * 60) 119 /* æç¶ã¿ã¤ã ã¢ã¦ãã®æ大å¤*/106 /* 持続タイムアウトの最大値 */ 120 107 121 108 #define TCP_TVAL_KEEP_INIT (TCP_SLOW_HZ * 75) 122 /* ä¿çã¿ã¤ãã®åæå¤*/109 /* 保留タイマの初期値 */ 123 110 #define TCP_TVAL_KEEP_IDLE (TCP_SLOW_HZ * 2 * 60 * 60) 124 /* ä¿çã¿ã¤ãèµ·åã¾ã§ã®æ¨æºå¤*/111 /* 保留タイマ起動までの標準値*/ 125 112 #define TCP_TVAL_KEEP_INTERVAL (TCP_SLOW_HZ * 75) 126 /* ä¿çã¿ã¤ãã¤ã³ã¿ã¼ãã«ã®æ¨æºå¤*/127 #define TCP_TVAL_KEEP_COUNT 8 /* ä¿çã¿ã¤ã ã¢ã¦ãã®æ大å¤*/113 /* 保留タイマインターバルの標準値*/ 114 #define TCP_TVAL_KEEP_COUNT 8 /* 保留タイムアウトの最大値*/ 128 115 129 116 #define TCP_TVAL_MIN (TCP_SLOW_HZ * 3) 130 /* æéã®æå°åä½*/117 /* 時間の最小単位 */ 131 118 #define TCP_TVAL_MAX_REXMT (TCP_SLOW_HZ * 64) 132 /* æ大åéæé*/119 /* 最大再送時間 */ 133 120 134 121 /* 135 * 以ä¸ã®å¤æ°ã®å¤ã¯ãã¯ãã§è¨å®ããã122 * 以下の変数の値はマクロで設定する。 136 123 * 137 124 * tcp_maixidle = tcp_keepcnt * tcp_keepintvl … … 143 130 144 131 /* 145 * ãã®ä»ã®å®æ°132 * その他の定数 146 133 */ 147 134 148 #define TCP_MAX_REXMT_SHIFT 12 /* æ大åéåæ°*/135 #define TCP_MAX_REXMT_SHIFT 12 /* 最大再送回数 */ 149 136 150 137 /* 151 * é¢æ°138 * 関数 152 139 */ 153 140 -
asp3_gr_sakura/trunk/tinet/netinet/tcp_usrreq.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 130 118 131 119 /* 132 * TINET ãã©ã¤ãã©ãªåããªãå ´åã¯ãå 133 ¨ã¦ã®æ©è½ã 134 * ãªãã¸ã§ã¯ããã¡ã¤ã«ã«åºåããããããã¯ããæå¹ã«ããã 120 * TINET をライブラリ化しない場合は、全ての機能を 121 * オブジェクトファイルに出力するため、マクロを有効にする。 135 122 */ 136 123 … … 160 147 161 148 /* 162 * IPv6 㨠IPv4 ã§å¼æ°ãç°ãªãé¢æ°ã®ã³ã³ãã¤ã«149 * IPv6 と IPv4 で引数が異なる関数のコンパイル 163 150 */ 164 151 … … 228 215 229 216 /* 230 * tcp_user_closed -- ã¦ã¼ã¶ããã®ã³ãã¯ã·ã§ã³ã®éæ¾217 * tcp_user_closed -- ユーザからのコネクションの開放 231 218 */ 232 219 … … 236 223 switch (cep->fsm_state) { 237 224 238 case TCP_FSM_CLOSED: /* ã¯ãã¼ãº*/239 case TCP_FSM_LISTEN: /* ååãªã¼ãã³*/225 case TCP_FSM_CLOSED: /* クローズ */ 226 case TCP_FSM_LISTEN: /* 受動オープン */ 240 227 cep->fsm_state = TCP_FSM_CLOSED; 241 228 cep = tcp_close(cep); 242 229 break; 243 230 244 case TCP_FSM_SYN_SENT: /* è½åãªã¼ãã³ãSYN éä¿¡æ¸ã¿*/245 case TCP_FSM_SYN_RECVD: /* SYN ãåä¿¡ããSYN éä¿¡æ¸ã¿*/231 case TCP_FSM_SYN_SENT: /* 能動オープン、SYN 送信済み */ 232 case TCP_FSM_SYN_RECVD: /* SYN を受信し、SYN 送信済み */ 246 233 cep->flags |= TCP_CEP_FLG_NEED_FIN; 247 234 break; 248 235 249 case TCP_FSM_ESTABLISHED: /* ã³ãã¯ã·ã§ã³éè¨å®äº*/236 case TCP_FSM_ESTABLISHED: /* コネクション開設完了 */ 250 237 cep->fsm_state = TCP_FSM_FIN_WAIT_1; 251 238 break; 252 239 253 case TCP_FSM_CLOSE_WAIT: /* ç¸æãã FIN åä¿¡ãAPP ã®çµäºå¾ 254 ã¡ */ 240 case TCP_FSM_CLOSE_WAIT: /* 相手から FIN 受信、APP の終了待ち */ 255 241 cep->fsm_state = TCP_FSM_LAST_ACK; 256 242 break; … … 263 249 264 250 /* 265 * tcp_cls_cep -- é信端ç¹ã®ã¯ãã¼ãºãæ¨æºæ©è½ã251 * tcp_cls_cep -- 通信端点のクローズ【標準機能】 266 252 */ 267 253 … … 275 261 #ifndef TCP_CFG_NON_BLOCKING 276 262 277 /* tmout ã TMO_NBLK ãªãã¨ã©ã¼*/263 /* tmout が TMO_NBLK ならエラー */ 278 264 if (tmout == TMO_NBLK) 279 265 return E_PAR; … … 282 268 283 269 /* 284 * CEP ãããã¯ããAPI æ©è½ã³ã¼ãã¨ã¿ã¹ã¯èå¥åãè¨é²ããã285 * ãã§ã«è¨é²ããã¦ããã°ããã³ãã£ã³ã°ä¸ãªã®ã§ã¨ã©ã¼270 * CEP をロックし、API 機能コードとタスク識別子を記録する。 271 * すでに記録されていれば、ペンディング中なのでエラー 286 272 */ 287 273 if ((error = tcp_lock_cep(cepid, &cep, TFN_TCP_CLS_CEP)) != E_OK) … … 290 276 #ifdef TCP_CFG_NON_BLOCKING 291 277 292 /* ã¿ã¤ã ã¢ã¦ãããã§ãã¯ããã*/293 if (tmout == TMO_NBLK) { /* ãã³ããããã³ã°ã³ã¼ã«*/278 /* タイムアウトをチェックする。*/ 279 if (tmout == TMO_NBLK) { /* ノンブロッキングコール */ 294 280 295 281 if (!IS_PTR_DEFINED(cep->callback)) 296 282 error = E_OBJ; 297 else if (cep->fsm_state == TCP_FSM_CLOSED) { /* ãã§ã«ã¯ãã¼ãºããã¦ããã¨ã*/283 else if (cep->fsm_state == TCP_FSM_CLOSED) { /* すでにクローズされているとき */ 298 284 299 285 #ifdef TCP_CFG_NON_BLOCKING_COMPAT14 … … 313 299 } 314 300 else { 315 /* NBLK ã®API æ©è½ã³ã¼ããè¨å®ããã*/301 /* NBLK のAPI 機能コードを設定する。*/ 316 302 cep->rcv_nblk_tfn = TFN_TCP_CLS_CEP; 317 303 318 if ((cep = tcp_user_closed(cep)) != NULL) { /* ã³ãã¯ã·ã§ã³ãåæããã*/319 /* åæã»ã°ã¡ã³ãåºåããã¹ãããã*/304 if ((cep = tcp_user_closed(cep)) != NULL) { /* コネクションを切断する。*/ 305 /* 切断セグメント出力をポストする。*/ 320 306 cep->flags |= TCP_CEP_FLG_POST_OUTPUT; 321 307 sig_sem(SEM_TCP_POST_OUTPUT); 322 308 } 323 309 324 /* cep ã NULL ã§æ»ã£ã¦ããå ´åã¯ã325 * æ¢ã«ã³ãã¯ã·ã§ã³ãåæããã¦ãããã¨ãæå³ãã¦ããã326 * ã¾ãããã®å ´åã³ã¼ã«ããã¯é¢æ°ãå¼ã³åºããã¦ããã310 /* cep が NULL で戻ってきた場合は、 311 * 既にコネクションが切断されていることを意味している。 312 * また、この場合コールバック関数が呼び出されている。 327 313 */ 328 314 return E_WBLK; 329 315 } 330 316 } 331 else { /* éãã³ããããã³ã°ã³ã¼ã«*/332 333 #endif /* of #ifdef TCP_CFG_NON_BLOCKING */ 334 335 if ((cep = tcp_user_closed(cep)) == NULL) { /* ã³ãã¯ã·ã§ã³ãåæããã*/336 337 /* cep ã NULL ã§æ»ã£ã¦ããå ´åã¯ã338 * æ¢ã«ã³ãã¯ã·ã§ã³ãåæããã¦ãããã¨ãæå³ãã¦ããã317 else { /* 非ノンブロッキングコール */ 318 319 #endif /* of #ifdef TCP_CFG_NON_BLOCKING */ 320 321 if ((cep = tcp_user_closed(cep)) == NULL) { /* コネクションを切断する。*/ 322 323 /* cep が NULL で戻ってきた場合は、 324 * 既にコネクションが切断されていることを意味している。 339 325 */ 340 326 return error; 341 327 } 342 328 else { 343 /* åæã»ã°ã¡ã³ãåºåããã¹ãããã*/329 /* 切断セグメント出力をポストする。*/ 344 330 cep->flags |= TCP_CEP_FLG_POST_OUTPUT; 345 331 sig_sem(SEM_TCP_POST_OUTPUT); 346 332 347 /* ã¤ãã³ããã©ã°ã CLOSED ã«ãªãã¾ã§å¾ 348 ã¤ã*/ 333 /* イベントフラグが CLOSED になるまで待つ。*/ 349 334 error = twai_flg(cep->est_flgid, TCP_CEP_EVT_CLOSED, TWF_ORW, &flag, tmout); 350 335 if (error == E_OK && cep->error != E_OK) … … 353 338 if (error != E_OK) { 354 339 if (error == E_RLWAI) { 355 /* tcp_cls_cep ããã£ã³ã»ã«ãããã¨ãã¯ãRST ãéä¿¡ããã*/340 /* tcp_cls_cep がキャンセルされたときは、RST を送信する。*/ 356 341 tcp_respond(NULL, cep, cep->rcv_nxt, cep->snd_una - 1, 357 342 cep->rbufsz - cep->rwbuf_count, TCP_FLG_RST); 358 343 } 359 344 360 /* ã¿ã¤ãã¼ãåæ¢ããã*/345 /* タイマーを停止する。*/ 361 346 tcp_cancel_timers(cep); 362 347 363 348 /* 364 * é信端ç¹ãããã¯ãã365 * åä¿¡åæ§æãã¥ã¼ã®ãããã¯ã¼ã¯ãããã¡ã解æ¾ããã349 * 通信端点をロックし、 350 * 受信再構成キューのネットワークバッファを解放する。 366 351 */ 367 352 syscall(wai_sem(cep->semid_lock)); … … 369 354 syscall(sig_sem(cep->semid_lock)); 370 355 371 /* ç¶æ 372 ãæªä½¿ç¨ã«ããã*/ 356 /* 状態を未使用にする。*/ 373 357 cep->fsm_state = TCP_FSM_CLOSED; 374 358 375 359 /* 376 * 以ä¸ã«é¢ä¿ããªããã©ã°ãã¯ãªã¢ã¼ããã377 * ã»éåä¿¡ã¦ã£ã³ããããã¡ã®çã³ãã¼æ©è½378 * ã»åçãªé信端ç¹ã®çæã»åé¤æ©è½360 * 以下に関係しないフラグをクリアーする。 361 * ・送受信ウィンドバッファの省コピー機能 362 * ・動的な通信端点の生成・削除機能 379 363 */ 380 364 cep->flags &= TCP_CEP_FLG_NOT_CLEAR; 381 365 382 366 /* 383 * é信端ç¹ãããã¯ãã384 * éåä¿¡ã¦ã£ã³ããããã¡ãã¥ã¼ã®ãããã¯ã¼ã¯ãããã¡ã解æ¾ããã367 * 通信端点をロックし、 368 * 送受信ウィンドバッファキューのネットワークバッファを解放する。 385 369 */ 386 370 cep->rwbuf_count = 0; … … 410 394 411 395 /* 412 * tcp_sht_cep -- ãã¼ã¿éä¿¡ã®çµäºãæ¨æºæ©è½ã396 * tcp_sht_cep -- データ送信の終了【標準機能】 413 397 */ 414 398 … … 420 404 421 405 /* 422 * CEP ãããã¯ããAPI æ©è½ã³ã¼ãã¨ã¿ã¹ã¯èå¥åãè¨é²ããã423 * ãã§ã«è¨é²ããã¦ããã°ããã³ãã£ã³ã°ä¸ãªã®ã§ã¨ã©ã¼406 * CEP をロックし、API 機能コードとタスク識別子を記録する。 407 * すでに記録されていれば、ペンディング中なのでエラー 424 408 */ 425 409 if ((error = tcp_lock_cep(cepid, &cep, TFN_TCP_SHT_CEP)) != E_OK) 426 410 return error; 427 411 428 /* TCP é信端ç¹ã®ã³ãã¯ã·ã§ã³ã確ç«ç¶æ 429 ã§ãªããã°ã¨ã©ã¼ */ 412 /* TCP 通信端点のコネクションが確立状態でなければエラー */ 430 413 if (!TCP_FSM_HAVE_ESTABLISHED(cep->fsm_state)) { 431 414 if ((error = cep->error) == E_OK) … … 433 416 } 434 417 435 else if ((cep = tcp_user_closed(cep)) != NULL) { /* ã³ãã¯ã·ã§ã³ãåæããã*/436 437 /* åæã»ã°ã¡ã³ãåºåããã¹ãããã*/418 else if ((cep = tcp_user_closed(cep)) != NULL) { /* コネクションを切断する。*/ 419 420 /* 切断セグメント出力をポストする。*/ 438 421 cep->flags |= TCP_CEP_FLG_POST_OUTPUT; 439 422 sig_sem(SEM_TCP_POST_OUTPUT); … … 450 433 451 434 /* 452 * tcp_snd_dat -- ãã±ããã®éä¿¡ãæ¨æºæ©è½ã435 * tcp_snd_dat -- パケットの送信【標準機能】 453 436 */ 454 437 … … 461 444 #ifdef TCP_CFG_NON_BLOCKING 462 445 463 /* data ã NULL ããlen < 0 ãªãã¨ã©ã¼*/446 /* data が NULL か、len < 0 ならエラー */ 464 447 if (data == NULL || len < 0) 465 448 return E_PAR; … … 467 450 #else /* of #ifdef TCP_CFG_NON_BLOCKING */ 468 451 469 /* data ã NULLãlen < 0 ããtmout ã TMO_NBLK ãªãã¨ã©ã¼*/452 /* data が NULL、len < 0 か、tmout が TMO_NBLK ならエラー */ 470 453 if (data == NULL || len < 0 || tmout == TMO_NBLK) 471 454 return E_PAR; … … 474 457 475 458 /* 476 * CEP ãããã¯ããAPI æ©è½ã³ã¼ãã¨ã¿ã¹ã¯èå¥åãè¨é²ããã477 * ãã§ã«è¨é²ããã¦ããã°ããã³ãã£ã³ã°ä¸ãªã®ã§ã¨ã©ã¼459 * CEP をロックし、API 機能コードとタスク識別子を記録する。 460 * すでに記録されていれば、ペンディング中なのでエラー 478 461 */ 479 462 if ((error = tcp_lock_cep(cepid, &cep, TFN_TCP_SND_DAT)) != E_OK) 480 463 return error; 481 464 482 /* éä¿¡ã§ããããé信端ç¹ã®ç¶æ 483 ãè¦ãã*/ 465 /* 送信できるか、通信端点の状態を見る。*/ 484 466 if ((error = tcp_can_send_more(cep, TFN_TCP_SND_DAT, tmout)) != E_OK) 485 467 goto err_ret; … … 487 469 #ifdef TCP_CFG_NON_BLOCKING 488 470 489 /* ã¿ã¤ã ã¢ã¦ãããã§ãã¯ããã*/490 if (tmout == TMO_NBLK) { /* ãã³ããããã³ã°ã³ã¼ã«*/491 492 /* éä¿¡ã¦ã£ã³ããããã¡ã«ç©ºããããã°ã³ã¼ã«ããã¯é¢æ°ãå¼ã³åºãã*/471 /* タイムアウトをチェックする。*/ 472 if (tmout == TMO_NBLK) { /* ノンブロッキングコール */ 473 474 /* 送信ウィンドバッファに空きがあればコールバック関数を呼び出す。*/ 493 475 if (!TCP_IS_SWBUF_FULL(cep)) { 494 476 495 /* éä¿¡ã¦ã£ã³ããããã¡ã«ãã¼ã¿ãæ¸ãè¾¼ãã*/477 /* 送信ウィンドバッファにデータを書き込む。*/ 496 478 error = TCP_WRITE_SWBUF(cep, data, (uint_t)len); 497 479 498 /* åºåããã¹ãããã*/480 /* 出力をポストする。*/ 499 481 cep->flags |= TCP_CEP_FLG_POST_OUTPUT; 500 482 sig_sem(SEM_TCP_POST_OUTPUT); 501 483 502 /* ã³ã¼ã«ããã¯é¢æ°ãå¼ã³åºãã*/484 /* コールバック関数を呼び出す。*/ 503 485 #ifdef TCP_CFG_NON_BLOCKING_COMPAT14 504 486 (*cep->callback)(GET_TCP_CEPID(cep), TFN_TCP_SND_DAT, (void*)error); … … 518 500 } 519 501 } 520 else { /* éãã³ããããã³ã°ã³ã¼ã« */ 521 522 #endif /* of #ifdef TCP_CFG_NON_BLOCKING */ 523 524 /* éä¿¡ã¦ã£ã³ããããã¡ã空ãã®ãå¾ 525 ã¤ã*/ 502 else { /* 非ノンブロッキングコール */ 503 504 #endif /* of #ifdef TCP_CFG_NON_BLOCKING */ 505 506 /* 送信ウィンドバッファが空くのを待つ。*/ 526 507 if ((error = TCP_WAIT_SWBUF(cep, tmout)) != E_OK) 527 508 goto err_ret; 528 509 529 /* éä¿¡ã¦ã£ã³ããããã¡ã«ãã¼ã¿ãæ¸ãè¾¼ãã*/510 /* 送信ウィンドバッファにデータを書き込む。*/ 530 511 if ((error = TCP_WRITE_SWBUF(cep, data, (uint_t)len)) > 0) { 531 512 532 /* ãã¼ã¿ãéä¿¡ãããéä¿¡ã¦ã£ã³ããããã¡ããã«ã®ã¨ãã¯å¼·å¶çã«éä¿¡ããã*/513 /* データを送信する。送信ウィンドバッファがフルのときは強制的に送信する。*/ 533 514 if (TCP_IS_SWBUF_FULL(cep)) 534 515 cep->flags |= TCP_CEP_FLG_FORCE | TCP_CEP_FLG_FORCE_CLEAR; 535 516 536 /* åºåããã¹ãããã*/517 /* 出力をポストする。*/ 537 518 cep->flags |= TCP_CEP_FLG_POST_OUTPUT; 538 519 sig_sem(SEM_TCP_POST_OUTPUT); … … 556 537 557 538 /* 558 * tcp_get_buf -- éä¿¡ç¨ãããã¡ã®ç²å¾ãæ¨æºæ©è½ã539 * tcp_get_buf -- 送信用バッファの獲得【標準機能】 559 540 */ 560 541 … … 567 548 #ifdef TCP_CFG_NON_BLOCKING 568 549 569 /* p_buf ã NULL ãªãã¨ã©ã¼*/550 /* p_buf が NULL ならエラー */ 570 551 if (p_buf == NULL) 571 552 return E_PAR; … … 573 554 #else /* of #ifdef TCP_CFG_NON_BLOCKING */ 574 555 575 /* p_buf ã NULL ããtmout ã TMO_NBLK ãªãã¨ã©ã¼*/556 /* p_buf が NULL か、tmout が TMO_NBLK ならエラー */ 576 557 if (p_buf == NULL || tmout == TMO_NBLK) 577 558 return E_PAR; … … 580 561 581 562 /* 582 * CEP ãããã¯ããAPI æ©è½ã³ã¼ãã¨ã¿ã¹ã¯èå¥åãè¨é²ããã583 * ãã§ã«è¨é²ããã¦ããã°ããã³ãã£ã³ã°ä¸ãªã®ã§ã¨ã©ã¼563 * CEP をロックし、API 機能コードとタスク識別子を記録する。 564 * すでに記録されていれば、ペンディング中なのでエラー 584 565 */ 585 566 if ((error = tcp_lock_cep(cepid, &cep, TFN_TCP_GET_BUF)) != E_OK) 586 567 return error; 587 568 588 /* éä¿¡ã§ããããé信端ç¹ã®ç¶æ 589 ãè¦ãã*/ 569 /* 送信できるか、通信端点の状態を見る。*/ 590 570 if ((error = tcp_can_send_more(cep, TFN_TCP_GET_BUF, tmout)) != E_OK) 591 571 goto err_ret; … … 593 573 #ifdef TCP_CFG_NON_BLOCKING 594 574 595 /* ã¿ã¤ã ã¢ã¦ãããã§ãã¯ããã*/596 if (tmout == TMO_NBLK) { /* ãã³ããããã³ã°ã³ã¼ã«*/575 /* タイムアウトをチェックする。*/ 576 if (tmout == TMO_NBLK) { /* ノンブロッキングコール */ 597 577 598 578 if (!TCP_IS_SWBUF_FULL(cep)) { 599 579 600 /* éä¿¡ã¦ã£ã³ããããã¡ã«ç©ºããããã°ã³ã¼ã«ããã¯é¢æ°ãå¼ã³åºãã*/580 /* 送信ウィンドバッファに空きがあればコールバック関数を呼び出す。*/ 601 581 error = TCP_GET_SWBUF_ADDR(cep, p_buf); 602 582 603 /* ã³ã¼ã«ããã¯é¢æ°ãå¼ã³åºãã*/583 /* コールバック関数を呼び出す。*/ 604 584 #ifdef TCP_CFG_NON_BLOCKING_COMPAT14 605 585 (*cep->callback)(GET_TCP_CEPID(cep), TFN_TCP_GET_BUF, (void*)error); … … 618 598 } 619 599 620 else { /* éãã³ããããã³ã°ã³ã¼ã« */ 621 622 #endif /* of #ifdef TCP_CFG_NON_BLOCKING */ 623 624 /* éä¿¡ã¦ã£ã³ããããã¡ã空ãã®ãå¾ 625 ã¤ã*/ 600 else { /* 非ノンブロッキングコール */ 601 602 #endif /* of #ifdef TCP_CFG_NON_BLOCKING */ 603 604 /* 送信ウィンドバッファが空くのを待つ。*/ 626 605 if ((error = TCP_WAIT_SWBUF(cep, tmout)) != E_OK) 627 606 goto err_ret; 628 607 629 /* éä¿¡ã¦ã£ã³ããããã¡ã®ç©ºã¢ãã¬ã¹ãç²å¾ããã*/608 /* 送信ウィンドバッファの空アドレスを獲得する。*/ 630 609 error = TCP_GET_SWBUF_ADDR(cep, p_buf); 631 610 … … 647 626 648 627 /* 649 * tcp_snd_buf -- ãããã¡å 650 ã®ãã¼ã¿ã®éä¿¡ãæ¨æºæ©è½ã 628 * tcp_snd_buf -- バッファ内のデータの送信【標準機能】 651 629 */ 652 630 … … 657 635 ER error; 658 636 659 /* éä¿¡ããé·ã len ããã§ãã¯ããã*/637 /* 送信する長さ len をチェックする。*/ 660 638 if (len < 0) 661 639 return E_PAR; 662 640 663 /* éä¿¡ããé·ãlen ã 0 ã§ããã°ãä½ãããªãã§æ»ãã*/641 /* 送信する長さlen が 0 であれば、何もしないで戻る。*/ 664 642 if (len == 0) 665 643 return E_OK; 666 644 667 645 /* 668 * CEP ãããã¯ããAPI æ©è½ã³ã¼ãã¨ã¿ã¹ã¯èå¥åãè¨é²ããã669 * ãã§ã«è¨é²ããã¦ããã°ããã³ãã£ã³ã°ä¸ãªã®ã§ã¨ã©ã¼646 * CEP をロックし、API 機能コードとタスク識別子を記録する。 647 * すでに記録されていれば、ペンディング中なのでエラー 670 648 */ 671 649 if ((error = tcp_lock_cep(cepid, &cep, TFN_TCP_SND_BUF)) != E_OK) 672 650 return error; 673 651 674 /* éä¿¡ããé·ã len ããã§ãã¯ããã*/652 /* 送信する長さ len をチェックする。*/ 675 653 if (len > cep->get_buf_len) { 676 654 error = E_OBJ; … … 678 656 } 679 657 680 /* éä¿¡ã§ããããCEP ã® FSM ç¶æ 681 ãè¦ãã*/ 658 /* 送信できるか、CEP の FSM 状態を見る。*/ 682 659 if (!TCP_FSM_CAN_SEND_MORE(cep->fsm_state)) { 683 660 if ((error = cep->error) == E_OK) … … 686 663 } 687 664 688 /* éä¿¡ã¦ã£ã³ããããã¡ã®ãã¼ã¿ãéä¿¡å¯è½ã«ããã*/665 /* 送信ウィンドバッファのデータを送信可能にする。*/ 689 666 TCP_SEND_SWBUF(cep, (uint_t)len); 690 667 691 /* åºåããã¹ãããã*/668 /* 出力をポストする。*/ 692 669 cep->flags |= TCP_CEP_FLG_POST_OUTPUT; 693 670 sig_sem(SEM_TCP_POST_OUTPUT); … … 704 681 705 682 /* 706 * tcp_rcv_dat -- ãã±ããã®åä¿¡ãæ¨æºæ©è½ã683 * tcp_rcv_dat -- パケットの受信【標準機能】 707 684 */ 708 685 … … 715 692 #ifdef TCP_CFG_NON_BLOCKING 716 693 717 /* data ã NULL ããlen < 0 ãªãã¨ã©ã¼*/694 /* data が NULL か、len < 0 ならエラー */ 718 695 if (data == NULL || len < 0) 719 696 return E_PAR; … … 721 698 #else /* of #ifdef TCP_CFG_NON_BLOCKING */ 722 699 723 /* data ã NULLãlen < 0 ããtmout ã TMO_NBLK ãªãã¨ã©ã¼*/700 /* data が NULL、len < 0 か、tmout が TMO_NBLK ならエラー */ 724 701 if (data == NULL || len < 0 || tmout == TMO_NBLK) 725 702 return E_PAR; … … 728 705 729 706 /* 730 * CEP ãããã¯ããAPI æ©è½ã³ã¼ãã¨ã¿ã¹ã¯èå¥åãè¨é²ããã731 * ãã§ã«è¨é²ããã¦ããã°ããã³ãã£ã³ã°ä¸ãªã®ã§ã¨ã©ã¼707 * CEP をロックし、API 機能コードとタスク識別子を記録する。 708 * すでに記録されていれば、ペンディング中なのでエラー 732 709 */ 733 710 if ((error = tcp_lock_cep(cepid, &cep, TFN_TCP_RCV_DAT)) != E_OK) 734 711 return error; 735 712 736 /* åä¿¡ã§ããããé信端ç¹ã®ç¶æ 737 ãè¦ãã*/ 713 /* 受信できるか、通信端点の状態を見る。*/ 738 714 if (tcp_can_recv_more(&error, cep, TFN_TCP_RCV_DAT, tmout) != E_OK) 739 715 goto err_ret; … … 741 717 #ifdef TCP_CFG_NON_BLOCKING 742 718 743 /* ã¿ã¤ã ã¢ã¦ãããã§ãã¯ããã*/744 if (tmout == TMO_NBLK) { /* ãã³ããããã³ã°ã³ã¼ã«*/745 746 /* åä¿¡ã¦ã£ã³ããããã¡ã«ãã¼ã¿ãããã°ã³ã¼ã«ããã¯é¢æ°ãå¼ã³åºãã*/719 /* タイムアウトをチェックする。*/ 720 if (tmout == TMO_NBLK) { /* ノンブロッキングコール */ 721 722 /* 受信ウィンドバッファにデータがあればコールバック関数を呼び出す。*/ 747 723 if (cep->rwbuf_count > 0) { 748 724 749 /* åä¿¡ã¦ã£ã³ããããã¡ãããã¼ã¿ãåãåºãã*/725 /* 受信ウィンドバッファからデータを取り出す。*/ 750 726 len = TCP_READ_RWBUF(cep, data, (uint_t)len); 751 727 752 /* ã³ã¼ã«ããã¯é¢æ°ãå¼ã³åºãã*/728 /* コールバック関数を呼び出す。*/ 753 729 #ifdef TCP_CFG_NON_BLOCKING_COMPAT14 754 730 (*cep->callback)(GET_TCP_CEPID(cep), TFN_TCP_RCV_DAT, (void*)(uint32_t)len); … … 766 742 } 767 743 } 768 else { /* éãã³ããããã³ã°ã³ã¼ã« */ 769 770 #endif /* of #ifdef TCP_CFG_NON_BLOCKING */ 771 772 /* åä¿¡ã¦ã£ã³ããããã¡ã«ãã¼ã¿ããªããã°ãå 773 ¥åãããã¾ã§å¾ 774 ã¤ã*/ 744 else { /* 非ノンブロッキングコール */ 745 746 #endif /* of #ifdef TCP_CFG_NON_BLOCKING */ 747 748 /* 受信ウィンドバッファにデータがなければ、入力があるまで待つ。*/ 775 749 if ((error = tcp_wait_rwbuf(cep, tmout)) != E_OK) 776 750 goto err_ret; 777 751 778 /* åä¿¡ã¦ã£ã³ããããã¡ãããã¼ã¿ãåãåºãã*/752 /* 受信ウィンドバッファからデータを取り出す。*/ 779 753 error = TCP_READ_RWBUF(cep, data, (uint_t)len); 780 754 781 /* ç¸æã«ã¦ã£ã³ãã¦ãµã¤ãºãå¤ãã£ããã¨ãç¥ãããããåºåããã¹ãããã*/755 /* 相手にウィンドウサイズが変わったことを知らせるため出力をポストする。*/ 782 756 cep->flags |= TCP_CEP_FLG_POST_OUTPUT; 783 757 sig_sem(SEM_TCP_POST_OUTPUT); … … 800 774 801 775 /* 802 * tcp_rcv_buf -- åä¿¡ãããã¼ã¿ã®å 803 ¥ã£ããããã¡ã®ç²å¾ãæ¨æºæ©è½ã 776 * tcp_rcv_buf -- 受信したデータの入ったバッファの獲得【標準機能】 804 777 */ 805 778 … … 812 785 #ifdef TCP_CFG_NON_BLOCKING 813 786 814 /* p_buf ã NULL ãªãã¨ã©ã¼*/787 /* p_buf が NULL ならエラー */ 815 788 if (p_buf == NULL) 816 789 return E_PAR; … … 818 791 #else /* of #ifdef TCP_CFG_NON_BLOCKING */ 819 792 820 /* p_buf ã NULL ããtmout ã TMO_NBLK ãªãã¨ã©ã¼*/793 /* p_buf が NULL か、tmout が TMO_NBLK ならエラー */ 821 794 if (p_buf == NULL || tmout == TMO_NBLK) 822 795 return E_PAR; … … 825 798 826 799 /* 827 * CEP ãããã¯ããAPI æ©è½ã³ã¼ãã¨ã¿ã¹ã¯èå¥åãè¨é²ããã828 * ãã§ã«è¨é²ããã¦ããã°ããã³ãã£ã³ã°ä¸ãªã®ã§ã¨ã©ã¼800 * CEP をロックし、API 機能コードとタスク識別子を記録する。 801 * すでに記録されていれば、ペンディング中なのでエラー 829 802 */ 830 803 if ((error = tcp_lock_cep(cepid, &cep, TFN_TCP_RCV_BUF)) != E_OK) 831 804 return error; 832 805 833 /* åä¿¡ã§ããããé信端ç¹ã®ç¶æ 834 ãè¦ãã*/ 806 /* 受信できるか、通信端点の状態を見る。*/ 835 807 if (tcp_can_recv_more(&error, cep, TFN_TCP_RCV_DAT, tmout) != E_OK) 836 808 goto err_ret; … … 838 810 #ifdef TCP_CFG_NON_BLOCKING 839 811 840 /* ã¿ã¤ã ã¢ã¦ãããã§ãã¯ããã*/841 if (tmout == TMO_NBLK) { /* ãã³ããããã³ã°ã³ã¼ã«*/842 843 /* åä¿¡ã¦ã£ã³ããããã¡ã«ãã¼ã¿ãããã°ã³ã¼ã«ããã¯é¢æ°ãå¼ã³åºãã*/812 /* タイムアウトをチェックする。*/ 813 if (tmout == TMO_NBLK) { /* ノンブロッキングコール */ 814 815 /* 受信ウィンドバッファにデータがあればコールバック関数を呼び出す。*/ 844 816 if (cep->rwbuf_count > 0) { 845 817 846 /* åä¿¡ã¦ã£ã³ããããã¡ã®ç©ºã¢ãã¬ã¹ãç²å¾ããã*/818 /* 受信ウィンドバッファの空アドレスを獲得する。*/ 847 819 error = TCP_GET_RWBUF_ADDR(cep, p_buf); 848 820 849 /* ã³ã¼ã«ããã¯é¢æ°ãå¼ã³åºãã*/821 /* コールバック関数を呼び出す。*/ 850 822 #ifdef TCP_CFG_NON_BLOCKING_COMPAT14 851 823 (*cep->callback)(GET_TCP_CEPID(cep), TFN_TCP_RCV_BUF, (void*)error); … … 862 834 } 863 835 } 864 else { /* éãã³ããããã³ã°ã³ã¼ã« */ 865 866 #endif /* of #ifdef TCP_CFG_NON_BLOCKING */ 867 868 /* åä¿¡ã¦ã£ã³ããããã¡ã«ãã¼ã¿ããªããã°ãå 869 ¥åãããã¾ã§å¾ 870 ã¤ã*/ 836 else { /* 非ノンブロッキングコール */ 837 838 #endif /* of #ifdef TCP_CFG_NON_BLOCKING */ 839 840 /* 受信ウィンドバッファにデータがなければ、入力があるまで待つ。*/ 871 841 if ((error = tcp_wait_rwbuf(cep, tmout)) != E_OK) { 872 842 cep->rwbuf_count = 0; … … 874 844 } 875 845 876 /* åä¿¡ã¦ã£ã³ããããã¡ã®ã¢ãã¬ã¹ãç²å¾ããã*/846 /* 受信ウィンドバッファのアドレスを獲得する。*/ 877 847 error = TCP_GET_RWBUF_ADDR(cep, p_buf); 878 848 … … 894 864 895 865 /* 896 * tcp_rel_buf -- åä¿¡ç¨ãããã¡ã®è§£æ¾ãæ¨æºæ©è½ã866 * tcp_rel_buf -- 受信用バッファの解放【標準機能】 897 867 */ 898 868 … … 903 873 ER error; 904 874 905 /* 解æ¾ããé·ã len ããã§ãã¯ããã*/875 /* 解放する長さ len をチェックする。*/ 906 876 if (len < 0) 907 877 return E_PAR; 908 878 909 879 /* 910 * CEP ãããã¯ããAPI æ©è½ã³ã¼ãã¨ã¿ã¹ã¯èå¥åãè¨é²ããã911 * ãã§ã«è¨é²ããã¦ããã°ããã³ãã£ã³ã°ä¸ãªã®ã§ã¨ã©ã¼880 * CEP をロックし、API 機能コードとタスク識別子を記録する。 881 * すでに記録されていれば、ペンディング中なのでエラー 912 882 */ 913 883 if ((error = tcp_lock_cep(cepid, &cep, TFN_TCP_REL_BUF)) != E_OK) 914 884 return error; 915 885 916 /* 解æ¾ããé·ã len ããã§ãã¯ããã*/886 /* 解放する長さ len をチェックする。*/ 917 887 if (len > cep->rcv_buf_len) { 918 888 error = E_OBJ; … … 920 890 } 921 891 922 /* é信端ç¹ãããã¯ããã*/892 /* 通信端点をロックする。*/ 923 893 syscall(wai_sem(cep->semid_lock)); 924 894 925 /* åä¿¡ã¦ã£ã³ããããã¡ããåä¿¡ãããªã¯ããããåé¤ããã*/895 /* 受信ウィンドバッファから受信したオクテットを削除する。*/ 926 896 TCP_DROP_RWBUF(cep, (uint_t)len); 927 897 928 /* tcp_rcv_buf ã®å²å½ã¦é·ããªã»ããããã*/898 /* tcp_rcv_buf の割当て長をリセットする。*/ 929 899 cep->rcv_buf_len = 0; 930 900 931 /* é信端ç¹ã®ããã¯ã解é¤ããã*/901 /* 通信端点のロックを解除する。*/ 932 902 syscall(sig_sem(cep->semid_lock)); 933 903 934 /* ç¸æã«ã¦ã£ã³ãã¦ãµã¤ãºãå¤ãã£ããã¨ãç¥ãããããåºåããã¹ãããã*/904 /* 相手にウィンドウサイズが変わったことを知らせるため出力をポストする。*/ 935 905 cep->flags |= TCP_CEP_FLG_POST_OUTPUT; 936 906 sig_sem(SEM_TCP_POST_OUTPUT); … … 947 917 948 918 /* 949 * tcp_can_snd -- ãã³ãã£ã³ã°ãã¦ããéä¿¡ã®ãã£ã³ã»ã«919 * tcp_can_snd -- ペンディングしている送信のキャンセル 950 920 */ 951 921 … … 955 925 ER error = E_OK; 956 926 957 /* é信端ç¹ãããã¯ããã*/927 /* 通信端点をロックする。*/ 958 928 syscall(wai_sem(cep->semid_lock)); 959 929 960 930 /* 961 * snd_tskid ã TA_NULL ãªãã962 * ãã³ãã£ã³ã°ãã¦ããªãã®ã§ã¨ã©ã¼931 * snd_tskid が TA_NULL なら、 932 * ペンディングしていないのでエラー 963 933 */ 964 934 if (cep->snd_tskid == TA_NULL) 965 935 error = EV_NOPND; 966 936 967 /* ãã³ãã£ã³ã°ä¸ã® API æ©è½ã³ã¼ãã¨ä¸è´ããªããã°ã¨ã©ã¼*/937 /* ペンディング中の API 機能コードと一致しなければエラー */ 968 938 else if (fncd != TFN_TCP_ALL && fncd != cep->snd_tfn) 969 939 error = E_OBJ; 970 940 971 /* å¦çããã£ã³ã»ã«ããã*/941 /* 処理をキャンセルする。*/ 972 942 else { 973 943 974 /* åä¿¡åæ§æãã¥ã¼ã®ãããã¯ã¼ã¯ãããã¡ã解æ¾ããã*/944 /* 受信再構成キューのネットワークバッファを解放する。*/ 975 945 tcp_free_reassq(cep); 976 946 977 /* åä¿¡ã¦ã£ã³ããããã¡ãã¥ã¼ã®ãããã¯ã¼ã¯ãããã¡ã解æ¾ããã*/947 /* 受信ウィンドバッファキューのネットワークバッファを解放する。*/ 978 948 cep->rwbuf_count = 0; 979 949 TCP_FREE_RWBUFQ(cep); 980 950 981 /* éä¿¡ã¦ã£ã³ããããã¡ãã¥ã¼ã®ãããã¯ã¼ã¯ãããã¡ã解æ¾ããã*/951 /* 送信ウィンドバッファキューのネットワークバッファを解放する。*/ 982 952 TCP_FREE_SWBUFQ(cep); 983 953 984 954 #ifdef TCP_CFG_NON_BLOCKING 985 955 986 if (cep->snd_nblk_tfn != TFN_TCP_UNDEF) { /* ãã³ããããã³ã°ã³ã¼ã«*/956 if (cep->snd_nblk_tfn != TFN_TCP_UNDEF) { /* ノンブロッキングコール */ 987 957 988 958 switch (cep->snd_nblk_tfn) { … … 990 960 case TFN_TCP_CON_CEP: 991 961 /* 992 * é信端ç¹ããåä»å£ã解æ¾ãã993 * ã¤ãã³ããã©ã°ãã¯ãã¼ãºã«è¨å®ããã962 * 通信端点から受付口を解放し、 963 * イベントフラグをクローズに設定する。 994 964 */ 995 965 cep->rep = NULL; … … 1038 1008 } 1039 1009 1040 /* é信端ç¹ã®ããã¯ã解é¤ããã*/1010 /* 通信端点のロックを解除する。*/ 1041 1011 syscall(sig_sem(cep->semid_lock)); 1042 1012 … … 1045 1015 1046 1016 /* 1047 * tcp_can_rcv -- ãã³ãã£ã³ã°ãã¦ããåä¿¡ã®ãã£ã³ã»ã«1017 * tcp_can_rcv -- ペンディングしている受信のキャンセル 1048 1018 */ 1049 1019 … … 1053 1023 ER error = E_OK; 1054 1024 1055 /* é信端ç¹ãããã¯ããã*/1025 /* 通信端点をロックする。*/ 1056 1026 syscall(wai_sem(cep->semid_lock)); 1057 1027 1058 1028 /* 1059 * rcv_tskid ã TA_NULL ãªãã1060 * ãã³ãã£ã³ã°ãã¦ããªãã®ã§ã¨ã©ã¼1029 * rcv_tskid が TA_NULL なら、 1030 * ペンディングしていないのでエラー 1061 1031 */ 1062 1032 if (cep->rcv_tskid == TA_NULL) 1063 1033 error = EV_NOPND; 1064 1034 1065 /* ãã³ãã£ã³ã°ä¸ã® API æ©è½ã³ã¼ãã¨ä¸è´ããªããã°ã¨ã©ã¼*/1035 /* ペンディング中の API 機能コードと一致しなければエラー */ 1066 1036 else if (fncd != TFN_TCP_ALL && fncd != cep->rcv_tfn) 1067 1037 error = E_OBJ; 1068 1038 1069 /* å¦çããã£ã³ã»ã«ããã*/1039 /* 処理をキャンセルする。*/ 1070 1040 else { 1071 1041 1072 /* åä¿¡åæ§æãã¥ã¼ã®ãããã¯ã¼ã¯ãããã¡ã解æ¾ããã*/1042 /* 受信再構成キューのネットワークバッファを解放する。*/ 1073 1043 tcp_free_reassq(cep); 1074 1044 1075 /* åä¿¡ã¦ã£ã³ããããã¡ãã¥ã¼ã®ãããã¯ã¼ã¯ãããã¡ã解æ¾ããã*/1045 /* 受信ウィンドバッファキューのネットワークバッファを解放する。*/ 1076 1046 cep->rwbuf_count = 0; 1077 1047 TCP_FREE_RWBUFQ(cep); 1078 1048 1079 /* éä¿¡ã¦ã£ã³ããããã¡ãã¥ã¼ã®ãããã¯ã¼ã¯ãããã¡ã解æ¾ããã*/1049 /* 送信ウィンドバッファキューのネットワークバッファを解放する。*/ 1080 1050 TCP_FREE_SWBUFQ(cep); 1081 1051 1082 1052 #ifdef TCP_CFG_NON_BLOCKING 1083 1053 1084 if (cep->rcv_nblk_tfn != TFN_TCP_UNDEF) { /* ãã³ããããã³ã°ã³ã¼ã«*/1054 if (cep->rcv_nblk_tfn != TFN_TCP_UNDEF) { /* ノンブロッキングコール */ 1085 1055 1086 1056 switch (cep->rcv_nblk_tfn) { … … 1088 1058 case TFN_TCP_ACP_CEP: 1089 1059 /* 1090 * é信端ç¹ããåä»å£ã解æ¾ãã1091 * ã¤ãã³ããã©ã°ãã¯ãã¼ãºã«è¨å®ããã1060 * 通信端点から受付口を解放し、 1061 * イベントフラグをクローズに設定する。 1092 1062 */ 1093 1063 cep->rep = NULL; … … 1142 1112 } 1143 1113 1144 /* é信端ç¹ã®ããã¯ã解é¤ããã*/1114 /* 通信端点のロックを解除する。*/ 1145 1115 syscall(sig_sem(cep->semid_lock)); 1146 1116 … … 1149 1119 1150 1120 /* 1151 * tcp_can_cep -- ãã³ãã£ã³ã°ãã¦ããå¦çã®ãã£ã³ã»ã«ãæ¨æºæ©è½ã1121 * tcp_can_cep -- ペンディングしている処理のキャンセル【標準機能】 1152 1122 */ 1153 1123 … … 1158 1128 ER error = E_OK, snd_err, rcv_err; 1159 1129 1160 /* API æ©è½ã³ã¼ãããã§ãã¯ããã*/1130 /* API 機能コードをチェックする。*/ 1161 1131 if (!VALID_TFN_TCP_CAN(fncd)) 1162 1132 return E_PAR; 1163 1133 1164 /* TCP éä¿¡ç«¯ç¹ ID ããã§ãã¯ããã*/1134 /* TCP 通信端点 ID をチェックする。*/ 1165 1135 if (!VALID_TCP_CEPID(cepid)) 1166 1136 return E_ID; 1167 1137 1168 /* TCP é信端ç¹ãå¾ãã*/1138 /* TCP 通信端点を得る。*/ 1169 1139 cep = GET_TCP_CEP(cepid); 1170 1140 1171 /* TCP é信端ç¹ããã§ãã¯ããã*/1141 /* TCP 通信端点をチェックする。*/ 1172 1142 if (!VALID_TCP_CEP(cep)) 1173 1143 return E_NOEXS; 1174 1144 1175 if (fncd == TFN_TCP_ALL) { /* TFN_TCP_ALL ã®å¦ç*/1145 if (fncd == TFN_TCP_ALL) { /* TFN_TCP_ALL の処理 */ 1176 1146 snd_err = tcp_can_snd(cep, fncd); 1177 1147 rcv_err = tcp_can_rcv(cep, fncd); 1178 1148 1179 1149 /* 1180 * snd_err 㨠rcv_err ã®ã©ã¡ããEV_NOPND1181 * ãªãããã³ãã£ã³ã°ãã¦ããªãã®ã§ã¨ã©ã¼1150 * snd_err と rcv_err のどちらも EV_NOPND 1151 * なら、ペンディングしていないのでエラー 1182 1152 */ 1183 1153 if (snd_err == EV_NOPND && rcv_err == EV_NOPND) … … 1196 1166 } 1197 1167 1198 else if (IS_TFN_TCP_RCV(fncd)) { /* åä¿¡å¦çã®ãã£ã³ã»ã«*/1168 else if (IS_TFN_TCP_RCV(fncd)) { /* 受信処理のキャンセル */ 1199 1169 if ((error = tcp_can_rcv(cep, fncd)) == EV_NOPND) 1200 1170 error = E_OBJ; 1201 1171 } 1202 1172 1203 else { /* éä¿¡å¦çã®ãã£ã³ã»ã«*/1173 else { /* 送信処理のキャンセル */ 1204 1174 if ((error = tcp_can_snd(cep, fncd)) == EV_NOPND) 1205 1175 error = E_OBJ; … … 1216 1186 1217 1187 /* 1218 * tcp_cre_cep -- TCP é信端ç¹ã®çæãæ¡å¼µæ©è½ã1188 * tcp_cre_cep -- TCP 通信端点の生成【拡張機能】 1219 1189 */ 1220 1190 … … 1225 1195 ER error; 1226 1196 1227 /* TCP éä¿¡ç«¯ç¹ ID ããã§ãã¯ããã*/1197 /* TCP 通信端点 ID をチェックする。*/ 1228 1198 if (!VALID_TCP_CEPID(cepid)) 1229 1199 return E_ID; 1230 1200 1231 /* pk_ccep ã NULL ãªãã¨ã©ã¼*/1201 /* pk_ccep が NULL ならエラー */ 1232 1202 if (pk_ccep == NULL) 1233 1203 return E_PAR; 1234 1204 1235 /* TCP é信端ç¹ãå¾ãã*/1205 /* TCP 通信端点を得る。*/ 1236 1206 cep = GET_TCP_CEP(cepid); 1237 1207 1238 /* TCP é信端ç¹ããåççæç¨ã§ãªããã°ã¨ã©ã¼*/1208 /* TCP 通信端点が、動的生成用でなければエラー */ 1239 1209 if (!DYNAMIC_TCP_CEP(cep)) 1240 1210 return E_ID; 1241 1211 1242 /* é信端ç¹ãããã¯ããã*/1212 /* 通信端点をロックする。*/ 1243 1213 syscall(wai_sem(cep->semid_lock)); 1244 1214 1245 1215 /* 1246 * TCP é信端ç¹ããã§ãã¯ãããçææ¸ã¿ã§ããã°ã¨ã©ã¼1216 * TCP 通信端点をチェックする。生成済みであればエラー 1247 1217 */ 1248 1218 if (VALID_TCP_CEP(cep)) … … 1250 1220 else { 1251 1221 1252 /* TCP é信端ç¹çææ 1253 å ±ãã³ãã¼ããã*/ 1254 cep->cepatr = pk_ccep->cepatr; /* é信端ç¹å±æ§ */ 1255 cep->sbuf = pk_ccep->sbuf; /* éä¿¡ç¨ã¦ã£ã³ããããã¡ */ 1256 cep->sbufsz = pk_ccep->sbufsz; /* éä¿¡ç¨ã¦ã£ã³ããããã¡ãµã¤ãº */ 1257 cep->rbuf = pk_ccep->rbuf; /* åä¿¡ç¨ã¦ã£ã³ããããã¡ */ 1258 cep->rbufsz = pk_ccep->rbufsz; /* åä¿¡ç¨ã¦ã£ã³ããããã¡ãµã¤ãº */ 1259 cep->callback = (void*)pk_ccep->callback; /* ã³ã¼ã«ãã㯠*/ 1260 1261 /* TCP é信端ç¹ãçææ¸ã¿ã«ããã*/ 1222 /* TCP 通信端点生成情報をコピーする。*/ 1223 cep->cepatr = pk_ccep->cepatr; /* 通信端点属性 */ 1224 cep->sbuf = pk_ccep->sbuf; /* 送信用ウィンドバッファ */ 1225 cep->sbufsz = pk_ccep->sbufsz; /* 送信用ウィンドバッファサイズ */ 1226 cep->rbuf = pk_ccep->rbuf; /* 受信用ウィンドバッファ */ 1227 cep->rbufsz = pk_ccep->rbufsz; /* 受信用ウィンドバッファサイズ */ 1228 cep->callback = (void*)pk_ccep->callback; /* コールバック */ 1229 1230 /* TCP 通信端点を生成済みにする。*/ 1262 1231 cep->flags |= TCP_CEP_FLG_VALID; 1263 1232 error = E_OK; 1264 1233 } 1265 1234 1266 /* é信端ç¹ã®ããã¯ã解é¤ããã*/1235 /* 通信端点のロックを解除する。*/ 1267 1236 syscall(sig_sem(cep->semid_lock)); 1268 1237 … … 1273 1242 1274 1243 /* 1275 * tcp_del_cep -- TCP é信端ç¹ã®åé¤ãæ¡å¼µæ©è½ã1244 * tcp_del_cep -- TCP 通信端点の削除【拡張機能】 1276 1245 */ 1277 1246 … … 1284 1253 ER error; 1285 1254 1286 /* TCP éä¿¡ç«¯ç¹ ID ããã§ãã¯ããã*/1255 /* TCP 通信端点 ID をチェックする。*/ 1287 1256 if (!VALID_TCP_CEPID(cepid)) 1288 1257 return E_ID; 1289 1258 1290 /* TCP é信端ç¹ãå¾ãã*/1259 /* TCP 通信端点を得る。*/ 1291 1260 cep = GET_TCP_CEP(cepid); 1292 1261 1293 /* TCP é信端ç¹ããåççæç¨ã§ãªããã°ã¨ã©ã¼*/1262 /* TCP 通信端点が、動的生成用でなければエラー */ 1294 1263 if (!DYNAMIC_TCP_CEP(cep)) 1295 1264 return E_ID; 1296 1265 1297 /* é信端ç¹ãããã¯ããã*/1266 /* 通信端点をロックする。*/ 1298 1267 syscall(wai_sem(cep->semid_lock)); 1299 1268 1300 1269 /* 1301 * TCP é信端ç¹ããã§ãã¯ããã以ä¸ã®å ´åã¯ã¨ã©ã¼1302 * ã»æªçæã1303 * ã»ä½¿ç¨ä¸ã1270 * TCP 通信端点をチェックする。以下の場合はエラー 1271 * ・未生成。 1272 * ・使用中。 1304 1273 */ 1305 1274 if (!VALID_TCP_CEP(cep)) … … 1309 1278 else { 1310 1279 1311 /* TCP é信端ç¹ãæªçæã«ããã*/1280 /* TCP 通信端点を未生成にする。*/ 1312 1281 cep->flags &= ~TCP_CEP_FLG_VALID; 1313 1282 error = E_OK; 1314 1283 } 1315 1284 1316 /* é信端ç¹ã®ããã¯ã解é¤ããã*/1285 /* 通信端点のロックを解除する。*/ 1317 1286 syscall(sig_sem(cep->semid_lock)); 1318 1287 … … 1325 1294 1326 1295 /* 1327 * tcp_snd_oob -- ç·æ¥ãã¼ã¿ã®éä¿¡ãæ¡å¼µæ©è½ã1296 * tcp_snd_oob -- 緊急データの送信【拡張機能】 1328 1297 */ 1329 1298 … … 1336 1305 #ifdef TCP_CFG_NON_BLOCKING 1337 1306 1338 /* data ã NULL ããlen < 0 ãªãã¨ã©ã¼*/1307 /* data が NULL か、len < 0 ならエラー */ 1339 1308 if (data == NULL || len < 0) 1340 1309 return E_PAR; … … 1342 1311 #else /* of #ifdef TCP_CFG_NON_BLOCKING */ 1343 1312 1344 /* data ã NULLãlen < 0 ããtmout ã TMO_NBLK ãªãã¨ã©ã¼*/1313 /* data が NULL、len < 0 か、tmout が TMO_NBLK ならエラー */ 1345 1314 if (data == NULL || len < 0 || tmout == TMO_NBLK) 1346 1315 return E_PAR; … … 1349 1318 1350 1319 /* 1351 * CEP ãããã¯ããAPI æ©è½ã³ã¼ãã¨ã¿ã¹ã¯èå¥åãè¨é²ããã1352 * ãã§ã«è¨é²ããã¦ããã°ããã³ãã£ã³ã°ä¸ãªã®ã§ã¨ã©ã¼1320 * CEP をロックし、API 機能コードとタスク識別子を記録する。 1321 * すでに記録されていれば、ペンディング中なのでエラー 1353 1322 */ 1354 1323 if ((error = tcp_lock_cep(cepid, &cep, TFN_TCP_SND_OOB)) != E_OK) 1355 1324 return error; 1356 1325 1357 /* éä¿¡ã§ããããé信端ç¹ã®ç¶æ 1358 ãè¦ãã*/ 1326 /* 送信できるか、通信端点の状態を見る。*/ 1359 1327 if ((error = tcp_can_send_more(cep, TFN_TCP_SND_OOB, tmout)) != E_OK) 1360 1328 goto err_ret; … … 1362 1330 #ifdef TCP_CFG_NON_BLOCKING 1363 1331 1364 /* ã¿ã¤ã ã¢ã¦ãããã§ãã¯ããã*/1365 if (tmout == TMO_NBLK) { /* ãã³ããããã³ã°ã³ã¼ã«*/1366 1367 /* éä¿¡ã¦ã£ã³ããããã¡ã«ç©ºããããã°ã³ã¼ã«ããã¯é¢æ°ãå¼ã³åºãã*/1332 /* タイムアウトをチェックする。*/ 1333 if (tmout == TMO_NBLK) { /* ノンブロッキングコール */ 1334 1335 /* 送信ウィンドバッファに空きがあればコールバック関数を呼び出す。*/ 1368 1336 if (!TCP_IS_SWBUF_FULL(cep)) { 1369 1337 1370 /* éä¿¡ã¦ã£ã³ããããã¡ã«ãã¼ã¿ãæ¸ãè¾¼ãã*/1338 /* 送信ウィンドバッファにデータを書き込む。*/ 1371 1339 error = TCP_WRITE_SWBUF(cep, data, (uint_t)len); 1372 1340 1373 /* éä¿¡ç·æ¥ãã¤ã³ã¿ãè¨å®ããã*/1341 /* 送信緊急ポインタを設定する。*/ 1374 1342 cep->snd_up = cep->snd_una + cep->swbuf_count; 1375 1343 1376 /* åºåããã¹ãããã*/1344 /* 出力をポストする。*/ 1377 1345 cep->flags |= TCP_CEP_FLG_POST_OUTPUT; 1378 1346 sig_sem(SEM_TCP_POST_OUTPUT); 1379 1347 1380 /* ã³ã¼ã«ããã¯é¢æ°ãå¼ã³åºãã*/1348 /* コールバック関数を呼び出す。*/ 1381 1349 #ifdef TCP_CFG_NON_BLOCKING_COMPAT14 1382 1350 (*cep->callback)(GET_TCP_CEPID(cep), TFN_TCP_SND_OOB, (void*)error); … … 1396 1364 } 1397 1365 } 1398 else { /* éãã³ããããã³ã°ã³ã¼ã« */ 1399 1400 #endif /* of #ifdef TCP_CFG_NON_BLOCKING */ 1401 1402 /* éä¿¡ã¦ã£ã³ããããã¡ã空ãã®ãå¾ 1403 ã¤ã*/ 1366 else { /* 非ノンブロッキングコール */ 1367 1368 #endif /* of #ifdef TCP_CFG_NON_BLOCKING */ 1369 1370 /* 送信ウィンドバッファが空くのを待つ。*/ 1404 1371 if ((error = TCP_WAIT_SWBUF(cep, tmout)) != E_OK) 1405 1372 goto err_ret; 1406 1373 1407 /* éä¿¡ã¦ã£ã³ããããã¡ã«ãã¼ã¿ãæ¸ãè¾¼ãã*/1374 /* 送信ウィンドバッファにデータを書き込む。*/ 1408 1375 if ((error = TCP_WRITE_SWBUF(cep, data, (uint_t)len)) > 0) { 1409 1376 1410 /* éä¿¡ç·æ¥ãã¤ã³ã¿ãè¨å®ããã*/1377 /* 送信緊急ポインタを設定する。*/ 1411 1378 cep->snd_up = cep->snd_una + cep->swbuf_count; 1412 1379 1413 /* ãã¼ã¿ãéä¿¡ãããéä¿¡ã¦ã£ã³ããããã¡ããã«ã®ã¨ãã¯å¼·å¶çã«éä¿¡ããã*/1380 /* データを送信する。送信ウィンドバッファがフルのときは強制的に送信する。*/ 1414 1381 if (TCP_IS_SWBUF_FULL(cep)) 1415 1382 cep->flags |= TCP_CEP_FLG_FORCE | TCP_CEP_FLG_FORCE_CLEAR; 1416 1383 1417 /* åºåããã¹ãããã*/1384 /* 出力をポストする。*/ 1418 1385 cep->flags |= TCP_CEP_FLG_POST_OUTPUT; 1419 1386 sig_sem(SEM_TCP_POST_OUTPUT); … … 1437 1404 1438 1405 /* 1439 * tcp_rcv_oob -- ç·æ¥ãã¼ã¿ã®åä¿¡ãæ¡å¼µæ©è½ã1406 * tcp_rcv_oob -- 緊急データの受信【拡張機能】 1440 1407 * 1441 * 注æ: éä¿¡å´ãè¤æ°ãªã¯ãããã®ãã¼ã¿ãéä¿¡ãã¦ãã1442 * ç·æ¥ãã¤ã³ã¿ãæã 1 ãªã¯ãããã®ãã¼ã¿ã®ã¿åä¿¡ããã1408 * 注意: 送信側が複数オクテットのデータを送信しても、 1409 * 緊急ポインタが指す 1 オクテットのデータのみ受信する。 1443 1410 */ 1444 1411 … … 1449 1416 uint8_t *urg; 1450 1417 1451 /* TCP éä¿¡ç«¯ç¹ ID ããã§ãã¯ããã*/1418 /* TCP 通信端点 ID をチェックする。*/ 1452 1419 if (!VALID_TCP_CEPID(cepid)) 1453 1420 return E_ID; 1454 1421 1455 /* data ã NULL ããlen < 0 ãªãã¨ã©ã¼*/1422 /* data が NULL か、len < 0 ならエラー */ 1456 1423 if (data == NULL || len < 0) 1457 1424 return E_PAR; 1458 1425 1459 /* TCP é信端ç¹ãå¾ãã*/1426 /* TCP 通信端点を得る。*/ 1460 1427 cep = GET_TCP_CEP(cepid); 1461 1428 1462 /* åä¿¡ã§ããããé信端ç¹ã®ç¶æ 1463 ãè¦ãã*/ 1464 /* åä¿¡ã§ããããfsm_state ãè¦ãã*/ 1429 /* 受信できるか、通信端点の状態を見る。*/ 1430 /* 受信できるか、fsm_state を見る。*/ 1465 1431 if (!TCP_FSM_CAN_RECV_MORE(cep->fsm_state)) 1466 1432 return E_OBJ; 1467 1433 1468 1434 /* 1469 * ç·æ¥ãã¼ã¿å 1470 ¥ãã®ã»ã°ã¡ã³ãã® TCP ãããã 1471 * è¨å®ããã¦ããªããã°ãç·æ¥ãã¼ã¿ãåä¿¡ãã¦ããªãã 1435 * 緊急データ入りのセグメントの TCP ヘッダが 1436 * 設定されていなければ、緊急データを受信していない。 1472 1437 */ 1473 1438 if (cep->urg_tcph == NULL) 1474 1439 return E_OBJ; 1475 1440 1476 /* len == 0 ãªããããã¡ãªã¼ãã¼ããã¼*/1441 /* len == 0 ならバッファオーバーフロー */ 1477 1442 if (len == 0) 1478 1443 return E_BOVR; 1479 1444 1480 /* ç·æ¥ãã¤ã³ã¿ãæã 1 ãªã¯ãããã®ãã¼ã¿ãèªã¿åãã*/1445 /* 緊急ポインタが指す 1 オクテットのデータを読み取る。*/ 1481 1446 urg = (uint8_t*)cep->urg_tcph + TCP_DATA_OFF(cep->urg_tcph->doff) + cep->urg_tcph->urp + TCP_CFG_URG_OFFSET; 1482 1447 *(uint8_t*)data = *urg; 1483 1448 1484 /* èªã¿åã£ããã¼ã¿ããå¾ãã® SDU ãåã«è©°ããã*/1449 /* 読み取ったデータから後ろの SDU を前に詰める。*/ 1485 1450 memcpy(urg, urg + 1, cep->urg_tcph->sum - (cep->urg_tcph->urp + TCP_CFG_URG_OFFSET) - 1); 1486 1451 1487 /* tcp_rcv_oob() ãå¼åºããããã¨ç¥ãããããã«ãNULL ãè¨å®ããã*/1452 /* tcp_rcv_oob() が呼出されたこと知らせるために、NULL を設定する。*/ 1488 1453 cep->urg_tcph = NULL; 1489 1454 … … 1500 1465 1501 1466 /* 1502 * tcp_del_rep -- TCP åä»å£ã®åé¤ãæ¡å¼µæ©è½ã1467 * tcp_del_rep -- TCP 受付口の削除【拡張機能】 1503 1468 */ 1504 1469 … … 1512 1477 1513 1478 /* 1514 * TCP åä»å£ ID ããã§ãã¯ããã1515 * IPv6 ç¨ TCP åä»å£ã§ããã°ã1516 * IPv6 ç¨ã®ãTCP åä»å£ã®åé¤é¢æ°ï¼æ¬ä½ï¼ããå¼åºãã1479 * TCP 受付口 ID をチェックする。 1480 * IPv6 用 TCP 受付口であれば、 1481 * IPv6 用の「TCP 受付口の削除関数(本体)」を呼出す。 1517 1482 */ 1518 1483 //NET_DEBUG_TCP3("tcp_del_rep1[r=%d,n=%d,x=%d]\n", … … 1524 1489 1525 1490 /* 1526 * TCP åä»å£ ID ããã§ãã¯ããã1527 * IPv4 ç¨ TCP åä»å£ã§ããã°ã1528 * IPv4 ç¨ã®ãTCP åä»å£ã®åé¤é¢æ°ï¼æ¬ä½ï¼ããå¼åºãã1491 * TCP 受付口 ID をチェックする。 1492 * IPv4 用 TCP 受付口であれば、 1493 * IPv4 用の「TCP 受付口の削除関数(本体)」を呼出す。 1529 1494 */ 1530 1495 else if (VALID_TCP4_REPID(repid)) … … 1541 1506 { 1542 1507 1543 /* TCP åä»å£ ID ããã§ãã¯ããã*/1508 /* TCP 受付口 ID をチェックする。*/ 1544 1509 if (VALID_TCP6_REPID(repid)) 1545 1510 return tcp6_del_rep_body(repid); … … 1557 1522 { 1558 1523 1559 /* TCP åä»å£ ID ããã§ãã¯ããã*/1524 /* TCP 受付口 ID をチェックする。*/ 1560 1525 if (VALID_TCP4_REPID(repid)) 1561 1526 return tcp4_del_rep_body(repid); … … 1570 1535 1571 1536 /* 1572 * tcp_set_opt -- TCP é信端ç¹ãªãã·ã§ã³ã®è¨å®ãæ¡å¼µæ©è½ã1537 * tcp_set_opt -- TCP 通信端点オプションの設定【拡張機能】 1573 1538 * 1574 * 注æ: è¨å®å¯è½ãª TCP é信端ç¹ãªãã·ã§ã³ã¯ç¡ããããE_PAR ãè¿ãããã1539 * 注意: 設定可能な TCP 通信端点オプションは無いため、E_PAR が返される。 1575 1540 */ 1576 1541 … … 1582 1547 T_TCP_CEP *cep; 1583 1548 1584 /* TCP éä¿¡ç«¯ç¹ ID ããã§ãã¯ããã*/1549 /* TCP 通信端点 ID をチェックする。*/ 1585 1550 if (!VALID_TCP_CEPID(cepid)) 1586 1551 return E_ID; 1587 1552 1588 /* TCP é信端ç¹ãå¾ãã*/1553 /* TCP 通信端点を得る。*/ 1589 1554 cep = GET_TCP_CEP(cepid); 1590 1555 1591 /* TCP é信端ç¹ããã§ãã¯ããã*/1556 /* TCP 通信端点をチェックする。*/ 1592 1557 if (!VALID_TCP_CEP(cep)) 1593 1558 return E_NOEXS; … … 1599 1564 1600 1565 /* 1601 * tcp_get_opt -- TCP é信端ç¹ãªãã·ã§ã³ã®è¨å®ãæ¡å¼µæ©è½ã1566 * tcp_get_opt -- TCP 通信端点オプションの設定【拡張機能】 1602 1567 * 1603 * 注æ: è¨å®å¯è½ãª TCP é信端ç¹ãªãã·ã§ã³ã¯ç¡ããããE_PAR ãè¿ãããã1568 * 注意: 設定可能な TCP 通信端点オプションは無いため、E_PAR が返される。 1604 1569 */ 1605 1570 … … 1611 1576 T_TCP_CEP *cep; 1612 1577 1613 /* TCP éä¿¡ç«¯ç¹ ID ããã§ãã¯ããã*/1578 /* TCP 通信端点 ID をチェックする。*/ 1614 1579 if (!VALID_TCP_CEPID(cepid)) 1615 1580 return E_ID; 1616 1581 1617 /* TCP é信端ç¹ãå¾ãã*/1582 /* TCP 通信端点を得る。*/ 1618 1583 cep = GET_TCP_CEP(cepid); 1619 1584 1620 /* TCP é信端ç¹ããã§ãã¯ããã*/1585 /* TCP 通信端点をチェックする。*/ 1621 1586 if (!VALID_TCP_CEP(cep)) 1622 1587 return E_NOEXS; -
asp3_gr_sakura/trunk/tinet/netinet/tcp_var.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 84 72 85 73 /* 86 * TCP ãããã»ãã¤ãã¼ãã¢ã¯ã»ã¹ãã¯ã74 * TCP ヘッダ・ペイロードアクセスマクロ 87 75 */ 88 76 … … 104 92 105 93 /* 106 * TINET 1.1 ã¨ã®äºææ§ã®ããã®å®ç¾©94 * TINET 1.1 との互換性のための定義 107 95 */ 108 96 … … 117 105 118 106 /* 119 * TINET 1.3 ã¨ã®äºææ§ã®ããã®å®ç¾©107 * TINET 1.3 との互換性のための定義 120 108 */ 121 109 … … 127 115 128 116 /* 129 * ã³ã¼ã«ããã¯é¢æ°ã®å®ç¾©117 * コールバック関数の定義 130 118 */ 131 119 … … 133 121 134 122 /* 135 * TCP ã§ä½¿ç¨ããå¤æ°ã®åã®å®ç¾©123 * TCP で使用する変数の型の定義 136 124 */ 137 125 … … 142 130 143 131 /* 144 * TCP ã¿ã¤ãå¤æ°145 */ 146 147 #define NUM_TCP_TIMERS 4 /* TCP ã®ã¿ã¤ãæ°*/148 149 /* 150 * TCP åä»å£151 */ 152 153 /* IPv6 ç¨ TCP åä»å£*/132 * TCP タイマ変数 133 */ 134 135 #define NUM_TCP_TIMERS 4 /* TCP のタイマ数 */ 136 137 /* 138 * TCP 受付口 139 */ 140 141 /* IPv6 用 TCP 受付口 */ 154 142 155 143 typedef struct t_tcp6_rep { 156 144 157 145 /* 158 * ITRON TCP/IP API ãTCP åä»å£ã¨åãã¡ã³ã146 * ITRON TCP/IP API、TCP 受付口と同じメンバ 159 147 */ 160 ATR repatr; /* åä»å£å±æ§*/161 T_IPV6EP myaddr; /* èªåã®ã¢ãã¬ã¹*/148 ATR repatr; /* 受付口属性 */ 149 T_IPV6EP myaddr; /* 自分のアドレス */ 162 150 163 151 #ifdef TCP_CFG_EXTENTIONS 164 uint16_t flags; /* åä»å£ãã©ã°*/165 ID semid_lock; /* åä»å£ããã¯*/152 uint16_t flags; /* 受付口フラグ */ 153 ID semid_lock; /* 受付口ロック */ 166 154 #endif /* of #ifdef TCP_CFG_EXTENTIONS */ 167 155 168 156 } T_TCP6_REP; 169 157 170 /* IPv4 ç¨ TCP åä»å£*/158 /* IPv4 用 TCP 受付口 */ 171 159 172 160 typedef struct t_tcp4_rep { 173 161 174 162 /* 175 * ITRON TCP/IP API ãTCP åä»å£ã¨åãã¡ã³ã163 * ITRON TCP/IP API、TCP 受付口と同じメンバ 176 164 */ 177 ATR repatr; /* åä»å£å±æ§*/178 T_IPV4EP myaddr; /* èªåã®ã¢ãã¬ã¹*/165 ATR repatr; /* 受付口属性 */ 166 T_IPV4EP myaddr; /* 自分のアドレス */ 179 167 180 168 #ifdef TCP_CFG_EXTENTIONS 181 uint16_t flags; /* åä»å£ãã©ã°*/182 ID semid_lock; /* åä»å£ããã¯*/169 uint16_t flags; /* 受付口フラグ */ 170 ID semid_lock; /* 受付口ロック */ 183 171 #endif /* of #ifdef TCP_CFG_EXTENTIONS */ 184 172 … … 202 190 203 191 /* 204 * åä»å£ãã©ã°205 */ 206 207 #define TCP_REP_FLG_DYNAMIC UINT_C(0x0400) /* åççæã»åé¤å¯è½åä»å£ã*/208 #define TCP_REP_FLG_VALID UINT_C(0x0800) /* çææ¸ã¿ã§æå¹ãªåä»å£ã*/209 210 /* 211 * TCP é信端ç¹192 * 受付口フラグ 193 */ 194 195 #define TCP_REP_FLG_DYNAMIC UINT_C(0x0400) /* 動的生成・削除可能受付口。 */ 196 #define TCP_REP_FLG_VALID UINT_C(0x0800) /* 生成済みで有効な受付口。 */ 197 198 /* 199 * TCP 通信端点 212 200 */ 213 201 … … 223 211 224 212 /* 225 * ITRON TCP/IP API ãTCP é信端ç¹ã¨åãã¡ã³ã213 * ITRON TCP/IP API、TCP 通信端点と同じメンバ 226 214 */ 227 ATR cepatr; /* é信端ç¹å±æ§*/228 void *sbuf; /* éä¿¡ç¨ã¦ã£ã³ããããã¡*/229 int_t sbufsz; /* éä¿¡ç¨ã¦ã£ã³ããããã¡ãµã¤ãº*/230 void *rbuf; /* åä¿¡ç¨ã¦ã£ã³ããããã¡*/231 int_t rbufsz; /* åä¿¡ç¨ã¦ã£ã³ããããã¡ãµã¤ãº*/232 t_tcp_callback callback; /* ã³ã¼ã«ããã¯é¢æ°*/215 ATR cepatr; /* 通信端点属性 */ 216 void *sbuf; /* 送信用ウィンドバッファ */ 217 int_t sbufsz; /* 送信用ウィンドバッファサイズ */ 218 void *rbuf; /* 受信用ウィンドバッファ */ 219 int_t rbufsz; /* 受信用ウィンドバッファサイズ */ 220 t_tcp_callback callback; /* コールバック関数 */ 233 221 234 222 /* 235 * TINET ç¬èªã®ã¡ã³ã223 * TINET 独自のメンバ 236 224 */ 237 uint32_t flags; /* é信端ç¹ãã©ã° */ 238 ID semid_lock; /* é信端ç¹ãã㯠*/ 239 ID est_flgid; /* ã³ãã¯ã·ã§ã³ç¶æ 240 ã¤ãã³ããã©ã° */ 241 ID snd_flgid; /* éä¿¡ã¤ãã³ããã©ã° */ 242 ID rcv_flgid; /* åä¿¡ã¤ãã³ããã©ã° */ 243 ID snd_tskid; /* éä¿¡ã¿ã¹ã¯èå¥å */ 244 ID rcv_tskid; /* åä¿¡ã¿ã¹ã¯èå¥å */ 245 uint8_t *sbuf_rptr; /* éä¿¡ç¨èªã¿åºããã¤ã³ã¿ */ 246 uint8_t *sbuf_wptr; /* éä¿¡ç¨æ¸ãè¾¼ã¿ãã¤ã³ã¿ */ 247 uint8_t *rbuf_rptr; /* åä¿¡ç¨èªã¿åºããã¤ã³ã¿ */ 248 uint8_t *rbuf_wptr; /* åä¿¡ç¨æ¸ãè¾¼ã¿ãã¤ã³ã¿ */ 249 T_TCP_SEQ snd_ssthresh; /* 輻輳ã¦ã£ã³ããµã¤ãº(snd_cwnd) */ 250 /* ã®ãããå¤ */ 251 T_TCP_TIME rxtcur; /* ç¾å¨ã®åéã¿ã¤ã ã¢ã¦ã */ 252 T_TCP_TIME srtt; /* å¹³æ»åããã RTT */ 253 T_TCP_TIME rttvar; /* å¹³æ»åãããåæ£ */ 254 T_TCP_WND snd_cwnd; /* 輻輳ã¦ã£ã³ããµã¤ãº */ 225 uint32_t flags; /* 通信端点フラグ */ 226 ID semid_lock; /* 通信端点ロック */ 227 ID est_flgid; /* コネクション状態イベントフラグ */ 228 ID snd_flgid; /* 送信イベントフラグ */ 229 ID rcv_flgid; /* 受信イベントフラグ */ 230 ID snd_tskid; /* 送信タスク識別子 */ 231 ID rcv_tskid; /* 受信タスク識別子 */ 232 uint8_t *sbuf_rptr; /* 送信用読み出しポインタ */ 233 uint8_t *sbuf_wptr; /* 送信用書き込みポインタ */ 234 uint8_t *rbuf_rptr; /* 受信用読み出しポインタ */ 235 uint8_t *rbuf_wptr; /* 受信用書き込みポインタ */ 236 T_TCP_SEQ snd_ssthresh; /* 輻輳ウィンドサイズ(snd_cwnd) */ 237 /* のしきい値 */ 238 T_TCP_TIME rxtcur; /* 現在の再送タイムアウト */ 239 T_TCP_TIME srtt; /* 平滑化された RTT */ 240 T_TCP_TIME rttvar; /* 平滑化された分散 */ 241 T_TCP_WND snd_cwnd; /* 輻輳ウィンドサイズ */ 255 242 256 243 /* 257 * ç¸æã®æ大åä¿¡ã»ã°ã¡ã³ããµã¤ãº244 * 相手の最大受信セグメントサイズ 258 245 * 259 * ãªãªã¸ãã«ã§ã¯ãä¸è¬ã®ã»ã°ã¡ã³ãã®æ大ãµã¤ãº (t_maxseg) ã¨ã 260 * ãªãã·ã§ã³ä»ãã®ã»ã°ã¡ã³ãã®æ大ãµã¤ãº (t_maxopd) ãå¥ã« 261 * ãªã£ã¦ãããããã¯ãç¾å¨ã®ã¤ã³ã¿ã¼ãããã§ã¯ããªãã·ã§ã³ä»ãã® 262 * ã»ã°ã¡ã³ãã®ã»ããå¤ãããã¨èª¬æããã¦ããããã§ããã 263 * æ¬å®è£ 264 ã§ã¯ãæ大ã»ã°ã¡ã³ããµã¤ãºãªãã·ã§ã³ä»¥å¤ã®ãªãã·ã§ã³ã¯ 265 * å®è£ 266 ããªãã®ã§ãt_maxseg ã®ä½¿ç¨ããã 246 * オリジナルでは、一般のセグメントの最大サイズ (t_maxseg) と、 247 * オプション付きのセグメントの最大サイズ (t_maxopd) が別に 248 * なっている。これは、現在のインターネットでは、オプション付きの 249 * セグメントのほうが多いからと説明されているためである。 250 * 本実装では、最大セグメントサイズオプション以外のオプションは 251 * 実装しないので、t_maxseg の使用する。 267 252 */ 268 253 T_TCP_SEG maxseg; 269 254 270 int16_t snd_tfn; /* éä¿¡åä½ä¸ã® API æ©è½ã³ã¼ã*/271 int16_t rcv_tfn; /* åä¿¡åä½ä¸ã® API æ©è½ã³ã¼ã*/255 int16_t snd_tfn; /* 送信動作中の API 機能コード */ 256 int16_t rcv_tfn; /* 受信動作中の API 機能コード */ 272 257 273 258 #ifdef TCP_CFG_NON_BLOCKING 274 259 275 T_IPEP *p_dstaddr; /* ç¸æã®ã¢ãã¬ã¹ã¸ã®ãã¤ã³ã¿*/276 T_IPEP *p_myaddr; /* èªåã®ã¢ãã¬ã¹ã¸ã®ãã¤ã³ã¿*/260 T_IPEP *p_dstaddr; /* 相手のアドレスへのポインタ */ 261 T_IPEP *p_myaddr; /* 自分のアドレスへのポインタ */ 277 262 278 263 #if defined(_IP6_CFG) && defined(_IP4_CFG) 279 T_IPV4EP *p_dstaddr4; /* ç¸æã®ã¢ãã¬ã¹ã¸ã®ãã¤ã³ã¿*/280 T_IPV4EP *p_myaddr4; /* èªåã®ã¢ãã¬ã¹ã¸ã®ãã¤ã³ã¿*/264 T_IPV4EP *p_dstaddr4; /* 相手のアドレスへのポインタ */ 265 T_IPV4EP *p_myaddr4; /* 自分のアドレスへのポインタ */ 281 266 #endif 282 267 283 int16_t snd_nblk_tfn; /* éä¿¡åä½ä¸ã® API æ©è½ã³ã¼ã */ 284 int16_t rcv_nblk_tfn; /* åä¿¡åä½ä¸ã® API æ©è½ã³ã¼ã */ 285 void *snd_data; /* éä¿¡ãã¼ã¿é åã®å 286 é ã¢ãã¬ã¹ */ 287 int_t snd_len; /* éä¿¡ãã¼ã¿é åã®é·ã */ 288 void *rcv_data; /* åä¿¡ãã¼ã¿é åã®å 289 é ã¢ãã¬ã¹ */ 290 int_t rcv_len; /* åä¿¡ãã¼ã¿é åã®é·ã */ 291 void **snd_p_buf; /* éä¿¡ãããã¡ã¸ã®ãã¤ã³ã¿ */ 292 void **rcv_p_buf; /* åä¿¡ãããã¡ã¸ã®ãã¤ã³ã¿ */ 268 int16_t snd_nblk_tfn; /* 送信動作中の API 機能コード */ 269 int16_t rcv_nblk_tfn; /* 受信動作中の API 機能コード */ 270 void *snd_data; /* 送信データ領域の先頭アドレス */ 271 int_t snd_len; /* 送信データ領域の長さ */ 272 void *rcv_data; /* 受信データ領域の先頭アドレス */ 273 int_t rcv_len; /* 受信データ領域の長さ */ 274 void **snd_p_buf; /* 送信バッファへのポインタ */ 275 void **rcv_p_buf; /* 受信バッファへのポインタ */ 293 276 294 277 #endif /* of #ifdef TCP_CFG_NON_BLOCKING */ 295 278 296 279 #ifdef TCP_CFG_SWBUF_CSAVE 297 T_NET_BUF *swbufq; /* éä¿¡ã¦ã£ã³ããããã¡ãã¥ã¼*/280 T_NET_BUF *swbufq; /* 送信ウィンドバッファキュー */ 298 281 #endif 299 282 300 283 /* 301 * ãã以éã®ã¡ã³ãã¼ã¯ tcp_init_cep() é¢æ°ã§ã¼ãã¯ãªã¢ã¼ãããã284 * これ以降のメンバーは tcp_init_cep() 関数でゼロクリアーされる。 302 285 */ 303 286 304 T_TCP_TIME timer[NUM_TCP_TIMERS]; /* TCP ã®ã¿ã¤ã*/305 T_IPEP dstaddr; /* ç¸æã®ã¢ãã¬ã¹*/306 T_IPEP myaddr; /* èªåã®ã¢ãã¬ã¹*/307 T_NET_BUF *reassq; /* åä¿¡åæ§æãã¥ã¼*/287 T_TCP_TIME timer[NUM_TCP_TIMERS]; /* TCP のタイマ */ 288 T_IPEP dstaddr; /* 相手のアドレス */ 289 T_IPEP myaddr; /* 自分のアドレス */ 290 T_NET_BUF *reassq; /* 受信再構成キュー */ 308 291 309 292 #if defined(_IP6_CFG) … … 311 294 #if defined(_IP4_CFG) 312 295 313 T_TCP4_REP *rep4; /* IPv4 ç¨åä»å£*/296 T_TCP4_REP *rep4; /* IPv4 用受付口 */ 314 297 315 298 #endif /* of #if defined(_IP4_CFG) */ 316 299 317 T_TCP6_REP *rep; /* IPv6 ç¨åä»å£*/300 T_TCP6_REP *rep; /* IPv6 用受付口 */ 318 301 319 302 #else /* of #if defined(_IP6_CFG) */ … … 321 304 #if defined(_IP4_CFG) 322 305 323 T_TCP4_REP *rep; /* IPv4 ç¨åä»å£*/306 T_TCP4_REP *rep; /* IPv4 用受付口 */ 324 307 325 308 #endif /* of #if defined(_IP4_CFG) */ … … 329 312 330 313 #ifdef TCP_CFG_RWBUF_CSAVE 331 T_NET_BUF *rwbufq; /* åä¿¡ã¦ã£ã³ããããã¡ãã¥ã¼*/314 T_NET_BUF *rwbufq; /* 受信ウィンドバッファキュー */ 332 315 #endif 333 316 334 317 #ifdef TCP_CFG_EXTENTIONS 335 T_TCP_HDR *urg_tcph; /* ç·æ¥ãã¼ã¿å 336 ¥ãã®ã»ã°ã¡ã³ãã® TCP ããã */ 337 T_TCP_SEQ snd_up; /* éä¿¡ããç·æ¥ãã¤ã³ã¿ */ 338 T_TCP_SEQ rcv_up; /* åä¿¡ããç·æ¥ãã¤ã³ã¿ */ 318 T_TCP_HDR *urg_tcph; /* 緊急データ入りのセグメントの TCP ヘッダ */ 319 T_TCP_SEQ snd_up; /* 送信した緊急ポインタ */ 320 T_TCP_SEQ rcv_up; /* 受信した緊急ポインタ */ 339 321 #endif /* of #ifdef TCP_CFG_EXTENTIONS */ 340 322 341 T_TCP_SEQ snd_una; /* æªç¢ºèªã®æå°éä¿¡ SEQ ã¤ã¾ã */ 342 /* 確èªãããæ大éä¿¡ SEQ */ 343 T_TCP_SEQ snd_max; /* éä¿¡ããæ大 SEQ */ 344 T_TCP_SEQ snd_nxt; /* 次ã«éä¿¡ãã SEQ */ 345 T_TCP_SEQ snd_old_nxt; /* å 346 ã® snd_nxt */ 347 T_TCP_SEQ snd_wl1; /* ååã¦ã£ã³ããæ´æ°ãã SEQ */ 348 T_TCP_SEQ snd_wl2; /* ååã¦ã£ã³ããæ´æ°ãã ACK */ 349 T_TCP_SEQ iss; /* èªåã® SEQ ã®åæå¤ */ 350 T_TCP_SEQ irs; /* ç¸æã® SEQ ã®åæå¤ */ 351 T_TCP_SEQ rcv_nxt; /* åä¿¡ãæå¾ 352 ãã¦ããæå°ã® SEQ */ 353 T_TCP_SEQ rcv_adv; /* åä¿¡ãæå¾ 354 ãã¦ããæ大㮠SEQ */ 355 T_TCP_SEQ rcv_wnd; /* åä¿¡å¯è½ãªã¦ã£ã³ããµã¤ãº */ 356 T_TCP_SEQ rtseq; /* æéè¨æ¸¬ãå§ãã SEQ */ 357 T_TCP_SEQ last_ack_sent; /* æå¾ã«éä¿¡ãã ACK */ 358 T_TCP_TIME idle; /* ã¢ã¤ãã«æé */ 359 ER error; /* éåæã«çºçããã¨ã©ã¼ */ 360 ER net_error; /* ãããã¯ã¼ã¯ã®ã¨ã©ã¼ç¶æ 361 */ 362 T_TCP_WND snd_wnd; /* ç¸æã®åä¿¡å¯è½ã¦ã£ã³ããµã¤ãº */ 363 T_TCP_WND max_sndwnd; /* ä»ã¾ã§ã®æ大éä¿¡ã¦ã£ã³ããµã¤ãº */ 364 T_TCP_TIME rtt; /* å¾å¾©æé */ 365 uint16_t swbuf_count; /* éä¿¡ã¦ã£ã³ããããã¡ã®ä½¿ç¨ä¸ãµã¤ãº */ 366 uint16_t rwbuf_count; /* åä¿¡ã¦ã£ã³ããããã¡ã®ä½¿ç¨ä¸ãµã¤ãº */ 367 uint16_t rcv_buf_len; /* tcp_rcv_buf ã®å²å½ã¦é· */ 368 uint16_t get_buf_len; /* tcp_rcv_buf ã®å²å½ã¦é· */ 369 uint8_t rxtshift; /* åéä¿¡åæ°ã® log(2) */ 370 uint8_t fsm_state; /* FSM ç¶æ 371 */ 372 uint8_t dupacks; /* åé ACK æ° */ 323 T_TCP_SEQ snd_una; /* 未確認の最小送信 SEQ つまり */ 324 /* 確認された最大送信 SEQ */ 325 T_TCP_SEQ snd_max; /* 送信した最大 SEQ */ 326 T_TCP_SEQ snd_nxt; /* 次に送信する SEQ */ 327 T_TCP_SEQ snd_old_nxt; /* 元の snd_nxt */ 328 T_TCP_SEQ snd_wl1; /* 前回ウィンドを更新した SEQ */ 329 T_TCP_SEQ snd_wl2; /* 前回ウィンドを更新した ACK */ 330 T_TCP_SEQ iss; /* 自分の SEQ の初期値 */ 331 T_TCP_SEQ irs; /* 相手の SEQ の初期値 */ 332 T_TCP_SEQ rcv_nxt; /* 受信を期待している最小の SEQ */ 333 T_TCP_SEQ rcv_adv; /* 受信を期待している最大の SEQ */ 334 T_TCP_SEQ rcv_wnd; /* 受信可能なウィンドサイズ */ 335 T_TCP_SEQ rtseq; /* 時間計測を始めた SEQ */ 336 T_TCP_SEQ last_ack_sent; /* 最後に送信した ACK */ 337 T_TCP_TIME idle; /* アイドル時間 */ 338 ER error; /* 非同期に発生したエラー */ 339 ER net_error; /* ネットワークのエラー状態 */ 340 T_TCP_WND snd_wnd; /* 相手の受信可能ウィンドサイズ */ 341 T_TCP_WND max_sndwnd; /* 今までの最大送信ウィンドサイズ */ 342 T_TCP_TIME rtt; /* 往復時間 */ 343 uint16_t swbuf_count; /* 送信ウィンドバッファの使用中サイズ */ 344 uint16_t rwbuf_count; /* 受信ウィンドバッファの使用中サイズ */ 345 uint16_t rcv_buf_len; /* tcp_rcv_buf の割当て長 */ 346 uint16_t get_buf_len; /* tcp_rcv_buf の割当て長 */ 347 uint8_t rxtshift; /* 再送信回数の log(2) */ 348 uint8_t fsm_state; /* FSM 状態 */ 349 uint8_t dupacks; /* 再送 ACK 数 */ 373 350 374 351 #if defined(TCP_CFG_RWBUF_CSAVE) && defined(TCP_CFG_RWBUF_CSAVE_MAX_QUEUES) 375 uint16_t rwbufq_entries; /* åä¿¡ã¦ã£ã³ããããã¡ãã¥ã¼ã®ã¨ã³ããªæ°*/352 uint16_t rwbufq_entries; /* 受信ウィンドバッファキューのエントリ数 */ 376 353 #endif 377 354 … … 382 359 383 360 /* 384 * Time Wait ç¨ TCP é信端ç¹361 * Time Wait 用 TCP 通信端点 385 362 */ 386 363 387 364 typedef struct t_tcp_twcep { 388 int_t rbufsz; /* åä¿¡ç¨ã¦ã£ã³ããããã¡ãµã¤ãº */ 389 T_TCP_TIME timer_2msl; /* 2MSL ã¿ã¤ã */ 390 T_IPEP dstaddr; /* ç¸æã®ã¢ãã¬ã¹ */ 391 T_IPEP myaddr; /* èªåã®ã¢ãã¬ã¹ */ 392 T_TCP_SEQ snd_una; /* æªç¢ºèªã®æå°éä¿¡ SEQ ã¤ã¾ã */ 393 /* 確èªãããæ大éä¿¡ SEQ */ 394 T_TCP_SEQ rcv_nxt; /* åä¿¡ãæå¾ 395 ãã¦ããæå°ã® SEQ */ 396 uint16_t rwbuf_count; /* åä¿¡ã¦ã£ã³ããããã¡ã®ä½¿ç¨ä¸ãµã¤ãº */ 397 uint8_t fsm_state; /* FSM ç¶æ 398 */ 399 uint8_t flags; /* é信端ç¹ãã©ã° */ 365 int_t rbufsz; /* 受信用ウィンドバッファサイズ */ 366 T_TCP_TIME timer_2msl; /* 2MSL タイマ */ 367 T_IPEP dstaddr; /* 相手のアドレス */ 368 T_IPEP myaddr; /* 自分のアドレス */ 369 T_TCP_SEQ snd_una; /* 未確認の最小送信 SEQ つまり */ 370 /* 確認された最大送信 SEQ */ 371 T_TCP_SEQ rcv_nxt; /* 受信を期待している最小の SEQ */ 372 uint16_t rwbuf_count; /* 受信ウィンドバッファの使用中サイズ */ 373 uint8_t fsm_state; /* FSM 状態 */ 374 uint8_t flags; /* 通信端点フラグ */ 400 375 401 376 } T_TCP_TWCEP; … … 404 379 405 380 /* 406 * TCP é信端ç¹ã®ç¶æ 407 ãã©ã° 408 */ 409 410 #define TCP_CEP_FLG_IPV4 ULONG_C(0x00000001) /* IPv4 ç¨ã */ 411 #define TCP_CEP_FLG_ACK_NOW ULONG_C(0x00000100) /* ç´ã¡ã«ç¸æã« ACK ãéãã */ 412 #define TCP_CEP_FLG_DEL_ACK ULONG_C(0x00000200) /* ACK ãé 413 延ããã */ 414 #define TCP_CEP_FLG_SENT_FIN ULONG_C(0x00000400) /* FIN ãéã£ã¦ããã */ 415 #define TCP_CEP_FLG_NEED_SYN ULONG_C(0x00000800) /* SYN ãéä¿¡ããã */ 416 #define TCP_CEP_FLG_NEED_FIN ULONG_C(0x00001000) /* FIN ãéä¿¡ããã */ 417 #define TCP_CEP_FLG_FORCE ULONG_C(0x00002000) /* å¼·å¶éä¿¡ã */ 418 #define TCP_CEP_FLG_NO_PUSH ULONG_C(0x00004000) /* push ããªãã */ 419 #define TCP_CEP_FLG_NO_DELAY ULONG_C(0x00008000) /* é 420 延ããªãã */ 421 #define TCP_CEP_FLG_FORCE_CLEAR ULONG_C(0x00010000) /* å¼·å¶éä¿¡ããå¾ãã©ã°ãã¯ãªã¢ã¼ããã*/ 422 #define TCP_CEP_FLG_POST_OUTPUT ULONG_C(0x00020000) /* éä¿¡ãéå§ããã */ 423 #define TCP_CEP_FLG_RESERVE_OUTPUT ULONG_C(0x00040000) /* éä¿¡ãäºç´ããã */ 424 #define TCP_CEP_FLG_DYNAMIC ULONG_C(0x00100000) /* åççæã»åé¤å¯è½é信端ç¹ã */ 425 #define TCP_CEP_FLG_VALID ULONG_C(0x00200000) /* çææ¸ã¿ã§æå¹ãªé信端ç¹ã */ 426 #define TCP_CEP_FLG_CLOSE_AFTER_OUTPUT ULONG_C(0x00400000) /* éä¿¡ããå¾ã³ãã¯ã·ã§ã³ãéããã*/ 427 #define TCP_CEP_FLG_RESTORE_NEXT_OUTPUT ULONG_C(0x00800000) /* éä¿¡ããå¾ãsnd_nxt ãå 428 ã«æ»ãã*/ 429 430 /* éåä¿¡ã¦ã£ã³ããããã¡ã®çã³ãã¼æ©è½ */ 431 #define TCP_CEP_FLG_WBCS_NBUF_REQ ULONG_C(0x80000000) /* ãããã¯ã¼ã¯ãããã¡å²å½ã¦è¦æ±*/ 432 #define TCP_CEP_FLG_WBCS_MASK ULONG_C(0x70000000) /* ãã¹ã¯ */ 433 #define TCP_CEP_FLG_WBCS_FREE ULONG_C(0x00000000) /* éä¿¡ã¦ã£ã³ããããã¡æªä½¿ç¨ */ 434 #define TCP_CEP_FLG_WBCS_WOPEN_PEND ULONG_C(0x10000000) /* ç¸æã®åä¿¡ã¦ã£ã³ãã®éãå¾ 435 ã¡ */ 436 #define TCP_CEP_FLG_WBCS_NBUF_PEND ULONG_C(0x20000000) /* ãããã¯ã¼ã¯ãããã¡äºç´å¾ 437 ã¡ */ 438 #define TCP_CEP_FLG_WBCS_NBUF_RSVD ULONG_C(0x30000000) /* ãããã¯ã¼ã¯ãããã¡äºç´æ¸ã¿ */ 439 #define TCP_CEP_FLG_WBCS_NBUF_READY ULONG_C(0x40000000) /* ãããã¯ã¼ã¯ãããã¡å²å½ã¦æ¸ã¿*/ 440 #define TCP_CEP_FLG_WBCS_SEND_READY ULONG_C(0x50000000) /* éä¿¡å¯è½ */ 441 #define TCP_CEP_FLG_WBCS_SENT ULONG_C(0x60000000) /* éä¿¡æ¸ã¿ã§ãACKå¾ 442 ã¡ */ 443 #define TCP_CEP_FLG_WBCS_ACKED ULONG_C(0x70000000) /* éä¿¡æ¸ã¿ã§ãACKå®äº */ 444 445 /* åæåããé¤å¤ãããã©ã°ã®å®ç¾© */ 381 * TCP 通信端点の状態フラグ 382 */ 383 384 #define TCP_CEP_FLG_IPV4 ULONG_C(0x00000001) /* IPv4 用。 */ 385 #define TCP_CEP_FLG_ACK_NOW ULONG_C(0x00000100) /* 直ちに相手に ACK を送る。 */ 386 #define TCP_CEP_FLG_DEL_ACK ULONG_C(0x00000200) /* ACK を遅延する。 */ 387 #define TCP_CEP_FLG_SENT_FIN ULONG_C(0x00000400) /* FIN を送ってある。 */ 388 #define TCP_CEP_FLG_NEED_SYN ULONG_C(0x00000800) /* SYN を送信する。 */ 389 #define TCP_CEP_FLG_NEED_FIN ULONG_C(0x00001000) /* FIN を送信する。 */ 390 #define TCP_CEP_FLG_FORCE ULONG_C(0x00002000) /* 強制送信。 */ 391 #define TCP_CEP_FLG_NO_PUSH ULONG_C(0x00004000) /* push しない。 */ 392 #define TCP_CEP_FLG_NO_DELAY ULONG_C(0x00008000) /* 遅延しない。 */ 393 #define TCP_CEP_FLG_FORCE_CLEAR ULONG_C(0x00010000) /* 強制送信した後フラグをクリアーする。*/ 394 #define TCP_CEP_FLG_POST_OUTPUT ULONG_C(0x00020000) /* 送信を開始する。 */ 395 #define TCP_CEP_FLG_RESERVE_OUTPUT ULONG_C(0x00040000) /* 送信を予約する。 */ 396 #define TCP_CEP_FLG_DYNAMIC ULONG_C(0x00100000) /* 動的生成・削除可能通信端点。 */ 397 #define TCP_CEP_FLG_VALID ULONG_C(0x00200000) /* 生成済みで有効な通信端点。 */ 398 #define TCP_CEP_FLG_CLOSE_AFTER_OUTPUT ULONG_C(0x00400000) /* 送信した後コネクションを閉じる。*/ 399 #define TCP_CEP_FLG_RESTORE_NEXT_OUTPUT ULONG_C(0x00800000) /* 送信した後、snd_nxt を元に戻す。*/ 400 401 /* 送受信ウィンドバッファの省コピー機能 */ 402 #define TCP_CEP_FLG_WBCS_NBUF_REQ ULONG_C(0x80000000) /* ネットワークバッファ割当て要求*/ 403 #define TCP_CEP_FLG_WBCS_MASK ULONG_C(0x70000000) /* マスク */ 404 #define TCP_CEP_FLG_WBCS_FREE ULONG_C(0x00000000) /* 送信ウィンドバッファ未使用 */ 405 #define TCP_CEP_FLG_WBCS_WOPEN_PEND ULONG_C(0x10000000) /* 相手の受信ウィンドの開き待ち */ 406 #define TCP_CEP_FLG_WBCS_NBUF_PEND ULONG_C(0x20000000) /* ネットワークバッファ予約待ち */ 407 #define TCP_CEP_FLG_WBCS_NBUF_RSVD ULONG_C(0x30000000) /* ネットワークバッファ予約済み */ 408 #define TCP_CEP_FLG_WBCS_NBUF_READY ULONG_C(0x40000000) /* ネットワークバッファ割当て済み*/ 409 #define TCP_CEP_FLG_WBCS_SEND_READY ULONG_C(0x50000000) /* 送信可能 */ 410 #define TCP_CEP_FLG_WBCS_SENT ULONG_C(0x60000000) /* 送信済みで、ACK待ち */ 411 #define TCP_CEP_FLG_WBCS_ACKED ULONG_C(0x70000000) /* 送信済みで、ACK完了 */ 412 413 /* 初期化から除外するフラグの定義 */ 446 414 #define TCP_CEP_FLG_NOT_CLEAR (TCP_CEP_FLG_WBCS_NBUF_REQ|TCP_CEP_FLG_WBCS_MASK|\ 447 415 TCP_CEP_FLG_DYNAMIC|TCP_CEP_FLG_VALID|TCP_CEP_FLG_IPV4) 448 416 449 417 /* 450 * é信端ç¹ã¤ãã³ããã©ã° 451 */ 452 453 #define TCP_CEP_EVT_ESTABLISHED ULONG_C(0x00000001) /* ã³ãã¯ã·ã§ã³ç¢ºç« */ 454 #define TCP_CEP_EVT_CLOSED ULONG_C(0x00000002) /* æªä½¿ç¨ç¶æ 455 */ 456 #define TCP_CEP_EVT_SWBUF_READY ULONG_C(0x00000004) /* éä¿¡ã¦ã£ã³ããããã¡ç©ºã */ 457 #define TCP_CEP_EVT_RWBUF_READY ULONG_C(0x00000008) /* éä¿¡ã¦ã£ã³ããããã¡ãã¼ã¿ãã*/ 458 #define TCP_CEP_EVT_ALL ULONG_C(0xffffffff) /* å 459 ¨ã¤ãã³ã */ 460 461 /* 462 * 追å API æ©è½ã»äºè±¡ã³ã¼ã 463 */ 464 465 /* TCP é¢ä¿ */ 418 * 通信端点イベントフラグ 419 */ 420 421 #define TCP_CEP_EVT_ESTABLISHED ULONG_C(0x00000001) /* コネクション確立 */ 422 #define TCP_CEP_EVT_CLOSED ULONG_C(0x00000002) /* 未使用状態 */ 423 #define TCP_CEP_EVT_SWBUF_READY ULONG_C(0x00000004) /* 送信ウィンドバッファ空き */ 424 #define TCP_CEP_EVT_RWBUF_READY ULONG_C(0x00000008) /* 送信ウィンドバッファデータあり*/ 425 #define TCP_CEP_EVT_ALL ULONG_C(0xffffffff) /* 全イベント */ 426 427 /* 428 * 追加 API 機能・事象コード 429 */ 430 431 /* TCP 関係 */ 466 432 467 433 #define TFN_TCP_UNDEF (0) 468 434 469 435 /* 470 * srtt: å¹³æ»åãããRTT471 * rttvar: å¹³æ»åãããåæ£472 * rtt: 測å®ãããå¾å¾©æé436 * srtt: 平滑化された RTT 437 * rttvar: 平滑化された分散 438 * rtt: 測定された往復時間 473 439 * 474 * å¹³æ»åããã RTT (srtt) ã¨å¹³æ»åãããåæ£ (rttvar) ã475 * æ´æ°åã§è¨ç®ããããã«ãå·¦ã·ãããã¦ã¹ã±ã¼ã«ããã476 * srtt 㯠2 é²å°æ°ç¹ä»¥ä¸ 3 ãããã477 * rttvar 㯠2 é²å°æ°ç¹ä»¥ä¸ 2 ããããä¿æããã440 * 平滑化された RTT (srtt) と平滑化された分散 (rttvar) を 441 * 整数型で計算するために、左シフトしてスケールする。 442 * srtt は 2 進小数点以下 3 ビット、 443 * rttvar は 2 進小数点以下 2 ビットを保持する。 478 444 */ 479 445 480 446 #define TCP_DELTA_SHIFT 2 481 /* å·®å = rtt/8 + srtt*7/8 ã®è¨ç®ã®ããã®ã·ããå¤*/447 /* 差分 = rtt/8 + srtt*7/8 の計算のためのシフト値 */ 482 448 #define TCP_SRTT_SHIFT (TCP_DELTA_SHIFT + 3) 483 /* srtt ã®ã·ããå¤ã3(+2)ããã*/449 /* srtt のシフト値、3(+2)ビット */ 484 450 #define TCP_RTTVAR_SHIFT (TCP_DELTA_SHIFT + 2) 485 /* rttvar ã®ã·ããå¤ã2(+2)ããã*/451 /* rttvar のシフト値、2(+2)ビット */ 486 452 #define TCP_SRTT_SCALE (1<<TCP_SRTT_SHIFT) 487 453 #define TCP_RTTVAR_SCALE (1<<TCP_RTTVAR_SHIFT) 488 454 489 455 /* 490 * é«éå転éãéå§ããåé ACK æ°ã®ãããå¤456 * 高速再転送を開始する再送 ACK 数のしきい値 491 457 */ 492 458 … … 494 460 495 461 /* 496 * åä¿¡åæ§æãã¥ã¼ã§ã® TCP ããã462 * 受信再構成キューでの TCP ヘッダ 497 463 */ 498 464 499 465 typedef struct t_tcp_q_hdr { 500 uint16_t sport; /* éä¿¡å 501 ãã¼ãçªå· */ 502 uint16_t dport; /* å®å 503 ãã¼ãçªå· */ 504 505 uint32_t seq; /* SEQ çªå· */ 506 507 T_NET_BUF *next; /* 次ã®ã»ã°ã¡ã³ããå 508 㯠ACK çªå·(ack) */ 509 510 uint8_t doff; /* ãã¼ã¿ãªãã»ãã(ä¸ä½4ããã) */ 511 uint8_t flags; /* ãã©ã°(ä¸ä½6ããã) */ 512 uint16_t soff; /* SDU ãªãã»ãããå 513 ã¯ã¦ã£ã³ããµã¤ãº(win) */ 514 515 uint16_t slen; /* SDU é·ãå 516 ã¯ãã§ãã¯ãµã (sum) */ 517 uint16_t urp; /* ç·æ¥ãã¤ã³ã¿ï¼SDU é·è£æ£ï¼ */ 466 uint16_t sport; /* 送信元ポート番号 */ 467 uint16_t dport; /* 宛先ポート番号 */ 468 469 uint32_t seq; /* SEQ 番号 */ 470 471 T_NET_BUF *next; /* 次のセグメント、元は ACK 番号(ack) */ 472 473 uint8_t doff; /* データオフセット(上位4ビット) */ 474 uint8_t flags; /* フラグ(下位6ビット) */ 475 uint16_t soff; /* SDU オフセット、元はウィンドサイズ(win) */ 476 477 uint16_t slen; /* SDU 長、元はチェックサム(sum) */ 478 uint16_t urp; /* 緊急ポインタ(SDU 長補正) */ 518 479 } T_TCP_Q_HDR; 519 480 … … 521 482 522 483 /* 523 * ãªãã¸ã§ã¯ã ID ã®æå°å¤ã®å®ç¾©524 */ 525 526 #define TMIN_TCP_REPID 1 /* TCP åä»å£ ID ã®æå°å¤*/527 #define TMIN_TCP6_REPID 1 /* TCP/IPv6 åä»å£ ID ã®æå°å¤*/528 #define TMIN_TCP4_REPID (TNUM_TCP6_REPID+1) /* TCP/IPv4 åä»å£ ID ã®æå°å¤*/529 530 #define TMIN_TCP_CEPID 1 /* TCP éä¿¡ç«¯ç¹ ID ã®æå°å¤*/531 #define TMIN_TCP6_CEPID 1 /* TCP/IPv6 éä¿¡ç«¯ç¹ ID ã®æå°å¤*/532 #define TMIN_TCP4_CEPID (TNUM_TCP6_CEPID+1) /* TCP/IPv4 éä¿¡ç«¯ç¹ ID ã®æå°å¤*/533 534 #define TMIN_TCP_TWCEPID 1 /* Time Wait ç¨ TCP éä¿¡ç«¯ç¹ ID ã®æå°å¤*/535 536 /* 537 * å¶å¾¡ã»ã°ã¡ã³ãï¼ãã¼ã¿ãªãï¼ãµã¤ãºã®ãããã¯ã¼ã¯ãããã¡484 * オブジェクト ID の最小値の定義 485 */ 486 487 #define TMIN_TCP_REPID 1 /* TCP 受付口 ID の最小値 */ 488 #define TMIN_TCP6_REPID 1 /* TCP/IPv6 受付口 ID の最小値 */ 489 #define TMIN_TCP4_REPID (TNUM_TCP6_REPID+1) /* TCP/IPv4 受付口 ID の最小値 */ 490 491 #define TMIN_TCP_CEPID 1 /* TCP 通信端点 ID の最小値 */ 492 #define TMIN_TCP6_CEPID 1 /* TCP/IPv6 通信端点 ID の最小値 */ 493 #define TMIN_TCP4_CEPID (TNUM_TCP6_CEPID+1) /* TCP/IPv4 通信端点 ID の最小値 */ 494 495 #define TMIN_TCP_TWCEPID 1 /* Time Wait 用 TCP 通信端点 ID の最小値 */ 496 497 /* 498 * 制御セグメント(データなし)サイズのネットワークバッファ 538 499 */ 539 500 … … 541 502 542 503 typedef struct t_net_buf_cseg { 543 uint16_t len; /* ãã¼ã¿ã®é·ã*/544 uint8_t idix; /* mpfid ã®ã¤ã³ããã¯ã¹*/545 uint8_t flags; /* ãã©ã°*/504 uint16_t len; /* データの長さ */ 505 uint8_t idix; /* mpfid のインデックス */ 506 uint8_t flags; /* フラグ */ 546 507 #ifdef IF_ETHER_NIC_NET_BUF_ALIGN 547 508 uint8_t nalign[IF_ETHER_NIC_NET_BUF_ALIGN]; … … 551 512 #endif 552 513 uint8_t buf[IF_HDR_SIZE + IP_HDR_SIZE + TCP_HDR_SIZE]; 553 /* ãããã¡æ¬ä½*/514 /* バッファ本体 */ 554 515 } T_NET_BUF_CSEG; 555 516 … … 557 518 558 519 /* 559 * SNMP 㮠管çæ 560 å ±ãã¼ã¹ (MIB) 520 * SNMP の 管理情報ベース (MIB) 561 521 */ 562 522 … … 575 535 576 536 /* 577 * é¢æ°ã·ãã¥ã¬ã¼ã·ã§ã³ãã¯ã578 */ 579 580 /* TCP åä»å£*/537 * 関数シミュレーションマクロ 538 */ 539 540 /* TCP 受付口 */ 581 541 582 542 #define VALID_TCP6_REPID(id) (TMIN_TCP6_REPID<=(id)&&(id)<=tmax_tcp6_repid) … … 604 564 #endif /* of #ifdef TCP_CFG_EXTENTIONS */ 605 565 606 /* TCP é信端ç¹*/566 /* TCP 通信端点 */ 607 567 608 568 #define VALID_TCP_CEPID(id) (TMIN_TCP_CEPID<=(id)&&(id)<=tmax_tcp_cepid) … … 634 594 635 595 /* 636 * å 637 ¨åå¤æ° 596 * 全域変数 638 597 */ 639 598 … … 642 601 extern T_TCP_STATS tcp_stats; 643 602 644 /* TCP åä»å£*/603 /* TCP 受付口 */ 645 604 646 605 extern T_TCP6_REP tcp6_rep[]; … … 663 622 #endif 664 623 665 /* TCP é信端ç¹*/624 /* TCP 通信端点 */ 666 625 667 626 extern T_TCP_CEP tcp_cep[]; … … 679 638 680 639 /* 681 * Inline é¢æ°640 * Inline 関数 682 641 */ 683 642 … … 685 644 686 645 /* 687 * TCP é信端ç¹ã®åä¿¡ã¦ã£ã³ããããã¡ã®çã³ãã¼æ©è½ã688 * ç¡å¹ã®å ´åã¯ä½ãããªãããã®ããã¼ã®é¢æ°689 */ 690 691 /* 692 * tcp_free_rwbufq -- åä¿¡ã¦ã£ã³ããããã¡ãã¥ã¼ã解æ¾ããã646 * TCP 通信端点の受信ウィンドバッファの省コピー機能が 647 * 無効の場合は何もしないためのダミーの関数 648 */ 649 650 /* 651 * tcp_free_rwbufq -- 受信ウィンドバッファキューを解放する。 693 652 */ 694 653 … … 703 662 704 663 /* 705 * TCP é信端ç¹ã®éä¿¡ã¦ã£ã³ããããã¡ã®çã³ãã¼æ©è½ã®ã¿ã706 * æå¹ã®å ´åã¯ä½ãããªãããã®ããã¼ã®é¢æ°707 */ 708 709 /* 710 * tcp_read_swbuf_cs -- éä¿¡ã¦ã£ã³ããããã¡ãããã¼ã¿ãèªã¿åºãã664 * TCP 通信端点の送信ウィンドバッファの省コピー機能のみが 665 * 有効の場合は何もしないためのダミーの関数 666 */ 667 668 /* 669 * tcp_read_swbuf_cs -- 送信ウィンドバッファからデータを読み出す。 711 670 */ 712 671 … … 721 680 722 681 /* 723 * TCP é信端ç¹ã®éä¿¡ã¦ã£ã³ããããã¡ã®çã³ãã¼æ©è½ã724 * ç¡å¹ã®å ´åã¯ä½ãããªãããã®ããã¼ã®é¢æ°725 */ 726 727 /* 728 * tcp_free_swbufq -- éä¿¡ã¦ã£ã³ããããã¡ãã¥ã¼ã解æ¾ããã682 * TCP 通信端点の送信ウィンドバッファの省コピー機能が 683 * 無効の場合は何もしないためのダミーの関数 684 */ 685 686 /* 687 * tcp_free_swbufq -- 送信ウィンドバッファキューを解放する。 729 688 */ 730 689 … … 735 694 736 695 /* 737 * tcp_alloc_swbuf -- éä¿¡ã¦ã£ã³ããããã¡ç¨ã®ãããã¯ã¼ã¯ãããã¡ã®å²ãå½ã¦ãæ示ããã696 * tcp_alloc_swbuf -- 送信ウィンドバッファ用のネットワークバッファの割り当てを指示する。 738 697 */ 739 698 … … 744 703 745 704 /* 746 * tcp_push_res_nbuf -- ãããã¯ã¼ã¯ãããã¡ãäºç´ããã705 * tcp_push_res_nbuf -- ネットワークバッファを予約する。 747 706 */ 748 707 … … 754 713 755 714 /* 756 * tcp_pull_res_nbuf -- äºç´ãã¦ãããããã¯ã¼ã¯ãããã¡è¿ãã715 * tcp_pull_res_nbuf -- 予約してあるネットワークバッファ返す。 757 716 */ 758 717 … … 766 725 767 726 /* 768 * TCP é信端ç¹ã®åä¿¡ã¦ã£ã³ããããã¡ã®çã³ãã¼æ©è½ã®åãæ¿ããã¯ã727 * TCP 通信端点の受信ウィンドバッファの省コピー機能の切り替えマクロ 769 728 */ 770 729 … … 800 759 801 760 /* 802 * TCP é信端ç¹ã®éä¿¡ã¦ã£ã³ããããã¡ã®çã³ãã¼æ©è½ã®åãæ¿ããã¯ã761 * TCP 通信端点の送信ウィンドバッファの省コピー機能の切り替えマクロ 803 762 */ 804 763 … … 851 810 852 811 /* 853 * é¢æ°812 * 関数 854 813 */ 855 814 … … 886 845 887 846 /* 888 * TCP é信端ç¹ã®åä¿¡ã¦ã£ã³ããããã¡ç¨é¢æ°889 */ 890 891 /* 892 * TCP é信端ç¹ã®åä¿¡ã¦ã£ã³ããããã¡ã®çã³ãã¼æ©è½ãæå¹ã®å ´åã893 * é¢æ°ã®é¸æã«ä½¿ç¨ããã847 * TCP 通信端点の受信ウィンドバッファ用関数 848 */ 849 850 /* 851 * TCP 通信端点の受信ウィンドバッファの省コピー機能が有効の場合、 852 * 関数の選択に使用する。 894 853 */ 895 854 … … 901 860 902 861 /* 903 * TCP é信端ç¹ã®åä¿¡ã¦ã£ã³ããããã¡ã®çã³ãã¼æ©è½ç¨é¢æ°862 * TCP 通信端点の受信ウィンドバッファの省コピー機能用関数 904 863 */ 905 864 … … 911 870 912 871 /* 913 * TCP é信端ç¹ã®åä¿¡ã¦ã£ã³ããããã¡ã®ãéãçã³ãã¼æ©è½ç¨é¢æ°872 * TCP 通信端点の受信ウィンドバッファの【非】省コピー機能用関数 914 873 */ 915 874 … … 921 880 922 881 /* 923 * TCP é信端ç¹ã®éä¿¡ã¦ã£ã³ããããã¡ç¨é¢æ°924 */ 925 926 /* 927 * TCP é信端ç¹ã®éä¿¡ã¦ã£ã³ããããã¡ã®çã³ãã¼æ©è½ãæå¹ã®å ´åã928 * é¢æ°ã®é¸æã«ä½¿ç¨ããã882 * TCP 通信端点の送信ウィンドバッファ用関数 883 */ 884 885 /* 886 * TCP 通信端点の送信ウィンドバッファの省コピー機能が有効の場合、 887 * 関数の選択に使用する。 929 888 */ 930 889 … … 943 902 944 903 /* 945 * TCP é信端ç¹ã®éä¿¡ã¦ã£ã³ããããã¡ã®çã³ãã¼æ©è½ç¨é¢æ°904 * TCP 通信端点の送信ウィンドバッファの省コピー機能用関数 946 905 */ 947 906 … … 957 916 958 917 /* 959 * TCP é信端ç¹ã®éä¿¡ã¦ã£ã³ããããã¡ã®ãéãçã³ãã¼æ©è½ç¨é¢æ°918 * TCP 通信端点の送信ウィンドバッファの【非】省コピー機能用関数 960 919 */ 961 920 … … 973 932 974 933 /* 975 * TCP ãããã®ãã¬ã¼ã¹åºåæ©è½ç¨é¢æ°934 * TCP ヘッダのトレース出力機能用関数 976 935 */ 977 936 extern void tcp_output_trace (T_NET_BUF *output, T_TCP_CEP *cep); 978 937 extern void tcp_input_trace (T_NET_BUF *input, T_TCP_CEP *cep); 979 938 980 /* TCP åºåã¿ã¹ã¯*/939 /* TCP 出力タスク */ 981 940 982 941 extern void tcp_output_task(intptr_t exinf); -
asp3_gr_sakura/trunk/tinet/netinet/tcpn_usrreq.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 85 73 86 74 /* 87 * tcp_cre_rep -- TCP åä»å£ã®çæãæ¡å¼µæ©è½ã75 * tcp_cre_rep -- TCP 受付口の生成【拡張機能】 88 76 */ 89 77 … … 96 84 ER error; 97 85 98 /* TCP åä»å£ ID ããã§ãã¯ããã*/86 /* TCP 受付口 ID をチェックする。*/ 99 87 if (!VALID_TCP_REPID(repid)) 100 88 return E_ID; 101 89 102 /* pk_crep ã NULL ãªãã¨ã©ã¼*/90 /* pk_crep が NULL ならエラー */ 103 91 if (pk_crep == NULL) 104 92 return E_PAR; … … 107 95 108 96 /* 109 * API ã IPv6 㧠IPv4 å°å½±ã¢ãã¬ã¹ãèªãããã¦ããªãã®ã«ããããããã110 * IPv4 å°å½±ã¢ãã¬ã¹ãæå®ããããã¨ã©ã¼97 * API が IPv6 で IPv4 射影アドレスが認められていないのにもかかわらず、 98 * IPv4 射影アドレスが指定されたらエラー 111 99 */ 112 100 if (in6_is_addr_ipv4mapped(&pk_crep->myaddr.ipaddr)) … … 115 103 #endif /* of #if (API_PROTO == API_PROTO_IPV6) && !defined(DAPI_CFG_IP4MAPPED_ADDR) */ 116 104 117 /* TCP åä»å£ãå¾ãã*/105 /* TCP 受付口を得る。*/ 118 106 rep = GET_TCP_REP(repid); 119 107 120 /* TCP åä»å£ããåççæç¨ã§ãªããã°ã¨ã©ã¼*/108 /* TCP 受付口が、動的生成用でなければエラー */ 121 109 if (!DYNAMIC_TCP_REP(rep)) 122 110 return E_ID; 123 111 124 /* åä»å£ãããã¯ããã*/112 /* 受付口をロックする。*/ 125 113 syscall(wai_sem(rep->semid_lock)); 126 114 127 115 /* 128 * TCP åä»å£ããã§ãã¯ãããçææ¸ã¿ã§ããã°ã¨ã©ã¼116 * TCP 受付口をチェックする。生成済みであればエラー 129 117 */ 130 118 if (VALID_TCP_REP(rep)) … … 132 120 else { 133 121 134 /* TCP åä»å£çææ 135 å ±ãã³ãã¼ããã*/ 136 rep->repatr = pk_crep->repatr; /* åä»å£å±æ§ */ 137 rep->myaddr.ipaddr = pk_crep->myaddr.ipaddr; /* èªåã®ã¢ãã¬ã¹ */ 138 rep->myaddr.portno = pk_crep->myaddr.portno; /* èªåã®ã¢ãã¬ã¹ */ 139 140 /* TCP åä»å£ãçææ¸ã¿ã«ããã*/ 122 /* TCP 受付口生成情報をコピーする。*/ 123 rep->repatr = pk_crep->repatr; /* 受付口属性 */ 124 rep->myaddr.ipaddr = pk_crep->myaddr.ipaddr; /* 自分のアドレス */ 125 rep->myaddr.portno = pk_crep->myaddr.portno; /* 自分のアドレス */ 126 127 /* TCP 受付口を生成済みにする。*/ 141 128 rep->flags |= TCP_REP_FLG_VALID; 142 129 error = E_OK; 143 130 } 144 131 145 /* åä»å£ã®ããã¯ã解é¤ããã*/132 /* 受付口のロックを解除する。*/ 146 133 syscall(sig_sem(rep->semid_lock)); 147 134 … … 154 141 155 142 /* 156 * tcp_find_cep_rep -- TCP åä»å£ããªã³ã¯ãã¦ãã TCP é信端ç¹ãå¾ãã143 * tcp_find_cep_rep -- TCP 受付口をリンクしている TCP 通信端点を得る。 157 144 */ 158 145 … … 176 163 177 164 /* 178 * tcp_del_rep_body -- TCP åä»å£ã®åé¤ãæ¡å¼µæ©è½ãã®æ¬ä½165 * tcp_del_rep_body -- TCP 受付口の削除【拡張機能】の本体 179 166 */ 180 167 … … 186 173 ER error = E_OK; 187 174 188 /* TCP åä»å£ ID ã®ãã§ãã¯ã¯çµäºãã¦ããã*/189 190 /* TCP åä»å£ãå¾ãã*/175 /* TCP 受付口 ID のチェックは終了している。*/ 176 177 /* TCP 受付口を得る。*/ 191 178 rep = GET_TCP_REP(repid); 192 179 193 /* TCP åä»å£ããåççæç¨ã§ãªããã°ã¨ã©ã¼*/180 /* TCP 受付口が、動的生成用でなければエラー */ 194 181 if (!DYNAMIC_TCP_REP(rep)) 195 182 return E_ID; 196 183 197 /* åä»å£ãããã¯ããã*/184 /* 受付口をロックする。*/ 198 185 syscall(wai_sem(rep->semid_lock)); 199 186 200 /* TCP åä»å£ããã§ãã¯ãããæªçæã®å ´åã¯ã¨ã©ã¼*/187 /* TCP 受付口をチェックする。未生成の場合はエラー */ 201 188 if (!VALID_TCP_REP(rep)) 202 189 error = E_NOEXS; … … 204 191 if ((cep = TCP_FIND_CEP_REP(rep)) != NULL) { 205 192 /* 206 * ãã§ã«ååãªã¼ãã³ãã¦ããã¨ã207 * ï¼tcp_acp_cep ãå¼ã°ãã¦ããã¨ãï¼ã¯ã208 * tcp_acp_cep ãçµäºãããã193 * すでに受動オープンしているとき 194 *(tcp_acp_cep が呼ばれているとき)は、 195 * tcp_acp_cep を終了させる。 209 196 */ 210 197 211 /* é信端ç¹ãããã¯ããã*/198 /* 通信端点をロックする。*/ 212 199 syscall(wai_sem(cep->semid_lock)); 213 200 214 201 /* 215 * é信端ç¹ããåä»å£ã解æ¾ãã216 * ã¤ãã³ããã©ã°ãã¯ãã¼ãºã«è¨å®ããã202 * 通信端点から受付口を解放し、 203 * イベントフラグをクローズに設定する。 217 204 */ 218 205 cep->rep = NULL; … … 254 241 cep->rcv_tfn = TFN_TCP_UNDEF; 255 242 256 /* é信端ç¹ã®ããã¯ã解é¤ããã*/243 /* 通信端点のロックを解除する。*/ 257 244 syscall(sig_sem(cep->semid_lock)); 258 245 … … 261 248 error = E_OK; 262 249 263 /* TCP åä»å£ãæªçæã«ããã*/250 /* TCP 受付口を未生成にする。*/ 264 251 rep->flags &= ~TCP_REP_FLG_VALID; 265 252 } 266 253 267 /* åä»å£ã®ããã¯ã解é¤ããã*/254 /* 受付口のロックを解除する。*/ 268 255 syscall(sig_sem(rep->semid_lock)); 269 256 … … 280 267 281 268 /* 282 * tcp_acp_cep -- æ¥ç¶è¦æ±å¾ 283 ã¡ (ååãªã¼ãã³)ãæ¨æºæ©è½ã 269 * tcp_acp_cep -- 接続要求待ち (受動オープン)【標準機能】 284 270 */ 285 271 … … 297 283 298 284 /* 299 * API (tcp6_acp_cep 㨠tcp_acp_cep) ã¨ã300 * TCP é信端ç¹ã®ãããã³ã«ãçç¾ãã¦ããã°ã¨ã©ã¼285 * API (tcp6_acp_cep と tcp_acp_cep) と、 286 * TCP通信端点のプロトコルが矛盾していればエラー 301 287 */ 302 288 … … 317 303 #endif /* of #if defined(SUPPORT_INET6) && defined(SUPPORT_INET4) */ 318 304 319 /* TCP åä»å£ããã§ãã¯ããã*/305 /* TCP 受付口をチェックする。*/ 320 306 if (!VALID_TCP_REPID(repid)) 321 307 return E_ID; … … 323 309 #ifdef TCP_CFG_NON_BLOCKING 324 310 325 /* p_dstaddr ã NULL ãªãã¨ã©ã¼*/311 /* p_dstaddr が NULL ならエラー */ 326 312 if (p_dstaddr == NULL) 327 313 return E_PAR; … … 329 315 #else /* of #ifdef TCP_CFG_NON_BLOCKING */ 330 316 331 /* p_dstaddr ã NULL ããtmout ã TMO_NBLK ãªãã¨ã©ã¼*/317 /* p_dstaddr が NULL か、tmout が TMO_NBLK ならエラー */ 332 318 if (p_dstaddr == NULL || tmout == TMO_NBLK) 333 319 return E_PAR; … … 338 324 339 325 /* 340 * API ã IPv6 㧠IPv4 å°å½±ã¢ãã¬ã¹ãèªãããã¦ããªãã®ã«ããããããã341 * IPv4 å°å½±ã¢ãã¬ã¹ãæå®ããããã¨ã©ã¼326 * API が IPv6 で IPv4 射影アドレスが認められていないのにもかかわらず、 327 * IPv4 射影アドレスが指定されたらエラー 342 328 */ 343 329 if (in6_is_addr_ipv4mapped(&p_dstaddr->ipaddr)) … … 347 333 348 334 /* 349 * CEP ãããã¯ããAPI æ©è½ã³ã¼ãã¨ã¿ã¹ã¯èå¥åãè¨é²ããã350 * ãã§ã«è¨é²ããã¦ããã°ããã³ãã£ã³ã°ä¸ãªã®ã§ã¨ã©ã¼335 * CEP をロックし、API 機能コードとタスク識別子を記録する。 336 * すでに記録されていれば、ペンディング中なのでエラー 351 337 */ 352 338 if ((error = tcp_lock_cep(cepid, &cep, TFN_TCP_ACP_CEP)) != E_OK) 353 339 return error; 354 340 355 /* CEP ã® FSM ãã¯ãã¼ãºç¶æ 356 ã§ãªããã°ã¨ã©ã¼ã*/ 341 /* CEP の FSM がクローズ状態でなければエラー。*/ 357 342 if (cep->fsm_state != TCP_FSM_CLOSED) { 358 343 error = E_OBJ; … … 361 346 syscall(clr_flg(cep->est_flgid, (FLGPTN)(~TCP_CEP_EVT_CLOSED))); 362 347 363 /* TCP é信端ç¹ãåæåããã*/348 /* TCP 通信端点を初期化する。*/ 364 349 tcp_init_cep(cep); 365 350 366 /* TCP åä»å£ãå¾ãã*/351 /* TCP 受付口を得る。*/ 367 352 368 353 rep = GET_TCP_REP(repid); … … 370 355 #ifdef TCP_CFG_EXTENTIONS 371 356 372 /* TCP åä»å£ãããã¯ããã*/357 /* TCP 受付口をロックする。*/ 373 358 syscall(wai_sem(rep->semid_lock)); 374 359 375 /* TCP åä»å£ããã§ãã¯ããã*/360 /* TCP 受付口をチェックする。*/ 376 361 if (!VALID_TCP_REP(rep)) { 377 362 syscall(sig_sem(rep->semid_lock)); … … 382 367 #endif /* of #ifdef TCP_CFG_EXTENTIONS */ 383 368 384 /* TCP é信端ç¹ã«TCPåä»å£ãè¨é²ããã*/369 /* TCP 通信端点にTCP受付口を記録する。*/ 385 370 386 371 #if defined(SUPPORT_INET6) && defined(SUPPORT_INET4) … … 404 389 #ifdef TCP_CFG_EXTENTIONS 405 390 406 /* TCP åä»å£ã®ããã¯ã解é¤ããã*/391 /* TCP 受付口のロックを解除する。*/ 407 392 syscall(sig_sem(rep->semid_lock)); 408 393 409 394 #endif /* of #ifdef TCP_CFG_EXTENTIONS */ 410 395 411 /* TCP åä»å£ã®ã¢ãã¬ã¹ãã³ãã¼ããã*/396 /* TCP 受付口のアドレスをコピーする。*/ 412 397 413 398 #if defined(SUPPORT_INET6) && defined(SUPPORT_INET4) && (API_PROTO == API_PROTO_IPV4) … … 428 413 #if API_PROTO == API_PROTO_IPV4 429 414 430 /* TCP é信端ç¹ã®ãããã¯ã¼ã¯å±¤ãããã³ã«ãè¨å®ããã*/415 /* TCP 通信端点のネットワーク層プロトコルを設定する。*/ 431 416 cep->flags |= TCP_CEP_FLG_IPV4; 432 417 433 418 #endif /* of #if API_PROTO == API_PROTO_IPV4 */ 434 419 435 /* é信端ç¹ãè¨å®ããã*/420 /* 通信端点を設定する。*/ 436 421 cep->fsm_state = TCP_FSM_LISTEN; 437 422 438 423 #ifdef TCP_CFG_NON_BLOCKING 439 424 440 /* ã¿ã¤ã ã¢ã¦ãããã§ãã¯ããã*/425 /* タイムアウトをチェックする。*/ 441 426 if (tmout == TMO_NBLK) { 442 /* ãã³ããããã³ã°ã³ã¼ã«*/427 /* ノンブロッキングコール */ 443 428 444 429 #if defined(SUPPORT_INET6) && defined(SUPPORT_INET4) … … 470 455 471 456 /* 472 * FSM ã ESTABLISHED ã«ãªãã¾ã§å¾ 473 ã¤ã 474 * FSM ã CLOSED ã«ãªã£ãå ´åã¯ãã¨ã©ã¼ãçºçãããã¨ãæå³ãã¦ããã 457 * FSM が ESTABLISHED になるまで待つ。 458 * FSM が CLOSED になった場合は、エラーが発生したことを意味している。 475 459 */ 476 460 error = twai_flg(cep->est_flgid, (TCP_CEP_EVT_CLOSED | … … 486 470 487 471 if (error == E_OK) { 488 /* ç¸æã®ã¢ãã¬ã¹ãã³ãã¼ããã*/472 /* 相手のアドレスをコピーする。*/ 489 473 #if defined(SUPPORT_INET6) && defined(SUPPORT_INET4) && (API_PROTO == API_PROTO_IPV4) 490 474 p_dstaddr->ipaddr = ntohl(cep->dstaddr.ipaddr.s6_addr32[3]); … … 496 480 else { 497 481 /* 498 * é信端ç¹ããåä»å£ã解æ¾ãã499 * ã¤ãã³ããã©ã°ãã¯ãã¼ãºã«è¨å®ããã482 * 通信端点から受付口を解放し、 483 * イベントフラグをクローズに設定する。 500 484 */ 501 485 cep->rep = NULL; … … 526 510 527 511 /* 528 * tcp_con_cep -- æ¥ç¶è¦æ± (è½åãªã¼ãã³)ãæ¨æºæ©è½ã512 * tcp_con_cep -- 接続要求 (能動オープン)【標準機能】 529 513 */ 530 514 … … 541 525 542 526 /* 543 * API (tcp6_acp_cep 㨠tcp_acp_cep) ã¨ã544 * TCP é信端ç¹ã®ãããã³ã«ãçç¾ãã¦ããã°ã¨ã©ã¼527 * API (tcp6_acp_cep と tcp_acp_cep) と、 528 * TCP通信端点のプロトコルが矛盾していればエラー 545 529 */ 546 530 … … 562 546 563 547 /* 564 * ãã¦å 565 ããã«ããã£ã¹ãã¢ãã¬ã¹ãªãã¨ã©ã¼ 548 * あて先がマルチキャストアドレスならエラー 566 549 */ 567 550 … … 581 564 582 565 /* 583 * API ã IPv6 㧠IPv4 å°å½±ã¢ãã¬ã¹ãèªãããã¦ããªãã®ã«ããããããã584 * IPv4 å°å½±ã¢ãã¬ã¹ãæå®ããããã¨ã©ã¼566 * API が IPv6 で IPv4 射影アドレスが認められていないのにもかかわらず、 567 * IPv4 射影アドレスが指定されたらエラー 585 568 */ 586 569 if (in6_is_addr_ipv4mapped(&p_dstaddr->ipaddr)) … … 592 575 593 576 /* 594 * p_dstaddr ã¾ã㯠p_myaddr ã NULL ãªãã¨ã©ã¼577 * p_dstaddr または p_myaddr が NULL ならエラー 595 578 */ 596 579 if (p_myaddr == NULL || p_dstaddr == NULL) … … 600 583 601 584 /* 602 * p_dstaddr ã¾ã㯠p_myaddr ã NULL ã603 * tmout ã TMO_NBLK ãªãã¨ã©ã¼585 * p_dstaddr または p_myaddr が NULL 、 586 * tmout が TMO_NBLK ならエラー 604 587 */ 605 588 if (p_myaddr == NULL || p_dstaddr == NULL || tmout == TMO_NBLK) … … 609 592 610 593 /* 611 * CEP ãããã¯ããAPI æ©è½ã³ã¼ãã¨ã¿ã¹ã¯èå¥åãè¨é²ããã612 * ãã§ã«è¨é²ããã¦ããã°ããã³ãã£ã³ã°ä¸ãªã®ã§ã¨ã©ã¼594 * CEP をロックし、API 機能コードとタスク識別子を記録する。 595 * すでに記録されていれば、ペンディング中なのでエラー 613 596 */ 614 597 if ((error = tcp_lock_cep(cepid, &cep, TFN_TCP_CON_CEP)) != E_OK) 615 598 return error; 616 599 617 /* CEP ã® FSM ãã¯ãã¼ãºç¶æ 618 ã§ãªããã°ã¨ã©ã¼ã*/ 600 /* CEP の FSM がクローズ状態でなければエラー。*/ 619 601 if (cep->fsm_state != TCP_FSM_CLOSED) { 620 602 error = E_OBJ; … … 623 605 syscall(clr_flg(cep->est_flgid, (FLGPTN)(~TCP_CEP_EVT_CLOSED))); 624 606 625 /* ã·ã¼ã±ã³ã¹çªå·ãåæåããã*/607 /* シーケンス番号を初期化する。*/ 626 608 if (tcp_iss == 0) 627 609 tcp_init_iss(); 628 610 629 /* é信端ç¹ãåæåããã*/611 /* 通信端点を初期化する。*/ 630 612 tcp_init_cep(cep); 631 613 632 614 /* 633 * IP ã¢ãã¬ã¹ãè¨å®ããã634 * p_myaddr ã NADR (-1) ã§ã¯ãªããèª IP ã¢ãã¬ã¹ã ANY ã§ãªããã°ã635 * æå®ããã IP ã¢ãã¬ã¹ãå²ãå½ã¦ãã615 * IP アドレスを設定する。 616 * p_myaddr が NADR (-1) ではなく、自 IP アドレスが ANY でなければ、 617 * 指定された IP アドレスを割り当てる。 636 618 */ 637 619 … … 663 645 #if API_PROTO == API_PROTO_IPV4 664 646 665 /* TCP é信端ç¹ã®ãããã¯ã¼ã¯å±¤ãããã³ã«ãè¨å®ããã*/647 /* TCP 通信端点のネットワーク層プロトコルを設定する。*/ 666 648 cep->flags |= TCP_CEP_FLG_IPV4; 667 649 668 650 #endif /* of #if API_PROTO == API_PROTO_IPV4 */ 669 651 670 /* é信端ç¹ãè¨å®ããã*/652 /* 通信端点を設定する。*/ 671 653 //NET_DEBUG_TCP5("tcp_con_cep3[c=%d,d=%lI.%d,s=%lI.%d]\n", 672 654 cep->fsm_state = TCP_FSM_SYN_SENT; … … 678 660 #ifdef TCP_CFG_NON_BLOCKING 679 661 680 /* ã¿ã¤ã ã¢ã¦ãããã§ãã¯ããã*/662 /* タイムアウトをチェックする。*/ 681 663 if (tmout == TMO_NBLK) { 682 /* ãã³ããããã³ã°ã³ã¼ã«*/664 /* ノンブロッキングコール */ 683 665 684 666 #if defined(SUPPORT_INET6) && defined(SUPPORT_INET4) … … 709 691 cep->snd_nblk_tfn = TFN_TCP_CON_CEP; 710 692 711 /* ã³ãã¯ã·ã§ã³ã®éè¨ããã¹ãããã*/693 /* コネクションの開設をポストする。*/ 712 694 cep->flags |= TCP_CEP_FLG_POST_OUTPUT; 713 695 sig_sem(SEM_TCP_POST_OUTPUT); … … 719 701 720 702 /* 721 * p_myaddr ã NADR (-1) ãã722 * èªãã¼ãçªå·ã TCP_PORTANY ãªããèªåã§å²ãå½ã¦ãã703 * p_myaddr が NADR (-1) か、 704 * 自ポート番号が TCP_PORTANY なら、自動で割り当てる。 723 705 */ 724 706 if (p_myaddr == NADR || p_myaddr->portno == TCP_PORTANY) … … 727 709 goto err_ret; 728 710 729 /* ã³ãã¯ã·ã§ã³ã®éè¨ããã¹ãããã*/711 /* コネクションの開設をポストする。*/ 730 712 cep->flags |= TCP_CEP_FLG_POST_OUTPUT; 731 713 sig_sem(SEM_TCP_POST_OUTPUT); 732 714 733 715 /* 734 * ã¤ãã³ãã ESTABLISHED ã«ãªãã¾ã§å¾ 735 ã¤ã 736 * ã¤ãã³ãã CLOSED ã«ãªã£ãå ´åã¯ãä½ããã®ã¨ã©ã¼ãçºçãããã 737 * æ¥ç¶è¦æ±ãæå¦ããããã¨ãæå³ãã¦ããã 716 * イベントが ESTABLISHED になるまで待つ。 717 * イベントが CLOSED になった場合は、何らかのエラーが発生したか、 718 * 接続要求が拒否されたことを意味している。 738 719 */ 739 720 error = twai_flg(cep->est_flgid, (TCP_CEP_EVT_CLOSED | … … 750 731 if (error != E_OK) { 751 732 /* 752 * é信端ç¹ããåä»å£ã解æ¾ãã753 * ã¤ãã³ããã©ã°ãã¯ãã¼ãºã«è¨å®ããã733 * 通信端点から受付口を解放し、 734 * イベントフラグをクローズに設定する。 754 735 */ 755 736 cep->rep = NULL; -
asp3_gr_sakura/trunk/tinet/netinet/udp.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * UDP ã§ä½¿ç¨ããã«ã¼ãã«ãªãã¸ã§ã¯ã35 * UDP で使用するカーネルオブジェクト 48 36 */ 49 37 … … 51 39 52 40 /* 53 * ãã³ããããã³ã°ã³ã¼ã«ãè¡ãå ´åã«çµã¿è¾¼ãã¿ã¹ã¯ã¨ã»ããã©41 * ノンブロッキングコールを行う場合に組み込むタスクとセマフォ 54 42 */ 55 43 … … 65 53 }); 66 54 67 /* ã»ããã©*/55 /* セマフォ */ 68 56 69 57 CRE_SEM(SEM_UDP_POST_OUTPUT, { TA_TPRI, 0, 1 }); -
asp3_gr_sakura/trunk/tinet/netinet/udp.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 84 72 85 73 /* 86 * UDP ããããRFC768 åç 87 § 74 * UDP ヘッダ、RFC768 参照 88 75 */ 89 76 90 77 typedef struct t_udp_hdr { 91 uint16_t sport; /* éä¿¡å 92 ãã¼ãçªå· */ 93 uint16_t dport; /* å®å 94 ãã¼ãçªå· */ 78 uint16_t sport; /* 送信元ポート番号 */ 79 uint16_t dport; /* 宛先ポート番号 */ 95 80 96 uint16_t ulen; /* ãã¼ã¿ã°ã©ã é·*/97 uint16_t sum; /* ãã§ãã¯ãµã*/81 uint16_t ulen; /* データグラム長 */ 82 uint16_t sum; /* チェックサム */ 98 83 } T_UDP_HDR; 99 84 -
asp3_gr_sakura/trunk/tinet/netinet/udp4_input.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 78 66 79 67 /* 80 * udp_reply_no_port -- éä¿¡å 81 ã«ãã¼ããå®ç¾©ããã¦ããªããã¨ãéç¥ããã 68 * udp_reply_no_port -- 送信元にポートが定義されていないことを通知する。 82 69 */ 83 70 … … 91 78 NET_COUNT_MIB(udp_stats.udpNoPorts, 1); 92 79 93 /* ãã¼ã«ã« IP ã¢ãã¬ã¹ã«å±ãããã¼ã¿ã°ã©ã ã®ã¿ ICMP ã¨ã©ã¼ãéç¥ããã*/80 /* ローカル IP アドレスに届いたデータグラムのみ ICMP エラーを通知する。*/ 94 81 if (ntohl(GET_IP4_HDR(input)->dst) == IF_GET_IFNET()->in4_ifaddr.addr) { 95 82 syslog(LOG_INFO, "[UDP] unexp port: %d.", ntohs(udph->dport)); 96 83 97 84 icmp_error(ICMP4_UNREACH_PORT, input); 98 /* icmp_error ã§ã¯ããããã¯ã¼ã¯ãããã¡ input ãè¿å´ããªãã®ã§ä¸ã¸æããã*/85 /* icmp_error では、ネットワークバッファ input を返却しないので下へ抜ける。*/ 99 86 100 87 } -
asp3_gr_sakura/trunk/tinet/netinet/udp4_subr.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 80 68 81 69 /* 82 * udp4_is_dstaddr_accept -- UDP ã®ãã¦å 83 ã¢ãã¬ã¹ãæ£ããããã§ãã¯ããã 70 * udp4_is_dstaddr_accept -- UDP のあて先アドレスが正しいかチェックする。 84 71 * 85 * DHCP_CFG ãå®ç¾©ããã¦ããã¨ãã¯ã以ä¸ã®ãã¼ã¿ã°ã©ã ãåä¿¡ããã72 * DHCP_CFG が定義されているときは、以下のデータグラムを受信する。 86 73 * 87 * ã»ãã¦å 88 ã¢ãã¬ã¹ãããã¼ããã£ã¹ã 89 * ã»ãã¼ã«ã«ã¢ãã¬ã¹ãæªå®ç¾© 74 * ・あて先アドレスがブロードキャスト 75 * ・ローカルアドレスが未定義 90 76 */ 91 77 … … 109 95 110 96 /* 111 * udp4_is_dstaddr_accept -- UDP ã®ãã¦å 112 ã¢ãã¬ã¹ãæ£ããããã§ãã¯ããã 97 * udp4_is_dstaddr_accept -- UDP のあて先アドレスが正しいかチェックする。 113 98 * 114 * 以ä¸ã®å ´åããã¼ã¿ã°ã©ã ãåä¿¡ããã99 * 以下の場合もデータグラムを受信する。 115 100 * 116 * ã»ãã¦å 117 ã¢ãã¬ã¹ãããã¼ããã£ã¹ã 101 * ・あて先アドレスがブロードキャスト 118 102 */ 119 103 -
asp3_gr_sakura/trunk/tinet/netinet/udp_input.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 125 113 126 114 /* 127 * SNMP 㮠管çæ 128 å ±ãã¼ã¹ (MIB) 115 * SNMP の 管理情報ベース (MIB) 129 116 */ 130 117 … … 134 121 135 122 /* 136 * IPv6 㨠IPv4 ã§å¼æ°ãç°ãªãé¢æ°ã®ã³ã³ãã¤ã«123 * IPv6 と IPv4 で引数が異なる関数のコンパイル 137 124 */ 138 125 -
asp3_gr_sakura/trunk/tinet/netinet/udp_output.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 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 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 124 112 125 113 /* 126 * IPv6 㨠IPv4 ã§å¼æ°ãç°ãªãé¢æ°ã®ã³ã³ãã¤ã«114 * IPv6 と IPv4 で引数が異なる関数のコンパイル 127 115 */ 128 116 … … 166 154 167 155 /* 168 * UDP åºåã¿ã¹ã¯169 * ãã³ããããã³ã°ã³ã¼ã«ãçµã¿è¾¼ãã ã¨ã使ç¨ããã156 * UDP 出力タスク 157 * ノンブロッキングコールを組み込んだとき使用する。 170 158 */ 171 159 … … 182 170 #if defined(_IP6_CFG) && !defined(SUPPORT_TCP) 183 171 184 /* IPv6 ã®ã¹ãã¼ãã¬ã¹ã»ã¢ãã¬ã¹èªåè¨å®ãå®è¡ããã*/172 /* IPv6 のステートレス・アドレス自動設定を実行する。*/ 185 173 in6_if_up(IF_GET_IFNET()); 186 174 … … 189 177 while (true) { 190 178 191 /* åºåããã¹ããããã¾ã§å¾ 192 ã¤ã*/ 179 /* 出力がポストされるまで待つ。*/ 193 180 syscall(wai_sem(SEM_UDP_POST_OUTPUT)); 194 181 -
asp3_gr_sakura/trunk/tinet/netinet/udp_subr.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 125 113 126 114 /* 127 * å±æå¤æ°115 * 局所変数 128 116 */ 129 117 130 118 #if (defined(_IP6_CFG) && TNUM_UDP6_CEPID > 0) || (defined(_IP4_CFG) && TNUM_UDP4_CEPID > 0) 131 119 132 static uint16_t udp_port_auto = UDP_PORT_FIRST_AUTO; /* èªåå²ãå½ã¦çªå·*/120 static uint16_t udp_port_auto = UDP_PORT_FIRST_AUTO; /* 自動割り当て番号 */ 133 121 134 122 #endif /* of #if (defined(_IP6_CFG) && TNUM_UDP6_CEPID > 0) || (defined(_IP4_CFG) && TNUM_UDP4_CEPID > 0) */ 135 123 136 124 /* 137 * IPv6 㨠IPv4 ã§å¼æ°ãç°ãªãé¢æ°ã®ã³ã³ãã¤ã«125 * IPv6 と IPv4 で引数が異なる関数のコンパイル 138 126 */ 139 127 -
asp3_gr_sakura/trunk/tinet/netinet/udp_usrreq.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 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 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 81 69 82 70 /* 83 * ãã³ããããã³ã°ã³ã¼ã«ãçµè¾¼ã¾ãªãå ´åã«ãªã³ã¯ãããé¢æ°ã®å®ç¾©71 * ノンブロッキングコールを組込まない場合にリンクされる関数の定義 84 72 */ 85 73 … … 127 115 128 116 /* 129 * TINET ãã©ã¤ãã©ãªåããªãå ´åã¯ãå 130 ¨ã¦ã®æ©è½ã 131 * ãªãã¸ã§ã¯ããã¡ã¤ã«ã«åºåããããããã¯ããæå¹ã«ããã 117 * TINET をライブラリ化しない場合は、全ての機能を 118 * オブジェクトファイルに出力するため、マクロを有効にする。 132 119 */ 133 120 … … 148 135 149 136 /* 150 * IPv6 㨠IPv4 ã§å¼æ°ãç°ãªãé¢æ°ã®ã³ã³ãã¤ã«137 * IPv6 と IPv4 で引数が異なる関数のコンパイル 151 138 */ 152 139 … … 251 238 252 239 /* 253 * udp_can_cep -- ãã³ãã£ã³ã°ãã¦ããå¦çã®ãã£ã³ã»ã«ãæ¨æºæ©è½ã240 * udp_can_cep -- ペンディングしている処理のキャンセル【標準機能】 254 241 */ 255 242 … … 259 246 udp_can_cep (ID cepid, FN fncd) 260 247 { 261 /* IPv6 ç¨ã® UDP éä¿¡ç«¯ç¹ ID ããã§ãã¯ããã*/248 /* IPv6 用の UDP 通信端点 ID をチェックする。*/ 262 249 if (VALID_UDP6_CEPID(cepid)) { 263 250 264 /* UDP é信端ç¹ãå¾ã¦ã¡ã¤ã³é¢æ°ãå¼ã³åºãã*/251 /* UDP 通信端点を得てメイン関数を呼び出す。*/ 265 252 return udp6_cancel_cep(GET_UDP6_CEP(cepid), fncd); 266 253 } 267 254 268 /* IPv4 ç¨ã® UDP éä¿¡ç«¯ç¹ ID ããã§ãã¯ããã*/255 /* IPv4 用の UDP 通信端点 ID をチェックする。*/ 269 256 else if (VALID_UDP4_CEPID(cepid)) { 270 257 271 /* UDP é信端ç¹ãå¾ã¦ã¡ã¤ã³é¢æ°ãå¼ã³åºãã*/258 /* UDP 通信端点を得てメイン関数を呼び出す。*/ 272 259 return udp4_cancel_cep(GET_UDP4_CEP(cepid), fncd); 273 260 } -
asp3_gr_sakura/trunk/tinet/netinet/udp_usrreq_nblk.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 125 113 126 114 /* 127 * TINET ãã©ã¤ãã©ãªåããªãå ´åã¯ãå 128 ¨ã¦ã®æ©è½ã 129 * ãªãã¸ã§ã¯ããã¡ã¤ã«ã«åºåããããããã¯ããæå¹ã«ããã 115 * TINET をライブラリ化しない場合は、全ての機能を 116 * オブジェクトファイルに出力するため、マクロを有効にする。 130 117 */ 131 118 … … 142 129 143 130 /* 144 * IPv6 㨠IPv4 ã§å¼æ°ãç°ãªãé¢æ°ã®ã³ã³ãã¤ã«131 * IPv6 と IPv4 で引数が異なる関数のコンパイル 145 132 */ 146 133 -
asp3_gr_sakura/trunk/tinet/netinet/udp_var.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 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 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 84 72 85 73 /* 86 * UDP ãããã»ãã¤ãã¼ãã¢ã¯ã»ã¹ãã¯ã74 * UDP ヘッダ・ペイロードアクセスマクロ 87 75 */ 88 76 … … 95 83 96 84 /* 97 * TINET 1.1 ã¨ã®äºææ§ã®ããã®å®ç¾©85 * TINET 1.1 との互換性のための定義 98 86 */ 99 87 … … 108 96 109 97 /* 110 * ã³ã¼ã«ããã¯é¢æ°ã®å®ç¾©98 * コールバック関数の定義 111 99 */ 112 100 … … 114 102 115 103 /* 116 * UDP é信端ç¹117 */ 118 119 /* IPv6 ç¨ UDP é信端ç¹*/104 * UDP 通信端点 105 */ 106 107 /* IPv6 用 UDP 通信端点 */ 120 108 121 109 typedef struct t_udp6_cep { 122 110 123 111 /* 124 * ITRON TCP/IP API ãTCP é信端ç¹ã¨åãã¡ã³ã112 * ITRON TCP/IP API、TCP 通信端点と同じメンバ 125 113 */ 126 ATR cepatr; /* UDP é信端ç¹å±æ§*/127 T_IPV6EP myaddr; /* èªåã®ã¢ãã¬ã¹*/128 t_udp_callback callback; /* ã³ã¼ã«ããã¯é¢æ°*/114 ATR cepatr; /* UDP 通信端点属性 */ 115 T_IPV6EP myaddr; /* 自分のアドレス */ 116 t_udp_callback callback; /* コールバック関数 */ 129 117 130 118 /* 131 * TINET ç¬èªã®ã¡ã³ã119 * TINET 独自のメンバ 132 120 */ 133 uint16_t flags; /* é信端ç¹ãã©ã°*/134 ID semid_lock; /* é信端ç¹ããã¯*/135 ID snd_tskid; /* éä¿¡ã¿ã¹ã¯èå¥å*/136 ID rcv_tskid; /* åä¿¡ã¿ã¹ã¯èå¥å*/137 ID rcvqid; /* éã³ã¼ã«ããã¯ç¨åä¿¡ãã¥ã¼èå¥å*/138 T_NET_BUF *cb_netbuf; /* ã³ã¼ã«ããã¯ç¨åä¿¡ãããã¯ã¼ã¯ãããã¡*/121 uint16_t flags; /* 通信端点フラグ */ 122 ID semid_lock; /* 通信端点ロック */ 123 ID snd_tskid; /* 送信タスク識別子 */ 124 ID rcv_tskid; /* 受信タスク識別子 */ 125 ID rcvqid; /* 非コールバック用受信キュー識別子*/ 126 T_NET_BUF *cb_netbuf; /* コールバック用受信ネットワークバッファ*/ 139 127 140 128 #ifdef UDP_CFG_NON_BLOCKING 141 129 142 T_IPV6EP *snd_p_dstaddr; /* éä¿¡ç¸æã®ã¢ãã¬ã¹ã¸ã®ãã¤ã³ã¿*/ 143 T_IPV6EP *rcv_p_dstaddr; /* åä¿¡ç¸æã®ã¢ãã¬ã¹ã¸ã®ãã¤ã³ã¿*/ 144 void *snd_data; /* éä¿¡ãã¼ã¿é åã®å 145 é ã¢ãã¬ã¹ */ 146 int_t snd_len; /* éä¿¡ãã¼ã¿é åã®é·ã */ 147 void *rcv_data; /* åä¿¡ãã¼ã¿é åã®å 148 é ã¢ãã¬ã¹ */ 149 int_t rcv_len; /* åä¿¡ãã¼ã¿é åã®é·ã */ 130 T_IPV6EP *snd_p_dstaddr; /* 送信相手のアドレスへのポインタ*/ 131 T_IPV6EP *rcv_p_dstaddr; /* 受信相手のアドレスへのポインタ*/ 132 void *snd_data; /* 送信データ領域の先頭アドレス */ 133 int_t snd_len; /* 送信データ領域の長さ */ 134 void *rcv_data; /* 受信データ領域の先頭アドレス */ 135 int_t rcv_len; /* 受信データ領域の長さ */ 150 136 151 137 #endif /* of #ifdef UDP_CFG_NON_BLOCKING */ 152 138 153 139 #ifdef UDP_CFG_EXTENTIONS 154 ER error; /* å¾ 155 ã¡ä¸ã«çºçããã¨ã©ã¼ */ 140 ER error; /* 待ち中に発生したエラー */ 156 141 #endif 157 142 158 143 } T_UDP6_CEP; 159 144 160 /* IPv4 ç¨ UDP é信端ç¹*/145 /* IPv4 用 UDP 通信端点 */ 161 146 162 147 typedef struct t_udp4_cep { 163 148 164 149 /* 165 * ITRON TCP/IP API ãTCP é信端ç¹ã¨åãã¡ã³ã150 * ITRON TCP/IP API、TCP 通信端点と同じメンバ 166 151 */ 167 ATR cepatr; /* UDP é信端ç¹å±æ§*/168 T_IPV4EP myaddr; /* èªåã®ã¢ãã¬ã¹*/169 t_udp_callback callback; /* ã³ã¼ã«ããã¯é¢æ°*/152 ATR cepatr; /* UDP 通信端点属性 */ 153 T_IPV4EP myaddr; /* 自分のアドレス */ 154 t_udp_callback callback; /* コールバック関数 */ 170 155 171 156 /* 172 * TINET ç¬èªã®ã¡ã³ã157 * TINET 独自のメンバ 173 158 */ 174 uint16_t flags; /* é信端ç¹ãã©ã°*/175 ID semid_lock; /* é信端ç¹ããã¯*/176 ID snd_tskid; /* éä¿¡ã¿ã¹ã¯èå¥å*/177 ID rcv_tskid; /* åä¿¡ã¿ã¹ã¯èå¥å*/178 ID rcvqid; /* éã³ã¼ã«ããã¯ç¨åä¿¡ãã¥ã¼èå¥å*/179 T_NET_BUF *cb_netbuf; /* ã³ã¼ã«ããã¯ç¨åä¿¡ãããã¯ã¼ã¯ãããã¡*/159 uint16_t flags; /* 通信端点フラグ */ 160 ID semid_lock; /* 通信端点ロック */ 161 ID snd_tskid; /* 送信タスク識別子 */ 162 ID rcv_tskid; /* 受信タスク識別子 */ 163 ID rcvqid; /* 非コールバック用受信キュー識別子*/ 164 T_NET_BUF *cb_netbuf; /* コールバック用受信ネットワークバッファ*/ 180 165 181 166 #ifdef UDP_CFG_NON_BLOCKING 182 167 183 T_IPV4EP *snd_p_dstaddr; /* éä¿¡ç¸æã®ã¢ãã¬ã¹ã¸ã®ãã¤ã³ã¿*/ 184 T_IPV4EP *rcv_p_dstaddr; /* åä¿¡ç¸æã®ã¢ãã¬ã¹ã¸ã®ãã¤ã³ã¿*/ 185 void *snd_data; /* éä¿¡ãã¼ã¿é åã®å 186 é ã¢ãã¬ã¹ */ 187 int_t snd_len; /* éä¿¡ãã¼ã¿é åã®é·ã */ 188 void *rcv_data; /* åä¿¡ãã¼ã¿é åã®å 189 é ã¢ãã¬ã¹ */ 190 int_t rcv_len; /* åä¿¡ãã¼ã¿é åã®é·ã */ 168 T_IPV4EP *snd_p_dstaddr; /* 送信相手のアドレスへのポインタ*/ 169 T_IPV4EP *rcv_p_dstaddr; /* 受信相手のアドレスへのポインタ*/ 170 void *snd_data; /* 送信データ領域の先頭アドレス */ 171 int_t snd_len; /* 送信データ領域の長さ */ 172 void *rcv_data; /* 受信データ領域の先頭アドレス */ 173 int_t rcv_len; /* 受信データ領域の長さ */ 191 174 192 175 #endif /* of #ifdef UDP_CFG_NON_BLOCKING */ 193 176 194 177 #ifdef UDP_CFG_EXTENTIONS 195 ER error; /* å¾ 196 ã¡ä¸ã«çºçããã¨ã©ã¼ */ 178 ER error; /* 待ち中に発生したエラー */ 197 179 #endif 198 180 … … 214 196 215 197 /* 216 * UDP é信端ç¹ãã©ã° 217 */ 218 219 #define UDP_CEP_FLG_POST_OUTPUT UINT_C(0x0200) /* éä¿¡ãéå§ããã */ 220 #define UDP_CEP_FLG_DYNAMIC UINT_C(0x0400) /* åççæã»åé¤å¯è½é信端ç¹ã */ 221 #define UDP_CEP_FLG_VALID UINT_C(0x0800) /* çææ¸ã¿ã§æå¹ãªé信端ç¹ã */ 222 223 /* 224 * ãªãã¸ã§ã¯ã ID ã®æå°å¤ã®å®ç¾© 225 */ 226 227 #define TMIN_UDP_CEPID 1 /* UDP éä¿¡ç«¯ç¹ ID ã®æå°å¤ */ 228 #define TMIN_UDP6_CEPID 1 /* UDP/IPv6 éä¿¡ç«¯ç¹ ID ã®æå°å¤ */ 229 #define TMIN_UDP4_CEPID (TNUM_UDP6_CEPID+1) /* UDP/IPv4 éä¿¡ç«¯ç¹ ID ã®æå°å¤ */ 230 231 /* 232 * SNMP 㮠管çæ 233 å ±ãã¼ã¹ (MIB) 198 * UDP 通信端点フラグ 199 */ 200 201 #define UDP_CEP_FLG_POST_OUTPUT UINT_C(0x0200) /* 送信を開始する。 */ 202 #define UDP_CEP_FLG_DYNAMIC UINT_C(0x0400) /* 動的生成・削除可能通信端点。 */ 203 #define UDP_CEP_FLG_VALID UINT_C(0x0800) /* 生成済みで有効な通信端点。 */ 204 205 /* 206 * オブジェクト ID の最小値の定義 207 */ 208 209 #define TMIN_UDP_CEPID 1 /* UDP 通信端点 ID の最小値 */ 210 #define TMIN_UDP6_CEPID 1 /* UDP/IPv6 通信端点 ID の最小値 */ 211 #define TMIN_UDP4_CEPID (TNUM_UDP6_CEPID+1) /* UDP/IPv4 通信端点 ID の最小値 */ 212 213 /* 214 * SNMP の 管理情報ベース (MIB) 234 215 */ 235 216 … … 242 223 243 224 /* 244 * é¢æ°ã·ãã¥ã¬ã¼ã·ã§ã³ãã¯ã225 * 関数シミュレーションマクロ 245 226 */ 246 227 … … 264 245 265 246 /* 266 * å 267 ¨åå¤æ° 247 * 全域変数 268 248 */ 269 249 270 250 extern T_UDP_STATS udp_stats; 271 251 272 /* UDP é信端ç¹*/252 /* UDP 通信端点 */ 273 253 274 254 extern T_UDP6_CEP udp6_cep[]; … … 292 272 293 273 /* 294 * TINET 1.3 ã¨ã®äºææ§ã®ããã®å®ç¾©274 * TINET 1.3 との互換性のための定義 295 275 */ 296 276 … … 299 279 300 280 /* 301 * é¢æ°281 * 関数 302 282 */ 303 283 … … 328 308 extern void udp4_input_select (T_UDP4_CEP *cep, T_NET_BUF *input, uint_t off); 329 309 330 /* ãã³ããããã³ã°ã³ã¼ã«ãè¡ãå ´åã«çµã¿è¾¼ãã¿ã¹ã¯*/310 /* ノンブロッキングコールを行う場合に組み込むタスク */ 331 311 332 312 extern void udp_output_task(intptr_t exinf); -
asp3_gr_sakura/trunk/tinet/netinet/udpn_input.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 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 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 80 68 81 69 /* 82 * udp_input_select -- UDP ã®å 83 ¥åå¦çã®é¸æ 70 * udp_input_select -- UDP の入力処理の選択 84 71 */ 85 72 … … 93 80 len = (uint_t)(ntohs(udph->ulen) - UDP_HDR_SIZE); 94 81 95 if (cep->rcv_tskid != TA_NULL) { /* éãã³ããããã³ã°ã³ã¼ã«ã§ãã³ãã£ã³ã°ä¸*/82 if (cep->rcv_tskid != TA_NULL) { /* 非ノンブロッキングコールでペンディング中 */ 96 83 if (psnd_dtq(cep->rcvqid, (intptr_t)input) != E_OK) { 97 84 NET_COUNT_UDP(net_count_udp.in_err_packets, 1); … … 103 90 #ifdef UDP_CFG_NON_BLOCKING 104 91 105 else if (cep->rcv_p_dstaddr != NULL) { /* ãã³ããããã³ã°ã³ã¼ã«ã§ãã³ãã£ã³ã°ä¸*/106 107 /* p_dstaddr ãè¨å®ããã*/92 else if (cep->rcv_p_dstaddr != NULL) { /* ノンブロッキングコールでペンディング中 */ 93 94 /* p_dstaddr を設定する。*/ 108 95 cep->rcv_p_dstaddr->portno = ntohs(udph->sport); 109 96 IN_COPY_TO_HOST(&cep->rcv_p_dstaddr->ipaddr, input); 110 97 111 /* ãã¼ã¿ããããã¡ã«ç§»ãã*/98 /* データをバッファに移す。*/ 112 99 memcpy(cep->rcv_data, GET_UDP_SDU(input, off), 113 100 (size_t)(len < cep->rcv_len ? len : cep->rcv_len)); … … 130 117 else if (IS_PTR_DEFINED(cep->callback)) { 131 118 132 /* ã³ã¼ã«ããã¯é¢æ°ãå¼ã³åºãã*/119 /* コールバック関数を呼び出す。*/ 133 120 cep->cb_netbuf = input; 134 121 … … 139 126 #endif 140 127 /* 141 * ãããã¯ã¼ã¯ãããã¡ããã®ã¾ã¾ã§ããã°ãã³ã¼ã«ããã¯é¢æ°å 142 㧠143 * ãã¼ã¿ãèªã¿åºããªãã£ããã¨ã«ãªãã®ã§ãæ¨ã¦ãã 128 * ネットワークバッファがそのままであれば、コールバック関数内で 129 * データを読み出さなかったことになるので、捨てる。 144 130 */ 145 131 if (cep->cb_netbuf != NULL) … … 157 143 158 144 /* 159 * udp_input -- UDP ã®å 160 ¥åé¢æ° 145 * udp_input -- UDP の入力関数 161 146 */ 162 147 … … 179 164 NET_COUNT_MIB(udp_stats.udpInDatagrams, 1); 180 165 181 /* ãããé·ããã§ãã¯ããã*/166 /* ヘッダ長をチェックする。*/ 182 167 if (input->len < hlen + UDP_HDR_SIZE) 183 168 goto buf_rel; … … 185 170 udph = (T_UDP_HDR *)(input->buf + *offp); 186 171 187 /* ãã¼ã¿ã°ã©ã é·ããã§ãã¯ãã*/172 /* データグラム長をチェックする */ 188 173 ulen = ntohs(udph->ulen); 189 174 if (ulen != input->len - hlen) 190 175 goto buf_rel; 191 176 192 /* å®å 193 ãã¼ãã 0 ã®ãã¼ã¿ã°ã©ã ã¯ç ´æ£ãããRFC768 */ 177 /* 宛先ポートが 0 のデータグラムは破棄する。RFC768 */ 194 178 if (udph->dport == 0) 195 179 goto buf_rel; … … 197 181 #ifdef UDP_CFG_IN_CHECKSUM 198 182 199 /* ãã§ãã¯ãµã ããã§ãã¯ãã*/183 /* チェックサムをチェックする */ 200 184 if (udph->sum && IN_CKSUM(input, IPPROTO_UDP, *offp, ulen) != 0) 201 185 goto buf_rel; … … 207 191 #if TNUM_UDP4_CEPID > 0 208 192 209 /* UDP é信端ç¹ãå¾ãã*/193 /* UDP 通信端点を得る。*/ 210 194 cep = udp4_find_cep(input, *offp); 211 195 … … 221 205 #else /* of #if TNUM_UDP4_CEPID > 0 */ 222 206 223 cep = 0; /* warning åé¿ç¨ã®ããã¼*/207 cep = 0; /* warning 回避用のダミー */ 224 208 if ((cep6 = udp6_find_cep(input, *offp)) != NULL) 225 209 udp6_input_select(cep6, input, *offp); … … 233 217 #else /* of #if defined(_IP6_CFG) && defined(_IP4_CFG) && API_PROTO == API_PROTO_IPV4 */ 234 218 235 /* UDP é信端ç¹ãå¾ãã*/219 /* UDP 通信端点を得る。*/ 236 220 cep = UDP_FIND_CEP(input, *offp); 237 221 -
asp3_gr_sakura/trunk/tinet/netinet/udpn_output.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 78 66 79 67 /* 80 * udp_output -- UDP ã®åºåé¢æ°81 * ãã³ããããã³ã°ã³ã¼ã«ãçµã¿è¾¼ãã ã¨ã使ç¨ããã68 * udp_output -- UDP の出力関数 69 * ノンブロッキングコールを組み込んだとき使用する。 82 70 */ 83 71 … … 93 81 #endif /* of #ifdef UDP_CFG_OUT_CHECKSUM */ 94 82 95 /* IP ãã¼ã¿ã°ã©ã ãå²ãå½ã¦ãã*/83 /* IP データグラムを割り当てる。*/ 96 84 if ((error = IN_GET_DATAGRAM(&output, (uint_t)(UDP_HDR_SIZE + cep->snd_len), 0, 97 85 &cep->snd_p_dstaddr->ipaddr, … … 102 90 } 103 91 104 /* UDP ãããã«æ 105 å ±ãè¨å®ããã*/ 92 /* UDP ヘッダに情報を設定する。*/ 106 93 udph = GET_UDP_HDR(output, IF_IP_UDP_HDR_OFFSET(output)); 107 94 udph->sport = htons(cep->myaddr.portno); … … 110 97 udph->sum = 0; 111 98 112 /* ãã¼ã¿ãã³ãã¼ããã*/99 /* データをコピーする。*/ 113 100 memcpy((void*)GET_UDP_SDU(output, IF_IP_UDP_HDR_OFFSET(output)), 114 101 cep->snd_data, (size_t)cep->snd_len); … … 119 106 (uint_t)(UDP_HDR_SIZE + cep->snd_len)); 120 107 121 /* è¨ç®ãããã§ãã¯ãµã ã®å¤ã 0 ãªã 0xffff ãå 122 ¥ããã*/ 108 /* 計算したチェックサムの値が 0 なら 0xffff を入れる。*/ 123 109 if (sum == 0) 124 110 sum = UINT_C(0xffff); … … 127 113 #endif/* of #ifdef UDP_CFG_OUT_CHECKSUM */ 128 114 129 /* ãããã¯ã¼ã¯ãããã¡é·ã調æ´ããã*/115 /* ネットワークバッファ長を調整する。*/ 130 116 output->len = (uint16_t)(IF_IP_UDP_HDR_SIZE(output) + cep->snd_len); 131 117 132 /* ãããã¯ã¼ã¯å±¤ (IP) ã®åºåé¢æ°ãå¼ã³åºãã*/118 /* ネットワーク層 (IP) の出力関数を呼び出す。*/ 133 119 if ((error = IP_OUTPUT(output, TMO_UDP_OUTPUT)) != E_OK) 134 120 goto err_ret; -
asp3_gr_sakura/trunk/tinet/netinet/udpn_subr.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 78 66 79 67 /* 80 * udp_alloc_auto_port -- èªåå²ãå½ã¦ãã¼ãçªå·ãè¨å®ããã68 * udp_alloc_auto_port -- 自動割り当てポート番号を設定する。 81 69 */ 82 70 … … 114 102 115 103 /* 116 * udp_alloc_port -- æå®ããããã¼ãçªå·ãè¨å®ããã104 * udp_alloc_port -- 指定されたポート番号を設定する。 117 105 */ 118 106 … … 134 122 135 123 /* 136 * udp_find_cep -- ãã¼ãçªå·ãã UDP é信端ç¹ãå¾ãã124 * udp_find_cep -- ポート番号から UDP 通信端点を得る。 137 125 */ 138 126 … … 146 134 147 135 /* 148 * IP ã¢ãã¬ã¹ã¨ãã¼ãçªå·ãä¸è´ããé信端ç¹ãæ¢ç´¢ããã136 * IP アドレスとポート番号が一致する通信端点を探索する。 149 137 */ 150 138 for (cep = &UDP_CEP[TMAX_UDP_CEPID]; cep -- != UDP_CEP; ) { … … 159 147 160 148 /* 161 * udp_notify -- ICMP ã¨ã©ã¼ã®å¦ç149 * udp_notify -- ICMP エラーの処理 162 150 */ 163 151 -
asp3_gr_sakura/trunk/tinet/netinet/udpn_usrreq.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 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 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 83 71 84 72 /* 85 * udp_send_data -- ãã±ããéä¿¡ã®ä¸»è¦é¨73 * udp_send_data -- パケット送信の主要部 86 74 */ 87 75 … … 101 89 NET_COUNT_UDP(net_count_udp.out_packets, 1); 102 90 103 /* IP ãã¼ã¿ã°ã©ã å²ãå½ã¦ã®æéã tmout ããæ¸ããã*/91 /* IP データグラム割り当ての時間を tmout から減ずる。*/ 104 92 if (!(tmout == TMO_POL || tmout == TMO_FEVR)) 105 93 syscall(get_tim(&before)); 106 94 107 /* IP ãã¼ã¿ã°ã©ã ãå²ãå½ã¦ãã*/95 /* IP データグラムを割り当てる。*/ 108 96 if ((error = IN_GET_DATAGRAM(&output, (uint_t)(UDP_HDR_SIZE + len), 0, 109 97 &p_dstaddr->ipaddr, … … 113 101 goto err_ret; 114 102 115 /* IP ãã¼ã¿ã°ã©ã å²ãå½ã¦ã®æéã tmout ããæ¸ããã*/103 /* IP データグラム割り当ての時間を tmout から減ずる。*/ 116 104 if (!(tmout == TMO_POL || tmout == TMO_FEVR)) { 117 105 syscall(get_tim(&after)); … … 124 112 } 125 113 126 /* UDP ãããã«æ 127 å ±ãè¨å®ããã*/ 114 /* UDP ヘッダに情報を設定する。*/ 128 115 udph = GET_UDP_HDR(output, IF_IP_UDP_HDR_OFFSET(output)); 129 116 udph->sport = htons(cep->myaddr.portno); … … 132 119 udph->sum = 0; 133 120 134 /* ãã¼ã¿ãã³ãã¼ããã*/121 /* データをコピーする。*/ 135 122 memcpy((void*)GET_UDP_SDU(output, IF_IP_UDP_HDR_OFFSET(output)), data, (size_t)len); 136 123 … … 139 126 sum = IN_CKSUM(output, IPPROTO_UDP, IF_IP_UDP_HDR_OFFSET(output), (uint_t)(UDP_HDR_SIZE + len)); 140 127 141 /* è¨ç®ãããã§ãã¯ãµã ã®å¤ã 0 ãªã 0xffff ãå 142 ¥ããã*/ 128 /* 計算したチェックサムの値が 0 なら 0xffff を入れる。*/ 143 129 if (sum == 0) 144 130 sum = 0xffff; … … 147 133 #endif /* of #ifdef UDP_CFG_OUT_CHECKSUM */ 148 134 149 /* ãããã¯ã¼ã¯ãããã¡é·ã調æ´ããã*/135 /* ネットワークバッファ長を調整する。*/ 150 136 output->len = (uint16_t)(IF_IP_UDP_HDR_SIZE(output) + len); 151 137 152 /* ãããã¯ã¼ã¯å±¤ (IP) ã®åºåé¢æ°ãå¼ã³åºãã*/138 /* ネットワーク層 (IP) の出力関数を呼び出す。*/ 153 139 if ((error = IP_OUTPUT(output, tmout)) == E_OK) { 154 140 NET_COUNT_MIB(udp_stats.udpOutDatagrams, 1); … … 166 152 167 153 /* 168 * udp_cancel_cep -- ãã³ãã£ã³ã°ãã¦ããå¦çããã£ã³ã»ã«ããã169 * 170 * udp_can_cep ããå¼åºãããã¡ã¤ã³é¢æ°154 * udp_cancel_cep -- ペンディングしている処理をキャンセルする。 155 * 156 * udp_can_cep から呼出されるメイン関数 171 157 */ 172 158 … … 178 164 ER error = E_OK, snd_err, rcv_err; 179 165 180 /* UDP é信端ç¹ããã§ãã¯ããã*/166 /* UDP 通信端点をチェックする。*/ 181 167 if (!VALID_UDP_CEP(cep)) 182 168 return E_NOEXS; 183 169 184 /* API æ©è½ã³ã¼ãããã§ãã¯ããã*/170 /* API 機能コードをチェックする。*/ 185 171 if (!VALID_TFN_UDP_CAN(fncd)) 186 172 return E_PAR; 187 173 188 /* é信端ç¹ãããã¯ããã*/174 /* 通信端点をロックする。*/ 189 175 syscall(wai_sem(cep->semid_lock)); 190 176 191 if (fncd == TFN_UDP_ALL) { /* TFN_UDP_ALL ã®å¦ç*/177 if (fncd == TFN_UDP_ALL) { /* TFN_UDP_ALL の処理 */ 192 178 193 179 snd_err = UDP_CAN_SND(cep, E_RLWAI); … … 195 181 196 182 /* 197 * snd_err 㨠rcv_err ã®ã©ã¡ããEV_NOPND198 * ãªãããã³ãã£ã³ã°ãã¦ããªãã®ã§ã¨ã©ã¼183 * snd_err と rcv_err のどちらも EV_NOPND 184 * なら、ペンディングしていないのでエラー 199 185 */ 200 186 if (snd_err == EV_NOPND && rcv_err == EV_NOPND) … … 212 198 } 213 199 } 214 else if (fncd == TFN_UDP_SND_DAT) { /* éä¿¡å¦çã®ãã£ã³ã»ã«*/200 else if (fncd == TFN_UDP_SND_DAT) { /* 送信処理のキャンセル */ 215 201 if ((error = UDP_CAN_SND(cep, E_RLWAI)) == EV_NOPND) 216 202 error = E_OBJ; 217 203 } 218 else if (fncd == TFN_UDP_RCV_DAT) { /* åä¿¡å¦çã®ãã£ã³ã»ã«*/204 else if (fncd == TFN_UDP_RCV_DAT) { /* 受信処理のキャンセル */ 219 205 if ((error = UDP_CAN_RCV(cep, E_RLWAI)) == EV_NOPND) 220 206 error = E_OBJ; … … 223 209 error = E_PAR; 224 210 225 /* é信端ç¹ãããã¯ã解é¤ããã*/211 /* 通信端点をロックを解除する。*/ 226 212 syscall(sig_sem(cep->semid_lock)); 227 213 … … 236 222 237 223 /* 238 * udp_can_cep -- ãã³ãã£ã³ã°ãã¦ããå¦çã®ãã£ã³ã»ã«ãæ¨æºæ©è½ã224 * udp_can_cep -- ペンディングしている処理のキャンセル【標準機能】 239 225 */ 240 226 … … 246 232 T_UDP_CEP *cep; 247 233 248 /* UDP éä¿¡ç«¯ç¹ ID ããã§ãã¯ããã*/234 /* UDP 通信端点 ID をチェックする。*/ 249 235 if (!VALID_UDP_CEPID(cepid)) 250 236 return E_ID; 251 237 252 /* UDP é信端ç¹ãå¾ãã*/238 /* UDP 通信端点を得る。*/ 253 239 cep = GET_UDP_CEP(cepid); 254 240 255 /* ã¡ã¤ã³é¢æ°ãå¼ã³åºãã*/241 /* メイン関数を呼び出す。*/ 256 242 return UDP_CANCEL_CEP(cep, fncd); 257 243 } … … 264 250 265 251 /* 266 * udp_cre_cep -- UDP é信端ç¹ã®çæãæ¡å¼µæ©è½ã252 * udp_cre_cep -- UDP 通信端点の生成【拡張機能】 267 253 */ 268 254 … … 275 261 ER error; 276 262 277 /* UDP éä¿¡ç«¯ç¹ ID ããã§ãã¯ããã*/263 /* UDP 通信端点 ID をチェックする。*/ 278 264 if (!VALID_UDP_CEPID(cepid)) 279 265 return E_ID; 280 266 281 /* pk_ccep ã NULL ãªãã¨ã©ã¼*/267 /* pk_ccep が NULL ならエラー */ 282 268 if (pk_ccep == NULL) 283 269 return E_PAR; … … 286 272 287 273 /* 288 * API ã IPv6 㧠IPv4 å°å½±ã¢ãã¬ã¹ãèªãããã¦ããªãã®ã«ããããããã289 * IPv4 å°å½±ã¢ãã¬ã¹ãæå®ããããã¨ã©ã¼274 * API が IPv6 で IPv4 射影アドレスが認められていないのにもかかわらず、 275 * IPv4 射影アドレスが指定されたらエラー 290 276 */ 291 277 if (in6_is_addr_ipv4mapped(&pk_ccep->myaddr.ipaddr)) … … 294 280 #endif /* of #if (API_PROTO == API_PROTO_IPV6) && !defined(DAPI_CFG_IP4MAPPED_ADDR) */ 295 281 296 /* UDP é信端ç¹ãå¾ãã*/282 /* UDP 通信端点を得る。*/ 297 283 cep = GET_UDP_CEP(cepid); 298 284 299 /* UDP é信端ç¹ããã§ãã¯ããã*/285 /* UDP 通信端点をチェックする。*/ 300 286 if (VALID_UDP_CEP(cep)) 301 287 return E_OBJ; 302 288 303 /* UDP é信端ç¹ããåççæç¨ã§ãªããã°ã¨ã©ã¼*/289 /* UDP 通信端点が、動的生成用でなければエラー */ 304 290 if (!DYNAMIC_UDP_CEP(cep)) 305 291 return E_ID; 306 292 307 /* é信端ç¹ãããã¯ããã*/293 /* 通信端点をロックする。*/ 308 294 syscall(wai_sem(cep->semid_lock)); 309 295 310 296 /* 311 * UDP é信端ç¹ããã§ãã¯ãããçææ¸ã¿ã§ããã°ã¨ã©ã¼297 * UDP 通信端点をチェックする。生成済みであればエラー 312 298 */ 313 299 if (VALID_UDP_CEP(cep)) … … 316 302 317 303 /* 318 * èªãã¼ãçªå·ã UDP_PORTANY ãªããèªåã§å²ãå½ã¦ãã304 * 自ポート番号が UDP_PORTANY なら、自動で割り当てる。 319 305 */ 320 306 if (pk_ccep->myaddr.portno == UDP_PORTANY) … … 325 311 if (error == E_OK) { 326 312 327 /* UDP é信端ç¹çææ 328 å ±ãã³ãã¼ããã*/ 329 cep->cepatr = pk_ccep->cepatr; /* é信端ç¹å±æ§ */ 330 cep->myaddr.ipaddr = pk_ccep->myaddr.ipaddr; /* èªåã®ã¢ãã¬ã¹ */ 331 cep->callback = (void*)pk_ccep->callback; /* ã³ã¼ã«ãã㯠*/ 332 333 /* UDP é信端ç¹ãçææ¸ã¿ã«ããã*/ 313 /* UDP 通信端点生成情報をコピーする。*/ 314 cep->cepatr = pk_ccep->cepatr; /* 通信端点属性 */ 315 cep->myaddr.ipaddr = pk_ccep->myaddr.ipaddr; /* 自分のアドレス */ 316 cep->callback = (void*)pk_ccep->callback; /* コールバック */ 317 318 /* UDP 通信端点を生成済みにする。*/ 334 319 cep->flags |= UDP_CEP_FLG_VALID; 335 320 } 336 321 } 337 322 338 /* é信端ç¹ã®ããã¯ã解é¤ããã*/323 /* 通信端点のロックを解除する。*/ 339 324 syscall(sig_sem(cep->semid_lock)); 340 325 … … 347 332 348 333 /* 349 * udp_delete_cep -- UDP é信端ç¹ãåé¤ããã350 * 351 * udp_del_cep ããå¼åºãããã¡ã¤ã³é¢æ°334 * udp_delete_cep -- UDP 通信端点を削除する。 335 * 336 * udp_del_cep から呼出されるメイン関数 352 337 */ 353 338 … … 357 342 ER error; 358 343 359 /* UDP é信端ç¹ããã§ãã¯ããã*/344 /* UDP 通信端点をチェックする。*/ 360 345 if (!VALID_UDP_CEP(cep)) 361 346 return E_NOEXS; 362 347 363 /* UDP é信端ç¹ããåççæç¨ã§ãªããã°ã¨ã©ã¼*/348 /* UDP 通信端点が、動的生成用でなければエラー */ 364 349 if (!DYNAMIC_UDP_CEP(cep)) 365 350 return E_ID; 366 351 367 /* é信端ç¹ãããã¯ããã*/352 /* 通信端点をロックする。*/ 368 353 syscall(wai_sem(cep->semid_lock)); 369 354 370 355 /* 371 * UDP é信端ç¹ããã§ãã¯ãããæªçæã®å ´åã¯ã¨ã©ã¼372 * ã»æªçæã356 * UDP 通信端点をチェックする。未生成の場合はエラー 357 * ・未生成。 373 358 */ 374 359 if (!VALID_UDP_CEP(cep)) … … 378 363 UDP_CAN_RCV(cep, E_DLT); 379 364 380 /* UDP é信端ç¹ãæªçæã«ããã*/365 /* UDP 通信端点を未生成にする。*/ 381 366 cep->flags &= ~UDP_CEP_FLG_VALID; 382 367 error = E_OK; 383 368 } 384 369 385 /* é信端ç¹ã®ããã¯ã解é¤ããã*/370 /* 通信端点のロックを解除する。*/ 386 371 syscall(sig_sem(cep->semid_lock)); 387 372 … … 390 375 391 376 /* 392 * udp_del_cep -- UDP é信端ç¹ã®åé¤ãæ¡å¼µæ©è½ã377 * udp_del_cep -- UDP 通信端点の削除【拡張機能】 393 378 */ 394 379 … … 398 383 T_UDP_CEP *cep; 399 384 400 /* UDP éä¿¡ç«¯ç¹ ID ããã§ãã¯ããã*/385 /* UDP 通信端点 ID をチェックする。*/ 401 386 if (!VALID_UDP_CEPID(cepid)) 402 387 return E_ID; 403 388 404 /* UDP é信端ç¹ãå¾ãã*/389 /* UDP 通信端点を得る。*/ 405 390 cep = GET_UDP_CEP(cepid); 406 391 407 /* ã¡ã¤ã³é¢æ°ãå¼ã³åºãã*/392 /* メイン関数を呼び出す。*/ 408 393 return UDP_DELETE_CEP(cep); 409 394 } … … 414 399 415 400 /* 416 * udp_set_option -- UDP é信端ç¹ãªãã·ã§ã³ãè¨å®ããã417 * 418 * udp_set_opt ããå¼åºãããã¡ã¤ã³é¢æ°401 * udp_set_option -- UDP 通信端点オプションを設定する。 402 * 403 * udp_set_opt から呼出されるメイン関数 419 404 */ 420 405 … … 422 407 UDP_SET_OPTION (T_UDP_CEP *cep, int_t optname, void *optval, int_t optlen) 423 408 { 424 /* UDP é信端ç¹ããã§ãã¯ããã*/409 /* UDP 通信端点をチェックする。*/ 425 410 if (!VALID_UDP_CEP(cep)) 426 411 return E_NOEXS; … … 430 415 431 416 /* 432 * udp_set_opt -- UDP é信端ç¹ãªãã·ã§ã³ã®è¨å®ãæ¡å¼µæ©è½ã433 * 434 * 注æ: è¨å®å¯è½ãª UDP é信端ç¹ãªãã·ã§ã³ã¯ç¡ããããE_PAR ãè¿ãããã417 * udp_set_opt -- UDP 通信端点オプションの設定【拡張機能】 418 * 419 * 注意: 設定可能な UDP 通信端点オプションは無いため、E_PAR が返される。 435 420 */ 436 421 … … 440 425 T_UDP_CEP *cep; 441 426 442 /* UDP éä¿¡ç«¯ç¹ ID ããã§ãã¯ããã*/427 /* UDP 通信端点 ID をチェックする。*/ 443 428 if (!VALID_UDP_CEPID(cepid)) 444 429 return E_ID; 445 430 446 /* UDP é信端ç¹ãå¾ãã*/431 /* UDP 通信端点を得る。*/ 447 432 cep = GET_UDP_CEP(cepid); 448 433 449 /* ã¡ã¤ã³é¢æ°ãå¼ã³åºãã*/434 /* メイン関数を呼び出す。*/ 450 435 return UDP_SET_OPTION(cep, optname, optval, optlen); 451 436 } … … 456 441 457 442 /* 458 * udp_get_option -- UDP é信端ç¹ãªãã·ã§ã³ãç²å¾ããã459 * 460 * udp_get_opt ããå¼åºãããã¡ã¤ã³é¢æ°443 * udp_get_option -- UDP 通信端点オプションを獲得する。 444 * 445 * udp_get_opt から呼出されるメイン関数 461 446 */ 462 447 … … 464 449 UDP_GET_OPTION (T_UDP_CEP *cep, int_t optname, void *optval, int_t optlen) 465 450 { 466 /* UDP é信端ç¹ããã§ãã¯ããã*/451 /* UDP 通信端点をチェックする。*/ 467 452 if (!VALID_UDP_CEP(cep)) 468 453 return E_NOEXS; … … 472 457 473 458 /* 474 * udp_get_opt -- UDP é信端ç¹ãªãã·ã§ã³ã®ç²å¾ãæ¡å¼µæ©è½ã475 * 476 * 注æ: è¨å®å¯è½ãª UDP é信端ç¹ãªãã·ã§ã³ã¯ç¡ããããE_PAR ãè¿ãããã459 * udp_get_opt -- UDP 通信端点オプションの獲得【拡張機能】 460 * 461 * 注意: 設定可能な UDP 通信端点オプションは無いため、E_PAR が返される。 477 462 */ 478 463 … … 482 467 T_UDP_CEP *cep; 483 468 484 /* UDP éä¿¡ç«¯ç¹ ID ããã§ãã¯ããã*/469 /* UDP 通信端点 ID をチェックする。*/ 485 470 if (!VALID_UDP_CEPID(cepid)) 486 471 return E_ID; 487 472 488 /* UDP é信端ç¹ãå¾ãã*/473 /* UDP 通信端点を得る。*/ 489 474 cep = GET_UDP_CEP(cepid); 490 475 491 /* ã¡ã¤ã³é¢æ°ãå¼ã³åºãã*/476 /* メイン関数を呼び出す。*/ 492 477 return UDP_GET_OPTION(cep, optname, optval, optlen); 493 478 } … … 504 489 505 490 /* 506 * udp_can_snd -- ãã³ãã£ã³ã°ãã¦ããéä¿¡ã®ãã£ã³ã»ã«491 * udp_can_snd -- ペンディングしている送信のキャンセル 507 492 */ 508 493 … … 510 495 UDP_CAN_SND (T_UDP_CEP *cep, ER error) 511 496 { 512 if (cep->snd_tskid != TA_NULL) { /* éãã³ããããã³ã°ã³ã¼ã«ã§ãã³ãã£ã³ã°ä¸*/497 if (cep->snd_tskid != TA_NULL) { /* 非ノンブロッキングコールでペンディング中 */ 513 498 514 499 #ifdef UDP_CFG_EXTENTIONS 515 500 516 /* å¾ 517 ã¡ä¸ã«çºçããã¨ã©ã¼æ 518 å ±ãè¨å®ããã*/ 501 /* 待ち中に発生したエラー情報を設定する。*/ 519 502 cep->error = error; 520 503 … … 524 507 cep->snd_tskid = TA_NULL; 525 508 } 526 else /* ã©ã¡ãã§ããªããªããã³ãã£ã³ã°ãã¦ããªã*/509 else /* どちらでもないならペンディングしていない */ 527 510 error = EV_NOPND; 528 511 … … 535 518 536 519 /* 537 * udp_can_rcv -- ãã³ãã£ã³ã°ãã¦ããåä¿¡ã®ãã£ã³ã»ã«520 * udp_can_rcv -- ペンディングしている受信のキャンセル 538 521 */ 539 522 … … 541 524 UDP_CAN_RCV (T_UDP_CEP *cep, ER error) 542 525 { 543 if (cep->rcv_tskid != TA_NULL) { /* éãã³ããããã³ã°ã³ã¼ã«ã§ãã³ãã£ã³ã°ä¸*/526 if (cep->rcv_tskid != TA_NULL) { /* 非ノンブロッキングコールでペンディング中 */ 544 527 545 528 #ifdef UDP_CFG_EXTENTIONS 546 529 547 /* å¾ 548 ã¡ä¸ã«çºçããã¨ã©ã¼æ 549 å ±ãè¨å®ããã*/ 530 /* 待ち中に発生したエラー情報を設定する。*/ 550 531 cep->error = error; 551 532 … … 555 536 cep->rcv_tskid = TA_NULL; 556 537 } 557 else /* ã©ã¡ãã§ããªããªããã³ãã£ã³ã°ãã¦ããªã*/538 else /* どちらでもないならペンディングしていない */ 558 539 error = EV_NOPND; 559 540 … … 566 547 567 548 /* 568 * udp_snd_dat -- ãã±ããã®éä¿¡ãæ¨æºæ©è½ã549 * udp_snd_dat -- パケットの送信【標準機能】 569 550 */ 570 551 … … 575 556 ER error; 576 557 577 /* p_dstaddr ã¾ã㯠data ã NULL ããtmout ã TMO_NBLK ãªãã¨ã©ã¼*/558 /* p_dstaddr または data が NULL か、tmout が TMO_NBLK ならエラー */ 578 559 if (p_dstaddr == NULL || data == NULL || tmout == TMO_NBLK) 579 560 return E_PAR; 580 561 581 /* ãã¼ã¿é·ããã§ãã¯ããã*/562 /* データ長をチェックする。*/ 582 563 if (len < 0 || len + IP_HDR_SIZE + UDP_HDR_SIZE > IF_MTU) 583 564 return E_PAR; … … 586 567 587 568 /* 588 * API ã IPv6 㧠IPv4 å°å½±ã¢ãã¬ã¹ãèªãããã¦ããªãã®ã«ããããããã589 * IPv4 å°å½±ã¢ãã¬ã¹ãæå®ããããã¨ã©ã¼569 * API が IPv6 で IPv4 射影アドレスが認められていないのにもかかわらず、 570 * IPv4 射影アドレスが指定されたらエラー 590 571 */ 591 572 if (in6_is_addr_ipv4mapped(&p_dstaddr->ipaddr)) … … 594 575 #endif /* of #if (API_PROTO == API_PROTO_IPV6) && !defined(DAPI_CFG_IP4MAPPED_ADDR) */ 595 576 596 /* UDP éä¿¡ç«¯ç¹ ID ããã§ãã¯ããã*/577 /* UDP 通信端点 ID をチェックする。*/ 597 578 if (!VALID_UDP_CEPID(cepid)) 598 579 return E_ID; 599 580 600 /* UDP é信端ç¹ãå¾ãã*/581 /* UDP 通信端点を得る。*/ 601 582 cep = GET_UDP_CEP(cepid); 602 583 603 /* UDP é信端ç¹ããã§ãã¯ããã*/584 /* UDP 通信端点をチェックする。*/ 604 585 if (!VALID_UDP_CEP(cep)) 605 586 return E_NOEXS; 606 587 607 588 /* 608 * èªãã¼ãçªå·ã UDP_PORTANY ãªããèªåã§å²ãå½ã¦ãã589 * 自ポート番号が UDP_PORTANY なら、自動で割り当てる。 609 590 */ 610 591 if (cep->myaddr.portno == UDP_PORTANY) { … … 613 594 } 614 595 615 /* é信端ç¹ãããã¯ããã*/596 /* 通信端点をロックする。*/ 616 597 syscall(wai_sem(cep->semid_lock)); 617 598 618 599 if (cep->snd_tskid != TA_NULL) { 619 600 620 /* éãã³ããããã³ã°ã³ã¼ã«ã§ãã³ãã£ã³ã°ä¸*/601 /* 非ノンブロッキングコールでペンディング中 */ 621 602 error = E_QOVR; 622 603 623 /* é信端ç¹ãããã¯ã解é¤ããã*/604 /* 通信端点をロックを解除する。*/ 624 605 syscall(sig_sem(cep->semid_lock)); 625 606 } 626 607 else { 627 /* ç¾å¨ã®ã¿ã¹ã¯èå¥åãè¨é²ããã*/608 /* 現在のタスク識別子を記録する。*/ 628 609 get_tid(&(cep->snd_tskid)); 629 610 630 611 #ifdef UDP_CFG_EXTENTIONS 631 612 632 /* å¾ 633 ã¡ä¸ã«çºçããã¨ã©ã¼æ 634 å ±ããªã»ããããã*/ 613 /* 待ち中に発生したエラー情報をリセットする。*/ 635 614 cep->error = E_OK; 636 615 637 616 #endif /* of #ifdef UDP_CFG_EXTENTIONS */ 638 617 639 /* é信端ç¹ãããã¯ã解é¤ããã*/618 /* 通信端点をロックを解除する。*/ 640 619 syscall(sig_sem(cep->semid_lock)); 641 620 642 /* ãã±ãããéä¿¡ããã*/621 /* パケットを送信する。*/ 643 622 error = UDP_SEND_DATA(cep, p_dstaddr, data, len, tmout); 644 623 645 624 #ifdef UDP_CFG_EXTENTIONS 646 625 647 /* å¾ 648 ã¡ä¸ã«çºçããã¨ã©ã¼æ 649 å ±ãè¿ãã*/ 626 /* 待ち中に発生したエラー情報を返す。*/ 650 627 if (error == E_RLWAI) 651 628 error = cep->error; … … 662 639 663 640 /* 664 * udp_rcv_dat -- ãã±ããã®åä¿¡ãæ¨æºæ©è½ã641 * udp_rcv_dat -- パケットの受信【標準機能】 665 642 */ 666 643 … … 674 651 uint_t ulen, uhoff; 675 652 676 /* p_dstaddr ã¾ã㯠data ã NULL ãlen < 0 ããtmout ã TMO_NBLK ãªãã¨ã©ã¼*/653 /* p_dstaddr または data が NULL 、len < 0 か、tmout が TMO_NBLK ならエラー */ 677 654 if (p_dstaddr == NULL || data == NULL || len < 0 || tmout == TMO_NBLK) 678 655 return E_PAR; 679 656 680 /* UDP éä¿¡ç«¯ç¹ ID ããã§ãã¯ããã*/657 /* UDP 通信端点 ID をチェックする。*/ 681 658 if (!VALID_UDP_CEPID(cepid)) 682 659 return E_ID; 683 660 684 /* UDP é信端ç¹ãå¾ãã*/661 /* UDP 通信端点を得る。*/ 685 662 cep = GET_UDP_CEP(cepid); 686 663 687 /* UDP é信端ç¹ããã§ãã¯ããã*/664 /* UDP 通信端点をチェックする。*/ 688 665 if (!VALID_UDP_CEP(cep)) 689 666 return E_NOEXS; 690 667 691 /* é信端ç¹ãããã¯ããã*/668 /* 通信端点をロックする。*/ 692 669 syscall(wai_sem(cep->semid_lock)); 693 670 694 671 if (cep->rcv_tskid != TA_NULL) { 695 672 696 /* éãã³ããããã³ã°ã³ã¼ã«ã§ãã³ãã£ã³ã°ä¸*/673 /* 非ノンブロッキングコールでペンディング中 */ 697 674 error = E_QOVR; 698 675 699 /* é信端ç¹ãããã¯ã解é¤ããã*/676 /* 通信端点をロックを解除する。*/ 700 677 syscall(sig_sem(cep->semid_lock)); 701 678 } 702 679 else { 703 680 704 /* ç¾å¨ã®ã¿ã¹ã¯èå¥åãè¨é²ããã*/681 /* 現在のタスク識別子を記録する。*/ 705 682 get_tid(&(cep->rcv_tskid)); 706 683 707 684 #ifdef UDP_CFG_EXTENTIONS 708 685 709 /* å¾ 710 ã¡ä¸ã«çºçããã¨ã©ã¼æ 711 å ±ããªã»ããããã*/ 686 /* 待ち中に発生したエラー情報をリセットする。*/ 712 687 cep->error = E_OK; 713 688 714 689 #endif /* of #ifdef UDP_CFG_EXTENTIONS */ 715 690 716 /* é信端ç¹ãããã¯ã解é¤ããã*/691 /* 通信端点をロックを解除する。*/ 717 692 syscall(sig_sem(cep->semid_lock)); 718 693 719 /* å 720 ¥åãããã¾ã§å¾ 721 ã¤ã*/ 694 /* 入力があるまで待つ。*/ 722 695 if (cep->cb_netbuf != NULL) { 723 696 724 697 /* 725 * ããã«ããå ´åã¯ãã³ã¼ã«ããã¯é¢æ°ã®ä¸ãã 726 * udp_rcv_dat ãå¼ã³åºãã¦ãããã¨ã«ãªãã 727 * ãã§ã«å 728 ¥åæ¸ã¿ã§ããã 698 * ここにくる場合は、コールバック関数の中から 699 * udp_rcv_dat を呼び出していることになり、 700 * すでに入力済みである。 729 701 */ 730 702 input = cep->cb_netbuf; … … 735 707 #ifdef UDP_CFG_EXTENTIONS 736 708 737 /* å¾ 738 ã¡ä¸ã«çºçããã¨ã©ã¼æ 739 å ±ãè¿ãã*/ 709 /* 待ち中に発生したエラー情報を返す。*/ 740 710 if (error == E_RLWAI) 741 711 error = cep->error; … … 747 717 } 748 718 749 /* p_dstaddr ãè¨å®ããã*/719 /* p_dstaddr を設定する。*/ 750 720 uhoff = (uint_t)GET_UDP_HDR_OFFSET(input); 751 721 udph = GET_UDP_HDR(input, uhoff); … … 753 723 IN_COPY_TO_HOST(&p_dstaddr->ipaddr, input); 754 724 755 /* ãã¼ã¿ããããã¡ã«ç§»ãã*/725 /* データをバッファに移す。*/ 756 726 ulen = ntohs(udph->ulen); 757 727 if (ulen - UDP_HDR_SIZE > len) -
asp3_gr_sakura/trunk/tinet/netinet/udpn_usrreq_nblk.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 83 71 84 72 /* 85 * udp_can_snd -- ãã³ãã£ã³ã°ãã¦ããéä¿¡ã®ãã£ã³ã»ã«73 * udp_can_snd -- ペンディングしている送信のキャンセル 86 74 */ 87 75 … … 89 77 UDP_CAN_SND (T_UDP_CEP *cep, ER error) 90 78 { 91 if (cep->snd_p_dstaddr != NULL) { /* ãã³ããããã³ã°ã³ã¼ã«ã§ãã³ãã£ã³ã°ä¸*/79 if (cep->snd_p_dstaddr != NULL) { /* ノンブロッキングコールでペンディング中 */ 92 80 if (IS_PTR_DEFINED(cep->callback)) 93 81 … … 101 89 cep->snd_p_dstaddr = NULL; 102 90 } 103 else if (cep->snd_tskid != TA_NULL) { /* éãã³ããããã³ã°ã³ã¼ã«ã§ãã³ãã£ã³ã°ä¸*/91 else if (cep->snd_tskid != TA_NULL) { /* 非ノンブロッキングコールでペンディング中 */ 104 92 105 93 #ifdef UDP_CFG_EXTENTIONS 106 94 107 /* å¾ 108 ã¡ä¸ã«çºçããã¨ã©ã¼æ 109 å ±ãè¨å®ããã*/ 95 /* 待ち中に発生したエラー情報を設定する。*/ 110 96 cep->error = error; 111 97 … … 115 101 cep->snd_tskid = TA_NULL; 116 102 } 117 else /* ã©ã¡ãã§ããªããªããã³ãã£ã³ã°ãã¦ããªã*/103 else /* どちらでもないならペンディングしていない */ 118 104 error = EV_NOPND; 119 105 … … 126 112 127 113 /* 128 * udp_can_rcv -- ãã³ãã£ã³ã°ãã¦ããåä¿¡ã®ãã£ã³ã»ã«114 * udp_can_rcv -- ペンディングしている受信のキャンセル 129 115 */ 130 116 … … 132 118 UDP_CAN_RCV (T_UDP_CEP *cep, ER error) 133 119 { 134 if (cep->rcv_p_dstaddr != NULL) { /* ãã³ããããã³ã°ã³ã¼ã«ã§ãã³ãã£ã³ã°ä¸*/120 if (cep->rcv_p_dstaddr != NULL) { /* ノンブロッキングコールでペンディング中 */ 135 121 if (IS_PTR_DEFINED(cep->callback)) 136 122 … … 144 130 cep->rcv_p_dstaddr = NULL; 145 131 } 146 else if (cep->rcv_tskid != TA_NULL) { /* éãã³ããããã³ã°ã³ã¼ã«ã§ãã³ãã£ã³ã°ä¸*/132 else if (cep->rcv_tskid != TA_NULL) { /* 非ノンブロッキングコールでペンディング中 */ 147 133 148 134 #ifdef UDP_CFG_EXTENTIONS 149 135 150 /* å¾ 151 ã¡ä¸ã«çºçããã¨ã©ã¼æ 152 å ±ãè¨å®ããã*/ 136 /* 待ち中に発生したエラー情報を設定する。*/ 153 137 cep->error = error; 154 138 … … 158 142 cep->rcv_tskid = TA_NULL; 159 143 } 160 else /* ã©ã¡ãã§ããªããªããã³ãã£ã³ã°ãã¦ããªã*/144 else /* どちらでもないならペンディングしていない */ 161 145 error = EV_NOPND; 162 146 … … 169 153 170 154 /* 171 * udp_snd_dat -- ãã±ããã®éä¿¡ãæ¨æºæ©è½ã155 * udp_snd_dat -- パケットの送信【標準機能】 172 156 */ 173 157 … … 178 162 ER error; 179 163 180 /* p_dstaddr ã¾ã㯠data ã NULL ãªãã¨ã©ã¼*/164 /* p_dstaddr または data が NULL ならエラー */ 181 165 if (p_dstaddr == NULL || data == NULL) 182 166 return E_PAR; 183 167 184 /* ãã¼ã¿é·ããã§ãã¯ããã*/168 /* データ長をチェックする。*/ 185 169 if (len < 0 || len + IP_HDR_SIZE + UDP_HDR_SIZE > IF_MTU) 186 170 return E_PAR; … … 189 173 190 174 /* 191 * API ã IPv6 㧠IPv4 å°å½±ã¢ãã¬ã¹ãèªãããã¦ããªãã®ã«ããããããã192 * IPv4 å°å½±ã¢ãã¬ã¹ãæå®ããããã¨ã©ã¼175 * API が IPv6 で IPv4 射影アドレスが認められていないのにもかかわらず、 176 * IPv4 射影アドレスが指定されたらエラー 193 177 */ 194 178 if (in6_is_addr_ipv4mapped(&p_dstaddr->ipaddr)) … … 197 181 #endif /* of #if (API_PROTO == API_PROTO_IPV6) && !defined(DAPI_CFG_IP4MAPPED_ADDR) */ 198 182 199 /* UDP éä¿¡ç«¯ç¹ ID ããã§ãã¯ããã*/183 /* UDP 通信端点 ID をチェックする。*/ 200 184 if (!VALID_UDP_CEPID(cepid)) 201 185 return E_ID; 202 186 203 /* UDP é信端ç¹ãå¾ãã*/187 /* UDP 通信端点を得る。*/ 204 188 cep = GET_UDP_CEP(cepid); 205 189 206 /* UDP é信端ç¹ããã§ãã¯ããã*/190 /* UDP 通信端点をチェックする。*/ 207 191 if (!VALID_UDP_CEP(cep)) 208 192 return E_NOEXS; 209 193 210 194 /* 211 * èªãã¼ãçªå·ã UDP_PORTANY ãªããèªåã§å²ãå½ã¦ãã195 * 自ポート番号が UDP_PORTANY なら、自動で割り当てる。 212 196 */ 213 197 if (cep->myaddr.portno == UDP_PORTANY) { … … 217 201 218 202 /* 219 * ã¿ã¤ã ã¢ã¦ãããã§ãã¯ããã203 * タイムアウトをチェックする。 220 204 */ 221 if (tmout == TMO_NBLK) { /* ãã³ããããã³ã°ã³ã¼ã«*/222 223 /* é信端ç¹ãããã¯ããã*/205 if (tmout == TMO_NBLK) { /* ノンブロッキングコール */ 206 207 /* 通信端点をロックする。*/ 224 208 syscall(wai_sem(cep->semid_lock)); 225 209 226 210 if (cep->snd_p_dstaddr != NULL) { 227 211 228 /* ãã³ããããã³ã°ã³ã¼ã«ã§ãã³ãã£ã³ã°ä¸*/212 /* ノンブロッキングコールでペンディング中 */ 229 213 error = E_QOVR; 230 214 231 /* é信端ç¹ãããã¯ã解é¤ããã*/215 /* 通信端点をロックを解除する。*/ 232 216 syscall(sig_sem(cep->semid_lock)); 233 217 } 234 218 else if (cep->snd_tskid != TA_NULL) { 235 219 236 /* éãã³ããããã³ã°ã³ã¼ã«ã§ãã³ãã£ã³ã°ä¸*/237 error = E_OBJ; 238 239 /* é信端ç¹ãããã¯ã解é¤ããã*/220 /* 非ノンブロッキングコールでペンディング中 */ 221 error = E_OBJ; 222 223 /* 通信端点をロックを解除する。*/ 240 224 syscall(sig_sem(cep->semid_lock)); 241 225 } … … 246 230 cep->snd_len = len; 247 231 248 /* é信端ç¹ãããã¯ã解é¤ããã*/232 /* 通信端点をロックを解除する。*/ 249 233 syscall(sig_sem(cep->semid_lock)); 250 234 … … 254 238 } 255 239 } 256 else { /* éãã³ããããã³ã°ã³ã¼ã«*/240 else { /* 非ノンブロッキングコール */ 257 241 258 /* é信端ç¹ãããã¯ããã*/242 /* 通信端点をロックする。*/ 259 243 syscall(wai_sem(cep->semid_lock)); 260 244 261 245 if (cep->snd_p_dstaddr != NULL) { 262 246 263 /* ãã³ããããã³ã°ã³ã¼ã«ã§ãã³ãã£ã³ã°ä¸*/264 error = E_OBJ; 265 266 /* é信端ç¹ãããã¯ã解é¤ããã*/247 /* ノンブロッキングコールでペンディング中 */ 248 error = E_OBJ; 249 250 /* 通信端点をロックを解除する。*/ 267 251 syscall(sig_sem(cep->semid_lock)); 268 252 } 269 253 else if (cep->snd_tskid != TA_NULL) { 270 254 271 /* éãã³ããããã³ã°ã³ã¼ã«ã§ãã³ãã£ã³ã°ä¸*/255 /* 非ノンブロッキングコールでペンディング中 */ 272 256 error = E_QOVR; 273 257 274 /* é信端ç¹ãããã¯ã解é¤ããã*/258 /* 通信端点をロックを解除する。*/ 275 259 syscall(sig_sem(cep->semid_lock)); 276 260 } 277 261 else { 278 262 279 /* ç¾å¨ã®ã¿ã¹ã¯èå¥åãè¨é²ããã*/263 /* 現在のタスク識別子を記録する。*/ 280 264 get_tid(&(cep->snd_tskid)); 281 265 282 /* é信端ç¹ãããã¯ã解é¤ããã*/283 syscall(sig_sem(cep->semid_lock)); 284 285 /* ãã±ãããéä¿¡ããã*/266 /* 通信端点をロックを解除する。*/ 267 syscall(sig_sem(cep->semid_lock)); 268 269 /* パケットを送信する。*/ 286 270 error = UDP_SEND_DATA(cep, p_dstaddr, data, len, tmout); 287 271 } … … 296 280 297 281 /* 298 * udp_rcv_dat -- ãã±ããã®åä¿¡ãæ¨æºæ©è½ã282 * udp_rcv_dat -- パケットの受信【標準機能】 299 283 */ 300 284 … … 308 292 uint_t ulen, uhoff; 309 293 310 /* p_dstaddr ã¾ã㯠data ã NULL ããlen < 0 ãªãã¨ã©ã¼*/294 /* p_dstaddr または data が NULL か、len < 0 ならエラー */ 311 295 if (p_dstaddr == NULL || data == NULL || len < 0) 312 296 return E_PAR; 313 297 314 /* UDP éä¿¡ç«¯ç¹ ID ããã§ãã¯ããã*/298 /* UDP 通信端点 ID をチェックする。*/ 315 299 if (!VALID_UDP_CEPID(cepid)) 316 300 return E_ID; 317 301 318 /* UDP é信端ç¹ãå¾ãã*/302 /* UDP 通信端点を得る。*/ 319 303 cep = GET_UDP_CEP(cepid); 320 304 321 /* UDP é信端ç¹ããã§ãã¯ããã*/305 /* UDP 通信端点をチェックする。*/ 322 306 if (!VALID_UDP_CEP(cep)) 323 307 return E_NOEXS; 324 308 325 309 /* 326 * ã¿ã¤ã ã¢ã¦ãããã§ãã¯ããã310 * タイムアウトをチェックする。 327 311 */ 328 312 329 if (tmout == TMO_NBLK) { /* ãã³ããããã³ã°ã³ã¼ã«*/330 331 /* é信端ç¹ãããã¯ããã*/313 if (tmout == TMO_NBLK) { /* ノンブロッキングコール */ 314 315 /* 通信端点をロックする。*/ 332 316 syscall(wai_sem(cep->semid_lock)); 333 317 334 318 if (cep->rcv_p_dstaddr != NULL) 335 319 336 /* ãã³ããããã³ã°ã³ã¼ã«ã§ãã³ãã£ã³ã°ä¸*/320 /* ノンブロッキングコールでペンディング中 */ 337 321 error = E_QOVR; 338 322 339 323 else if (cep->rcv_tskid != TA_NULL) 340 324 341 /* éãã³ããããã³ã°ã³ã¼ã«ã§ãã³ãã£ã³ã°ä¸*/325 /* 非ノンブロッキングコールでペンディング中 */ 342 326 error = E_OBJ; 343 327 else { … … 348 332 } 349 333 350 /* é信端ç¹ãããã¯ã解é¤ããã*/334 /* 通信端点をロックを解除する。*/ 351 335 syscall(sig_sem(cep->semid_lock)); 352 336 return error; 353 337 } 354 else { /* éãã³ããããã³ã°ã³ã¼ã«*/355 356 /* é信端ç¹ãããã¯ããã*/338 else { /* 非ノンブロッキングコール */ 339 340 /* 通信端点をロックする。*/ 357 341 syscall(wai_sem(cep->semid_lock)); 358 342 359 343 if (cep->rcv_p_dstaddr != NULL) { 360 344 361 /* ãã³ããããã³ã°ã³ã¼ã«ã§ãã³ãã£ã³ã°ä¸*/362 error = E_OBJ; 363 364 /* é信端ç¹ãããã¯ã解é¤ããã*/345 /* ノンブロッキングコールでペンディング中 */ 346 error = E_OBJ; 347 348 /* 通信端点をロックを解除する。*/ 365 349 syscall(sig_sem(cep->semid_lock)); 366 350 } 367 351 else if (cep->rcv_tskid != TA_NULL) { 368 352 369 /* éãã³ããããã³ã°ã³ã¼ã«ã§ãã³ãã£ã³ã°ä¸*/353 /* 非ノンブロッキングコールでペンディング中 */ 370 354 error = E_QOVR; 371 355 372 /* é信端ç¹ãããã¯ã解é¤ããã*/356 /* 通信端点をロックを解除する。*/ 373 357 syscall(sig_sem(cep->semid_lock)); 374 358 } 375 359 else { 376 360 377 /* ç¾å¨ã®ã¿ã¹ã¯èå¥åãè¨é²ããã*/361 /* 現在のタスク識別子を記録する。*/ 378 362 get_tid(&(cep->rcv_tskid)); 379 363 380 /* é信端ç¹ãããã¯ã解é¤ããã*/ 381 syscall(sig_sem(cep->semid_lock)); 382 383 /* å 384 ¥åãããã¾ã§å¾ 385 ã¤ã*/ 364 /* 通信端点をロックを解除する。*/ 365 syscall(sig_sem(cep->semid_lock)); 366 367 /* 入力があるまで待つ。*/ 386 368 if (cep->cb_netbuf != NULL) { 387 369 388 370 /* 389 * ããã«ããå ´åã¯ãã³ã¼ã«ããã¯é¢æ°ã®ä¸ãã 390 * udp_rcv_dat ãå¼ã³åºãã¦ãããã¨ã«ãªãã 391 * ãã§ã«å 392 ¥åæ¸ã¿ã§ããã 371 * ここにくる場合は、コールバック関数の中から 372 * udp_rcv_dat を呼び出していることになり、 373 * すでに入力済みである。 393 374 */ 394 375 input = cep->cb_netbuf; … … 400 381 } 401 382 402 /* p_dstaddr ãè¨å®ããã*/383 /* p_dstaddr を設定する。*/ 403 384 uhoff = (uint_t)GET_UDP_HDR_OFFSET(input); 404 385 udph = GET_UDP_HDR(input, uhoff); … … 406 387 IN_COPY_TO_HOST(&p_dstaddr->ipaddr, input); 407 388 408 /* ãã¼ã¿ããããã¡ã«ç§»ãã*/389 /* データをバッファに移す。*/ 409 390 ulen = ntohs(udph->ulen); 410 391 if (ulen - UDP_HDR_SIZE > len) -
asp3_gr_sakura/trunk/tinet/netinet6/ah.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 80 68 81 69 /* 82 * RFC2402 èªè¨¼ããã70 * RFC2402 認証ヘッダ 83 71 */ 84 72 … … 86 74 uint8_t next; /* Next Header */ 87 75 uint8_t len; 88 /* 4 ãªã¯ãããåä½ã®é·ãããã ãããã¼ã¿é· + 1 ãå 89 ¥ãã */ 76 /* 4 オクテット単位の長さ。ただし、データ長 + 1 が入る。 */ 90 77 uint16_t reserved; 91 78 uint32_t spi; /* Security Parameter Index (SPI) */ 92 uint32_t seq; /* ã·ã¼ã±ã³ã¹çªå·*/79 uint32_t seq; /* シーケンス番号 */ 93 80 } T_IP6_AH_HDR; 94 81 -
asp3_gr_sakura/trunk/tinet/netinet6/ah6.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 80 68 81 69 /* 82 * é¢æ°70 * 関数 83 71 */ 84 72 -
asp3_gr_sakura/trunk/tinet/netinet6/ah_input.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 116 104 117 105 /* 118 * ah6_input -- èªè¨¼ãããã®å 119 ¥åé¢æ° 106 * ah6_input -- 認証ヘッダの入力関数 120 107 * 121 * æ¬å®è£ 122 ã§ã¯ããã¼ã¿ã°ã©ã ãç ´æ£ããã 108 * 本実装では、データグラムを破棄する。 123 109 */ 124 110 -
asp3_gr_sakura/trunk/tinet/netinet6/dest6.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 114 102 115 103 /* 116 * dest6_input -- çµç¹ãªãã·ã§ã³ãããã®å 117 ¥åé¢æ° 104 * dest6_input -- 終点オプションヘッダの入力関数 118 105 * 119 * æ¬å®è£ 120 ã§ã¯ãããã£ã³ã°ä»¥å¤ã®ãªãã·ã§ã³ãå 121 ¨ã¦æªç¥ãªãã·ã§ã³ã¨ãã¦å¦çããã 106 * 本実装では、パディング以外のオプションを全て未知オプションとして処理する。 122 107 */ 123 108 … … 131 116 uint8_t *opt; 132 117 133 /* ãããã¯ã¼ã¯ãããã¡ã®æ®ãã®é·ãããã§ãã¯ããã*/118 /* ネットワークバッファの残りの長さをチェックする。*/ 134 119 if (input->len - off < sizeof(T_IP6_DEST_HDR)) 135 120 goto buf_rel; … … 138 123 len = (desth->len + 1) << 3; 139 124 140 /* çµç¹ãªãã·ã§ã³ãããã®é·ãããã§ãã¯ããã*/125 /* 終点オプションヘッダの長さをチェックする。*/ 141 126 if (input->len < off + len) 142 127 goto buf_rel; -
asp3_gr_sakura/trunk/tinet/netinet6/esp.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 6 6 * Copyright (C) 2008-2009 by Hokkaido Industrial Research Institute, JAPAN 7 7 * 8 * ä¸è¨èä½æ¨©è 9 ã¯ï¼ä»¥ä¸ã® (1)ï½(4) ã®æ¡ä»¶ãï¼Free Software Foundation 10 * ã«ãã£ã¦å 11 ¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨ 12 * è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢ 13 * ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹å¤ã»åé 14 å¸ï¼ä»¥ä¸ï¼ 15 * å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 16 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 17 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 18 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 19 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 20 * ç¨ã§ããå½¢ã§åé 21 å¸ããå ´åã«ã¯ï¼åé 22 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 23 * è 24 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 25 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 26 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 27 * ç¨ã§ããªãå½¢ã§åé 28 å¸ããå ´åã«ã¯ï¼æ¬¡ã®æ¡ä»¶ãæºãããã¨ï¼ 29 * (a) åé 30 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 31 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 32 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 33 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 34 * 害ãããï¼ä¸è¨èä½æ¨©è 35 ããã³TOPPERSããã¸ã§ã¯ããå 36 責ãããã¨ï¼ 8 * 上記著作権者は,以下の (1)~(4) の条件か,Free Software Foundation 9 * によって公表されている GNU General Public License の Version 2 に記 10 * 述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア 11 * を改変したものを含む.以下同じ)を使用・複製・改変・再配布(以下, 12 * 利用と呼ぶ)することを無償で許諾する. 13 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 14 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 15 * スコード中に含まれていること. 16 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 17 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 18 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 19 * の無保証規定を掲載すること. 20 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 21 * 用できない形で再配布する場合には,次の条件を満たすこと. 22 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 23 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 24 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 25 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 37 26 * 38 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 39 ã 40 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 41 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 42 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 27 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 28 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 29 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 30 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 43 31 * 44 32 * @(#) $Id$ … … 81 69 82 70 /* 83 * RFC2406 æå·åããã71 * RFC2406 暗号化ヘッダ 84 72 */ 85 73 86 74 typedef struct t_esp_hdr { 87 75 int32_t spi; /* Security Parameter Index (SPI) */ 88 int32_t seq; /* ã·ã¼ã±ã³ã¹çªå·*/76 int32_t seq; /* シーケンス番号 */ 89 77 } T_ESP_HDR; 90 78 91 79 typedef struct t_esp_tail { 92 int8_t padlen; /* ããã£ã³ã°é·*/80 int8_t padlen; /* パディング長 */ 93 81 int8_t next; /* Next Header */ 94 82 } T_ESP_TAIL; … … 125 113 126 114 /* 127 * é¢æ°115 * 関数 128 116 */ 129 117 -
asp3_gr_sakura/trunk/tinet/netinet6/esp6.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 80 68 81 69 /* 82 * é¢æ°70 * 関数 83 71 */ 84 72 -
asp3_gr_sakura/trunk/tinet/netinet6/esp_input.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 118 106 119 107 /* 120 * esp6_input -- æå·åãããã®å 121 ¥åé¢æ° 108 * esp6_input -- 暗号化ヘッダの入力関数 122 109 * 123 * æ¬å®è£ 124 ã§ã¯ããã¼ã¿ã°ã©ã ãç ´æ£ããã 110 * 本実装では、データグラムを破棄する。 125 111 */ 126 112 … … 129 115 { 130 116 #if 0 131 *nextp = <T_ESP_TAIL ã® next ãã£ã¼ã«ãã®ä½ç½®ï¼IPv6 ãããã®å 132 é ããã®ãªãã»ããï¼>; 133 *offp = <次ãããã®ä½ç½®ï¼input->buf ããã®ãªãã»ããï¼>; 117 *nextp = <T_ESP_TAIL の next フィールドの位置(IPv6 ヘッダの先頭からのオフセット)>; 118 *offp = <次ヘッダの位置(input->buf からのオフセット)>; 134 119 #endif 135 120 syscall(rel_net_buf(*inputp)); -
asp3_gr_sakura/trunk/tinet/netinet6/frag6.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 121 109 122 110 /* 123 * ãã¼ã¿ã°ã©ã åæ§æãã¥ã¼é 124 å 111 * データグラム再構成キュー配列 125 112 */ 126 113 … … 129 116 130 117 /* 131 * ip6_get_frag_queue -- ãã¼ã¿ã°ã©ã åæ§æãã¥ã¼ãç²å¾ããã118 * ip6_get_frag_queue -- データグラム再構成キューを獲得する。 132 119 */ 133 120 … … 139 126 140 127 /* 141 * frag6_free_queue -- ãã¼ã¿ã°ã©ã åæ§æãã¥ã¼ã解æ¾ããã128 * frag6_free_queue -- データグラム再構成キューを解放する。 142 129 * 143 * 注æ: ãã¼ã¿ã°ã©ã åæ§æãã¥ã¼é 144 åãããã¯ãã¦ããå¼ã³åºããã¨ã 130 * 注意: データグラム再構成キュー配列をロックしてから呼び出すこと。 145 131 */ 146 132 … … 162 148 163 149 /* 164 * frag6_timer -- ãã¼ã¿ã°ã©ã åæ§æ管çã¿ã¤ã150 * frag6_timer -- データグラム再構成管理タイマ 165 151 */ 166 152 … … 184 170 185 171 /* 186 * å 187 é ã®æçã®ãªãã»ããã 0 ã®æã®ã¿ 188 * ICMPv6 ã¨ã©ã¼ã¡ãã»ã¼ã¸ãéä¿¡ããã 172 * 先頭の断片のオフセットが 0 の時のみ 173 * ICMPv6 エラーメッセージを送信する。 189 174 */ 190 175 191 /* å 192 é ã®æçããã¼ã¿ã°ã©ã åæ§æãã¥ã¼ããå¤ãã*/ 176 /* 先頭の断片をデータグラム再構成キューから外す。*/ 193 177 ip6_frag_queue[ix] = qip6h->next_frag; 194 178 195 /* ãã¦å 196 ã¢ãã¬ã¹ãå 197 ã«æ»ãã*/ 179 /* あて先アドレスを元に戻す。*/ 198 180 GET_IP6_HDR(frag)->dst = ip6_frag_dest[ix]; 199 181 200 /* ICMPv6 ã¨ã©ã¼ã¡ãã»ã¼ã¸ãéä¿¡ããã*/182 /* ICMPv6 エラーメッセージを送信する。*/ 201 183 icmp6_error(frag, ICMP6_TIME_EXCEEDED, 202 184 ICMP6_TIME_EXCEED_REASSEMBLY, 0); 203 185 } 204 186 205 /* ãã¼ã¿ã°ã©ã åæ§æãã¥ã¼ã解æ¾ããã*/187 /* データグラム再構成キューを解放する。*/ 206 188 NET_COUNT_IP6(net_count_ip6[NC_IP6_FRAG_IN_TMOUT], 1); 207 189 NET_COUNT_IP6(net_count_ip6[NC_IP6_FRAG_IN_DROP], 1); … … 216 198 217 199 /* 218 * frag6_input -- æçãããã®å 219 ¥åé¢æ° 200 * frag6_input -- 断片ヘッダの入力関数 220 201 */ 221 202 … … 241 222 #endif /* #ifdef IP6_CFG_FRAGMENT */ 242 223 243 /* ãããã¯ã¼ã¯ãããã¡ã®æ®ãã®é·ãããã§ãã¯ããã*/224 /* ネットワークバッファの残りの長さをチェックする。*/ 244 225 if (input->len - off < sizeof(T_IP6_FRAG_HDR)) 245 226 goto buf_rel; 246 227 247 228 /* 248 * 巨大ãã¤ãã¼ããªãã·ã§ã³ã¨æçããããåæã«ä½¿ç¨ãããã¨ã¯ 249 * ã§ããªãããã¤ãã¼ãé·ãã 0 ãªãã巨大ãã¤ãã¼ããªãã·ã§ã³ã 250 * æå®ããã¦ãããã¨ã«ãªãã®ã§ ICMP ã§ã¨ã©ã¼ãéä¿¡è 251 ã« 252 * éç¥ããã 229 * 巨大ペイロードオプションと断片ヘッダを同時に使用することは 230 * できない。ペイロード長がが 0 なら、巨大ペイロードオプションが 231 * 指定されていることになるので ICMP でエラーを送信者に 232 * 通知する。 253 233 */ 254 234 ip6h = GET_IP6_HDR(input); … … 262 242 263 243 /* 264 * ãªãã»ããã 0 ã§ãæçµãã©ã°ã¡ã³ãã§ããã°ã265 * åå²ä¸è¦ã®ãã¼ã¿ã°ã©ã ãªã®ã§ã266 * 次ããããæãå¤æ°ã調æ´ãã¦çµäºããã244 * オフセットが 0 で、最終フラグメントであれば、 245 * 分割不要のデータグラムなので、 246 * 次ヘッダを指す変数を調整して終了する。 267 247 */ 268 248 ip6fh = (T_IP6_FRAG_HDR *)(input->buf + off); … … 276 256 277 257 /* 278 * ãã¤ãã¼ãé·ããã§ãã¯ããã258 * ペイロード長をチェックする。 279 259 */ 280 260 if ((ip6fh->off_flag & IP6F_MORE_FRAG) && … … 291 271 292 272 /* 293 * ãã¼ã¿ã°ã©ã åæ§æãã¥ã¼é 294 åããã対å¿ããã¨ã³ããªãæ¢ãã 273 * データグラム再構成キュー配列から、対応するエントリを探す。 295 274 */ 296 275 for (ix = NUM_IP6_FRAG_QUEUE; ix -- > 0; ) { … … 310 289 311 290 /* 312 * æçã®æ£å½æ§ããã§ãã¯ããã291 * 断片の正当性をチェックする。 313 292 */ 314 293 unfraglen = 0; … … 317 296 318 297 /* 319 * å 320 ¥åããæçãå 321 é ã®æç 322 * åå²ã§ããªãé¨åã®é·ã unfraglen ãè¨ç®ããã 298 * 入力した断片が先頭の断片 299 * 分割できない部分の長さ unfraglen を計算する。 323 300 */ 324 301 unfraglen = (off - IF_HDR_SIZE) - sizeof(T_IP6_HDR); … … 352 329 353 330 /* 354 * ip6fq == NULL ã§ããã°ã対å¿ããã¨ã³ããªã¯ç¡ãã®ã§ã 355 * ãã¼ã¿ã°ã©ã åæ§æãã¥ã¼é 356 åã«ãã¨ã³ããªã追å ããã 331 * ip6fq == NULL であれば、対応するエントリは無いので、 332 * データグラム再構成キュー配列に、エントリを追加する。 357 333 */ 358 334 for (ix = NUM_IP6_FRAG_QUEUE; ix -- > 0; ) { 359 335 360 /* 空ãã¨ã³ããªãæ¢ãã*/336 /* 空きエントリを探す。*/ 361 337 if (ip6_frag_queue[ix] == NULL) { 362 338 ip6fq = &ip6_frag_queue[ix]; … … 366 342 367 343 /* 368 * ip6fq == NULL ã§ããã°ã空ãã¨ã³ããªãç¡ãã®ã§ã369 * ã¿ã¤ã ã¢ã¦ãï¼hlimï¼ãçãã¨ã³ããªãéæ¾ããã344 * ip6fq == NULL であれば、空きエントリが無いので、 345 * タイムアウト(hlim)が短いエントリを開放する。 370 346 */ 371 347 if (ip6fq == NULL) { … … 385 361 386 362 /* 387 * ã¨ã³ããªãè¨å®ããã363 * エントリを設定する。 388 364 */ 389 365 *ip6fq = input; … … 398 374 399 375 /* 400 * æçã®æ£å½æ§ããã§ãã¯ããã376 * 断片の正当性をチェックする。 401 377 */ 402 378 unfraglen = 0; … … 405 381 406 382 /* 407 * ãã¼ã¿ã°ã©ã åæ§æãã¥ã¼ã®æåã®æçãå 408 é ã®æç 409 * åå²ã§ããªãé¨åã®é·ã unfraglen ãè¨ç®ããã 383 * データグラム再構成キューの最初の断片が先頭の断片 384 * 分割できない部分の長さ unfraglen を計算する。 410 385 */ 411 386 unfraglen = (GET_QIP6_HDR(*ip6fq)->foff - IF_HDR_SIZE) - sizeof(T_IP6_HDR); … … 416 391 417 392 /* 418 * å 419 ¥åããæçãå 420 é ã®æç 421 * åå²ã§ããªãé¨åã®é·ã unfraglen ãè¨ç®ããã 393 * 入力した断片が先頭の断片 394 * 分割できない部分の長さ unfraglen を計算する。 422 395 */ 423 396 unfraglen = (off - IF_HDR_SIZE) - sizeof(T_IP6_HDR); … … 453 426 454 427 /* 455 * å 456 ¥åããæçãå 457 é ã®æç 458 * ãã¼ã¿ã°ã©ã åæ§æãã¥ã¼ã®æå¾ã®æçãã 459 * ãã¼ã¿ã°ã©ã ã®æ大é·ãè¶ 460 ãã¦ããªãããã§ãã¯ããã 461 */ 462 463 /* æå¾ã®æçãæ¢ç´¢ããã*/ 428 * 入力した断片が先頭の断片 429 * データグラム再構成キューの最後の断片が、 430 * データグラムの最大長を超えていないかチェックする。 431 */ 432 433 /* 最後の断片を探索する。*/ 464 434 next = *ip6fq; 465 435 while ((qip6h = GET_QIP6_HDR(next))->next_frag != NULL) 466 436 next = qip6h->next_frag; 467 437 468 /* æå¾ã®æçã®ãªãã»ããã¨æçãµã¤ãºãè¨ç®ããã*/438 /* 最後の断片のオフセットと断片サイズを計算する。*/ 469 439 qip6fh = (T_IP6_FRAG_HDR *)(next->buf + qip6h->foff); 470 440 fragoff = ntohs(qip6fh->off_flag & IP6F_OFF_MASK); … … 473 443 474 444 /* 475 * ãã¼ã¿ã°ã©ã ã®æ大é·ãè¶ 476 ãã¦ããå ´åã¯ã 477 * ãã¼ã¿ã°ã©ã åæ§æãã¥ã¼å 478 ¨ä½ãç ´æ£ããã 445 * データグラムの最大長を超えている場合は、 446 * データグラム再構成キュー全体を破棄する。 479 447 */ 480 448 frag6_free_queue(ip6fq); … … 484 452 } 485 453 486 /* ECN ã®æ£å½æ§ãã§ãã¯ã¯æªå®è£ 487 */ 488 489 /* 490 * æçãã¨ã³ããªã«æ¿å 491 ¥ããã 492 * ãã¼ã¿ã°ã©ã åæ§æãã¥ã¼ãããå 493 ¥åããæçããåã®æçãæ¢ç´¢ããã 454 /* ECN の正当性チェックは未実装 */ 455 456 /* 457 * 断片をエントリに挿入する。 458 * データグラム再構成キューから、入力した断片より前の断片を探索する。 494 459 */ 495 460 prev = NULL; … … 505 470 506 471 /* 507 * prev ã¯ãå 508 ¥åããæçããåã®æçããã ã NULL ã®å ´åã¯ã 509 * å 510 ¥åããæçããã¼ã¿ã°ã©ã åæ§æãã¥ã¼ã®ä¸ã§æãåã®æçã 511 * next ã¯ãå 512 ¥åããæçããå¾ã®æçããã ã NULL ã®å ´åã¯ã 513 * å 514 ¥åããæçããã¼ã¿ã°ã©ã åæ§æãã¥ã¼ã®ä¸ã§æãå¾ã®æçã 472 * prev は、入力した断片より前の断片。ただし NULL の場合は、 473 * 入力した断片がデータグラム再構成キューの中で最も前の断片。 474 * next は、入力した断片より後の断片。ただし NULL の場合は、 475 * 入力した断片がデータグラム再構成キューの中で最も後の断片。 515 476 */ 516 477 fragoff = ntohs(ip6fh->off_flag & IP6F_OFF_MASK); … … 518 479 519 480 /* 520 * åã®æçã¨ãå 521 ¥åããæçãéãªã£ã¦ããªãããã§ãã¯ããã 481 * 前の断片と、入力した断片が重なっていないかチェックする。 522 482 * 523 483 * qfragoff … … 542 502 if (diff > 0) { 543 503 544 /* éãªã£ã¦ããã°ãå 545 ¥åããæçãç ´æ£ãã¦çµäºããã*/ 504 /* 重なっていれば、入力した断片を破棄して終了する。*/ 546 505 syscall(rel_net_buf(input)); 547 506 goto sig_ret; … … 552 511 553 512 /* 554 * å¾ã®æçã¨ãå 555 ¥åããæçãéãªã£ã¦ããªãããã§ãã¯ããã 513 * 後の断片と、入力した断片が重なっていないかチェックする。 556 514 * 557 515 * fragoff … … 576 534 if (diff > 0) { 577 535 578 /* éãªã£ã¦ããã°ãå 579 ¥åããæçãç ´æ£ãã¦çµäºããã*/ 536 /* 重なっていれば、入力した断片を破棄して終了する。*/ 580 537 syscall(rel_net_buf(input)); 581 538 goto sig_ret; … … 583 540 } 584 541 585 /* å 586 ¥åããæçãè¨å®ããã*/ 542 /* 入力した断片を設定する。*/ 587 543 qip6h = GET_QIP6_HDR(input); 588 544 qip6h->foff = off; … … 598 554 599 555 /* 600 * å 601 ¨ã¦ã®æçãåä¿¡ããããã§ãã¯ããã 556 * 全ての断片を受信したかチェックする。 602 557 */ 603 558 plen = 0; … … 608 563 if (ntohs(qip6fh->off_flag & IP6F_OFF_MASK) != plen) { 609 564 610 /* æçãé£ç¶ãã¦ããªãã*/565 /* 断片が連続していない。*/ 611 566 goto sig_ret; 612 567 } … … 616 571 if (ntohs(qip6fh->off_flag & IP6F_MORE_FRAG) != 0) { 617 572 618 /* æå¾ã®æçãåä¿¡ãã¦ããªãã*/573 /* 最後の断片を受信していない。*/ 619 574 goto sig_ret; 620 575 } 621 576 622 577 /* 623 * å 624 ¨ã¦ã®æçãåä¿¡ããã®ã§ãåæ§æããã 625 */ 626 627 /* ãããã¯ã¼ã¯ãããã¡ãç²å¾ããã*/ 578 * 全ての断片を受信したので、再構成する。 579 */ 580 581 /* ネットワークバッファを獲得する。*/ 628 582 qip6h = GET_QIP6_HDR(*ip6fq); 629 583 qip6fh = (T_IP6_FRAG_HDR *)((*ip6fq)->buf + qip6h->foff); … … 631 585 632 586 /* 633 * æçãããã®ç´åã®ãããã® NEXT ãã£ã¼ã«ãã®ã¢ãã¬ã¹ãç²å¾ãã 634 * å 635 ã«æ»ãã 587 * 断片ヘッダの直前のヘッダの NEXT フィールドのアドレスを獲得し、 588 * 元に戻す。 636 589 */ 637 590 if ((prev_next = ip6_get_prev_hdr(*ip6fq, qip6h->foff)) == NULL) { … … 646 599 647 600 /* 648 * IPv6 ãããã¨åå²ã§ããªãé¨åã 649 * ãã¼ã¿ã°ã©ã åæ§æãã¥ã¼ã®ä¸ã®å 650 é ã®æçããã³ãã¼ããã 601 * IPv6 ヘッダと分割できない部分を 602 * データグラム再構成キューの中の先頭の断片からコピーする。 651 603 */ 652 604 memcpy(input->buf, (*ip6fq)->buf, qip6h->foff); 653 605 654 /* éä¿¡å 655 ã¢ãã¬ã¹ãå 656 ã«æ»ãã*/ 606 /* 送信先アドレスを元に戻す。*/ 657 607 ip6h = GET_IP6_HDR(input); 658 608 ip6h->dst = ip6_frag_dest[ip6fq - ip6_frag_queue]; 659 609 660 /* offp ããåæ§æããæçã®å 661 é ã«è¨å®ããã*/ 610 /* offp を、再構成した断片の先頭に設定する。*/ 662 611 *offp = qip6h->foff; 663 612 664 /* ãããã¯ã¼ã¯ãããã¡é·ãè¨å®ããã*/613 /* ネットワークバッファ長を設定する。*/ 665 614 input->len = plen + qip6h->foff; 666 615 667 616 /* 668 * å 669 ¨ã¦ã®æçãã³ãã¼ããã 617 * 全ての断片をコピーする。 670 618 */ 671 619 frag = *ip6fq; … … 680 628 } 681 629 682 /* ãã¤ãã¼ãé·ãè¨å®ããã*/630 /* ペイロード長を設定する。*/ 683 631 ip6h->plen = htons(plen); 684 632 … … 692 640 } 693 641 694 /* ãã¼ã¿ã°ã©ã åæ§æãã¥ã¼ã解æ¾ããã*/642 /* データグラム再構成キューを解放する。*/ 695 643 frag6_free_queue(ip6fq); 696 644 } … … 703 651 704 652 /* 705 * ãã¼ã¿ã°ã©ã ã®åå²ã»åæ§æè¡ããªãå ´åã¯ãå 706 ¨æçãç ´æ£ãã 707 * æå¾ã®æçãåä¿¡ããã¨ãã 708 * ICMP ã¨ã©ã¼ãéä¿¡è 709 ã«éç¥ããã 653 * データグラムの分割・再構成行わない場合は、全断片を破棄し、 654 * 最後の断片を受信したとき、 655 * ICMP エラーを送信者に通知する。 710 656 */ 711 657 if ((ip6fh->off_flag & IP6F_MORE_FRAG) == 0) { -
asp3_gr_sakura/trunk/tinet/netinet6/icmp6.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 157 145 158 146 /* 159 * å¤æ°147 * 変数 160 148 */ 161 149 … … 163 151 164 152 /* 165 * SNMP 㮠管çæ 166 å ±ãã¼ã¹ (MIB) 153 * SNMP の 管理情報ベース (MIB) 167 154 */ 168 155 … … 172 159 173 160 /* 174 * icmp6_output -- ICMP6 ãã±ãããéä¿¡ããã161 * icmp6_output -- ICMP6 パケットを送信する。 175 162 */ 176 163 … … 184 171 185 172 /* 186 * å®å 187 ã¢ãã¬ã¹ã«ãµããããéä¿¡å 188 ã¢ãã¬ã¹ãã 189 * ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ããæ¢ç´¢ãã¦å©ç¨ããã 173 * 宛先アドレスにふさわしい送信元アドレスを、 174 * ネットワークインタフェースから探索して利用する。 190 175 */ 191 176 ip6h = GET_IP6_HDR(output); … … 199 184 icmp6h = GET_ICMP6_HDR(output, off); 200 185 201 /* ãã§ãã¯ãµã ãè¨ç®ããã*/186 /* チェックサムを計算する。*/ 202 187 icmp6h->sum = 0; 203 188 icmp6h->sum = in6_cksum(output, IPPROTO_ICMPV6, (uint8_t*)icmp6h - output->buf, 204 189 ntohs(ip6h->plen) - (off - IF_IP6_HDR_SIZE)); 205 190 206 /* éä¿¡ããã*/191 /* 送信する。*/ 207 192 NET_COUNT_ICMP6(net_count_icmp6[NC_ICMP6_OUT_OCTETS], 208 193 output->len - GET_IF_IP6_HDR_SIZE(output)); … … 213 198 214 199 /* 215 * icmp6_echo_request -- ã¨ã³ã¼è¦æ±ãåä¿¡ããã¨ãã®å¦ç200 * icmp6_echo_request -- エコー要求を受信したときの処理 216 201 */ 217 202 … … 231 216 232 217 /* 233 * IPv6 ããã㨠ICMPv6 ãããéã®æ¡å¼µããããé¤å»ããã218 * IPv6 ヘッダと ICMPv6 ヘッダ間の拡張ヘッダを除去する。 234 219 */ 235 220 diff = off - IF_IP6_HDR_SIZE; 236 221 if (diff > 0) { 237 /* ICMPv6 ããããåã«è©°ããã*/222 /* ICMPv6 ヘッダを前に詰める。*/ 238 223 memmove(input->buf + IF_IP6_HDR_SIZE, input->buf + off, input->len - off); 239 224 off = IF_IP6_HDR_SIZE; 240 225 241 /* ãã¤ãã¼ãé·ã調æ´ããã*/226 /* ペイロード長を調整する。*/ 242 227 ip6h->plen = htons(ntohs(ip6h->plen) - diff); 243 228 input->len -= diff; … … 252 237 253 238 /* 254 * ã¡ãã»ã¼ã¸ã®åãã¨ã³ã¼è¦æ± (128) ãã255 * ã¨ã³ã¼å¿ç (129) ã«å¤æ´ãã¦éãè¿ãã239 * メッセージの型をエコー要求 (128) から 240 * エコー応答 (129) に変更して送り返す。 256 241 */ 257 242 icmp6h->type = ICMP6_ECHO_REPLY; 258 243 259 /* IPv6 ãããã®çºä¿¡å 260 ã¢ãã¬ã¹ã¨å®å 261 ã¢ãã¬ã¹ãå 262 ¥æ¿ããã*/ 244 /* IPv6 ヘッダの発信元アドレスと宛先アドレスを入替える。*/ 263 245 dst = ip6h->dst; 264 246 ip6h->dst = ip6h->src; … … 266 248 267 249 /* 268 * å 269 ã®å®å 270 ã¢ãã¬ã¹ããã«ããã£ã¹ãã®å ´åã¯ã 271 * å®å 272 ã¢ãã¬ã¹ã«ãµããããéä¿¡å 273 ã¢ãã¬ã¹ãã 274 * ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ããæ¢ç´¢ãã¦å©ç¨ããã 250 * 元の宛先アドレスがマルチキャストの場合は、 251 * 宛先アドレスにふさわしい送信元アドレスを、 252 * ネットワークインタフェースから探索して利用する。 275 253 */ 276 254 if (IN6_IS_ADDR_MULTICAST(&dst)) { … … 283 261 } 284 262 285 /* 次ãããã¨ããããªããããè¨å®ããã*/263 /* 次ヘッダとホップリミットを設定する。*/ 286 264 ip6h->next = IPPROTO_ICMPV6; 287 265 ip6h->hlim = IP6_DEFTTL; 288 266 289 /* ãã§ãã¯ãµã ãè¨ç®ããã*/267 /* チェックサムを計算する。*/ 290 268 icmp6h->sum = 0; 291 269 icmp6h->sum = in6_cksum(input, IPPROTO_ICMPV6, (uint8_t*)icmp6h - input->buf, 292 270 ntohs(ip6h->plen) - (off - IF_IP6_HDR_SIZE)); 293 271 294 /* éä¿¡ããã*/272 /* 送信する。*/ 295 273 NET_COUNT_ICMP6(net_count_icmp6[NC_ICMP6_OUT_OCTETS], 296 274 input->len - GET_IF_IP6_HDR_SIZE(input)); … … 302 280 303 281 /* 304 * icmp6_notify_error -- ã¨ã©ã¼ãéç¥ããã282 * icmp6_notify_error -- エラーを通知する。 305 283 */ 306 284 … … 314 292 len = input->len - poff; 315 293 316 /* ãã¼ã¿ã°ã©ã é·ã ICMP6 ãããé· + IP6 ãããé·ä»¥ä¸ãªãä½ãããªãã*/294 /* データグラム長が ICMP6 ヘッダ長 + IP6 ヘッダ長以下なら何もしない。*/ 317 295 if (len < ICMP6_HDR_SIZE + IP6_HDR_SIZE) 318 296 return; … … 320 298 icmp6h = GET_ICMP6_HDR(input, poff); 321 299 322 /* æçµããããæ¢ç´¢ããã*/300 /* 最終ヘッダを探索する。*/ 323 301 loff = ip6_lasthdr(input, poff + ICMP6_HDR_SIZE, IPPROTO_IPV6, &next); 324 302 325 /* æçµãããã TCP/UDP ã®ã¿å¯¾å¿ããã*/303 /* 最終ヘッダが TCP/UDP のみ対応する。*/ 326 304 if (loff >= 0 && (next == IPPROTO_TCP || next == IPPROTO_UDP)) { 327 305 … … 354 332 355 333 /* 356 * icmp6_mtudisc_update -- Path MTU ãæ´æ°ããã334 * icmp6_mtudisc_update -- Path MTU を更新する。 357 335 */ 358 336 … … 379 357 380 358 /* 381 * icmp6_redirect_input -- åãç´ãã¡ãã»ã¼ã¸ã®å¦ç359 * icmp6_redirect_input -- 向け直しメッセージの処理 382 360 */ 383 361 … … 398 376 399 377 /* 400 * IP ãããã®ãã§ãã¯ã以ä¸ã®å ´åã¯ç ´æ£ããã401 * ã»ãªã³ã¯ãã¼ã«ã«ä»¥å¤ããéããã¦ããã¡ãã»ã¼ã¸402 * ã»ããããªãããã IPV6_MAXHLIM (255) 以å¤378 * IP ヘッダのチェック、以下の場合は破棄する。 379 * ・リンクローカル以外から送られてきたメッセージ 380 * ・ホップリミットが IPV6_MAXHLIM (255) 以外 403 381 */ 404 382 if (!IN6_IS_ADDR_LINKLOCAL(&ip6h->src) || ip6h->hlim != IPV6_MAXHLIM) … … 407 385 rdh = (T_ND_REDIRECT_HDR *)(input->buf + off); 408 386 409 /* åãç´ãã®çµç¹ã¢ãã¬ã¹ããã«ããã£ã¹ãã¢ãã¬ã¹ã®å ´åã¯ç ´æ£ããã*/387 /* 向け直しの終点アドレスがマルチキャストアドレスの場合は破棄する。*/ 410 388 if (IN6_IS_ADDR_MULTICAST(&rdh->dst)) 411 389 goto err_ret; 412 390 413 /* ã¿ã¼ã²ããã¢ãã¬ã¹ãçµè·¯è¡¨ã«ç»é²ããã¦ããããã§ãã¯ããã*/391 /* ターゲットアドレスが経路表に登録されているかチェックする。*/ 414 392 if ((gw = in6_rtalloc(ifp, &rdh->dst)) != NULL) { 415 /* GW ã¢ãã¬ã¹ã¨éä¿¡å 416 ã¢ãã¬ã¹ãç°ãªã£ã¦ããã°ç ´æ£ããã*/ 393 /* GW アドレスと送信元アドレスが異なっていれば破棄する。*/ 417 394 if (!IN6_ARE_ADDR_EQUAL(gw, &ip6h->src)) 418 395 goto err_ret; 419 396 } 420 else /* çµè·¯è¡¨ã«ãªããã°ç ´æ£ããã*/397 else /* 経路表になければ破棄する。*/ 421 398 goto err_ret; 422 399 … … 424 401 425 402 /* 426 * ã¿ã¼ã²ããã¢ãã¬ã¹ããªã³ã¯ãã¼ã«ã«ã¢ãã¬ã¹ã§ããã°ã427 * ã¿ã¼ã²ããã¯ã«ã¼ã¿403 * ターゲットアドレスがリンクローカルアドレスであれば、 404 * ターゲットはルータ 428 405 */ 429 406 if (IN6_IS_ADDR_LINKLOCAL(&rdh->target)) … … 431 408 432 409 /* 433 * ã¿ã¼ã²ããã¢ãã¬ã¹ã¨çµç¹ã¢ãã¬ã¹ãåä¸ã§ããã°ããªã³ãªã³ã¯410 * ターゲットアドレスと終点アドレスが同一であれば、オンリンク 434 411 */ 435 412 if (IN6_ARE_ADDR_EQUAL(&rdh->target, &rdh->dst)) … … 437 414 438 415 /* 439 * ã«ã¼ã¿ã§ãããªã³ãªã³ã¯ã§ããªããã°ã¨ã©ã¼416 * ルータでも、オンリンクでもなければエラー 440 417 */ 441 418 if (!router && !onlink) 442 419 goto err_ret; 443 420 444 /* è¿é£æ¢ç´¢ãªãã·ã§ã³ã®ãªãã»ãããè¨é²ããã*/421 /* 近隣探索オプションのオフセットを記録する。*/ 445 422 if (nd6_options(nd_opt_off, input->buf + off + ND_REDIRECT_HDR_SIZE, 446 423 input->len - (off + ND_REDIRECT_HDR_SIZE)) != E_OK) 447 424 goto err_ret; 448 425 449 /* è¿é£æ¢ç´¢ãªãã·ã§ã³ (åãç´ãã®ã«ã¼ã¿ã®ãªã³ã¯ã¢ãã¬ã¹) */426 /* 近隣探索オプション (向け直しのルータのリンクアドレス) */ 450 427 if (nd_opt_off[ND_OPT_OFF_ARRAY_IX(ND_OPT_TARGET_LINKADDR)]) { 451 428 opth = (T_ND_OPT_HDR *)((uint8_t *)(input->buf + off + ND_REDIRECT_HDR_SIZE) + 452 429 nd_opt_off[ND_OPT_OFF_ARRAY_IX(ND_OPT_TARGET_LINKADDR)] - 8); 453 /* 注æ: ãªãã·ã§ã³ãªãã»ããé 454 åã«ã¯ããªãã»ãã + 8 ãè¨å®ããã¦ããã*/ 430 /* 注意: オプションオフセット配列には、オフセット + 8 が設定されている。*/ 455 431 lladdr = (uint8_t *)(opth + 1); 456 432 lladdr_len = (opth->len << 3); … … 458 434 459 435 /* 460 * ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã®ã¢ãã¬ã¹é·ãä¸è´ããªããã°ã¨ã©ã¼436 * ネットワークインタフェースのアドレス長が一致しなければエラー 461 437 */ 462 438 if (lladdr && lladdr_len != ((sizeof(T_IF_ADDR) + sizeof(T_ND_OPT_HDR) + 7) & ~7)) 463 439 goto err_ret; 464 440 465 /* åãç´ãã®ã«ã¼ã¿ã®ãªã³ã¯ã¢ãã¬ã¹ãè¿é£ãã£ãã·ã¥ã«ç»é²ããã*/441 /* 向け直しのルータのリンクアドレスを近隣キャッシュに登録する。*/ 466 442 nd6_cache_lladdr(ifp, &rdh->target, (T_IF_ADDR *)lladdr, ND_REDIRECT, 467 443 onlink ? ND_REDIRECT_ONLINK : ND_REDIRECT_ROUTER); 468 444 469 /* ã«ã¼ãã£ã³ã°è¡¨ã«ç»é²ããã*/445 /* ルーティング表に登録する。*/ 470 446 in6_rtredirect(&rdh->target, &rdh->dst, 128, IN_RTF_REDIRECT, TMO_IN_REDIRECT); 471 447 … … 482 458 483 459 /* 484 * icmp6_input -- ICMP6 ã®å 485 ¥åé¢æ° 460 * icmp6_input -- ICMP6 の入力関数 486 461 */ 487 462 … … 500 475 NET_COUNT_MIB(icmp6_ifstat.ipv6IfIcmpInMsgs, 1); 501 476 502 /* ICMP6 ãããã®é·ãããã§ãã¯ããã*/477 /* ICMP6 ヘッダの長さをチェックする。*/ 503 478 len = input->len - off; 504 479 if (len < ICMP6_HDR_SIZE) { … … 511 486 icmp6h = GET_ICMP6_HDR(input, off); 512 487 513 /* ãã§ãã¯ãµã ãè¨ç®ããã*/488 /* チェックサムを計算する。*/ 514 489 if ((in6_cksum(input, IPPROTO_ICMPV6, off, ntohs(ip6h->plen) - (off - IF_IP6_HDR_SIZE)) & 0xffff) != 0) { 515 490 NET_COUNT_ICMP6(net_count_icmp6[NC_ICMP6_IN_ERR_PACKETS], 1); … … 520 495 code = icmp6h->code; 521 496 522 /* ã¡ãã»ã¼ã¸ã®åã«ããåå²ããã*/497 /* メッセージの型により分岐する。*/ 523 498 switch (icmp6h->type) { 524 499 525 case ICMP6_DST_UNREACH: /* å®å 526 å°éä¸å¯è½ */ 500 case ICMP6_DST_UNREACH: /* 宛先到達不可能 */ 527 501 NET_COUNT_MIB(icmp6_ifstat.ipv6IfIcmpInDestUnreachs, 1); 528 502 icmp6_notify_error(input, off); 529 503 break; 530 504 531 case ICMP6_ECHO_REQUEST: /* ã¨ã³ã¼è¦æ±*/505 case ICMP6_ECHO_REQUEST: /* エコー要求 */ 532 506 icmp6_echo_request(input, off); 533 507 return IPPROTO_DONE; 534 508 break; 535 509 536 case ICMP6_ECHO_REPLY: /* ã¨ã³ã¼å¿ç*/510 case ICMP6_ECHO_REPLY: /* エコー応答 */ 537 511 538 512 #ifdef ICMP_CFG_CALLBACK_ECHO_REPLY … … 544 518 break; 545 519 546 case ND_ROUTER_ADVERT: /* ã«ã¼ã¿éç¥*/520 case ND_ROUTER_ADVERT: /* ルータ通知 */ 547 521 NET_COUNT_MIB(icmp6_ifstat.ipv6IfIcmpInRouterAdvertisements, 1); 548 522 if (code != 0 || len < ROUTER_ADVERT_HDR_SIZE) … … 552 526 break; 553 527 554 case ND_NEIGHBOR_SOLICIT: /* è¿é£è¦è«*/528 case ND_NEIGHBOR_SOLICIT: /* 近隣要請 */ 555 529 NET_COUNT_MIB(icmp6_ifstat.ipv6IfIcmpInNeighborSolicits, 1); 556 530 if (code != 0 || len < NEIGHBOR_SOLICIT_HDR_SIZE) … … 560 534 break; 561 535 562 case ND_NEIGHBOR_ADVERT: /* è¿é£éç¥*/536 case ND_NEIGHBOR_ADVERT: /* 近隣通知 */ 563 537 NET_COUNT_MIB(icmp6_ifstat.ipv6IfIcmpInNeighborAdvertisements, 1); 564 538 if (code != 0 || len < NEIGHBOR_ADVERT_HDR_SIZE) … … 568 542 break; 569 543 570 case ND_REDIRECT: /* åãç´ã*/544 case ND_REDIRECT: /* 向け直し */ 571 545 NET_COUNT_MIB(icmp6_ifstat.ipv6IfIcmpInRedirects, 1); 572 546 … … 592 566 break; 593 567 594 case ICMP6_PACKET_TOO_BIG: /* ãã±ããã大ããããã*/568 case ICMP6_PACKET_TOO_BIG: /* パケットが大きすぎる。 */ 595 569 596 570 #if NUM_IN6_HOSTCACHE_ENTRY > 0 … … 603 577 break; 604 578 605 case ICMP6_TIME_EXCEEDED: /* TTL ãè¶ 606 éããã */ 579 case ICMP6_TIME_EXCEEDED: /* TTL を超過した。 */ 607 580 NET_COUNT_MIB(icmp6_ifstat.ipv6IfIcmpInTimeExcds, 1); 608 581 break; 609 582 610 case ICMP6_PARAM_PROB: /* IPv6 ããããä¸æ£ã*/583 case ICMP6_PARAM_PROB: /* IPv6 ヘッダが不正。 */ 611 584 NET_COUNT_MIB(icmp6_ifstat.ipv6IfIcmpInParmProblems, 1); 612 585 break; 613 586 614 case MLD_LISTENER_QUERY: /* ãã«ããã£ã¹ãåä¿¡è 615 ç 616 §ä¼ */ 617 case MLD_LISTENER_REPORT: /* ãã«ããã£ã¹ãåä¿¡è 618 å ±å */ 619 case MLD_LISTENER_DONE: /* ãã«ããã£ã¹ãåä¿¡è 620 çµäº */ 621 case ND_ROUTER_SOLICIT: /* ã«ã¼ã¿è¦è« */ 622 case ICMP6_ROUTER_RENUMBERING: /* ã«ã¼ã¿çªå·åè¨å® */ 623 case ICMP6_FQDN_QUERY: /* FQDN ç 624 §ä¼ */ 625 case ICMP6_FQDN_REPLY: /* FQDN å¿ç */ 587 case MLD_LISTENER_QUERY: /* マルチキャスト受信者照会 */ 588 case MLD_LISTENER_REPORT: /* マルチキャスト受信者報告 */ 589 case MLD_LISTENER_DONE: /* マルチキャスト受信者終了 */ 590 case ND_ROUTER_SOLICIT: /* ルータ要請 */ 591 case ICMP6_ROUTER_RENUMBERING: /* ルータ番号再設定 */ 592 case ICMP6_FQDN_QUERY: /* FQDN 照会 */ 593 case ICMP6_FQDN_REPLY: /* FQDN 応答 */ 626 594 syslog(LOG_INFO, "[ICMP6] unsupported type: %d.", icmp6h->type); 627 595 break; … … 640 608 641 609 /* 642 * icmp6_error -- ICMP6 ã¨ã©ã¼éä¿¡é¢æ°610 * icmp6_error -- ICMP6 エラー送信関数 643 611 */ 644 612 … … 655 623 656 624 /* 657 * å®å 658 ã¢ãã¬ã¹ãããã«ããã£ã¹ãã®å ´åã¯ã 659 * 以ä¸ã®æ¡ä»¶ä»¥å¤ã®ã¨ãã¯å¦çãè¡ããªãã 625 * 宛先アドレスが、マルチキャストの場合は、 626 * 以下の条件以外のときは処理を行わない。 660 627 * 661 * ã»ãã¼ã¿ã°ã©ã ã大ããããã662 * ã»IPv6 ãããã®ä¸æ£ã§ããªãã·ã§ã³ãèªèã§ããªãã628 * ・データグラムが大きすぎる。 629 * ・IPv6 ヘッダの不正で、オプションが認識できない。 663 630 */ 664 631 if (IN6_IS_ADDR_MULTICAST(&ip6h->dst) && … … 668 635 669 636 /* 670 * å§ç¹ã¢ãã¬ã¹ãã以ä¸ã®å ´åã¯å¦çãè¡ããªãã637 * 始点アドレスが、以下の場合は処理を行わない。 671 638 * 672 * ã»ç¡æå®673 * ã»ãã«ããã£ã¹ã639 * ・無指定 640 * ・マルチキャスト 674 641 */ 675 642 if (IN6_IS_ADDR_UNSPECIFIED(&ip6h->src) || … … 677 644 goto buf_rel; 678 645 679 /* æå¾ã®ããããæ¢ç´¢ããã*/646 /* 最後のヘッダを探索する。*/ 680 647 off = ip6_lasthdr(input, 0, IPPROTO_IPV6, &next); 681 648 682 649 /* 683 * ã¿ã¤ãããã¨ã©ã¼ãåãç´ãã® ICMP6 ãã±ããã®ã¨ã©ã¼ã«ã¯è¿çããªãã650 * タイプが、エラーか向け直しの ICMP6 パケットのエラーには返答しない。 684 651 */ 685 652 if (off >= 0 && next == IPPROTO_ICMPV6) { … … 695 662 } 696 663 697 /* DoS æ»æã«å¯¾ããé²å¾¡ã¯æªå®è£ 698 */ 699 700 /* 701 * éãè¿ãã¡ãã»ã¼ã¸é·ããICMPv6 ã®æ大ãã¤ãã¼ãé·ã«èª¿æ´ããã 664 /* DoS 攻撃に対する防御は未実装 */ 665 666 /* 667 * 送り返すメッセージ長を、ICMPv6 の最大ペイロード長に調整する。 702 668 * IPV6_MMTU - (IP6_HDR_SIZE + ICMP6_HDR_SIZE) 703 669 */ … … 707 673 len = input->len - IF_HDR_SIZE; 708 674 709 /* éä¿¡ç¨ã®ãããã¯ã¼ã¯ãããã¡ãç²å¾ããã*/675 /* 送信用のネットワークバッファを獲得する。*/ 710 676 if (in6_get_datagram(&output, len + ICMP6_HDR_SIZE, 0, 711 677 &ip6h->src, &in6_addr_unspecified, … … 714 680 goto buf_rel; 715 681 716 /* ICMP6 ããããè¨å®ããã*/682 /* ICMP6 ヘッダを設定する。*/ 717 683 icmp6h = GET_ICMP6_HDR(output, IF_IP6_ICMP6_HDR_OFFSET); 718 684 icmp6h->type = type; … … 720 686 icmp6h->icmp6_pptr = htonl(param); 721 687 722 /* ã¨ã©ã¼ãã¼ã¿ãè¨å®ããã*/688 /* エラーデータを設定する。*/ 723 689 memcpy(GET_ICMP6_SDU(output, IF_IP6_ICMP6_HDR_OFFSET), (uint8_t *)ip6h, len); 724 690 … … 741 707 #endif /* of #ifdef SUPPORT_MIB */ 742 708 743 /* éä¿¡ããã*/709 /* 送信する。*/ 744 710 icmp6_output(output, IF_IP6_HDR_SIZE); 745 711 -
asp3_gr_sakura/trunk/tinet/netinet6/if6_ether.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 117 105 118 106 /* 119 * ether_map_ipv6_multicast -- IPv6 ãã«ããã£ã¹ãã¢ãã¬ã¹ããã¤ã¼ãµãããã»ãã«ããã£ã¹ãã¢ãã¬ã¹ã¸ã®å¤æ107 * ether_map_ipv6_multicast -- IPv6 マルチキャストアドレスからイーサネット・マルチキャストアドレスへの変換 120 108 */ 121 109 -
asp3_gr_sakura/trunk/tinet/netinet6/if6_ether.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 81 69 82 70 /* 83 * é¢æ°71 * 関数 84 72 */ 85 73 -
asp3_gr_sakura/trunk/tinet/netinet6/in6.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 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 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 156 144 157 145 /* 158 * å 159 ¨åå¤æ° 146 * 全域変数 160 147 */ 161 148 … … 170 157 171 158 /* 172 * in6_addmulti -- ãã«ããã£ã¹ãã¢ãã¬ã¹ãç»é²ããã159 * in6_addmulti -- マルチキャストアドレスを登録する。 173 160 */ 174 161 … … 185 172 186 173 /* 187 * in6_ifinit -- ã¤ã³ã¿ãã§ã¼ã¹ã«ã¢ãã¬ã¹æ 188 å ±ãè¨å®ããåæåããã 174 * in6_ifinit -- インタフェースにアドレス情報を設定し、初期化する。 189 175 */ 190 176 … … 192 178 in6_ifinit (T_IFNET *ifp, T_IN6_IFADDR *ia, const T_IN6_ADDR *addr, uint_t prefix_len) 193 179 { 194 /* ã¢ãã¬ã¹ã¨ãã¬ãã£ãã¯ã¹é·ãè¨å®ããã*/180 /* アドレスとプレフィックス長を設定する。*/ 195 181 ia->addr = *addr; 196 182 ia->prefix_len = prefix_len; 197 183 198 /* ãã©ã°ãåæåããã*/184 /* フラグを初期化する。*/ 199 185 ia->flags = 0; 200 186 201 187 /* 202 * åãã¦ã¢ãã¬ã¹ãè¨å®ãããã¨ããã¤ã³ã¿ãã§ã¼ã¹ç¬èªã®åæåãè¡ãã188 * 初めてアドレスが設定されたとき、インタフェース独自の初期化を行う。 203 189 */ 204 190 … … 207 193 208 194 /* 209 * in6_ifainit -- ã¤ã³ã¿ãã§ã¼ã¹ã¢ãã¬ã¹æ§é ä½ã®åæå195 * in6_ifainit -- インタフェースアドレス構造体の初期化 210 196 */ 211 197 … … 226 212 227 213 /* 228 * in6_if2idlen -- ã¤ã³ã¿ãã§ã¼ã¹ ID é·ãè¿ãã214 * in6_if2idlen -- インタフェース ID 長を返す。 229 215 */ 230 216 … … 240 226 241 227 /* 242 * in6_addr2ifaix -- ã¢ãã¬ã¹ããã¤ã³ã¿ãã§ã¼ã¹ã¢ãã¬ã¹æ 243 å ±ã®ã¤ã³ããã¯ã¹ã«å¤æããã 228 * in6_addr2ifaix -- アドレスからインタフェースアドレス情報のインデックスに変換する。 244 229 */ 245 230 … … 262 247 263 248 /* 264 * in6_addr2maix -- ã¢ãã¬ã¹ãããã«ããã£ã¹ãã¢ãã¬ã¹ã®ã¤ã³ããã¯ã¹ã«å¤æããã249 * in6_addr2maix -- アドレスからマルチキャストアドレスのインデックスに変換する。 265 250 */ 266 251 … … 283 268 284 269 /* 285 * in6_update_ifa -- ã¤ã³ã¿ãã§ã¼ã¹ã®ã¢ãã¬ã¹æ 286 å ±ãæ´æ°ããã 270 * in6_update_ifa -- インタフェースのアドレス情報を更新する。 287 271 */ 288 272 … … 296 280 SYSTIM now; 297 281 298 /* å¼æ°ããã§ãã¯ããã*/282 /* 引数をチェックする。*/ 299 283 if (addr == NULL) 300 284 return E_PAR; 301 285 302 286 /* 303 * æå¹æéããã§ãã¯ããã304 * vltime ( æå¹æé) 㨠pltime (æ¨å¥¨æå¹æé) ã®åä½ã¯ [s]ã287 * 有効時間をチェックする。 288 * vltime (有効時間) と pltime (推奨有効時間) の単位は [s]。 305 289 */ 306 290 syscall(get_tim(&now)); … … 313 297 return E_PAR; 314 298 315 /* ã¤ã³ã¿ãã§ã¼ã¹ãåæåããã*/299 /* インタフェースを初期化する。*/ 316 300 if ((error = in6_ifinit(ifp, ia, addr, prefix_len)) != E_OK) 317 301 return error; … … 319 303 if (IN6_IS_ADDR_LINKLOCAL(addr)) { 320 304 321 /* è¦è«ãã«ããã£ã¹ãã¢ãã¬ã¹ãç»é²ããã*/305 /* 要請マルチキャストアドレスを登録する。*/ 322 306 llsol.s6_addr32[0] = IPV6_ADDR_INT32_MLL; 323 307 llsol.s6_addr32[1] = 0x00000000; … … 328 312 return error; 329 313 330 /* å 331 ¨ãã¼ãã»ãªã³ã¯ãã¼ã«ã«ã»ãã«ããã£ã¹ãã¢ãã¬ã¹ãç»é²ããã*/ 314 /* 全ノード・リンクローカル・マルチキャストアドレスを登録する。*/ 332 315 llsol.s6_addr32[2] = 0x00000000; 333 316 llsol.s6_addr32[3] = IPV6_ADDR_INT32_ONE; … … 337 320 } 338 321 339 /* ã«ã¼ã¿ã¤ã³ããã¯ã¹ãè¨å®ããã*/322 /* ルータインデックスを設定する。*/ 340 323 ia->router_index = router_index; 341 324 342 /* ãã¬ãã£ãã¯ã¹ã¤ã³ããã¯ã¹ãè¨å®ããã*/325 /* プレフィックスインデックスを設定する。*/ 343 326 ia->prefix_index = prefix_index; 344 327 345 /* ãã©ã°ãè¨å®ããã*/328 /* フラグを設定する。*/ 346 329 ia->flags = flags & ~(IN6_IFF_DUPLICATED | IN6_IFF_NODAD); 347 330 ia->flags |= IN6_IFF_DEFINED; 348 331 349 332 /* 350 * ã¢ãã¬ã¹æå¹æéãè¨å®ããã351 * vltime ( æå¹æé) 㨠pltime (æ¨å¥¨æå¹æé) ã®åä½ã¯ [s]ã333 * アドレス有効時間を設定する。 334 * vltime (有効時間) と pltime (推奨有効時間) の単位は [s]。 352 335 */ 353 336 syscall(get_tim(&now)); … … 366 349 ia->lifetime.preferred = 0; 367 350 368 /* è¿é£æ¢ç´¢ã®åæè¨å®ãè¡ãã*/351 /* 近隣探索の初期設定を行う。*/ 369 352 nd6_ifattach(ifp); 370 353 371 /* éè¤ã¢ãã¬ã¹æ¤åºãè¡ãã*/354 /* 重複アドレス検出を行う。*/ 372 355 if ((flags & IN6_IFF_NODAD) == 0) { 373 356 ia->flags |= IN6_IFF_TENTATIVE; … … 379 362 380 363 /* 381 * in6ifa_ifpwithix -- ã¤ã³ããã¯ã¹çªå·ããããããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã«382 * å²ãå½ã¦ããã¦ããã¢ãã¬ã¹ãæ¢ç´¢ããã364 * in6ifa_ifpwithix -- インデックス番号から、ネットワークインタフェースに 365 * 割り当てられているアドレスを探索する。 383 366 */ 384 367 … … 390 373 391 374 /* 392 * in6ifa_ifpwithrtrix -- ã«ã¼ã¿ã®ã¤ã³ããã¯ã¹çªå·ããããããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã«393 * å²ãå½ã¦ããã¦ããã¢ãã¬ã¹ãæ¢ç´¢ããã375 * in6ifa_ifpwithrtrix -- ルータのインデックス番号から、ネットワークインタフェースに 376 * 割り当てられているアドレスを探索する。 394 377 */ 395 378 … … 406 389 407 390 /* 408 * in6_ifawithifp -- å®å 409 ã¢ãã¬ã¹ã«ãµããããéä¿¡å 410 ã¢ãã¬ã¹æ 411 å ±ãã 412 * ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ããæ¢ç´¢ããã 391 * in6_ifawithifp -- 宛先アドレスにふさわしい送信元アドレス情報を、 392 * ネットワークインタフェースから探索する。 413 393 */ 414 394 … … 419 399 int_t ix; 420 400 421 /* å®å 422 ã¢ãã¬ã¹ã¨åãã¹ã³ã¼ãã®ã¢ãã¬ã¹ãè¿ãã*/ 401 /* 宛先アドレスと同じスコープのアドレスを返す。*/ 423 402 if ((ix = in6_addr2ifaix(dst)) != IPV6_IFADDR_IX_INVALID) 424 403 return &ifp->in6_ifaddrs[ix]; … … 440 419 441 420 /* 442 * in6_addrwithifp -- å®å 443 ã¢ãã¬ã¹ã«ãµããããéä¿¡å 444 ã¢ãã¬ã¹ãã 445 * ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ããæ¢ç´¢ããã 421 * in6_addrwithifp -- 宛先アドレスにふさわしい送信元アドレスを、 422 * ネットワークインタフェースから探索する。 446 423 */ 447 424 … … 460 437 461 438 /* 462 * in6_if_up -- ã¤ã³ã¿ãã§ã¼ã¹èµ·åå¾ã®éè¤ã¢ãã¬ã¹æ¤åºãè¡ãã439 * in6_if_up -- インタフェース起動後の重複アドレス検出を行う。 463 440 */ 464 441 … … 466 443 in6_if_up (T_IFNET *ifp) 467 444 { 468 #if 0 /* ä¿ç*/445 #if 0 /* 保留 */ 469 446 int_t dad_delay, ix; 470 447 #endif /* of #if 0 */ … … 472 449 in6_ifattach(ifp); 473 450 474 #if 0 /* ä¿ç*/475 /* éè¤ã¢ãã¬ã¹æ¤åºãè¡ãã*/451 #if 0 /* 保留 */ 452 /* 重複アドレス検出を行う。*/ 476 453 dad_delay = 0; 477 454 for (ix = NUM_IN6_IFADDR_ENTRY; ix -- > 0; ) … … 483 460 #if NUM_ND6_RTR_SOL_RETRY > 0 484 461 485 /* ã«ã¼ã¿è¦è«ãåºåããã*/462 /* ルータ要請を出力する。*/ 486 463 nd6_rtrsol_ctl(); 487 464 … … 490 467 491 468 /* 492 * in6_are_prefix_equal -- ãã¬ãã£ãã¯ã¹ãåä¸ã調ã¹ãã469 * in6_are_prefix_equal -- プレフィックスが同一か調べる。 493 470 */ 494 471 … … 511 488 512 489 /* 513 * in6_ifaddr_timer -- ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã®ã¢ãã¬ã¹ã®ç®¡çã¿ã¤ãã¼490 * in6_ifaddr_timer -- ネットワークインタフェースのアドレスの管理タイマー 514 491 */ 515 492 … … 530 507 531 508 /* 532 * æå¹æéãéããã®ã§åé¤ããã509 * 有効時間を過ぎたので削除する。 533 510 */ 534 511 ia->flags &= ~IN6_IFF_DEFINED; … … 538 515 539 516 /* 540 * æ¨å¥¨æå¹æéãéããã®ã§éæ¨å¥¨ã«ããã517 * 推奨有効時間を過ぎたので非推奨にする。 541 518 */ 542 519 ia->flags |= IN6_IFF_DEPRECATED; -
asp3_gr_sakura/trunk/tinet/netinet6/in6.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 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 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 115 103 116 104 /* 117 * IPv6 ã¢ãã¬ã¹æ§é118 * 119 * RFC4291 ï¼RFC1884ãRFC2373ãRFC3513 ã®ã¢ãããã¼ãï¼120 */ 121 122 /* 123 * IPv6 ã¢ãã¬ã¹105 * IPv6 アドレス構造 106 * 107 * RFC4291(RFC1884、RFC2373、RFC3513 のアップデート) 108 */ 109 110 /* 111 * IPv6 アドレス 124 112 */ 125 113 … … 146 134 147 135 /* 148 * IPv6 ã¢ãã¬ã¹ã®åæåãã¼ã¿136 * IPv6 アドレスの初期化データ 149 137 */ 150 138 … … 168 156 169 157 /* 170 * ç¹å¥ãªã¢ãã¬ã¹ã®ãã§ãã¯171 */ 172 173 /* ç¡æå®*/158 * 特別なアドレスのチェック 159 */ 160 161 /* 無指定 */ 174 162 175 163 #define IN6_IS_ADDR_UNSPECIFIED(a) \ 176 164 (memcmp((void *)(a), (void *)&in6_addr_unspecified, sizeof(T_IN6_ADDR)) == 0) 177 165 178 /* ã«ã¼ãããã¯*/166 /* ループバック */ 179 167 180 168 #define IN6_IS_ADDR_LOOPBACK(a) \ … … 183 171 184 172 /* 185 * ã¹ã³ã¼ãID173 * スコープ ID 186 174 */ 187 175 … … 193 181 194 182 /* 195 * ã¦ããã£ã¹ãã»ã¹ã³ã¼ã 196 * 197 * 注æ: ä¸ä½ 10 ãããã®ã¿ãã§ãã¯ããªããã°ãªããªããRFC2373 åç 198 § 199 */ 200 201 /* ãªã³ã¯ãã¼ã«ã« */ 183 * ユニキャスト・スコープ 184 * 185 * 注意: 上位 10 ビットのみチェックしなければならない。RFC2373 参照 186 */ 187 188 /* リンクローカル */ 202 189 203 190 #define IN6_IS_ADDR_LINKLOCAL(a) \ 204 191 (((a)->s6_addr8[0] == UINT_C(0xfe)) && (((a)->s6_addr8[1] & UINT_C(0xc0)) == UINT_C(0x80))) 205 192 206 /* ãµã¤ããã¼ã«ã«*/193 /* サイトローカル */ 207 194 208 195 #define IN6_IS_ADDR_SITELOCAL(a) \ 209 196 (((a)->s6_addr8[0] == UINT_C(0xfe)) && (((a)->s6_addr8[1] & UINT_C(0xc0)) == UINT_C(0xc0))) 210 197 211 /* éç´å¯è½ã¦ããã£ã¹ã (ã°ãã¼ãã«) */198 /* 集約可能ユニキャスト (グローバル) */ 212 199 213 200 #define IN6_IS_ADDR_AGGREGATE_UNICAST(a) \ … … 215 202 216 203 /* 217 * ãã«ããã£ã¹ã204 * マルチキャスト 218 205 */ 219 206 … … 221 208 222 209 /* 223 * åä¸ã®ãã§ãã¯210 * 同一のチェック 224 211 */ 225 212 … … 227 214 228 215 /* 229 * çµè·¯å¶å¾¡ç¨å®ç¾©230 */ 231 232 #define IPV6_RTHDR_TYPE_0 UINT_C(0) /* IPv6 çµè·¯å¶å¾¡ãããã¿ã¤ã0 */233 234 /* 235 * è¦å®å¤ã¨å¶éå¤236 */ 237 238 #define IPV6_DEFAULT_MULTICAST_HOPS 1 /* ãã«ããã£ã¹ãæã®ããããªãããã®è¦å®å¤*/239 #define ND6_INFINITE_LIFETIME 0xffffffff /* ã¢ãã¬ã¹ã®ç¡å¶éæå¹æé*/240 241 /* 242 * ITRON TCP/IPv6 ã¢ãã¬ã¹/ãã¼ãçªå·ã®å®ç¾©216 * 経路制御用定義 217 */ 218 219 #define IPV6_RTHDR_TYPE_0 UINT_C(0) /* IPv6 経路制御ヘッダタイプ 0 */ 220 221 /* 222 * 規定値と制限値 223 */ 224 225 #define IPV6_DEFAULT_MULTICAST_HOPS 1 /* マルチキャスト時のホップリミットの規定値 */ 226 #define ND6_INFINITE_LIFETIME 0xffffffff /* アドレスの無制限有効時間 */ 227 228 /* 229 * ITRON TCP/IPv6 アドレス/ポート番号の定義 243 230 */ 244 231 245 232 typedef struct t_ipv6ep { 246 T_IN6_ADDR ipaddr; /* IPv6 ã¢ãã¬ã¹*/247 uint16_t portno; /* ãã¼ãçªå·*/233 T_IN6_ADDR ipaddr; /* IPv6 アドレス */ 234 uint16_t portno; /* ポート番号 */ 248 235 } T_IPV6EP; 249 236 … … 251 238 252 239 /* 253 * ITRON/TCP/IP ç¨ IP ã¢ãã¬ã¹ã®å®ç¾©240 * ITRON/TCP/IP 用 IP アドレスの定義 254 241 */ 255 242 … … 257 244 258 245 /* 259 * åççæç¨ IPv6 TCP åä»å£246 * 動的生成用 IPv6 TCP 受付口 260 247 */ 261 248 262 249 typedef struct t_tcp6_crep { 263 /* æ¨æº */ 264 ATR repatr; /* åä»å£å±æ§ */ 265 T_IPV6EP myaddr; /* èªåã®ã¢ãã¬ã¹ */ 266 /* å®è£ 267 ä¾å */ 250 /* 標準 */ 251 ATR repatr; /* 受付口属性 */ 252 T_IPV6EP myaddr; /* 自分のアドレス */ 253 /* 実装依存 */ 268 254 } T_TCP6_CREP; 269 255 270 256 /* 271 * åççæç¨ IPv6 UDP é信端ç¹257 * 動的生成用 IPv6 UDP 通信端点 272 258 */ 273 259 274 260 typedef struct t_udp6_ccep { 275 /* æ¨æº */ 276 ATR cepatr; /* UDP é信端ç¹å±æ§ */ 277 T_IPV6EP myaddr; /* èªåã®ã¢ãã¬ã¹ */ 278 FP callback; /* ã³ã¼ã«ããã¯é¢æ° */ 279 /* å®è£ 280 ä¾å */ 261 /* 標準 */ 262 ATR cepatr; /* UDP 通信端点属性 */ 263 T_IPV6EP myaddr; /* 自分のアドレス */ 264 FP callback; /* コールバック関数 */ 265 /* 実装依存 */ 281 266 } T_UDP6_CCEP; 282 267 283 268 /* 284 * åæ¹åç 285 § 269 * 前方参照 286 270 */ 287 271 … … 295 279 296 280 /* 297 * å 298 ¨åå¤æ° 281 * 全域変数 299 282 */ 300 283 … … 306 289 307 290 /* 308 * TINET ç¬èªAPI291 * TINET 独自 API 309 292 */ 310 293 -
asp3_gr_sakura/trunk/tinet/netinet6/in6_ifattach.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 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 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 114 102 115 103 /* 116 * EUI64 ã®å®ç¾©104 * EUI64 の定義 117 105 */ 118 106 … … 122 110 123 111 /* 124 * get_mac6_ifid -- MAC (6 ãªã¯ããã) ã¢ãã¬ã¹ã§ãã¤ã³ã¿ãã§ã¼ã¹èå¥åãè¨å®ããã112 * get_mac6_ifid -- MAC (6 オクテット) アドレスで、インタフェース識別子を設定する。 125 113 */ 126 114 … … 145 133 146 134 /* 147 * get_rand_ifid -- ä¹±æ°ã«ãããã¤ã³ã¿ãã§ã¼ã¹èå¥åãè¨å®ããã135 * get_rand_ifid -- 乱数により、インタフェース識別子を設定する。 148 136 */ 149 137 … … 159 147 160 148 /* 161 * in6_ifattach_linklocal -- ã¤ã³ã¿ãã§ã¼ã¹ã«ãªã³ã¯ãã¼ã«ã«ã»ã¢ãã¬ã¹ãå²ãå½ã¦ãã149 * in6_ifattach_linklocal -- インタフェースにリンクローカル・アドレスを割り当てる。 162 150 */ 163 151 … … 169 157 170 158 /* 171 * ãªã³ã¯ãã¼ã«ã«ã»ãã¬ãã£ãã¯ã¹ fe80::/64 ãè¨å®ããã159 * リンクローカル・プレフィックス fe80::/64 を設定する。 172 160 */ 173 161 addr.s6_addr32[0] = IPV6_ADDR_INT32_ULL; 174 162 addr.s6_addr32[1] = ULONG_C(0); 175 163 176 /* ã¤ã³ã¿ãã§ã¼ã¹èå¥åãè¨å®ããã*/164 /* インタフェース識別子を設定する。*/ 177 165 if ((error = IF_IN6_IFID(ifp, &addr)) != E_OK) 178 166 return error; 179 167 180 /* ã¤ã³ã¿ãã§ã¼ã¹ã®ã¢ãã¬ã¹æ 181 å ±ãæ´æ°ããã*/ 168 /* インタフェースのアドレス情報を更新する。*/ 182 169 if ((error = in6_update_ifa(ifp, &ifp->in6_ifaddrs[IPV6_IFADDR_IX_LINKLOCAL], 183 170 &addr, 64, ND6_INFINITE_LIFETIME, … … 192 179 193 180 /* 194 * in6_ifattach -- ã¤ã³ã¿ãã§ã¼ã¹ã«ã¢ãã¬ã¹ãå²ãå½ã¦ãã181 * in6_ifattach -- インタフェースにアドレスを割り当てる。 195 182 */ 196 183 -
asp3_gr_sakura/trunk/tinet/netinet6/in6_ifattach.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 80 68 81 69 /* 82 * é¢æ°70 * 関数 83 71 */ 84 72 -
asp3_gr_sakura/trunk/tinet/netinet6/in6_rename.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 48 36 49 37 /* 50 * TCP/IPv6 ãããã³ã«ã¹ã¿ãã¯å 51 é¨åã®ãªãã¼ã 38 * TCP/IPv6 プロトコルスタック内部名のリネーム 52 39 */ 53 40 -
asp3_gr_sakura/trunk/tinet/netinet6/in6_subr.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 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 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 150 138 151 139 /* 152 * in6_make_ipv4mapped -- IPv4 å°å½±ã¢ãã¬ã¹ãçæããã153 * 154 * 注æ:155 * src ã¯ãã¹ããã¤ããªã¼ãã¼140 * in6_make_ipv4mapped -- IPv4 射影アドレスを生成する。 141 * 142 * 注意: 143 * src はホストバイトオーダー 156 144 * 157 145 */ … … 173 161 174 162 /* 175 * in6_rtinit -- ã«ã¼ãã£ã³ã°è¡¨ãåæåããã163 * in6_rtinit -- ルーティング表を初期化する。 176 164 */ 177 165 … … 189 177 190 178 /* 191 * in6_rtnewentry -- æ°ããã¨ã³ããªãç²å¾ããã179 * in6_rtnewentry -- 新しいエントリを獲得する。 192 180 */ 193 181 … … 199 187 int_t ix; 200 188 201 /* 空ãã¨ã³ããªãæ¢ãã*/189 /* 空きエントリを探す。*/ 202 190 for (ix = NUM_IN6_STATIC_ROUTE_ENTRY; ix < NUM_IN6_ROUTE_ENTRY; ix ++) { 203 191 rt = &routing6_tbl[ix]; … … 208 196 } 209 197 210 /* expire ã®åä½ã¯ [s]ã*/198 /* expire の単位は [s]。*/ 211 199 syscall(get_tim(&now)); 212 200 now /= SYSTIM_HZ; 213 201 214 202 if (frt == NULL) { 215 /* 空ãããªããã°ãæå¹æéããã£ã¨ãçãã¨ã³ããªã空ãã«ããã*/203 /* 空きがなければ、有効時間がもっとも短いエントリを空きにする。*/ 216 204 T_IN6_RTENTRY *srt = NULL; 217 205 int_t diff, sdiff = INT_MAX; … … 222 210 diff = (int_t)(rt->expire - now); 223 211 if (diff <= 0) { /* rt->expire <= now */ 224 /* æ¢ã«ãæå¹æéãéãã¦ããã*/212 /* 既に、有効時間が過ぎている。*/ 225 213 frt = rt; 226 214 break; … … 243 231 244 232 /* 245 * in6_rttimer -- ã«ã¼ãã£ã³ã°è¡¨ã®ç®¡çã¿ã¤ãã¼233 * in6_rttimer -- ルーティング表の管理タイマー 246 234 */ 247 235 … … 252 240 int_t ix; 253 241 254 /* expire ã®åä½ã¯ [s]ã*/242 /* expire の単位は [s]。*/ 255 243 syscall(get_tim(&now)); 256 244 now /= SYSTIM_HZ; … … 269 257 270 258 /* 271 * ãã¹ããã£ãã·ã¥259 * ホストキャッシュ 272 260 */ 273 261 … … 277 265 278 266 /* 279 * in6_lookup_ifaddr -- ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã«å²ãå½ã¦ããã¦ããã¢ãã¬ã¹ãæ¢ç´¢ããã267 * in6_lookup_ifaddr -- ネットワークインタフェースに割り当てられているアドレスを探索する。 280 268 */ 281 269 … … 294 282 295 283 /* 296 * in6_lookup_multi -- ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã®ãã«ããã£ã¹ãã¢ãã¬ã¹ãæ¤ç´¢ããã284 * in6_lookup_multi -- ネットワークインタフェースのマルチキャストアドレスを検索する。 297 285 */ 298 286 … … 309 297 310 298 /* 311 * in6_set_header -- IPv6 ããããè¨å®ããã299 * in6_set_header -- IPv6 ヘッダを設定する。 312 300 */ 313 301 … … 322 310 323 311 /* 324 * å®å 325 ã¢ãã¬ã¹ã«ãµããããéä¿¡å 326 ã¢ãã¬ã¹ãã 327 * ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ããæ¢ç´¢ãã¦å©ç¨ããã 312 * 宛先アドレスにふさわしい送信元アドレスを、 313 * ネットワークインタフェースから探索して利用する。 328 314 */ 329 315 if (srcaddr == NULL || !IN6_IS_ADDR_UNSPECIFIED(srcaddr)) … … 334 320 srcaddr = &ia->addr; 335 321 336 /* IPv6 ããããè¨å®ããã*/322 /* IPv6 ヘッダを設定する。*/ 337 323 ip6h = GET_IP6_HDR(nbuf); 338 324 ip6h->vcf = htonl(IP6_MAKE_VCF(IPV6_VERSION, 0)); … … 355 341 356 342 /* 357 * in6_get_datagram -- IPv6 ãã¼ã¿ã°ã©ã ãç²å¾ããããããè¨å®ããã343 * in6_get_datagram -- IPv6 データグラムを獲得し、ヘッダを設定する。 358 344 */ 359 345 … … 366 352 uint_t align; 367 353 368 /* ãã¼ã¿é·ã¯ 4 ãªã¯ãããå¢çã«èª¿æ´ããã*/354 /* データ長は 4 オクテット境界に調整する。 */ 369 355 align = (len + 3) >> 2 << 2; 370 356 371 /* ãããã¯ã¼ã¯ãããã¡ãç²å¾ããã*/357 /* ネットワークバッファを獲得する。 */ 372 358 if ((error = tget_net_buf_ex(nbuf, IF_IP6_HDR_SIZE + align, 373 359 IF_IP6_HDR_SIZE + maxlen, nbatr, tmout)) != E_OK) … … 375 361 376 362 /* 377 * ãã大ããªãµã¤ãºã®ãããã¯ã¼ã¯ãããã¡ãç²å¾ããå ´åã®ã¿é·ãã調æ´ããã378 * ããå°ããªãµã¤ãºã®ãããã¯ã¼ã¯ãããã¡ã®ç²å¾ã¯ãéä¿¡ã¦ã£ã³ããããã¡ã®379 * çã³ãã¼æ©è½ã§ä½¿ç¨ãããå®éã«éä¿¡ããã¾ã§ããã¼ã¿ãµã¤ãºã¯æ±ºå®ã§ããªãã363 * より大きなサイズのネットワークバッファを獲得する場合のみ長さを調整する。 364 * より小さなサイズのネットワークバッファの獲得は、送信ウィンドバッファの 365 * 省コピー機能で使用され、実際に送信するまで、データサイズは決定できない。 380 366 */ 381 367 if ((nbatr & NBA_SEARCH_ASCENT) != 0) 382 368 (*nbuf)->len = IF_IP6_HDR_SIZE + len; 383 369 384 /* IPv6 ããããè¨å®ããã*/370 /* IPv6 ヘッダを設定する。*/ 385 371 if ((error = in6_set_header(*nbuf, len, dstaddr, srcaddr, next, hlim)) != E_OK) 386 372 return error; 387 373 388 /* 4 ãªã¯ãããå¢çã¾ã§ããã£ã³ã°ã§åããã*/374 /* 4 オクテット境界までパディングで埋める。*/ 389 375 if (align > len) 390 376 memset(GET_IP6_SDU(*nbuf) + len, 0, align - len); … … 394 380 395 381 /* 396 * in6_get_maxnum_ifaddr -- ã¤ã³ã¿ãã§ã¼ã¹ã«è¨å®å¯è½ãªæ大ã¢ãã¬ã¹æ°ãè¿ãã382 * in6_get_maxnum_ifaddr -- インタフェースに設定可能な最大アドレス数を返す。 397 383 */ 398 384 … … 404 390 405 391 /* 406 * in6_get_ifaddr -- ã¤ã³ã¿ãã§ã¼ã¹ã«è¨å®ããã¦ããã¢ãã¬ã¹ãè¿ãã392 * in6_get_ifaddr -- インタフェースに設定されているアドレスを返す。 407 393 */ 408 394 … … 420 406 421 407 /* 422 * ipv62str -- IPv6 ã¢ãã¬ã¹ãæååã«å¤æããã408 * ipv62str -- IPv6 アドレスを文字列に変換する。 423 409 */ 424 410 … … 490 476 491 477 /* 492 * in6_cksum -- IPv6 ã®ãã©ã³ã¹ãã¼ã層ãããã®ãã§ãã¯ãµã ãè¨ç®ããã493 * 494 * 注æ: æ»ãå¤ã¯ãããã¯ã¼ã¯ãã¤ããªã¼ã478 * in6_cksum -- IPv6 のトランスポート層ヘッダのチェックサムを計算する。 479 * 480 * 注意: 戻り値はネットワークバイトオーダ 495 481 */ 496 482 … … 501 487 uint_t align; 502 488 503 /* 4 ãªã¯ãããå¢çã®ãã¼ã¿é·*/489 /* 4 オクテット境界のデータ長 */ 504 490 align = (len + 3) >> 2 << 2; 505 491 506 /* 4 ãªã¯ãããå¢çã¾ã§ããã£ã³ã°ã§åããã*/492 /* 4 オクテット境界までパディングで埋める。*/ 507 493 if (align > len) 508 494 memset((uint8_t*)nbuf->buf + off + len, 0, align - len); … … 517 503 518 504 /* 519 * get_ip6_hdr_size -- æ¡å¼µããããå«ãã IPv6 ãããé·ãè¿ãã505 * get_ip6_hdr_size -- 拡張ヘッダも含めた IPv6 ヘッダ長を返す。 520 506 */ 521 507 … … 530 516 while (1) { 531 517 next = *hdr; 532 if (curr ==IPPROTO_NONE) /* 次ãããç¡ã*/518 if (curr ==IPPROTO_NONE) /* 次ヘッダ無し */ 533 519 break; 534 else if (curr == IPPROTO_FRAGMENT) /* æçå*/520 else if (curr == IPPROTO_FRAGMENT) /* 断片化 */ 535 521 hsize = sizeof(T_IP6_FRAG_HDR); 536 else if (curr == IPPROTO_AH) /* IPv6 èªè¨¼*/522 else if (curr == IPPROTO_AH) /* IPv6 認証 */ 537 523 hsize = (((T_IP6_AH_HDR *)hdr)->len + 2) * 4; 538 else if (curr == IPPROTO_HOPOPTS || /* ä¸ç¶ç¹ (Hop-by-Hop) ãªãã·ã§ã³*/539 curr == IPPROTO_DSTOPTS || /* IPv6 çµç¹ãªãã·ã§ã³*/540 curr == IPPROTO_ROUTING) /* çµè·¯å¶å¾¡*/524 else if (curr == IPPROTO_HOPOPTS || /* 中継点 (Hop-by-Hop) オプション */ 525 curr == IPPROTO_DSTOPTS || /* IPv6 終点オプション */ 526 curr == IPPROTO_ROUTING) /* 経路制御 */ 541 527 hsize = (((T_IP6_EXT_HDR *)hdr)->len + 1) * 8; 542 528 else … … 550 536 551 537 /* 552 * in6_plen2pmask -- ãã¬ãã£ãã¯ã¹é·ãããã¹ã¯ãçæããã538 * in6_plen2pmask -- プレフィックス長からマスクを生成する。 553 539 */ 554 540 … … 568 554 569 555 /* 570 * in6_rtalloc -- ã«ã¼ãã£ã³ã°è¡¨ãæ¢ç´¢ããã556 * in6_rtalloc -- ルーティング表を探索する。 571 557 */ 572 558 … … 582 568 583 569 /* 584 * ãµã¤ããã¼ã«ã«ã¢ãã¬ã¹ãéç´å¯è½ï¼ã°ãã¼ãã«ï¼ã¢ãã¬ã¹ã®å ´åã¯ã 585 * åä¸ãªã³ã¯å 586 ã®ãã¼ãã§ãããããã§ãã¯ããã 570 * サイトローカルアドレスか集約可能(グローバル)アドレスの場合は、 571 * 同一リンク内のノードであるかをチェックする。 587 572 */ 588 573 … … 590 575 now /= SYSTIM_HZ; 591 576 592 /* æ¨å¥¨æå¹æéå 593 ã®ã¢ãã¬ã¹ãæ¢ç´¢ããã*/ 577 /* 推奨有効時間内のアドレスを探索する。*/ 594 578 for (ix = NUM_IN6_IFADDR_ENTRY; ix -- > 0; ) { 595 579 ia = &ifp->in6_ifaddrs[ix]; … … 602 586 } 603 587 604 /* æå¹æéå 605 ã®ã¢ãã¬ã¹ãæ¢ç´¢ããã*/ 588 /* 有効時間内のアドレスを探索する。*/ 606 589 for (ix = NUM_IN6_IFADDR_ENTRY; ix -- > 0; ) { 607 590 ia = &ifp->in6_ifaddrs[ix]; … … 614 597 615 598 /* 616 * ãã¬ãã£ãã¯ã¹ãæ¢ç´¢ããã599 * プレフィックスを探索する。 617 600 */ 618 601 if (nd6_onlink_prefix_lookup (dst) != NULL) … … 620 603 621 604 /* 622 * éççµè·¯è¡¨ãæ¢ç´¢ããã605 * 静的経路表を探索する。 623 606 */ 624 607 … … 632 615 633 616 /* 634 * åãç´ãã«ããã¨ã³ããªã¯ãæå¹æéãåããæå»ã延é·ããã635 * expire ã®åä½ã¯ [s]ã636 * TMO_IN_REDIRECT ã®åä½ã¯ [ms]ã617 * 向け直しによるエントリは、有効時間が切れる時刻を延長する。 618 * expire の単位は [s]。 619 * TMO_IN_REDIRECT の単位は [ms]。 637 620 */ 638 621 if (ix > NUM_IN6_STATIC_ROUTE_ENTRY) { … … 652 635 653 636 /* 654 * ãã£ãã©ã«ãã«ã¼ã¿ã»ãªã¹ããæ¢ç´¢ããã637 * ディフォルトルータ・リストを探索する。 655 638 */ 656 639 return nd6_router_lookup(); … … 661 644 662 645 /* 663 * in6_gateway_lookup -- ã«ã¼ãã£ã³ã°è¡¨ã®ã«ã¼ã¿ãæ¢ç´¢ããã646 * in6_gateway_lookup -- ルーティング表のルータを探索する。 664 647 */ 665 648 … … 677 660 678 661 /* 679 * in6_rtredirect -- ã«ã¼ãã£ã³ã°è¡¨ã«ã¨ã³ããªãç»é²ããã680 * 681 * 注æ: å¼æ° tmo ã®åä½ã¯ [ms]ã662 * in6_rtredirect -- ルーティング表にエントリを登録する。 663 * 664 * 注意: 引数 tmo の単位は [ms]。 682 665 */ 683 666 … … 698 681 699 682 /* 700 * in6_hostcache_lookup -- IPv6 ãã¹ããã£ãã·ã¥ãæ¢ç´¢ããã683 * in6_hostcache_lookup -- IPv6 ホストキャッシュを探索する。 701 684 */ 702 685 … … 714 697 715 698 /* 716 * in6_hostcache_update -- IPv6 ãã¹ããã£ãã·ã¥ãæ´æ°ããã699 * in6_hostcache_update -- IPv6 ホストキャッシュを更新する。 717 700 */ 718 701 … … 726 709 syscall(get_tim(&now)); 727 710 728 /* æ¢ã«ç»é²ããã¦ãããæ¢ç´¢ããã*/711 /* 既に登録されているか探索する。*/ 729 712 if ((hc = in6_hostcache_lookup (dst)) == NULL) { 730 713 731 /* 空ãã®ãã¹ããã£ãã·ã¥ãæ¢ãã*/714 /* 空きのホストキャッシュを探す。*/ 732 715 for (ix = NUM_IN6_HOSTCACHE_ENTRY; ix -- > 0; ) { 733 716 if (IN6_IS_HOSTCACHE_FREE(&in6_hostcache[ix])) … … 737 720 if (ix < 0) { 738 721 /* 739 * 空ããç¡ãæã¯ãæå¹æéã®åããæéãã740 * æãçããã¹ããã£ãã·ã¥ãç½®æããã722 * 空きが無い時は、有効時間の切れる時間が、 723 * 最も短いホストキャッシュを置換する。 741 724 */ 742 725 old = now - 1; … … 758 741 759 742 /* 760 * æ¢ã«ç»é²ããã¦ãã¦ãæ°ãã MTU ããç»é²ããã¦ãã MTU ãã大ããã¨ãã761 * IN6_HOSTCACHE_INCREASE ï¼æ¨å¥¨ 10 åï¼éã¯æ´æ°ããªãã743 * 既に登録されていて、新しい MTU が、登録されている MTU より大きいとき、 744 * IN6_HOSTCACHE_INCREASE(推奨 10 分)間は更新しない。 762 745 */ 763 746 return; … … 769 752 770 753 /* 771 * in6_hostcache_getmtu -- IPv6 ãã¹ããã£ãã·ã¥ããã MTU ãåå¾ããã772 * 773 * æ»ãå¤ã 0 ã§ããã°ããã¹ããã£ãã·ã¥ã«ç»é²ããã¦ããªãã754 * in6_hostcache_getmtu -- IPv6 ホストキャッシュをから MTU を取得する。 755 * 756 * 戻り値が 0 であれば、ホストキャッシュに登録されていない。 774 757 */ 775 758 … … 779 762 T_IN6_HOSTCACHE_ENTRY *hc; 780 763 781 /* æ¢ã«ç»é²ããã¦ãããæ¢ç´¢ããã*/764 /* 既に登録されているか探索する。*/ 782 765 if ((hc = in6_hostcache_lookup(dst)) == NULL) 783 766 return 0; … … 787 770 788 771 /* 789 * in6_hostcache_timer -- IPv6 ãã¹ããã£ãã·ã¥æ´æ°ã¿ã¤ãã¼790 * 791 * 1 ç§å¨æã§èµ·åãããã772 * in6_hostcache_timer -- IPv6 ホストキャッシュ更新タイマー 773 * 774 * 1秒周期で起動される。 792 775 */ 793 776 … … 809 792 810 793 /* 811 * in6_timer -- IPv6 å 812 ±éã¿ã¤ãã¼ 813 * 814 * 1ç§å¨æã§èµ·åãããã 794 * in6_timer -- IPv6 共通タイマー 795 * 796 * 1秒周期で起動される。 815 797 */ 816 798 … … 840 822 841 823 /* 842 * in6_init -- IPv6 å 843 ±éæ©è½ãåæåããã 824 * in6_init -- IPv6 共通機能を初期化する。 844 825 */ 845 826 … … 858 839 859 840 /* 860 * in6_is_dstaddr_accept -- å®å 861 ã¢ãã¬ã¹ã¨ãã¦æ£ããããã§ãã¯ããã 841 * in6_is_dstaddr_accept -- 宛先アドレスとして正しいかチェックする。 862 842 */ 863 843 … … 874 854 875 855 /* 876 * in6_add_ifaddr -- ã¤ã³ã¿ãã§ã¼ã¹ã« IPv6 ã¢ãã¬ã¹ãè¨å®ããã877 * 878 * vltime 㨠pltime ã®åä½ã¯[s]856 * in6_add_ifaddr -- インタフェースに IPv6 アドレスを設定する。 857 * 858 * vltime と pltime の単位は[s] 879 859 */ 880 860 … … 887 867 int_t ix; 888 868 889 /* 空ãã®ã¨ã³ããªã¼ãæ¢ãã*/869 /* 空きのエントリーを探す。*/ 890 870 ix = 0; 891 871 while (true) { 892 872 ia = in6ifa_ifpwithix(ifp, ix ++); 893 873 894 /* 空ããç¡ããã°ã¨ã©ã¼*/874 /* 空きが無ければエラー */ 895 875 if (ia == NULL) 896 876 return E_OBJ; … … 900 880 } 901 881 902 /* ç»é²ããã*/882 /* 登録する。*/ 903 883 return in6_update_ifa(ifp, ia, addr, prefix_len, vltime, pltime, 904 884 IN6_RTR_IX_UNREACH, ND6_PREFIX_IX_INVALID, 0); … … 906 886 907 887 /* 908 * in6_upd_ifaddr -- ã¤ã³ã¿ãã§ã¼ã¹ã«è¨å®ããã¦ãã IPv6 ã¢ãã¬ã¹ãæ´æ°ããã909 * 910 * ç»é²ããã¦ããªããã°ã追å ããã911 * vltime 㨠pltime ã®åä½ã¯[s]888 * in6_upd_ifaddr -- インタフェースに設定されている IPv6 アドレスを更新する。 889 * 890 * 登録されていなければ、追加する。 891 * vltime と pltime の単位は[s] 912 892 */ 913 893 … … 921 901 922 902 /* 923 * ã¢ãã¬ã¹ãä¸è´ããã¨ã³ããªã¼ãæ¢ãã924 * ç¡ããã°ç»é²ããã903 * アドレスが一致するエントリーを探す。 904 * 無ければ登録する。 925 905 */ 926 906 if ((ix = in6_addr2ifaix(addr)) == IPV6_IFADDR_IX_INVALID) … … 928 908 929 909 /* 930 * ã¤ã³ããã¯ã¹çªå·ãããã¨ã³ããªã¼ã«å¤æããã931 * ã¨ã©ã¼ã«ãªããªãã¯ãã§ãããã確èªããã910 * インデックス番号から、エントリーに変換する。 911 * エラーにならないはずであるが、確認する。 932 912 */ 933 913 if ((ia = in6ifa_ifpwithix (ifp, ix)) == NULL) 934 914 return E_OBJ; 935 915 936 /* æ´æ°ããã*/916 /* 更新する。*/ 937 917 return in6_update_ifa(ifp, ia, addr, prefix_len, vltime, pltime, 938 918 IN6_RTR_IX_UNREACH, ND6_PREFIX_IX_INVALID, 0); … … 940 920 941 921 /* 942 * in6_del_ifaddr -- ã¤ã³ã¿ãã§ã¼ã¹ã«è¨å®ããã¦ãã IPv6 ã¢ãã¬ã¹ãåé¤ããã922 * in6_del_ifaddr -- インタフェースに設定されている IPv6 アドレスを削除する。 943 923 */ 944 924 … … 949 929 int_t ix; 950 930 951 /* ã¢ãã¬ã¹ãä¸è´ããã¨ã³ããªã¼ãæ¢ãã*/931 /* アドレスが一致するエントリーを探す。*/ 952 932 if ((ix = in6_addr2ifaix(addr)) != IPV6_IFADDR_IX_INVALID) { 953 933 954 /* ã¨ã³ããªã¼ãç¡å¹ã«ããã*/934 /* エントリーを無効にする。*/ 955 935 ifp->in6_ifaddrs[ix].flags &= ~IN6_IFF_DEFINED; 956 936 return E_OK; -
asp3_gr_sakura/trunk/tinet/netinet6/in6_var.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 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 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 115 103 116 104 /* 117 * ã¢ãã¬ã¹ã®å®ç¾©105 * アドレスの定義 118 106 */ 119 107 … … 149 137 150 138 /* 151 * ç¹å¥ãªã¢ãã¬ã¹ã®ãã§ãã¯152 */ 153 154 /* IPv4 äºæ*/139 * 特別なアドレスのチェック 140 */ 141 142 /* IPv4 互換 */ 155 143 156 144 #ifdef _NET_CFG_BYTE_ORDER … … 160 148 #endif 161 149 162 /* IPv4 å°å½±*/150 /* IPv4 射影 */ 163 151 164 152 #ifdef _NET_CFG_BYTE_ORDER … … 169 157 #endif 170 158 171 /* è¦è«ãã«ããã£ã¹ã*/159 /* 要請マルチキャスト */ 172 160 173 161 #ifdef _NET_CFG_BYTE_ORDER … … 182 170 183 171 /* 184 * ã¢ãã¬ã¹æå¹æéæ§é ä½172 * アドレス有効時間構造体 185 173 */ 186 174 … … 188 176 189 177 /* 190 * expire 㨠perferred ã¯ãã·ã¹ãã ãèµ·åãã¦ããã®çµéæé178 * expire と perferred は、システムが起動してからの経過時間 191 179 */ 192 uint32_t expire; /* æå¹æéãåããæå»[s] */193 uint32_t preferred; /* æ¨å¥¨æå¹æéãåããæå»[s] */180 uint32_t expire; /* 有効時間が切れる時刻 [s] */ 181 uint32_t preferred; /* 推奨有効時間が切れる時刻 [s] */ 194 182 195 183 /* 196 * vltime 㨠pltime ã¯ã追å /å¤æ´ãã¦ããã®ç¸å¯¾æé184 * vltime と pltime は、追加/変更してからの相対時間 197 185 */ 198 uint32_t vltime; /* æå¹æé[ms] */199 uint32_t pltime; /* æ¨å¥¨æå¹æé[ms] */186 uint32_t vltime; /* 有効時間 [ms] */ 187 uint32_t pltime; /* 推奨有効時間 [ms] */ 200 188 } T_IN6_ADDR_LIFETIME; 201 189 202 190 /* 203 * ã¤ã³ã¿ãã§ã¼ã¹ã¢ãã¬ã¹æ§é ä½191 * インタフェースアドレス構造体 204 192 */ 205 193 206 194 typedef struct t_in6_ifaddr { 207 T_IN6_ADDR addr; /* IPv6 ã¢ãã¬ã¹ */ 208 T_IN6_ADDR_LIFETIME lifetime; /* æå¹æé */ 209 uint8_t flags; /* ãã©ã° */ 210 uint8_t prefix_len; /* ãã¬ãã£ãã¯ã¹é· */ 211 uint8_t router_index; /* ã«ã¼ã¿ã¤ã³ããã¯ã¹ */ 212 uint8_t prefix_index; /* ãã¬ãã£ãã¯ã¹ã¤ã³ããã¯ã¹ */ 213 uint8_t na_icount; /* éè¤ã¢ãã¬ã¹æ¤åº (DAD) éç¥ã®å 214 ¥ååæ° */ 215 uint8_t ns_icount; /* éè¤ã¢ãã¬ã¹æ¤åº (DAD) è¦è«ã®å 216 ¥ååæ° */ 217 uint8_t ns_ocount; /* éè¤ã¢ãã¬ã¹æ¤åº (DAD) è¦è«ã®åºååæ° */ 195 T_IN6_ADDR addr; /* IPv6 アドレス */ 196 T_IN6_ADDR_LIFETIME lifetime; /* 有効時間 */ 197 uint8_t flags; /* フラグ */ 198 uint8_t prefix_len; /* プレフィックス長 */ 199 uint8_t router_index; /* ルータインデックス */ 200 uint8_t prefix_index; /* プレフィックスインデックス */ 201 uint8_t na_icount; /* 重複アドレス検出 (DAD) 通知の入力回数 */ 202 uint8_t ns_icount; /* 重複アドレス検出 (DAD) 要請の入力回数 */ 203 uint8_t ns_ocount; /* 重複アドレス検出 (DAD) 要請の出力回数 */ 218 204 } T_IN6_IFADDR; 219 205 220 206 /* 221 * ã¢ãã¬ã¹ç¶æ 222 ãã©ã° 223 */ 224 225 #define IN6_IFF_ANYCAST UINT_C(0x01) /* ã¨ãã¼ãã£ã¹ã */ 226 #define IN6_IFF_DEFINED UINT_C(0x02) /* å®ç¾©æ¸ã¿ */ 227 #define IN6_IFF_TENTATIVE UINT_C(0x04) /* éè¤æ¤åºä¸ */ 228 #define IN6_IFF_DUPLICATED UINT_C(0x08) /* éè¤ãæ¤åºãã */ 229 #define IN6_IFF_DEPRECATED UINT_C(0x10) /* éæ¨å¥¨ */ 230 #define IN6_IFF_NODAD UINT_C(0x20) /* éè¤æ¤åºä¸è¦ */ 231 #define IN6_IFF_AUTOCONF UINT_C(0x40) /* èªåè¨å®ããã */ 232 #define IN6_IFF_DETACHED UINT_C(0x80) /* éä½¿ç¨ */ 233 234 /* 235 * ã¢ãã¬ã¹ã®æå¹æ§ãã§ã㯠207 * アドレス状態フラグ 208 */ 209 210 #define IN6_IFF_ANYCAST UINT_C(0x01) /* エニーキャスト */ 211 #define IN6_IFF_DEFINED UINT_C(0x02) /* 定義済み */ 212 #define IN6_IFF_TENTATIVE UINT_C(0x04) /* 重複検出中 */ 213 #define IN6_IFF_DUPLICATED UINT_C(0x08) /* 重複を検出した */ 214 #define IN6_IFF_DEPRECATED UINT_C(0x10) /* 非推奨 */ 215 #define IN6_IFF_NODAD UINT_C(0x20) /* 重複検出不要 */ 216 #define IN6_IFF_AUTOCONF UINT_C(0x40) /* 自動設定された */ 217 #define IN6_IFF_DETACHED UINT_C(0x80) /* 非使用 */ 218 219 /* 220 * アドレスの有効性チェック 236 221 */ 237 222 … … 248 233 249 234 /* 250 * ã«ã¼ã¿ã®ã¤ã³ããã¯ã¹235 * ルータのインデックス 251 236 */ 252 237 … … 254 239 255 240 /* 256 * å¶éå¤ 257 */ 258 259 #define IP6_HDR_NEST_LIMIT 50 /* IPv6 ãããã®ãã¹ãå¶éå¤ */ 260 261 /* 262 * ã¢ãã¬ã¹æ 263 å ±é 264 åã®ã¤ã³ããã¯ã¹ 241 * 制限値 242 */ 243 244 #define IP6_HDR_NEST_LIMIT 50 /* IPv6 ヘッダのネスト制限値 */ 245 246 /* 247 * アドレス情報配列のインデックス 265 248 */ 266 249 … … 269 252 270 253 /* 271 * IPv6 ãã«ããã£ã¹ãã¢ãã¬ã¹é 272 åã®ã¤ã³ããã¯ã¹ 273 */ 274 275 #define IPV6_MADDR_IX_SOL_NODE 0 /* è¦è«ãã«ããã£ã¹ãã»ã¢ãã¬ã¹ */ 276 #define IPV6_MADDR_IX_LL_ALL_NODE 1 /* å 277 ¨ãã¼ãã»ãªã³ã¯ãã¼ã«ã«ã»ãã«ããã£ã¹ãã¢ãã¬ã¹ */ 254 * IPv6 マルチキャストアドレス配列のインデックス 255 */ 256 257 #define IPV6_MADDR_IX_SOL_NODE 0 /* 要請マルチキャスト・アドレス */ 258 #define IPV6_MADDR_IX_LL_ALL_NODE 1 /* 全ノード・リンクローカル・マルチキャストアドレス */ 278 259 #define IPV6_MADDR_IX_EXTRA 2 279 260 280 261 #define MAX_IN6_MADDR_CNT MAX_IF_MADDR_CNT 281 /* IPv6 ãã«ããã£ã¹ãã¢ãã¬ã¹é 282 åã®æ大ãµã¤ãº */ 283 284 /* ã«ã¼ãã£ã³ã°è¡¨ã¨ã³ããªæ§é ä½ */ 262 /* IPv6 マルチキャストアドレス配列の最大サイズ */ 263 264 /* ルーティング表エントリ構造体 */ 285 265 286 266 typedef struct t_in6_rtentry { 287 T_IN6_ADDR target; /* ç®æ¨ãããã¯ã¼ã¯ã¢ãã¬ã¹*/288 T_IN6_ADDR gateway; /* ã²ã¼ãã¦ã§ã¤ã® IP ã¢ãã¬ã¹*/289 uint32_t expire; /* æå¹æéãåããæå»[s] */290 uint8_t flags; /* ãã©ã°*/291 uint8_t prefix_len; /* ãã¬ãã£ãã¯ã¹é·*/267 T_IN6_ADDR target; /* 目標ネットワークアドレス */ 268 T_IN6_ADDR gateway; /* ゲートウェイの IP アドレス */ 269 uint32_t expire; /* 有効時間が切れる時刻 [s] */ 270 uint8_t flags; /* フラグ */ 271 uint8_t prefix_len; /* プレフィックス長 */ 292 272 } T_IN6_RTENTRY; 293 273 294 274 /* 295 * ãã¹ããã£ãã·ã¥296 */ 297 298 /* ãã¹ããã£ãã·ã¥æ§é ä½*/275 * ホストキャッシュ 276 */ 277 278 /* ホストキャッシュ構造体 */ 299 279 300 280 typedef struct t_in6_hostcache_entry { 301 T_IN6_ADDR dst; /* ç®æ¨ãããã¯ã¼ã¯ã¢ãã¬ã¹*/302 uint32_t expire; /* æå¹æéãåããæå»[s] */281 T_IN6_ADDR dst; /* 目標ネットワークアドレス */ 282 uint32_t expire; /* 有効時間が切れる時刻 [s] */ 303 283 uint32_t mtu; /* Path MTU */ 304 284 } T_IN6_HOSTCACHE_ENTRY; 305 285 306 #define IN6_HOSTCACHE_EXPIRE (60*60*SYSTIM_HZ) /* æå¹æé*/307 #define IN6_HOSTCACHE_PRUNE (5*60*SYSTIM_HZ) /* æ´æ°éé*/308 #define IN6_HOSTCACHE_INCREASE (10*60*SYSTIM_HZ) /* å¢å ããå ´åã®ä¿è·æé*/286 #define IN6_HOSTCACHE_EXPIRE (60*60*SYSTIM_HZ) /* 有効時間 */ 287 #define IN6_HOSTCACHE_PRUNE (5*60*SYSTIM_HZ) /* 更新間隔 */ 288 #define IN6_HOSTCACHE_INCREASE (10*60*SYSTIM_HZ) /* 増加する場合の保護時間 */ 309 289 310 290 #define IN6_IS_HOSTCACHE_FREE(e) IN6_IS_ADDR_UNSPECIFIED(&((e)->dst)) … … 312 292 313 293 /* 314 * ã«ã¼ãã£ã³ã°è¡¨294 * ルーティング表 315 295 */ 316 296 … … 318 298 319 299 /* 320 * åæ¹åç 321 § 300 * 前方参照 322 301 */ 323 302 … … 331 310 332 311 /* 333 * å¤æ°312 * 変数 334 313 */ 335 314 … … 337 316 338 317 /* 339 * é¢æ°ã·ãã¥ã¬ã¼ã·ã§ã³ãã¯ã318 * 関数シミュレーションマクロ 340 319 */ 341 320 … … 345 324 346 325 /* 347 * é¢æ°326 * 関数 348 327 */ 349 328 -
asp3_gr_sakura/trunk/tinet/netinet6/ip6.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * IPv6 ã§ä½¿ç¨ããã«ã¼ãã«ãªãã¸ã§ã¯ã35 * IPv6 で使用するカーネルオブジェクト 48 36 */ 49 37 50 38 #ifdef _IP6_CFG 51 39 52 /* è¿é£ãã£ãã·ã¥*/40 /* 近隣キャッシュ */ 53 41 54 42 CRE_SEM(SEM_ND6_CACHE, { TA_TPRI, 1, 1 }); … … 56 44 #if NUM_ND6_DEF_RTR_ENTRY > 0 57 45 58 /* ãã£ãã©ã«ãã«ã¼ã¿ã»ãªã¹ã*/46 /* ディフォルトルータ・リスト */ 59 47 60 48 CRE_SEM(SEM_ND6_DEFRTRLIST, { TA_TPRI, 1, 1 }); … … 64 52 #ifdef IP6_CFG_FRAGMENT 65 53 66 /* åå²ããã*/54 /* 分割ヘッダ */ 67 55 68 56 CRE_SEM(SEM_IP6_FRAG_QUEUE, { TA_TPRI, 1, 1 }); … … 72 60 #if NUM_IN6_ROUTE_ENTRY > 0 73 61 74 /* ã«ã¼ãã£ã³ã°è¡¨*/62 /* ルーティング表 */ 75 63 76 64 CRE_SEM(SEM_IN6_ROUTING_TBL, { TA_TPRI, 1, 1 }); -
asp3_gr_sakura/trunk/tinet/netinet6/ip6_input.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 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 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 161 149 162 150 /* 163 * é¢æ°151 * 関数 164 152 */ 165 153 … … 167 155 168 156 /* 169 * ä¸ä½ãããã³ã«é¸ææ§é ä½157 * 上位プロトコル選択構造体 170 158 */ 171 159 172 160 typedef struct t_proto_switch { 173 uint_t (*func)(T_NET_BUF **, uint_t *, uint_t *); /* å 174 ¥åé¢æ° */ 175 uint_t proto; /* ãããã³ã«çªå· */ 161 uint_t (*func)(T_NET_BUF **, uint_t *, uint_t *); /* 入力関数 */ 162 uint_t proto; /* プロトコル番号 */ 176 163 } T_PROTO_SWITCH; 177 164 178 165 static const T_PROTO_SWITCH proto_switch[] = { 179 { esp6_input, IPPROTO_ESP }, /* IPv6 æå·åããã*/180 { ah6_input, IPPROTO_AH }, /* IPv6 èªè¨¼ããã*/181 { frag6_input, IPPROTO_FRAGMENT }, /* æçããã*/182 { route6_input, IPPROTO_ROUTING }, /* çµè·¯å¶å¾¡ããã*/183 { dest6_input, IPPROTO_DSTOPTS }, /* IPv6 çµç¹ãªãã·ã§ã³*/166 { esp6_input, IPPROTO_ESP }, /* IPv6 暗号化ヘッダ */ 167 { ah6_input, IPPROTO_AH }, /* IPv6 認証ヘッダ */ 168 { frag6_input, IPPROTO_FRAGMENT }, /* 断片ヘッダ */ 169 { route6_input, IPPROTO_ROUTING }, /* 経路制御ヘッダ */ 170 { dest6_input, IPPROTO_DSTOPTS }, /* IPv6 終点オプション */ 184 171 { ip6_no_header_input, 185 IPPROTO_NONE }, /* 次ãããç¡ã*/172 IPPROTO_NONE }, /* 次ヘッダ無し */ 186 173 { icmp6_input, IPPROTO_ICMPV6 }, 187 174 … … 207 194 208 195 /* 209 * get_upper_proto -- ä¸ä½ãããã³ã«å¦çé¢æ°ãè¿ãã196 * get_upper_proto -- 上位プロトコル処理関数を返す。 210 197 */ 211 198 … … 222 209 223 210 /* 224 * ip6_no_header_input -- 次ããããç¡ãã®å ´åã®å 225 ¥åå¦ç 211 * ip6_no_header_input -- 次ヘッダが無しの場合の入力処理 226 212 */ 227 213 … … 234 220 235 221 /* 236 * ip6_hopopts_input -- ä¸ç¶ç¹ãªãã·ã§ã³å 237 ¥åå¦ç 238 * 239 * æ¬å®è£ 240 ã§ã¯ãããã£ã³ã°ä»¥å¤ã®ãªãã·ã§ã³ãå 241 ¨ã¦æªç¥ãªãã·ã§ã³ã¨ãã¦å¦çããã 242 * 243 * æ»ãå¤: 244 * 245 * 0 ä»¥ä¸ æ£å¸¸ 246 * IP6_OPT_RET_ERR (-1) ã¨ã©ã¼ãå¼åºå´ã§ãããã¯ã¼ã¯ãããã¡ãéæ¾ããã 247 * IP6_OPT_RET_REL (-2) ã¨ã©ã¼ããããã¯ã¼ã¯ãããã¡ã¯éæ¾ããã¦ããã 222 * ip6_hopopts_input -- 中継点オプション入力処理 223 * 224 * 本実装では、パディング以外のオプションを全て未知オプションとして処理する。 225 * 226 * 戻り値: 227 * 228 * 0 以上 正常 229 * IP6_OPT_RET_ERR (-1) エラー、呼出側でネットワークバッファを開放する。 230 * IP6_OPT_RET_REL (-2) エラー、ネットワークバッファは開放されている。 248 231 */ 249 232 … … 293 276 294 277 /* 295 * ip6_get_prev_hdr -- ç´åã®æ¡å¼µãããã® next ãã£ã¼ã«ãã®ã¢ãã¬ã¹ãè¿ãã296 * 297 * 注æ: off ã«ã¯ IF_HDR_SIZE ãå«ã¾ãã¦ããã278 * ip6_get_prev_hdr -- 直前の拡張ヘッダの next フィールドのアドレスを返す。 279 * 280 * 注意: off には IF_HDR_SIZE も含まれている。 298 281 */ 299 282 … … 339 322 340 323 /* 341 * ip6_init -- IPv6 ã®åæåé¢æ°324 * ip6_init -- IPv6 の初期化関数 342 325 */ 343 326 … … 350 333 351 334 /* 352 * ip6_input -- IPv6 ã®å 353 ¥åé¢æ° 335 * ip6_input -- IPv6 の入力関数 354 336 */ 355 337 … … 368 350 NET_COUNT_MIB(in6_ifstat.ipv6IfStatsInReceives, 1); 369 351 370 /* IP ãããã®é·ãããã§ãã¯ããã*/352 /* IP ヘッダの長さをチェックする。*/ 371 353 if (input->len < IF_IP6_HDR_SIZE) { 372 354 NET_COUNT_IP6(net_count_ip6[NC_IP6_IN_ERR_SHORT], 1); … … 377 359 ip6h = GET_IP6_HDR(input); 378 360 379 /* ãã¼ã¸ã§ã³ããã§ãã¯ããã*/361 /* バージョンをチェックする。*/ 380 362 if (IP6_VCF_V(ntohl(ip6h->vcf)) != IPV6_VERSION) { 381 363 NET_COUNT_IP6(net_count_ip6[NC_IP6_IN_ERR_VER], 1); … … 385 367 386 368 /* 387 * 次ã®ãã¼ã¿ã°ã©ã ã¯ç ´æ£ããã369 * 次のデータグラムは破棄する。 388 370 * 389 * ã»å§ç¹ã¢ãã¬ã¹ããã«ããã£ã¹ã390 * ã»çµç¹ã¢ãã¬ã¹ãæªå®ç¾©371 * ・始点アドレスがマルチキャスト 372 * ・終点アドレスが未定義 391 373 * 392 * ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ãã«ã¼ãããã¯ã§ãªãã¨ãã393 * 次ã®ãã¼ã¿ã°ã©ã ãç ´æ£ããã374 * ネットワークインタフェースがループバックでないとき、 375 * 次のデータグラムも破棄する。 394 376 * 395 * ã»å§ç¹ã¢ãã¬ã¹ãã«ã¼ãããã¯396 * ã»çµç¹ã¢ãã¬ã¹ãã«ã¼ãããã¯377 * ・始点アドレスがループバック 378 * ・終点アドレスがループバック 397 379 * 398 * æªæã®ããã¦ã¼ã¶ã TCP/UDP ã¹ã¿ãã¯ã®æ··ä¹±ã399 * ã»ãã¥ãªãã£ãã§ãã¯ããã¤ãã¹ãããããIPv4400 * ãããã¢ãã¬ã¹ãæªç¨ãããã¨ãé²ããã401 * 以ä¸ã®ãã¼ã¿ã°ã©ã ã¯ç ´æ£ããã380 * 悪意のあるユーザが TCP/UDP スタックの混乱や 381 * セキュリティチェックをバイパスするため、IPv4 382 * マップアドレスを悪用することを防ぐため 383 * 以下のデータグラムは破棄する。 402 384 * 403 * ã»å§ç¹ã¢ãã¬ã¹ã::ffff:127.0.0.1404 * ã»çµç¹ã¢ãã¬ã¹ã::ffff:127.0.0.1385 * ・始点アドレスが ::ffff:127.0.0.1 386 * ・終点アドレスが ::ffff:127.0.0.1 405 387 */ 406 388 … … 435 417 436 418 if (IN6_IS_ADDR_MULTICAST(&ip6h->dst)) { 437 /* å®å 438 ããã«ããã£ã¹ãã®å ´åã®å¦ç */ 419 /* 宛先がマルチキャストの場合の処理 */ 439 420 NET_COUNT_MIB(in6_ifstat.ipv6IfStatsInMcastPkts, 1); 440 421 if (!in6_lookup_multi(ifp, &ip6h->dst)) { … … 451 432 } 452 433 453 /* ã¢ãã¬ã¹ãæªè§£æ±ºã®å ´åã¯ãã¼ã¿ã°ã©ã ãç ´æ£ããã*/434 /* アドレスが未解決の場合はデータグラムを破棄する。*/ 454 435 if (IFA6_IS_NOTREADY(ia6)) { 455 436 NET_COUNT_IP6(net_count_ip6[NC_IP6_IN_ERR_ADDR], 1); … … 459 440 } 460 441 461 /* ãªãã»ãããè¨å®ããã*/442 /* オフセットを設定する。*/ 462 443 offp = GET_IP6_NEXT_HDR(input) - input->buf; 463 444 464 /* ãã¤ãã¼ãé·ãåãåºãã*/445 /* ペイロード長を取り出す。*/ 465 446 plen = ntohs(ip6h->plen); 466 447 467 448 468 /* 次ãããã®ä½ç½®ãåæåããã*/449 /* 次ヘッダの位置を初期化する。*/ 469 450 nextp = offsetof(T_IP6_HDR, next); 470 451 471 452 /* 472 * ä¸ç¶ç¹ (Hop-by-Hop) ãªãã·ã§ã³ãããã®ãã§ãã¯453 * 中継点 (Hop-by-Hop) オプションヘッダのチェック 473 454 */ 474 455 if (ip6h->next == IPPROTO_HOPOPTS) { 475 456 476 /* ä¸ç¶ç¹ãããã®é·ãããã§ãã¯ããã*/457 /* 中継点ヘッダの長さをチェックする。*/ 477 458 if (plen < sizeof(T_IP6_HBH_HDR)) { 478 459 NET_COUNT_IP6(net_count_ip6[NC_IP6_IN_ERR_SHORT], 1); … … 495 476 496 477 /* 497 * ãã¤ãã¼ãé·ã 0 ã§ãä¸ç¶ç¹ãªãã·ã§ã³ãããã¨ãã¯ã 498 * 巨大ãã¤ãã¼ãã»ãªãã·ã§ã³ãå«ã¾ããªããã°ãªããªãã 499 * ãã®ã¨ãã巨大ãã¤ãã¼ãã»ãªãã·ã§ã³ã«ãã 500 * ãã¤ãã¼ãé·ããã§ãã¯ããå¿ 501 è¦ãããããæ¬å®è£ 502 ã§ã¯ã 503 * 巨大ãã¤ãã¼ãã»ãªãã·ã§ã³ãæªç¥ã®ãªãã·ã§ã³ã¨ã㦠504 * æ±ãã®ã§ãä½ãããªãã 478 * ペイロード長が 0 で、中継点オプションがあるときは、 479 * 巨大ペイロード・オプションが含まれなければならない。 480 * このとき、巨大ペイロード・オプションにある 481 * ペイロード長をチェックする必要があるが、本実装では、 482 * 巨大ペイロード・オプションを未知のオプションとして 483 * 扱うので、何もしない。 505 484 */ 506 485 next = ((T_IP6_HBH_HDR *)(ip6h + 1))->next; … … 509 488 next = ip6h->next; 510 489 511 /* IPv6 ãã¼ã¿ã°ã©ã é·ããã§ãã¯ããã*/490 /* IPv6 データグラム長をチェックする。*/ 512 491 if (input->len - IF_IP6_HDR_SIZE < plen) { 513 492 NET_COUNT_IP6(net_count_ip6[NC_IP6_IN_ERR_SHORT], 1); … … 518 497 input->len = IF_IP6_HDR_SIZE + plen; 519 498 520 /* ä¸ä½ãããã³ã«å¦çé¢æ°ãå¼ã³åºãã*/499 /* 上位プロトコル処理関数を呼び出す。*/ 521 500 nest = 0; 522 501 while (next != IPPROTO_DONE) { … … 531 510 NET_COUNT_MIB(in6_ifstat.ipv6IfStatsInUnknownProtos, 1); 532 511 533 /* icmp6_error ã§ãããã¯ã¼ã¯ãããã¡ãéæ¾ããã*/512 /* icmp6_error でネットワークバッファを開放する。*/ 534 513 icmp6_error(input, ICMP6_PARAM_PROB, 535 514 ICMP6_PARAMPROB_NEXT_HEADER, nextp); … … 548 527 549 528 /* 550 * ip6_nexthdr -- 次ã®ãããã®ãªãã»ãããè¿ãã551 * 552 * æ»ãå¤ == -1 : æå¾ã®ããããã¾ãã¯ã¨ã©ã¼ã553 * æ»ãå¤ > 0 : ããã«ããããç¶ãã529 * ip6_nexthdr -- 次のヘッダのオフセットを返す。 530 * 531 * 戻り値 == -1 : 最後のヘッダ、またはエラー。 532 * 戻り値 > 0 : さらにヘッダが続く。 554 533 */ 555 534 … … 569 548 break; 570 549 571 case IPPROTO_FRAGMENT: /* æçããã*/550 case IPPROTO_FRAGMENT: /* 断片ヘッダ */ 572 551 if (nbuf->len < off + sizeof(T_IP6_FRAG_HDR)) 573 552 return (ER_UINT)-1; 574 553 575 /* ä¸éã®ãã©ã°ã¡ã³ãã®å ´åã¯å¦çããããã*/554 /* 中間のフラグメントの場合は処理をやめる。*/ 576 555 ip6fh = (T_IP6_FRAG_HDR *)(nbuf->buf + off); 577 556 if (ntohs(ip6fh->off_flag) & IP6F_MORE_FRAG) … … 582 561 break; 583 562 584 case IPPROTO_AH: /* IPv6 èªè¨¼ããã*/585 case IPPROTO_HOPOPTS: /* IPv6 ä¸ç¶ç¹ (Hop-by-Hop) ãªãã·ã§ã³*/586 case IPPROTO_ROUTING: /* çµè·¯å¶å¾¡ããã*/587 case IPPROTO_DSTOPTS: /* IPv6 çµç¹ãªãã·ã§ã³*/563 case IPPROTO_AH: /* IPv6 認証ヘッダ */ 564 case IPPROTO_HOPOPTS: /* IPv6 中継点 (Hop-by-Hop) オプション */ 565 case IPPROTO_ROUTING: /* 経路制御ヘッダ */ 566 case IPPROTO_DSTOPTS: /* IPv6 終点オプション */ 588 567 if (nbuf->len < off + sizeof(T_IP6_EXT_HDR)) 589 568 return (ER_UINT)-1; … … 602 581 603 582 /* 604 * ip6_lasthdr -- æå¾ã®ãããã®ãªãã»ãããè¿ãã583 * ip6_lasthdr -- 最後のヘッダのオフセットを返す。 605 584 */ 606 585 … … 621 600 622 601 /* 623 * ip6_unknown_opt -- æªç¥ã®ãªãã·ã§ã³ã®å¦ç624 * 625 * æ»ãå¤:626 * 627 * 0 ä»¥ä¸ æ£å¸¸ããªãã·ã§ã³é·ã628 * IP6_OPT_RET_ERR (-1) ã¨ã©ã¼ãå¼åºå´ã§ãããã¯ã¼ã¯ãããã¡ãéæ¾ããã629 * IP6_OPT_RET_REL (-2) ã¨ã©ã¼ããããã¯ã¼ã¯ãããã¡ã¯éæ¾ããã¦ããã602 * ip6_unknown_opt -- 未知のオプションの処理 603 * 604 * 戻り値: 605 * 606 * 0 以上 正常、オプション長。 607 * IP6_OPT_RET_ERR (-1) エラー、呼出側でネットワークバッファを開放する。 608 * IP6_OPT_RET_REL (-2) エラー、ネットワークバッファは開放されている。 630 609 */ 631 610 … … 634 613 { 635 614 switch (IP6OPT_TYPE(*opt)) { 636 case IP6OPT_TYPE_SKIP: /* ç¡è¦ããã*/615 case IP6OPT_TYPE_SKIP: /* 無視する。 */ 637 616 return *(opt + 1); 638 617 break; 639 case IP6OPT_TYPE_ICMP: /* ç ´æ£ãã¦ããã«ããã£ã¹ãã§ãªããã° ICMP ãè¿éããã*/618 case IP6OPT_TYPE_ICMP: /* 破棄して、マルチキャストでなければ ICMP を返送する。 */ 640 619 if (IN6_IS_ADDR_MULTICAST(&GET_IP6_HDR(input)->dst)) 641 620 return IP6_OPT_RET_ERR; 642 621 /* no break; */ 643 case IP6OPT_TYPE_FORCEICMP: /* ç ´æ£ãã¦ãICMP ãè¿éããã*/622 case IP6OPT_TYPE_FORCEICMP: /* 破棄して、ICMP を返送する。 */ 644 623 icmp6_error(input, ICMP6_PARAM_PROB, 645 624 ICMP6_PARAMPROB_OPTION, … … 647 626 return IP6_OPT_RET_REL; 648 627 break; 649 /*case IP6OPT_TYPE_DISCARD: ãã¼ã¿ã°ã©ã ãç ´æ£ããã*/628 /*case IP6OPT_TYPE_DISCARD: データグラムを破棄する。 */ 650 629 } 651 630 … … 654 633 655 634 /* 656 * ip6_remove_exthdrs -- IPv6 æ¡å¼µããããåé¤ãã以éãåã«è©°ããã635 * ip6_remove_exthdrs -- IPv6 拡張ヘッダを削除し、以降を前に詰める。 657 636 */ 658 637 … … 663 642 uint_t next; 664 643 665 /* éå§ãªãã»ããã IP ãããã«è¨å®ããã*/644 /* 開始オフセットを IP ヘッダに設定する。*/ 666 645 off = ((uint8_t *)GET_IP6_HDR(nbuf)) - nbuf->buf; 667 646 668 /* æçµããããæ¢ç´¢ããã*/647 /* 最終ヘッダを探索する。*/ 669 648 off = ip6_lasthdr(nbuf, off, IPPROTO_IPV6, &next); 670 649 -
asp3_gr_sakura/trunk/tinet/netinet6/ip6_output.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 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 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 154 142 155 143 /* 156 * å 157 ¨åå¤æ° 158 */ 159 160 /* ãªã³ã¯ MTU */ 144 * 全域変数 145 */ 146 147 /* リンク MTU */ 161 148 162 149 uint32_t linkmtu = IF_MTU; 163 150 164 151 /* 165 * å±æå¤æ°152 * 局所変数 166 153 */ 167 154 … … 173 160 174 161 /* 175 * ip6_output -- IPv6 ã®åºåé¢æ°162 * ip6_output -- IPv6 の出力関数 176 163 */ 177 164 … … 204 191 205 192 /* 206 * éè¤ã¢ãã¬ã¹æ¤åºè¦è«ä»¥å¤ã«ã¯ãéä¿¡å 207 ã¢ãã¬ã¹ã« 208 * ç¡æå®ãæå®ã§ããªãã 193 * 重複アドレス検出要請以外には、送信元アドレスに 194 * 無指定を指定できない。 209 195 */ 210 196 if (IN6_IS_ADDR_UNSPECIFIED(&ip6h->src) && (flags & IPV6_OUT_FLG_DAD) == 0) { … … 213 199 } 214 200 215 /* éä¿¡å 216 ã¢ãã¬ã¹ã«ã¯ãã«ããã£ã¹ãã¢ãã¬ã¹ãæå®ã§ããªãã*/ 201 /* 送信元アドレスにはマルチキャストアドレスを指定できない。*/ 217 202 if (IN6_IS_ADDR_MULTICAST(&ip6h->src)) { 218 203 error = E_PAR; … … 221 206 222 207 /* 223 * çµè·¯é¸æãè¡ãã208 * 経路選択を行う。 224 209 */ 225 210 if ((gw = in6_rtalloc(ifp, &ip6h->dst)) == NULL) { … … 229 214 230 215 if (!IN6_IS_ADDR_MULTICAST(&ip6h->dst)) { 231 /* ã¦ããã£ã¹ãã¢ãã¬ã¹ã®å¦ç*/216 /* ユニキャストアドレスの処理 */ 232 217 } 233 218 else { 234 /* ãã«ããã£ã¹ãã¢ãã¬ã¹ã®å¦ç*/219 /* マルチキャストアドレスの処理 */ 235 220 NET_COUNT_MIB(in6_ifstat.ipv6IfStatsOutMcastPkts, 1); 236 221 if (flags & IPV6_OUT_FLG_HOP_LIMIT) … … 240 225 } 241 226 242 /* Traffic Class 㨠Flow Label ããµãã¼ãããªãã®ã§ 0 ã«è¨å®ããã*/227 /* Traffic Class と Flow Label をサポートしないので 0 に設定する。*/ 243 228 ip6h->vcf = htonl(IP6_MAKE_VCF(IPV6_VERSION, 0)); 244 229 … … 253 238 254 239 /* 255 * Path MTU ãç»é²ããã¦ããå ´åã256 * MTU ã IPv6 MMTUï¼1280 ãªã¯ãããï¼ä»¥ä¸ã®å ´åã¯ã257 * MTU ã IPv6 MMTU ã«è¨å®ãåå²ãã¦éä¿¡ããã240 * Path MTU が登録されている場合、 241 * MTU が IPv6 MMTU(1280 オクテット)以下の場合は、 242 * MTU を IPv6 MMTU に設定し分割して送信する。 258 243 */ 259 244 mtu = IPV6_MMTU; … … 272 257 if (plen + IP6_HDR_SIZE <= mtu && !alwaysfrag) { 273 258 274 /* åå²ããå¿ 275 è¦ããªãã¨ãã®å¦ç */ 259 /* 分割する必要がないときの処理 */ 276 260 if ((error = nd6_output(ifp, output, gw, NULL, tmout)) != E_OK) { 277 261 NET_COUNT_IP6(net_count_ip6[NC_IP6_OUT_ERR_PACKETS], 1); … … 281 265 else { 282 266 283 /* æç ID ãè¨å®ããã*/267 /* 断片 ID を設定する。*/ 284 268 id = ip6_id ++; 285 269 286 /* MTU ã IPv6 ã®æ大ãã±ãããµã¤ãºãè¶ 287 ããªãããã«ããã*/ 270 /* MTU が IPv6 の最大パケットサイズを超えないようにする。*/ 288 271 if (mtu > IPV6_MAXPACKET) 289 272 mtu = IPV6_MAXPACKET; 290 273 291 274 /* 292 * MTU ãããåå²ä¸è½é¨åï¼TINET-1.4 ã§ã¯ãåå²ããã以å¤ã® 293 * æ¡å¼µãããã®åºåã¯æªå®è£ 294 ã®ãã 0 ãªã¯ãããï¼ 295 * ã¨æçãããã®ãµã¤ãºãå¼ããã¨ãã8 ãªã¯ããã以ä¸ãªããã° 296 * åå²ãã¦éä¿¡ã§ããªãããã¨ã©ã¼ã«ããã 275 * MTU から、分割不能部分(TINET-1.4 では、分割ヘッダ以外の 276 * 拡張ヘッダの出力は未実装のため 0 オクテット) 277 * と断片ヘッダのサイズを引いたとき、8 オクテット以上なければ 278 * 分割して送信できないためエラーにする。 297 279 */ 298 280 if (((mtu - sizeof(T_IP6_FRAG_HDR)) & ~7) < 8) { … … 302 284 303 285 /* 304 * IPv6 ãããã® next ãã£ã¼ã«ãã«è¨å®ããå¤ã¯ãæçãããã 305 * æçãããã® next ãã£ã¼ã«ãã«è¨å®ããå¤ã¯ã 306 * å 307 ã®ãã¼ã¿ã°ã©ã ã® next ãã£ã¼ã«ãã®å¤ã 286 * IPv6 ヘッダの next フィールドに設定する値は、断片ヘッダ。 287 * 断片ヘッダの next フィールドに設定する値は、 288 * 元のデータグラムの next フィールドの値。 308 289 */ 309 290 nextproto = ip6h->next; 310 291 ip6h->next = IPPROTO_FRAGMENT; 311 292 312 /* åå²ãã¦éä¿¡ããã*/293 /* 分割して送信する。*/ 313 294 NET_COUNT_IP6(net_count_ip6[NC_IP6_FRAG_OUT], 1); 314 295 for (foff = 0; foff < plen; foff += flen) { 315 296 316 /* æçã®é·ããè¨ç®ãã8 ãªã¯ãããå¢çã«èª¿æ´ããã*/297 /* 断片の長さを計算し、8 オクテット境界に調整する。*/ 317 298 if (foff + (mtu - (IP6_HDR_SIZE + sizeof(T_IP6_FRAG_HDR))) < plen) 318 299 flen = (mtu - (IP6_HDR_SIZE + sizeof(T_IP6_FRAG_HDR))) >> 3 << 3; … … 320 301 flen = plen - foff; 321 302 322 /* ãããã¯ã¼ã¯ãããã¡ãç²å¾ããã*/303 /* ネットワークバッファを獲得する。*/ 323 304 if (tget_net_buf(&frag, flen + IF_IP6_HDR_SIZE + sizeof(T_IP6_FRAG_HDR), TMO_IP6_FRAG_GET_NET_BUF) == E_OK) { 324 305 325 /* IPv6 ããããã³ãã¼ããã*/306 /* IPv6 ヘッダをコピーする。*/ 326 307 fip6h = GET_IP6_HDR(frag); 327 308 *fip6h = *ip6h; 328 309 329 /* IPv6 ããããåããã*/310 /* IPv6 ヘッダを埋める。*/ 330 311 fip6h->plen = htons(flen + sizeof(T_IP6_FRAG_HDR)); 331 312 332 /* æçããããåããã*/313 /* 断片ヘッダを埋める。*/ 333 314 fip6f = (T_IP6_FRAG_HDR *)GET_IP6_NEXT_HDR(frag); 334 315 fip6f->off_flag = htons((uint16_t)(foff & ~7)); … … 339 320 fip6f->next = nextproto; 340 321 341 /* SDU ãã³ãã¼ããã*/322 /* SDU をコピーする。*/ 342 323 memcpy((uint8_t*)(fip6f + 1), GET_IP6_NEXT_HDR(output) + foff, flen); 343 324 NET_COUNT_IP6(net_count_ip6[NC_IP6_FRAG_OUT_FRAGS], 1); 344 325 NET_COUNT_MIB(in6_ifstat.ipv6IfStatsOutFragCreates, 1); 345 326 346 /* éä¿¡ããã*/327 /* 送信する。*/ 347 328 if ((error = nd6_output(ifp, frag, gw, NULL, tmout)) != E_OK) { 348 329 NET_COUNT_MIB(in6_ifstat.ipv6IfStatsOutFragFails, 1); … … 351 332 } 352 333 else { 353 /* ãããã¯ã¼ã¯ãããã¡ãç²å¾ã§ããªããã°ãéä¿¡ããããããã*/334 /* ネットワークバッファが獲得できなければ、送信をあきらめる。*/ 354 335 error = E_NOMEM; 355 336 goto drop; … … 357 338 } 358 339 359 /* IF ã§ãããã¯ã¼ã¯ãããã¡ãéæ¾ããªããã©ã°ããã§ãã¯ããã*/340 /* IF でネットワークバッファを開放しないフラグをチェックする。*/ 360 341 if ((output->flags & NB_FLG_NOREL_IFOUT) == 0) { 361 342 syscall(rel_net_buf(output)); … … 379 360 380 361 drop: 381 /* IF ã§ãããã¯ã¼ã¯ãããã¡ãéæ¾ããªããã©ã°ããã§ãã¯ããã*/362 /* IF でネットワークバッファを開放しないフラグをチェックする。*/ 382 363 if ((output->flags & NB_FLG_NOREL_IFOUT) == 0) { 383 364 syscall(rel_net_buf(output)); -
asp3_gr_sakura/trunk/tinet/netinet6/ip6_var.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 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 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 115 103 116 104 /* 117 * IPv6 ãããã»ãã¤ãã¼ãã¢ã¯ã»ã¹ãã¯ã105 * IPv6 ヘッダ・ペイロードアクセスマクロ 118 106 */ 119 107 … … 131 119 #define SET_IP6_SDU_SIZE(nbuf,slen) (GET_IP6_HDR(nbuf)->plen=htons(slen)) 132 120 133 /* ip6_output ã®ãã©ã°*/134 135 #define IPV6_OUT_FLG_DAD 0x0100 /* éè¤ã¢ãã¬ã¹æ¤åº*/136 #define IPV6_OUT_FLG_HOP_LIMIT 0x0200 /* ããããªãããæå®*/137 138 /* ããããªããããã©ã°ãä»ãæãããããªãããå¤ãæä½ãããã¯ã*/121 /* ip6_output のフラグ */ 122 123 #define IPV6_OUT_FLG_DAD 0x0100 /* 重複アドレス検出 */ 124 #define IPV6_OUT_FLG_HOP_LIMIT 0x0200 /* ホップリミット指定 */ 125 126 /* ホップリミットフラグが付く時、ホップリミット値を操作するマクロ */ 139 127 140 128 #define IPV6_OUT_GET_HOP_LIMIT(f) ((f)&0x00ff) … … 142 130 143 131 /* 144 * ip6_unknown_opt -- æªç¥ã®ãªãã·ã§ã³ã®å¦ç145 * 146 * æ»ãå¤:147 * 148 * 0 ä»¥ä¸ æ£å¸¸ããªãã·ã§ã³é·ã149 * IP6_OPT_RET_ERR (-1) ã¨ã©ã¼ãå¼åºå´ã§ãããã¯ã¼ã¯ãããã¡ãéæ¾ããã150 * IP6_OPT_RET_REL (-2) ã¨ã©ã¼ããããã¯ã¼ã¯ãããã¡ã¯éæ¾ããã¦ããã132 * ip6_unknown_opt -- 未知のオプションの処理 133 * 134 * 戻り値: 135 * 136 * 0 以上 正常、オプション長。 137 * IP6_OPT_RET_ERR (-1) エラー、呼出側でネットワークバッファを開放する。 138 * IP6_OPT_RET_REL (-2) エラー、ネットワークバッファは開放されている。 151 139 */ 152 140 … … 155 143 156 144 /* 157 * IPv6 ã® MMTU ãµã¤ãºã®ãããã¯ã¼ã¯ãããã¡145 * IPv6 の MMTU サイズのネットワークバッファ 158 146 */ 159 147 … … 161 149 162 150 typedef struct t_net_buf_ipv6_mmtu { 163 uint16_t len; /* ãã¼ã¿ã®é·ã*/164 uint8_t idix; /* mpfid ã®ã¤ã³ããã¯ã¹*/165 uint8_t unit; /* ã¤ã³ã¿ãã§ã¼ã¹çªå·*/151 uint16_t len; /* データの長さ */ 152 uint8_t idix; /* mpfid のインデックス */ 153 uint8_t unit; /* インタフェース番号 */ 166 154 #ifdef IF_ETHER_NIC_NET_BUF_ALIGN 167 155 uint8_t nalign[IF_ETHER_NIC_NET_BUF_ALIGN]; … … 171 159 #endif 172 160 uint8_t buf[IF_HDR_SIZE + IPV6_MMTU]; 173 /* ãããã¡æ¬ä½*/161 /* バッファ本体 */ 174 162 } T_NET_BUF_IPV6_MMTU; 175 163 … … 177 165 178 166 /* 179 * 65536 ãªã¯ããããµã¤ãºã®ãããã¯ã¼ã¯ãããã¡167 * 65536 オクテットサイズのネットワークバッファ 180 168 */ 181 169 182 170 typedef struct t_net_buf6_65536 { 183 uint16_t len; /* ãã¼ã¿ã®é·ã*/184 uint8_t idix; /* mpfid ã®ã¤ã³ããã¯ã¹*/185 uint8_t flags; /* ãã©ã°*/171 uint16_t len; /* データの長さ */ 172 uint8_t idix; /* mpfid のインデックス */ 173 uint8_t flags; /* フラグ */ 186 174 #ifdef IF_ETHER_NIC_NET_BUF_ALIGN 187 175 uint8_t nalign[IF_ETHER_NIC_NET_BUF_ALIGN]; … … 191 179 #endif 192 180 uint8_t buf[IF_IP6_HDR_SIZE + 65536]; 193 /* ãããã¡æ¬ä½*/181 /* バッファ本体 */ 194 182 #if defined(IF_PDU_HDR_PADDING) 195 183 uint8_t padding[IF_PDU_HDR_PADDING]; 196 #endif /* ãããã®ä½å*/184 #endif /* ヘッダの余分 */ 197 185 } T_NET_BUF6_65536; 198 186 … … 200 188 201 189 /* 202 * åæ§æãã¥ã¼ç¨ IPv6 ãããã®å®ç¾©190 * 再構成キュー用 IPv6 ヘッダの定義 203 191 */ 204 192 … … 211 199 uint8_t hlim; /* Hop Limit */ 212 200 T_IN6_ADDR src; /* Source Address */ 213 T_NET_BUF *next_frag; /* 次㮠IPv6 ãã©ã°ã¡ã³ã*/214 uint16_t foff; /* æçãããã®ãªãã»ãã*/215 uint16_t flen; /* æçé·*/216 uint16_t ftim; /* åæ§æã¿ã¤ã ã¢ã¦ã*/201 T_NET_BUF *next_frag; /* 次の IPv6 フラグメント */ 202 uint16_t foff; /* 断片ヘッダのオフセット */ 203 uint16_t flen; /* 断片長 */ 204 uint16_t ftim; /* 再構成タイムアウト */ 217 205 uint16_t dummy1; 218 206 uint8_t dummy2[sizeof(T_IN6_ADDR) - (sizeof(T_NET_BUF*) + sizeof(uint16_t) * 4)]; … … 229 217 230 218 /* 231 * ãã¼ã¿ã°ã©ã åæ§æç¨ãããã¯ã¼ã¯ãããã¡219 * データグラム再構成用ネットワークバッファ 232 220 */ 233 221 234 222 typedef struct t_net_buf6_reassm { 235 uint16_t len; /* ãã¼ã¿ã®é·ã*/236 uint8_t idix; /* mpfid ã®ã¤ã³ããã¯ã¹*/237 uint8_t flags; /* ãã©ã°*/223 uint16_t len; /* データの長さ */ 224 uint8_t idix; /* mpfid のインデックス */ 225 uint8_t flags; /* フラグ */ 238 226 #ifdef IF_ETHER_NIC_NET_BUF_ALIGN 239 227 uint8_t nalign[IF_ETHER_NIC_NET_BUF_ALIGN]; … … 243 231 #endif 244 232 uint8_t buf[IP6_CFG_FRAG_REASSM_SIZE]; 245 /* ãããã¡æ¬ä½*/233 /* バッファ本体 */ 246 234 } T_NET_BUF6_REASSM; 247 235 … … 249 237 250 238 /* 251 * TCP ã®åæ§æãã¥ã¼ã«ããã IPv6 ãããã®å®ç¾©239 * TCP の再構成キューにおける IPv6 ヘッダの定義 252 240 */ 253 241 … … 256 244 uint8_t cf; /* Traffic Class: 8 bit */ 257 245 /* Flow Label: 4 bit (20 bit) */ 258 uint16_t thoff; /* TCP ãããã®ãªãã»ãã*/246 uint16_t thoff; /* TCP ヘッダのオフセット */ 259 247 uint16_t plen; /* Payload Length */ 260 248 uint8_t next; /* Next Header */ … … 267 255 268 256 /* 269 * SNMP 㮠管çæ 270 å ±ãã¼ã¹ (MIB) 257 * SNMP の 管理情報ベース (MIB) 271 258 */ 272 259 … … 299 286 300 287 /* 301 * å¤æ°288 * 変数 302 289 */ 303 290 … … 305 292 306 293 /* 307 * é¢æ°294 * 関数 308 295 */ 309 296 -
asp3_gr_sakura/trunk/tinet/netinet6/ipsec.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 7 7 * Copyright (C) 2008-2009 by Hokkaido Industrial Research Institute, JAPAN 8 8 * 9 * ä¸è¨èä½æ¨©è 10 ã¯ï¼ä»¥ä¸ã® (1)ï½(4) ã®æ¡ä»¶ãï¼Free Software Foundation 11 * ã«ãã£ã¦å 12 ¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨ 13 * è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢ 14 * ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹å¤ã»åé 15 å¸ï¼ä»¥ä¸ï¼ 16 * å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 17 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 18 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 19 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 20 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 21 * ç¨ã§ããå½¢ã§åé 22 å¸ããå ´åã«ã¯ï¼åé 23 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 24 * è 25 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 26 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 27 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 28 * ç¨ã§ããªãå½¢ã§åé 29 å¸ããå ´åã«ã¯ï¼æ¬¡ã®æ¡ä»¶ãæºãããã¨ï¼ 30 * (a) åé 31 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 32 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 33 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 34 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 35 * 害ãããï¼ä¸è¨èä½æ¨©è 36 ããã³TOPPERSããã¸ã§ã¯ããå 37 責ãããã¨ï¼ 9 * 上記著作権者は,以下の (1)~(4) の条件か,Free Software Foundation 10 * によって公表されている GNU General Public License の Version 2 に記 11 * 述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア 12 * を改変したものを含む.以下同じ)を使用・複製・改変・再配布(以下, 13 * 利用と呼ぶ)することを無償で許諾する. 14 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 15 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 16 * スコード中に含まれていること. 17 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 18 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 19 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 20 * の無保証規定を掲載すること. 21 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 22 * 用できない形で再配布する場合には,次の条件を満たすこと. 23 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 24 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 38 27 * 39 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 40 ã 41 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 42 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 43 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 28 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 29 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 30 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 31 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 44 32 * 45 33 * @(#) $Id$ … … 47 35 48 36 /* 49 * IPsec ã§ä½¿ç¨ããã«ã¼ãã«ãªãã¸ã§ã¯ã37 * IPsec で使用するカーネルオブジェクト 50 38 */ 51 39 -
asp3_gr_sakura/trunk/tinet/netinet6/nd6.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 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 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 132 120 133 121 /* 134 * è¿é£ãã£ãã·ã¥122 * 近隣キャッシュ 135 123 */ 136 124 … … 138 126 139 127 /* 140 * nd6_free -- ã«ã¼ã¿ãåé¤ããã128 * nd6_free -- ルータを削除する。 141 129 */ 142 130 … … 150 138 ln->state = ND6_LLINFO_INCOMPLETE; 151 139 152 /* ãã¬ãã£ãã¯ã¹ã»ãªã¹ãããã«ã¼ã¿ãåé¤ããã*/140 /* プレフィックス・リストからルータを削除する。*/ 153 141 nd6_defrtrlist_del(dr); 154 142 } … … 156 144 157 145 /* 158 * nd6_timer -- è¿é£æ¢ç´¢ç®¡çã¿ã¤ãã¼146 * nd6_timer -- 近隣探索管理タイマー 159 147 */ 160 148 … … 167 155 int_t ix; 168 156 169 /* è¿é£ãã£ãã·ã¥ã®å¦ç*/157 /* 近隣キャッシュの処理 */ 170 158 syscall(wai_sem(SEM_ND6_CACHE)); 171 159 syscall(get_tim(&now)); … … 177 165 switch (ln->state) { 178 166 179 case ND6_LLINFO_INCOMPLETE: /* æªè§£æ±º*/167 case ND6_LLINFO_INCOMPLETE: /* 未解決 */ 180 168 if (ln->asked < ND6_MAX_MCAST_QUERY) { 181 169 /* 182 * ãã«ããã£ã¹ãã¢ãã¬ã¹è¦è«ã®åéåæ°ä»¥ä¸ã®å ´åã®å¦ç170 * マルチキャストアドレス要請の再送回数以下の場合の処理 183 171 */ 184 172 ln->asked ++; 185 ln->expire = now + ND6_RETRANS_TIME; /* è¿é£æ¢ç´¢éä¿¡éé*/173 ln->expire = now + ND6_RETRANS_TIME; /* 近隣探索送信間隔 */ 186 174 nd6_ns_output(ifp, &in6_addr_unspecified, &ln->addr, ln, false); 187 175 } … … 189 177 if (ln->hold != NULL) { 190 178 /* 191 * æçµçã«ã¯ãä¿çããã¦ãããããã¯ã¼ã¯ãããã¡ã 192 * ããã°ãICMP6 ERROR ãèªåèªèº«ã«è¿ãããã¨ã 193 * ãããã¯ã¼ã¯ãããã¡ãéæ¾ããã 194 * ããããç¾å¨ãicmp6_error ã®å®è£ 195 ãä¸å®å 196 ¨ã®ããã 197 * ãããã¯ã¼ã¯ãããã¡ã®éæ¾ã®ã¿è¡ãã 179 * 最終的には、保留されているネットワークバッファが 180 * あれば、ICMP6 ERROR を自分自身に返したあと、 181 * ネットワークバッファを開放する。 182 * しかし、現在、icmp6_error の実装が不完全のため、 183 * ネットワークバッファの開放のみ行う。 198 184 */ 199 #if 0 /* ä¿ç*/185 #if 0 /* 保留 */ 200 186 icmp6_error(ln->hold, ICMP6_DST_UNREACH, 201 187 ICMP6_DST_UNREACH_ADDR, 0); … … 209 195 break; 210 196 211 case ND6_LLINFO_REACHABLE: /* å°éå¯è½*/197 case ND6_LLINFO_REACHABLE: /* 到達可能 */ 212 198 if (ln->expire) { 213 199 ln->expire = now + ND6_GCOLLECTION_TIME; … … 216 202 break; 217 203 218 case ND6_LLINFO_STALE: /* å°éå¯è½æ§ã¯æªç¢ºèª*/204 case ND6_LLINFO_STALE: /* 到達可能性は未確認 */ 219 205 if (ln->expire) { 220 206 if (ln->hold != NULL) { … … 227 213 break; 228 214 229 case ND6_LLINFO_DELAY: /* å°éå¯è½æ§ã®ç¢ºèªå¾ 230 æ© */ 215 case ND6_LLINFO_DELAY: /* 到達可能性の確認待機 */ 231 216 ln->asked = 1; 232 ln->expire = now + ND6_RETRANS_TIME; /* è¿é£æ¢ç´¢éä¿¡éé*/217 ln->expire = now + ND6_RETRANS_TIME; /* 近隣探索送信間隔 */ 233 218 ln->state = ND6_LLINFO_PROBE; 234 219 nd6_ns_output(ifp, &ln->addr, &ln->addr, ln, false); 235 220 break; 236 221 237 case ND6_LLINFO_PROBE: /* å°éå¯è½æ§ã確èªä¸*/222 case ND6_LLINFO_PROBE: /* 到達可能性を確認中 */ 238 223 if (ln->asked < ND6_MAX_UCAST_QUERY) { 239 224 /* 240 * ã¦ããã£ã¹ãã¢ãã¬ã¹è¦è«ã®åéåæ°ä»¥ä¸ã®å ´åã®å¦ç225 * ユニキャストアドレス要請の再送回数以下の場合の処理 241 226 */ 242 227 ln->asked ++; 243 ln->expire += ND6_RETRANS_TIME; /* è¿é£æ¢ç´¢éä¿¡éé*/228 ln->expire += ND6_RETRANS_TIME; /* 近隣探索送信間隔 */ 244 229 nd6_ns_output(ifp, &ln->addr, &ln->addr, ln, false); 245 230 } … … 259 244 syscall(sig_sem(SEM_ND6_CACHE)); 260 245 261 /* ãã£ãã©ã«ãã«ã¼ã¿ã»ãªã¹ãã®å¦ç*/246 /* ディフォルトルータ・リストの処理 */ 262 247 nd6_defrtrlist_timer(); 263 248 264 /* ãã¬ãã£ãã¯ã¹ã»ãªã¹ãã®å¦ç*/249 /* プレフィックス・リストの処理 */ 265 250 nd6_prelist_timer(); 266 251 267 /* ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã®ã¢ãã¬ã¹ã®å¦ç*/252 /* ネットワークインタフェースのアドレスの処理 */ 268 253 in6_ifaddr_timer(ifp); 269 254 270 255 /* 271 * å°éå¯è½ç¶æ 272 ã®æå¹æéã®æ´æ° 256 * 到達可能状態の有効時間の更新 273 257 */ 274 258 if ((int32_t)(nd6_recalc_reachtm_interval - now) < 0) { … … 281 265 282 266 /* 283 * nd6_get_cache -- è¿é£ãã£ãã·ã¥ãç²å¾ããã267 * nd6_get_cache -- 近隣キャッシュを獲得する。 284 268 */ 285 269 … … 291 275 292 276 /* 293 * nd6_ifattach -- è¿é£æ¢ç´¢ã®åæè¨å®ãè¡ãã277 * nd6_ifattach -- 近隣探索の初期設定を行う。 294 278 */ 295 279 … … 300 284 301 285 /* 302 * nd6_output_hold -- è¿é£æ¢ç´¢ãã£ãã·ã¥ã«ä¿çããã¦ãã 303 * ã¢ãã¬ã¹è§£æ±ºå¾ 304 ã¡ã®ãã¼ã¿ã°ã©ã ãããã°éä¿¡ããã 305 * 306 * 注æ: ã»ããã© SEM_ND6_CACHE ã«ããããã¯ç¶æ 307 ã§å¼åºããã¨ã 286 * nd6_output_hold -- 近隣探索キャッシュに保留されている 287 * アドレス解決待ちのデータグラムがあれば送信する。 288 * 289 * 注意: セマフォ SEM_ND6_CACHE によりロック状態で呼出すこと。 308 290 */ 309 291 … … 313 295 SYSTIM now; 314 296 315 /* ã¢ãã¬ã¹è§£æ±ºå¾ 316 ã¡ã®ãã¼ã¿ã°ã©ã ãããã°éä¿¡ããã*/ 297 /* アドレス解決待ちのデータグラムがあれば送信する。*/ 317 298 if (ln->hold) { 318 299 319 /* ã¿ã¤ã ã¢ã¦ãã®å¦ç*/300 /* タイムアウトの処理 */ 320 301 if (ln->tmout != TMO_FEVR) { 321 302 322 303 /* 323 * ã¿ã¤ã ã¢ã¦ãã®æå®ãæ°¸ä¹ 324 ã§ãªããæéãéãã¦ããã°ã 325 * åºåããªãã§çµäºããã 304 * タイムアウトの指定が永久でなく、時間を過ぎていれば、 305 * 出力しないで終了する。 326 306 */ 327 307 syscall(get_tim(&now)); … … 341 321 342 322 /* 343 * nd6_lookup -- è¿é£æ¢ç´¢ãã£ãã·ã¥ãæ¢ç´¢ããã 344 * 345 * 注æ: ã»ããã© SEM_ND6_CACHE ã«ããããã¯ç¶æ 346 ã§å¼åºããã¨ã 323 * nd6_lookup -- 近隣探索キャッシュを探索する。 324 * 325 * 注意: セマフォ SEM_ND6_CACHE によりロック状態で呼出すこと。 347 326 * 348 327 */ … … 356 335 for (ix = NUM_ND6_CACHE_ENTRY; ix -- > 0; ) { 357 336 if (nd6_cache[ix].state == 0) { 358 /* æªä½¿ç¨ã¨ã³ããªã®ã¤ã³ããã¯ã¹ãè¨é²ããã*/337 /* 未使用エントリのインデックスを記録する。*/ 359 338 if (fix == -1) 360 339 fix = ix; … … 364 343 } 365 344 else if ((int32_t)(nd6_cache[ix].expire - min) < 0) { /* nd6_cache[ix].expire < min */ 366 /* æå¹æéãæçã¨ã³ããªã®ã¤ã³ããã¯ã¹ãè¨é²ããã*/345 /* 有効期限が最短エントリのインデックスを記録する。*/ 367 346 min = nd6_cache[ix].expire; 368 347 mix = ix; … … 387 366 388 367 /* 389 * nd6_cache_lladdr -- è¿é£æ¢ç´¢ãã£ãã·ã¥ã«ç»é²ããã368 * nd6_cache_lladdr -- 近隣探索キャッシュに登録する。 390 369 */ 391 370 … … 399 378 int_t newstate = ND6_LLINFO_INCOMPLETE; 400 379 401 /* ã¢ãã¬ã¹ãç¡æå®ãªãä½ãããªãã*/380 /* アドレスが無指定なら何もしない。*/ 402 381 if (IN6_IS_ADDR_UNSPECIFIED(from)) 403 382 return NULL; 404 383 405 /* è¿é£ãã£ãã·ã¥ã«ç»é²ããã*/384 /* 近隣キャッシュに登録する。*/ 406 385 syscall(wai_sem(SEM_ND6_CACHE)); 407 386 if ((ln = nd6_lookup(from, false)) == NULL) { … … 421 400 422 401 /* 423 * ç¶æ 424 é·ç§»è¡¨ 402 * 状態遷移表 425 403 * 426 404 * nd_na_flags 427 * newnetry olladdr lladdr llchange å¦ç (L: lladdr ãç»é²ãã)405 * newnetry olladdr lladdr llchange 処理 (L: lladdr を登録する) 428 406 * 429 407 * F F N - (1) … … 436 414 */ 437 415 438 /* ãã¼ã¿ãªã³ã¯å±¤ã®ã¢ãã¬ã¹ãéç¥ããã¦ããã°æ´æ°ããã*/416 /* データリンク層のアドレスが通知されていれば更新する。*/ 439 417 if (lladdr != NULL) { 440 418 ln->ifaddr = *(T_IF_ADDR *)lladdr; … … 458 436 } 459 437 460 /* è¿é£ãã£ãã·ã¥ã¨ã³ããªãæ´æ°ããã*/438 /* 近隣キャッシュエントリを更新する。*/ 461 439 if (doupdate) { 462 440 ln->state = newstate; … … 466 444 ln->expire = now + ND6_GCOLLECTION_TIME; 467 445 468 /* ã¢ãã¬ã¹è§£æ±ºå¾ 469 ã¡ã®ãã¼ã¿ã°ã©ã ãããã°éä¿¡ããã*/ 446 /* アドレス解決待ちのデータグラムがあれば送信する。*/ 470 447 nd6_output_hold(ifp, ln); 471 448 } … … 476 453 477 454 478 /* ã«ã¼ã¿éç¥ã®å¦ç*/455 /* ルータ通知の処理 */ 479 456 switch (type) { 480 457 … … 506 483 507 484 /* 508 * nd6_is_addr_neighbor -- æå®ãããã¢ãã¬ã¹ã®ãã¼ããåä¸ãªã³ã¯ã«ããããã§ãã¯ããã485 * nd6_is_addr_neighbor -- 指定されたアドレスのノードが同一リンクにあるかチェックする。 509 486 */ 510 487 … … 525 502 526 503 /* 527 * nd6_output -- è¿é£æ¢ç´¢ã®åºåé¢æ° 528 * 529 * 注æ: ã»ããã© SEM_ND6_CACHE ã«ããããã¯ç¶æ 530 ã§å¼åºããã¨ã 504 * nd6_output -- 近隣探索の出力関数 505 * 506 * 注意: セマフォ SEM_ND6_CACHE によりロック状態で呼出すこと。 531 507 */ 532 508 … … 538 514 539 515 /* 540 * ãã¦å 541 ã¢ãã¬ã¹ããã«ããã£ã¹ãããè¿é£ãã£ãã·ã¥ã 542 * ä¸è¦ã®å ´åã¯ç´ã¡ã«éä¿¡ããã 516 * あて先アドレスがマルチキャストか、近隣キャッシュが 517 * 不要の場合は直ちに送信する。 543 518 */ 544 519 if (!(IN6_IS_ADDR_MULTICAST(dst) || !IF_IN6_NEED_CACHE(ifp))) { 545 520 if (ln == NULL) { 546 /* è¿é£ãã£ãã·ã¥ãæªå®ç¾©ã®å ´å*/521 /* 近隣キャッシュが未定義の場合 */ 547 522 if (nd6_is_addr_neighbor(ifp, dst)) { 548 523 /* 549 * æå®ãããã¢ãã¬ã¹ã®ãã¼ããåä¸ãªã³ã¯ã«ããæã¯ã550 * è¿é£ãã£ãã·ã¥ãæ¢ç´¢ããæªå®ç¾©ã®å ´åã¯ç»é²ããã524 * 指定されたアドレスのノードが同一リンクにある時は、 525 * 近隣キャッシュを探索し、未定義の場合は登録する。 551 526 */ 552 527 ln = nd6_lookup(dst, true); … … 559 534 560 535 /* 561 * è¿é£ãã£ãã·ã¥ã®ç¶æ 562 ãããã¼ã¿ãªã³ã¯å±¤ã®ã¢ãã¬ã¹ãåãã£ã¦ãã¦ãã 563 * å°éå¯è½æ§ã確èªããã¦ããªãã¨ãã¯ãå°éä¸è½éç¥ãéå§ããã 536 * 近隣キャッシュの状態が、データリンク層のアドレスが分かっていても、 537 * 到達可能性が確認されていないときは、到達不能通知を開始する。 564 538 */ 565 539 if (ln->state == ND6_LLINFO_STALE) { … … 571 545 572 546 /* 573 * è¿é£ãã£ãã·ã¥ã®ç¶æ 574 ãããã¼ã¿ãªã³ã¯å±¤ã®ã¢ãã¬ã¹æªè§£æ±ºã®å ´å㯠575 * è¿é£æ¢ç´¢ãè¡ãã 547 * 近隣キャッシュの状態が、データリンク層のアドレス未解決の場合は 548 * 近隣探索を行う。 576 549 */ 577 550 if (ln->state <= ND6_LLINFO_INCOMPLETE) { 578 551 579 /* ã¿ã¤ã ã¢ã¦ãã®æå®ããã¼ãªã³ã°ãªãã¿ã¤ã ã¢ã¦ãã§çµäºããã*/552 /* タイムアウトの指定がポーリングならタイムアウトで終了する。*/ 580 553 if (tmout == TMO_POL) { 581 554 error = E_TMOUT; … … 586 559 ln->state = ND6_LLINFO_INCOMPLETE; 587 560 588 /* ãã§ã«ãæªè§£æ±ºã®ãããã¯ã¼ã¯ãããã¡ãããã°ãéæ¾ããã*/561 /* すでに、未解決のネットワークバッファがあれば、開放する。*/ 589 562 if (ln->hold != NULL) { 590 563 syscall(rel_net_buf(ln->hold)); … … 592 565 593 566 /* 594 * éä¿¡ããã³ãã£ã³ã°ããã595 * IF ã§ãããã¯ã¼ã¯ãããã¡ãéæ¾ããªããã©ã°ãè¨å®ããã¦ããã¨ãã¯ã596 * éä¿¡ããã³ãã£ã³ã°ããªãã567 * 送信をペンディングする。 568 * IF でネットワークバッファを開放しないフラグが設定されているときは、 569 * 送信をペンディングしない。 597 570 */ 598 571 if ((output->flags & NB_FLG_NOREL_IFOUT) == 0) { 599 572 ln->hold = output; 600 573 601 /* ã¿ã¤ã ã¢ã¦ãã®è¨å®*/574 /* タイムアウトの設定 */ 602 575 if (tmout == TMO_FEVR) 603 576 ln->tmout = tmout; … … 618 591 if ((int32_t)(ln->expire - now) < 0) { 619 592 /* ln->expire < now */ 620 ln->expire += ND6_RETRANS_TIME; /* è¿é£æ¢ç´¢éä¿¡éé*/593 ln->expire += ND6_RETRANS_TIME; /* 近隣探索送信間隔 */ 621 594 ln->asked ++; 622 595 nd6_ns_output(ifp, &in6_addr_unspecified, dst, ln, false); … … 629 602 630 603 /* 631 * éè¤ãæ¤åºãããã¤ã³ã¿ãã§ã¼ã¹ã«ã¯åºåããªãã604 * 重複が検出されたインタフェースには出力しない。 632 605 */ 633 606 if ((ifp->flags & ND6_IFF_IFDISABLED) != 0) { … … 645 618 646 619 /* 647 * nd6_storelladdr -- åºåãããããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã®ã¢ãã¬ã¹ãè¿ãã620 * nd6_storelladdr -- 出力するネットワークインタフェースのアドレスを返す。 648 621 */ 649 622 … … 662 635 663 636 /* 664 * nd6_option -- è¿é£æ¢ç´¢ãªãã·ã§ã³ã®å¦ç 665 * 666 * 注æ: ãªãã·ã§ã³ãªãã»ããé 667 åã«ã¯ããªãã»ãã + 8 ãè¨å®ããã¦ããã 637 * nd6_option -- 近隣探索オプションの処理 638 * 639 * 注意: オプションオフセット配列には、オフセット + 8 が設定されている。 668 640 */ 669 641 … … 673 645 T_ND_OPT_HDR *opth; 674 646 ER error = E_OK; 675 int_t pi_count = 0; /* ãã¬ãã£ãã¯ã¹æ 676 å ±ã®åæ° */ 647 int_t pi_count = 0; /* プレフィックス情報の個数 */ 677 648 678 649 opth = (T_ND_OPT_HDR *)nh; … … 681 652 while (error == E_OK && ((uint8_t *)opth - (uint8_t *)nh) < (256 - 8) && len > 0) { 682 653 683 /* ãªãã·ã§ã³é·ã 0 ã®æã¯ãä¸æ£ãªãªãã·ã§ã³ã¨ãã¦å¦çããã*/654 /* オプション長が 0 の時は、不正なオプションとして処理する。*/ 684 655 if (opth->len == 0) { 685 656 error = E_PAR; … … 687 658 } 688 659 689 /* ãªãã·ã§ã³ã®ã¿ã¤ãã«ããåå²ããã*/660 /* オプションのタイプにより分岐する。*/ 690 661 switch (opth->type) { 691 case ND_OPT_SOURCE_LINKADDR: /* éä¿¡å 692 ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã®ã¢ãã¬ã¹ */ 693 case ND_OPT_TARGET_LINKADDR: /* 対象ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã®ã¢ãã¬ã¹ */ 694 case ND_OPT_REDIRECTED_HEADER: /* ãªãã¤ã¬ã¯ãã»ããã */ 662 case ND_OPT_SOURCE_LINKADDR: /* 送信先ネットワークインタフェースのアドレス */ 663 case ND_OPT_TARGET_LINKADDR: /* 対象ネットワークインタフェースのアドレス */ 664 case ND_OPT_REDIRECTED_HEADER: /* リダイレクト・ヘッダ */ 695 665 case ND_OPT_MTU: /* MTU */ 696 666 if (opt[ND_OPT_OFF_ARRAY_IX(opth->type)]) { 697 /* ãã¬ãã£ãã¯ã¹æ 698 å ±ä»¥å¤ã®åããªãã·ã§ã³ãè¤æ°æå®ããã¦ããã*/ 667 /* プレフィックス情報以外の同じオプションが複数指定されている。*/ 699 668 error = E_PAR; 700 669 } … … 703 672 } 704 673 break; 705 case ND_OPT_PREFIX_INFORMATION: /* ãã¬ãã£ãã¯ã¹æ 706 å ± */ 674 case ND_OPT_PREFIX_INFORMATION: /* プレフィックス情報 */ 707 675 if (!opt[ND_OPT_OFF_ARRAY_IX(ND_OPT_PREFIX_INFORMATION)]) { 708 676 /* 709 * ãã¬ãã£ãã¯ã¹æ 710 å ±ã¯æåã«ç¾ãããªãã»ããã®ã¿è¨é²ããã 677 * プレフィックス情報は最初に現れたオフセットのみ記録する。 711 678 */ 712 679 opt[ND_OPT_OFF_ARRAY_IX(opth->type)] = (uint8_t *)opth - (uint8_t *)nh + 8; … … 716 683 default: 717 684 /* 718 * å°æ¥å®ç¾©ããããããã³ã«ã¸ã®æ¡å¼µã«å¯¾å¿ããããã719 * èªèã§ããªããªãã·ã§ã³ã¯åã«ç¡è¦ããå¦çãç¶è¡ããã685 * 将来定義されるプロトコルへの拡張に対応するため、 686 * 認識できないオプションは単に無視し、処理を続行する。 720 687 */ 721 688 break; 722 689 } 723 len -= opth->len << 3; /* ãªãã·ã§ã³é·ã®åä½ã¯ 8 ãã¤ã*/690 len -= opth->len << 3; /* オプション長の単位は 8 バイト */ 724 691 opth = (T_ND_OPT_HDR *)((uint8_t *)opth + (opth->len << 3)); 725 692 } -
asp3_gr_sakura/trunk/tinet/netinet6/nd6.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 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 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 80 68 81 69 /* 82 * ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹æ§é ä½ï¼T_IFNETï¼ã®ãã©ã°83 */ 84 85 #define ND6_IFF_IFDISABLED UINT_C(0x01) /* ã¤ã³ã¿ãã§ã¼ã¹ãç¡å¹ã«ããã*/86 87 /* 88 * è¿é£ãã£ãã·ã¥70 * ネットワークインタフェース構造体(T_IFNET)のフラグ 71 */ 72 73 #define ND6_IFF_IFDISABLED UINT_C(0x01) /* インタフェースを無効にする。*/ 74 75 /* 76 * 近隣キャッシュ 89 77 */ 90 78 … … 93 81 T_NET_BUF *hold; 94 82 TMO tmout; 95 SYSTIM expire; /* [ms] æå¹æéãåããæå»*/83 SYSTIM expire; /* [ms] 有効時間が切れる時刻 */ 96 84 T_IF_ADDR ifaddr; 97 85 uint8_t state; … … 100 88 } T_LLINFO_ND6; 101 89 102 /* è¿é£ãã£ãã·ã¥ã®ç¶æ 103 */ 104 105 #define ND6_LLINFO_FREE 0 /* æªä½¿ç¨ */ 106 #define ND6_LLINFO_NO_STATE 1 /* ç¶æ 107 æªå®ç¾© */ 108 #define ND6_LLINFO_INCOMPLETE 2 /* æªè§£æ±º */ 109 #define ND6_LLINFO_REACHABLE 3 /* å°éå¯è½ */ 110 #define ND6_LLINFO_STALE 4 /* å°éå¯è½æ§ã¯æªç¢ºèª */ 111 #define ND6_LLINFO_DELAY 5 /* å°éå¯è½æ§ã®ç¢ºèªå¾ 112 æ© */ 113 #define ND6_LLINFO_PROBE 6 /* å°éå¯è½æ§ã確èªä¸ */ 90 /* 近隣キャッシュの状態 */ 91 92 #define ND6_LLINFO_FREE 0 /* 未使用 */ 93 #define ND6_LLINFO_NO_STATE 1 /* 状態未定義 */ 94 #define ND6_LLINFO_INCOMPLETE 2 /* 未解決 */ 95 #define ND6_LLINFO_REACHABLE 3 /* 到達可能 */ 96 #define ND6_LLINFO_STALE 4 /* 到達可能性は未確認 */ 97 #define ND6_LLINFO_DELAY 5 /* 到達可能性の確認待機 */ 98 #define ND6_LLINFO_PROBE 6 /* 到達可能性を確認中 */ 114 99 115 100 #define ND6_IS_LLINFO_PROBREACH(n) ((n)->state > ND6_LLINFO_INCOMPLETE) 116 101 117 /* è¿é£ãã£ãã·ã¥ã®å¶å¾¡ããã */ 118 119 #define ND6_LLIF_ROUTER UINT_C(0x80) /* ã«ã¼ã¿ */ 120 #define ND6_LLIF_ASKED UINT_C(0x40) /* éç¥æ¸ã¿ */ 121 #define ND6_LLIF_STATE_MASK UINT_C(0x07) /* ç¶æ 122 ãã¹ã¯ */ 123 124 /* è¿é£æ¢ç´¢ãã£ãã·ã¥ãæå¹æéã®å®ç¾© */ 102 /* 近隣キャッシュの制御ビット */ 103 104 #define ND6_LLIF_ROUTER UINT_C(0x80) /* ルータ */ 105 #define ND6_LLIF_ASKED UINT_C(0x40) /* 通知済み */ 106 #define ND6_LLIF_STATE_MASK UINT_C(0x07) /* 状態マスク */ 107 108 /* 近隣探索キャッシュ、有効時間の定義 */ 125 109 126 110 #define ND6_SLOW_TMO ((60*60)/NET_TIMER_HZ) 127 /* 1 [ æé] */128 /* è¿é£æ¢ç´¢ãã£ãã·ã¥æ´æ°ã¿ã¤ã ã¢ã¦ã*/129 130 #define ND6_MAX_DAD_TRY 15 /* éè¤ã¢ãã¬ã¹æ¤åºã®åéåæ°*/131 #define ND6_MAX_MCAST_QUERY 3 /* ãã«ããã£ã¹ãã¢ãã¬ã¹è¦è«ã®åéåæ°*/132 #define ND6_MAX_UCAST_QUERY 3 /* ã¦ããã£ã¹ãã¢ãã¬ã¹è¦è«ã®åéåæ°*/111 /* 1 [時間] */ 112 /* 近隣探索キャッシュ更新タイムアウト */ 113 114 #define ND6_MAX_DAD_TRY 15 /* 重複アドレス検出の再送回数 */ 115 #define ND6_MAX_MCAST_QUERY 3 /* マルチキャストアドレス要請の再送回数 */ 116 #define ND6_MAX_UCAST_QUERY 3 /* ユニキャストアドレス要請の再送回数 */ 133 117 134 118 #define ND6_GCOLLECTION_TIME (60*60*24*SYSTIM_HZ) 135 /* ã´ãæ¾ãå¨æã1 æ¥ */ 136 #define ND6_DELAY_TIME (5*SYSTIM_HZ) /* 確èªå¾ 137 æ©é 138 延 */ 139 #define ND6_FIRST_DAD_DELAY_TIME (1*SYSTIM_HZ) /* æåã®éè¤ã¢ãã¬ã¹æ¤åºéä¿¡é 140 延 */ 119 /* ゴミ拾い周期、1 日 */ 120 #define ND6_DELAY_TIME (5*SYSTIM_HZ) /* 確認待機遅延 */ 121 #define ND6_FIRST_DAD_DELAY_TIME (1*SYSTIM_HZ) /* 最初の重複アドレス検出送信遅延 */ 141 122 #define ND6_DAD_DELAY_TIME (5*SYSTIM_HZ/10) 142 /* éè¤ã¢ãã¬ã¹æ¤åºéä¿¡é 143 延 */ 144 145 /* è¿é£æ¢ç´¢ç¨ã¿ã¤ãã®è¨å® */ 146 147 #define ND6_TIMER_TMO ((SYSTIM_HZ/NET_TIMER_CYCLE)/5) /* 0.2[s] éé */ 148 149 /* 150 * å°éå¯è½ç¶æ 151 ã®æå¹æé 152 */ 153 154 #define ND6_DEF_REACHABLE_TIME (30*SYSTIM_HZ) /* å°éå¯è½ç¶æ 155 ã®æå¹æéã®æ¢å®å¤ */ 123 /* 重複アドレス検出送信遅延 */ 124 125 /* 近隣探索用タイマの設定 */ 126 127 #define ND6_TIMER_TMO ((SYSTIM_HZ/NET_TIMER_CYCLE)/5) /* 0.2[s] 間隔 */ 128 129 /* 130 * 到達可能状態の有効時間 131 */ 132 133 #define ND6_DEF_REACHABLE_TIME (30*SYSTIM_HZ) /* 到達可能状態の有効時間の既定値 */ 156 134 #define ND6_MAX_REACHABLE_TIME (60*60*SYSTIM_HZ) 157 /* å°éå¯è½ç¶æ 158 ã®æå¹æéã®æ¢å®å¤ */ 135 /* 到達可能状態の有効時間の既定値 */ 159 136 #define ND6_RECALC_REACHTM_INTERVAL (60*60*2*SYSTIM_HZ) 160 /* å°éå¯è½ç¶æ 161 ã®æå¹æéåè¨ç®éé */ 162 163 #define ND6_MIN_REACHTM_RAND_FACTOR 512 /* æå°ä¹±æ°è£æ£å¤ã1,024 * 0.5 */ 164 165 #if 1 /* ã¿ã¤ãã¼ã®èµ·åééãèæ 166 ®ããè¦å®ããçãè¨å® */ 167 #define ND6_MAX_REACHTM_RAND_FACTOR 1484 /* æå°ä¹±æ°è£æ£å¤ã1,024 * 1.45 */ 137 /* 到達可能状態の有効時間再計算間隔 */ 138 139 #define ND6_MIN_REACHTM_RAND_FACTOR 512 /* 最小乱数補正値、1,024 * 0.5 */ 140 141 #if 1 /* タイマーの起動間隔を考慮し、規定より短く設定 */ 142 #define ND6_MAX_REACHTM_RAND_FACTOR 1484 /* 最小乱数補正値、1,024 * 1.45 */ 168 143 #else 169 #define ND6_MAX_REACHTM_RAND_FACTOR 1536 /* æå°ä¹±æ°è£æ£å¤ã1,024 * 1.5 */144 #define ND6_MAX_REACHTM_RAND_FACTOR 1536 /* 最小乱数補正値、1,024 * 1.5 */ 170 145 #endif 171 146 172 /* å°éå¯è½ç¶æ 173 ã®æå¹æéã®è¨ç®ãã¯ã */ 147 /* 到達可能状態の有効時間の計算マクロ */ 174 148 175 149 #define ND6_CALC_REACH_TIME(b) \ … … 178 152 179 153 /* 180 * è¿é£æ¢ç´¢ã®éä¿¡éé154 * 近隣探索の送信間隔 181 155 */ 182 156 … … 184 158 185 159 /* 186 * ã«ã¼ã¿éç¥ã«ããå¤æ´ããããã¨ãããå¤160 * ルータ通知により変更されることがある値 187 161 */ 188 162 189 163 #if NUM_ND6_DEF_RTR_ENTRY > 0 190 164 191 /* ã«ã¼ã¿éç¥ãåä¿¡ããå ´åã¯ãéç¥ãããå¤*/165 /* ルータ通知を受信する場合は、通知された値 */ 192 166 193 167 #define ND6_REACHABLE_TIME nd6_reachable_time … … 196 170 #else /* #if NUM_ND6_DEF_RTR_ENTRY > 0 */ 197 171 198 /* ã«ã¼ã¿éç¥ãåä¿¡ããªãå ´åã®å¤ã¯æ¢å®å¤*/172 /* ルータ通知を受信しない場合の値は既定値 */ 199 173 200 174 #define ND6_REACHABLE_TIME ND6_DEF_REACHABLE_TIME … … 204 178 205 179 /* 206 * ãã£ãã©ã«ãã«ã¼ã¿ã»ãªã¹ã180 * ディフォルトルータ・リスト 207 181 */ 208 182 209 183 typedef struct t_def_router { 210 184 T_IN6_ADDR addr; 211 SYSTIM expire; /* [ms] æå¹æéãåããæå»*/212 uint32_t lifetime; /* [ms] æå¹æé*/213 uint16_t plistmap; /* ãã¬ãã£ãã¯ã¹ããã*/214 uint8_t flags; /* ã«ã¼ã¿éç¥ã®ãã©ã°*/185 SYSTIM expire; /* [ms] 有効時間が切れる時刻 */ 186 uint32_t lifetime; /* [ms] 有効時間 */ 187 uint16_t plistmap; /* プレフィックスマップ */ 188 uint8_t flags; /* ルータ通知のフラグ */ 215 189 uint8_t state; 216 190 } T_DEF_ROUTER; 217 191 218 /* ãã£ãã©ã«ãã«ã¼ã¿ã»ãªã¹ãã®ç¶æ 219 */ 220 221 #define ND6_DEF_RTR_BUSY 0xff /* 使ç¨ä¸ */ 222 223 /* ãã¬ãã£ãã¯ã¹ã®ã¤ã³ããã¯ã¹ */ 192 /* ディフォルトルータ・リストの状態 */ 193 194 #define ND6_DEF_RTR_BUSY 0xff /* 使用中 */ 195 196 /* プレフィックスのインデックス */ 224 197 225 198 #define ND6_PREFIX_IX_INVALID 0xff 226 199 227 200 /* 228 * ãã¬ãã£ãã¯ã¹ã»ãªã¹ã201 * プレフィックス・リスト 229 202 */ 230 203 231 204 typedef struct t_nd6_prefix { 232 T_IN6_ADDR prefix; /* ãã¬ãã£ãã¯ã¹*/233 uint32_t expire; /* [s] æå¹æéãåããæå»*/234 uint32_t preferred; /* [s] æ¨å¥¨æå¹æéãåããæå»*/235 uint32_t vltime; /* [s] æå¹æé*/236 uint32_t pltime; /* [s] æ¨å¥¨æå¹æé*/237 uint16_t routermap; /* ã«ã¼ã¿ããã*/238 uint8_t flags; /* ãã©ã°*/239 uint8_t prefix_len; /* ãã¬ãã£ãã¯ã¹é·*/205 T_IN6_ADDR prefix; /* プレフィックス */ 206 uint32_t expire; /* [s] 有効時間が切れる時刻 */ 207 uint32_t preferred; /* [s] 推奨有効時間が切れる時刻 */ 208 uint32_t vltime; /* [s] 有効時間 */ 209 uint32_t pltime; /* [s] 推奨有効時間 */ 210 uint16_t routermap; /* ルータマップ */ 211 uint8_t flags; /* フラグ */ 212 uint8_t prefix_len; /* プレフィックス長 */ 240 213 } T_ND6_PREFIX; 241 214 242 /* ãã©ã° */ 243 244 #define ND6_PREFIX_FLAG_ONLINK UINT_C(0x80) /* ãªã³ãªã³ã¯ãã¬ãã£ãã¯ã¹ */ 245 #define ND6_PREFIX_FLAG_AUTO UINT_C(0x40) /* ã¹ãã¼ãã¬ã¹ã»ã¢ãã¬ã¹èªåè¨å®*/ 246 247 #define ND6_PREFIX_STATE_BUSY UINT_C(0x01) /* 使ç¨ä¸ */ 248 #define ND6_PREFIX_STATE_ONLINK UINT_C(0x02) /* ãªã³ãªã³ã¯ç¶æ 249 */ 250 #define ND6_PREFIX_STATE_DETACHED UINT_C(0x04) /* é使ç¨ç¶æ 251 */ 252 253 /* 254 * å¤æ° 215 /* フラグ */ 216 217 #define ND6_PREFIX_FLAG_ONLINK UINT_C(0x80) /* オンリンクプレフィックス */ 218 #define ND6_PREFIX_FLAG_AUTO UINT_C(0x40) /* ステートレス・アドレス自動設定*/ 219 220 #define ND6_PREFIX_STATE_BUSY UINT_C(0x01) /* 使用中 */ 221 #define ND6_PREFIX_STATE_ONLINK UINT_C(0x02) /* オンリンク状態 */ 222 #define ND6_PREFIX_STATE_DETACHED UINT_C(0x04) /* 非使用状態 */ 223 224 /* 225 * 変数 255 226 */ 256 227 … … 261 232 262 233 /* 263 * é¢æ°234 * 関数 264 235 */ 265 236 -
asp3_gr_sakura/trunk/tinet/netinet6/nd6_nbr.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 124 112 125 113 /* 126 * å±æé¢æ°114 * 局所関数 127 115 */ 128 116 … … 134 122 135 123 /* 136 * nd6_dad_duplicated -- éè¤ã¢ãã¬ã¹ãæ¤åºããæã®å¦ç124 * nd6_dad_duplicated -- 重複アドレスを検出した時の処理 137 125 */ 138 126 … … 147 135 ifa->flags |= IN6_IFF_DUPLICATED; 148 136 149 /* ã¿ã¤ãã¼ãåæ¢ããã*/137 /* タイマーを停止する。*/ 150 138 untimeout((callout_func)nd6_dad_timer, ifa); 151 139 152 140 /* 153 * ãã IPv6 ã¢ãã¬ã¹ããã¦ãã¼ã¯ã«å²ãå½ã¦ãã154 * ï¼ã¤ã¼ãµãããç¨ã® EUI-64ï¼ãã¼ãã¦ã§ã¢ã¢ãã¬ã¹ããã¼ã¹ã¨ãã155 * ã¤ã³ã¿ãã§ã¼ã¹ ID ã§çæãããã®ã§ããã°ã156 * ãã®ã¤ã³ã¿ãã§ã¼ã¹ã§ã® IPv6 ã®åä½ã¯ç¡å¹ã«ãã¹ãã§ãã157 * ï¼RFC2462bis-03 ã»ã¯ã·ã§ã³ 5.4.5ï¼ã141 * もし IPv6 アドレスが、ユニークに割り当てらた 142 * (イーサネット用の EUI-64)ハードウェアアドレスをベースとした 143 * インタフェース ID で生成されたのであれば、 144 * このインタフェースでの IPv6 の動作は無効にすべきである 145 * (RFC2462bis-03 セクション 5.4.5)。 158 146 */ 159 147 if (IN6_IS_ADDR_LINKLOCAL(&ifa->addr)) … … 163 151 164 152 /* 165 * nd6_dad_ns_output -- éè¤ã¢ãã¬ã¹æ¤åº (DAD) è¦è«ãåºåããã153 * nd6_dad_ns_output -- 重複アドレス検出 (DAD) 要請を出力する。 166 154 */ 167 155 … … 176 164 177 165 /* 178 * nd6_dad_ns_input -- éè¤ã¢ãã¬ã¹æ¤åº (DAD) è¦è«å 179 ¥å 166 * nd6_dad_ns_input -- 重複アドレス検出 (DAD) 要請入力 180 167 */ 181 168 … … 186 173 187 174 /* 188 * ã¾ã ãéè¤ã¢ãã¬ã¹æ¤åºè¦è«ãåºåãã¦ããªãå ´å175 * まだ、重複アドレス検出要請を出力していない場合 189 176 */ 190 177 if (ifa->ns_ocount == 0) … … 195 182 196 183 /* 197 * nd6_dad_na_input -- éè¤ã¢ãã¬ã¹æ¤åº (DAD) éç¥å 198 ¥å 184 * nd6_dad_na_input -- 重複アドレス検出 (DAD) 通知入力 199 185 */ 200 186 … … 208 194 209 195 /* 210 * nd6_dad_timer -- éè¤ã¢ãã¬ã¹æ¤åº (DAD) ã¿ã¤ãã¼196 * nd6_dad_timer -- 重複アドレス検出 (DAD) タイマー 211 197 */ 212 198 … … 229 215 nd6_dad_ns_output(ifp, ifa); 230 216 231 /* ã¿ã¤ã ã¢ã¦ããè¿é£æ¢ç´¢ã®éä¿¡ééã«è¨å®ããã*/217 /* タイムアウトを近隣探索の送信間隔に設定する。*/ 232 218 timeout((callout_func)nd6_dad_timer, ifa, ND6_RETRANS_TIME * NET_TIMER_HZ / SYSTIM_HZ); 233 219 } … … 241 227 242 228 /* 243 * nd6_ns_input -- è¿é£è¦è«ã®å 244 ¥åå¦çã 229 * nd6_ns_input -- 近隣要請の入力処理。 245 230 */ 246 231 … … 264 249 265 250 /* 266 * ãããã®ãã§ãã¯ã以ä¸ã®å ´åã¯ç ´æ£ããã267 * ã»ããããªãããã IPV6_MAXHLIM (255) 以å¤268 * ã»ãããé·ãçã251 * ヘッダのチェック、以下の場合は破棄する。 252 * ・ホップリミットが IPV6_MAXHLIM (255) 以外 253 * ・ヘッダ長が短い 269 254 */ 270 255 if (ip6h->hlim != IPV6_MAXHLIM || input->len - off < NEIGHBOR_SOLICIT_HDR_SIZE) … … 275 260 if (IN6_IS_ADDR_UNSPECIFIED(&ip6h->src)) { 276 261 /* 277 * å§ç¹ã¢ãã¬ã¹ãç¡æå®ãªããéè¤ã¢ãã¬ã¹æ¤åº 278 * ãã¦å 279 ã¢ãã¬ã¹ã¯ãè¦è«ãã«ããã£ã¹ãã§ãªããã°ãªããªãã 262 * 始点アドレスが無指定なら、重複アドレス検出 263 * あて先アドレスは、要請マルチキャストでなければならない。 280 264 */ 281 265 if (!IN6_IS_ADDR_NS_MULTICAST(&ip6h->dst)) … … 283 267 } 284 268 285 /* ç®çã¢ãã¬ã¹ããã«ããã£ã¹ããªãã¨ã©ã¼*/269 /* 目的アドレスがマルチキャストならエラー */ 286 270 if (IN6_IS_ADDR_MULTICAST(&nsh->target)) 287 271 goto err_ret; 288 272 289 /* è¿é£æ¢ç´¢ãªãã·ã§ã³ã®ãªãã»ãããè¨é²ããã*/273 /* 近隣探索オプションのオフセットを記録する。*/ 290 274 if (nd6_options(nd_opt_off, input->buf + (off + NEIGHBOR_SOLICIT_HDR_SIZE), 291 275 input->len - (off + NEIGHBOR_SOLICIT_HDR_SIZE)) != E_OK) 292 276 goto err_ret; 293 277 294 /* è¿é£æ¢ç´¢ãªãã·ã§ã³ (å§ç¹ãªã³ã¯ã¢ãã¬ã¹) */278 /* 近隣探索オプション (始点リンクアドレス) */ 295 279 if (nd_opt_off[ND_OPT_OFF_ARRAY_IX(ND_OPT_SOURCE_LINKADDR)]) { 296 280 opth = (T_ND_OPT_HDR *)((uint8_t *)(input->buf + off + NEIGHBOR_SOLICIT_HDR_SIZE) + 297 281 nd_opt_off[ND_OPT_OFF_ARRAY_IX(ND_OPT_SOURCE_LINKADDR)] - 8); 298 /* 注æ: ãªãã·ã§ã³ãªãã»ããé 299 åã«ã¯ããªãã»ãã + 8 ãè¨å®ããã¦ããã*/ 282 /* 注意: オプションオフセット配列には、オフセット + 8 が設定されている。*/ 300 283 lladdr = (uint8_t *)(opth + 1); 301 284 lladdr_len = (opth->len << 3); … … 305 288 goto err_ret; 306 289 307 /* å®å 308 ã¢ãã¬ã¹ããã«ããã£ã¹ããªãè¿é£éç¥ã«ãã¼ã¿ãªã³ã¯å±¤ã®ã¢ãã¬ã¹ãä»ããã*/ 290 /* 宛先アドレスがマルチキャストなら近隣通知にデータリンク層のアドレスを付ける。*/ 309 291 if (IN6_IS_ADDR_MULTICAST(&ip6h->dst)) 310 292 tlladdr = true; … … 313 295 314 296 /* 315 * ç®çã¢ãã¬ã¹ããèªåã®ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã« 316 * å²ãå½ã¦ããã¦ããã¢ãã¬ã¹ã調ã¹ãã 317 * ãªãã代çãµã¼ãã¹ã¯å®è£ 318 ãã¦ããªãã 297 * 目的アドレスが、自分のネットワークインタフェースに 298 * 割り当てられているアドレスか調べる。 299 * なお、代理サービスは実装していない。 319 300 */ 320 301 ifa = in6_lookup_ifaddr(ifp, &nsh->target); … … 323 304 goto free_ret; 324 305 325 /* æ¢ç´¢çµæã¢ãã¬ã¹ãéè¤ãã¦ããã°å¿çããªãã§çµäºããã*/306 /* 探索結果アドレスが重複していれば応答しないで終了する。*/ 326 307 if (ifa->flags & IN6_IFF_DUPLICATED) 327 308 goto err_ret; 328 309 329 310 /* 330 * ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã®ã¢ãã¬ã¹é·ãä¸è´ããªããã°ã¨ã©ã¼311 * ネットワークインタフェースのアドレス長が一致しなければエラー 331 312 */ 332 313 if (lladdr && lladdr_len != ((sizeof(T_IF_ADDR) + sizeof(T_ND_OPT_HDR) + 7) & ~7)) … … 334 315 335 316 /* 336 * å§ç¹ã¢ãã¬ã¹ãèªåã®ã¢ãã¬ã¹ã¨ä¸è´ããã°éè¤ãã¦ããã317 * 始点アドレスが自分のアドレスと一致すれば重複している。 337 318 */ 338 319 if (IN6_ARE_ADDR_EQUAL(&ifa->addr, &ip6h->src)) 339 320 goto free_ret; 340 321 341 /* éè¤æ¤åºä¸ã«ãè¿é£è¦è«ãåä¿¡ããã¨ãã®å¦ç*/322 /* 重複検出中に、近隣要請を受信したときの処理 */ 342 323 if (ifa->flags & IN6_IFF_TENTATIVE) { 343 324 if (IN6_IS_ADDR_UNSPECIFIED(&ip6h->src)) … … 352 333 353 334 /* 354 * å§ç¹ã¢ãã¬ã¹ãç¡æå®ãªããéä¿¡ç¸æã¯éè¤ã¢ãã¬ã¹æ¤åºä¸ã§ã 355 * ç´æ¥éä¿¡ãããã¨ã¯ã§ããªãã®ã§ãå 356 ¨ãã¼ããã«ããã£ã¹ã 357 * ã¢ãã¬ã¹ã«éä¿¡ããã 335 * 始点アドレスが無指定なら、送信相手は重複アドレス検出中で、 336 * 直接送信することはできないので、全ノードマルチキャスト 337 * アドレスに送信する。 358 338 */ 359 339 if (IN6_IS_ADDR_UNSPECIFIED(&ip6h->src)) { … … 362 342 } 363 343 364 /* è¿é£ãã£ãã·ã¥ã«ç»é²ããã*/344 /* 近隣キャッシュに登録する。*/ 365 345 nd6_cache_lladdr(ifp, &ip6h->src, (T_IF_ADDR *)lladdr, ND_NEIGHBOR_SOLICIT, 0); 366 346 … … 377 357 378 358 /* 379 * nd6_ns_output -- è¿é£è¦è«ãåºåããã359 * nd6_ns_output -- 近隣要請を出力する。 380 360 */ 381 361 … … 396 376 return; 397 377 398 /* è¿é£è¦è«ãã¤ãã¼ãé·ãè¨ç®ããã*/378 /* 近隣要請ペイロード長を計算する。*/ 399 379 if (!dad && IF_SOFTC_TO_IFADDR(ifp->ic)) 400 380 len = (NEIGHBOR_SOLICIT_HDR_SIZE + ND_OPT_HDR_SIZE + sizeof(T_IF_ADDR) + 7) >> 3 << 3; … … 403 383 404 384 /* 405 * è¦è«ãã«ããã£ã¹ãã»ã¢ãã¬ã¹å®ã®è¿é£æ¢ç´¢ã§ã¯ã406 * ä»ã®ãªã³ã¯ããã®å½é ããããã¼ã¿ã°ã©ã ã407 * æé¤ãããããããããªãããã« IPV6_MAXHLIM (255) ãè¨å®ããã385 * 要請マルチキャスト・アドレス宛の近隣探索では、 386 * 他のリンクからの偽造されたデータグラムを 387 * 排除するため、ホップリミットに IPV6_MAXHLIM (255) を設定する。 408 388 */ 409 389 if (IN6_IS_ADDR_UNSPECIFIED(daddr) || IN6_IS_ADDR_MULTICAST(daddr)) 410 390 ipflags = IPV6_OUT_SET_HOP_LIMIT(IPV6_OUT_FLG_HOP_LIMIT, IPV6_MAXHLIM); 411 391 412 /* ãããã¯ã¼ã¯ãããã¡ãç²å¾ããIPv6 ããããè¨å®ããã*/392 /* ネットワークバッファを獲得し、IPv6 ヘッダを設定する。*/ 413 393 if (in6_get_datagram(&output, len, 0, daddr, NULL, 414 394 IPPROTO_ICMPV6, IPV6_MAXHLIM, … … 420 400 if (IN6_IS_ADDR_UNSPECIFIED(daddr)) { 421 401 422 /* å®å 423 ã¢ãã¬ã¹ãç¡æå®ã®å ´åã¯ãè¦è«ãã«ããã£ã¹ãã¢ãã¬ã¹ãè¨å®ããã*/ 402 /* 宛先アドレスが無指定の場合は、要請マルチキャストアドレスを設定する。*/ 424 403 ip6h->dst.s6_addr32[0] = IPV6_ADDR_INT32_MLL; 425 404 ip6h->dst.s6_addr32[2] = IPV6_ADDR_INT32_ONE; … … 428 407 } 429 408 430 /* éä¿¡å 431 ã¢ãã¬ã¹ã®è¨å® */ 409 /* 送信元アドレスの設定 */ 432 410 if (!dad) { 433 411 434 /* éè¤ã¢ãã¬ã¹æ¤åºã§ã¯ãªãæã®éä¿¡å 435 ã¢ãã¬ã¹æ±ºå®å¦çã*/ 412 /* 重複アドレス検出ではない時の送信元アドレス決定処理。*/ 436 413 T_IN6_ADDR *saddr; 437 414 438 415 if (ln && ln->hold) { 439 416 /* 440 * éä¿¡ããã³ãã£ã³ã°ããã¦ãããã¼ã¿ã°ã©ã ã® 441 * éä¿¡å 442 ã¢ãã¬ã¹ãå©ç¨ããã 417 * 送信がペンディングされているデータグラムの 418 * 送信元アドレスを利用する。 443 419 */ 444 420 if (ln->hold->len > IF_IP6_HDR_SIZE) … … 454 430 else { 455 431 /* 456 * å®å 457 ã¢ãã¬ã¹ã«ãµããããéä¿¡å 458 ã¢ãã¬ã¹ãã 459 * ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ããæ¢ç´¢ãã¦å©ç¨ããã 432 * 宛先アドレスにふさわしい送信元アドレスを、 433 * ネットワークインタフェースから探索して利用する。 460 434 */ 461 435 T_IN6_IFADDR *ifa; … … 470 444 else { 471 445 472 /* éè¤ã¢ãã¬ã¹æ¤åºæã®éä¿¡å 473 ã¢ãã¬ã¹ã¯ç¡æå®ã*/ 446 /* 重複アドレス検出時の送信元アドレスは無指定。*/ 474 447 memset(&ip6h->src, 0, sizeof(T_IN6_ADDR)); 475 448 } 476 449 477 /* è¿é£è¦è«ããããè¨å®ããã*/450 /* 近隣要請ヘッダを設定する。*/ 478 451 nsh = GET_NEIGHBOR_SOLICIT_HDR(output, IF_IP6_NEIGHBOR_SOLICIT_HDR_OFFSET); 479 452 nsh->hdr.type = ND_NEIGHBOR_SOLICIT; … … 484 457 if (!dad && (mac = IF_SOFTC_TO_IFADDR(ifp->ic)) != NULL) { 485 458 486 /* è¿é£æ¢ç´¢ãªãã·ã§ã³ã¨ãã¦ãæ¢ç´¢ç®æ¨ã® MAC ã¢ãã¬ã¹ãè¨å®ããã*/459 /* 近隣探索オプションとして、探索目標の MAC アドレスを設定する。*/ 487 460 T_ND_OPT_HDR *opth; 488 461 uint_t optlen; … … 496 469 } 497 470 498 /* ãã§ãã¯ãµã ãè¨ç®ããã*/471 /* チェックサムを計算する。*/ 499 472 nsh->hdr.sum = 0; 500 473 nsh->hdr.sum = in6_cksum(output, IPPROTO_ICMPV6, (uint8_t*)nsh - output->buf, len); 501 474 502 /* éä¿¡ããã*/475 /* 送信する。*/ 503 476 NET_COUNT_ICMP6(net_count_nd6[NC_ICMP6_OUT_OCTETS], 504 477 output->len - GET_IF_IP6_HDR_SIZE(output)); … … 510 483 511 484 /* 512 * nd6_na_input -- è¿é£éç¥ã®å 513 ¥åå¦çã 485 * nd6_na_input -- 近隣通知の入力処理。 514 486 */ 515 487 … … 534 506 535 507 /* 536 * ãããã®ãã§ãã¯ã以ä¸ã®å ´åã¯ç ´æ£ããã537 * ã»ããããªãããã IPV6_MAXHLIM (255) 以å¤538 * ã»ãããé·ãçã508 * ヘッダのチェック、以下の場合は破棄する。 509 * ・ホップリミットが IPV6_MAXHLIM (255) 以外 510 * ・ヘッダ長が短い 539 511 */ 540 512 if (ip6h->hlim != IPV6_MAXHLIM || input->len - off < NEIGHBOR_ADVERT_HDR_SIZE) … … 543 515 nah = (T_NEIGHBOR_ADVERT_HDR *)(input->buf + off); 544 516 545 /* ç®çã¢ãã¬ã¹ããã«ããã£ã¹ããªãã¨ã©ã¼*/517 /* 目的アドレスがマルチキャストならエラー */ 546 518 if (IN6_IS_ADDR_MULTICAST(&nah->target)) 547 519 goto err_ret; 548 520 549 /* è¿é£è¦è«ã¸ã®å¿çã§ãå®å 550 ã¢ãã¬ã¹ããã«ããã£ã¹ããªãã¨ã©ã¼ */ 521 /* 近隣要請への応答で、宛先アドレスがマルチキャストならエラー */ 551 522 if ((nah->nd_na_flags_reserved & ND_NA_FLG_SOLICITED) && 552 523 IN6_IS_ADDR_MULTICAST(&ip6h->dst)) 553 524 goto err_ret; 554 525 555 /* è¿é£æ¢ç´¢ãªãã·ã§ã³ã®ãªãã»ãããè¨é²ããã*/526 /* 近隣探索オプションのオフセットを記録する。*/ 556 527 if (nd6_options(nd_opt_off, input->buf + (off + NEIGHBOR_ADVERT_HDR_SIZE), 557 528 input->len - (off + NEIGHBOR_ADVERT_HDR_SIZE)) != E_OK) 558 529 goto err_ret; 559 530 560 /* è¿é£æ¢ç´¢ãªãã·ã§ã³ (ç®çãªã³ã¯ã¢ãã¬ã¹) */531 /* 近隣探索オプション (目的リンクアドレス) */ 561 532 if (nd_opt_off[ND_OPT_OFF_ARRAY_IX(ND_OPT_TARGET_LINKADDR)]) { 562 533 opth = (T_ND_OPT_HDR *)((uint8_t *)(input->buf + off + NEIGHBOR_ADVERT_HDR_SIZE) + 563 534 nd_opt_off[ND_OPT_OFF_ARRAY_IX(ND_OPT_TARGET_LINKADDR)] - 8); 564 /* 注æ: ãªãã·ã§ã³ãªãã»ããé 565 åã«ã¯ããªãã»ãã + 8 ãè¨å®ããã¦ããã*/ 535 /* 注意: オプションオフセット配列には、オフセット + 8 が設定されている。*/ 566 536 lladdr = (uint8_t *)(opth + 1); 567 537 lladdr_len = (opth->len << 3); … … 571 541 572 542 /* 573 * ç®çã¢ãã¬ã¹ãèªåã®ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã«å²ãå½ã¦ããã¦ããã¢ãã¬ã¹ã®574 * ããããã«ä¸è´ããã¨ãã¯ãéè¤ãã¦ãããã¨ãæå³ãã¦ããã543 * 目的アドレスが自分のネットワークインタフェースに割り当てられているアドレスの 544 * いずれかに一致したときは、重複していることを意味している。 575 545 */ 576 546 if (ifa) { … … 583 553 584 554 /* 585 * ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã®ã¢ãã¬ã¹é·ãä¸è´ããªããã°ã¨ã©ã¼555 * ネットワークインタフェースのアドレス長が一致しなければエラー 586 556 */ 587 557 if (lladdr && lladdr_len != ((sizeof(T_IF_ADDR) + sizeof(T_ND_OPT_HDR) + 7) & ~7)) 588 558 goto err_ret; 589 559 590 /* è¿é£ãã£ãã·ã¥ãæ¢ç´¢ããã*/560 /* 近隣キャッシュを探索する。*/ 591 561 syscall(wai_sem(SEM_ND6_CACHE)); 592 562 if ((ln = nd6_lookup(&nah->target, false)) == NULL) 593 563 goto free_ret; 594 564 595 /* è¿é£ãã£ãã·ã¥ã®ç¶æ 596 ãããã¼ã¿ãªã³ã¯å±¤ã®ã¢ãã¬ã¹æªè§£æ±ºã®å ´å */ 565 /* 近隣キャッシュの状態が、データリンク層のアドレス未解決の場合 */ 597 566 if (ln->state == ND6_LLINFO_INCOMPLETE) { 598 /* éç¥ããããã¼ã¿ãªã³ã¯å±¤ã®ã¢ãã¬ã¹ã®é·ãã 0 ã®å ´å*/567 /* 通知されたデータリンク層のアドレスの長さが 0 の場合 */ 599 568 if (lladdr == NULL) 600 569 goto free_ret; … … 631 600 632 601 /* 633 * ç¶æ 634 é·ç§»è¡¨ 602 * 状態遷移表 635 603 * 636 604 * nd_na_flags_reserved 637 * OVERRIDE SOLICTED lladdr llchange å¦ç (L: lladdr ãç»é²ãã)605 * OVERRIDE SOLICTED lladdr llchange 処理 (L: lladdr を登録する) 638 606 * 639 607 * F F N - (2c) … … 651 619 */ 652 620 if ((nah->nd_na_flags_reserved & ND_NA_FLG_OVERRIDE) == 0 && (lladdr != NULL && llchange)) { /* (1) */ 653 /* ç¶æ 654 ã REACHABLE ãªã STALE ã«é·ç§»ããã*/ 621 /* 状態が REACHABLE なら STALE に遷移する。*/ 655 622 if (ln->state == ND6_LLINFO_REACHABLE) { 656 623 syscall(get_tim(&now)); … … 664 631 lladdr == NULL) { /* (2c) */ 665 632 666 /* ãã¼ã¿ãªã³ã¯å±¤ã®ã¢ãã¬ã¹ãéç¥ããã¦ããã°æ´æ°ããã*/633 /* データリンク層のアドレスが通知されていれば更新する。*/ 667 634 if (lladdr != NULL) 668 635 ln->ifaddr = *(T_IF_ADDR *)lladdr; 669 636 670 /* è¿é£è¦è«ã¸ã®å¿çãªã REACHABLE ã«é·ç§»ããã*/637 /* 近隣要請への応答なら REACHABLE に遷移する。*/ 671 638 if (nah->nd_na_flags_reserved & ND_NA_FLG_SOLICITED) { 672 639 ln->state = ND6_LLINFO_REACHABLE; … … 678 645 } 679 646 /* 680 * ãã¼ã¿ãªã³ã¯å±¤ã®ã¢ãã¬ã¹ãéç¥ããã681 * ç°ãªãã¢ãã¬ã¹ãªãæ´æ°ããã647 * データリンク層のアドレスが通知され、 648 * 異なるアドレスなら更新する。 682 649 */ 683 650 else if (lladdr != NULL && llchange) { … … 688 655 } 689 656 690 /* ã«ã¼ã¿éç¥ãã©ã°ã®å¦ç*/657 /* ルータ通知フラグの処理 */ 691 658 if ((ln->flags & ND6_LLIF_ROUTER ) != 0 && 692 659 (nah->nd_na_flags_reserved & ND_NA_FLG_ROUTER) == 0) { 693 660 /* 694 * éä¿¡ç¸æãã«ã¼ã¿éç¥ãã©ã°ãç¡å¹ã«ããå ´åã695 * ãã£ãã©ã«ãã»ã«ã¼ã¿ãªã¹ããã対象ã®ã«ã¼ã¿ãåé¤ãã696 * è¿é£æ¢ç´¢ãã£ãã·ã¥ãæ´æ°ããã661 * 送信相手がルータ通知フラグを無効にした場合。 662 * ディフォルト・ルータリストから対象のルータを削除し、 663 * 近隣探索キャッシュを更新する。 697 664 */ 698 665 T_DEF_ROUTER *dr = NULL; … … 712 679 ln->asked = 0; 713 680 714 /* ã¢ãã¬ã¹è§£æ±ºå¾ 715 ã¡ã®ãã¼ã¿ã°ã©ã ãããã°éä¿¡ããã*/ 681 /* アドレス解決待ちのデータグラムがあれば送信する。*/ 716 682 nd6_output_hold(ifp, ln); 717 683 … … 727 693 728 694 /* 729 * nd6_na_output -- è¿é£éç¥ãåºåããã695 * nd6_na_output -- 近隣通知を出力する。 730 696 */ 731 697 … … 745 711 746 712 /* 747 * è¿é£éç¥ãã¤ãã¼ãé·ãè¨ç®ããã748 * tlladdr ãçãªããããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã®ã¢ãã¬ã¹ã追å ããã713 * 近隣通知ペイロード長を計算する。 714 * tlladdr が真ならネットワークインタフェースのアドレスを追加する。 749 715 */ 750 716 if (tlladdr && IF_SOFTC_TO_IFADDR(ifp->ic)) … … 754 720 755 721 /* 756 * ä»ã®ãªã³ã¯ããã®å½é ããããã¼ã¿ã°ã©ã ã757 * æé¤ãããããããããªãããã« IPV6_MAXHLIM (255) ãè¨å®ããã722 * 他のリンクからの偽造されたデータグラムを 723 * 排除するため、ホップリミットに IPV6_MAXHLIM (255) を設定する。 758 724 */ 759 725 ipflags = IPV6_OUT_SET_HOP_LIMIT(IPV6_OUT_FLG_HOP_LIMIT, IPV6_MAXHLIM); 760 726 761 /* ãããã¯ã¼ã¯ãããã¡ãç²å¾ããIPv6 ããããè¨å®ããã*/727 /* ネットワークバッファを獲得し、IPv6 ヘッダを設定する。*/ 762 728 if (in6_get_datagram(&output, len, 0, daddr, NULL, 763 729 IPPROTO_ICMPV6, IPV6_MAXHLIM, … … 769 735 if (IN6_IS_ADDR_UNSPECIFIED(daddr)) { 770 736 /* 771 * å®å 772 ã¢ãã¬ã¹ãç¡æå®ã®å ´åã¯ã 773 * ãªã³ã¯ãã¼ã«ã«å 774 ¨ãã¼ãã»ãã«ããã£ã¹ãã¢ãã¬ã¹ãè¨å®ããã 737 * 宛先アドレスが無指定の場合は、 738 * リンクローカル全ノード・マルチキャストアドレスを設定する。 775 739 */ 776 740 ip6h->dst.s6_addr32[0] = IPV6_ADDR_INT32_MLL; … … 784 748 785 749 /* 786 * å®å 787 ã¢ãã¬ã¹ã«ãµããããéä¿¡å 788 ã¢ãã¬ã¹ãã 789 * ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ããæ¢ç´¢ãã¦å©ç¨ããã 750 * 宛先アドレスにふさわしい送信元アドレスを、 751 * ネットワークインタフェースから探索して利用する。 790 752 */ 791 753 if ((ifa = in6_ifawithifp(ifp, &ip6h->dst)) == NULL) { … … 795 757 ip6h->src = ifa->addr; 796 758 797 /* è¿é£éç¥ããããè¨å®ããã*/759 /* 近隣通知ヘッダを設定する。*/ 798 760 nah = GET_NEIGHBOR_ADVERT_HDR(output, IF_IP6_NEIGHBOR_ADVERT_HDR_OFFSET); 799 761 nah->hdr.type = ND_NEIGHBOR_ADVERT; … … 801 763 nah->target = *taddr; 802 764 803 /* tlladdr ãçãªããããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã®ã¢ãã¬ã¹ã追å ããã*/765 /* tlladdr が真ならネットワークインタフェースのアドレスを追加する。*/ 804 766 if (tlladdr && (mac = IF_SOFTC_TO_IFADDR(ifp->ic)) != NULL) { 805 767 … … 819 781 nah->nd_na_flags_reserved = flags; 820 782 821 /* ãã§ãã¯ãµã ãè¨ç®ããã*/783 /* チェックサムを計算する。*/ 822 784 nah->hdr.sum = 0; 823 785 nah->hdr.sum = in6_cksum(output, IPPROTO_ICMPV6, (uint8_t*)nah - output->buf, len); 824 786 825 /* éä¿¡ããã*/787 /* 送信する。*/ 826 788 NET_COUNT_ICMP6(net_count_nd6[NC_ICMP6_OUT_OCTETS], 827 789 output->len - GET_IF_IP6_HDR_SIZE(output)); … … 833 795 834 796 /* 835 * nd6_dad_start -- éè¤ã¢ãã¬ã¹æ¤åº (DAD) ãéå§ããã797 * nd6_dad_start -- 重複アドレス検出 (DAD) を開始する。 836 798 * 837 * 第3å¼æ°ã®tick ã¯ãã¤ã³ã¿ãã§ã¼ã¹ãèµ·åããã¦ãããéè¤æ¤åºã 838 * éä¿¡ããã¾ã§ã®æå°é 839 延å¤ã§ããã 799 * 第3引数のtick は、インタフェースが起動されてから、重複検出を 800 * 送信するまでの最小遅延値である。 840 801 */ 841 802 … … 843 804 nd6_dad_start (T_IFNET *ifp, T_IN6_IFADDR *ifa, int_t *tick) 844 805 { 845 /* ãã©ã°ããã§ãã¯ããã*/806 /* フラグをチェックする。*/ 846 807 if (!(ifa->flags & IN6_IFF_TENTATIVE)) 847 808 return; … … 860 821 return; 861 822 862 /* éè¤ã¢ãã¬ã¹æ¤åºã«ã¦ã³ã¿ããªã»ããããã*/823 /* 重複アドレス検出カウンタをリセットする。*/ 863 824 ifa->ns_icount = ifa->na_icount = ifa->ns_ocount = 0; 864 825 865 826 /* 866 * éè¤ã¢ãã¬ã¹æ¤åºè¦è«ãéä¿¡ããããã ããã¤ã³ã¿ãã§ã¼ã¹ã 867 * åæåããç´å¾ã«ãæåã«éä¿¡ããå ´åã¯ãã©ã³ãã ãªé 868 延ãè¡ãã 827 * 重複アドレス検出要請を送信する。ただし、インタフェースを 828 * 初期化した直後に、最初に送信する場合は、ランダムな遅延を行う。 869 829 */ 870 830 if (tick == NULL) { 871 831 nd6_dad_ns_output(ifp, ifa); 872 832 873 /* ã¿ã¤ã ã¢ã¦ããè¿é£æ¢ç´¢ã®éä¿¡ééã«è¨å®ããã*/833 /* タイムアウトを近隣探索の送信間隔に設定する。*/ 874 834 timeout((callout_func)nd6_dad_timer, ifa, ND6_RETRANS_TIME * NET_TIMER_HZ / SYSTIM_HZ); 875 835 } … … 877 837 int_t ntick; 878 838 879 if (*tick == 0) /* æåã®éä¿¡*/839 if (*tick == 0) /* 最初の送信 */ 880 840 ntick = net_rand() % (ND6_FIRST_DAD_DELAY_TIME * NET_TIMER_HZ / SYSTIM_HZ); 881 841 else -
asp3_gr_sakura/trunk/tinet/netinet6/nd6_rtr.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 123 111 124 112 /* 125 * å¤é¨é¢æ°ã®å®ç¾©113 * 外部関数の定義 126 114 */ 127 115 … … 133 121 134 122 /* 135 * å 136 ¨åå¤æ° 137 */ 138 139 SYSTIM nd6_base_reachable_time = ND6_DEF_REACHABLE_TIME; /* ã«ã¼ã¿ããéç¥ãããå¤ */ 140 SYSTIM nd6_reachable_time = ND6_DEF_REACHABLE_TIME; /* ã«ã¼ã¿ããéç¥ãããå¤ã®è£æ£å¤ */ 141 SYSTIM nd6_recalc_reachtm_interval = ND6_RECALC_REACHTM_INTERVAL; /* å°éå¯è½ç¶æ 142 ã®æå¹æéåè¨ç®éé */ 143 SYSTIM nd6_retrans_time = ND6_DEF_RETRANS_TIME; /* è¿é£æ¢ç´¢ã®éä¿¡éé */ 144 uint8_t ip6_defhlim = IPV6_DEFHLIM; /* ããããªãããã®è¦å®å¤ */ 145 146 /* 147 * å±æå¤æ° 148 */ 149 150 /* 151 * ãã¬ãã£ãã¯ã¹ã»ãªã¹ã 123 * 全域変数 124 */ 125 126 SYSTIM nd6_base_reachable_time = ND6_DEF_REACHABLE_TIME; /* ルータから通知された値 */ 127 SYSTIM nd6_reachable_time = ND6_DEF_REACHABLE_TIME; /* ルータから通知された値の補正値 */ 128 SYSTIM nd6_recalc_reachtm_interval = ND6_RECALC_REACHTM_INTERVAL; /* 到達可能状態の有効時間再計算間隔 */ 129 SYSTIM nd6_retrans_time = ND6_DEF_RETRANS_TIME; /* 近隣探索の送信間隔 */ 130 uint8_t ip6_defhlim = IPV6_DEFHLIM; /* ホップリミットの規定値 */ 131 132 /* 133 * 局所変数 134 */ 135 136 /* 137 * プレフィックス・リスト 152 138 */ 153 139 … … 155 141 156 142 /* 157 * ãã£ãã©ã«ãã«ã¼ã¿ã»ãªã¹ã143 * ディフォルトルータ・リスト 158 144 */ 159 145 160 146 static T_DEF_ROUTER nd6_def_router[NUM_ND6_DEF_RTR_ENTRY]; 161 static uint_t def_router_count = 0; /* ãªã¹ãã«ããã«ã¼ã¿æ°*/162 163 /* 164 * make_mask -- ãããç¨ã®ãã¹ã¯ãçæããã147 static uint_t def_router_count = 0; /* リストにあるルータ数 */ 148 149 /* 150 * make_mask -- マップ用のマスクを生成する。 165 151 */ 166 152 … … 171 157 int_t ix; 172 158 173 /* ãã¹ã¯ãçæããã*/159 /* マスクを生成する。*/ 174 160 mask = 1; 175 161 for (ix = index; ix -- > 0; ) … … 181 167 /* 182 168 * find_pfxlist_reachable_router -- 183 * æå®ãããã¬ãã£ãã¯ã¹ãéç¥ããã«ã¼ã¿ããªã³ã¯ä¸ã«åå¨ããããã§ãã¯ããã169 * 指定したプレフィックスを通知したルータがリンク上に存在するかチェックする。 184 170 */ 185 171 … … 205 191 206 192 /* 207 * pfxlist_onlink_check -- ãã¬ãã£ãã¯ã¹ã»ãªã¹ãã®ãªã³ãªã³ã¯ç¶æ 208 ããã§ãã¯ããã 193 * pfxlist_onlink_check -- プレフィックス・リストのオンリンク状態をチェックする。 209 194 * 210 * 注æ: ãã®é¢æ°ãå¼ã³åºãã¨ãã¯ãSEM_ND6_DEFRTRLIST ã§ã211 * ããã¯ãã¦ããå¼ã³åºããã¨ã195 * 注意: この関数を呼び出すときは、SEM_ND6_DEFRTRLIST で、 196 * ロックしてから呼び出すこと。 212 197 */ 213 198 … … 230 215 if (ix >= 0) { 231 216 /* 232 * ãªã³ãªã³ã¯ç¶æ 233 ã®ãã¬ãã£ãã¯ã¹ãæä½ä¸ã¤åå¨ããã¨ãã®å¦çã 234 * åãã¬ãã£ãã¯ã¹ã®ãªã³ãªã³ã¯ç¶æ 235 ããããããéç¥ãã¦ããã«ã¼ã¿ã® 236 * ç¶æ 237 ã«å¾ã£ã¦è¨å®ããã 217 * オンリンク状態のプレフィックスが最低一つ存在するときの処理。 218 * 各プレフィックスのオンリンク状態を、それらを通知してきたルータの 219 * 状態に従って設定する。 238 220 */ 239 221 … … 256 238 else { 257 239 /* 258 * ã©ã®ãã¬ãã£ãã¯ã¹ããªã³ãªã³ã¯ã§ã¯ãªãã 259 * ãã£ãã©ã«ãã«ã¼ã¿ãåå¨ããªãã¨ãã®å¦çã 260 * ãã¹ã¦ã®ãã¬ãã£ãã¯ã¹ã使ç¨å¯è½ç¶æ 261 ã«è¨å®ããã 240 * どのプレフィックスもオンリンクではなく、 241 * ディフォルトルータも存在しないときの処理。 242 * すべてのプレフィックスを使用可能状態に設定する。 262 243 */ 263 244 … … 275 256 276 257 /* 277 * åãã¬ãã£ãã¯ã¹æ¯ã«ãéç¥ãã¦ããã«ã¼ã¿ã®ç¶æ 278 㨠279 * ãªã³ãªã³ã¯ã®ç¶æ 280 ãä¸è´ããªããã°ããªã³ãªã³ã¯ç¶æ 281 ãæ´æ°ããã 258 * 各プレフィックス毎に、通知してきたルータの状態と 259 * オンリンクの状態が一致しなければ、オンリンク状態を更新する。 282 260 */ 283 261 for (ix = NUM_ND6_PREFIX_ENTRY; ix -- > 0; ) { … … 302 280 303 281 /* 304 * ãªã³ã¯ä¸ã«ãã¬ãã£ãã¯ã¹ãéç¥ãã¦ããã«ã¼ã¿ã305 * å°ãªãã¨ã 1 å°åå¨ããã確èªããã282 * リンク上にプレフィックスを通知しているルータが 283 * 少なくとも 1 台存在するか確認する。 306 284 */ 307 285 for (ix = NUM_IN6_IFADDR_ENTRY; ix -- > 0; ) { … … 317 295 if (ix >= 0) { 318 296 /* 319 * ãªã³ã¯ä¸ã«ãã¬ãã£ãã¯ã¹ãéç¥ãã¦ããã«ã¼ã¿ã320 * å°ãªãã¨ã 1 å°åå¨ããæã®å¦çã297 * リンク上にプレフィックスを通知しているルータが 298 * 少なくとも 1 台存在する時の処理。 321 299 */ 322 300 for (ix = NUM_IN6_IFADDR_ENTRY; ix -- > 0; ) { … … 334 312 else { 335 313 /* 336 * ãªã³ã¯ä¸ã«ãã¬ãã£ãã¯ã¹ãéç¥ãã¦ããã«ã¼ã¿ã 337 * 1 å°åå¨ããªãæã¯å 338 ¨ã¦ã®ã¢ãã¬ã¹ãå©ç¨ã§ããããã«ããã 314 * リンク上にプレフィックスを通知しているルータが 315 * 1 台存在しない時は全てのアドレスを利用できるようにする。 339 316 */ 340 317 for (ix = NUM_IN6_IFADDR_ENTRY; ix -- > 0; ) { … … 347 324 348 325 /* 349 * pfxrtr_add -- ãã¬ãã£ãã¯ã¹ã¨ã³ããªã¨ãã£ãã©ã«ãã«ã¼ã¿ã»ã¨ã³ããªããªã³ã¯ããã326 * pfxrtr_add -- プレフィックスエントリとディフォルトルータ・エントリをリンクする。 350 327 * 351 * 注æ: ãã®é¢æ°ãå¼ã³åºãã¨ãã¯ãSEM_ND6_DEFRTRLIST ã§ã352 * ããã¯ãã¦ããå¼ã³åºããã¨ã328 * 注意: この関数を呼び出すときは、SEM_ND6_DEFRTRLIST で、 329 * ロックしてから呼び出すこと。 353 330 */ 354 331 … … 356 333 pfxrtr_add (int_t prefix_index, int_t rtr_index) 357 334 { 358 /* ãã¬ãã£ãã¯ã¹ã¨ã³ããªã¨ãã£ãã©ã«ãã«ã¼ã¿ã»ã¨ã³ããªããªã³ã¯ããã*/335 /* プレフィックスエントリとディフォルトルータ・エントリをリンクする。*/ 359 336 nd6_prefix[prefix_index].routermap |= make_mask(rtr_index); 360 337 nd6_def_router[rtr_index].plistmap |= make_mask(prefix_index); … … 364 341 365 342 /* 366 * nd6_pfxrtr_lookup -- ãã¬ãã£ãã¯ã¹ã¨ã³ããªããã«ã¼ã¿ãæ¢ç´¢ããã343 * nd6_pfxrtr_lookup -- プレフィックスエントリからルータを探索する。 367 344 */ 368 345 … … 374 351 375 352 /* 376 * defrouter_select -- åªå 377 ãã£ãã©ã«ãã»ã«ã¼ã¿ãé¸æããªããã 353 * defrouter_select -- 優先ディフォルト・ルータを選択しなおす。 378 354 * 379 * 注æ: ãã®é¢æ°ãå¼ã³åºãã¨ãã¯ãSEM_ND6_DEFRTRLIST ã§ã380 * ããã¯ãã¦ããå¼ã³åºããã¨ã355 * 注意: この関数を呼び出すときは、SEM_ND6_DEFRTRLIST で、 356 * ロックしてから呼び出すこと。 381 357 */ 382 358 … … 392 368 if ((ln = nd6_lookup(&dr->addr, false)) != NULL && ND6_IS_LLINFO_PROBREACH(ln)) { 393 369 394 /* é¸æããã«ã¼ã¿ãå 395 é ã«ç§»ãã*/ 370 /* 選択したルータを先頭に移す。*/ 396 371 router = *dr; 397 372 for (tix = ix; tix > 0; tix --) … … 404 379 405 380 /* 406 * defrtrlist_update -- ãã£ãã©ã«ãã«ã¼ã¿ã»ãªã¹ããæ´æ°ããã381 * defrtrlist_update -- ディフォルトルータ・リストを更新する。 407 382 * 408 * æ»ãå¤ã¯ãã«ã¼ã¿ã®ã¤ã³ããã¯ã¹ã409 * ãã ããå¤ã -1 ãªãããã¬ãã£ãã¯ã¹ã»ãªã¹ãã¯æ´æ°ããªãã383 * 戻り値は、ルータのインデックス。 384 * ただし、値が -1 なら、プレフィックス・リストは更新しない。 410 385 */ 411 386 … … 420 395 syscall(wai_sem(SEM_ND6_DEFRTRLIST)); 421 396 422 /* ç»é²æ¸ã調ã¹ãã*/397 /* 登録済か調べる。*/ 423 398 if ((fdr = nd6_defrtrlist_lookup(src)) != NULL) { 424 /* ç»é²æ¸ã¿ã®å ´åã®å¦ç*/399 /* 登録済みの場合の処理 */ 425 400 if (lifetime == 0) { 426 401 nd6_defrtrlist_del(fdr); … … 429 404 } 430 405 else { 431 fdr->lifetime = lifetime * SYSTIM_HZ; /* lifetime ã®åä½ã¯ç§*/406 fdr->lifetime = lifetime * SYSTIM_HZ; /* lifetime の単位は秒 */ 432 407 fdr->flags = flags; 433 408 fdr->expire = now + fdr->lifetime; … … 443 418 if (fdr == NULL && def_router_count < NUM_ND6_DEF_RTR_ENTRY) { 444 419 /* 445 * def_router_count < NUM_ND6_DEF_RTR_ENTRY ã§ããã°ã446 * nd6_def_router[def_router_count]; ã空ãã¨ã³ããª420 * def_router_count < NUM_ND6_DEF_RTR_ENTRY であれば、 421 * nd6_def_router[def_router_count]; が空きエントリ 447 422 */ 448 423 fdr = &nd6_def_router[def_router_count]; 449 424 } 450 425 451 /* 空ãã¨ã³ããªããªããã°ãæå¹æéãçãã¨ã³ããªãåé¤ããã*/426 /* 空きエントリがなければ、有効時間が短いエントリを削除する。*/ 452 427 if (fdr == NULL) { 453 428 T_DEF_ROUTER *sdr = NULL; … … 458 433 diff = (int32_t)(dr->expire - now); 459 434 if (diff <= 0) { /* dr->expire <= now */ 460 /* æ¢ã«ãæå¹æéãéãã¦ããã*/435 /* 既に、有効時間が過ぎている。*/ 461 436 sdr = dr; 462 437 break; … … 471 446 } 472 447 473 /* åã¡ã³ãã«å¤ãè¨å®ããã*/448 /* 各メンバに値を設定する。*/ 474 449 fdr->plistmap = 0; 475 450 fdr->addr = *src; 476 fdr->lifetime = lifetime * SYSTIM_HZ; /* lifetime ã®åä½ã¯ç§*/451 fdr->lifetime = lifetime * SYSTIM_HZ; /* lifetime の単位は秒 */ 477 452 fdr->flags = flags; 478 453 fdr->expire = now + fdr->lifetime; … … 481 456 482 457 /* 483 * ãã£ãã©ã«ãã«ã¼ã¿ã¨ãã¦ç»é²ãããã484 * æ¢ã«ãã£ãã©ã«ãã«ã¼ã¿ãããã°é¸æããªãããªãã458 * ディフォルトルータとして登録するが、 459 * 既にディフォルトルータがあれば選択しなおさない。 485 460 */ 486 461 if (fdr - nd6_def_router != 0) … … 492 467 493 468 /* 494 * in6_ifadd -- ã¤ã³ã¿ãã§ã¼ã¹ã«ã¢ãã¬ã¹ã追å ããã469 * in6_ifadd -- インタフェースにアドレスを追加する。 495 470 */ 496 471 … … 506 481 507 482 /* 508 * ãªã³ã¯ãã¼ã«ã«ã¢ãã¬ã¹ãæªç»é²ã§ããã°ä½ãããªãã483 * リンクローカルアドレスが未登録であれば何もしない。 509 484 */ 510 485 if ((lla->flags & IN6_IFF_DEFINED) == 0) … … 512 487 513 488 /* 514 * ã«ã¼ã¿ããéç¥ããããã¬ãã£ãã¯ã¹é·ãã515 * ãªã³ã¯ãã¼ã«ã«ã¢ãã¬ã¹ã®ãã¬ãã£ãã¯ã¹é·ã¨516 * ç°ãªã£ã¦ããã°ã¨ã©ã¼489 * ルータから通知されたプレフィックス長が、 490 * リンクローカルアドレスのプレフィックス長と 491 * 異なっていればエラー 517 492 */ 518 493 if (lla->prefix_len != pr->prefix_len) 519 494 return E_PAR; 520 495 521 /* ãã¬ãã£ãã¯ã¹ãã¹ã¯ãçæããã*/496 /* プレフィックスマスクを生成する。*/ 522 497 in6_plen2pmask(&mask, pr->prefix_len); 523 498 524 /* ã¢ãã¬ã¹ãçæããã*/499 /* アドレスを生成する。*/ 525 500 for (ix = 0; ix < 4; ix ++) 526 501 addr.s6_addr32[ix] = (pr->prefix.s6_addr32[ix] & mask.s6_addr32[ix]) 527 502 | ( lla->addr.s6_addr32[ix] & ~mask.s6_addr32[ix]); 528 503 529 /* ãã©ã°ãåæåããã*/504 /* フラグを初期化する。*/ 530 505 ia->flags = 0; 531 506 … … 536 511 537 512 /* 538 * nd6_prefix_lookup -- ãã¬ãã£ãã¯ã¹ãæ¢ç´¢ããã513 * nd6_prefix_lookup -- プレフィックスを探索する。 539 514 */ 540 515 … … 556 531 557 532 /* 558 * prelist_remove -- ãã¬ãã£ãã¯ã¹ãªã¹ããããã¬ãã£ãã¯ã¹ãåé¤ããã533 * prelist_remove -- プレフィックスリストからプレフィックスを削除する。 559 534 * 560 * 注æ: ãã®é¢æ°ãå¼ã³åºãã¨ãã¯ãSEM_ND6_DEFRTRLIST ã§ã561 * ããã¯ãã¦ããå¼ã³åºããã¨ã535 * 注意: この関数を呼び出すときは、SEM_ND6_DEFRTRLIST で、 536 * ロックしてから呼び出すこと。 562 537 */ 563 538 … … 569 544 int_t rix; 570 545 571 /* æå¹æéåãã«ããã*/546 /* 有効時間切れにする。*/ 572 547 pr->vltime = 0; 573 548 pr->pltime = 0; … … 579 554 } 580 555 581 /* ãã¬ãã£ãã¯ã¹ã¨ã³ããªã¨ãã£ãã©ã«ãã«ã¼ã¿ã»ã¨ã³ããªã®ãªã³ã¯ã解é¤ããã*/556 /* プレフィックスエントリとディフォルトルータ・エントリのリンクを解除する。*/ 582 557 pr->routermap = 0; 583 558 mask = make_mask(pr - nd6_prefix); … … 585 560 nd6_def_router[rix].plistmap &= ~mask; 586 561 587 /* ãã¬ãã£ãã¯ã¹ãç¡å¹ã«ããã*/562 /* プレフィックスを無効にする。*/ 588 563 pr->flags &= ~ND6_PREFIX_STATE_BUSY; 589 564 … … 592 567 593 568 /* 594 * nd6_prefix_onlink -- ãã¬ãã£ãã¯ã¹ããªã³ãªã³ã¯ã«è¨å®ããã¢ãã¬ã¹ã使ç¨å¯è½ã«ããã569 * nd6_prefix_onlink -- プレフィックスをオンリンクに設定し、アドレスを使用可能にする。 595 570 * 596 * 注æ: ãã®é¢æ°ãå¼ã³åºãã¨ãã¯ãSEM_ND6_DEFRTRLIST ã§ã597 * ããã¯ãã¦ããå¼ã³åºããã¨ã571 * 注意: この関数を呼び出すときは、SEM_ND6_DEFRTRLIST で、 572 * ロックしてから呼び出すこと。 598 573 */ 599 574 … … 605 580 int_t ix; 606 581 607 /* æ¢ã«ãªã³ãªã³ã¯ç¶æ 608 ã«ãªã£ã¦ããå ´åã¯ã¨ã©ã¼ã*/ 582 /* 既にオンリンク状態になっている場合はエラー。*/ 609 583 if ((pr->flags & ND6_PREFIX_STATE_ONLINK) != 0) 610 584 return E_OBJ; 611 585 612 /* ãªã³ã¯ãã¼ã«ã«ã¢ãã¬ã¹ãæªç»é²ã§ããã°ä½ãããªãã*/586 /* リンクローカルアドレスが未登録であれば何もしない。*/ 613 587 lla = &ifp->in6_ifaddrs[IPV6_IFADDR_IX_LINKLOCAL]; 614 588 if ((lla->flags & IN6_IFF_DEFINED) == 0) … … 616 590 617 591 /* 618 * æå®ããããã¬ãã£ãã¯ã¹ãå²ãå½ã¦ããã¦ããã¤ã³ã¿ãã§ã¼ã¹ã® 619 * ã¢ãã¬ã¹æ 620 å ±ãæ¢ãã 592 * 指定されたプレフィックスが割り当てられているインタフェースの 593 * アドレス情報を探す。 621 594 */ 622 595 for (ix = NUM_IN6_IFADDR_ENTRY; ix --; ) { … … 628 601 if (ix >= 0) { 629 602 630 /* ã¢ãã¬ã¹æ 631 å ±ã使ç¨å¯è½ã«ããã*/ 603 /* アドレス情報を使用可能にする。*/ 632 604 ia->flags &= ~IN6_IFF_DETACHED; 633 605 634 /* ãã¬ãã£ãã¯ã¹ããªã³ãªã³ã¯ã«è¨å®ããã*/606 /* プレフィックスをオンリンクに設定する。*/ 635 607 pr->flags |= ND6_PREFIX_STATE_ONLINK; 636 608 } … … 640 612 641 613 /* 642 * nd6_prefix_offlink -- ãã¬ãã£ãã¯ã¹ããªããªã³ã¯ã«è¨å®ããã¢ãã¬ã¹ã使ç¨ä¸å¯ã«ããã614 * nd6_prefix_offlink -- プレフィックスをオフリンクに設定し、アドレスを使用不可にする。 643 615 * 644 * 注æ: ãã®é¢æ°ãå¼ã³åºãã¨ãã¯ãSEM_ND6_DEFRTRLIST ã§ã645 * ããã¯ãã¦ããå¼ã³åºããã¨ã616 * 注意: この関数を呼び出すときは、SEM_ND6_DEFRTRLIST で、 617 * ロックしてから呼び出すこと。 646 618 */ 647 619 … … 653 625 int_t ix; 654 626 655 /* æ¢ã«ãªããªã³ã¯ç¶æ 656 ã«ãªã£ã¦ããå ´åã¯ã¨ã©ã¼ã*/ 627 /* 既にオフリンク状態になっている場合はエラー。*/ 657 628 if ((pr->flags & ND6_PREFIX_STATE_ONLINK) == 0) 658 629 return E_OBJ; 659 630 660 631 /* 661 * æå®ããããã¬ãã£ãã¯ã¹ãå²ãå½ã¦ããã¦ããã¤ã³ã¿ãã§ã¼ã¹ã® 662 * ã¢ãã¬ã¹æ 663 å ±ãæ¢ãã 632 * 指定されたプレフィックスが割り当てられているインタフェースの 633 * アドレス情報を探す。 664 634 */ 665 635 for (ix = NUM_IN6_IFADDR_ENTRY; ix --; ) { … … 671 641 if (ix >= 0) { 672 642 673 /* ã¢ãã¬ã¹æ 674 å ±ã使ç¨ä¸å¯ã«ããã*/ 643 /* アドレス情報を使用不可にする。*/ 675 644 ia->flags |= IN6_IFF_DETACHED; 676 645 677 /* ãã¬ãã£ãã¯ã¹ããªããªã³ã¯ã«è¨å®ããã*/646 /* プレフィックスをオフリンクに設定する。*/ 678 647 pr->flags &= ~ND6_PREFIX_STATE_ONLINK; 679 648 } … … 683 652 684 653 /* 685 * in6_init_prefix_ltimes -- ãã¬ãã£ãã¯ã¹ã®æå¹æéãè¨å®ããã654 * in6_init_prefix_ltimes -- プレフィックスの有効時間を設定する。 686 655 */ 687 656 … … 691 660 SYSTIM now; 692 661 693 /* æ¨å¥¨æå¹æéãæå¹æéããé·ãã¨ãã¯ã¨ã©ã¼*/662 /* 推奨有効時間が有効時間より長いときはエラー */ 694 663 if (pr->pltime > pr->vltime) 695 664 return E_PAR; … … 712 681 713 682 /* 714 * nd6_prelist_add -- ãã¬ãã£ãã¯ã¹ãªã¹ãã«ãã¬ãã£ãã¯ã¹ã追å ããã683 * nd6_prelist_add -- プレフィックスリストにプレフィックスを追加する。 715 684 * 716 * 注æ: ãã®é¢æ°ãå¼ã³åºãã¨ãã¯ãSEM_ND6_DEFRTRLIST ã§ã717 * ããã¯ãã¦ããå¼ã³åºããã¨ã685 * 注意: この関数を呼び出すときは、SEM_ND6_DEFRTRLIST で、 686 * ロックしてから呼び出すこと。 718 687 */ 719 688 … … 724 693 int_t ix; 725 694 726 /* ãã¬ãã£ãã¯ã¹ãªã¹ããã空ãã®ãã¬ãã£ãã¯ã¹ã¨ã³ããªãæ¢ç´¢ããã*/695 /* プレフィックスリストから空きのプレフィックスエントリを探索する。*/ 727 696 for (ix = NUM_ND6_PREFIX_ENTRY; ix --; ) { 728 697 pr = &nd6_prefix[ix]; … … 731 700 } 732 701 733 /* ãã¬ãã£ãã¯ã¹ãªã¹ãã«ç©ºãããªããã°ã¨ã©ã¼*/702 /* プレフィックスリストに空きがなければエラー */ 734 703 if (ix < 0) 735 704 return NULL; … … 737 706 pr->flags |= ND6_PREFIX_STATE_BUSY; 738 707 739 /* ãã¬ãã£ãã¯ã¹ã追å ããã*/708 /* プレフィックスを追加する。*/ 740 709 pr->prefix = pi->prefix; 741 710 pr->prefix_len = pi->prefix_len; 742 711 743 /* ãã©ã°ãè¨å®ããã*/712 /* フラグを設定する。*/ 744 713 if ((pi->flags & ND_OPT_PI_FLAG_ONLINK) != 0) 745 714 pr->flags |= ND6_PREFIX_FLAG_ONLINK; … … 747 716 pr->flags |= ND6_PREFIX_FLAG_AUTO; 748 717 749 /* ãã¬ãã£ãã¯ã¹ã®æå¹æéãè¨å®ããã*/718 /* プレフィックスの有効時間を設定する。*/ 750 719 pr->vltime = ntohl(pi->valid); 751 720 pr->pltime = ntohl(pi->preferred); … … 757 726 } 758 727 759 /* ã«ã¼ã¿ããããåæåããã*/728 /* ルータマップを初期化する。*/ 760 729 pr->routermap = 0; 761 730 762 /* ã«ã¼ã¿ã追å ããã*/731 /* ルータを追加する。*/ 763 732 pfxrtr_add(pr - nd6_prefix, rtr_index); 764 733 … … 767 736 768 737 /* 769 * prelist_update -- ãã¬ãã£ãã¯ã¹ã»ãªã¹ããæ´æ°ããã738 * prelist_update -- プレフィックス・リストを更新する。 770 739 */ 771 740 … … 781 750 if ((pr = nd6_prefix_lookup(&pi->prefix, pi->prefix_len)) != NULL) { 782 751 /* 783 * ç»é²æ¸ã¿ã®å ´åã¯ããã¬ãã£ãã¯ã¹ãªã¹ããæ´æ°ããã752 * 登録済みの場合は、プレフィックスリストを更新する。 784 753 */ 785 754 786 755 /* 787 * ãã©ã°ã®æ´æ°ã®æ³¨æ:788 * on-link ããã㨠autonomous ãããã¯789 * 1 ãã 0 ã«å¤æ´ãã¦ã¯ãªããªãã756 * フラグの更新の注意: 757 * on-link ビットと autonomous ビットは 758 * 1 から 0 に変更してはならない。 790 759 */ 791 760 … … 797 766 if ((pi->flags & ND_OPT_PI_FLAG_ONLINK) != 0) { 798 767 /* 799 * éç¥ããããã¬ãã£ãã¯ã¹ããªã³ãªã³ã¯ã®æã¯ã800 * æå¹æéãæ´æ°ããã768 * 通知されたプレフィックスがオンリンクの時は、 769 * 有効時間を更新する。 801 770 */ 802 771 pr->vltime = ntohl(pi->valid); … … 808 777 (pr->flags & ND6_PREFIX_STATE_ONLINK) == 0) { 809 778 /* 810 * ãªããªã³ã¯ã®ãã¬ãã£ãã¯ã¹ããªã³ãªã³ã¯ã«ãªã£ãæã®å¦çãå®è¡ããã779 * オフリンクのプレフィックスがオンリンクになった時の処理を実行する。 811 780 */ 812 781 if (nd6_prefix_onlink(pr) != E_OK) { … … 820 789 pfxrtr_add(pr - nd6_prefix, router_index); 821 790 } 822 else { /* æªç»é²ã®å ´å*/823 824 /* æå¹æé 0 ã®ãã¬ãã£ãã¯ã¹ã¯è¿½å ããªãã*/791 else { /* 未登録の場合 */ 792 793 /* 有効時間 0 のプレフィックスは追加しない。*/ 825 794 if (pi->valid == 0) { 826 795 syscall(sig_sem(SEM_ND6_DEFRTRLIST)); … … 828 797 } 829 798 830 /* ãªããªã³ã¯ã§ã¢ãã¬ã¹èªåè¨å®ã«ä½¿ç¨ããªããã°è¿½å ããªãã*/799 /* オフリンクでアドレス自動設定に使用しなければ追加しない。*/ 831 800 if ((pi->flags & (ND_OPT_PI_FLAG_ONLINK | ND_OPT_PI_FLAG_AUTO)) != 832 801 (ND_OPT_PI_FLAG_ONLINK | ND_OPT_PI_FLAG_AUTO)) { … … 835 804 } 836 805 837 /* ãã¬ãã£ãã¯ã¹ã追å ããã*/806 /* プレフィックスを追加する。*/ 838 807 if ((pr = nd6_prelist_add(pi, router_index)) == NULL) { 839 808 syslog(LOG_ERROR, "[ND6 RTR] prefix add failed."); … … 842 811 } 843 812 844 #if 1 /* ãã¬ãã£ãã¯ã¹ãæªç»é²ã®å ´åã ã表示ããã*/813 #if 1 /* プレフィックスが未登録の場合だけ表示する。*/ 845 814 syslog(LOG_NOTICE, "[ND6 RTR] add prefix: flags[MOH]: %02x, addr: %s\n" 846 815 " from: %s.", … … 851 820 if ((pr->flags & ND6_PREFIX_FLAG_ONLINK) == 0) { 852 821 /* 853 * ãªããªã³ã¯ã»ãã¬ãã£ãã¯ã¹ã®å ´åã¯ãæå¹æéã 0 ã«è¨å®ããã854 * ãã¨ã§æå¹æéåãã¨ãªãããªã¹ãããåé¤ãããã822 * オフリンク・プレフィックスの場合は、有効時間を 0 に設定する。 823 * あとで有効期限切れとなり、リストから削除される。 855 824 */ 856 825 pr->vltime = 0; … … 861 830 862 831 /* 863 * ã¹ãã¼ãã¬ã¹ã»ã¢ãã¬ã¹èªåè¨å®ãè¡ãã832 * ステートレス・アドレス自動設定を行う。 864 833 */ 865 834 if ((pr->flags & ND6_PREFIX_FLAG_AUTO) == 0) { … … 869 838 870 839 /* 871 * éç¥ããããã¬ãã£ãã¯ã¹ãå²ãå½ã¦ããã¦ããã¤ã³ã¿ãã§ã¼ã¹ã® 872 * ã¢ãã¬ã¹æ 873 å ±ãæ¢ãã 840 * 通知されたプレフィックスが割り当てられているインタフェースの 841 * アドレス情報を探す。 874 842 */ 875 843 for (ix = NUM_IN6_IFADDR_ENTRY; ix --; ) { … … 881 849 } 882 850 883 if (ix >= 0) { /* ç»é²æ¸ã¿ã®ã¨ã*/851 if (ix >= 0) { /* 登録済みのとき */ 884 852 if ((ia->flags & IN6_IFF_AUTOCONF) == 0) { 885 853 /* 886 * ã¹ãã¼ãã¬ã¹ã»ã¢ãã¬ã¹èªåè¨å®ã«ãã887 * è¨å®ããã¦ããªããã°æ´æ°ããªãã854 * ステートレス・アドレス自動設定により 855 * 設定されていなければ更新しない。 888 856 */ 889 857 ; … … 891 859 else if (ia->flags & IN6_IFF_TENTATIVE) { 892 860 /* 893 * éè¤æ¤åºä¸ãªãæ´æ°ããªãã861 * 重複検出中なら更新しない。 894 862 */ 895 863 ; … … 902 870 int_t ix; 903 871 904 /* æå¹æéãè¨å®ããã*/872 /* 有効時間を設定する。*/ 905 873 syscall(get_tim(&now)); 906 874 … … 914 882 if (pr->vltime > (2 * 60 * 60) || pr->vltime > vltime) { 915 883 /* 916 * lifetime.expire ãpi->valid (æå¹æé) ã¨917 * pi->preferred ( æ¨å¥¨æå¹æé) ã®åä½ã¯ [s]ã918 * éç¥ãããæå¹æéã 2 æé以ä¸ããç¾å¨ã®æ®ãæéãã919 * é·ããã°ãæ°ããæå¹æéã«ã¯ãéç¥ãããæå¹æéãè¨å®ããã884 * lifetime.expire、pi->valid (有効時間) と 885 * pi->preferred (推奨有効時間) の単位は [s]。 886 * 通知された有効時間が 2 時間以上か、現在の残り時間より 887 * 長ければ、新しい有効時間には、通知された有効時間を設定する。 920 888 */ 921 889 vltime = pr->vltime; … … 925 893 else { 926 894 /* 927 * IPsec ã¯æªå®è£ 928 ã®ããã2 æéãè¨å®ããã 895 * IPsec は未実装のため、2 時間を設定する。 929 896 */ 930 897 vltime = 2 * 60 * 60; … … 933 900 lla = &ifp->in6_ifaddrs[IPV6_IFADDR_IX_LINKLOCAL]; 934 901 935 /* ãã¬ãã£ãã¯ã¹ãã¹ã¯ãçæããã*/902 /* プレフィックスマスクを生成する。*/ 936 903 in6_plen2pmask(&mask, pr->prefix_len); 937 904 938 /* ã¢ãã¬ã¹ãçæããã*/905 /* アドレスを生成する。*/ 939 906 for (ix = 0; ix < 4; ix ++) 940 907 addr.s6_addr32[ix] = (pr->prefix.s6_addr32[ix] & mask.s6_addr32[ix]) … … 947 914 } 948 915 949 else { /* æªç»é²ã®ã¨ã*/916 else { /* 未登録のとき */ 950 917 951 918 /* 952 * ãã¬ãã£ãã¯ã¹é·ããã§ãã¯ããã 953 * ããããã¬ãã£ãã¯ã¹é·ã¨ã¤ã³ã¿ãã§ã¼ã¹ ID ã®åè¨ã 954 * 128 ãããã«ä¸è´ããªãæã¯ããã¬ãã£ãã¯ã¹æ 955 å ±ãç¡è¦ããã 919 * プレフィックス長をチェックする。 920 * もし、プレフィックス長とインタフェース ID の合計が 921 * 128 ビットに一致しない時は、プレフィックス情報を無視する。 956 922 */ 957 923 if ((ifidlen = in6_if2idlen(ifp)) < 0) … … 978 944 979 945 /* 980 * nd6_prelist_timer -- ãã¬ãã£ãã¯ã¹ã»ãªã¹ãã®ç®¡çã¿ã¤ãã¼946 * nd6_prelist_timer -- プレフィックス・リストの管理タイマー 981 947 */ 982 948 … … 989 955 990 956 syscall(get_tim(&now)); 991 now /= SYSTIM_HZ; /* æå¹æéã®åä½ã¯[s] */957 now /= SYSTIM_HZ; /* 有効時間の単位は [s] */ 992 958 993 959 syscall(wai_sem(SEM_ND6_DEFRTRLIST)); … … 1002 968 1003 969 /* 1004 * nd6_rs_output -- ã«ã¼ã¿è¦è«ãåºåããã970 * nd6_rs_output -- ルータ要請を出力する。 1005 971 */ 1006 972 … … 1017 983 1018 984 /* 1019 * éä¿¡å 1020 ã¢ãã¬ã¹ã«ã¯ããªã³ã¯ãã¼ã«ã«ã¢ãã¬ã¹ãè¨å®ãããã 1021 * ã¾ã è¨å®ããããªããã°ãç¡æå®ãè¨å®ããã 985 * 送信元アドレスには、リンクローカルアドレスを設定するが、 986 * まだ設定されいなければ、無指定を設定する。 1022 987 */ 1023 988 if ((ifa = in6ifa_ifpwithix(IF_GET_IFNET(), IPV6_IFADDR_IX_LINKLOCAL)) != NULL && !IFA6_IS_NOTREADY(ifa)) … … 1028 993 len = (ROUTER_SOLICIT_HDR_SIZE + 7) >> 3 << 3; 1029 994 1030 /* ãããã¯ã¼ã¯ãããã¡ãç²å¾ããIPv6 ããããè¨å®ããã*/995 /* ネットワークバッファを獲得し、IPv6 ヘッダを設定する。*/ 1031 996 if (in6_get_datagram(&output, len, 0, &in6_addr_linklocal_allrouters, 1032 997 saddr, IPPROTO_ICMPV6, … … 1034 999 return; 1035 1000 1036 /* ã«ã¼ã¿è¦è«ããããè¨å®ããã*/1001 /* ルータ要請ヘッダを設定する。*/ 1037 1002 rsh = GET_ROUTER_SOLICIT_HDR(output, IF_IP6_ROUTER_SOLICIT_HDR_OFFSET); 1038 1003 rsh->hdr.type = ND_ROUTER_SOLICIT; … … 1040 1005 rsh->nd_rs_reserved = 0; 1041 1006 1042 /* ãã§ãã¯ãµã ãè¨ç®ããã*/1007 /* チェックサムを計算する。*/ 1043 1008 rsh->hdr.sum = 0; 1044 1009 rsh->hdr.sum = in6_cksum(output, IPPROTO_ICMPV6, (uint8_t*)rsh - output->buf, len); 1045 1010 1046 /* éä¿¡ããã*/1011 /* 送信する。*/ 1047 1012 NET_COUNT_ICMP6(net_count_nd6[NC_ICMP6_OUT_OCTETS], 1048 1013 output->len - GET_IF_IP6_HDR_SIZE(output)); … … 1054 1019 1055 1020 /* 1056 * nd6_defrtrlist_lookup -- ãã£ãã©ã«ãã«ã¼ã¿ã»ãªã¹ããæ¢ç´¢ããã1021 * nd6_defrtrlist_lookup -- ディフォルトルータ・リストを探索する。 1057 1022 */ 1058 1023 … … 1073 1038 1074 1039 /* 1075 * nd6_router_lookup -- ã«ã¼ã¿ã®ã¢ãã¬ã¹ãè¿ãã1040 * nd6_router_lookup -- ルータのアドレスを返す。 1076 1041 * 1077 1042 */ … … 1087 1052 1088 1053 /* 1089 * nd6_defrtrlist_del -- ãã£ãã©ã«ãã«ã¼ã¿ã»ãªã¹ãããã«ã¼ã¿ãåé¤ããã1054 * nd6_defrtrlist_del -- ディフォルトルータ・リストからルータを削除する。 1090 1055 * 1091 * 注æ: ãã®é¢æ°ãå¼ã³åºãã¨ãã¯ãSEM_ND6_DEFRTRLIST ã§ã1092 * ããã¯ãã¦ããå¼ã³åºããã¨ã1056 * 注意: この関数を呼び出すときは、SEM_ND6_DEFRTRLIST で、 1057 * ロックしてから呼び出すこと。 1093 1058 */ 1094 1059 … … 1104 1069 if ((ia = in6ifa_ifpwithrtrix(ifp, rtrix)) != NULL) { 1105 1070 /* 1106 * ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã®ãã¬ãã£ãã¯ã¹ãéç¥ãã1107 * ã«ã¼ã¿ãå°éä¸è½ã«ããã1071 * ネットワークインタフェースのプレフィックスを通知した 1072 * ルータを到達不能にする。 1108 1073 */ 1109 1074 ia->router_index = IN6_RTR_IX_UNREACH; 1110 1075 } 1111 1076 1112 /* ãã¬ãã£ãã¯ã¹ãªã¹ãããã«ã¼ã¿ãåé¤ããã*/1077 /* プレフィックスリストからルータを削除する。*/ 1113 1078 mask = make_mask(rtrix); 1114 1079 for (pix = NUM_ND6_PREFIX_ENTRY; pix --; ) 1115 1080 nd6_prefix[pix].routermap &= ~mask; 1116 1081 1117 /* åé¤ããã«ã¼ã¿ä»¥éãåã«è©°ããã*/1082 /* 削除したルータ以降を前に詰める。*/ 1118 1083 for (rix = rtrix + 1; rix < def_router_count; rix ++) 1119 1084 nd6_def_router[rix - 1] = nd6_def_router[rix]; 1120 1085 1121 /* ãã¬ãã£ãã¯ã¹ãªã¹ãã®ã«ã¼ã¿ãæ´æ°ããã*/1086 /* プレフィックスリストのルータも更新する。*/ 1122 1087 if (dr != nd6_def_router) { 1123 1088 1124 /* ãã¹ã¯ãçæããã*/1089 /* マスクを生成する。*/ 1125 1090 mask = 1; 1126 1091 for (ix = rtrix - 1; ix -- > 0; ) … … 1134 1099 def_router_count --; 1135 1100 1136 /* ãã¬ãã£ãã¯ã¹ã®ãªã³ãªã³ã¯ç¶æ 1137 ã確èªããã*/ 1101 /* プレフィックスのオンリンク状態を確認する。*/ 1138 1102 pfxlist_onlink_check(); 1139 1103 1140 1104 /* 1141 * åé¤ããã«ã¼ã¿ãåªå 1142 ãã£ãã©ã«ãã«ã¼ã¿ã®å ´åã¯ã 1143 * åªå 1144 ãã£ãã©ã«ãã«ã¼ã¿ãé¸æããªããã 1105 * 削除するルータが優先ディフォルトルータの場合は、 1106 * 優先ディフォルトルータを選択しなおす。 1145 1107 */ 1146 1108 if (rtrix == 0) … … 1149 1111 1150 1112 /* 1151 * nd6_defrtrlist_timer -- ãã£ãã©ã«ãã«ã¼ã¿ã»ãªã¹ãã®ç®¡çã¿ã¤ãã¼1113 * nd6_defrtrlist_timer -- ディフォルトルータ・リストの管理タイマー 1152 1114 */ 1153 1115 … … 1173 1135 1174 1136 /* 1175 * nd6_get_drl -- ãã£ãã©ã«ãã«ã¼ã¿ã»ãªã¹ããç²å¾ããã1137 * nd6_get_drl -- ディフォルトルータ・リストを獲得する。 1176 1138 */ 1177 1139 … … 1184 1146 1185 1147 /* 1186 * nd6_get_prl -- ãã¬ãã£ãã¯ã¹ã»ãªã¹ããç²å¾ããã1148 * nd6_get_prl -- プレフィックス・リストを獲得する。 1187 1149 */ 1188 1150 … … 1196 1158 1197 1159 /* 1198 * nd6_ra_input -- ã«ã¼ã¿éç¥ã®å 1199 ¥åå¦çã 1160 * nd6_ra_input -- ルータ通知の入力処理。 1200 1161 */ 1201 1162 … … 1221 1182 1222 1183 /* 1223 * ãããã®ãã§ãã¯ã以ä¸ã®å ´åã¯ç ´æ£ããã1224 * ã»ããããªãããã IPV6_MAXHLIM (255) 以å¤1225 * ã»ãããé·ãçã1226 * ã»å§ç¹ã¢ãã¬ã¹ãããªã³ã¯ãã¼ã«ã«ã§ã¯ãªã(RFC2461)1184 * ヘッダのチェック、以下の場合は破棄する。 1185 * ・ホップリミットが IPV6_MAXHLIM (255) 以外 1186 * ・ヘッダ長が短い 1187 * ・始点アドレスが、リンクローカルではない (RFC2461) 1227 1188 */ 1228 1189 if (ip6h->hlim != IPV6_MAXHLIM || … … 1233 1194 rah = GET_ROUTER_ADVERT_HDR(input, off); 1234 1195 1235 /* è¿é£æ¢ç´¢ãªãã·ã§ã³ã®ãªãã»ãããè¨é²ããã*/1196 /* 近隣探索オプションのオフセットを記録する。*/ 1236 1197 if (nd6_options(nd_opt_off, input->buf + (off + ROUTER_ADVERT_HDR_SIZE), 1237 1198 input->len - (off + ROUTER_ADVERT_HDR_SIZE)) != E_OK) 1238 1199 goto err_ret; 1239 1200 /* 1240 * å°éå¯è½ç¶æ 1241 ã®æå¹æéã®æ´æ° 1201 * 到達可能状態の有効時間の更新 1242 1202 1243 1203 */ 1244 1204 if (rah->reachable) { 1245 advrea = ntohl(rah->reachable) * SYSTIM_HZ / 1000; /* rah->reachable ã®åä½ã¯ms */1205 advrea = ntohl(rah->reachable) * SYSTIM_HZ / 1000; /* rah->reachable の単位は ms */ 1246 1206 if (advrea <= ND6_MAX_REACHABLE_TIME && 1247 1207 advrea != nd6_base_reachable_time) { … … 1255 1215 } 1256 1216 1257 /* è¿é£æ¢ç´¢ã®éä¿¡ééã®æ´æ°*/1217 /* 近隣探索の送信間隔の更新 */ 1258 1218 if (rah->retransmit) { 1259 1219 nd6_retrans_time = ntohl(rah->retransmit) * SYSTIM_HZ / 1000; 1260 /* rah->retransmit ã®åä½ã¯ms */1261 } 1262 1263 /* ããããªãããã®è¦å®å¤ã®æ´æ°*/1220 /* rah->retransmit の単位は ms */ 1221 } 1222 1223 /* ホップリミットの規定値の更新 */ 1264 1224 if (rah->nd_ra_current_hoplimit) { 1265 1225 ip6_defhlim = rah->nd_ra_current_hoplimit; 1266 1226 } 1267 1227 1268 /* ãã£ãã©ã«ãã«ã¼ã¿ãªã¹ãã®æ´æ°*/1228 /* ディフォルトルータリストの更新 */ 1269 1229 rix = defrtrlist_update(&ip6h->src, 1270 1230 ntohs(rah->nd_ra_router_lifetime), 1271 rah->nd_ra_flags); /* rah->nd_ra_router_lifetime ã®åä½ã¯ç§*/1272 1273 /* ãã¬ãã£ãã¯ã¹ãªã¹ãã®æ´æ°*/1231 rah->nd_ra_flags); /* rah->nd_ra_router_lifetime の単位は秒 */ 1232 1233 /* プレフィックスリストの更新 */ 1274 1234 if (nd_opt_off[ND_OPT_OFF_ARRAY_IX(ND_OPT_PREFIX_INFO_COUNT)]) { 1275 1235 T_ND_OPT_PREFIX_INFO *pi; … … 1279 1239 pi_off = off + ROUTER_ADVERT_HDR_SIZE 1280 1240 + nd_opt_off[ND_OPT_OFF_ARRAY_IX(ND_OPT_PREFIX_INFORMATION)] - 8; 1281 /* 注æ: ãªãã·ã§ã³ãªãã»ããé 1282 åã«ã¯ããªãã»ãã + 8 ãè¨å®ããã¦ããã*/ 1241 /* 注意: オプションオフセット配列には、オフセット + 8 が設定されている。*/ 1283 1242 while (pi_count -- > 0) { 1284 1243 pi = (T_ND_OPT_PREFIX_INFO*)(input->buf + pi_off); 1285 1244 if (pi->type != ND_OPT_PREFIX_INFORMATION) 1286 /* ãªãã·ã§ã³ã¿ã¤ãããã¬ãã£ãã¯ã¹æ 1287 å ±ã§ãªããã°ä½ãããªãã*/ 1245 /* オプションタイプがプレフィックス情報でなければ何もしない。*/ 1288 1246 ; 1289 1247 else if (pi->len != 4) 1290 /* ãã¬ãã£ãã¯ã¹æ 1291 å ±ã®é·ãã 32 (8Ã4) ã§ãªããã°ä¸æ£ */ 1248 /* プレフィックス情報の長さが 32 (8×4) でなければ不正 */ 1292 1249 syslog(LOG_NOTICE, "[ND6 RTR] prefix opt len: %d.", pi->len); 1293 1250 else if (pi->prefix_len > 128) 1294 /* ãã¬ãã£ãã¯ã¹é·ã¯ 128 ããã以ä¸*/1251 /* プレフィックス長は 128 ビット以下 */ 1295 1252 syslog(LOG_NOTICE, "[ND6 RTR] prefix len: %d.", pi->prefix_len); 1296 1253 else if (IN6_IS_ADDR_MULTICAST(&pi->prefix) || 1297 1254 IN6_IS_ADDR_LINKLOCAL(&pi->prefix)) 1298 /* ãã«ããã£ã¹ãã¨ãªã³ã¯ãã¼ã«ã«ã¯ä¸æ£*/1255 /* マルチキャストとリンクローカルは不正 */ 1299 1256 syslog(LOG_NOTICE, "[ND6 RTR] invalid addr: %s from %s.", 1300 1257 ipv62str(NULL, &pi->prefix), ipv62str(NULL, &ip6h->src)); 1301 #if 0 /* FreeBSD 6.3 ã§åé¤ããã¦ããã*/1258 #if 0 /* FreeBSD 6.3 で削除されている。*/ 1302 1259 else if (IN6_IS_ADDR_AGGREGATE_UNICAST(&pi->prefix) && 1303 1260 (pi->prefix_len != 64) ) 1304 /* éç´å¯è½ã¦ããã£ã¹ãã§ããã¬ãã£ãã¯ã¹é·ã 64 ããã以å¤ã¯ä¸æ£*/1261 /* 集約可能ユニキャストで、プレフィックス長が 64 ビット以外は不正 */ 1305 1262 syslog(LOG_NOTICE, "[ND6 RTR] invalid prefix len for global: %d.", pi->prefix_len); 1306 1263 #endif 1307 1264 else if (ntohl(pi->preferred) > ntohl(pi->valid)) 1308 /* æ¨å¥¨æå¹æéãæå¹æéããé·ããã°ä¸æ£*/1265 /* 推奨有効時間が有効時間より長ければ不正 */ 1309 1266 syslog(LOG_NOTICE, "[ND6 RTR] preferred(%d) > valid time(%d).", ntohl(pi->preferred), ntohl(pi->valid)); 1310 1267 else { 1311 #if 0 /* ãã¬ãã£ãã¯ã¹ãæªç»é²ã®å ´åã ã表示ããã*/1268 #if 0 /* プレフィックスが未登録の場合だけ表示する。*/ 1312 1269 syslog(LOG_NOTICE, "[ND6 RTR] update prefix: flags[MOH]: %02x, addr: %s\n" 1313 1270 " from: %s.", … … 1316 1273 if (rix >= 0) { 1317 1274 /* 1318 * defrtrlist_update ã®æ»ãå¤ã¯ãã«ã¼ã¿ã®ã¤ã³ããã¯ã¹ã1319 * ãã ããå¤ã -1 ãªãããã¬ãã£ãã¯ã¹ã»ãªã¹ãã¯æ´æ°ããªãã1275 * defrtrlist_update の戻り値は、ルータのインデックス。 1276 * ただし、値が -1 なら、プレフィックス・リストは更新しない。 1320 1277 */ 1321 prelist_update(pi, rix); /* ãã¬ãã£ãã¯ã¹ã»ãªã¹ããæ´æ°ããã*/1278 prelist_update(pi, rix); /* プレフィックス・リストを更新する。*/ 1322 1279 } 1323 1280 } 1324 pi_off += pi->len << 3; /* ãªãã·ã§ã³é·ã®åä½ã¯ 8 ãã¤ã*/1325 } 1326 } 1327 1328 /* MTU ã®æ´æ°*/1281 pi_off += pi->len << 3; /* オプション長の単位は 8 バイト */ 1282 } 1283 } 1284 1285 /* MTU の更新 */ 1329 1286 if (nd_opt_off[ND_OPT_OFF_ARRAY_IX(ND_OPT_MTU)]) { 1330 1287 T_ND_OPT_MTU_HDR *optmtuh; … … 1335 1292 1336 1293 /* 1337 * å¤ã®ãã§ãã¯1294 * 値のチェック 1338 1295 * 1339 * ãªãã·ã§ã³é·: 11340 * äºç´: 01296 * オプション長: 1 1297 * 予約: 0 1341 1298 */ 1342 1299 if (optmtuh->len != 1 || optmtuh->reserved != 0) 1343 1300 goto err_ret; 1344 1301 1345 /* MTU ã IPv6 MMTUï¼1280 ãªã¯ãããï¼ä»¥ä¸ãªãç¡è¦ããã*/1302 /* MTU が IPv6 MMTU(1280 オクテット)以下なら無視する。*/ 1346 1303 mtu = ntohl(optmtuh->mtu); 1347 1304 if (mtu >= IPV6_MMTU) { … … 1352 1309 1353 1310 /* 1354 * ã«ã¼ã¿ã®å§ç¹ãªã³ã¯ã¢ãã¬ã¹ãè¿é£ãã£ãã·ã¥ã«ç»é²ããã1311 * ルータの始点リンクアドレスを近隣キャッシュに登録する。 1355 1312 */ 1356 1313 if (nd_opt_off[ND_OPT_OFF_ARRAY_IX(ND_OPT_SOURCE_LINKADDR)]) { 1357 1314 opth = (T_ND_OPT_HDR *)((uint8_t *)(input->buf + off + ROUTER_ADVERT_HDR_SIZE) + 1358 1315 nd_opt_off[ND_OPT_OFF_ARRAY_IX(ND_OPT_SOURCE_LINKADDR)] - 8); 1359 /* 注æ: ãªãã·ã§ã³ãªãã»ããé 1360 åã«ã¯ããªãã»ãã + 8 ãè¨å®ããã¦ããã*/ 1316 /* 注意: オプションオフセット配列には、オフセット + 8 が設定されている。*/ 1361 1317 lladdr = (uint8_t *)(opth + 1); 1362 1318 lladdr_len = (opth->len << 3); … … 1364 1320 1365 1321 /* 1366 * ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã®ã¢ãã¬ã¹é·ãä¸è´ããªããã°ã¨ã©ã¼1322 * ネットワークインタフェースのアドレス長が一致しなければエラー 1367 1323 */ 1368 1324 if (lladdr && lladdr_len != ((sizeof(T_IF_ADDR) + sizeof(T_ND_OPT_HDR) + 7) & ~7)) 1369 1325 goto err_ret; 1370 1326 1371 /* è¿é£ãã£ãã·ã¥ã«ç»é²ããã*/1327 /* 近隣キャッシュに登録する。*/ 1372 1328 nd6_cache_lladdr(ifp, &ip6h->src, (T_IF_ADDR *)lladdr, ND_ROUTER_ADVERT, 0); 1373 1329 1374 1330 /* 1375 * ã«ã¼ã¿ã®å§ç¹ãªã³ã¯ã¢ãã¬ã¹ãè¿é£ãã£ãã·ã¥ã«ç»é²ããã®ã§ã 1376 * ãªã³ãªã³ã¯ç¶æ 1377 ãå¤åããå¯è½æ§ããããããããããã§ãã¯ããã 1331 * ルータの始点リンクアドレスを近隣キャッシュに登録したので、 1332 * オンリンク状態が変化する可能性があるため、それをチェックする。 1378 1333 */ 1379 1334 pfxlist_onlink_check(); … … 1389 1344 1390 1345 /* 1391 * ã«ã¼ã¿éç¥ãåä¿¡ããªãå ´åã¯ãç ´æ£ãã¦çµäºããã1346 * ルータ通知を受信しない場合は、破棄して終了する。 1392 1347 */ 1393 1348 NET_COUNT_ICMP6(net_count_nd6[NC_ND6_RA_IN_PACKETS], 1); … … 1400 1355 1401 1356 /* 1402 * nd6_rtrsol_ctl -- ã«ã¼ã¿è¦è«åºåã®å¶å¾¡1357 * nd6_rtrsol_ctl -- ルータ要請出力の制御 1403 1358 */ 1404 1359 … … 1409 1364 int_t try; 1410 1365 1411 /* ãªã³ã¯ãã¼ã«ã«ã¢ãã¬ã¹ã®ã¢ãã¬ã¹æ 1412 å ±ãå¾ãã*/ 1366 /* リンクローカルアドレスのアドレス情報を得る。*/ 1413 1367 if ((ifa = in6ifa_ifpwithix(IF_GET_IFNET(), IPV6_IFADDR_IX_LINKLOCAL)) == NULL) 1414 1368 return; 1415 1369 1416 /* ãªã³ã¯ãã¼ã«ã«ã¢ãã¬ã¹ã®éè¤æ¤åºçµäºãå¾ 1417 ã¤ã*/ 1370 /* リンクローカルアドレスの重複検出終了を待つ。*/ 1418 1371 do { 1419 /* ãªã³ã¯ãã¼ã«ã«ã¢ãã¬ã¹ã®éè¤æ¤åºçµäºå¾ 1420 ã¡æéãè¨å®ããã*/ 1372 /* リンクローカルアドレスの重複検出終了待ち時間を設定する。*/ 1421 1373 syscall(dly_tsk(net_rand() % TMO_ND6_RTR_SOL_DELAY)); 1422 1374 1423 /* å¾ 1424 ã£ã¦ããéã«éè¤ãæ¤åºããããçµäºããã*/ 1375 /* 待っている間に重複が検出されたら終了する。*/ 1425 1376 if (ifa->flags & IN6_IFF_DUPLICATED) 1426 1377 return; … … 1430 1381 for (try = 0; try < NUM_ND6_RTR_SOL_RETRY; try ++) { 1431 1382 1432 /* ãã£ãã©ã«ãã«ã¼ã¿ã»ãªã¹ãã«ã¨ã³ããªãããã°çµäº*/1383 /* ディフォルトルータ・リストにエントリがあれば終了 */ 1433 1384 if (def_router_count > 0) 1434 1385 return; 1435 1386 1436 /* ã«ã¼ã¿è¦è«ãåºåããã*/1387 /* ルータ要請を出力する。*/ 1437 1388 nd6_rs_output(); 1438 1389 1439 /* åºåã® 2 åç®ä»¥éã®é 1440 延æéãè¨å®ããã*/ 1390 /* 出力の 2 回目以降の遅延時間を設定する。*/ 1441 1391 syscall(dly_tsk(TMO_ND6_RTR_SOL_INTERVAL)); 1442 1392 } … … 1446 1396 1447 1397 /* 1448 * nd6_onlink_prefix_lookup -- ãã¬ãã£ãã¯ã¹ãæ¢ç´¢ããã1398 * nd6_onlink_prefix_lookup -- プレフィックスを探索する。 1449 1399 */ 1450 1400 … … 1459 1409 now /= SYSTIM_HZ; 1460 1410 1461 /* æ¨å¥¨æå¹æéå 1462 ã®ãã¬ãã£ãã¯ã¹ãæ¢ç´¢ããã*/ 1411 /* 推奨有効時間内のプレフィックスを探索する。*/ 1463 1412 for (ix = NUM_ND6_PREFIX_ENTRY; ix -- > 0; ) { 1464 1413 pr = &nd6_prefix[ix]; … … 1472 1421 } 1473 1422 1474 /* æå¹æéå 1475 ã®ãã¬ãã£ãã¯ã¹ãæ¢ç´¢ããã*/ 1423 /* 有効時間内のプレフィックスを探索する。*/ 1476 1424 for (ix = NUM_ND6_PREFIX_ENTRY; ix -- > 0; ) { 1477 1425 pr = &nd6_prefix[ix]; -
asp3_gr_sakura/trunk/tinet/netinet6/route6.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 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 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 115 103 #if 0 116 104 /* 117 * é信帯åãé£ãã¤ã¶ãæ»æã¸ã®å¯¾å¿ã®ããã 118 * ã¿ã¤ã 0 çµè·¯å¶å¾¡ãããã®å¦çãè¡ããªãã 119 */ 120 121 /* 122 * ip6_rthdr0 -- ã¿ã¤ã 0 çµè·¯å¶å¾¡ãããã®å 123 ¥åé¢æ° 105 * 通信帯域を食いつぶす攻撃への対応のため、 106 * タイプ 0 経路制御ヘッダの処理を行わない。 107 */ 108 109 /* 110 * ip6_rthdr0 -- タイプ 0 経路制御ヘッダの入力関数 124 111 */ 125 112 … … 128 115 { 129 116 if (rt0h->segleft == 0) { 130 /* ä¸ç¶ãã¼ãæ°ã¯ 0 ãªã®ã§ãçµç¹ãã¼ã*/117 /* 中継ノード数は 0 なので、終点ノード */ 131 118 return E_OK; 132 119 } 133 120 134 /* len 㨠segleft ã®æ£å½æ§ãã§ãã¯*/121 /* len と segleft の正当性チェック */ 135 122 #ifdef IP6_CFG_COMPAT_RFC1883 136 123 if ((rt0h->len % 2) || (rt0h->len > 46)) { … … 139 126 #endif 140 127 /* 141 * len ã¯å¶æ°ã§ã(23 * 2) ã¾ã§ã142 * ãã ãã(23 * 2) ã®å¶é㯠RFC 2462 ã§åé¤ããã¦ããã128 * len は偶数で、(23 * 2) まで。 129 * ただし、(23 * 2) の制限は RFC 2462 で削除されている。 143 130 */ 144 131 icmp6_error(input, ICMP6_PARAM_PROB, … … 148 135 } 149 136 150 /* len ãä¸ç¶ãã¼ãæ°ã¨çç¾ãã¦ããªãããã§ãã¯ããã*/137 /* len が中継ノード数と矛盾していないかチェックする。*/ 151 138 if ((rt0h->len / 2) < rt0h->segleft) { 152 139 /* 153 * len 㯠8ãªã¯ãããåä½ãsegleft 㯠16ãªã¯ãããåä½ãªã®ã§ã154 * len / 2 == segleft ã¨ãªãã¯ãã155 * len / 2 < segleft ã¯ã¨ã©ã¼ã140 * len は 8オクテット単位、segleft は 16オクテット単位なので、 141 * len / 2 == segleft となるはず。 142 * len / 2 < segleft はエラー。 156 143 */ 157 144 icmp6_error(input, ICMP6_PARAM_PROB, … … 162 149 163 150 /* 164 * æ®ãã®ä¸ç¶ãã¼ãæ°ã 1 以ä¸ã§ããã°ããã®ãã¼ãã¯æçµç㪠165 * çµç¹ãã¼ãã§ã¯ãªããæ¬å®è£ 166 ã§ã¯ãä¸ç¶ãããªãã®ã§ã 167 * å 168 ¥åãã¼ã¿ã°ã©ã ã®å¦çãçµäºããã 151 * 残りの中継ノード数が 1 以上であれば、このノードは最終的な 152 * 終点ノードではない。本実装では、中継をしないので、 153 * 入力データグラムの処理を終了する。 169 154 */ 170 155 syscall(rel_net_buf(input)); … … 175 160 176 161 /* 177 * route6_input -- çµè·¯å¶å¾¡ãããã®å 178 ¥åé¢æ° 162 * route6_input -- 経路制御ヘッダの入力関数 179 163 */ 180 164 … … 186 170 uint_t len, off = *offp; 187 171 188 /* ãããã¯ã¼ã¯ãããã¡ã®æ®ãã®é·ãããã§ãã¯ããã*/172 /* ネットワークバッファの残りの長さをチェックする。*/ 189 173 if (input->len - off < sizeof(T_IP6_RT_HDR)) 190 174 goto buf_rel; … … 193 177 len = (rth->len + 1) << 3; 194 178 195 /* çµè·¯å¶å¾¡ãããã®é·ãããã§ãã¯ããã*/179 /* 経路制御ヘッダの長さをチェックする。*/ 196 180 if (input->len < off + len) 197 181 goto buf_rel; … … 199 183 #if 0 200 184 /* 201 * é信帯åãé£ãã¤ã¶ãæ»æã¸ã®å¯¾å¿ã®ããã202 * ã¿ã¤ã 0 çµè·¯å¶å¾¡ãããã®å¦çãè¡ããªãã185 * 通信帯域を食いつぶす攻撃への対応のため、 186 * タイプ 0 経路制御ヘッダの処理を行わない。 203 187 */ 204 188 if (rth->type == IPV6_RTHDR_TYPE_0) { 205 189 if (ip6_rthdr0(input, (T_IP6_RT0_HDR*)rth) != E_OK) { 206 190 207 /* ã¨ã©ã¼ã®å ´åã¯ãip6_rthdr0 ã§ãããã¡ãéæ¾ãã¦ããã*/191 /* エラーの場合は、ip6_rthdr0 でバッファを開放している。*/ 208 192 return IPPROTO_DONE; 209 193 } … … 212 196 213 197 /* 214 * æ®ãã®ä¸ç¶ãã¼ãæ°ã 1 以ä¸ã§ããã°ããã®ãã¼ãã¯æçµç㪠215 * çµç¹ãã¼ãã§ã¯ãªããæ¬å®è£ 216 ã§ã¯ãä¸ç¶ãããªãã®ã§ã 217 * ICMP6 ã¨ã©ã¼ãè¿éãã¦å¦çãçµäºããã 198 * 残りの中継ノード数が 1 以上であれば、このノードは最終的な 199 * 終点ノードではない。本実装では、中継をしないので、 200 * ICMP6 エラーを返送して処理を終了する。 218 201 */ 219 202 icmp6_error(input, ICMP6_PARAM_PROB, … … 226 209 227 210 /* 228 * æ®ãã®ä¸ç¶ãã¼ãæ°ã 1 以ä¸ã§ããã°ããã®ãã¼ãã¯æçµç㪠229 * çµç¹ãã¼ãã§ã¯ãªããæ¬å®è£ 230 ã§ã¯ãä¸ç¶ãããªãã®ã§ã 231 * ICMP6 ã¨ã©ã¼ãè¿éãã¦å¦çãçµäºããã 211 * 残りの中継ノード数が 1 以上であれば、このノードは最終的な 212 * 終点ノードではない。本実装では、中継をしないので、 213 * ICMP6 エラーを返送して処理を終了する。 232 214 */ 233 215 icmp6_error(input, ICMP6_PARAM_PROB, -
asp3_gr_sakura/trunk/tinet/netinet6/scope6.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 147 135 148 136 /* 149 * in6_addrscope -- ã¢ãã¬ã¹ã®ã¹ã³ã¼ã ID ãè¿ãã137 * in6_addrscope -- アドレスのスコープ ID を返す。 150 138 */ 151 139 -
asp3_gr_sakura/trunk/tinet/netinet6/udp6_input.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 78 66 79 67 /* 80 * udp_reply_no_port -- éä¿¡å 81 ã«ãã¼ããå®ç¾©ããã¦ããªããã¨ãéç¥ããã 68 * udp_reply_no_port -- 送信元にポートが定義されていないことを通知する。 82 69 */ 83 70 … … 93 80 if (GET_IP_VER(input)==IPV6_VERSION) { 94 81 95 /* ãã«ããã£ã¹ãã¢ãã¬ã¹ã«å±ãããã¼ã¿ã°ã©ã 㯠ICMP ã¨ã©ã¼ãéç¥ããªãã*/82 /* マルチキャストアドレスに届いたデータグラムは ICMP エラーを通知しない。*/ 96 83 if (!IN6_IS_ADDR_MULTICAST(&GET_IP6_HDR(input)->dst)) { 97 84 syslog(LOG_INFO, "[UDP] unexp port: %d.", ntohs(udph->dport)); 98 85 99 /* icmp6_error ã§ããããã¯ã¼ã¯ãããã¡ input ãè¿å´ããã*/86 /* icmp6_error で、ネットワークバッファ input を返却する。*/ 100 87 icmp6_error(input, ICMP6_DST_UNREACH, ICMP6_DST_UNREACH_NOPORT, 0); 101 88 } … … 105 92 else /*if (GET_IP_VER(input)==IPV4_VERSION)*/ { 106 93 107 /* ãã¼ã«ã« IP ã¢ãã¬ã¹ã«å±ãããã¼ã¿ã°ã©ã ã®ã¿ ICMP ã¨ã©ã¼ãéç¥ããã*/94 /* ローカル IP アドレスに届いたデータグラムのみ ICMP エラーを通知する。*/ 108 95 if (ntohl(GET_IP4_HDR(input)->dst) == IF_GET_IFNET()->in4_ifaddr.addr) { 109 96 syslog(LOG_INFO, "[UDP] unexp port: %d.", ntohs(udph->dport)); 110 97 111 98 icmp_error(ICMP4_UNREACH_PORT, input); 112 /* icmp_error ã§ã¯ããããã¯ã¼ã¯ãããã¡ input ãè¿å´ããªãã®ã§ä¸ã¸æããã*/99 /* icmp_error では、ネットワークバッファ input を返却しないので下へ抜ける。*/ 113 100 } 114 101 syscall(rel_net_buf(input)); … … 119 106 NET_COUNT_MIB(udp_stats.udpNoPorts, 1); 120 107 121 /* ãã«ããã£ã¹ãã¢ãã¬ã¹ã«å±ãããã¼ã¿ã°ã©ã 㯠ICMP ã¨ã©ã¼ãéç¥ããªãã*/108 /* マルチキャストアドレスに届いたデータグラムは ICMP エラーを通知しない。*/ 122 109 if (!IN6_IS_ADDR_MULTICAST(&GET_IP6_HDR(input)->dst)) { 123 110 syslog(LOG_INFO, "[UDP] unexp port: %d.", ntohs(udph->dport)); 124 111 125 /* icmp6_error ã§ããããã¯ã¼ã¯ãããã¡ input ãè¿å´ããã*/112 /* icmp6_error で、ネットワークバッファ input を返却する。*/ 126 113 icmp6_error(input, ICMP6_DST_UNREACH, ICMP6_DST_UNREACH_NOPORT, 0); 127 114 } -
asp3_gr_sakura/trunk/tinet/netinet6/udp6_subr.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 78 66 79 67 /* 80 * udp6_is_dstaddr_accept -- UDP ã®ãã¦å 81 ã¢ãã¬ã¹ãæ£ããããã§ãã¯ããã 68 * udp6_is_dstaddr_accept -- UDP のあて先アドレスが正しいかチェックする。 82 69 * 83 * 以ä¸ã®å ´åããã¼ã¿ã°ã©ã ãåä¿¡ããã70 * 以下の場合もデータグラムを受信する。 84 71 * 85 * ã»ãã¦å 86 ã¢ãã¬ã¹ããã«ããã£ã¹ã 72 * ・あて先アドレスがマルチキャスト 87 73 */ 88 74 … … 105 91 106 92 /* 107 * udpn_is_dstaddr_accept -- UDP ã®ãã¦å 108 ã¢ãã¬ã¹ãæ£ããããã§ãã¯ããã 93 * udpn_is_dstaddr_accept -- UDP のあて先アドレスが正しいかチェックする。 109 94 * 110 * DHCP_CFG ãå®ç¾©ããã¦ããã¨ãã¯ã以ä¸ã®ãã¼ã¿ã°ã©ã ãåä¿¡ããã95 * DHCP_CFG が定義されているときは、以下のデータグラムを受信する。 111 96 * 112 * ã»ãã¦å 113 ã¢ãã¬ã¹ãããã¼ããã£ã¹ã 114 * ã»ãã¼ã«ã«ã¢ãã¬ã¹ãæªå®ç¾© 97 * ・あて先アドレスがブロードキャスト 98 * ・ローカルアドレスが未定義 115 99 */ 116 100 … … 139 123 140 124 /* 141 * udpn_is_dstaddr_accept -- UDP ã®ãã¦å 142 ã¢ãã¬ã¹ãæ£ããããã§ãã¯ããã 125 * udpn_is_dstaddr_accept -- UDP のあて先アドレスが正しいかチェックする。 143 126 * 144 * 以ä¸ã®å ´åããã¼ã¿ã°ã©ã ãåä¿¡ããã127 * 以下の場合もデータグラムを受信する。 145 128 * 146 * ã»ãã¦å 147 ã¢ãã¬ã¹ãããã¼ããã£ã¹ã 129 * ・あて先アドレスがブロードキャスト 148 130 */ 149 131 -
asp3_gr_sakura/trunk/tinet/tcpip_api.def
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
-
asp3_gr_sakura/trunk/tinet/tcpip_sym.def
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
-
asp3_gr_sakura/trunk/tinet/tinet.trb
-
Property svn:mime-type
changed from
text/x-ruby
totext/x-ruby; charset=UTF-8
r317 r318 6 6 # Tomakomai National College of Technology, JAPAN 7 7 # 8 # ä¸è¨èä½æ¨©è 9 ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ 10 # ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹ 11 # å¤ã»åé 12 å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 13 # (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 14 # 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 15 # ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 16 # (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 17 # ç¨ã§ããå½¢ã§åé 18 å¸ããå ´åã«ã¯ï¼åé 19 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 20 # è 21 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 22 # ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 23 # (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 24 # ç¨ã§ããªãå½¢ã§åé 25 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 26 # ã¨ï¼ 27 # (a) åé 28 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 29 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 30 # ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 31 # (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 32 # 害ãããï¼ä¸è¨èä½æ¨©è 33 ããã³TOPPERSããã¸ã§ã¯ããå 34 責ãããã¨ï¼ 35 # ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç 36 # ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è 37 ããã³TOPPERSããã¸ã§ã¯ãã 38 # å 39 責ãããã¨ï¼ 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 # 免責すること. 40 28 # 41 # æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 42 ã 43 # ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 44 # ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 45 # ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 46 # ã®è²¬ä»»ãè² ããªãï¼ 29 # 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 # よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 # に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 # アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 # の責任を負わない. 47 34 # 48 # @(#) $Id : tinet.tf 824 2015-12-22 10:05:13Z coas-nagasima$35 # @(#) $Id$ 49 36 # 50 37 # ===================================================================== 51 38 52 39 # ===================================================================== 53 # tinet_cfg.h ã®çæ40 # tinet_cfg.h の生成 54 41 # ===================================================================== 55 42 … … 119 106 120 107 # ===================================================================== 121 # tinet_cfg.c ã®çæ108 # tinet_cfg.c の生成 122 109 # ===================================================================== 123 110 … … 148 135 EOS 149 136 # 150 # ã¤ã³ã¯ã«ã¼ããã£ã¬ã¯ãã£ãï¼#includeï¼137 # インクルードディレクティブ(#include) 151 138 # 152 139 $tinetCfgC.add() … … 186 173 $tinetCfgC.add("#endif") 187 174 188 # // TCP (IPv6) åä»å£175 # // TCP (IPv6) 受付口 189 176 $sem_tcp_rep_lock_id = 0 190 177 if $cfgData[:TCP6_CRE_REP].size > 0 || $cfgData[:VRID_TCP6_REP].size > 0 … … 216 203 end 217 204 218 # // TCP (IPv4) åä»å£205 # // TCP (IPv4) 受付口 219 206 if $cfgData[:TCP_CRE_REP].size > 0 || $cfgData[:VRID_TCP_REP].size > 0 220 207 $tinetCfgC.add() … … 245 232 end 246 233 247 # // TCP é信端ç¹234 # // TCP 通信端点 248 235 if $cfgData[:TCP6_CRE_CEP].size > 0 || $cfgData[:VRID_TCP6_CEP].size > 0 || $cfgData[:TCP_CRE_CEP].size > 0 || $cfgData[:VRID_TCP_CEP].size > 0 249 236 $tinetCfgC.add() … … 312 299 end 313 300 314 # // UDP (IPv6) é信端ç¹301 # // UDP (IPv6) 通信端点 315 302 if $cfgData[:UDP6_CRE_CEP].size > 0 || $cfgData[:VRID_UDP6_CEP].size > 0 316 303 $tinetCfgC.add() … … 343 330 end 344 331 345 # // UDP (IPv4) é信端ç¹332 # // UDP (IPv4) 通信端点 346 333 if $cfgData[:UDP_CRE_CEP].size > 0 || $cfgData[:VRID_UDP_CEP].size > 0 347 334 $tinetCfgC.add() … … 375 362 376 363 # ===================================================================== 377 # tinet_kern.cfg ã®çæ378 # ===================================================================== 379 380 # // TCP (IPv6) åä»å£364 # tinet_kern.cfg の生成 365 # ===================================================================== 366 367 # // TCP (IPv6) 受付口 381 368 $sem_tcp_rep_lock_id = 0 382 369 if $cfgData[:TCP6_CRE_REP].size > 0 || $cfgData[:VRID_TCP6_REP].size > 0 … … 403 390 end 404 391 405 # // TCP (IPv4) åä»å£392 # // TCP (IPv4) 受付口 406 393 if $cfgData[:TCP_CRE_REP].size > 0 || $cfgData[:VRID_TCP_REP].size > 0 407 394 $cfgData[:TCP_CRE_REP].each do |key, params| … … 427 414 end 428 415 429 # // TCP (IPv6) é信端ç¹416 # // TCP (IPv6) 通信端点 430 417 if $cfgData[:TCP6_CRE_CEP].size > 0 || $cfgData[:VRID_TCP6_CEP].size > 0 431 418 $cfgData[:TCP6_CRE_CEP].each do |key, params| … … 483 470 end 484 471 485 # // TCP (IPv4) é信端ç¹472 # // TCP (IPv4) 通信端点 486 473 if $cfgData[:TCP_CRE_CEP].size > 0 || $cfgData[:VRID_TCP_CEP].size > 0 487 474 $cfgData[:TCP_CRE_CEP].each do |key, params| … … 539 526 end 540 527 541 # // UDP (IPv6) é信端ç¹528 # // UDP (IPv6) 通信端点 542 529 if $cfgData[:UDP6_CRE_CEP].size > 0 || $cfgData[:VRID_UDP6_CEP].size > 0 543 530 $cfgData[:UDP6_CRE_CEP].each do |key, params| … … 573 560 end 574 561 575 # // UDP (IPv4) é信端ç¹562 # // UDP (IPv4) 通信端点 576 563 if $cfgData[:UDP_CRE_CEP].size > 0 || $cfgData[:VRID_UDP_CEP].size > 0 577 564 $cfgData[:UDP_CRE_CEP].each do |key, params| -
Property svn:mime-type
changed from
-
asp3_gr_sakura/trunk/tinet/tinet_asp.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * TINET ã®æ¨æºã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * TINET の標準システムコンフィギュレーションファイル 48 36 */ 49 37 … … 75 63 76 64 /* 77 * TINET ãããã³ã«ã¹ã¿ãã¯å 78 é¨ã®ã«ã¼ãã«ãªãã¸ã§ã¯ãã®æå® 65 * TINET プロトコルスタック内部のカーネルオブジェクトの指定 79 66 */ 80 67 -
asp3_gr_sakura/trunk/tinet/tinet_config.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 48 36 49 37 /* 50 * TINET 1.2 ã¨ã®äºææ§ã®ããã®å®ç¾©51 */ 52 53 /* TCP ã®ååãªã¼ãã³ããµãã¼ããããTINET 1.7 以éä¸è¦ã«ãªã£ããã*/38 * TINET 1.2 との互換性のための定義 39 */ 40 41 /* TCPの受動オープンをサポートする【TINET 1.7 以降不要になった】。*/ 54 42 55 43 #if 0 … … 57 45 #endif 58 46 59 /* TCP ã®ãã³ããããã³ã°ã³ã¼ã«æ©è½ãçµè¾¼ãã*/47 /* TCPのノンブロッキングコール機能を組込む。*/ 60 48 61 49 #define TCP_CFG_NON_BLOCKING 62 50 63 /* UDP ã®ãã³ããããã³ã°ã³ã¼ã«æ©è½ãçµè¾¼ãã*/51 /* UDPのノンブロッキングコール機能を組込む。*/ 64 52 65 53 #define UDP_CFG_NON_BLOCKING 66 54 67 55 /* 68 * NIC ãã·ã¹ãã ãCPUãå¿ç¨ããã°ã©ã ã«69 * ä¾åããå®ç¾©ãã¡ã¤ã«ãã¤ã³ã¯ã«ã¼ãããã56 * NIC、システム、CPU、応用プログラムに 57 * 依存する定義ファイルをインクルードする。 70 58 */ 71 59 … … 96 84 97 85 /* 98 * TINET 1.1 ã¨ã®äºææ§ã®ããã®å®ç¾©86 * TINET 1.1 との互換性のための定義 99 87 */ 100 88 … … 104 92 105 93 /* 106 * TINET 1.2 ã¨ã®äºææ§ã®ããã®å®ç¾©94 * TINET 1.2 との互換性のための定義 107 95 */ 108 96 … … 112 100 113 101 /* 114 * TINET 1.3 ã¨ã®äºææ§ã®ããã®å®ç¾©102 * TINET 1.3 との互換性のための定義 115 103 116 104 #ifdef NUM_MPF_NET_BUF_REASSM … … 120 108 121 109 /* 122 * TINET 1.5 ã¨ã®äºææ§ã®ããã®å®ç¾©123 */ 124 125 /* ã«ã¼ãã£ã³ã°è¡¨ã®ã¨ã³ããªæ°ã®å®ç¾©*/110 * TINET 1.5 との互換性のための定義 111 */ 112 113 /* ルーティング表のエントリ数の定義 */ 126 114 127 115 #define NUM_IN6_ROUTE_ENTRY \ 128 116 (NUM_IN6_STATIC_ROUTE_ENTRY + NUM_IN6_REDIRECT_ROUTE_ENTRY) 129 /* ã«ã¼ãã£ã³ã°è¡¨ã®ã¨ã³ããªæ°*/117 /* ルーティング表のエントリ数 */ 130 118 131 119 #define NUM_IN4_ROUTE_ENTRY \ 132 120 (NUM_IN4_STATIC_ROUTE_ENTRY + NUM_IN4_REDIRECT_ROUTE_ENTRY) 133 /* ã«ã¼ãã£ã³ã°è¡¨ã®ã¨ã³ããªæ°*/121 /* ルーティング表のエントリ数 */ 134 122 135 123 #if defined(SUPPORT_INET6) … … 175 163 #endif /* of #if defined(SUPPORT_INET6) */ 176 164 177 /* DHCP ã®å®ç¾©*/165 /* DHCP の定義 */ 178 166 179 167 #ifdef DHCP4_CLI_CFG … … 182 170 183 171 /* 184 * IPv6/IPv4 ã«é¢ããå®ç¾© 185 */ 186 187 /* 188 * æå®ããããã¯ãã«å¯¾ãã TINET å 189 é¨ã®ãã¯ãã®å®ç¾© 172 * IPv6/IPv4 に関する定義 173 */ 174 175 /* 176 * 指定されたマクロに対する TINET 内部のマクロの定義 190 177 * 191 178 * SUPPORT_INET6 . . ON ON ON ON … … 211 198 212 199 /* 213 * TCP ã«é¢ããå®ç¾©214 */ 215 216 /* 217 * MAX_TCP_RCV_SEG: åä¿¡ã»ã°ã¡ã³ããµã¤ãºã®æ大å¤200 * TCP に関する定義 201 */ 202 203 /* 204 * MAX_TCP_RCV_SEG: 受信セグメントサイズの最大値 218 205 * 219 * 注æ: å¤æ´ãã¹ãã§ã¯ãªãã206 * 注意: 変更すべきではない。 220 207 */ 221 208 … … 225 212 226 213 /* 227 * DEF_TCP_SND_SEG: éä¿¡ã»ã°ã¡ã³ããµã¤ãºã®è¦å®å¤214 * DEF_TCP_SND_SEG: 送信セグメントサイズの規定値 228 215 */ 229 216 … … 233 220 234 221 /* 235 * TCP é信端ç¹ã®éåä¿¡ã¦ã£ã³ããããã¡ã®çã³ãã¼æ©è½222 * TCP 通信端点の送受信ウィンドバッファの省コピー機能 236 223 */ 237 224 … … 249 236 250 237 /* 251 * TCP_CFG_URG_OFFSET: ç·æ¥ãã¼ã¿ã®æå¾ã®ãã¤ãã®ãªãã»ãã238 * TCP_CFG_URG_OFFSET: 緊急データの最後のバイトのオフセット 252 239 * 253 * -1: BSD ã®å®è£ 254 ãç·æ¥ãã¤ã³ã¿ã¯ãç·æ¥ãã¼ã¿ã®æå¾ã®ãã¤ãã®æ¬¡ã®ãã¤ããå·®ãã 255 * 0: RFC1122 ã®è¦å®ãç·æ¥ãã¤ã³ã¿ã¯ãç·æ¥ãã¼ã¿ã®æå¾ã®ãã¤ããå·®ãã 240 * -1: BSD の実装、緊急ポインタは、緊急データの最後のバイトの次のバイトを差す。 241 * 0: RFC1122 の規定、緊急ポインタは、緊急データの最後のバイトを差す。 256 242 */ 257 243 … … 261 247 262 248 /* 263 * ARP ã«é¢ããå®ç¾©249 * ARP に関する定義 264 250 */ 265 251 266 252 #ifndef ARP_CACHE_KEEP 267 #define ARP_CACHE_KEEP (20*60*NET_TIMER_HZ) /* ARP ãã£ãã·ã¥ã®ã¿ã¤ã ã¢ã¦ã*/268 #endif 269 270 /* 271 * ã«ã¼ãããã¯ã¤ã³ã¿ãã§ã¼ã¹ã«é¢ããå®ç¾©253 #define ARP_CACHE_KEEP (20*60*NET_TIMER_HZ) /* ARP キャッシュのタイムアウト */ 254 #endif 255 256 /* 257 * ループバックインタフェースに関する定義 272 258 */ 273 259 274 260 #ifndef LOMTU 275 #define LOMTU 1500 /* ã«ã¼ãããã¯ã®MTU */276 #endif 277 278 /* 279 * TINET ãµãã¼ãé¢æ°ã«é¢ããå®ç¾©280 */ 281 282 #ifndef NUM_IPV4ADDR_STR_BUFF /* ip2str ã«ããã IP ã¢ãã¬ã¹æååç¨ãããã¡æ°*/261 #define LOMTU 1500 /* ループバックの MTU */ 262 #endif 263 264 /* 265 * TINET サポート関数に関する定義 266 */ 267 268 #ifndef NUM_IPV4ADDR_STR_BUFF /* ip2str における IP アドレス文字列用バッファ数 */ 283 269 284 270 #if defined(SUPPORT_PPP) … … 295 281 296 282 #ifndef NUM_IPV6ADDR_STR_BUFF 297 #define NUM_IPV6ADDR_STR_BUFF 2 /* ip62str ã«ããã IP ã¢ãã¬ã¹æååç¨ãããã¡æ°*/298 #endif 299 300 #ifndef NUM_MACADDR_STR_BUFF /* macstr ã«ããã MAC ã¢ãã¬ã¹æååç¨ãããã¡æ°*/283 #define NUM_IPV6ADDR_STR_BUFF 2 /* ip62str における IP アドレス文字列用バッファ数 */ 284 #endif 285 286 #ifndef NUM_MACADDR_STR_BUFF /* macstr における MAC アドレス文字列用バッファ数 */ 301 287 302 288 #if defined(SUPPORT_INET4) && defined(ETHER_CFG_ACCEPT_ALL) && defined(ETHER_CFG_MCAST_WARNING) … … 313 299 314 300 /* 315 * TINET å 316 é¨ã®ã¿ã¤ã ã¢ã¦ãå¤ã®è¨å® 301 * TINET 内部のタイムアウト値の設定 317 302 */ 318 303 319 304 #ifndef TMO_IP4_FRAG_GET_NET_BUF 320 #define TMO_IP4_FRAG_GET_NET_BUF ULONG_C(1000000) /* [us] ãIPv4 ãã¼ã¿ã°ã©ã åæ§æç¨ãããã¯ã¼ã¯ãããã¡ç²å¾ã¿ã¤ã ã¢ã¦ã*/305 #define TMO_IP4_FRAG_GET_NET_BUF ULONG_C(1000000) /* [us]、IPv4 データグラム再構成用ネットワークバッファ獲得タイムアウト */ 321 306 #endif 322 307 323 308 #ifndef TMO_IP6_FRAG_GET_NET_BUF 324 #define TMO_IP6_FRAG_GET_NET_BUF ULONG_C(1000000) /* [us] ãIPv6 ãã¼ã¿ã°ã©ã åæ§æç¨ãããã¯ã¼ã¯ãããã¡ç²å¾ã¿ã¤ã ã¢ã¦ã*/309 #define TMO_IP6_FRAG_GET_NET_BUF ULONG_C(1000000) /* [us]、IPv6 データグラム再構成用ネットワークバッファ獲得タイムアウト */ 325 310 #endif 326 311 327 312 #ifndef TMO_PPP_GET_NET_BUF 328 #define TMO_PPP_GET_NET_BUF ULONG_C(1000000) /* [us] ãPPP åä¿¡ç¨ãããã¯ã¼ã¯ãããã¡ç²å¾ã¿ã¤ã ã¢ã¦ã*/313 #define TMO_PPP_GET_NET_BUF ULONG_C(1000000) /* [us]、PPP 受信用ネットワークバッファ獲得タイムアウト */ 329 314 #endif 330 315 331 316 #ifndef TMO_ARP_GET_NET_BUF 332 #define TMO_ARP_GET_NET_BUF ULONG_C(1000000) /* [us] ãARP ã®ãããã¯ã¼ã¯ãããã¡ç²å¾ã¿ã¤ã ã¢ã¦ã*/317 #define TMO_ARP_GET_NET_BUF ULONG_C(1000000) /* [us]、ARP のネットワークバッファ獲得タイムアウト */ 333 318 #endif 334 319 335 320 #ifndef TMO_TCP_GET_NET_BUF 336 #define TMO_TCP_GET_NET_BUF ULONG_C(1000000) /* [us] ãTCP ã®ãããã¯ã¼ã¯ãããã¡ç²å¾ã¿ã¤ã ã¢ã¦ã*/321 #define TMO_TCP_GET_NET_BUF ULONG_C(1000000) /* [us]、TCP のネットワークバッファ獲得タイムアウト */ 337 322 #endif 338 323 339 324 #ifndef TMO_TCP_OUTPUT 340 #define TMO_TCP_OUTPUT ULONG_C(1000000) /* [us] ãTCP åºåã¿ã¤ã ã¢ã¦ã*/325 #define TMO_TCP_OUTPUT ULONG_C(1000000) /* [us]、TCP 出力タイムアウト */ 341 326 #endif 342 327 343 328 #ifndef TMO_UDP_OUTPUT 344 #define TMO_UDP_OUTPUT ULONG_C(1000000) /* [us] ãUDP åºåã¿ã¤ã ã¢ã¦ã*/329 #define TMO_UDP_OUTPUT ULONG_C(1000000) /* [us]、UDP 出力タイムアウト */ 345 330 #endif 346 331 347 332 #ifndef TMO_ICMP_OUTPUT 348 #define TMO_ICMP_OUTPUT ULONG_C(1000000) /* [us] ãICMP åºåã¿ã¤ã ã¢ã¦ã*/333 #define TMO_ICMP_OUTPUT ULONG_C(1000000) /* [us]、ICMP 出力タイムアウト */ 349 334 #endif 350 335 351 336 #ifndef TMO_ND6_NS_OUTPUT 352 #define TMO_ND6_NS_OUTPUT ULONG_C(1000000) /* [us] ãè¿é£è¦è«åºåã¿ã¤ã ã¢ã¦ã*/337 #define TMO_ND6_NS_OUTPUT ULONG_C(1000000) /* [us]、近隣要請出力タイムアウト */ 353 338 #endif 354 339 355 340 #ifndef TMO_ND6_NA_OUTPUT 356 #define TMO_ND6_NA_OUTPUT ULONG_C(1000000) /* [us] ãè¿é£éç¥åºåã¿ã¤ã ã¢ã¦ã*/341 #define TMO_ND6_NA_OUTPUT ULONG_C(1000000) /* [us]、近隣通知出力タイムアウト */ 357 342 #endif 358 343 359 344 #ifndef TMO_ND6_RS_OUTPUT 360 #define TMO_ND6_RS_OUTPUT ULONG_C(1000000) /* [us] ãã«ã¼ã¿è¦è«åºåã¿ã¤ã ã¢ã¦ã*/345 #define TMO_ND6_RS_OUTPUT ULONG_C(1000000) /* [us]、ルータ要請出力タイムアウト */ 361 346 #endif 362 347 363 348 #ifndef TMO_ARP_OUTPUT 364 #define TMO_ARP_OUTPUT ULONG_C(1000000) /* [us] ãã¢ãã¬ã¹è§£æ±ºè¦æ±åºåã¿ã¤ã ã¢ã¦ã*/349 #define TMO_ARP_OUTPUT ULONG_C(1000000) /* [us]、アドレス解決要求出力タイムアウト */ 365 350 #endif 366 351 367 352 #ifndef TMO_ND6_RTR_SOL_DELAY 368 #define TMO_ND6_RTR_SOL_DELAY ULONG_C(1000000) /* [us]ãã«ã¼ã¿è¦è«åºåé 369 延 */ 353 #define TMO_ND6_RTR_SOL_DELAY ULONG_C(1000000) /* [us]、ルータ要請出力遅延 */ 370 354 #endif 371 355 372 356 #ifndef TMO_ND6_RTR_SOL_INTERVAL 373 #define TMO_ND6_RTR_SOL_INTERVAL ULONG_C(4000000) /* [us] ãã«ã¼ã¿è¦è«åºåéé*/357 #define TMO_ND6_RTR_SOL_INTERVAL ULONG_C(4000000) /* [us]、ルータ要請出力間隔 */ 374 358 #endif 375 359 376 360 #ifndef TMO_IN_REDIRECT 377 /* [s] ãåãç´ãã«ã¼ãã£ã³ã°ã¨ã³ããªã¿ã¤ã ã¢ã¦ã*/361 /* [s]、向け直しルーティングエントリタイムアウト*/ 378 362 #define TMO_IN_REDIRECT (10*60*NET_TIMER_HZ) 379 363 #endif 380 364 381 365 /* 382 * TINET å 383 é¨ã®ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãºã®è¨å® 366 * TINET 内部のタスクのスタックサイズの設定 384 367 */ 385 368 386 369 #ifndef TCP_OUT_TASK_STACK_SIZE 387 #define TCP_OUT_TASK_STACK_SIZE 1024 /* TCP åºåã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº*/370 #define TCP_OUT_TASK_STACK_SIZE 1024 /* TCP 出力タスクのスタックサイズ */ 388 371 #endif 389 372 390 373 #ifndef UDP_OUT_TASK_STACK_SIZE 391 #define UDP_OUT_TASK_STACK_SIZE 1024 /* UDP åºåã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº*/374 #define UDP_OUT_TASK_STACK_SIZE 1024 /* UDP 出力タスクのスタックサイズ */ 392 375 #endif 393 376 394 377 #ifndef PPP_INPUT_STACK_SIZE 395 #define PPP_INPUT_STACK_SIZE 1024 /* PPP ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº*/378 #define PPP_INPUT_STACK_SIZE 1024 /* PPP タスクのスタックサイズ */ 396 379 #endif 397 380 398 381 #ifndef PPP_OUTPUT_STACK_SIZE 399 #define PPP_OUTPUT_STACK_SIZE 1024 /* PPP åºåã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº*/382 #define PPP_OUTPUT_STACK_SIZE 1024 /* PPP 出力タスクのスタックサイズ */ 400 383 #endif 401 384 402 385 #ifndef ETHER_INPUT_STACK_SIZE 403 #define ETHER_INPUT_STACK_SIZE 1024 /* Ethernet å 404 ¥åã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */ 386 #define ETHER_INPUT_STACK_SIZE 1024 /* Ethernet 入力タスクのスタックサイズ */ 405 387 #endif 406 388 407 389 #ifndef ETHER_OUTPUT_STACK_SIZE 408 #define ETHER_OUTPUT_STACK_SIZE 1024 /* Ethernet åºåã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº*/390 #define ETHER_OUTPUT_STACK_SIZE 1024 /* Ethernet 出力タスクのスタックサイズ */ 409 391 #endif 410 392 411 393 #ifndef LOOP_INPUT_STACK_SIZE 412 #define LOOP_INPUT_STACK_SIZE 1024 /* ã«ã¼ãããã¯å 413 ¥åã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */ 394 #define LOOP_INPUT_STACK_SIZE 1024 /* ループバック入力タスクのスタックサイズ */ 414 395 #endif 415 396 416 397 #ifndef LOOP_OUTPUT_STACK_SIZE 417 #define LOOP_OUTPUT_STACK_SIZE 1024 /* ã«ã¼ãããã¯åºåã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº*/398 #define LOOP_OUTPUT_STACK_SIZE 1024 /* ループバック出力タスクのスタックサイズ */ 418 399 #endif 419 400 420 401 #ifndef NET_TIMER_STACK_SIZE 421 #define NET_TIMER_STACK_SIZE 1024 /* ãããã¯ã¼ã¯ã¿ã¤ãã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */ 422 #endif 423 424 /* 425 * TINET å 426 é¨ã®ã¿ã¹ã¯ã®åªå 427 度ã®è¨å® 402 #define NET_TIMER_STACK_SIZE 1024 /* ネットワークタイマタスクのスタックサイズ */ 403 #endif 404 405 /* 406 * TINET 内部のタスクの優先度の設定 428 407 */ 429 408 430 409 #ifndef TCP_OUT_TASK_PRIORITY 431 #define TCP_OUT_TASK_PRIORITY 5 /* TCP åºåã¿ã¹ã¯ã®åªå 432 度 */ 410 #define TCP_OUT_TASK_PRIORITY 5 /* TCP 出力タスクの優先度 */ 433 411 #endif 434 412 435 413 #ifndef UDP_OUT_TASK_PRIORITY 436 #define UDP_OUT_TASK_PRIORITY 5 /* UDP åºåã¿ã¹ã¯ã®åªå 437 度 */ 414 #define UDP_OUT_TASK_PRIORITY 5 /* UDP 出力タスクの優先度 */ 438 415 #endif 439 416 440 417 #ifndef PPP_INPUT_PRIORITY 441 #define PPP_INPUT_PRIORITY 5 /* PPP ã¿ã¹ã¯ã®åªå 442 度 */ 418 #define PPP_INPUT_PRIORITY 5 /* PPP タスクの優先度 */ 443 419 #endif 444 420 445 421 #ifndef PPP_OUTPUT_PRIORITY 446 #define PPP_OUTPUT_PRIORITY 5 /* PPP ã¿ã¹ã¯ã®åªå 447 度 */ 422 #define PPP_OUTPUT_PRIORITY 5 /* PPP タスクの優先度 */ 448 423 #endif 449 424 450 425 #ifndef ETHER_INPUT_PRIORITY 451 #define ETHER_INPUT_PRIORITY 5 /* Ethernet å 452 ¥åã¿ã¹ã¯ã®åªå 453 度 */ 426 #define ETHER_INPUT_PRIORITY 5 /* Ethernet 入力タスクの優先度 */ 454 427 #endif 455 428 456 429 #ifndef ETHER_OUTPUT_PRIORITY 457 #define ETHER_OUTPUT_PRIORITY 5 /* Ethernet åºåã¿ã¹ã¯ã®åªå 458 度 */ 430 #define ETHER_OUTPUT_PRIORITY 5 /* Ethernet 出力タスクの優先度 */ 459 431 #endif 460 432 461 433 #ifndef LOOP_INPUT_PRIORITY 462 #define LOOP_INPUT_PRIORITY 5 /* ã«ã¼ãããã¯å 463 ¥åã¿ã¹ã¯ã®åªå 464 度 */ 434 #define LOOP_INPUT_PRIORITY 5 /* ループバック入力タスクの優先度 */ 465 435 #endif 466 436 467 437 #ifndef LOOP_OUTPUT_PRIORITY 468 #define LOOP_OUTPUT_PRIORITY 5 /* ã«ã¼ãããã¯åºåã¿ã¹ã¯ã®åªå 469 度 */ 438 #define LOOP_OUTPUT_PRIORITY 5 /* ループバック出力タスクの優先度 */ 470 439 #endif 471 440 472 441 #ifndef NET_TIMER_PRIORITY 473 #define NET_TIMER_PRIORITY 5 /* ãããã¯ã¼ã¯ã¿ã¤ãã¿ã¹ã¯ã®åªå 474 度 */ 475 #endif 476 477 /* 478 * TINET å 479 é¨ã®ãã¼ã¿ãã¥ã¼ã®ã¨ã³ããªæ°ã®è¨å® 480 */ 481 482 /* UDP åä¿¡ãã¥ã¼ãµã¤ãº */ 442 #define NET_TIMER_PRIORITY 5 /* ネットワークタイマタスクの優先度 */ 443 #endif 444 445 /* 446 * TINET 内部のデータキューのエントリ数の設定 447 */ 448 449 /* UDP 受信キューサイズ */ 483 450 484 451 #ifndef NUM_DTQ_UDP_RCVQ 485 #define NUM_DTQ_UDP_RCVQ 1 /* éã³ã¼ã«ããã¯ç¨*/452 #define NUM_DTQ_UDP_RCVQ 1 /* 非コールバック用 */ 486 453 #endif 487 454 488 455 #ifndef NUM_DTQ_UDP_OUTPUT 489 #define NUM_DTQ_UDP_OUTPUT 1 /* UDP åºåãã¼ã¿ãã¥ã¼ãµã¤ãº*/456 #define NUM_DTQ_UDP_OUTPUT 1 /* UDP 出力データキューサイズ */ 490 457 #endif 491 458 492 459 #ifndef NUM_DTQ_PPP_OUTPUT 493 #define NUM_DTQ_PPP_OUTPUT 2 /* PPP åºåãã¼ã¿ãã¥ã¼ãµã¤ãºã2 以ä¸*/460 #define NUM_DTQ_PPP_OUTPUT 2 /* PPP 出力データキューサイズ、2 以上 */ 494 461 #endif 495 462 496 463 #ifndef NUM_DTQ_ETHER_OUTPUT 497 #define NUM_DTQ_ETHER_OUTPUT 2 /* Ethernet åºåãã¼ã¿ãã¥ã¼ãµã¤ãº*/464 #define NUM_DTQ_ETHER_OUTPUT 2 /* Ethernet 出力データキューサイズ */ 498 465 #endif 499 466 500 467 #ifndef NUM_DTQ_LOOP_INPUT 501 #define NUM_DTQ_LOOP_INPUT 0 /* ã«ã¼ãããã¯å 502 ¥åãã¼ã¿ãã¥ã¼ãµã¤ãº */ 468 #define NUM_DTQ_LOOP_INPUT 0 /* ループバック入力データキューサイズ */ 503 469 #endif 504 470 505 471 #ifndef NUM_DTQ_LOOP_OUTPUT 506 #define NUM_DTQ_LOOP_OUTPUT 0 /* ã«ã¼ãããã¯åºåãã¼ã¿ãã¥ã¼ãµã¤ãº */ 507 #endif 508 509 /* 510 * TINET ãããã³ã«ã¹ã¿ãã¯å 511 é¨ã®ãªãã¼ã 472 #define NUM_DTQ_LOOP_OUTPUT 0 /* ループバック出力データキューサイズ */ 473 #endif 474 475 /* 476 * TINET プロトコルスタック内部のリネーム 512 477 */ 513 478 -
asp3_gr_sakura/trunk/tinet/tinet_defs.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 56 44 57 45 /* 58 * ã«ã¼ãã«ã®èå¥46 * カーネルの識別 59 47 */ 60 48 -
asp3_gr_sakura/trunk/tinet/tinet_kernel_defs.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r317 r318 5 5 * Tomakomai National College of Technology, JAPAN 6 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 責ãããã¨ï¼ 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プロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * ã«ã¼ãã«ã«é¢ããäºææ§å®ç¾©ãã¡ã¤ã«35 * カーネルに関する互換性定義ファイル 48 36 */ 49 37 … … 56 44 57 45 /* 58 * ãã¼ã¿åã®å®ç¾©ï¼inttype.hï¼46 * データ型の定義(inttype.h) 59 47 */ 60 48 61 49 #ifdef _int8_ 62 typedef _int8_ int8_t; /* 符å·ä»ã 8 ãããæ´æ°*/63 typedef unsigned _int8_ uint8_t; /* 符å·ç¡ã 8 ãããæ´æ°*/50 typedef _int8_ int8_t; /* 符号付き 8 ビット整数 */ 51 typedef unsigned _int8_ uint8_t; /* 符号無し 8 ビット整数 */ 64 52 #endif /* of #ifdef _int8_ */ 65 53 66 54 #ifdef _int16_ 67 typedef _int16_ int16_t; /* 符å·ä»ã 16 ãããæ´æ°*/68 typedef unsigned _int16_ uint16_t; /* 符å·ç¡ã 16 ãããæ´æ°*/55 typedef _int16_ int16_t; /* 符号付き 16 ビット整数 */ 56 typedef unsigned _int16_ uint16_t; /* 符号無し 16 ビット整数 */ 69 57 #endif /* of #ifdef _int16_ */ 70 58 71 59 #ifdef _int32_ 72 typedef _int32_ int32_t; /* 符å·ä»ã 32 ãããæ´æ°*/73 typedef unsigned _int32_ uint32_t; /* 符å·ç¡ã 32 ãããæ´æ°*/60 typedef _int32_ int32_t; /* 符号付き 32 ビット整数 */ 61 typedef unsigned _int32_ uint32_t; /* 符号無し 32 ビット整数 */ 74 62 #endif /* of #ifdef _int32_ */ 75 63 76 64 #ifdef _int64_ 77 typedef unsigned _int64_ uint64_t; /* 符å·ç¡ã 64 ãããæ´æ°*/65 typedef unsigned _int64_ uint64_t; /* 符号無し 64 ビット整数 */ 78 66 #endif /* of #ifdef _int64_ */ 79 67 80 typedef signed int int_t; /* èªç¶ãªãµã¤ãºã®ç¬¦å·ä»ãæ´æ°*/81 typedef unsigned int uint_t; /* èªç¶ãªãµã¤ãºã®ç¬¦å·ç¡ãæ´æ°*/68 typedef signed int int_t; /* 自然なサイズの符号付き整数 */ 69 typedef unsigned int uint_t; /* 自然なサイズの符号無し整数 */ 82 70 83 typedef signed long long_t; /* é·ãã®ãµã¤ãºã®ç¬¦å·ä»ãæ´æ°*/84 typedef unsigned long ulong_t; /* é·ãã®ãµã¤ãºã®ç¬¦å·ç¡ãæ´æ°*/71 typedef signed long long_t; /* 長めのサイズの符号付き整数 */ 72 typedef unsigned long ulong_t; /* 長めのサイズの符号無し整数 */ 85 73 86 74 #ifdef _vp_int_ 87 typedef _vp_int_ intptr_t; /* ãã¤ã³ã¿ã¾ãã¯ç¬¦å·ä»ãæ´æ°*/75 typedef _vp_int_ intptr_t; /* ポインタまたは符号付き整数 */ 88 76 #else /* of #ifdef _vp_int_ */ 89 typedef VP intptr_t; /* ãã¤ã³ã¿ã¾ãã¯ç¬¦å·ä»ãæ´æ°*/77 typedef VP intptr_t; /* ポインタまたは符号付き整数 */ 90 78 #endif /* of #ifdef _vp_int_ */ 91 79 92 typedef int bool_t; /* çå½å¤*/80 typedef int bool_t; /* 真偽値 */ 93 81 94 82 #ifndef true 95 #define true 1 /* ç*/83 #define true 1 /* 真 */ 96 84 #endif /* true */ 97 85 98 86 #ifndef false 99 #define false 0 /* å½*/87 #define false 0 /* 偽 */ 100 88 #endif /* false */ 101 89 102 90 #endif /* of #ifndef _MACRO_ONLY */ 103 91 104 /* æ§é ä½ structure ä¸ã®ãã£ã¼ã«ã field ã®ãã¤ãä½ç½®ãè¿ããã¯ã*/92 /* 構造体 structure 中のフィールド field のバイト位置を返すマクロ */ 105 93 #ifndef offsetof 106 94 #define offsetof(structure, field) ((size_t) &(((structure *) 0)->field)) … … 108 96 109 97 /* 110 * æ´æ°å®æ°ãä½ããã¯ã98 * 整数定数を作るマクロ 111 99 */ 112 100 #ifndef UINT_C 113 #define UINT_C(val) (val ## U) /* uint_t åã®å®æ°ãä½ããã¯ã*/101 #define UINT_C(val) (val ## U) /* uint_t型の定数を作るマクロ */ 114 102 #endif /* UINT_C */ 115 103 116 104 #ifndef ULONG_C 117 #define ULONG_C(val) (val ## UL) /* ulong_t åã®å®æ°ãä½ããã¯ã*/105 #define ULONG_C(val) (val ## UL) /* ulong_t型の定数を作るマクロ */ 118 106 #endif /* ULONG_C */ 119 107
Note:
See TracChangeset
for help on using the changeset viewer.