Ignore:
Timestamp:
May 22, 2019, 10:03:37 PM (5 years ago)
Author:
coas-nagasima
Message:

ビルドが通るよう更新

Location:
azure_iot_hub/trunk/asp3_dcre/tinet
Files:
269 edited

Legend:

Unmodified
Added
Removed
  • azure_iot_hub/trunk/asp3_dcre/tinet/Makefile.tinet

    • Property svn:mime-type changed from text/x-makefile to text/x-makefile;charset=UTF-8
    r388 r389  
    66#   Copyright (C) 2008-2009 by Hokkaido Industrial Research Institute, JAPAN
    77#
    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プロジェクトを免責すること.
    3726#
    38 #   æœ¬ã‚½ãƒ•ãƒˆã‚¦ã‚§ã‚¢ã¯ï¼Œç„¡ä¿è¨¼ã§æä¾›ã•ã‚Œã¦ã„るものである.上記著作権è€
    39 ãŠ
    40 #   ã‚ˆã³TOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    41 #   å«ã‚ã¦ï¼Œã„かなる保証も行わない.また,本ソフトウェアの利用により直
    42 #   æŽ¥çš„または間接的に生じたいかなる損害に関しても,その責任を負わない.
     27#   本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     28#   よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     29#   含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     30#   接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4331
    4432#   @(#) $Id$
     
    4634
    4735#
    48 ã€ŒãƒŸãƒ‰ãƒ«ã‚¦ã‚§ã‚¢ã® Makefile のインクルード」に追加する。
    49 #
    50 
    51 #
    52 ã‚«ãƒ¼ãƒãƒ«ã®è­˜åˆ¥
     36「ミドルウェアの Makefile のインクルード」に追加する。
     37#
     38
     39#
     40カーネルの識別
    5341#
    5442ifdef SRCLANG
     
    6149
    6250#
    63 #  TINET ソースファイルのディレクトリの定義
     51#  TINET ソースファイルのディレクトリの定義
    6452#
    6553TINET_ROOT = $(SRCDIR)/tinet
    6654
    6755#
    68 #  TINET 1.1 との互換性のための定義
     56#  TINET 1.1 との互換性のための定義
    6957#
    7058ifndef SUPPORT_INET4
     
    7563
    7664#
    77 #  TINET 1.7 以降は、ネットワーク層の指定を変更した。
     65#  TINET 1.7 以降は、ネットワーク層の指定を変更した。
    7866#
    7967
     
    9583
    9684#
    97 ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚µãƒ¼ãƒ“スに関する定義
    98 #
    99 
    100 æ±Žç”¨é€šä¿¡æ©Ÿèƒ½
     85ネットワークサービスに関する定義
     86#
     87
     88汎用通信機能
    10189
    10290TINET_DIRS = $(TINET_ROOT)/net:$(TINET_ROOT)/netinet:$(TINET_ROOT)/netinet6
     
    143131        TINET_CDEFS := $(TINET_CDEFS) -DSUPPORT_PPP
    144132
    145 #  IPv6用 cp
     133#  IPv6 cp
    146134        TINET_COBJS := $(TINET_COBJS) ppp_ipv6cp.o
    147135
    148 #  IPv4用 cp
     136#  IPv4 cp
    149137        TINET_COBJS := $(TINET_COBJS) ppp_ipcp.o
    150138
     
    158146endif
    159147
    160 ã‚¿ãƒ¼ã‚²ãƒƒãƒˆä¾å­˜ã®å®šç¾©ã®ã‚¤ãƒ³ã‚¯ãƒ«ãƒ¼ãƒ‰
     148ターゲット依存の定義のインクルード
    161149
    162150ifeq ($(TARGET_KERNEL),ASP)
     
    219207
    220208#
    221 #  TINET ライブラリの定義
     209#  TINET ライブラリの定義
    222210#
    223211
     
    257245
    258246#
    259 ãƒ©ã‚¤ãƒ–ラリ化するソースファイルから生成される
    260 ã‚ªãƒ–ジェクトファイルの定義
     247ライブラリ化するソースファイルから生成される
     248オブジェクトファイルの定義
    261249#
    262250TINET_LCOBJS = $(foreach file,$(TINET_LCSRCS),$($(file:.c=)))
     
    283271
    284272#
    285 ãƒ©ã‚¤ãƒ–ラリ化するソースファイルから生成される
    286 ã‚ªãƒ–ジェクトファイルの依存関係の定義
     273ライブラリ化するソースファイルから生成される
     274オブジェクトファイルの依存関係の定義
    287275#
    288276$(tcp_usrreq) $(tcp_usrreq:.o=.s) $(tcp_usrreq:.o=.d): tcp_usrreq.c tcpn_usrreq.c
     
    291279
    292280#
    293 #  TINET ライブラリの定義
     281#  TINET ライブラリの定義
    294282#
    295283TINET_LIB_OBJS = $(TINET_LCOBJS)
    296284
    297285#
    298 #  TINET コンフィギュレーションファイルの定義
     286#  TINET コンフィギュレーションファイルの定義
    299287#
    300288
     
    318306
    319307#
    320 #  å
    321 ±é€šã‚³ãƒ³ãƒ‘イルオプションの定義への追加
     308#  共通コンパイルオプションの定義への追加
    322309#
    323310CDEFS := $(CDEFS) $(TINET_CDEFS)
     
    325312
    326313#
    327 #  TINET コンパイルオプションの定義への追加
     314#  TINET コンパイルオプションの定義への追加
    328315#
    329316TINET_CFLAGS := $(TINET_CFLAGS) -fno-strict-aliasing
    330317
    331318#
    332 ã‚·ã‚¹ãƒ†ãƒ ã‚µãƒ¼ãƒ“ス、ミドルウェアに関する定義
     319システムサービス、ミドルウェアに関する定義
    333320#
    334321
     
    368355
    369356#
    370 #  TINET ライブラリファイルの生成
     357#  TINET ライブラリファイルの生成
    371358#
    372359libtinet.a: $(TINET_LIB_OBJS)
     
    376363
    377364#
    378 ã‚³ãƒ³ãƒ‘イルルールの定義
     365コンパイルルールの定義
    379366#
    380367
     
    397384
    398385#
    399 ã‚³ãƒ³ãƒ‘イル結果の消去
     386コンパイル結果の消去
    400387#
    401388cleantinet:
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/ether_var.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    5038
    5139/*
    52  *  Ethernet 処理タスク
     40 *  Ethernet 処理タスク
    5341 */
    5442
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/ethernet.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  Ethernet 処理タスクの本体
     35 *  Ethernet 処理タスクの本体
    4836 */
    4937
     
    9381
    9482/*
    95  *  変数
     83 *  変数
    9684 */
    9785
     
    10694
    10795/*
    108  *  変数
    109  */
    110 
    111 /* ネットワークインタフェース構造体 */
     96 *  変数
     97 */
     98
     99/* ネットワークインタフェース構造体 */
    112100
    113101static T_IFNET ether_ifnet;
     
    115103#ifdef SUPPORT_MIB
    116104
    117 /*  SNMP の 管理æƒ
    118 å ±ãƒ™ãƒ¼ã‚¹ (MIB) */
     105/*  SNMP の 管理情報ベース (MIB) */
    119106
    120107T_IF_STATS if_stats;
     
    125112
    126113/*
    127  *  関数
     114 *  関数
    128115 */
    129116
     
    131118
    132119/*
    133  *  ieee_802_input -- IEEE 802.3 å
    134 ¥åŠ›å‡¦ç†
     120 *  ieee_802_input -- IEEE 802.3 入力処理
    135121 */
    136122
     
    150136
    151137/*
    152  *  ether_srand -- 乱数を初期値を返す。
     138 *  ether_srand -- 乱数を初期値を返す。
    153139 */
    154140
     
    178164
    179165/*
    180  *  ether_get_ifnet -- ネットワークインタフェース構造体を返す。
     166 *  ether_get_ifnet -- ネットワークインタフェース構造体を返す。
    181167 */
    182168
     
    190176
    191177/*
    192  *  ether_in6_resolve_multicast -- イーサネットのマルチキャストアドレスへの変換
     178 *  ether_in6_resolve_multicast -- イーサネットのマルチキャストアドレスへの変換
    193179 */
    194180
     
    196182ether_in6_resolve_multicast (T_ETHER_ADDR *ifaddr, const T_IN6_ADDR *maddr)
    197183{
    198         /* マルチキャストアドレスかチェックする。*/
     184        /* マルチキャストアドレスかチェックする。*/
    199185        if (!IN6_IS_ADDR_MULTICAST(maddr))
    200186                return E_PAR;
    201187
    202         /* イーサネットのマルチキャストアドレスへの変換 */
     188        /* イーサネットのマルチキャストアドレスへの変換 */
    203189        ether_map_ipv6_multicast(ifaddr, maddr);
    204190
     
    209195
    210196/**
    211  * ether_set_link_up -- リンクしたときにNICから呼び出される
     197 * ether_set_link_up -- リンクしたときにNICから呼び出される
    212198 */
    213199void
     
    219205                if (ether_ifnet.flags & IF_FLAG_UP) {
    220206#if defined(_IP4_CFG) && defined(SUPPORT_ETHER)
    221                         /* ARP再構築? */
     207                        /* ARP再構築? */
    222208#endif /* #if defined(_IP4_CFG) && defined(SUPPORT_ETHER) */
    223209
    224210#ifdef SUPPORT_IGMP
    225                         /* IGMP参加 */
     211                        /* IGMP参加 */
    226212#endif /* #ifdef SUPPORT_IGMP */
    227213                        }
     
    233219
    234220/**
    235  * ether_set_link_up -- リンクが切断したときにNICから呼び出される
     221 * ether_set_link_up -- リンクが切断したときにNICから呼び出される
    236222 */
    237223void
     
    247233
    248234/*
    249  * ether_set_up -- DHCPでアドレスが設定されたとき呼び出される
     235 * ether_set_up -- DHCPでアドレスが設定されたとき呼び出される
    250236 */
    251237
     
    262248
    263249/*
    264  * ether_set_down -- DHCPでアドレスが解放されたとき呼び出される
     250 * ether_set_down -- DHCPでアドレスが解放されたとき呼び出される
    265251 */
    266252
     
    277263
    278264/*
    279  * ether_set_link_callback -- リンク状æ
    280 ‹å¤‰åŒ–時のコールバック登録
     265 * ether_set_link_callback -- リンク状態変化時のコールバック登録
    281266 */
    282267
     
    291276
    292277/*
    293  *  ether_raw_output -- Ethernet インタフェースの出力関数、MAC アドレス解決無し
     278 *  ether_raw_output -- Ethernet インタフェースの出力関数、MAC アドレス解決無し
    294279 */
    295280
     
    299284        ER error = E_OK;
    300285
    301         /* Ethernet 出力キューに投å
    302 ¥ã™ã‚‹ã€‚*/
     286        /* Ethernet 出力キューに投入する。*/
    303287        if ((error = tsnd_dtq(DTQ_ETHER_OUTPUT, (intptr_t)output, tmout)) != E_OK) {
    304288                NET_COUNT_ETHER(net_count_ether.out_err_packets, 1);
    305289                NET_COUNT_MIB(if_stats.ifOutDiscards, 1);
    306290
    307                 /* IF でネットワークバッファを開放しないフラグをチェックする。*/
     291                /* IF でネットワークバッファを開放しないフラグをチェックする。*/
    308292                if ((output->flags & NB_FLG_NOREL_IFOUT) == 0) {
    309293                        syscall(rel_net_buf(output));
     
    318302
    319303/*
    320  *  ether_output -- Ethernet インタフェースの出力関数、MAC アドレス解決有り
     304 *  ether_output -- Ethernet インタフェースの出力関数、MAC アドレス解決有り
    321305 */
    322306
     
    328312        T_ETHER_HDR *eth;
    329313
    330         /* 送信å
    331 ƒ MAC アドレスを設定する。*/
     314        /* 送信元 MAC アドレスを設定する。*/
    332315        ic = IF_ETHER_NIC_GET_SOFTC();
    333316        eth = GET_ETHER_HDR(output);
     
    340323        case ETHER_TYPE_IP:             /* IPv4 */
    341324#ifdef ETHER_CFG_MULTICAST
    342                 /* マルチキャストアドレスの場合 */
     325                /* マルチキャストアドレスの場合 */
    343326                if(IN4_IS_ADDR_MULTICAST(*(uint32_t*)dst)){
    344                         /* イーサネットのマルチキャストアドレスへの変換 */
     327                        /* イーサネットのマルチキャストアドレスへの変換 */
    345328                        ether_map_ipv4_multicast((T_ETHER_ADDR *)&eth->dhost, *(T_IN4_ADDR*)dst);
    346329                        error = ether_raw_output(output, tmout);
     
    348331                        }
    349332#endif
    350                 if (arp_resolve(&ic->ifaddr, output, *(uint32_t*)dst)) {        /* true ならアドレス解決済 */
     333                if (arp_resolve(&ic->ifaddr, output, *(uint32_t*)dst)) {        /* true ならアドレス解決済 */
    351334                        error = ether_raw_output(output, tmout);
    352335                        }
     
    363346                        error = ether_raw_output(output, tmout);
    364347
    365                 /* IF でネットワークバッファを開放しないフラグをチェックする。*/
     348                /* IF でネットワークバッファを開放しないフラグをチェックする。*/
    366349                else if ((output->flags & NB_FLG_NOREL_IFOUT) == 0) {
    367350                        syscall(rel_net_buf(output));
     
    377360                NET_COUNT_MIB(if_stats.ifOutErrors, 1);
    378361
    379                 /* IF でネットワークバッファを開放しないフラグをチェックする。*/
     362                /* IF でネットワークバッファを開放しないフラグをチェックする。*/
    380363                if ((output->flags & NB_FLG_NOREL_IFOUT) == 0) {
    381364                        syscall(rel_net_buf(output));
     
    394377
    395378/*
    396  *  Ethernet 出力タスク
     379 *  Ethernet 出力タスク
    397380 */
    398381
     
    448431
    449432/*
    450  *  Ethernet å
    451 ¥åŠ›ã‚¿ã‚¹ã‚¯
     433 *  Ethernet 入力タスク
    452434 */
    453435
     
    462444        uint8_t         rcount = 0;
    463445
    464         /* ネットワークインタフェース管理を初期化する。*/
     446        /* ネットワークインタフェース管理を初期化する。*/
    465447        ifinit();
    466448
    467         /* イーサネットネットワークインタフェース管理を初期化する。*/
     449        /* イーサネットネットワークインタフェース管理を初期化する。*/
    468450
    469451#if defined(_IP4_CFG)
    470452
    471         ether_ifnet.in4_ifaddr.addr = IPV4_ADDR_LOCAL;          /* IPv4 アドレス            */
    472         ether_ifnet.in4_ifaddr.mask = IPV4_ADDR_LOCAL_MASK;     /* サブネットマスク             */
     453        ether_ifnet.in4_ifaddr.addr = IPV4_ADDR_LOCAL;          /* IPv4 アドレス            */
     454        ether_ifnet.in4_ifaddr.mask = IPV4_ADDR_LOCAL_MASK;     /* サブネットマスク             */
    473455
    474456#endif  /* of #if defined(_IP4_CFG) */
    475457
    476         /* NIC を初期化する。*/
     458        /* NIC を初期化する。*/
    477459        ic = IF_ETHER_NIC_GET_SOFTC();
    478460        IF_ETHER_NIC_PROBE(ic);
    479461        IF_ETHER_NIC_INIT(ic);
    480462
    481         /* Ethernet 出力タスクを起動する */
     463        /* Ethernet 出力タスクを起動する */
    482464        syscall(act_tsk(ETHER_OUTPUT_TASK));
    483465
    484         /* ネットワークタイマタスクを起動する */
     466        /* ネットワークタイマタスクを起動する */
    485467        syscall(act_tsk(NET_TIMER_TASK));
    486468
     
    492474#if defined(_IP4_CFG)
    493475
    494         /* ARP を初期化する。*/
     476        /* ARP を初期化する。*/
    495477        arp_init();
    496478
     
    499481        ether_ifnet.ic = ic;
    500482
    501         /* 乱数生成を初期化する。*/
     483        /* 乱数生成を初期化する。*/
    502484        net_srand(0);
    503485
     
    511493                        proto = ntohs(eth->type);
    512494
    513                         /* 乱数生成を初期化する。*/
     495                        /* 乱数生成を初期化する。*/
    514496                        if (rcount == 0) {
    515497
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/ethernet.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  Ethernet コンフィギュレーションファイル
     35 *  Ethernet コンフィギュレーションファイル
    4836 */
    4937
     
    5543CRE_DTQ(DTQ_ETHER_OUTPUT,  { TA_TFIFO, NUM_DTQ_ETHER_OUTPUT,  NULL });
    5644
    57 /* サポート関数 max2str 用セマフォ */
     45/* サポート関数 max2str 用セマフォ */
    5846
    5947CRE_SEM(SEM_MAC2STR_BUFF_LOCK,  { TA_TPRI, 1, 1 });
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/ethernet.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    8876
    8977/*
    90  *  フィールド長
     78 *  フィールド長
    9179 */
    9280
     
    9684
    9785/*
    98  *  フレーム長 (Ethernet ヘッダと CRC を含む)
     86 *  フレーム長 (Ethernet ヘッダと CRC を含む)
    9987 */
    10088
     
    10391
    10492/*
    105  *  Ethernet ヘッダ
     93 *  Ethernet ヘッダ
    10694 */
    10795
     
    122110#if IF_ETHER_NIC_HDR_ALIGN != 0
    123111
    124         uint8_t         align[IF_ETHER_NIC_HDR_ALIGN];  /* アライン調整 */
     112        uint8_t         align[IF_ETHER_NIC_HDR_ALIGN];  /* アライン調整 */
    125113
    126114#endif  /* of #if IF_ETHER_NIC_HDR_ALIGN != 0 */
     
    137125#if IF_ETHER_NIC_HDR_ALIGN != 0
    138126
    139         uint8_t         align[IF_ETHER_NIC_HDR_ALIGN];  /* アライン調整 */
     127        uint8_t         align[IF_ETHER_NIC_HDR_ALIGN];  /* アライン調整 */
    140128
    141129#endif  /* of #if IF_ETHER_NIC_HDR_ALIGN != 0 */
     
    152140#if IF_ETHER_NIC_HDR_ALIGN != 0
    153141
    154         uint8_t         align[IF_ETHER_NIC_HDR_ALIGN];  /* アライン調整 */
     142        uint8_t         align[IF_ETHER_NIC_HDR_ALIGN];  /* アライン調整 */
    155143
    156144#endif  /* of #if IF_ETHER_NIC_HDR_ALIGN != 0 */
     
    166154
    167155/*
    168  *  MAC アドレスの定義
    169  */
    170 
    171 #define ETHER_MCAST_ADDR        UINT_C(0x01)    /* マルチキャスト・アドレス */
    172 #define ETHER_LOCAL_ADDR        UINT_C(0x02)    /* ローカル・アドレス          */
     156 *  MAC アドレスの定義
     157 */
     158
     159#define ETHER_MCAST_ADDR        UINT_C(0x01)    /* マルチキャスト・アドレス */
     160#define ETHER_LOCAL_ADDR        UINT_C(0x02)    /* ローカル・アドレス            */
    173161
    174162typedef struct t_ether_addr {
     
    183171
    184172/*
    185  *  Type フィールド
     173 *  Type フィールド
    186174 */
    187175
     
    191179
    192180/*
    193  *  インタフェースの選択マクロ
    194  */
    195 
    196 #define T_IF_HDR                T_ETHER_HDR             /* インタフェースのヘッダ                            */
    197 #define T_IF_ADDR               T_ETHER_ADDR            /* インタフェースのアドレス                 */
    198 #define IF_HDR_ALIGN            2                       /* ヘッダのアライン単位                               */
    199 #define IF_MTU                  1500                    /* インタフェースの MTU                         */
    200 #define IF_MIN_LEN              ETHER_MIN_LEN           /* インターフェースフレームの最短長             */
    201 
    202 #define IF_OUTPUT(o,d,g,t)      ether_output(o,d,g,t)   /* インタフェースの出力関数                 */
    203 #define IF_RAW_OUTPUT(o,t)      ether_raw_output(o,t)   /* インタフェースの出力関数、アドレス解決無し      */
     181 *  インタフェースの選択マクロ
     182 */
     183
     184#define T_IF_HDR                T_ETHER_HDR             /* インタフェースのヘッダ                          */
     185#define T_IF_ADDR               T_ETHER_ADDR            /* インタフェースのアドレス                 */
     186#define IF_HDR_ALIGN            2                       /* ヘッダのアライン単位                           */
     187#define IF_MTU                  1500                    /* インタフェースの MTU                         */
     188#define IF_MIN_LEN              ETHER_MIN_LEN           /* インターフェースフレームの最短長             */
     189
     190#define IF_OUTPUT(o,d,g,t)      ether_output(o,d,g,t)   /* インタフェースの出力関数                 */
     191#define IF_RAW_OUTPUT(o,t)      ether_raw_output(o,t)   /* インタフェースの出力関数、アドレス解決無し        */
    204192#define IF_SET_PROTO(b,p)       (GET_ETHER_HDR(b)->type = htons(p))
    205                                                         /* インタフェースのプロトコル設定関数          */
     193                                                        /* インタフェースのプロトコル設定関数            */
    206194#define IF_SOFTC_TO_IFADDR(s)   ((T_IF_ADDR*)(s)->ifaddr.lladdr)
    207                                                         /* ソフトウェアæƒ
    208 å ±ã‹ã‚‰ MAC アドレスを取り出す       */
    209 #define IF_GET_IFNET()          ether_get_ifnet()       /* ネットワークインタフェース構造体を返す。         */
    210 #define IF_TYPE                 IFT_ETHER               /* インタフェースの型                          */
    211 #define IF_SRAND()              ether_srand()   /* インタフェースの乱数初期値                      */
    212 
    213 /* IPv4 関係 */
    214 
    215 #define IF_PROTO_IP             ETHER_TYPE_IP           /* インタフェースの IPv4 プロトコル指定          */
    216 #define IF_PROTO_ARP            ETHER_TYPE_ARP          /* インタフェースの ARP プロトコル指定           */
    217 
    218 /* IPv6 関係 */
    219 
    220 #define MAX_IF_MADDR_CNT        2                       /* インタフェースのマルチキャストアドレスé
    221 åˆ—の最大サイズ  */
     195                                                        /* ソフトウェア情報から MAC アドレスを取り出す     */
     196#define IF_GET_IFNET()          ether_get_ifnet()       /* ネットワークインタフェース構造体を返す。         */
     197#define IF_TYPE                 IFT_ETHER               /* インタフェースの型                            */
     198#define IF_SRAND()              ether_srand()   /* インタフェースの乱数初期値                        */
     199
     200/* IPv4 関係 */
     201
     202#define IF_PROTO_IP             ETHER_TYPE_IP           /* インタフェースの IPv4 プロトコル指定                */
     203#define IF_PROTO_ARP            ETHER_TYPE_ARP          /* インタフェースの ARP プロトコル指定         */
     204
     205/* IPv6 関係 */
     206
     207#define MAX_IF_MADDR_CNT        2                       /* インタフェースのマルチキャストアドレス配列の最大サイズ  */
    222208#define IF_MADDR_INIT           { { { 0, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0 } } }
    223                                                         /* インタフェースのマルチキャストアドレスé
    224 åˆ—の初期化        */
    225 #define IF_PROTO_IPV6           ETHER_TYPE_IPV6         /* インタフェースの IPv6 プロトコル指定                  */
     209                                                        /* インタフェースのマルチキャストアドレス配列の初期化    */
     210#define IF_PROTO_IPV6           ETHER_TYPE_IPV6         /* インタフェースの IPv6 プロトコル指定                        */
    226211#define IF_ADDMULTI(s)          IF_ETHER_NIC_ADDMULTI(s)
    227                                                         /* マルチキャストアドレスの登録                           */
    228 #define IF_IN6_NEED_CACHE(i)    (true)                  /* 近隣探索キャッシュを使用する。                                */
     212                                                        /* マルチキャストアドレスの登録                               */
     213#define IF_IN6_NEED_CACHE(i)    (true)                  /* 近隣探索キャッシュを使用する。                              */
    229214#define IF_IN6_IFID(i,a)        IF_ETHER_NIC_IN6_IFID(i,a)
    230                                                         /* インタフェース識別子の設定                              */
     215                                                        /* インタフェース識別子の設定                                */
    231216#define IF_IN6_RESOLVE_MULTICAST(i,m)   \
    232217                                ether_in6_resolve_multicast(i,m)
    233                                                         /* インタフェースのマルチキャストアドレスへの変換                */
     218                                                        /* インタフェースのマルチキャストアドレスへの変換              */
    234219
    235220#define IF_FLAG_UP                              0x01U
     
    237222
    238223/*
    239  *  前方参ç
    240 §
     224 *  前方参照
    241225 */
    242226
     
    274258
    275259/*
    276  *  ネットワークインタフェースに依存しないソフトウェアæƒ
    277 å ±
     260 *  ネットワークインタフェースに依存しないソフトウェア情報
    278261 */
    279262
     
    281264
    282265struct t_if_softc {
    283         T_IF_ADDR               ifaddr;                 /* ネットワークインタフェースのアドレス       */
    284         uint16_t                timer;                  /* 送信タイムアウト                     */
    285         T_IF_ETHER_NIC_SOFTC    *sc;                    /* ディバイス依存のソフトウェアæƒ
    286 å ±     */
    287         ID                      semid_txb_ready;        /* 送信セマフォ                           */
    288         ID                      semid_rxb_ready;        /* 受信セマフォ                           */
     266        T_IF_ADDR               ifaddr;                 /* ネットワークインタフェースのアドレス   */
     267        uint16_t                timer;                  /* 送信タイムアウト                     */
     268        T_IF_ETHER_NIC_SOFTC    *sc;                    /* ディバイス依存のソフトウェア情報     */
     269        ID                      semid_txb_ready;        /* 送信セマフォ                               */
     270        ID                      semid_rxb_ready;        /* 受信セマフォ                               */
    289271
    290272#ifdef _IP6_CFG
    291273
    292         T_IF_ADDR       maddrs[MAX_IF_MADDR_CNT];       /* マルチキャストアドレスリスト   */
     274        T_IF_ADDR       maddrs[MAX_IF_MADDR_CNT];       /* マルチキャストアドレスリスト       */
    293275
    294276#endif  /* of #ifdef _IP6_CFG */
     
    298280
    299281/*
    300  *  変数
     282 *  変数
    301283 */
    302284
     
    308290
    309291/*
    310  *  関数
     292 *  関数
    311293 */
    312294
    313295#ifdef _IP6_CFG
    314296
    315 /* 前方参ç
    316 § */
     297/* 前方参照 */
    317298
    318299#ifndef T_IN6_ADDR_DEFINED
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/fcstab.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/genfcstab.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/if.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    117105
    118106/*
    119  *  関数
     107 *  関数
    120108 */
    121109
     
    123111
    124112/*
    125  *  if_slowtimo -- インタフェースのワッチドッグタイマ制御
     113 *  if_slowtimo -- インタフェースのワッチドッグタイマ制御
    126114 */
    127115
     
    142130
    143131/*
    144  *  ifinit -- インタフェース管理の初期化
     132 *  ifinit -- インタフェース管理の初期化
    145133 */
    146134
     
    156144
    157145/*
    158  *  if_addmulti -- マルチキャストアドレスの登録
     146 *  if_addmulti -- マルチキャストアドレスの登録
    159147 */
    160148
     
    173161                        return E_PAR;
    174162
    175                 /* IPv6 マルチキャストアドレスを登録する。*/
     163                /* IPv6 マルチキャストアドレスを登録する。*/
    176164                ifp->in6_maddrs[ix] = *(T_IN6_ADDR*)maddr;
    177165
    178                 /* インタフェースのアドレスに変換し、登録する。*/
     166                /* インタフェースのアドレスに変換し、登録する。*/
    179167                error = IF_IN6_RESOLVE_MULTICAST(&llmaddr, (T_IN6_ADDR*)maddr);
    180168                if (error != E_OK)
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/if.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    8472
    8573/*
    86  *  ネットワークインタフェース用タイマの定義
     74 *  ネットワークインタフェース用タイマの定義
    8775 */
    8876
    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]        */
    9179
    9280/*
    93  *  ネットワークインタフェースのフラグ
     81 *  ネットワークインタフェースのフラグ
    9482 */
    9583
    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)  /* 動作中          */
    9886
    9987/*
    100  *  汎用定義
     88 *  汎用定義
    10189 */
    10290
     
    10593
    10694/*
    107  *  関数
     95 *  関数
    10896 */
    10997
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/if6_var.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    8169
    8270/*
    83  *  ネットワークインタフェース構造体
     71 *  ネットワークインタフェース構造体
    8472 */
    8573
     
    8977
    9078struct t_ifnet {
    91         T_IF_SOFTC      *ic;            /* ネットワークインタフェースのソフトウェアæƒ
    92 å ±     */
     79        T_IF_SOFTC      *ic;            /* ネットワークインタフェースのソフトウェア情報       */
    9380        T_IN6_IFADDR    in6_ifaddrs[NUM_IN6_IFADDR_ENTRY];
    94                                         /* IPv6 アドレスæƒ
    95 å ±                             */
     81                                        /* IPv6 アドレス情報                          */
    9682        T_IN6_ADDR      in6_maddrs [MAX_IN6_MADDR_CNT];
    97                                         /* マルチキャスト IPv6 アドレス                      */
    98         T_IN4_IFADDR    in4_ifaddr;     /* IPv4 アドレスæƒ
    99 å ±                             */
     83                                        /* マルチキャスト IPv6 アドレス                    */
     84        T_IN4_IFADDR    in4_ifaddr;     /* IPv4 アドレス情報                          */
    10085        ether_status_callback_fn link_callback;
    101         uint8_t         flags;          /* フラグ                                    */
     86        uint8_t         flags;          /* フラグ                                  */
    10287        };
    10388
     
    10590
    10691struct t_ifnet {
    107         T_IF_SOFTC      *ic;            /* ネットワークインタフェースのソフトウェアæƒ
    108 å ±     */
     92        T_IF_SOFTC      *ic;            /* ネットワークインタフェースのソフトウェア情報       */
    10993        T_IN6_IFADDR    in6_ifaddrs[NUM_IN6_IFADDR_ENTRY];
    110                                         /* IPv6 アドレスæƒ
    111 å ±                             */
     94                                        /* IPv6 アドレス情報                          */
    11295        T_IN6_ADDR      in6_maddrs [MAX_IN6_MADDR_CNT];
    113                                         /* マルチキャスト IPv6 アドレス                      */
     96                                        /* マルチキャスト IPv6 アドレス                    */
    11497        ether_status_callback_fn link_callback;
    115         uint8_t         flags;          /* フラグ                                    */
     98        uint8_t         flags;          /* フラグ                                  */
    11699        };
    117100
     
    123106
    124107struct t_ifnet {
    125         T_IF_SOFTC      *ic;            /* ネットワークインタフェースのソフトウェアæƒ
    126 å ±     */
    127         T_IN4_IFADDR    in4_ifaddr;     /* IPv4 アドレスæƒ
    128 å ±                             */
     108        T_IF_SOFTC      *ic;            /* ネットワークインタフェースのソフトウェア情報       */
     109        T_IN4_IFADDR    in4_ifaddr;     /* IPv4 アドレス情報                          */
    129110        ether_status_callback_fn link_callback;
    130         uint8_t         flags;          /* フラグ                                    */
     111        uint8_t         flags;          /* フラグ                                  */
    131112        };
    132113
     
    146127
    147128/*
    148  *  関数シミュレーションマクロ
     129 *  関数シミュレーションマクロ
    149130 */
    150131
     
    152133
    153134/*
    154  *  関数
     135 *  関数
    155136 */
    156137
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/if_arp.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    8876 *  Address Resolution Protocol.
    8977 *
    90  *  RFC 826 参ç
    91 §
     78 *  RFC 826 参照
    9279 */
    9380
    9481/*
    95  *  構造体
     82 *  構造体
    9683 */
    9784
    98 /* ARP ヘッダ */
     85/* ARP ヘッダ */
    9986
    10087typedef 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;         /* 命令コード                        */
    10693        } __attribute__((packed, aligned(2))) T_ARP_HDR;
    10794
     
    113100#define GET_IF_ARP_HDR_SIZE(nbuf)       (IF_HDR_SIZE + ARP_HDR_SIZE)
    114101
    115 /* hrd_addr、物理アドレスフォーマットの値 */
     102/* hrd_addr、物理アドレスフォーマットの値 */
    116103
    117104#define ARPHRD_ETHER    1       /* Ethernet     */
    118105
    119 /* opcode, 命令コードの値 */
     106/* opcode, 命令コードの値 */
    120107
    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)       /* 終端識別要求                       */
    127114
    128115/*
    129  *  イーサネットドライバモジュールで使用される ARP æƒ
    130 å ±
     116 *  イーサネットドライバモジュールで使用される ARP 情報
    131117 */
    132118
     
    136122
    137123/*
    138  *  ARP キャッシュ更新タイマの定義
     124 *  ARP キャッシュ更新タイマの定義
    139125 */
    140126
    141 #define ARP_TIMER_TMO           (60*NET_TIMER_HZ)       /* タイムアウト、60 [s]  */
     127#define ARP_TIMER_TMO           (60*NET_TIMER_HZ)       /* タイムアウト、60 [s]        */
    142128
    143129/*
    144  *  変数
     130 *  変数
    145131 */
    146132
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/if_llc.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    8674
    8775/*
    88  *  長さの定義
     76 *  長さの定義
    8977 */
    9078
     
    9381
    9482/*
    95  *  802.3 ヘッダ
     83 *  802.3 ヘッダ
    9684 */
    9785
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/if_loop.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    119107
    120108/*
    121  *  ローカルループバックインタフェース
    122  */
    123 
    124 /*
    125  *  外部関数の定義
     109 *  ローカルループバックインタフェース
     110 */
     111
     112/*
     113 *  外部関数の定義
    126114 */
    127115
     
    129117
    130118/*
    131  *  変数
    132  */
    133 
    134 /* ネットワークインタフェース構造体 */
     119 *  変数
     120 */
     121
     122/* ネットワークインタフェース構造体 */
    135123
    136124#if defined(_IP6_CFG)
    137125
    138126static T_IFNET loop_ifnet = {
    139         NULL,                   /* ネットワークインタフェースのソフトウェアæƒ
    140 å ±     */
    141         {},                     /* IPv6 アドレスæƒ
    142 å ±                             */
    143         {},                     /* マルチキャスト IPv6 アドレス                      */
     127        NULL,                   /* ネットワークインタフェースのソフトウェア情報       */
     128        {},                     /* IPv6 アドレス情報                          */
     129        {},                     /* マルチキャスト IPv6 アドレス                    */
    144130        };
    145131
     
    147133
    148134static T_IFNET loop_ifnet = {
    149         NULL,                   /* ネットワークインタフェースのソフトウェアæƒ
    150 å ±     */
     135        NULL,                   /* ネットワークインタフェースのソフトウェア情報       */
    151136        {
    152                 IPV4_ADDR_LOOPBACK,             /* IPv4 アドレス                    */
    153                 IPV4_ADDR_LOOPBACK_MASK,        /* サブネットマスク                     */
     137                IPV4_ADDR_LOOPBACK,             /* IPv4 アドレス                    */
     138                IPV4_ADDR_LOOPBACK_MASK,        /* サブネットマスク                     */
    154139                },
    155140        };
     
    158143
    159144/*
    160  *  loop_get_ifnet -- ネットワークインタフェース構造体を返す。
     145 *  loop_get_ifnet -- ネットワークインタフェース構造体を返す。
    161146 */
    162147
     
    168153
    169154/*
    170  *  looutput -- ローカルループバックインタフェースの出力関数
     155 *  looutput -- ローカルループバックインタフェースの出力関数
    171156 */
    172157
     
    185170
    186171/*
    187  *  ローカルループバックインタフェース・出力タスク
     172 *  ローカルループバックインタフェース・出力タスク
    188173 */
    189174
     
    208193
    209194/*
    210  *  ローカルループバックインタフェース・å
    211 ¥åŠ›ã‚¿ã‚¹ã‚¯
     195 *  ローカルループバックインタフェース・入力タスク
    212196 */
    213197
     
    227211#if defined(_IP4_CFG)
    228212
    229                         /* IPv4 å
    230 ¥åŠ›é–¢æ•°ã‚’呼び出す */
     213                        /* IPv4 入力関数を呼び出す */
    231214                        if (IP4_VHL_V(GET_IP4_HDR(input)->vhl) == IPV4_VERSION)
    232215                                ip_input(input);
     
    236219#if defined(_IP6_CFG)
    237220
    238                         /* IPv6 å
    239 ¥åŠ›é–¢æ•°ã‚’呼び出す */
     221                        /* IPv6 入力関数を呼び出す */
    240222                        if (IP6_VCF_V(ntohl(GET_IP6_HDR(input)->vcf)) == IPV6_VERSION)
    241223                                ip6_input(input);
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/if_loop.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  ループバックインタフェース・コンフィギュレーションファイル
     35 *  ループバックインタフェース・コンフィギュレーションファイル
    4836 */
    4937
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/if_loop.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    8472
    8573/*
    86  *  ローカルループバックインタフェース・ヘッダとアドレス
     74 *  ローカルループバックインタフェース・ヘッダとアドレス
    8775 */
    8876
     
    9179
    9280/*
    93  *  インタフェースの選択マクロ
     81 *  インタフェースの選択マクロ
    9482 */
    9583
    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         */
    10088
    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)                     /* インターフェースの乱数初期値                       */
    10694
    107 /* IPv4 関係 */
     95/* IPv4 関係 */
    10896
    109 #define IF_PROTO_IP             0                       /* インタフェースの IP プロトコル指定            */
     97#define IF_PROTO_IP             0                       /* インタフェースの IP プロトコル指定          */
    11098
    111 /* IPv6 関係 */
     99/* IPv6 関係 */
    112100
    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)                 /* 近隣探索キャッシュを使用する。                              */
    116103
    117104/*
    118  *  前方参ç
    119 §
     105 *  前方参照
    120106 */
    121107
     
    145131
    146132/*
    147  *  ネットワークインタフェースに依存しないソフトウェアæƒ
    148 å ±
     133 *  ネットワークインタフェースに依存しないソフトウェア情報
    149134 */
    150135
     
    152137
    153138/*
    154  *  関数
     139 *  関数
    155140 */
    156141
     
    159144
    160145/*
    161  *  ローカルループバックインタフェース・処理タスク
     146 *  ローカルループバックインタフェース・処理タスク
    162147 */
    163148
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/if_ppp.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    7159
    7260/*
    73  *  PPP アドレスの定義(ダミー)
     61 *  PPP アドレスの定義(ダミー)
    7462 */
    7563
     
    7967
    8068/*
    81  *  インタフェースの選択マクロ
     69 *  インタフェースの選択マクロ
    8270 */
    8371
    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                 */
    8876
    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)         /* インタフェースの出力関数、アドレス解決無し*/
    9179#define IF_SET_PROTO(b,p)       (*GET_PPP_HDR(b) = htons(p))
    92                                                         /* インタフェースのプロトコル設定関数  */
     80                                                        /* インタフェースのプロトコル設定関数    */
    9381#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)                     /* インターフェースの乱数初期値                       */
    9885
    99 /* IPv4 関係 */
     86/* IPv4 関係 */
    10087
    101 #define IF_PROTO_IP             PPP_IP                  /* インタフェースの IPv4 プロトコル指定  */
     88#define IF_PROTO_IP             PPP_IP                  /* インタフェースの IPv4 プロトコル指定        */
    10289
    103 /* IPv6 関係 */
     90/* IPv6 関係 */
    10491
    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)   {}              /* インタフェースのマルチキャストアドレスへの変換              */
    11197
    11298/*
    113  *  MTU (MRU) に関する定義
     99 *  MTU (MRU) に関する定義
    114100 */
    115101
    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 */
    119105
    120106/*
    121  *  PPP ヘッダ
     107 *  PPP ヘッダ
    122108 */
    123109
    124 typedef uint16_t T_PPP_HDR;                             /* 上位プロトコル                */
     110typedef uint16_t T_PPP_HDR;                             /* 上位プロトコル              */
    125111
    126112/*
    127  *  前方参ç
    128 §
     113 *  前方参照
    129114 */
    130115
     
    154139
    155140/*
    156  *  ネットワークインタフェースに依存しないソフトウェアæƒ
    157 å ±
     141 *  ネットワークインタフェースに依存しないソフトウェア情報
    158142 */
    159143
    160144struct t_if_softc {
    161         T_IF_ADDR       ifaddr;         /* ネットワークインタフェースのアドレス       */
     145        T_IF_ADDR       ifaddr;         /* ネットワークインタフェースのアドレス   */
    162146        };
    163147
    164148/*
    165  *  関数
     149 *  関数
    166150 */
    167151
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/if_types.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    8068
    8169/*
    82  *  インタフェースの型の定義
     70 *  インタフェースの型の定義
    8371 */
    8472
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/if_var.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    8573
    8674/*
    87  *  SNMP の 管理æƒ
    88 å ±ãƒ™ãƒ¼ã‚¹ (MIB)
     75 *  SNMP の 管理情報ベース (MIB)
    8976 */
    9077
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/net.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  å
    48 ±é€š 汎用ネットワークコンフィギュレーションファイル
     35 *  共通 汎用ネットワークコンフィギュレーションファイル
    4936 */
    5037
    5138/*
    52  * ネットワークタイマ
     39 * ネットワークタイマ
    5340 */
    5441
     
    6956                });
    7057
    71 /* ネットワークタイマの呼出しエントリ用セマフォ */
     58/* ネットワークタイマの呼出しエントリ用セマフォ */
    7259
    7360CRE_SEM(SEM_CALL_OUT_LOCK,      { TA_TPRI, 1, 1 });
    7461CRE_SEM(SEM_CALL_OUT_TIMEOUT,   { TA_TPRI, 0, NUM_NET_CALLOUT });
    7562
    76 /* サポート関数 ip2str、ipv62str 用セマフォ */
     63/* サポート関数 ip2str、ipv62str 用セマフォ */
    7764
    7865CRE_SEM(SEM_IP2STR_BUFF_LOCK,   { TA_TPRI, 1, 1 });
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/net.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    8169
    8270/*
    83  *  プロトコルを識別するフラグに関する定義
     71 *  プロトコルを識別するフラグに関する定義
    8472 *
    85  *    ・統計æƒ
    86 å ±
     73 *    ・統計情報
    8774 */
    8875
     
    124111
    125112/*
    126  *  アドレス形式の定義
     113 *  アドレス形式の定義
    127114 */
    128115
    129 #define AT_ETHER                UINT_C(0x01)            /* イーサネット           */
    130 #define AT_INET4                UINT_C(0x10)            /* IPv4 アドレス    */
    131 #define AT_INET6                UINT_C(0x20)            /* IPv6 アドレス    */
     116#define AT_ETHER                UINT_C(0x01)            /* イーサネット               */
     117#define AT_INET4                UINT_C(0x10)            /* IPv4 アドレス    */
     118#define AT_INET6                UINT_C(0x20)            /* IPv6 アドレス    */
    132119
    133120/*
    134  *  IPv4 UDPオプションの定義
     121 *  IPv4 UDPオプションの定義
    135122 */
    136123
     
    145132
    146133/*
    147  *  TINET 独自関数
     134 *  TINET 独自関数
    148135 */
    149136
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/net_asp.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  ASP用 汎用ネットワークコンフィギュレーションファイル
     35 *  ASP用 汎用ネットワークコンフィギュレーションファイル
    4836 */
    4937
    5038/*
    51  *  å
    52 ±é€š 汎用ネットワークコンフィギュレーションファイルのインクルード
     39 *  共通 汎用ネットワークコンフィギュレーションファイルのインクルード
    5340 */
    5441
     
    5845
    5946/*
    60  * ネットワークバッファ
     47 * ネットワークバッファ
    6148 */
    6249
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/net_buf.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    8371
    8472/*
    85  *  関数
     73 *  関数
    8674 */
    8775
     
    8977
    9078/*
    91  *  変数
     79 *  変数
    9280 */
    9381
     
    295283
    296284/*
    297  *  nbuf_get_tbl -- ネットワークバッファ管理表を獲得する。
     285 *  nbuf_get_tbl -- ネットワークバッファ管理表を獲得する。
    298286 *
    299  *    注意: ネットワーク統計æƒ
    300 å ±ã®è¨ˆæ¸¬ç”¨
     287 *    注意: ネットワーク統計情報の計測用
    301288 */
    302289
     
    308295
    309296/*
    310  *  nbuf_get_tbl_size -- ネットワークバッファ管理エントリ数を獲得する。
     297 *  nbuf_get_tbl_size -- ネットワークバッファ管理エントリ数を獲得する。
    311298 *
    312  *    注意: ネットワーク統計æƒ
    313 å ±ã®è¨ˆæ¸¬ç”¨
     299 *    注意: ネットワーク統計情報の計測用
    314300 */
    315301
     
    323309
    324310/*
    325  *  tget_net_buf_up -- 大きなサイズの方向に探索して、ネットワークバッファを獲得する。
     311 *  tget_net_buf_up -- 大きなサイズの方向に探索して、ネットワークバッファを獲得する。
    326312 */
    327313
     
    332318        ER      error = E_OK;
    333319
    334         /* 最適なサイズの固定長メモリプールを探す。*/
     320        /* 最適なサイズの固定長メモリプールを探す。*/
    335321        ix = sizeof(net_buf_table) / sizeof(T_NET_BUF_ENTRY);
    336322        while (ix -- > 0 && minlen > net_buf_table[ix].size)
     
    365351
    366352/*
    367  *  tget_net_buf_down -- 小さなサイズの方向に探索して、ネットワークバッファを獲得する。
     353 *  tget_net_buf_down -- 小さなサイズの方向に探索して、ネットワークバッファを獲得する。
    368354 */
    369355
     
    374360        ER      error = E_OK;
    375361
    376         /* 最適なサイズの固定長メモリプールを探す。*/
     362        /* 最適なサイズの固定長メモリプールを探す。*/
    377363        ix = sizeof(net_buf_table) / sizeof(T_NET_BUF_ENTRY);
    378364        while (ix -- > 0 && maxlen > net_buf_table[ix].size)
     
    411397
    412398/*
    413  *  tget_net_buf_ex -- ネットワークバッファを獲得する(拡張機能)。
     399 *  tget_net_buf_ex -- ネットワークバッファを獲得する(拡張機能)。
    414400 */
    415401
     
    417403tget_net_buf_ex (T_NET_BUF **buf, uint_t minlen, uint_t maxlen, ATR nbatr, TMO tmout)
    418404{
    419         /* 最小サイズが最大サイズをè¶
    420 ãˆã¦ã„たらエラー */
     405        /* 最小サイズが最大サイズを超えていたらエラー */
    421406        if ((nbatr & NBA_SEARCH_DESCENT) != 0 && minlen > maxlen) {
    422407                syslog(LOG_WARNING, "[NET BUF] E_PAR, minlen=%4d > maxlen=%4d.", minlen, maxlen);
     
    424409                }
    425410
    426         /* 割当て可能な最大のサイズをè¶
    427 ãˆã¦ã„たらエラー */
     411        /* 割当て可能な最大のサイズを超えていたらエラー */
    428412        if (minlen > net_buf_table[0].size || maxlen > net_buf_table[0].size) {
    429413                syslog(LOG_WARNING, "[NET BUF] E_PAR, minlen=%4d or maxlen=%4d > %4d",
     
    434418#if defined(SUPPORT_TCP) && defined(TCP_CFG_SWBUF_CSAVE)
    435419
    436         /* TCP で予約したネットワークバッファを取り出す。*/
     420        /* TCP で予約したネットワークバッファを取り出す。*/
    437421        if ((nbatr & NBA_RESERVE_TCP) != 0) {
    438422                if ((*buf = TCP_PULL_RES_NBUF(nbatr)) != NULL) {
     
    454438
    455439/*
    456  *  tget_net_buf -- ネットワークバッファを獲得する(互換)。
     440 *  tget_net_buf -- ネットワークバッファを獲得する(互換)。
    457441 */
    458442
     
    464448
    465449/*
    466  * rel_net_buf -- ネットワークバッファを返却する。
     450 * rel_net_buf -- ネットワークバッファを返却する。
    467451 */
    468452
     
    472456        ER      error = E_OK;
    473457
    474         /* ネットワークバッファの ID の正当性を検証する。*/
     458        /* ネットワークバッファの ID の正当性を検証する。*/
    475459        if ((int_t)buf->idix >= (int_t)(sizeof(net_buf_table) / sizeof(T_NET_BUF_ENTRY))) {
    476460                syslog(LOG_WARNING, "[NET BUF] E_ID, ID=%d.", buf->idix);
     
    481465#if defined(SUPPORT_TCP) && defined(TCP_CFG_SWBUF_CSAVE)
    482466
    483                 /* TCP で、ネットワークバッファを予約する。*/
     467                /* TCP で、ネットワークバッファを予約する。*/
    484468                if (TCP_PUSH_RES_NBUF(buf) == NULL)
    485469                        return E_OK;
     
    487471#endif  /* of #if defined(SUPPORT_TCP) && defined(TCP_CFG_SWBUF_CSAVE) */
    488472
    489                 /* 固定メモリプールに返す。*/
     473                /* 固定メモリプールに返す。*/
    490474
    491475                int idix = buf->idix;
     
    501485
    502486/*
    503  * rus_net_buf -- ネットワークバッファを再利用する。
     487 * rus_net_buf -- ネットワークバッファを再利用する。
    504488 */
    505489
     
    522506
    523507/*
    524  * net_buf_siz -- ネットワークバッファのサイズを返す。
     508 * net_buf_siz -- ネットワークバッファのサイズを返す。
    525509 */
    526510
     
    537521
    538522/*
    539  * net_buf_max_siz -- ネットワークバッファの最大サイズを返す。
     523 * net_buf_max_siz -- ネットワークバッファの最大サイズを返す。
    540524 */
    541525
     
    550534
    551535/*
    552  *  tget_net_buf_ex -- ネットワークバッファを獲得する(拡張機能)。
     536 *  tget_net_buf_ex -- ネットワークバッファを獲得する(拡張機能)。
    553537 */
    554538
     
    569553
    570554/*
    571  *  tget_net_buf -- ネットワークバッファを獲得する(互換)。
     555 *  tget_net_buf -- ネットワークバッファを獲得する(互換)。
    572556 */
    573557
     
    580564
    581565/*
    582  * rel_net_buf -- ネットワークバッファを返却する。
     566 * rel_net_buf -- ネットワークバッファを返却する。
    583567 */
    584568
     
    593577
    594578/*
    595  * net_buf_max_siz -- ネットワークバッファの最大サイズを返す。
     579 * net_buf_max_siz -- ネットワークバッファの最大サイズを返す。
    596580 */
    597581
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/net_buf.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4836
    4937/*
    50  *  ネットワークバッファ
     38 *  ネットワークバッファ
    5139 *
    52  *    4 オクテットでアラインするå¿
    53 è¦ã®ã‚るプロセッサを考æ
    54 ®ã—て、
    55  *    IF ヘッダサイズが 4 オクテット境界でないの場合、
    56  *    IP ヘッダ以降を 4 オクテット境界に調整する。
     40 *    4 オクテットでアラインする必要のあるプロセッサを考慮して、
     41 *    IF ヘッダサイズが 4 オクテット境界でないの場合、
     42 *    IP ヘッダ以降を 4 オクテット境界に調整する。
    5743 */
    5844
     
    6248
    6349/*
    64  *  テンプレート
     50 *  テンプレート
    6551 */
    6652
    6753struct 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];        /* バッファ本体 */
    7864        };
    7965
     
    8773
    8874/*
    89  *  64 オクテット
     75 *  64 オクテット
    9076 */
    9177
    9278typedef 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]; /* バッファ本体      */
    10389        } T_NET_BUF_64;
    10490
    10591/*
    106  *  128 オクテット
     92 *  128 オクテット
    10793 */
    10894
    10995typedef 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]; /* バッファ本体     */
    120106        } T_NET_BUF_128;
    121107
    122108/*
    123  *  256 オクテット
     109 *  256 オクテット
    124110 */
    125111
    126112typedef 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]; /* バッファ本体     */
    137123        } T_NET_BUF_256;
    138124
    139125/*
    140  *  512 オクテット
     126 *  512 オクテット
    141127 */
    142128
    143129typedef 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];/* バッファ本体      */
    154140        } T_NET_BUF_512;
    155141
    156142/*
    157  *  1024 オクテット
     143 *  1024 オクテット
    158144 */
    159145
    160146typedef 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]; /* バッファ本体    */
    171157        } T_NET_BUF_1024;
    172158
    173159/*
    174  *  ネットワークインタフェースの最大 PDU サイズ
     160 *  ネットワークインタフェースの最大 PDU サイズ
    175161 */
    176162
     
    178164
    179165typedef 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;  /* フラグ          */
    183169#ifdef IF_ETHER_NIC_NET_BUF_ALIGN
    184170        uint8_t         nalign[IF_ETHER_NIC_NET_BUF_ALIGN];
     
    188174#endif
    189175        uint8_t         buf[IF_PDU_SIZE];
    190                                 /* バッファ本体           */
     176                                /* バッファ本体               */
    191177#if defined(IF_PDU_HDR_PADDING)
    192178        uint8_t         padding[IF_PDU_HDR_PADDING];
    193 #endif                          /* ヘッダの余分           */
     179#endif                          /* ヘッダの余分               */
    194180        } T_NET_BUF_IF_PDU;
    195181
     
    197183
    198184/*
    199  *  ネットワークバッファ表
     185 *  ネットワークバッファ表
    200186 */
    201187
     
    218204
    219205/*
    220  *  ネットワークバッファ・フラグ 
    221  */
    222 
    223 /*
    224  *  ネットワークインタフェース出力後にネットワークバッファを開放しない。
    225  *  注意: 出力後にこのフラグはクリアされる。
     206 *  ネットワークバッファ・フラグ     
     207 */
     208
     209/*
     210 *  ネットワークインタフェース出力後にネットワークバッファを開放しない。
     211 *  注意: 出力後にこのフラグはクリアされる。
    226212 */
    227213#define NB_FLG_NOREL_IFOUT      UINT_C(0x80)
    228214
    229215/*
    230  *  ESP 用フラグ
     216 *  ESP 用フラグ
    231217 */
    232218#define NB_FLG_DECRYPED         UINT_C(0x40)
    233219
    234220/*
    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 *  関数シミュレーションマクロ
    247233 */
    248234
     
    250236
    251237/*
    252  *  関数
     238 *  関数
    253239 */
    254240
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/net_count.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    11199
    112100/*
    113  *  ネットワーク統計æƒ
    114 å ±ã®è¨ˆæ¸¬
     101 *  ネットワーク統計情報の計測
    115102 */
    116103
     
    137124
    138125/*
    139  *  計測用変数
     126 *  計測用変数
    140127 */
    141128
     
    145132
    146133T_NET_COUNT     net_count_ppp;
    147 T_NET_COUNT_VAL net_count_ppp_no_bufs;          /* net_buf 割り当て失敗数        */
     134T_NET_COUNT_VAL net_count_ppp_no_bufs;          /* net_buf 割り当て失敗数      */
    148135
    149136#endif  /* of #if NET_COUNT_ENABLE & PROTO_FLG_PPP */
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/net_count.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    8169
    8270/*
    83  *  ネットワーク統計æƒ
    84 å ±ã®è¨ˆæ¸¬
     71 *  ネットワーク統計情報の計測
    8572 */
    8673
     
    9683
    9784typedef 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;        /* 送信エラーバケット数   */
    10491        } T_NET_COUNT;
    10592
     
    119106
    120107extern 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                       /* カウンタ数 */
     108extern 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                       /* カウンタ数 */
    126113
    127114#else   /* of #if NET_COUNT_ENABLE & PROTO_FLG_PPP */
     
    248235#ifdef SUPPORT_LOOP
    249236
    250 /* ループバック */
     237/* ループバック */
    251238
    252239#if NET_COUNT_ENABLE & PROTO_FLG_LOOP
     
    292279#if NET_COUNT_ENABLE & PROTO_FLG_ETHER_NIC
    293280
    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      /* カウンタ数                        */
    307294
    308295#define NET_COUNT_ETHER_NIC(v,c)        ((v)+=(c))
     
    322309#endif  /* of #ifdef SUPPORT_ETHER */
    323310
    324 /* ネットワークバッファ */
     311/* ネットワークバッファ */
    325312
    326313#if NET_COUNT_ENABLE & PROTO_FLG_NET_BUF
     
    358345#if NET_COUNT_ENABLE & PROTO_FLG_IP4
    359346
    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      /* カウンタ数                        */
    382368
    383369#define NET_COUNT_IP4(v,c)      ((v)+=(c))
     
    439425#if NET_COUNT_ENABLE & PROTO_FLG_IP6
    440426
    441 #define NC_IP6_FRAG_OUT_FRAGS           0       /* 分割送信、フラグメント数 */
    442 #define NC_IP6_FRAG_OUT                 1       /* 分割送信数                      */
    443 #define NC_IP6_OUT_ERR_PACKETS          2       /* 送信エラーデータグラム数 */
    444 #define NC_IP6_OUT_PACKETS              3       /* 送信データグラム数          */
    445 #define NC_IP6_OUT_OCTETS               4       /* 送信オクテット数             */
    446 #define NC_IP6_FRAG_IN_TMOUT            5       /* 分割受信タイムアウト数            */
    447 #define NC_IP6_FRAG_IN_NO_BUF           6       /* 分割受信バッファり当て失敗数   */
    448 #define NC_IP6_FRAG_IN_DROP             7       /* 分割受信破棄数                */
    449 #define NC_IP6_FRAG_IN_OK               8       /* 分割受信再構成成功数               */
    450 #define NC_IP6_FRAG_IN_FRAGS            9       /* 分割受信フラグメント数            */
    451 #define NC_IP6_FRAG_IN                  10      /* 分割受信数                      */
    452 #define NC_IP6_IN_ERR_PROTO             11      /* プロトコルエラー数          */
    453 #define NC_IP6_IN_ERR_ADDR              12      /* アドレスエラー数             */
    454 #define NC_IP6_IN_ERR_VER               13      /* バージョンエラー数          */
    455 #define NC_IP6_IN_ERR_SHORT             14      /* 長さエラー数                   */
    456 #define NC_IP6_IN_ERR_PACKETS           15      /* 受信エラーデータグラム数 */
    457 #define NC_IP6_IN_PACKETS               16      /* 受信データグラム数          */
    458 #define NC_IP6_IN_OCTETS                17      /* 受信オクテット数             */
    459 #define NC_IP6_SIZE                     18      /* カウンタ数                      */
     427#define NC_IP6_FRAG_OUT_FRAGS           0       /* 分割送信、フラグメント数 */
     428#define NC_IP6_FRAG_OUT                 1       /* 分割送信数                        */
     429#define NC_IP6_OUT_ERR_PACKETS          2       /* 送信エラーデータグラム数 */
     430#define NC_IP6_OUT_PACKETS              3       /* 送信データグラム数            */
     431#define NC_IP6_OUT_OCTETS               4       /* 送信オクテット数             */
     432#define NC_IP6_FRAG_IN_TMOUT            5       /* 分割受信タイムアウト数          */
     433#define NC_IP6_FRAG_IN_NO_BUF           6       /* 分割受信バッファり当て失敗数       */
     434#define NC_IP6_FRAG_IN_DROP             7       /* 分割受信破棄数              */
     435#define NC_IP6_FRAG_IN_OK               8       /* 分割受信再構成成功数           */
     436#define NC_IP6_FRAG_IN_FRAGS            9       /* 分割受信フラグメント数          */
     437#define NC_IP6_FRAG_IN                  10      /* 分割受信数                        */
     438#define NC_IP6_IN_ERR_PROTO             11      /* プロトコルエラー数            */
     439#define NC_IP6_IN_ERR_ADDR              12      /* アドレスエラー数             */
     440#define NC_IP6_IN_ERR_VER               13      /* バージョンエラー数            */
     441#define NC_IP6_IN_ERR_SHORT             14      /* 長さエラー数                       */
     442#define NC_IP6_IN_ERR_PACKETS           15      /* 受信エラーデータグラム数 */
     443#define NC_IP6_IN_PACKETS               16      /* 受信データグラム数            */
     444#define NC_IP6_IN_OCTETS                17      /* 受信オクテット数             */
     445#define NC_IP6_SIZE                     18      /* カウンタ数                        */
    460446
    461447#define NET_COUNT_IP6(v,c)      ((v)+=(c))
     
    475461#if NET_COUNT_ENABLE & PROTO_FLG_ICMP6
    476462
    477 #define NC_ICMP6_OUT_ERR_PACKETS        0       /* 送信エラー ICMP データ数    */
    478 #define NC_ICMP6_OUT_PACKETS            1       /* 送信 ICMP データ数             */
    479 #define NC_ICMP6_OUT_OCTETS             2       /* 送信 ICMP オクテット数               */
    480 #define NC_ICMP6_IN_ERR_CKSUM           3       /* 長さエラー数                   */
    481 #define NC_ICMP6_IN_ERR_PACKETS         4       /* 受信エラー ICMP データ数    */
    482 #define NC_ICMP6_IN_PACKETS             5       /* 受信 ICMP データ数             */
    483 #define NC_ICMP6_IN_OCTETS              6       /* 受信 ICMP オクテット数               */
    484 #define NC_ICMP6_SIZE                   7       /* カウンタ数                      */
     463#define NC_ICMP6_OUT_ERR_PACKETS        0       /* 送信エラー ICMP データ数      */
     464#define NC_ICMP6_OUT_PACKETS            1       /* 送信 ICMP データ数         */
     465#define NC_ICMP6_OUT_OCTETS             2       /* 送信 ICMP オクテット数               */
     466#define NC_ICMP6_IN_ERR_CKSUM           3       /* 長さエラー数                       */
     467#define NC_ICMP6_IN_ERR_PACKETS         4       /* 受信エラー ICMP データ数      */
     468#define NC_ICMP6_IN_PACKETS             5       /* 受信 ICMP データ数         */
     469#define NC_ICMP6_IN_OCTETS              6       /* 受信 ICMP オクテット数               */
     470#define NC_ICMP6_SIZE                   7       /* カウンタ数                        */
    485471
    486472#define NET_COUNT_ICMP6(v,c)    ((v)+=(c))
     
    500486#if NET_COUNT_ENABLE & PROTO_FLG_ND6
    501487
    502 #define NC_ND6_DAD_OUT_PACKETS          0       /* 重複アドレス検出送信数            */
    503 #define NC_ND6_NS_OUT_PACKETS           1       /* 近隣要請送信数                */
    504 #define NC_ND6_NS_IN_PACKETS            2       /* 近隣要請受信数                */
    505 #define NC_ND6_NA_OUT_PACKETS           3       /* 近隣通知送信数                */
    506 #define NC_ND6_NA_IN_PACKETS            4       /* 近隣通知受信数                */
    507 #define NC_ND6_RS_OUT_PACKETS           5       /* ルータ要請出力数             */
    508 #define NC_ND6_RA_IN_PACKETS            6       /* ルータ通知受信数             */
    509 #define NC_ND6_SIZE                     7       /* カウンタ数                      */
     488#define NC_ND6_DAD_OUT_PACKETS          0       /* 重複アドレス検出送信数          */
     489#define NC_ND6_NS_OUT_PACKETS           1       /* 近隣要請送信数              */
     490#define NC_ND6_NS_IN_PACKETS            2       /* 近隣要請受信数              */
     491#define NC_ND6_NA_OUT_PACKETS           3       /* 近隣通知送信数              */
     492#define NC_ND6_NA_IN_PACKETS            4       /* 近隣通知受信数              */
     493#define NC_ND6_RS_OUT_PACKETS           5       /* ルータ要請出力数             */
     494#define NC_ND6_RA_IN_PACKETS            6       /* ルータ通知受信数             */
     495#define NC_ND6_SIZE                     7       /* カウンタ数                        */
    510496
    511497#define NET_COUNT_ND6(v,c)      ((v)+=(c))
     
    531517#if NET_COUNT_ENABLE & PROTO_FLG_TCP
    532518
    533 #define NC_TCP_CONNECTS                 0       /* 能動オープン数                */
    534 #define NC_TCP_ACCEPTS                  1       /* 受動オープン数                */
    535 #define NC_TCP_RTT_UPDATES              2       /* RTT 更新数                        */
    536 #define NC_TCP_SEND_RSTS                3       /* 送信、RST 数                     */
    537 #define NC_TCP_SEND_ACKS                4       /* 送信、ACK 数                     */
    538 #define NC_TCP_SEND_URG_SEGS            5       /* 送信、緊急セグメント数    */
    539 #define NC_TCP_SEND_DATA_SEGS           6       /* 送信データセグメント数    */
    540 #define NC_TCP_SEND_REXMIT_SEGS         7       /* 再送信セグメント数          */
    541 #define NC_TCP_SEND_SEGS                8       /* 送信セグメント数             */
    542 #define NC_TCP_SEND_CNTL_SEGS           9       /* 送信制御セグメント数               */
    543 #define NC_TCP_SEND_DATA_OCTETS         10      /* 送信データオクテット数    */
    544 #define NC_TCP_FREE_RCV_QUEUE           11      /* 受信キュー解放数             */
    545 #define NC_TCP_RECV_DUP_SEGS            12      /* 受信、多重数                   */
    546 #define NC_TCP_RECV_DROP_SEGS           13      /* 受信、破棄数                   */
    547 #define NC_TCP_RECV_RSTS                14      /* 受信、RST 数                     */
    548 #define NC_TCP_RECV_DUP_ACKS            15      /* 受信、多重 ACK 数              */
    549 #define NC_TCP_RECV_ACKS                16      /* 受信、ACK 数                     */
    550 #define NC_TCP_RECV_BAD_CKSUMS          17      /* 受信、チェックサム不正数 */
    551 #define NC_TCP_RECV_BAD_HEADERS         18      /* 受信、ヘッダ不正数          */
    552 #define NC_TCP_RECV_URG_SEGS            19      /* 受信、緊急セグメント数    */
    553 #define NC_TCP_RECV_DATA_SEGS           20      /* 受信データセグメント数    */
    554 #define NC_TCP_RECV_SEGS                21      /* 受信セグメント数             */
    555 #define NC_TCP_RECV_DATA_OCTETS         22      /* 受信データオクテット数    */
    556 #define NC_TCP_RECV_OCTETS              23      /* 受信オクテット数             */
    557 #define NC_TCP_SIZE                     24      /* カウンタ数                      */
     519#define NC_TCP_CONNECTS                 0       /* 能動オープン数              */
     520#define NC_TCP_ACCEPTS                  1       /* 受動オープン数              */
     521#define NC_TCP_RTT_UPDATES              2       /* RTT 更新数                      */
     522#define NC_TCP_SEND_RSTS                3       /* 送信、RST 数                     */
     523#define NC_TCP_SEND_ACKS                4       /* 送信、ACK 数                     */
     524#define NC_TCP_SEND_URG_SEGS            5       /* 送信、緊急セグメント数  */
     525#define NC_TCP_SEND_DATA_SEGS           6       /* 送信データセグメント数  */
     526#define NC_TCP_SEND_REXMIT_SEGS         7       /* 再送信セグメント数            */
     527#define NC_TCP_SEND_SEGS                8       /* 送信セグメント数             */
     528#define NC_TCP_SEND_CNTL_SEGS           9       /* 送信制御セグメント数           */
     529#define NC_TCP_SEND_DATA_OCTETS         10      /* 送信データオクテット数  */
     530#define NC_TCP_FREE_RCV_QUEUE           11      /* 受信キュー解放数             */
     531#define NC_TCP_RECV_DUP_SEGS            12      /* 受信、多重数                       */
     532#define NC_TCP_RECV_DROP_SEGS           13      /* 受信、破棄数                       */
     533#define NC_TCP_RECV_RSTS                14      /* 受信、RST 数                     */
     534#define NC_TCP_RECV_DUP_ACKS            15      /* 受信、多重 ACK 数          */
     535#define NC_TCP_RECV_ACKS                16      /* 受信、ACK 数                     */
     536#define NC_TCP_RECV_BAD_CKSUMS          17      /* 受信、チェックサム不正数 */
     537#define NC_TCP_RECV_BAD_HEADERS         18      /* 受信、ヘッダ不正数            */
     538#define NC_TCP_RECV_URG_SEGS            19      /* 受信、緊急セグメント数  */
     539#define NC_TCP_RECV_DATA_SEGS           20      /* 受信データセグメント数  */
     540#define NC_TCP_RECV_SEGS                21      /* 受信セグメント数             */
     541#define NC_TCP_RECV_DATA_OCTETS         22      /* 受信データオクテット数  */
     542#define NC_TCP_RECV_OCTETS              23      /* 受信オクテット数             */
     543#define NC_TCP_SIZE                     24      /* カウンタ数                        */
    558544
    559545#define NET_COUNT_TCP(v,c)      ((v)+=(c))
     
    598584
    599585/*
    600  *  SNMP の 管理æƒ
    601 å ±ãƒ™ãƒ¼ã‚¹ (MIB)
     586 *  SNMP の 管理情報ベース (MIB)
    602587 */
    603588
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/net_endian.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    8169
    8270/*
    83  *  バイトオーダの定義
     71 *  バイトオーダの定義
    8472 */
    8573
     
    124112
    125113/*
    126  *  バイトオーダ変換の定義
     114 *  バイトオーダ変換の定義
    127115 */
    128116
     
    140128
    141129/*
    142  *  注意: IPヘッダ以降は、4 バイト境界にアラインされている事を
    143  *        前提としているが、4 バイト境界でアクセスする
    144  *        プロセッサで、ネットワーク側のデータが、4 バイト境界にアライン
    145  *        されていない場合は、ntoahl、ahtonl、nahcmpl を使用すること。
     130 *  注意: IPヘッダ以降は、4 バイト境界にアラインされている事を
     131 *        前提としているが、4 バイト境界でアクセスする
     132 *        プロセッサで、ネットワーク側のデータが、4 バイト境界にアライン
     133 *        されていない場合は、ntoahl、ahtonl、nahcmpl を使用すること。
    146134 */
    147135
     
    179167
    180168/*
    181  *  注意: IPヘッダ以降は、4 バイト境界にアラインされている事を
    182  *        前提としているが、4 バイト境界でアクセスする
    183  *        プロセッサで、ネットワーク側のデータが、4 バイト境界にアライン
    184  *        されていない場合は、ntoahl、ahtonl、nahcmpl を使用すること。
     169 *  注意: IPヘッダ以降は、4 バイト境界にアラインされている事を
     170 *        前提としているが、4 バイト境界でアクセスする
     171 *        プロセッサで、ネットワーク側のデータが、4 バイト境界にアライン
     172 *        されていない場合は、ntoahl、ahtonl、nahcmpl を使用すること。
    185173 */
    186174
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/net_jsp.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  JSP用 汎用ネットワークコンフィギュレーションファイル
     35 *  JSP用 汎用ネットワークコンフィギュレーションファイル
    4836 */
    4937
    5038
    5139/*
    52  *  å
    53 ±é€š 汎用ネットワークコンフィギュレーションファイルのインクルード
     40 *  共通 汎用ネットワークコンフィギュレーションファイルのインクルード
    5441 */
    5542
     
    5744
    5845/*
    59  * ネットワークバッファ
     46 * ネットワークバッファ
    6047 */
    6148
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/net_rename.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4836
    4937/*
    50  *  汎用ネットワークインタフェースå†
    51 éƒ¨åã®ãƒªãƒãƒ¼ãƒ 
     38 *  汎用ネットワークインタフェース内部名のリネーム
    5239 */
    5340
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/net_subr.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    7866
    7967/*
    80  *  ネットワーク汎用サポートルーチン
     68 *  ネットワーク汎用サポートルーチン
    8169 */
    8270
     
    10896
    10997/*
    110  *  変数
     98 *  変数
    11199 */
    112100
     
    114102
    115103/*
    116  *  net_rand -- 乱数を返す。
     104 *  net_rand -- 乱数を返す。
    117105 */
    118106
     
    125113
    126114/*
    127  *  srand -- 乱数を初期化する。
     115 *  srand -- 乱数を初期化する。
    128116 */
    129117
     
    138126
    139127/*
    140  *  convert_hexdigit -- 16進数→文字列変換
     128 *  convert_hexdigit -- 16進数→文字列変換
    141129 */
    142130
     
    166154
    167155/*
    168  *  mac2str -- MAC アドレスを文字列に変換する。
     156 *  mac2str -- MAC アドレスを文字列に変換する。
    169157 */
    170158
     
    206194
    207195/*
    208  *  rev_memcpy_hword -- 反転メモリコピー(2 バイト)
    209  *
    210  *    バイト単位にアクセスする事により、
    211  *    境界へのアラインの問題を解決する。
     196 *  rev_memcpy_hword -- 反転メモリコピー(2 バイト)
     197 *
     198 *    バイト単位にアクセスする事により、
     199 *    境界へのアラインの問題を解決する。
    212200 */
    213201
     
    220208
    221209/*
    222  *  rev_memcpy_word -- 反転メモリコピー(4 バイト)
    223  *
    224  *    バイト単位にアクセスする事により、
    225  *    境界へのアラインの問題を解決する。
     210 *  rev_memcpy_word -- 反転メモリコピー(4 バイト)
     211 *
     212 *    バイト単位にアクセスする事により、
     213 *    境界へのアラインの問題を解決する。
    226214 */
    227215
     
    236224
    237225/*
    238  *  rev_memcmp_word -- 反転メモリ比較(4 バイト)
    239  *
    240  *    バイト単位にアクセスする事により、
    241  *    境界へのアラインの問題を解決する。
     226 *  rev_memcmp_word -- 反転メモリ比較(4 バイト)
     227 *
     228 *    バイト単位にアクセスする事により、
     229 *    境界へのアラインの問題を解決する。
    242230 */
    243231
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/net_timer.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    112100
    113101/*
    114  *  変数
     102 *  変数
    115103 */
    116104
     
    118106
    119107/*
    120  *  呼出しエントリ登録
     108 *  呼出しエントリ登録
    121109 */
    122110
     
    126114        int_t ix;
    127115
    128         /* 呼出しエントリを獲得する */
     116        /* 呼出しエントリを獲得する */
    129117        syscall(wai_sem(SEM_CALL_OUT_LOCK));
    130118        for (ix = NUM_NET_CALLOUT; callout[-- ix].func != NULL; )
     
    135123                        }
    136124
    137         /* 呼出しエントリを設定する */
     125        /* 呼出しエントリを設定する */
    138126        callout[ix].func        = func;
    139127        callout[ix].arg         = arg;
     
    143131
    144132/*
    145  *  呼出しエントリ削除
     133 *  呼出しエントリ削除
    146134 */
    147135
     
    151139        int_t ix;
    152140
    153         /* エントリを探す */
     141        /* エントリを探す */
    154142        for (ix = NUM_NET_CALLOUT; ix -- > 0; ) {
    155143                syscall(wai_sem(SEM_CALL_OUT_LOCK));
     
    164152
    165153/*
    166  *  ネットワークタイマタスク
    167  *
    168  *    注意: タスクコンテキストで実行するå¿
    169 è¦ãŒã‚るため,
    170  *          周期ハンドラは使用できない。
     154 *  ネットワークタイマタスク
     155 *
     156 *    注意: タスクコンテキストで実行する必要があるため,
     157 *          周期ハンドラは使用できない。
    171158 */
    172159
     
    192179        syslog(LOG_NOTICE, "[NET/TIMER:%d] started.", tskid);
    193180
    194         /* IP を初期化する。*/
     181        /* IP を初期化する。*/
    195182
    196183#if defined(_IP6_CFG)
     
    204191#ifdef SUPPORT_TCP
    205192
    206         /* TCP 出力タスクを起動する */
     193        /* TCP 出力タスクを起動する */
    207194        syscall(act_tsk(TCP_OUTPUT_TASK));
    208195
     
    211198#if defined(SUPPORT_UDP) && defined(UDP_CFG_NON_BLOCKING)
    212199
    213         /* UDP 出力タスクを起動する */
     200        /* UDP 出力タスクを起動する */
    214201        syscall(act_tsk(UDP_OUTPUT_TASK));
    215202
     
    217204
    218205        while (true) {
    219                 /* タイムアウトしたエントリを呼出す。*/
     206                /* タイムアウトしたエントリを呼出す。*/
    220207                syscall(wai_sem(SEM_CALL_OUT_TIMEOUT));
    221208                for (ix = NUM_NET_CALLOUT; ix -- > 0; ) {
     
    235222
    236223/*
    237  *  ネットワークタイマハンドラ
    238  *
    239  *    NET_TIMER_CYCLE (100ms) 毎に呼出される。
     224 *  ネットワークタイマハンドラ
     225 *
     226 *    NET_TIMER_CYCLE (100ms) 毎に呼出される。
    240227 */
    241228
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/net_timer.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    8068#define _NET_TIMER_H_
    8169
    82 #include <tinet_kernel_defs.h>  /* カーネルに関する互換性定義ファイルをインクルードする。*/
     70#include <tinet_kernel_defs.h>  /* カーネルに関する互換性定義ファイルをインクルードする。*/
    8371
    8472/*
    85  *  TOPPERS/JSP カーネル、システム時刻 (SYSTIM) の周波数
     73 *  TOPPERS/JSP カーネル、システム時刻 (SYSTIM) の周波数
    8674 */
    8775
     
    8977
    9078/*
    91  *  ネットワークタイマの定義
     79 *  ネットワークタイマの定義
    9280 */
    9381
    94 #define NET_TIMER_CYCLE         ULONG_C(100000) /* [us]、fast timeout 使用時の動作周期 */
    95                                                 /* タイマの周波数                        */
     82#define NET_TIMER_CYCLE         ULONG_C(100000) /* [us]、fast timeout 使用時の動作周期   */
     83                                                /* タイマの周波数                      */
    9684#define NET_TIMER_HZ            (SYSTIM_HZ/NET_TIMER_CYCLE)
    9785
    9886#ifdef _IP6_CFG
    99 #define NUM_NET_CALLOUT         12              /* タイムアウト呼出し数、10 以上   */
     87#define NUM_NET_CALLOUT         12              /* タイムアウト呼出し数、10 以上     */
    10088#else
    101 #define NUM_NET_CALLOUT         10              /* タイムアウト呼出し数、10 以上   */
     89#define NUM_NET_CALLOUT         10              /* タイムアウト呼出し数、10 以上     */
    10290#endif
    10391
    10492/*
    105  *  タイムアウト呼出しエントリ
     93 *  タイムアウト呼出しエントリ
    10694 */
    10795
     
    10997
    11098typedef struct t_net_callout {
    111         callout_func    func;           /* 呼出す関数              */
    112         void            *arg;           /* 関数への引数           */
    113         RELTIM          timeout;        /* タイムアウト           */
     99        callout_func    func;           /* 呼出す関数                */
     100        void            *arg;           /* 関数への引数               */
     101        RELTIM          timeout;        /* タイムアウト               */
    114102        } T_NET_CALLOUT;
    115103
    116104/*
    117  *  関数
     105 *  関数
    118106 */
    119107
     
    122110
    123111/*
    124  *  ネットワークタイマタスクと周期ハンドラ
     112 *  ネットワークタイマタスクと周期ハンドラ
    125113 */
    126114
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/net_var.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    8169
    8270/*
    83  *  関数
     71 *  関数
    8472 */
    8573
     
    8775
    8876/*
    89  *  関数
     77 *  関数
    9078 */
    9179
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/ppp.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    8068
    8169/*
    82  *  PPP 処理タスクの本体
     70 *  PPP 処理タスクの本体
    8371 */
    8472
     
    112100
    113101/*
    114  *  å
    115 ¨åŸŸå¤‰æ•°
    116  */
    117 
    118 uint8_t ppp_phase = PPP_PHASE_INITIALIZE;       /* リンクの状æ
    119 ‹               */
    120 
    121 /*
    122  *  プロトコル表
     102 *  全域変数
     103 */
     104
     105uint8_t ppp_phase = PPP_PHASE_INITIALIZE;       /* リンクの状態               */
     106
     107/*
     108 *  プロトコル表
    123109 */
    124110
     
    150136
    151137/*
    152  *  変数
     138 *  変数
    153139 */
    154140
     
    160146
    161147/*
    162  *  関数
     148 *  関数
    163149 */
    164150
     
    172158
    173159/*
    174  *  PPP å
    175 ¥åŠ›ã®è§£æž
     160 *  PPP 入力の解析
    176161 */
    177162
     
    186171        NET_COUNT_PPP(net_count_ppp.in_packets, 1);
    187172
    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 */
    190175                syslog(LOG_NOTICE, "[PPP] recv short frame.");
    191176                goto buf_rel;
     
    194179        proto = ntohs(*GET_PPP_HDR(input));
    195180
    196         /* プロトコルが LCP 以外で、LCP がオープンされていなければエラー */
     181        /* プロトコルが LCP 以外で、LCP がオープンされていなければエラー */
    197182        if (proto != PPP_LCP && lcp_fsm.state != PPP_FSM_OPENED) {
    198183                syslog(LOG_NOTICE, "[PPP] LCP not open.");
     
    200185                }
    201186
    202         /* リンクが認証状æ
    203 ‹ä»¥å‰ã¯ã€LCP、LQR、PAP、CHAP のみ受け付ける */
     187        /* リンクが認証状態以前は、LCP、LQR、PAP、CHAP のみ受け付ける */
    204188        if (ppp_phase <= PPP_PHASE_AUTHENTICATE &&
    205189            !(proto == PPP_LCP || proto == PPP_LQR ||
     
    209193                }
    210194
    211         /* 上位プロトコルのå
    212 ¥åŠ›é–¢æ•°ã‚’呼出す */
     195        /* 上位プロトコルの入力関数を呼出す */
    213196        for (ix = 0; (entry = protocols[ix]) != NULL; ix ++) {
    214197                if (entry->proto == proto && entry->input != NULL) {
     
    232215
    233216/*
    234  *  ppp_output -- PPP インタフェースの出力関数
     217 *  ppp_output -- PPP インタフェースの出力関数
    235218 */
    236219
     
    242225#ifdef PPP_CFG_MODEM
    243226
    244 #if 0   /* 保留 */
    245         /* モデムの接続完了までå¾
    246 ã¤ã€‚*/
     227#if 0   /* 保留 */
     228        /* モデムの接続完了まで待つ。*/
    247229        if ((error = wait_modem()) != E_OK)
    248230                goto buf_ret;
     
    252234
    253235#ifdef _IP6_CFG
    254         /* IPV6CP の接続完了までå¾
    255 ã¤ã€‚*/
     236        /* IPV6CP の接続完了まで待つ。*/
    256237        if ((error = wait_ipv6cp()) != E_OK)
    257238                goto buf_ret;
     
    259240
    260241#ifdef _IP4_CFG
    261         /* IPCP の接続完了までå¾
    262 ã¤ã€‚*/
     242        /* IPCP の接続完了まで待つ。*/
    263243        if ((error = wait_ipcp()) != E_OK)
    264244                goto buf_ret;
     
    266246
    267247#ifdef _IP4_CFG
    268         /* IPCP の接続完了までå¾
    269 ã¤ã€‚*/
     248        /* IPCP の接続完了まで待つ。*/
    270249        if ((error = wait_ipcp()) != E_OK)
    271250                goto buf_ret;
     
    281260#endif  /* of #ifdef PPP_IDLE_TIMEOUT */
    282261
    283         /* PPP 出力キューに投å
    284 ¥ã™ã‚‹ã€‚*/
     262        /* PPP 出力キューに投入する。*/
    285263        if ((error = tsnd_dtq(DTQ_PPP_OUTPUT, output, tmout)) != E_OK)
    286264                goto buf_ret;
     
    304282
    305283/*
    306  *  ppp_cp_output -- CP フレームの送信
     284 *  ppp_cp_output -- CP フレームの送信
    307285 */
    308286
     
    312290        T_PPP_CP_HDR    *cph;
    313291
    314         /* CP ヘッダを設定する */
     292        /* CP ヘッダを設定する */
    315293        cph = GET_PPP_CP_HDR(output);
    316294        cph->code = code;
     
    318296        cph->len  = htons(output->len - sizeof(T_PPP_HDR));
    319297
    320         /* PPP 出力キューに投å
    321 ¥ã™ã‚‹ã€‚*/
     298        /* PPP 出力キューに投入する。*/
    322299        if (snd_dtq(DTQ_PPP_OUTPUT, output) != E_OK) {
    323300                syscall(rel_net_buf(output));
     
    327304
    328305/*
    329  *  PPP å
    330 ¥åŠ›ã‚¿ã‚¹ã‚¯
     306 *  PPP 入力タスク
    331307 */
    332308
     
    340316        uint8_t         rcount = 0;
    341317
    342         /* ポートを初期設定する */
     318        /* ポートを初期設定する */
    343319        syscall(serial_opn_por(HDLC_PORTID));
    344320        syscall(serial_ctl_por(HDLC_PORTID, IOCTL_FCSND | IOCTL_FCRCV));
     
    357333#endif  /* of #ifdef PPP_CFG_MODEM */
    358334
    359         /* ネットワークタイマタスクを起動する */
     335        /* ネットワークタイマタスクを起動する */
    360336        syscall(act_tsk(NET_TIMER_TASK));
    361337
    362         /* 上位プロトコルを初期化する */
     338        /* 上位プロトコルを初期化する */
    363339        for (ix = 0; (proto = protocols[ix]) != NULL; ix ++)
    364340                if (proto->init != NULL)
     
    368344        lcp_open(PPP_OPEN_PASSIVE);
    369345
    370         /* PPP 出力タスクを起動する */
     346        /* PPP 出力タスクを起動する */
    371347        syscall(act_tsk(PPP_OUTPUT_TASK));
    372348
    373         /* 乱数生成を初期化する。*/
     349        /* 乱数生成を初期化する。*/
    374350        net_srand(0);
    375351
     
    380356                        if (input->len > 0) {
    381357
    382                                 /* 乱数生成を初期化する。*/
     358                                /* 乱数生成を初期化する。*/
    383359                                if (rcount == 0)
    384360                                        net_srand(input->len);
     
    422398
    423399/*
    424  *  PPP 出力タスク
     400 *  PPP 出力タスク
    425401 */
    426402
     
    447423
    448424/*
    449  *  アイドルタイムアウト処理
     425 *  アイドルタイムアウト処理
    450426 */
    451427
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/ppp.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  PPP コンフィギュレーションファイル
     35 *  PPP コンフィギュレーションファイル
    4836 */
    4937
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/ppp.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    8371
    8472/*
    85  *  PPP ヘッダのプロトコルフィールドの値
     73 *  PPP ヘッダのプロトコルフィールドの値
    8674 */
    8775
     
    10189
    10290/*
    103  *  リンクの状æ
    104 ‹
     91 *  リンクの状態
    10592 */
    10693
     
    116103
    117104/*
    118  *  PPP リンク制御 (CP) ヘッダ構造体
     105 *  PPP リンク制御 (CP) ヘッダ構造体
    119106 */
    120107
    121108typedef 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;            /* 長さ           */
    125112        } __attribute__((packed, aligned(2)))T_PPP_CP_HDR;
    126113
     
    128115
    129116/*
    130  *  PPP リンク制御 (CP) の制御コード
     117 *  PPP リンク制御 (CP) の制御コード
    131118 */
    132119
     
    141128
    142129/*
    143  * 構成æƒ
    144 å ± (CI) ヘッダ
     130 * 構成情報 (CI) ヘッダ
    145131 */
    146132
    147133typedef struct t_ppp_ci_hdr {
    148         uint8_t         type;           /* CI の型    */
    149         uint8_t         len;            /* 長さ               */
     134        uint8_t         type;           /* CI の型        */
     135        uint8_t         len;            /* 長さ           */
    150136        } __attribute__((packed, aligned(2)))T_PPP_CI_HDR;
    151137
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/ppp_auth.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    124112
    125113/*
    126  *  定数
     114 *  定数
    127115 */
    128116
     
    133121
    134122/*
    135  *  network_phase -- コネクション確立
     123 *  network_phase -- コネクション確立
    136124 */
    137125
     
    144132        ppp_phase = PPP_PHASE_NETWORK;
    145133
    146         /* 上位プロトコルをオープンする */
     134        /* 上位プロトコルをオープンする */
    147135        num = 0;
    148136        for (ix = 0; (proto = protocols[ix]) != NULL; ix ++)
    149 #if 0   /* 保留、削除禁止 */
     137#if 0   /* 保留、削除禁止 */
    150138                if (proto->proto < 0xc000 && proto->open != NULL) {
    151139#else   /* of #if 0 */
     
    158146
    159147        if (num == 0)
    160                 /* 上位プロトコルがない */
     148                /* 上位プロトコルがない */
    161149                lcp_close();
    162150        else
     
    165153
    166154/*
    167  *  link_required -- リンクを開設する。
     155 *  link_required -- リンクを開設する。
    168156 */
    169157
     
    174162
    175163/*
    176  *  link_terminated -- ログアウトして、リンクを切断する。
     164 *  link_terminated -- ログアウトして、リンクを切断する。
    177165 */
    178166
     
    186174
    187175/*
    188  *  link_down -- リンクを解放する。
     176 *  link_down -- リンクを解放する。
    189177 */
    190178
     
    195183        T_PPP_PROTENT   *proto;
    196184
    197         /* 上位プロトコルを解放する */
     185        /* 上位プロトコルを解放する */
    198186        for (ix = 0; (proto = protocols[ix]) != NULL; ix ++) {
    199187                if (proto->proto != PPP_LCP && proto->lowerdown != NULL)
     
    208196
    209197/*
    210  *  link_established -- リンクの接続が確立した。
     198 *  link_established -- リンクの接続が確立した。
    211199 */
    212200
     
    223211#endif  /* of #if defined(LCP_CFG_CHAP) || defined(LCP_CFG_PAP) */
    224212
    225         /* 上位プロトコルを起動する */
     213        /* 上位プロトコルを起動する */
    226214        for (ix = 0; (proto = protocols[ix]) != NULL; ix ++)
    227215                if (proto->lowerup != NULL)
    228216                        (*proto->lowerup)();
    229217
    230         /* 認証オプションを確認する。【未実è£
    231 ã€‘*/
     218        /* 認証オプションを確認する。【未実装】*/
    232219
    233220        ppp_phase = PPP_PHASE_AUTHENTICATE;
     
    284271
    285272/*
    286  *  auth_reset -- 認証オプションを再確認する。
     273 *  auth_reset -- 認証オプションを再確認する。
    287274 */
    288275
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/ppp_auth.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    7260
    7361/*
    74  *  関数
     62 *  関数
    7563 */
    7664
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/ppp_ccp.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    9785
    9886/*
    99  *  実è£
    100 äºˆå®šã€ç¾åœ¨ã¯ã™ã¹ã¦æ‹’否
     87 *  実装予定、現在はすべて拒否
    10188 */
    10289
     
    113100
    114101/*
    115  *  関数
     102 *  関数
    116103 */
    117104
     
    125112
    126113/*
    127  * FSM から呼出されるコールバック関
     114 * FSM から呼出されるコールバック関
    128115 */
    129116
    130117static int_t  ccp_reqci (T_PPP_FSM *fsm, T_NET_BUF *nbuf);
    131                                         /* 相手の構成æƒ
    132 å ±ã‚’確認する。   */
    133 
    134 /*
    135  *  å
    136 ¨åŸŸå¤‰æ•°
     118                                        /* 相手の構成情報を確認する。        */
     119
     120/*
     121 *  全域変数
    137122 */
    138123
    139124T_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 を受信したときの処理    */
    157138        };
    158139
    159140T_PPP_FSM ccp_fsm = {
    160         &ccp_callbacks,                 /* コールバック関数             */
    161         PPP_CCP,                        /* プロトコル                      */
     141        &ccp_callbacks,                 /* コールバック関数             */
     142        PPP_CCP,                        /* プロトコル                        */
    162143        };
    163144
    164145T_PPP_PROTENT ccp_protent = {
    165146        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,                           /* データ入力                        */
    176155        };
    177156
    178157/*
    179  *  ccp_init -- CCP モジュールの初期化
     158 *  ccp_init -- CCP モジュールの初期化
    180159 */
    181160
     
    187166
    188167/*
    189  *  ccp_input -- CCP å
    190 ¥åŠ›
     168 *  ccp_input -- CCP 入力
    191169 */
    192170
     
    200178
    201179/*
    202  *  ccp_reqci -- 相手の構成æƒ
    203 å ±ã‚’解析する。
     180 *  ccp_reqci -- 相手の構成情報を解析する。
    204181 */
    205182
     
    208185{
    209186/*
    210  *  実è£
    211 äºˆå®šã€ç¾åœ¨ã¯ã™ã¹ã¦ã®ã‚ªãƒ—ションを拒否する。
     187 *  実装予定、現在はすべてのオプションを拒否する。
    212188 */
    213189        return nbuf->len > (sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR)) ? PPP_CONFREJ : PPP_CONFACK;
     
    215191
    216192/*
    217  *  ccp_protrej -- Proto-REJ を受信したときの処理
     193 *  ccp_protrej -- Proto-REJ を受信したときの処理
    218194 */
    219195
     
    225201
    226202/*
    227  *  ccp_lowerup -- CCP 下位層を起動する。
     203 *  ccp_lowerup -- CCP 下位層を起動する。
    228204 */
    229205
     
    235211
    236212/*
    237  *  ccp_lowerdown -- CCP 下位層を停止する。
     213 *  ccp_lowerdown -- CCP 下位層を停止する。
    238214 */
    239215
     
    245221
    246222/*
    247  *  ccp_open -- CCP のオープ
     223 *  ccp_open -- CCP のオープ
    248224 */
    249225
     
    255231
    256232/*
    257  *  ccp_close -- CCP のクローズ
     233 *  ccp_close -- CCP のクローズ
    258234 */
    259235
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/ppp_ccp.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    10189
    10290/*
    103  *  変数
     91 *  変数
    10492 */
    10593
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/ppp_fsm.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    112100
    113101/*
    114  *  å
    115 ¨åŸŸå¤‰æ•°
    116  */
    117 
    118 uint8_t ppp_open_mode = PPP_OPEN_PASSIVE;       /* オープン時の動作モード    */
    119 
    120 /*
    121  *  関数
     102 *  全域変数
     103 */
     104
     105uint8_t ppp_open_mode = PPP_OPEN_PASSIVE;       /* オープン時の動作モード  */
     106
     107/*
     108 *  関数
    122109 */
    123110
     
    133120
    134121/*
    135  *  fsm_sconfreq -- Configure-Request を送信する。
     122 *  fsm_sconfreq -- Configure-Request を送信する。
    136123 */
    137124
     
    145132              fsm->state == PPP_FSM_ACKRCVD ||
    146133              fsm->state == PPP_FSM_ACKSENT)) {
    147                 /* まだネゴをしていない。オプションをリセットする。 */
     134                /* まだネゴをしていない。オプションをリセットする。 */
    148135                if (fsm->callbacks->resetci)
    149136                        (*fsm->callbacks->resetci)(fsm);
     
    151138                }
    152139        if (retransmit == 0) {
    153                 /* 新しいリクエスト。再送カウンタをリセットし、新しい ID を設定する。 */
     140                /* 新しいリクエスト。再送カウンタをリセットし、新しい ID を設定する。 */
    154141                fsm->retrans = MAX_PPP_CONFIGURES;
    155142                fsm->reqid   = ++ fsm->id;
     
    159146
    160147        if (fsm->callbacks->cilen && fsm->callbacks->addci) {
    161                 /* 構成æƒ
    162 å ±ãƒ‘ケットを作る。 */
     148                /* 構成情報パケットを作る。 */
    163149                len = (*fsm->callbacks->cilen)(fsm);
    164150
     
    166152                (*fsm->callbacks->addci)(fsm, output);
    167153
    168                 /* 構成æƒ
    169 å ±ãƒ‘ケットを送信する。 */
     154                /* 構成情報パケットを送信する。 */
    170155                IF_SET_PROTO(output, fsm->proto);
    171156                ppp_cp_output(PPP_CONFREQ, fsm->reqid, output);
     
    177162
    178163/*
    179  *  fsm_rconfreq -- Configure-Request を受信したときの処理
     164 *  fsm_rconfreq -- Configure-Request を受信したときの処理
    180165 */
    181166
     
    200185
    201186        case PPP_FSM_OPENED:
    202                 /* 上位層を停止して、ネゴに移る。 */
     187                /* 上位層を停止して、ネゴに移る。 */
    203188                if (fsm->callbacks->down != NULL)
    204189                        (*fsm->callbacks->down)(fsm);
    205                 fsm_sconfreq(fsm, 0);           /* 最初の Configure-Request を送る。 */
     190                fsm_sconfreq(fsm, 0);           /* 最初の Configure-Request を送る。 */
    206191                break;
    207192
    208193        case PPP_FSM_STOPPED:
    209                 /* 相手からネゴが開始された */
    210                 fsm_sconfreq(fsm, 0);           /* 最初の Configure-Request を送る。 */
     194                /* 相手からネゴが開始された */
     195                fsm_sconfreq(fsm, 0);           /* 最初の Configure-Request を送る。 */
    211196                fsm->state = PPP_FSM_REQSENT;
    212197                break;
     
    216201        syscall(get_net_buf(&output, input->len));
    217202
    218         /* 上位プロトコルに要求された Configure-Request を送る。 */
    219         if (fsm->callbacks->reqci != NULL)      /* 構成æƒ
    220 å ±ã‚’チェックする。 */
     203        /* 上位プロトコルに要求された Configure-Request を送る。 */
     204        if (fsm->callbacks->reqci != NULL)      /* 構成情報をチェックする。 */
    221205                code = (*fsm->callbacks->reqci)(fsm, input, output);
    222206        else if (output->len > sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR))
     
    225209                code = PPP_CONFACK;
    226210
    227         /* 相手に ACK, NAK または REJ を送信する。 */
     211        /* 相手に ACK, NAK または REJ を送信する。 */
    228212        ppp_cp_output(code, id, output);
    229213
     
    240224                }
    241225        else {
    242                 /* ACK か REJ を送る */
     226                /* ACK か REJ を送る */
    243227                if (fsm->state != PPP_FSM_ACKRCVD)
    244228                        fsm->state = PPP_FSM_REQSENT;
     
    249233
    250234/*
    251  *  fsm_rconfnakrej -- Configure-NAK/REJ を受信したときの処理
     235 *  fsm_rconfnakrej -- Configure-NAK/REJ を受信したときの処理
    252236 */
    253237
     
    258242        T_NET_BUF       *output;
    259243
    260         /* 予期した ID でないか、NAK/REJ を予期していないときは終了する。*/
     244        /* 予期した ID でないか、NAK/REJ を予期していないときは終了する。*/
    261245        if (id != fsm->reqid || fsm->seen_ack) {
    262246                syslog(LOG_WARNING, "[PPP/FSM] bad ID or unexp NAK/REJ.");
     
    291275        case PPP_FSM_ACKSENT:
    292276                untimeout((FP)fsm_timeout, fsm);
    293                 if (ret < 0)            /* 送信した Conf-Req が破損し空の NAK/REJ が届いた。*/
     277                if (ret < 0)            /* 送信した Conf-Req が破損し空の NAK/REJ が届いた。*/
    294278                        fsm->state = PPP_FSM_STOPPED;
    295279                else
     
    304288
    305289        case PPP_FSM_OPENED:
    306                 /* 再起動し、ネゴをやり直す。*/
     290                /* 再起動し、ネゴをやり直す。*/
    307291                if (fsm->callbacks->down != NULL)
    308292                        (*fsm->callbacks->down)(fsm);
     
    314298
    315299/*
    316  *  fsm_rconfack -- Configure-ACK を受信したときの処理
     300 *  fsm_rconfack -- Configure-ACK を受信したときの処理
    317301 */
    318302
     
    322306        T_NET_BUF       *output;
    323307
    324         /* 予期した ID でないか、ACK を予期していないときは終了する。*/
     308        /* 予期した ID でないか、ACK を予期していないときは終了する。*/
    325309        if (id != fsm->reqid || fsm->seen_ack) {
    326310                syslog(LOG_WARNING, "[PPP/FSM] bad ID or unexp ACK.");
     
    369353
    370354        case PPP_FSM_OPENED:
    371                 /* 再起動し、ネゴをやり直す。*/
     355                /* 再起動し、ネゴをやり直す。*/
    372356                if (fsm->callbacks->down != NULL)
    373357                        (*fsm->callbacks->down)(fsm);
     
    384368
    385369/*
    386  *  fsm_rtermreq -- Terminate-Request を受信したときの処理
     370 *  fsm_rtermreq -- Terminate-Request を受信したときの処理
    387371 */
    388372
     
    412396
    413397/*
    414  *  fsm_rtermack -- Terminate-ACK を受信したときの処理
     398 *  fsm_rtermack -- Terminate-ACK を受信したときの処理
    415399 */
    416400
     
    421405        case PPP_FSM_CLOSING:
    422406                untimeout((FP)fsm_timeout, fsm);
    423 #if 0   /* 本来の動作は CLOSED に遷移する。*/
     407#if 0   /* 本来の動作は CLOSED に遷移する。*/
    424408                fsm->state = PPP_FSM_CLOSED;
    425409#else   /* of #if 0 */
     
    450434
    451435/*
    452  *  fsm_rcoderej -- Code-REJ を受信したときの処理
     436 *  fsm_rcoderej -- Code-REJ を受信したときの処理
    453437 */
    454438
     
    458442        T_PPP_CP_HDR    *hdr;
    459443
    460         /* PPP リンク制御 (CP) ヘッダより短ければエラー */
     444        /* PPP リンク制御 (CP) ヘッダより短ければエラー */
    461445        if (input->len < sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR)) {
    462446                syslog(LOG_WARNING, "[PPP/FSM] bad len: %d in recv Code-REJ.", input->len);
     
    473457
    474458/*
    475  *  fsm_timeout -- タイムアウト処理
     459 *  fsm_timeout -- タイムアウト処理
    476460 */
    477461
     
    485469        case PPP_FSM_STOPPING:
    486470                if (fsm->retrans <= 0) {
    487                         /* 最大再送回数をè¶
    488 ãˆãŸã¨ãã®å‡¦ç† */
    489 #if 0   /* 本来の動作は CLOSED に遷移する。*/
     471                        /* 最大再送回数を超えたときの処理 */
     472#if 0   /* 本来の動作は CLOSED に遷移する。*/
    490473                        fsm->state = (fsm->state == PPP_FSM_CLOSING) ? PPP_FSM_CLOSED : PPP_FSM_STOPPED;
    491474#else   /* of #if 0 */
     
    496479                        }
    497480                else {
    498                         /* Terminate-Request を送信する。*/
     481                        /* Terminate-Request を送信する。*/
    499482                        fsm_stermreq(fsm, ++ fsm->id);
    500483                        }
     
    504487        case PPP_FSM_ACKSENT:
    505488                if (fsm->retrans <= 0) {
    506                         /* 最大再送回数をè¶
    507 ãˆãŸã¨ãã®å‡¦ç† */
     489                        /* 最大再送回数を超えたときの処理 */
    508490                        syslog(LOG_WARNING, "[PPP/FSM] retrans Conf-Req.");
    509491                        fsm->state = PPP_FSM_STOPPED;
     
    512494                        }
    513495                else {
    514                         /* Configure-Request を再送する。*/
     496                        /* Configure-Request を再送する。*/
    515497                        if (fsm->callbacks->retrans != NULL)
    516498                                (*fsm->callbacks->retrans)(fsm);
     
    529511
    530512/*
    531  *  fsm_stermreq -- Terminate-Request を送信する。
     513 *  fsm_stermreq -- Terminate-Request を送信する。
    532514 */
    533515
     
    546528
    547529/*
    548  *  fsm_init -- FSM モジュールの初期化
     530 *  fsm_init -- FSM モジュールの初期化
    549531 */
    550532
     
    557539
    558540/*
    559  *  fsm_lowerup -- FSM 下位層を起動する。
     541 *  fsm_lowerup -- FSM 下位層を起動する。
    560542 */
    561543
     
    584566
    585567/*
    586  *  fsm_lowerdown -- FSM 下位層を停止する。
     568 *  fsm_lowerdown -- FSM 下位層を停止する。
    587569 */
    588570
     
    627609
    628610/*
    629  *  fsm_open -- FSM のオープン
     611 *  fsm_open -- FSM のオープン
    630612 */
    631613
     
    651633        case PPP_FSM_CLOSING:
    652634                fsm->state = PPP_FSM_STOPPING;
    653                 /* nobreak;     ä¸‹ã«è½ã¡ã‚‹ */
     635                /* nobreak;     下に落ちる */
    654636
    655637        case PPP_FSM_STOPPED:
     
    662644
    663645/*
    664  *  fsm_close -- リンクの切断を開始する。
     646 *  fsm_close -- リンクの切断を開始する。
    665647 */
    666648
     
    673655                break;
    674656
    675 #if 0   /* 本来の動作は CLOSED に遷移する。*/
     657#if 0   /* 本来の動作は CLOSED に遷移する。*/
    676658        case PPP_FSM_STOPPED:
    677659                fsm->state = PPP_FSM_CLOSED;
     
    692674                        (*fsm->callbacks->down)(fsm);
    693675
    694                 /* タイムアウトを設定し、Terminate-Request を送信する。*/
     676                /* タイムアウトを設定し、Terminate-Request を送信する。*/
    695677                fsm->retrans = MAX_PPP_TERMINATES;
    696678                fsm_stermreq(fsm, fsm->reqid = ++ fsm->id);
     
    701683
    702684/*
    703  *  fsm_input -- å
    704 ¥åŠ›ã€PPP リンク制御 (CP) の制御コードにより適当な関数を呼出す
     685 *  fsm_input -- 入力、PPP リンク制御 (CP) の制御コードにより適当な関数を呼出す
    705686 */
    706687
     
    711692        T_NET_BUF       *output;
    712693
    713         /* PPP リンク制御 (CP) ヘッダより短ければエラー */
     694        /* PPP リンク制御 (CP) ヘッダより短ければエラー */
    714695        if (input->len < (sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR))) {
    715696                syslog(LOG_WARNING, "[PPP/FSM] short hdr: %d.", input->len);
     
    719700        hdr = GET_PPP_CP_HDR(input);
    720701
    721         /* ヘッダの長さとå
    722 ¥åŠ›ãƒ‡ãƒ¼ã‚¿ã‚µã‚¤ã‚ºãŒä¸€è‡´ã—なければエラー */
     702        /* ヘッダの長さと入力データサイズが一致しなければエラー */
    723703        if (hdr->len != input->len - sizeof(T_PPP_HDR)) {
    724704                syslog(LOG_WARNING, "[PPP/FSM] bad len: %d.", hdr->len);
     
    726706                }
    727707 
    728         /* 状æ
    729 ‹ãŒ INITIAL か STARTING ならエラー */
     708        /* 状態が INITIAL か STARTING ならエラー */
    730709        if (fsm->state == PPP_FSM_INITIAL || fsm->state == PPP_FSM_STARTING) {
    731710                syslog(LOG_WARNING, "[PPP/FSM] unexp state: %d in input.", fsm->state);
     
    734713 
    735714        /*
    736          *  制御コードにより適当な関数を呼出す
     715         *  制御コードにより適当な関数を呼出す
    737716         */
    738717
     
    775754
    776755/*
    777  *  fsm_protoreject -- Proto-REJ を受信したときの処理
     756 *  fsm_protoreject -- Proto-REJ を受信したときの処理
    778757 */
    779758
     
    785764                untimeout((FP)fsm_timeout, fsm);
    786765
    787 #if 0   /* 本来の動作は CLOSED に遷移する。*/
    788                 /* 下に落ちる */
     766#if 0   /* 本来の動作は CLOSED に遷移する。*/
     767                /* 下に落ちる */
    789768#else   /* of #if 0 */
    790769                fsm->state = PPP_FSM_STOPPED;
     
    805784        case PPP_FSM_ACKSENT:
    806785                untimeout((FP)fsm_timeout, fsm);
    807                 /* 下に落ちる */
     786                /* 下に落ちる */
    808787
    809788        case PPP_FSM_STOPPED:
     
    817796                        (*fsm->callbacks->down)(fsm);
    818797
    819                 /* タイムアウトを設定し、Terminate-Request を送信する。*/
     798                /* タイムアウトを設定し、Terminate-Request を送信する。*/
    820799                fsm->retrans = MAX_PPP_TERMINATES;
    821800                fsm_stermreq(fsm, fsm->reqid = ++ fsm->id);
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/ppp_fsm.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    9381
    9482/*
    95  *  状æ
    96 ‹ç®¡ç†æ§‹é€ ä½“
     83 *  状態管理構造体
    9784 */
    9885
     
    10087
    10188typedef 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 の再送回数              */
    11298        } T_PPP_FSM;
    11399
     
    115101
    116102/*
    117  *  コールバック関数構造体
     103 *  コールバック関数構造体
    118104 */
    119105
    120106typedef 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 *);  /* 構成情報の長さを返す。          */
    125109        void (*addci)   (T_PPP_FSM *, T_NET_BUF *);
    126                                         /* 自構成æƒ
    127 å ±ã‚’追加する。           */
     110                                        /* 自構成情報を追加する。          */
    128111        bool_t (*ackci) (T_PPP_FSM *, T_NET_BUF *);
    129                                         /* ACK を受信したときの処理   */
     112                                        /* ACK を受信したときの処理       */
    130113        int_t  (*nakci) (T_PPP_FSM *, T_NET_BUF *);
    131                                         /* NAK を受信したときの処理   */
     114                                        /* NAK を受信したときの処理       */
    132115        int_t  (*rejci) (T_PPP_FSM *, T_NET_BUF *);
    133                                         /* REJ を受信したときの処理   */
     116                                        /* REJ を受信したときの処理       */
    134117        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 を受信したときの処理    */
    143125        bool_t  (*extcode)(T_PPP_FSM *, uint8_t, uint8_t, T_NET_BUF *);
    144126        } T_PPP_FSM_CALLBACKS;
    145127
    146128/*
    147  *  FSM の状æ
    148 ‹
     129 *  FSM の状態
    149130 */
    150131
    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       /* 接続、通信可能      */
    162142
    163143/*
    164  *  オープン時の動作モード
     144 *  オープン時の動作モード
    165145 */
    166146
    167 #define PPP_OPEN_PASSIVE        false   /* 受動オープン           */
    168 #define PPP_OPEN_ACTIVE         true    /* 能動オープン           */
     147#define PPP_OPEN_PASSIVE        false   /* 受動オープン               */
     148#define PPP_OPEN_ACTIVE         true    /* 能動オープン               */
    169149
    170150/*
    171  *  再送、タイムアウトの既定値
     151 *  再送、タイムアウトの既定値
    172152 */
    173153
    174154#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 回                      */
    182162
    183163/*
    184  *  関数
     164 *  関数
    185165 */
    186166
     
    194174
    195175/*
    196  *  変数
     176 *  変数
    197177 */
    198178
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/ppp_hdlc.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    9078
    9179/*
    92  *  RFC1171 (PPP) の HDLC 部の定義
    93  */
    94 
    95 /*
    96  *  変数
     80 *  RFC1171 (PPP) の HDLC 部の定義
     81 */
     82
     83/*
     84 *  変数
    9785 */
    9886
     
    10088
    10189/*
    102  *  関数
     90 *  関数
    10391 */
    10492
     
    10795
    10896/*
    109  *  genfcstab.c により作成した FCS のルックアップ表
    110  *  RFC1171 参ç
    111 §
     97 *  genfcstab.c により作成した FCS のルックアップ表
     98 *  RFC1171 参照
    11299 */
    113100
     
    180167
    181168/*
    182  *  インライン関数
     169 *  インライン関数
    183170 */
    184171
     
    188175
    189176/*
    190  *  HDLC_putoctet -- HDLC オクテット出力
     177 *  HDLC_putoctet -- HDLC オクテット出力
    191178 */
    192179
     
    212199
    213200/*
    214  *  HDLC_wirte -- HDLC 出力
     201 *  HDLC_wirte -- HDLC 出力
    215202 */
    216203
     
    241228        if (lcp_local_ack_cfg.options & LCP_CFG_ACCOMP) {
    242229                NET_COUNT_PPP_HDLC(net_count_hdlc.out_octets, sizeof(flag_seq));
    243                 /* フレーム開始フラグシーケンス を送信する    */
     230                /* フレーム開始フラグシーケンス を送信する    */
    244231                if ((error = serial_wri_dat(HDLC_PORTID, &flag_seq, sizeof(flag_seq))) < 0) {
    245232                        goto err_ret;
     
    250237
    251238                NET_COUNT_PPP_HDLC(net_count_hdlc.out_octets, sizeof(flag_seq_ac));
    252                 /* フレーム開始フラグシーケンス、Address と Control を送信する    */
     239                /* フレーム開始フラグシーケンス、Address と Control を送信する    */
    253240                if ((error = serial_wri_dat(HDLC_PORTID, flag_seq_ac, sizeof(flag_seq_ac))) < 0) {
    254241                        goto err_ret;
    255242                        }
    256                 /* Address と Control の FCS の計算は HDLC_INIT_FCS_AC に含めている */
     243                /* Address と Control の FCS の計算は HDLC_INIT_FCS_AC に含めている */
    257244                fcs = HDLC_INIT_FCS_AC;
    258245                }
     
    261248
    262249        NET_COUNT_PPP_HDLC(net_count_hdlc.out_octets, sizeof(flag_seq_ac));
    263         /* フレーム開始フラグシーケンス、Address と Control を送信する    */
     250        /* フレーム開始フラグシーケンス、Address と Control を送信する    */
    264251        if ((error = serial_wri_dat(HDLC_PORTID, flag_seq_ac, sizeof(flag_seq_ac))) < 0) {
    265252                goto err_ret;
    266253                }
    267         /* Address と Control の FCS の計算は HDLC_INIT_FCS_AC に含めている */
     254        /* Address と Control の FCS の計算は HDLC_INIT_FCS_AC に含めている */
    268255        fcs = HDLC_INIT_FCS_AC;
    269256
     
    282269#endif  /* of #ifdef LCP_CFG_PCOMP */
    283270
    284         /* データを送信する */
     271        /* データを送信する */
    285272        while (len -- > 0) {
    286273
     
    291278                }
    292279
    293         /* FCS を送信する */
     280        /* FCS を送信する */
    294281        fcs = ~fcs;
    295282        if ((error = HDLC_putoctet(fcs & 0xff)) != E_OK)
     
    298285                goto err_ret;
    299286
    300         /* フレーム終了フラグシーケンスを送信する */
     287        /* フレーム終了フラグシーケンスを送信する */
    301288        if ((error = serial_wri_dat(HDLC_PORTID, &flag_seq_ac[0], sizeof(char))) < 0)
    302289                goto err_ret;
     
    310297
    311298/*
    312  *  HDLC_getoctet -- HDLC オクテットå
    313 ¥åŠ›
    314  *
    315  *      戻り値が true ならフラグシーケンス
     299 *  HDLC_getoctet -- HDLC オクテット入力
     300 *
     301 *      戻り値が true ならフラグシーケンス
    316302 */
    317303
     
    321307        ER error;
    322308
    323         /* 1オクテットå
    324 ¥åŠ›ã™ã‚‹ */
     309        /* 1オクテット入力する */
    325310        if ((error = serial_rea_dat(HDLC_PORTID, octet, sizeof(uint8_t))) <= 0) {
    326311                return error;
    327312                }
    328313
    329         /* å
    330 ¥åŠ›ã—たオクテットがフラグシーケンスなら true を返す */
     314        /* 入力したオクテットがフラグシーケンスなら true を返す */
    331315        if (*octet == HDLC_FLAG_SEQ)
    332316                return true;
    333317
    334         /* å
    335 ¥åŠ›ã—たオクテットがエスケープなら、もう1オクテットå
    336 ¥åŠ›ã—マスクを解除する */
     318        /* 入力したオクテットがエスケープなら、もう1オクテット入力しマスクを解除する */
    337319        if (*octet == HDLC_CNTL_ESC) {
    338320                if ((error = serial_rea_dat(HDLC_PORTID, octet, sizeof(uint8_t))) <= 0)
     
    346328
    347329/*
    348  *  HDLC_read -- HDLC å
    349 ¥åŠ›
    350  *
    351  *      HDLC フレームをå
    352 ¥åŠ›ã™ã‚‹ã€‚
     330 *  HDLC_read -- HDLC 入力
     331 *
     332 *      HDLC フレームを入力する。
    353333 */
    354334
     
    362342        buf = nbuf->buf;
    363343
    364         /* フレーム開始フラグシーケンスまでå
    365 ¥åŠ›ã‚’読み飛ばす */
     344        /* フレーム開始フラグシーケンスまで入力を読み飛ばす */
    366345        while ((error = HDLC_getoctet(&octet)) != true) {
    367346
     
    372351
    373352                else if (octet == '\n') {
    374                         /* モデム制御を呼び出す。*/
     353                        /* モデム制御を呼び出す。*/
    375354                        modem_cntl(modem_getline(nbuf, size));
    376                         /* 一度、この関数を終了する。*/
     355                        /* 一度、この関数を終了する。*/
    377356                        nbuf->len = 0;
    378357                        return E_OK;
     
    383362                }
    384363
    385         /* フレーム開始フラグシーケンスの間はå
    386 ¥åŠ›ã‚’読み飛ばす */
     364        /* フレーム開始フラグシーケンスの間は入力を読み飛ばす */
    387365        while (1) {
    388366                if ((error = HDLC_getoctet(&octet)) == E_OK)
     
    394372        NET_COUNT_PPP_HDLC(net_count_hdlc.in_packets, 1);
    395373
    396         /* å
    397 ¥åŠ›ã—たオクテットは Address: All-Stations か */
     374        /* 入力したオクテットは Address: All-Stations か */
    398375        if (octet == HDLC_ADDR_ALL) {
    399376
    400                 /* 次は Control: UI */
     377                /* 次は Control: UI */
    401378                if ((error = HDLC_getoctet(&octet)) != E_OK || octet != HDLC_CNTL_UI) {
    402379                        error = E_SYS;
     
    405382                if ((error = HDLC_getoctet(&octet)) != E_OK)
    406383                        goto err_ret;
    407                 /* Address と Control の FCS の計算は HDLC_INIT_FCS_AC に含めている */
     384                /* Address と Control の FCS の計算は HDLC_INIT_FCS_AC に含めている */
    408385                fcs = HDLC_INIT_FCS_AC;
    409386                }
     
    439416        nbuf->len ++;
    440417
    441         /* SUD + FCS をå
    442 ¥åŠ›ã™ã‚‹ */
     418        /* SUD + FCS を入力する */
    443419        while ((error = HDLC_getoctet(&octet)) == E_OK) {
    444420                fcs = Next_FCS(fcs, octet);
     
    465441                goto err_ret;
    466442
    467         /* FCS をチェックする */
     443        /* FCS をチェックする */
    468444        if (fcs != HDLC_GOOD_FCS) {
    469445                error = E_SYS;
     
    479455
    480456/*
    481  *  HDLC_dummy_read -- HDLC å
    482 ¥åŠ› (空読み)
    483  *
    484  *      HDLC フレームを空読みする。
     457 *  HDLC_dummy_read -- HDLC 入力 (空読み)
     458 *
     459 *      HDLC フレームを空読みする。
    485460 */
    486461
     
    491466        ER      error;
    492467
    493         /* フレーム開始フラグシーケンスまでå
    494 ¥åŠ›ã‚’読み飛ばす */
     468        /* フレーム開始フラグシーケンスまで入力を読み飛ばす */
    495469        while ((error = HDLC_getoctet(&octet)) != true) {
    496470                if (error != E_OK)
     
    498472                }
    499473
    500         /* フレーム開始フラグシーケンスの間はå
    501 ¥åŠ›ã‚’読み飛ばす */
     474        /* フレーム開始フラグシーケンスの間は入力を読み飛ばす */
    502475        while (octet == HDLC_FLAG_SEQ)
    503476                if (HDLC_getoctet(&octet) != E_OK)
    504477                        return;
    505478
    506         /* å
    507 ¥åŠ›ã—たオクテットは Address: All-Stations か */
     479        /* 入力したオクテットは Address: All-Stations か */
    508480        if (octet == HDLC_ADDR_ALL) {
    509481
    510                 /* 次は Control: UI */
     482                /* 次は Control: UI */
    511483                if (HDLC_getoctet(&octet) != E_OK || octet != HDLC_CNTL_UI)
    512484                        return;
     
    532504
    533505/*
    534  *  HDLC_raw_getoctet -- HDLC オクテット (Raw) å
    535 ¥åŠ›
     506 *  HDLC_raw_getoctet -- HDLC オクテット (Raw) 入力
    536507 */
    537508
     
    540511        uint8_t ch;
    541512
    542         /* 1オクテットå
    543 ¥åŠ›ã™ã‚‹ */
     513        /* 1オクテット入力する */
    544514        if (serial_rea_dat(HDLC_PORTID, &ch, sizeof(ch)) <= 0)
    545515                return '\0';
     
    550520
    551521/*
    552  *  HDLC_raw_putoctet -- HDLC オクテット (Raw) 出力
     522 *  HDLC_raw_putoctet -- HDLC オクテット (Raw) 出力
    553523 */
    554524
     
    556526{
    557527        NET_COUNT_PPP_HDLC(net_count_hdlc.out_octets, 1);
    558         /* 1オクテット出力する */
     528        /* 1オクテット出力する */
    559529        serial_wri_dat(HDLC_PORTID, &ch, sizeof(ch));
    560530        }
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/ppp_hdlc.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    7260
    7361/*
    74  *  RFC1171 (PPP) の HDLC 部の定義
     62 *  RFC1171 (PPP) の HDLC 部の定義
    7563 */
    7664
    7765/*
    78  *  既定値
     66 *  既定値
    7967 */
    8068
     
    9078
    9179/*
    92  *  関数
     80 *  関数
    9381 */
    9482
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/ppp_ipcp.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    124112
    125113/*
    126  *  関数
     114 *  関数
    127115 */
    128116
     
    136124
    137125/*
    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
     129static void  ipcp_resetci(T_PPP_FSM *fsm);      /* 自構成情報をリセットする。        */
     130static int_t ipcp_cilen (T_PPP_FSM *fsm);       /* 構成情報の長さを返す。          */
    145131static void  ipcp_addci (T_PPP_FSM *fsm, T_NET_BUF *output);
    146                                                 /* 自構成æƒ
    147 å ±ã‚’追加する。           */
     132                                                /* 自構成情報を追加する。          */
    148133static bool_t  ipcp_ackci       (T_PPP_FSM *fsm, T_NET_BUF *input);
    149                                                 /* ACK を受信したときの処理   */
     134                                                /* ACK を受信したときの処理       */
    150135static bool_t  ipcp_nakci       (T_PPP_FSM *fsm, T_NET_BUF *input);
    151                                                 /* NAK を受信したときの処理   */
     136                                                /* NAK を受信したときの処理       */
    152137static bool_t  ipcp_rejci       (T_PPP_FSM *fsm, T_NET_BUF *input);
    153                                                 /* REJ を受信したときの処理   */
     138                                                /* REJ を受信したときの処理       */
    154139static 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                                                /* 相手の構成情報を確認する。        */
     141static void ipcp_up     (T_PPP_FSM *fsm);       /* リンク接続を確立する。          */
     142static void ipcp_down   (T_PPP_FSM *fsm);       /* リンク接続を解放する。          */
     143static void ipcp_finished(T_PPP_FSM *fsm);      /* 下位層を終了する。            */
     144
     145/*
     146 *  変数
     147 */
     148
     149static T_IFNET ipcp_local_def_cfg = {           /* 自構成情報の規定値            */
    167150        NULL,
    168151        {
    169                 IPV4_ADDR_LOCAL,                /* IPv4 アドレス                    */
    170                 UINT_C(0),                      /* サブネットマスク             */
     152                IPV4_ADDR_LOCAL,                /* IPv4 アドレス                    */
     153                UINT_C(0),                      /* サブネットマスク             */
    171154                },
    172155        };
    173156
    174 static T_IFNET ipcp_remote_def_cfg = {          /* 相手の構成æƒ
    175 å ±ã®è¦å®šå€¤ */
     157static T_IFNET ipcp_remote_def_cfg = {          /* 相手の構成情報の規定値  */
    176158        NULL,
    177159        {
    178                 IPV4_ADDR_REMOTE,               /* IPv4 アドレス                    */
    179                 UINT_C(0),                      /* サブネットマスク             */
     160                IPV4_ADDR_REMOTE,               /* IPv4 アドレス                    */
     161                UINT_C(0),                      /* サブネットマスク             */
    180162                }
    181163        };
    182164
    183 static T_IFNET ipcp_local_neg_cfg;              /* ネゴ中の自構成æƒ
    184 å ±             */
    185 
    186 static T_IFNET ipcp_remote_neg_cfg;             /* ネゴ中の相手の構成æƒ
    187 å ±             */
    188 
    189 /*
    190  *  å
    191 ¨åŸŸå¤‰æ•°
     165static T_IFNET ipcp_local_neg_cfg;              /* ネゴ中の自構成情報            */
     166
     167static T_IFNET ipcp_remote_neg_cfg;             /* ネゴ中の相手の構成情報          */
     168
     169/*
     170 *  全域変数
    192171 */
    193172
    194173T_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 を受信したときの処理    */
    212187        };
    213188
    214189T_PPP_FSM ipcp_fsm = {
    215         &ipcp_callbacks,                /* コールバック関数             */
    216         PPP_IPCP,                       /* プロトコル                      */
     190        &ipcp_callbacks,                /* コールバック関数             */
     191        PPP_IPCP,                       /* プロトコル                        */
    217192        };
    218193
    219194T_PPP_PROTENT ipcp_protent = {
    220195        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 入力        */
    232204        };
    233205
    234 T_IFNET ipcp_local_ack_cfg;             /* 相手に許可されたの自構成æƒ
    235 å ±     */
    236 T_IFNET ipcp_remote_ack_cfg;            /* 相手に許可した構成æƒ
    237 å ±     */
    238 
    239 /*
    240  *  ppp_get_ifnet -- ネットワークインタフェース構造体を返す。
     206T_IFNET ipcp_local_ack_cfg;             /* 相手に許可されたの自構成情報       */
     207T_IFNET ipcp_remote_ack_cfg;            /* 相手に許可した構成情報  */
     208
     209/*
     210 *  ppp_get_ifnet -- ネットワークインタフェース構造体を返す。
    241211 */
    242212
     
    248218
    249219/*
    250  *  wait_ipcp -- IP 接続完了までå¾
    251 ã¤ã€‚
    252  *
    253  *      戻り値: 接続に失敗したら E_OBJ を返す。
     220 *  wait_ipcp -- IP 接続完了まで待つ。
     221 *
     222 *      戻り値: 接続に失敗したら E_OBJ を返す。
    254223 */
    255224
     
    265234#ifdef PPP_CFG_MODEM
    266235
    267                 /* モデムの接続完了までå¾
    268 ã¤ã€‚*/
     236                /* モデムの接続完了まで待つ。*/
    269237                if ((error = wait_modem()) != E_OK)
    270238                        return error;
     
    273241
    274242                /*
    275                  * 受動オープンし、相手からの接続å¾
    276 ã¡ãªã‚‰ LCP を一度クローズし、
    277                  * 能動オープン状æ
    278 ‹ã§ã€å†ã‚ªãƒ¼ãƒ—ンする。
     243                 * 受動オープンし、相手からの接続待ちなら LCP を一度クローズし、
     244                 * 能動オープン状態で、再オープンする。
    279245                 */
    280246                lcp_close();
     
    286252
    287253        if (ipcp_fsm.state != PPP_FSM_OPENED) {
    288                 /* IP 接続完了までå¾
    289 ã¤ã€‚*/
     254                /* IP 接続完了まで待つ。*/
    290255                wai_sem(SEM_IPCP_READY);
    291256                if (ipcp_fsm.state != PPP_FSM_OPENED)
     
    297262
    298263/*
    299  *  ipcp_init -- IPCP モジュールの初期化
     264 *  ipcp_init -- IPCP モジュールの初期化
    300265 */
    301266
     
    307272
    308273/*
    309  *  ipcp_input -- IPCP å
    310 ¥åŠ›
     274 *  ipcp_input -- IPCP 入力
    311275 */
    312276
     
    320284
    321285/*
    322  *  ipcp_resetci -- IPCPの構成æƒ
    323 å ±ã‚’リセットする。
     286 *  ipcp_resetci -- IPCPの構成情報をリセットする。
    324287 */
    325288
     
    327290ipcp_resetci (T_PPP_FSM *fsm)
    328291{
    329         /* 自構成æƒ
    330 å ±ã®åˆæœŸè¨­å®š */
     292        /* 自構成情報の初期設定 */
    331293        ipcp_local_neg_cfg = ipcp_local_def_cfg;
    332294        memset((void*)&ipcp_local_ack_cfg, 0, sizeof(T_IFNET));
    333295
    334         /* 相手の構成æƒ
    335 å ±ã®åˆæœŸè¨­å®š */
     296        /* 相手の構成情報の初期設定 */
    336297        ipcp_remote_neg_cfg = ipcp_remote_def_cfg;
    337298        memset((void*)&ipcp_remote_ack_cfg, 0, sizeof(T_IFNET));
     
    339300
    340301/*
    341  *  ipcp_cilen -- 構成æƒ
    342 å ±ã®é•·ã•ã‚’返す。
     302 *  ipcp_cilen -- 構成情報の長さを返す。
    343303 */
    344304
     
    348308        int_t cilen = 0;
    349309
    350         cilen += sizeof(T_PPP_CI_HDR) + sizeof(uint32_t);       /* IPv4 アドレス */
     310        cilen += sizeof(T_PPP_CI_HDR) + sizeof(uint32_t);       /* IPv4 アドレス */
    351311
    352312        return cilen;
     
    354314
    355315/*
    356  *  ipcp_addci -- IPCPの構成æƒ
    357 å ±ã‚’追加する。
     316 *  ipcp_addci -- IPCPの構成情報を追加する。
    358317 */
    359318
     
    365324        buf = output->buf + sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR);
    366325
    367         /* IPv4 アドレスオプションを追加する。 */
     326        /* IPv4 アドレスオプションを追加する。 */
    368327        *buf ++ = IPCP_CIT_ADDR;
    369328        *buf ++ = sizeof(T_PPP_CI_HDR) + sizeof(uint32_t);
     
    373332
    374333/*
    375  *  ipcp_ackci -- ACK を受信したときの処理
    376  *
    377  *      戻り値:      true  ACK は正常
    378  *              false ACK は異常
     334 *  ipcp_ackci -- ACK を受信したときの処理
     335 *
     336 *      戻り値:    true  ACK は正常
     337 *              false ACK は異常
    379338 */
    380339
     
    389348
    390349        /*
    391          *  構成æƒ
    392 å ±ã¯é€ä¿¡ã—た順に完å
    393 ¨ã«ä¸€è‡´ã—なければならない。
    394          *  従って、ipcp_addci で作成した順に解析する。
     350         *  構成情報は送信した順に完全に一致しなければならない。
     351         *  従って、ipcp_addci で作成した順に解析する。
    395352         */
    396353
    397         /* ADDR オプションを解析する。 */
     354        /* ADDR オプションを解析する。 */
    398355        if (len < sizeof(T_PPP_CI_HDR) + sizeof(uint32_t)       ||
    399356            *buf ++ != IPCP_CIT_ADDR                    ||
     
    408365
    409366/*
    410  *  ipcp_nakci -- NAK を受信したときの処理
    411  *
    412  *      戻り値:      1  NAK は正常
    413  *              0  NAK は異常
     367 *  ipcp_nakci -- NAK を受信したときの処理
     368 *
     369 *      戻り値:    1  NAK は正常
     370 *              0  NAK は異常
    414371 */
    415372
     
    427384        new_cfg = ipcp_local_neg_cfg;
    428385
    429         /* ADDR オプションを解析する。 */
     386        /* ADDR オプションを解析する。 */
    430387        if (len >= sizeof(T_PPP_CI_HDR) + sizeof(uint32_t)              &&
    431388            * buf      == IPCP_CIT_ADDR                         &&
     
    437394                }
    438395
    439         /* 後は無視する。*/
     396        /* 後は無視する。*/
    440397        while (len > sizeof(T_PPP_CI_HDR)) {
    441398                cilen = *(buf + 1);
     
    446403                }
    447404
    448         /* 長さが 0 でなければエラー */
     405        /* 長さが 0 でなければエラー */
    449406        if (len != 0)
    450407                return 0;
    451408
    452         /* 新しいオプションを設定する。*/
     409        /* 新しいオプションを設定する。*/
    453410        if (fsm->state != PPP_FSM_OPENED)
    454411                ipcp_local_neg_cfg = new_cfg;
     
    458415
    459416/*
    460  *  ipcp_rejci -- REJ を受信したときの処理
    461  *
    462  *      戻り値:      1  REJ は正常
    463  *              0  REJ は異常
     417 *  ipcp_rejci -- REJ を受信したときの処理
     418 *
     419 *      戻り値:    1  REJ は正常
     420 *              0  REJ は異常
    464421 */
    465422
     
    476433        new_cfg = ipcp_local_neg_cfg;
    477434
    478         /* ADDR オプションを解析する。 */
     435        /* ADDR オプションを解析する。 */
    479436        if (len >= sizeof(T_PPP_CI_HDR) + sizeof(uint32_t)              &&
    480437            * buf      == IPCP_CIT_ADDR                         &&
     
    485442                }
    486443
    487         /* 長さが 0 でなければエラー */
     444        /* 長さが 0 でなければエラー */
    488445        if (len != 0)
    489446                return 0;
    490447
    491         /* 新しいオプションを設定する。*/
     448        /* 新しいオプションを設定する。*/
    492449        if (fsm->state != PPP_FSM_OPENED)
    493450                ipcp_local_neg_cfg = new_cfg;
     
    497454
    498455/*
    499  *  ipcp_reqci -- 相手の構成æƒ
    500 å ±ã‚’解析する。
     456 *  ipcp_reqci -- 相手の構成情報を解析する。
    501457 */
    502458
     
    509465
    510466        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 に上書きする。       */
    513469        len   = input->len - (sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR));
    514470        np    = output->buf + sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR);
    515         final = PPP_CONFACK;    /* 最終的に送信するコード */
     471        final = PPP_CONFACK;    /* 最終的に送信するコード */
    516472        while (len > 0) {
    517473                code = PPP_CONFACK;
    518                 cp   = ap;      /* cp: 現在処理中の CI    */
     474                cp   = ap;      /* cp: 現在処理中の CI        */
    519475
    520476                if (len < sizeof(T_PPP_CI_HDR)) {
    521477
    522                         /* 残りが CI ヘッダより短い */
     478                        /* 残りが CI ヘッダより短い */
    523479                        syslog(LOG_NOTICE, "[PPP/IPCP] bad CI len: %d.", len);
    524                         cilen = len;    /* データ長が異常の場合の処置      */
    525                         len  = 0;       /* ループから抜ける。          */
     480                        cilen = len;    /* データ長が異常の場合の処置        */
     481                        len  = 0;       /* ループから抜ける。            */
    526482                        code  = PPP_CONFREJ;
    527483                        goto endswitch;
    528484                        }
    529485
    530                 type  = *ap ++; /* CI の型            */
    531                 cilen = *ap ++; /* CI の長さ         */
     486                type  = *ap ++; /* CI の型                */
     487                cilen = *ap ++; /* CI の長さ               */
    532488                if (len < cilen) {
    533489
    534                         /* 残りが CI 長より短い */
     490                        /* 残りが CI 長より短い */
    535491                        syslog(LOG_NOTICE, "[PPP/IPCP] bad CI len: %d.", cilen);
    536                         cilen = len;    /* データ長が異常の場合の処置      */
    537                         len  = 0;       /* ループから抜ける。          */
     492                        cilen = len;    /* データ長が異常の場合の処置        */
     493                        len  = 0;       /* ループから抜ける。            */
    538494                        code  = PPP_CONFREJ;
    539495                        goto endswitch;
     
    541497                len -= sizeof(T_PPP_CI_HDR);
    542498
    543                 /* CI の型により分岐する。*/
     499                /* CI の型により分岐する。*/
    544500                switch (type) {
    545501
    546                 case IPCP_CIT_ADDR:     /* IPv4 アドレス */
    547 
    548                         /* CI 長が、ヘッダ + 4 オクテットでなければエラー */
     502                case IPCP_CIT_ADDR:     /* IPv4 アドレス */
     503
     504                        /* CI 長が、ヘッダ + 4 オクテットでなければエラー */
    549505                        if (cilen != sizeof(T_PPP_CI_HDR) + sizeof(uint32_t))
    550506                                code = PPP_CONFREJ;
     
    559515                                        code = PPP_CONFNAK;
    560516                                        }
    561 #if 1   /* 要確認 */
     517#if 1   /* 要確認 */
    562518                                else if (addr == 0 && ipcp_remote_neg_cfg.in4_ifaddr.addr == 0)
    563519#else
     
    578534
    579535                if (code == PPP_CONFNAK) {
    580                         /* CI の型が Magic Number の場合を除いて、NAK の回数が   */
    581                         /* 最大値 MAX_PPP_FAILURES  をè¶
    582 ãˆãŸã‚‰æ‹’否する。        */
     536                        /* CI の型が Magic Number の場合を除いて、NAK の回数が */
     537                        /* 最大値 MAX_PPP_FAILURES  を超えたら拒否する。     */
    583538                        if (fsm->failures >= MAX_PPP_FAILURES)
    584539                                code = PPP_CONFREJ;
     
    587542                        }
    588543
    589                 /* この CI を拒否する */
     544                /* この CI を拒否する */
    590545                if (code == PPP_CONFREJ) {
    591                         if (rp < cp)            /* 前に詰める。*/
     546                        if (rp < cp)            /* 前に詰める。*/
    592547                                memcpy(rp, cp, cilen);
    593548                        rp += cilen;
     
    599554                }
    600555
    601         /* 最終的な長さを調整する。*/
     556        /* 最終的な長さを調整する。*/
    602557        switch (final) {
    603558        case PPP_CONFNAK:
     
    617572
    618573/*
    619  *  ipcp_up -- リンク接続を確立する。
     574 *  ipcp_up -- リンク接続を確立する。
    620575 */
    621576
     
    623578ipcp_up (T_PPP_FSM *fsm)
    624579{
    625         /* 自構成æƒ
    626 å ±ã®åˆæœŸè¨­å®š */
     580        /* 自構成情報の初期設定 */
    627581        ipcp_local_ack_cfg = ipcp_local_neg_cfg;
    628582
    629583        /*
    630          *  サブネットマスクと
    631          *  ローカル・ブロードキャスト IPv4 アドレスを設定する。
     584         *  サブネットマスクと
     585         *  ローカル・ブロードキャスト IPv4 アドレスを設定する。
    632586         */
    633587        ipcp_local_ack_cfg.in4_ifaddr.mask = MAKE_IPV4_LOCAL_MASK(ipcp_local_neg_cfg.in4_ifaddr.addr);
    634588
    635         /* 相手の構成æƒ
    636 å ±ã®åˆæœŸè¨­å®š */
     589        /* 相手の構成情報の初期設定 */
    637590        ipcp_remote_ack_cfg = ipcp_remote_neg_cfg;
    638591
    639592        /*
    640          *  サブネットマスクと
    641          *  ローカル・ブロードキャスト IPv4 アドレスを設定する。
     593         *  サブネットマスクと
     594         *  ローカル・ブロードキャスト IPv4 アドレスを設定する。
    642595         */
    643596        ipcp_remote_ack_cfg.in4_ifaddr.mask = MAKE_IPV4_LOCAL_MASK(ipcp_remote_neg_cfg.in4_ifaddr.addr);
     
    651604
    652605/*
    653  *  ipcp_down -- リンク接続を解放する。
     606 *  ipcp_down -- リンク接続を解放する。
    654607 */
    655608
     
    662615
    663616/*
    664  *  ipcp_finished -- 下位層を終了する。
     617 *  ipcp_finished -- 下位層を終了する。
    665618 */
    666619
     
    671624
    672625/*
    673  *  ipcp_protrej -- Proto-REJ を受信したときの処理
     626 *  ipcp_protrej -- Proto-REJ を受信したときの処理
    674627 */
    675628
     
    681634
    682635/*
    683  *  ipcp_lowerup -- IPCP 下位層を起動する。
     636 *  ipcp_lowerup -- IPCP 下位層を起動する。
    684637 */
    685638
     
    691644
    692645/*
    693  *  ipcp_lowerdown -- IPCP 下位層を停止する。
     646 *  ipcp_lowerdown -- IPCP 下位層を停止する。
    694647 */
    695648
     
    701654
    702655/*
    703  *  ipcp_open -- IPCP のオープン
     656 *  ipcp_open -- IPCP のオープン
    704657 */
    705658
     
    711664
    712665/*
    713  *  ipcp_close -- IPCP のクローズ
     666 *  ipcp_close -- IPCP のクローズ
    714667 */
    715668
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/ppp_ipcp.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    9381
    9482/*
    95  *  IPCP の構成æƒ
    96 å ± (CI)
     83 *  IPCP の構成情報 (CI)
    9784 */
    9885
    9986/*
    100  *  CI の型
     87 *  CI の型
    10188 */
    10289
    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 アドレス              */
    10693
    10794/*
    108  *  前方参ç
    109 §
     95 *  前方参照
    11096 */
    11197
     
    119105
    120106/*
    121  *  変数
     107 *  変数
    122108 */
    123109
     
    134120
    135121/*
    136  *  関数
     122 *  関数
    137123 */
    138124
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/ppp_ipv6cp.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    124112
    125113/*
    126  *  関数
     114 *  関数
    127115 */
    128116
     
    136124
    137125/*
    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
     129static void  ipv6cp_resetci(T_PPP_FSM *fsm);    /* 自構成情報をリセットする。        */
     130static int_t ipv6cp_cilen       (T_PPP_FSM *fsm);       /* 構成情報の長さを返す。          */
    145131static void  ipv6cp_addci       (T_PPP_FSM *fsm, T_NET_BUF *output);
    146                                                 /* 自構成æƒ
    147 å ±ã‚’追加する。           */
     132                                                /* 自構成情報を追加する。          */
    148133static bool_t  ipv6cp_ackci     (T_PPP_FSM *fsm, T_NET_BUF *input);
    149                                                 /* ACK を受信したときの処理   */
     134                                                /* ACK を受信したときの処理       */
    150135static bool_t  ipv6cp_nakci     (T_PPP_FSM *fsm, T_NET_BUF *input);
    151                                                 /* NAK を受信したときの処理   */
     136                                                /* NAK を受信したときの処理       */
    152137static bool_t  ipv6cp_rejci     (T_PPP_FSM *fsm, T_NET_BUF *input);
    153                                                 /* REJ を受信したときの処理   */
     138                                                /* REJ を受信したときの処理       */
    154139static 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                                                /* 相手の構成情報を確認する。        */
     141static void ipv6cp_up   (T_PPP_FSM *fsm);       /* リンク接続を確立する。          */
     142static void ipv6cp_down (T_PPP_FSM *fsm);       /* リンク接続を解放する。          */
     143static void ipv6cp_finished(T_PPP_FSM *fsm);    /* 下位層を終了する。            */
     144
     145/*
     146 *  変数
     147 */
     148
     149static T_IFNET ipv6cp_local_def_cfg = {         /* 自構成情報の規定値            */
     150        NULL,                                   /* ネットワークインタフェースのソフトウェア情報       */
     151        {},                                     /* IPv6 アドレス情報                          */
     152        {},                                     /* マルチキャスト IPv6 アドレス                    */
     153        0,                                      /* フラグ                                  */
    173154        };
    174155
    175 static T_IFNET ipv6cp_remote_def_cfg = {        /* 相手の構成æƒ
    176 å ±ã®è¦å®šå€¤ */
    177         NULL,                                   /* ネットワークインタフェースのソフトウェアæƒ
    178 å ±     */
    179         {},                                     /* IPv6 アドレスæƒ
    180 å ±                             */
    181         {},                                     /* マルチキャスト IPv6 アドレス                      */
    182         0,                                      /* フラグ                                    */
     156static T_IFNET ipv6cp_remote_def_cfg = {        /* 相手の構成情報の規定値  */
     157        NULL,                                   /* ネットワークインタフェースのソフトウェア情報       */
     158        {},                                     /* IPv6 アドレス情報                          */
     159        {},                                     /* マルチキャスト IPv6 アドレス                    */
     160        0,                                      /* フラグ                                  */
    183161        };
    184162
    185 static T_IFNET ipv6cp_local_neg_cfg;            /* ネゴ中の自構成æƒ
    186 å ±             */
    187 
    188 static T_IFNET ipv6cp_remote_neg_cfg;           /* ネゴ中の相手の構成æƒ
    189 å ±             */
    190 
    191 /*
    192  *  å
    193 ¨åŸŸå¤‰æ•°
     163static T_IFNET ipv6cp_local_neg_cfg;            /* ネゴ中の自構成情報            */
     164
     165static T_IFNET ipv6cp_remote_neg_cfg;           /* ネゴ中の相手の構成情報          */
     166
     167/*
     168 *  全域変数
    194169 */
    195170
    196171T_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 を受信したときの処理    */
    214185        };
    215186
    216187T_PPP_FSM ipv6cp_fsm = {
    217         &ipv6cp_callbacks,              /* コールバック関数             */
    218         PPP_IPV6CP,                     /* プロトコル                      */
     188        &ipv6cp_callbacks,              /* コールバック関数             */
     189        PPP_IPV6CP,                     /* プロトコル                        */
    219190        };
    220191
    221192T_PPP_PROTENT ipv6cp_protent = {
    222193        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 入力        */
    234202        };
    235203
    236 T_IFNET ipv6cp_local_ack_cfg;           /* 相手に許可されたの自構成æƒ
    237 å ±     */
    238 T_IFNET ipv6cp_remote_ack_cfg;          /* 相手に許可した構成æƒ
    239 å ±     */
    240 
    241 /*
    242  *  ppp_get_ifnet -- ネットワークインタフェース構造体を返す。
     204T_IFNET ipv6cp_local_ack_cfg;           /* 相手に許可されたの自構成情報       */
     205T_IFNET ipv6cp_remote_ack_cfg;          /* 相手に許可した構成情報  */
     206
     207/*
     208 *  ppp_get_ifnet -- ネットワークインタフェース構造体を返す。
    243209 */
    244210
     
    250216
    251217/*
    252  *  wait_ipv6cp -- IP 接続完了までå¾
    253 ã¤ã€‚
    254  *
    255  *      戻り値: 接続に失敗したら E_OBJ を返す。
     218 *  wait_ipv6cp -- IP 接続完了まで待つ。
     219 *
     220 *      戻り値: 接続に失敗したら E_OBJ を返す。
    256221 */
    257222
     
    267232#ifdef PPP_CFG_MODEM
    268233
    269                 /* モデムの接続完了までå¾
    270 ã¤ã€‚*/
     234                /* モデムの接続完了まで待つ。*/
    271235                if ((error = wait_modem()) != E_OK)
    272236                        return error;
     
    275239
    276240                /*
    277                  * 受動オープンし、相手からの接続å¾
    278 ã¡ãªã‚‰ LCP を一度クローズし、
    279                  * 能動オープン状æ
    280 ‹ã§ã€å†ã‚ªãƒ¼ãƒ—ンする。
     241                 * 受動オープンし、相手からの接続待ちなら LCP を一度クローズし、
     242                 * 能動オープン状態で、再オープンする。
    281243                 */
    282244                lcp_close();
     
    288250
    289251        if (ipv6cp_fsm.state != PPP_FSM_OPENED) {
    290                 /* IP 接続完了までå¾
    291 ã¤ã€‚*/
     252                /* IP 接続完了まで待つ。*/
    292253                wai_sem(SEM_IPV6CP_READY);
    293254                if (ipv6cp_fsm.state != PPP_FSM_OPENED)
     
    299260
    300261/*
    301  *  ipv6cp_init -- IPV6CP モジュールの初期化
     262 *  ipv6cp_init -- IPV6CP モジュールの初期化
    302263 */
    303264
     
    309270
    310271/*
    311  *  ipv6cp_input -- IPV6CP å
    312 ¥åŠ›
     272 *  ipv6cp_input -- IPV6CP 入力
    313273 */
    314274
     
    322282
    323283/*
    324  *  ipv6cp_resetci -- IPV6CPの構成æƒ
    325 å ±ã‚’リセットする。
     284 *  ipv6cp_resetci -- IPV6CPの構成情報をリセットする。
    326285 */
    327286
     
    329288ipv6cp_resetci (T_PPP_FSM *fsm)
    330289{
    331         /* 自構成æƒ
    332 å ±ã®åˆæœŸè¨­å®š */
     290        /* 自構成情報の初期設定 */
    333291        ipv6cp_local_neg_cfg = ipv6cp_local_def_cfg;
    334292        memset((void*)&ipv6cp_local_ack_cfg, 0, sizeof(T_IFNET));
    335293
    336         /* 相手の構成æƒ
    337 å ±ã®åˆæœŸè¨­å®š */
     294        /* 相手の構成情報の初期設定 */
    338295        ipv6cp_remote_neg_cfg = ipv6cp_remote_def_cfg;
    339296        memset((void*)&ipv6cp_remote_ack_cfg, 0, sizeof(T_IFNET));
     
    341298
    342299/*
    343  *  ipv6cp_cilen -- 構成æƒ
    344 å ±ã®é•·ã•ã‚’返す。
     300 *  ipv6cp_cilen -- 構成情報の長さを返す。
    345301 */
    346302
     
    350306        int_t cilen = 0;
    351307
    352         cilen += sizeof(T_PPP_CI_HDR) + sizeof(uint32_t);       /* IPv6 アドレス */
     308        cilen += sizeof(T_PPP_CI_HDR) + sizeof(uint32_t);       /* IPv6 アドレス */
    353309
    354310        return cilen;
     
    356312
    357313/*
    358  *  ipv6cp_addci -- IPV6CPの構成æƒ
    359 å ±ã‚’追加する。
     314 *  ipv6cp_addci -- IPV6CPの構成情報を追加する。
    360315 */
    361316
     
    367322        buf = output->buf + sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR);
    368323
    369         /* IPv6 アドレスオプションを追加する。 */
     324        /* IPv6 アドレスオプションを追加する。 */
    370325        *buf ++ = IPV6CP_CIT_ADDR;
    371326        *buf ++ = sizeof(T_PPP_CI_HDR) + sizeof(uint32_t);
     
    375330
    376331/*
    377  *  ipv6cp_ackci -- ACK を受信したときの処理
    378  *
    379  *      戻り値:      true  ACK は正常
    380  *              false ACK は異常
     332 *  ipv6cp_ackci -- ACK を受信したときの処理
     333 *
     334 *      戻り値:    true  ACK は正常
     335 *              false ACK は異常
    381336 */
    382337
     
    391346
    392347        /*
    393          *  構成æƒ
    394 å ±ã¯é€ä¿¡ã—た順に完å
    395 ¨ã«ä¸€è‡´ã—なければならない。
    396          *  従って、ipv6cp_addci で作成した順に解析する。
     348         *  構成情報は送信した順に完全に一致しなければならない。
     349         *  従って、ipv6cp_addci で作成した順に解析する。
    397350         */
    398351
    399         /* ADDR オプションを解析する。 */
     352        /* ADDR オプションを解析する。 */
    400353        if (len < sizeof(T_PPP_CI_HDR) + sizeof(uint32_t)       ||
    401354            *buf ++ != IPV6CP_CIT_ADDR                  ||
     
    410363
    411364/*
    412  *  ipv6cp_nakci -- NAK を受信したときの処理
    413  *
    414  *      戻り値:      1  NAK は正常
    415  *              0  NAK は異常
     365 *  ipv6cp_nakci -- NAK を受信したときの処理
     366 *
     367 *      戻り値:    1  NAK は正常
     368 *              0  NAK は異常
    416369 */
    417370
     
    429382        new_cfg = ipv6cp_local_neg_cfg;
    430383
    431         /* ADDR オプションを解析する。 */
     384        /* ADDR オプションを解析する。 */
    432385        if (len >= sizeof(T_PPP_CI_HDR) + sizeof(addr)          &&
    433386            * buf      == IPV6CP_CIT_ADDR                       &&
     
    438391                }
    439392
    440         /* 後は無視する。*/
     393        /* 後は無視する。*/
    441394        while (len > sizeof(T_PPP_CI_HDR)) {
    442395                cilen = *(buf + 1);
     
    447400                }
    448401
    449         /* 長さが 0 でなければエラー */
     402        /* 長さが 0 でなければエラー */
    450403        if (len != 0)
    451404                return 0;
    452405
    453         /* 新しいオプションを設定する。*/
     406        /* 新しいオプションを設定する。*/
    454407        if (fsm->state != PPP_FSM_OPENED)
    455408                ipv6cp_local_neg_cfg = new_cfg;
     
    459412
    460413/*
    461  *  ipv6cp_rejci -- REJ を受信したときの処理
    462  *
    463  *      戻り値:      1  REJ は正常
    464  *              0  REJ は異常
     414 *  ipv6cp_rejci -- REJ を受信したときの処理
     415 *
     416 *      戻り値:    1  REJ は正常
     417 *              0  REJ は異常
    465418 */
    466419
     
    477430        new_cfg = ipv6cp_local_neg_cfg;
    478431
    479         /* ADDR オプションを解析する。 */
     432        /* ADDR オプションを解析する。 */
    480433        if (len >= sizeof(T_PPP_CI_HDR) + sizeof(new_cfg.in6_ifaddrs[0].addr)   &&
    481434            * buf      == IPV6CP_CIT_ADDR                                       &&
     
    487440                }
    488441
    489         /* 長さが 0 でなければエラー */
     442        /* 長さが 0 でなければエラー */
    490443        if (len != 0)
    491444                return 0;
    492445
    493         /* 新しいオプションを設定する。*/
     446        /* 新しいオプションを設定する。*/
    494447        if (fsm->state != PPP_FSM_OPENED)
    495448                ipv6cp_local_neg_cfg = new_cfg;
     
    499452
    500453/*
    501  *  ipv6cp_reqci -- 相手の構成æƒ
    502 å ±ã‚’解析する。
     454 *  ipv6cp_reqci -- 相手の構成情報を解析する。
    503455 */
    504456
     
    511463
    512464        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 に上書きする。       */
    515467        len   = input->len - (sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR));
    516468        np    = output->buf + sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR);
    517         final = PPP_CONFACK;    /* 最終的に送信するコード */
     469        final = PPP_CONFACK;    /* 最終的に送信するコード */
    518470        while (len > 0) {
    519471                code = PPP_CONFACK;
    520                 cp   = ap;      /* cp: 現在処理中の CI    */
     472                cp   = ap;      /* cp: 現在処理中の CI        */
    521473
    522474                if (len < sizeof(T_PPP_CI_HDR)) {
    523475
    524                         /* 残りが CI ヘッダより短い */
     476                        /* 残りが CI ヘッダより短い */
    525477                        syslog(LOG_NOTICE, "[PPP/IPV6CP] bad CI len: %d.", len);
    526                         cilen = len;    /* データ長が異常の場合の処置      */
    527                         len  = 0;       /* ループから抜ける。          */
     478                        cilen = len;    /* データ長が異常の場合の処置        */
     479                        len  = 0;       /* ループから抜ける。            */
    528480                        code  = PPP_CONFREJ;
    529481                        goto endswitch;
    530482                        }
    531483
    532                 type  = *ap ++; /* CI の型            */
    533                 cilen = *ap ++; /* CI の長さ         */
     484                type  = *ap ++; /* CI の型                */
     485                cilen = *ap ++; /* CI の長さ               */
    534486                if (len < cilen) {
    535487
    536                         /* 残りが CI 長より短い */
     488                        /* 残りが CI 長より短い */
    537489                        syslog(LOG_NOTICE, "[PPP/IPV6CP] bad CI len: %d.", cilen);
    538                         cilen = len;    /* データ長が異常の場合の処置      */
    539                         len  = 0;       /* ループから抜ける。          */
     490                        cilen = len;    /* データ長が異常の場合の処置        */
     491                        len  = 0;       /* ループから抜ける。            */
    540492                        code  = PPP_CONFREJ;
    541493                        goto endswitch;
     
    543495                len -= sizeof(T_PPP_CI_HDR);
    544496
    545                 /* CI の型により分岐する。*/
     497                /* CI の型により分岐する。*/
    546498                switch (type) {
    547499
    548                 case IPV6CP_CIT_ADDR:   /* IPv6 アドレス */
    549 
    550                         /* CI 長が、ヘッダ + 4 オクテットでなければエラー */
     500                case IPV6CP_CIT_ADDR:   /* IPv6 アドレス */
     501
     502                        /* CI 長が、ヘッダ + 4 オクテットでなければエラー */
    551503                        if (cilen != sizeof(T_PPP_CI_HDR) + sizeof(addr))
    552504                                code = PPP_CONFREJ;
     
    564516                                        code = PPP_CONFNAK;
    565517                                        }
    566 #if 1   /* 要確認 */
     518#if 1   /* 要確認 */
    567519                                else if (IN6_IS_ADDR_UNSPECIFIED(&addr) &&
    568520                                         IN6_IS_ADDR_UNSPECIFIED(&ipv6cp_remote_neg_cfg.in6_ifaddrs[0]))
     
    585537
    586538                if (code == PPP_CONFNAK) {
    587                         /* CI の型が Magic Number の場合を除いて、NAK の回数が   */
    588                         /* 最大値 MAX_PPP_FAILURES  をè¶
    589 ãˆãŸã‚‰æ‹’否する。        */
     539                        /* CI の型が Magic Number の場合を除いて、NAK の回数が */
     540                        /* 最大値 MAX_PPP_FAILURES  を超えたら拒否する。     */
    590541                        if (fsm->failures >= MAX_PPP_FAILURES)
    591542                                code = PPP_CONFREJ;
     
    594545                        }
    595546
    596                 /* この CI を拒否する */
     547                /* この CI を拒否する */
    597548                if (code == PPP_CONFREJ) {
    598                         if (rp < cp)            /* 前に詰める。*/
     549                        if (rp < cp)            /* 前に詰める。*/
    599550                                memcpy(rp, cp, cilen);
    600551                        rp += cilen;
     
    606557                }
    607558
    608         /* 最終的な長さを調整する。*/
     559        /* 最終的な長さを調整する。*/
    609560        switch (final) {
    610561        case PPP_CONFNAK:
     
    624575
    625576/*
    626  *  ipv6cp_up -- リンク接続を確立する。
     577 *  ipv6cp_up -- リンク接続を確立する。
    627578 */
    628579
     
    630581ipv6cp_up (T_PPP_FSM *fsm)
    631582{
    632         /* 自構成æƒ
    633 å ±ã®åˆæœŸè¨­å®š */
     583        /* 自構成情報の初期設定 */
    634584        ipv6cp_local_ack_cfg = ipv6cp_local_neg_cfg;
    635585
     
    642592
    643593/*
    644  *  ipv6cp_down -- リンク接続を解放する。
     594 *  ipv6cp_down -- リンク接続を解放する。
    645595 */
    646596
     
    653603
    654604/*
    655  *  ipv6cp_finished -- 下位層を終了する。
     605 *  ipv6cp_finished -- 下位層を終了する。
    656606 */
    657607
     
    662612
    663613/*
    664  *  ipv6cp_protrej -- Proto-REJ を受信したときの処理
     614 *  ipv6cp_protrej -- Proto-REJ を受信したときの処理
    665615 */
    666616
     
    672622
    673623/*
    674  *  ipv6cp_lowerup -- IPV6CP 下位層を起動する。
     624 *  ipv6cp_lowerup -- IPV6CP 下位層を起動する。
    675625 */
    676626
     
    682632
    683633/*
    684  *  ipv6cp_lowerdown -- IPV6CP 下位層を停止する。
     634 *  ipv6cp_lowerdown -- IPV6CP 下位層を停止する。
    685635 */
    686636
     
    692642
    693643/*
    694  *  ipv6cp_open -- IPV6CP のオープン
     644 *  ipv6cp_open -- IPV6CP のオープン
    695645 */
    696646
     
    702652
    703653/*
    704  *  ipv6cp_close -- IPV6CP のクローズ
     654 *  ipv6cp_close -- IPV6CP のクローズ
    705655 */
    706656
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/ppp_ipv6cp.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    9381
    9482/*
    95  *  IPV6CP の構成æƒ
    96 å ± (CI)
     83 *  IPV6CP の構成情報 (CI)
    9784 */
    9885
    9986/*
    100  *  CI の型
     87 *  CI の型
    10188 */
    10289
    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 アドレス              */
    10693
    10794/*
    108  *  前方参ç
    109 §
     95 *  前方参照
    11096 */
    11197
     
    119105
    120106/*
    121  *  変数
     107 *  変数
    122108 */
    123109
     
    134120
    135121/*
    136  *  関数
     122 *  関数
    137123 */
    138124
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/ppp_lcp.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    113101
    114102/*
    115  *  関数
     103 *  関数
    116104 */
    117105
     
    131119
    132120/*
    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
     124static void  lcp_resetci(T_PPP_FSM *fsm);       /* 自構成情報をリセットする。        */
     125static int_t lcp_cilen  (T_PPP_FSM *fsm);       /* 構成情報の長さを返す。          */
    140126static void  lcp_addci  (T_PPP_FSM *fsm, T_NET_BUF *output);
    141                                                 /* 自構成æƒ
    142 å ±ã‚’追加する。           */
     127                                                /* 自構成情報を追加する。          */
    143128static bool_t lcp_ackci (T_PPP_FSM *fsm, T_NET_BUF *input);
    144                                                 /* ACK を受信したときの処理   */
     129                                                /* ACK を受信したときの処理       */
    145130static bool_t lcp_nakci (T_PPP_FSM *fsm, T_NET_BUF *input);
    146                                                 /* NAK を受信したときの処理   */
     131                                                /* NAK を受信したときの処理       */
    147132static bool_t lcp_rejci (T_PPP_FSM *fsm, T_NET_BUF *input);
    148                                                 /* REJ を受信したときの処理   */
     133                                                /* REJ を受信したときの処理       */
    149134static 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                                                /* 相手の構成情報を確認する。        */
     136static void lcp_up      (T_PPP_FSM *fsm);       /* リンク接続を確立する。          */
     137static void lcp_starting(T_PPP_FSM *fsm);       /* 下位層を開始する。            */
    154138static bool_t lcp_extcode       (T_PPP_FSM *fsm, uint8_t code, uint8_t id, T_NET_BUF *input);
    155                                                 /* 不明な CP を受信したときの処理  */
     139                                                /* 不明な CP を受信したときの処理    */
    156140static 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
     146static T_LCP_CONFIGS lcp_def_cfg = {            /* 構成情報の初期設定値           */
    164147        DEF_REMOTE_ACCM,                        /* ACCM                         */
    165148
    166149#ifdef LCP_CFG_MAGIC
    167150
    168         ULONG_C(0),                             /* マジック番号                   */
     151        ULONG_C(0),                             /* マジック番号                       */
    169152
    170153#endif  /* of #ifdef LCP_CFG_MAGIC */
    171154
    172155        DEF_PPP_MTU,                            /* MRU                          */
    173         UINT_C(0),                              /* オプションフラグ             */
     156        UINT_C(0),                              /* オプションフラグ             */
    174157        };
    175158
    176 static T_LCP_CONFIGS lcp_local_def_cfg = {      /* 自構成æƒ
    177 å ±ã®è¦å®šå€¤         */
     159static T_LCP_CONFIGS lcp_local_def_cfg = {      /* 自構成情報の規定値            */
    178160        DEF_LOCAL_ACCM,                         /* ACCM                         */
    179161
    180162#ifdef LCP_CFG_MAGIC
    181163
    182         ULONG_C(0),                             /* マジック番号                   */
     164        ULONG_C(0),                             /* マジック番号                       */
    183165
    184166#endif  /* of #ifdef LCP_CFG_MAGIC */
    185167
    186168        DEF_PPP_MTU,                            /* MRU                          */
    187         DEF_LCP_LOCAL_CFGS,                     /* オプションフラグ             */
     169        DEF_LCP_LOCAL_CFGS,                     /* オプションフラグ             */
    188170        };
    189171
    190 static T_LCP_CONFIGS lcp_local_neg_cfg;         /* ネゴ中の自構成æƒ
    191 å ±             */
    192 
    193 static T_LCP_CONFIGS lcp_remote_neg_cfg;        /* ネゴ中の相手の構成æƒ
    194 å ±             */
     172static T_LCP_CONFIGS lcp_local_neg_cfg;         /* ネゴ中の自構成情報            */
     173
     174static T_LCP_CONFIGS lcp_remote_neg_cfg;        /* ネゴ中の相手の構成情報          */
    195175
    196176#if DEF_LCP_LOCAL_CFGS & LCP_CFG_MAGIC
     
    203183
    204184/*
    205  *  å
    206 ¨åŸŸå¤‰æ•°
     185 *  全域変数
    207186 */
    208187
    209188T_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 を受信したときの処理    */
    227202        };
    228203
    229204T_PPP_FSM lcp_fsm = {
    230         &lcp_callbacks,                 /* コールバック関数             */
    231         PPP_LCP,                        /* プロトコル                      */
     205        &lcp_callbacks,                 /* コールバック関数             */
     206        PPP_LCP,                        /* プロトコル                        */
    232207        };
    233208
    234209T_PPP_PROTENT lcp_protent = {
    235210        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,                           /* データ入力                        */
    246219        };
    247220
    248 T_LCP_CONFIGS lcp_local_ack_cfg;        /* 相手に許可されたの自構成æƒ
    249 å ±     */
    250 T_LCP_CONFIGS lcp_remote_ack_cfg;       /* 相手に許可した構成æƒ
    251 å ±             */
    252 
    253 /*
    254  *  lcp_init -- LCP モジュールの初期化
     221T_LCP_CONFIGS lcp_local_ack_cfg;        /* 相手に許可されたの自構成情報       */
     222T_LCP_CONFIGS lcp_remote_ack_cfg;       /* 相手に許可した構成情報          */
     223
     224/*
     225 *  lcp_init -- LCP モジュールの初期化
    255226 */
    256227
     
    262233
    263234/*
    264  *  lcp_input -- LCP å
    265 ¥åŠ›
     235 *  lcp_input -- LCP 入力
    266236 */
    267237
     
    275245
    276246/*
    277  *  lcp_resetci -- LCPの構成æƒ
    278 å ±ã‚’リセットする。
     247 *  lcp_resetci -- LCPの構成情報をリセットする。
    279248 */
    280249
     
    288257#endif  /* of #ifdef LCP_CFG_MAGIC */
    289258
    290         /* 自構成æƒ
    291 å ±ã®åˆæœŸè¨­å®š */
     259        /* 自構成情報の初期設定 */
    292260        lcp_local_neg_cfg       = lcp_local_def_cfg;
    293261        lcp_local_ack_cfg       = lcp_def_cfg;
    294262
    295         /* 相手の構成æƒ
    296 å ±ã®åˆæœŸè¨­å®š */
     263        /* 相手の構成情報の初期設定 */
    297264        lcp_remote_neg_cfg      = lcp_def_cfg;
    298265        lcp_remote_ack_cfg      = lcp_def_cfg;
     
    310277
    311278/*
    312  *  lcp_cilen -- 構成æƒ
    313 å ±ã®é•·ã•ã‚’返す。
     279 *  lcp_cilen -- 構成情報の長さを返す。
    314280 */
    315281
     
    342308
    343309        if (lcp_local_neg_cfg.options & LCP_CFG_PCOMP)
    344                 cilen += sizeof(T_PPP_CI_HDR);                  /* プロトコル圧縮 */
     310                cilen += sizeof(T_PPP_CI_HDR);                  /* プロトコル圧縮 */
    345311
    346312#endif  /* of #ifdef LCP_CFG_PCOMP */
     
    349315
    350316        if (lcp_local_neg_cfg.options & LCP_CFG_ACCOMP)
    351                 cilen += sizeof(T_PPP_CI_HDR);                  /* アドレス・制御圧縮 */
     317                cilen += sizeof(T_PPP_CI_HDR);                  /* アドレス・制御圧縮 */
    352318
    353319#endif  /* of #ifdef LCP_CFG_ACCOMP */
     
    357323
    358324/*
    359  *  lcp_addci -- LCPの構成æƒ
    360 å ±ã‚’追加する。
     325 *  lcp_addci -- LCPの構成情報を追加する。
    361326 */
    362327
     
    368333        buf = output->buf + sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR);
    369334
    370         /* MRU オプションを追加する。 */
     335        /* MRU オプションを追加する。 */
    371336        if (lcp_local_neg_cfg.options & LCP_CFG_MRU) {
    372337                *buf ++ = LCP_CIT_MRU;
     
    376341                }
    377342
    378         /* ACCM オプションを追加する。 */
     343        /* ACCM オプションを追加する。 */
    379344        if (lcp_local_neg_cfg.options & LCP_CFG_ACCM) {
    380345                *buf ++ = LCP_CIT_ACCM;
     
    386351#ifdef LCP_CFG_MAGIC
    387352
    388         /* Magic Number オプションを追加する。 */
     353        /* Magic Number オプションを追加する。 */
    389354        if (lcp_local_neg_cfg.options & LCP_CFG_MAGIC) {
    390355                *buf ++ = LCP_CIT_MAGIC;
     
    398363#ifdef LCP_CFG_PAP
    399364
    400         /* 認証プロトコルオプションを追加する。 */
     365        /* 認証プロトコルオプションを追加する。 */
    401366        if (lcp_local_neg_cfg.options & LCP_CFG_PAP) {
    402367                *buf ++ = LCP_CIT_AUTH;
     
    410375#ifdef LCP_CFG_PCOMP
    411376
    412         /* プロトコル圧縮オプションを追加する。 */
     377        /* プロトコル圧縮オプションを追加する。 */
    413378        if (lcp_local_neg_cfg.options & LCP_CFG_PCOMP) {
    414379                *buf ++ = LCP_CIT_PCOMP;
     
    420385#ifdef LCP_CFG_ACCOMP
    421386
    422         /* アドレス・制御圧縮オプションを追加する。 */
     387        /* アドレス・制御圧縮オプションを追加する。 */
    423388        if (lcp_local_neg_cfg.options & LCP_CFG_ACCOMP) {
    424389                *buf ++ = LCP_CIT_ACCOMP;
     
    430395
    431396/*
    432  *  lcp_ackci -- ACK を受信したときの処理
     397 *  lcp_ackci -- ACK を受信したときの処理
    433398 *
    434  *      戻り値:      TURE  ACK は正常
    435  *              false ACK は異常
     399 *      戻り値:    TURE  ACK は正常
     400 *              false ACK は異常
    436401 */
    437402
     
    446411
    447412        /*
    448          *  構成æƒ
    449 å ±ã¯é€ä¿¡ã—た順に完å
    450 ¨ã«ä¸€è‡´ã—なければならない。
    451          *  従って、lcp_addci で作成した順に解析する。
     413         *  構成情報は送信した順に完全に一致しなければならない。
     414         *  従って、lcp_addci で作成した順に解析する。
    452415         */
    453416
    454         /* MRU オプションを解析する。 */
     417        /* MRU オプションを解析する。 */
    455418        if (lcp_local_neg_cfg.options & LCP_CFG_MRU) {
    456419                if (len < sizeof(T_PPP_CI_HDR) + sizeof(uint16_t)       ||
     
    463426                }
    464427
    465         /* ACCM オプションを解析する。 */
     428        /* ACCM オプションを解析する。 */
    466429        if (lcp_local_neg_cfg.options & LCP_CFG_ACCM) {
    467430                if (len < sizeof(T_PPP_CI_HDR) + sizeof(uint32_t)       ||
     
    476439#ifdef LCP_CFG_MAGIC
    477440
    478         /* Magic Number オプションを解析する。 */
     441        /* Magic Number オプションを解析する。 */
    479442        if (lcp_local_neg_cfg.options & LCP_CFG_MAGIC) {
    480443                if (len < sizeof(T_PPP_CI_HDR) + sizeof(uint32_t)       ||
     
    491454#ifdef LCP_CFG_PAP
    492455
    493         /* 認証プロトコルオプションを解析する。 */
     456        /* 認証プロトコルオプションを解析する。 */
    494457        if (lcp_local_neg_cfg.options & LCP_CFG_PAP) {
    495458                if (len < sizeof(T_PPP_CI_HDR) + sizeof(uint16_t)       ||
     
    506469#ifdef LCP_CFG_PCOMP
    507470
    508         /* プロトコル圧縮オプションを解析する。 */
     471        /* プロトコル圧縮オプションを解析する。 */
    509472        if (lcp_local_neg_cfg.options & LCP_CFG_PCOMP) {
    510473                if (len < sizeof(T_PPP_CI_HDR)                  ||
     
    519482#ifdef LCP_CFG_ACCOMP
    520483
    521         /* アドレス・制御圧縮オプションを解析する。 */
     484        /* アドレス・制御圧縮オプションを解析する。 */
    522485        if (lcp_local_neg_cfg.options & LCP_CFG_ACCOMP) {
    523486                if (len < sizeof(T_PPP_CI_HDR)                  ||
     
    533496
    534497/*
    535  *  lcp_nakci -- NAK を受信したときの処理
     498 *  lcp_nakci -- NAK を受信したときの処理
    536499 *
    537  *      戻り値:      1  NAK は正常
    538  *              0  NAK は異常
     500 *      戻り値:    1  NAK は正常
     501 *              0  NAK は異常
    539502 */
    540503
     
    543506{
    544507        T_LCP_CONFIGS   new_cfg;
    545         bool_t          loop = false;   /* ループバックをチェック */
     508        bool_t          loop = false;   /* ループバックをチェック */
    546509        uint32_t        cilong;
    547510        uint16_t        cishort, len;
     
    553516        new_cfg = lcp_local_neg_cfg;
    554517
    555         /* MRU オプションを解析する。 */
     518        /* MRU オプションを解析する。 */
    556519        if (len >= sizeof(T_PPP_CI_HDR) + sizeof(uint16_t)              &&
    557520            * buf      == LCP_CIT_MRU                           &&
     
    565528                }
    566529
    567         /* ACCM オプションを解析する。 */
     530        /* ACCM オプションを解析する。 */
    568531        if (len >= sizeof(T_PPP_CI_HDR) + sizeof(uint32_t)              &&
    569532            * buf      == LCP_CIT_ACCM                          &&
     
    578541#ifdef LCP_CFG_MAGIC
    579542
    580         /* Magic Number オプションを解析する。 */
     543        /* Magic Number オプションを解析する。 */
    581544        if (len >= sizeof(T_PPP_CI_HDR) + sizeof(uint32_t)              &&
    582545            * buf      == LCP_CIT_MAGIC                         &&
     
    594557#ifdef LCP_CFG_PAP
    595558
    596         /* 認証プロトコルオプションを解析する。 */
     559        /* 認証プロトコルオプションを解析する。 */
    597560        if (len >= sizeof(T_PPP_CI_HDR) + sizeof(uint16_t)              &&
    598561            * buf      == LCP_CIT_AUTH                          &&
     
    612575#ifdef LCP_CFG_PCOMP
    613576
    614         /* プロトコル圧縮オプションを解析する。 */
     577        /* プロトコル圧縮オプションを解析する。 */
    615578        if (len >= sizeof(T_PPP_CI_HDR)                         &&
    616579            * buf      == LCP_CIT_PCOMP                         &&
     
    626589#ifdef LCP_CFG_ACCOMP
    627590
    628         /* アドレス・制御圧縮オプションを解析する。 */
     591        /* アドレス・制御圧縮オプションを解析する。 */
    629592        if (len >= sizeof(T_PPP_CI_HDR)                         &&
    630593            * buf      == LCP_CIT_ACCOMP                        &&
     
    638601#endif  /* of #ifdef LCP_CFG_ACCOMP */
    639602
    640         /* 後は無視する。*/
     603        /* 後は無視する。*/
    641604        while (len > sizeof(T_PPP_CI_HDR)) {
    642605                cilen = *(buf + 1);
     
    647610                }
    648611
    649         /* 長さが 0 でなければエラー */
     612        /* 長さが 0 でなければエラー */
    650613        if (len != 0)
    651614                return 0;
    652615
    653         /* 新しいオプションを設定する。*/
     616        /* 新しいオプションを設定する。*/
    654617        if (fsm->state != PPP_FSM_OPENED) {
    655618                if (loop) {
     
    663626
    664627/*
    665  *  lcp_rejci -- REJ を受信したときの処理
     628 *  lcp_rejci -- REJ を受信したときの処理
    666629 *
    667  *      戻り値:      1  REJ は正常
    668  *              0  REJ は異常
     630 *      戻り値:    1  REJ は正常
     631 *              0  REJ は異常
    669632 */
    670633
     
    682645        new_cfg = lcp_local_neg_cfg;
    683646
    684         /* MRU オプションを解析する。 */
     647        /* MRU オプションを解析する。 */
    685648        if (len >= sizeof(T_PPP_CI_HDR) + sizeof(uint16_t)              &&
    686649            * buf      == LCP_CIT_MRU                                   &&
     
    696659                }
    697660               
    698         /* ACCM オプションを解析する。 */
     661        /* ACCM オプションを解析する。 */
    699662        if (len >= sizeof(T_PPP_CI_HDR) + sizeof(uint32_t)              &&
    700663            * buf      == LCP_CIT_ACCM                                  &&
     
    712675#ifdef LCP_CFG_MAGIC
    713676
    714         /* Magic Number オプションを解析する。 */
     677        /* Magic Number オプションを解析する。 */
    715678        if (len >= sizeof(T_PPP_CI_HDR) + sizeof(uint32_t)              &&
    716679            * buf      == LCP_CIT_MAGIC                                 &&
     
    730693#ifdef LCP_CFG_PAP
    731694
    732         /* 認証プロトコルオプションを解析する。 */
     695        /* 認証プロトコルオプションを解析する。 */
    733696        if (len >= sizeof(T_PPP_CI_HDR) + sizeof(uint16_t)              &&
    734697            * buf      == LCP_CIT_AUTH                                  &&
     
    748711#ifdef LCP_CFG_PCOMP
    749712
    750         /* プロトコル圧縮オプションを解析する。 */
     713        /* プロトコル圧縮オプションを解析する。 */
    751714        if (len >= sizeof(T_PPP_CI_HDR)                         &&
    752715            * buf      == LCP_CIT_PCOMP                         &&
     
    762725#ifdef LCP_CFG_ACCOMP
    763726
    764         /* アドレス・制御圧縮オプションを解析する。 */
     727        /* アドレス・制御圧縮オプションを解析する。 */
    765728        if (len >= sizeof(T_PPP_CI_HDR)                         &&
    766729            * buf      == LCP_CIT_ACCOMP                        &&
     
    774737#endif  /* of #ifdef LCP_CFG_ACCOMP */
    775738
    776         /* 長さが 0 でなければエラー */
     739        /* 長さが 0 でなければエラー */
    777740        if (len != 0)
    778741                return 0;
    779742
    780         /* 新しいオプションを設定する。*/
     743        /* 新しいオプションを設定する。*/
    781744        if (fsm->state != PPP_FSM_OPENED)
    782745                lcp_local_neg_cfg = new_cfg;
     
    786749
    787750/*
    788  *  lcp_reqci -- 相手の構成æƒ
    789 å ±ã‚’解析する。
     751 *  lcp_reqci -- 相手の構成情報を解析する。
    790752 */
    791753
     
    803765
    804766        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 に上書きする。     */
    807769        len   = input->len - (sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR));
    808770        np    = output->buf + sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR);
    809         final = PPP_CONFACK;    /* 最終的に送信するコード */
     771        final = PPP_CONFACK;    /* 最終的に送信するコード */
    810772        while (len > 0) {
    811773                code = PPP_CONFACK;
    812                 cp   = ap;      /* cp: 現在処理中の CI    */
     774                cp   = ap;      /* cp: 現在処理中の CI        */
    813775
    814776                if (len < sizeof(T_PPP_CI_HDR)) {
    815777
    816                         /* 残りが CI ヘッダより短い */
     778                        /* 残りが CI ヘッダより短い */
    817779                        syslog(LOG_WARNING, "[PPP/LCP] bad CI len: %d.", len);
    818                         cilen = len;    /* データ長が異常の場合の処置      */
    819                         len   = 0;      /* ループから抜ける。          */
     780                        cilen = len;    /* データ長が異常の場合の処置        */
     781                        len   = 0;      /* ループから抜ける。            */
    820782                        code  = PPP_CONFREJ;
    821783                        goto endswitch;
    822784                        }
    823785
    824                 type  = *ap ++; /* CI の型            */
    825                 cilen = *ap ++; /* CI の長さ         */
     786                type  = *ap ++; /* CI の型                */
     787                cilen = *ap ++; /* CI の長さ               */
    826788                if (len < cilen) {
    827789
    828                         /* 残りが CI 長より短い */
     790                        /* 残りが CI 長より短い */
    829791                        syslog(LOG_WARNING, "[PPP/LCP] bad CI len: %d.", cilen);
    830                         cilen = len;    /* データ長が異常の場合の処置      */
    831                         len   = 0;      /* ループから抜ける。          */
     792                        cilen = len;    /* データ長が異常の場合の処置        */
     793                        len   = 0;      /* ループから抜ける。            */
    832794                        code  = PPP_CONFREJ;
    833795                        goto endswitch;
     
    835797                len -= sizeof(T_PPP_CI_HDR);
    836798
    837                 /* CI の型により分岐する。*/
     799                /* CI の型により分岐する。*/
    838800                switch (type) {
    839801
    840                 case LCP_CIT_MRU:       /* 最大受信量 (Maximum Receive Unit) */
     802                case LCP_CIT_MRU:       /* 最大受信量 (Maximum Receive Unit) */
    841803
    842804#if (DEF_LCP_REMOTE_CFGS & LCP_CFG_MRU) == 0
     
    846808#else   /* of #if (DEF_LCP_REMOTE_CFGS & LCP_CFG_MRU) == 0 */
    847809
    848                         /* CI 長が、ヘッダ + 2 オクテットでなければ REJ */
     810                        /* CI 長が、ヘッダ + 2 オクテットでなければ REJ */
    849811                        if (cilen != sizeof(T_PPP_CI_HDR) + sizeof(uint16_t))
    850812                                code = PPP_CONFREJ;
     
    852814                                cishort = ntohs(*(uint16_t*)ap);
    853815
    854                                 /* 最小受信量より小さければ NAK */
     816                                /* 最小受信量より小さければ NAK */
    855817                                if (cishort < MIN_PPP_MTU) {
    856818                                        *np ++ = LCP_CIT_MRU;
     
    878840#else   /* of #if (DEF_LCP_REMOTE_CFGS & LCP_CFG_ACCM) == 0 */
    879841
    880                         /* CI 長が、ヘッダ + 4 オクテットでなければ REJ */
     842                        /* CI 長が、ヘッダ + 4 オクテットでなければ REJ */
    881843                        if (cilen != sizeof(T_PPP_CI_HDR) + sizeof(uint32_t))
    882844                                code = PPP_CONFREJ;
     
    890852                        break;
    891853
    892                 case LCP_CIT_MAGIC:     /* マジック番号 */
     854                case LCP_CIT_MAGIC:     /* マジック番号 */
    893855
    894856#if (DEF_LCP_REMOTE_CFGS & LCP_CFG_MAGIC) == 0
     
    898860#else   /* of #if (DEF_LCP_REMOTE_CFGS & LCP_CFG_MAGIC) == 0 */
    899861
    900                         /* CI 長が、ヘッダ + 4 オクテットでなければ REJ */
     862                        /* CI 長が、ヘッダ + 4 オクテットでなければ REJ */
    901863                        if (cilen != sizeof(T_PPP_CI_HDR) + sizeof(uint32_t))
    902864                                code = PPP_CONFREJ;
     
    904866                                ntoahl(cilong, ap);
    905867
    906                                 /* 番号が自分と同じなら NAK */
     868                                /* 番号が自分と同じなら NAK */
    907869                                if (cilong == lcp_local_neg_cfg.magic) {
    908870                                        cilong = net_rand();
     
    924886
    925887#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 オクテットより短いときはエラー */
    932893                        if (cilen < sizeof(T_PPP_CI_HDR) + sizeof(uint16_t))
    933894                                code = PPP_CONFREJ;
     
    935896                                cishort = ntohs(*(uint16_t*)ap);
    936897
    937                                 /* 認証プロトコルにより分岐する   */
     898                                /* 認証プロトコルにより分岐する       */
    938899                                if (cishort == PPP_PAP &&
    939900                                    cilen   == sizeof(T_PPP_CI_HDR) + sizeof(uint16_t) &&
     
    949910#ifdef LCP_CFG_PCOMP
    950911
    951                 case LCP_CIT_PCOMP:     /* プロトコル部圧縮は実è£
    952 äºˆå®š */
     912                case LCP_CIT_PCOMP:     /* プロトコル部圧縮は実装予定 */
    953913
    954914#if (DEF_LCP_REMOTE_CFGS & LCP_CFG_PCOMP) == 0
     
    958918#else   /* of #if (DEF_LCP_REMOTE_CFGS & LCP_CFG_PCOMP) == 0 */
    959919
    960                         /* CI 長が、ヘッダ長だけでなければ REJ */
     920                        /* CI 長が、ヘッダ長だけでなければ REJ */
    961921                        if (cilen != sizeof(T_PPP_CI_HDR))
    962922                                code = PPP_CONFREJ;
     
    972932#ifdef LCP_CFG_ACCOMP
    973933
    974                 case LCP_CIT_ACCOMP:    /* アドレス・制御部圧縮 */
     934                case LCP_CIT_ACCOMP:    /* アドレス・制御部圧縮 */
    975935
    976936#if (DEF_LCP_REMOTE_CFGS & LCP_CFG_ACCOMP) == 0
     
    980940#else   /* of #if (DEF_LCP_REMOTE_CFGS & LCP_CFG_ACCOMP) == 0 */
    981941
    982                         /* CI 長が、ヘッダ長だけでなければ REJ */
     942                        /* CI 長が、ヘッダ長だけでなければ REJ */
    983943                        if (cilen != sizeof(T_PPP_CI_HDR))
    984944                                code = PPP_CONFREJ;
     
    999959endswitch:
    1000960                if (code == PPP_CONFNAK) {
    1001                         /* CI の型が Magic Number の場合を除いて、NAK の回数が   */
    1002                         /* 最大値 MAX_PPP_FAILURES  をè¶
    1003 ãˆãŸã‚‰æ‹’否する。        */
     961                        /* CI の型が Magic Number の場合を除いて、NAK の回数が */
     962                        /* 最大値 MAX_PPP_FAILURES  を超えたら拒否する。     */
    1004963                        if (fsm->failures >= MAX_PPP_FAILURES && type != LCP_CIT_MAGIC)
    1005964                                code = PPP_CONFREJ;
     
    1008967                        }
    1009968
    1010                 /* この CI を拒否する */
     969                /* この CI を拒否する */
    1011970                if (code == PPP_CONFREJ) {
    1012                         if (rp < cp)            /* 前に詰める。*/
     971                        if (rp < cp)            /* 前に詰める。*/
    1013972                                memcpy(rp, cp, cilen);
    1014973                        rp += cilen;
     
    1020979                }
    1021980
    1022         /* 最終的な長さを調整する。*/
     981        /* 最終的な長さを調整する。*/
    1023982        switch (final) {
    1024983        case PPP_CONFNAK:
     
    1037996
    1038997/*
    1039  *  lcp_up -- リンク接続を確立する (Phase: Establish に移行する)。
     998 *  lcp_up -- リンク接続を確立する (Phase: Establish に移行する)。
    1040999 */
    10411000
     
    10431002lcp_up (T_PPP_FSM *fsm)
    10441003{
    1045         /* 自構成æƒ
    1046 å ±ã®è¨­å®š */
     1004        /* 自構成情報の設定 */
    10471005        lcp_local_ack_cfg = lcp_local_neg_cfg;
    10481006
    1049         /* 相手の構成æƒ
    1050 å ±ã®è¨­å®š */
     1007        /* 相手の構成情報の設定 */
    10511008        lcp_remote_ack_cfg = lcp_remote_neg_cfg;
    10521009
     
    10611018
    10621019/*
    1063  *  lcp_starting -- 下位層を開始する。
     1020 *  lcp_starting -- 下位層を開始する。
    10641021 */
    10651022
     
    10711028
    10721029/*
    1073  *  lcp_extcode -- LCP 特有の CP を受信したときの処理
     1030 *  lcp_extcode -- LCP 特有の CP を受信したときの処理
    10741031 */
    10751032
     
    11281085
    11291086/*
    1130  *  lcp_rprotrej -- Proto-REJ を受信したときの処理
     1087 *  lcp_rprotrej -- Proto-REJ を受信したときの処理
    11311088 */
    11321089
     
    11491106                }
    11501107
    1151         /* 上位プロトコルを初期化する */
     1108        /* 上位プロトコルを初期化する */
    11521109        for (ix = 0; (entry = protocols[ix]) != NULL; ix ++)
    11531110                if (entry->proto == proto) {
     
    11601117
    11611118/*
    1162  *  lcp_protrej -- Proto-REJ を受信したときの処理
     1119 *  lcp_protrej -- Proto-REJ を受信したときの処理
    11631120 */
    11641121
     
    11701127
    11711128/*
    1172  *  lcp_lowerup -- LCP 下位層を起動する。
     1129 *  lcp_lowerup -- LCP 下位層を起動する。
    11731130 */
    11741131
     
    11801137
    11811138/*
    1182  *  lcp_lowerdown -- LCP 下位層を停止する。
     1139 *  lcp_lowerdown -- LCP 下位層を停止する。
    11831140 */
    11841141
     
    11901147
    11911148/*
    1192  *  lcp_open -- LCP のオープ
     1149 *  lcp_open -- LCP のオープ
    11931150 */
    11941151
     
    11961153lcp_open (uint8_t open_mode)
    11971154{
    1198         ppp_open_mode = open_mode;      /* オープン時の動作モード    */
     1155        ppp_open_mode = open_mode;      /* オープン時の動作モード  */
    11991156        fsm_open(&lcp_fsm);
    12001157        }
    12011158
    12021159/*
    1203  *  lcp_close -- LCP のクローズ
     1160 *  lcp_close -- LCP のクローズ
    12041161 */
    12051162
     
    12191176
    12201177/*
    1221  *  lcp_sprotrej -- 認識できないプロトコルが送られてきたときの処理
     1178 *  lcp_sprotrej -- 認識できないプロトコルが送られてきたときの処理
    12221179 */
    12231180
     
    12271184        T_NET_BUF       *output;
    12281185        /*
    1229          *  Protocol-Reject を送り返す。
     1186         *  Protocol-Reject を送り返す。
    12301187         */
    12311188
     
    12401197
    12411198/*
    1242  *  lcp_down -- リンク接続を解放する (Phase: Dead に移行する)。
     1199 *  lcp_down -- リンク接続を解放する (Phase: Dead に移行する)。
    12431200 */
    12441201
     
    12571214
    12581215/*
    1259  *  lcp_finished -- 下位層を終了する。
     1216 *  lcp_finished -- 下位層を終了する。
    12601217 */
    12611218
     
    12691226
    12701227/*
    1271  *  recv_echo_rep -- ECHOREP を受信したときの処理
     1228 *  recv_echo_rep -- ECHOREP を受信したときの処理
    12721229 */
    12731230
     
    12801237        hdr = GET_PPP_CP_HDR(input);
    12811238
    1282         /* Magic Number の長さ以下ならエラー */
     1239        /* Magic Number の長さ以下ならエラー */
    12831240        if (hdr->len < sizeof(T_PPP_CP_HDR) + sizeof(uint32_t)) {
    12841241                syslog(LOG_WARNING, "[PPP/LCP] bad ECHOREP len: %d.", hdr->len);
     
    12881245        ntoahl(magic, input->buf + sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR));
    12891246
    1290         /* 受信した Magic Number が自分と同じならループしている。*/
     1247        /* 受信した Magic Number が自分と同じならループしている。*/
    12911248        if ((lcp_local_ack_cfg.options & LCP_CFG_MAGIC) && magic == lcp_local_ack_cfg.magic) {
    12921249                syslog(LOG_WARNING, "[PPP/LCP] ECHOREP looped.");
     
    12981255
    12991256/*
    1300  *  echo_timeout -- ECHO REQ/REP のタイムアウト処理
     1257 *  echo_timeout -- ECHO REQ/REP のタイムアウト処理
    13011258 */
    13021259
     
    13111268
    13121269/*
    1313  *  send_echo_req -- ECHO REQ を送信する。
     1270 *  send_echo_req -- ECHO REQ を送信する。
    13141271 */
    13151272
     
    13311288        if (fsm->state == PPP_FSM_OPENED) {
    13321289
    1333                 /* ECHOREQ を送信する。*/
     1290                /* ECHOREQ を送信する。*/
    13341291                syscall(get_net_buf(&input, sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR) + sizeof(uint32_t)));
    13351292                *(uint32_t*)(input->buf +  sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR)) = lcp_local_ack_cfg.magic;
     
    13381295                echo_pending ++;
    13391296
    1340                 /* タイマーをスタートする。*/
     1297                /* タイマーをスタートする。*/
    13411298                timeout((FP)echo_timeout, fsm, LCP_ECHO_INTERVAL);
    13421299                timer_running = true;
     
    13451302
    13461303/*
    1347  *  echo_lowerup -- ECHO REQ/REP の起動
     1304 *  echo_lowerup -- ECHO REQ/REP の起動
    13481305 */
    13491306
     
    13591316
    13601317/*
    1361  *  echo_lowerdown -- ECHO REQ/REP の停止
     1318 *  echo_lowerdown -- ECHO REQ/REP の停止
    13621319 */
    13631320
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/ppp_lcp.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    9381
    9482/*
    95  *  LCP 特有の PPP リンク制御 (CP) の制御コード
     83 *  LCP 特有の PPP リンク制御 (CP) の制御コード
    9684 */
    9785
     
    10290
    10391/*
    104  *  LCP の構成æƒ
    105 å ± (CI)
     92 *  LCP の構成情報 (CI)
    10693 */
    10794
    10895/*
    109  *  CI の型
     96 *  CI の型
    11097 */
    11198
    112 #define LCP_CIT_MRU             UINT_C(1)       /* 最大受信量 (Maximum Receive Unit)       */
     99#define LCP_CIT_MRU             UINT_C(1)       /* 最大受信量 (Maximum Receive Unit) */
    113100#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 は未実装         */
    130110
    131111/*
    132  *  LCP の構成æƒ
    133 å ±ã‚ªãƒ—ション
     112 *  LCP の構成情報オプション
    134113 */
    135114
     
    139118#ifdef LCP_CFG_MAGIC
    140119
    141         uint32_t        magic;          /* マジック番号           */
     120        uint32_t        magic;          /* マジック番号               */
    142121
    143122#endif  /* of #ifdef LCP_CFG_MAGIC */
    144123
    145124        uint16_t        MRU;            /* MRU                  */
    146         uint16_t        options;        /* オプションフラグ     */
     125        uint16_t        options;        /* オプションフラグ     */
    147126        } __attribute__((packed, aligned(2)))T_LCP_CONFIGS;
    148127
    149128/*
    150  *  変数
     129 *  変数
    151130 */
    152131
    153132extern T_PPP_FSM        lcp_fsm;
    154133extern 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 å ±             */
     134extern T_LCP_CONFIGS    lcp_local_ack_cfg;      /* 相手に許可されたの自構成情報       */
     135extern T_LCP_CONFIGS    lcp_remote_ack_cfg;     /* 相手に許可した構成情報          */
    159136
    160137/*
    161  *  関数
     138 *  関数
    162139 */
    163140
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/ppp_modem.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  PPP モデム制御
     35 *  PPP モデム制御
    4836 */
    4937
     
    7260
    7361/*
    74  *  å
    75 ¨åŸŸå¤‰æ•°
    76  */
    77 
    78 uint8_t modem_state = PPP_MODEM_DOWN;   /* モデムの状æ
    79 ‹               */
    80 
    81 /*
    82  *  モデムå
    83 ¥åŠ›æ–‡å­—列
     62 *  全域変数
     63 */
     64
     65uint8_t modem_state = PPP_MODEM_DOWN;   /* モデムの状態               */
     66
     67/*
     68 *  モデム入力文字列
    8469 */
    8570
     
    9479
    9580/*
    96  *  変数
     81 *  変数
    9782 */
    9883
     
    11196
    11297/*
    113  *  関数
     98 *  関数
    11499 */
    115100
     
    120105
    121106/*
    122  *  modem_getline -- モデム行å
    123 ¥åŠ›
     107 *  modem_getline -- モデム行入力
    124108 */
    125109
     
    130114
    131115        buf = nbuf->buf;
    132         size --;                        /* '\0' の分 */
     116        size --;                        /* '\0' の分 */
    133117        while (size > 0 && (*buf = HDLC_raw_getoctet()) != '\r') {
    134118                buf  ++;
     
    136120                }
    137121        *buf = '\0';
    138         HDLC_raw_getoctet();            /* \n を読み飛ばす。*/
     122        HDLC_raw_getoctet();            /* \n を読み飛ばす。*/
    139123        nbuf->len = buf - nbuf->buf;
    140124        return nbuf;
     
    142126
    143127/*
    144  *  モデム制御
     128 *  モデム制御
    145129 *
    146  *      戻り値: モデムからのリザルトコード
     130 *      戻り値: モデムからのリザルトコード
    147131 */
    148132
     
    211195
    212196/*
    213  *  init_modem -- モデムを初期化する。
     197 *  init_modem -- モデムを初期化する。
    214198 */
    215199
     
    229213
    230214/*
    231  *  wait_modem -- 接続完了までå¾
    232 ã¤ã€‚
     215 *  wait_modem -- 接続完了まで待つ。
    233216 *
    234  *      戻り値: 接続に失敗したら E_OBJ を返す。
     217 *      戻り値: 接続に失敗したら E_OBJ を返す。
    235218 */
    236219
     
    245228
    246229        if (modem_state != PPP_MODEM_CONNECT) {
    247                 /* 接続完了までå¾
    248 ã¤ã€‚*/
     230                /* 接続完了まで待つ。*/
    249231                wai_sem(SEM_MODEM_READY);
    250232                if (modem_state != PPP_MODEM_CONNECT)
     
    256238
    257239/*
    258  *  dial -- ダイヤルする。リトライ回数をセットする。
     240 *  dial -- ダイヤルする。リトライ回数をセットする。
    259241 */
    260242
     
    268250
    269251/*
    270  *  do_dial -- ダイヤルする。dial() の下請け関数
     252 *  do_dial -- ダイヤルする。dial() の下請け関数
    271253 */
    272254
     
    281263
    282264/*
    283  *  modem_putstr -- モデム文字列出力
     265 *  modem_putstr -- モデム文字列出力
    284266 */
    285267
     
    292274
    293275/*
    294  *  modem_wait -- モデムから文字列をå¾
    295 ã¤
     276 *  modem_wait -- モデムから文字列を待つ
    296277 */
    297278
     
    312293
    313294/*
    314  *  modem_putline -- モデム行出力
     295 *  modem_putline -- モデム行出力
    315296 */
    316297
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/ppp_modem.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    5240
    5341/*
    54  *  モデムの状æ
    55 ‹
     42 *  モデムの状態
    5643 */
    5744
     
    6451
    6552/*
    66  *  å
    67 ¨åŸŸå¤‰æ•°
     53 *  全域変数
    6854 */
    6955
    70 extern uint8_t modem_state;     /* モデムの状æ
    71 ‹               */
     56extern uint8_t modem_state;     /* モデムの状態               */
    7257
    7358/*
    74  *  関数
     59 *  関数
    7560 */
    7661
     
    8469
    8570/*
    86  *  関数
     71 *  関数
    8772 */
    8873
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/ppp_upap.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    114102
    115103/*
    116  *  関数
     104 *  関数
    117105 */
    118106
     
    152140
    153141/*
    154  *  å
    155 ¨åŸŸå¤‰æ•°
     142 *  全域変数
    156143 */
    157144
    158145T_PPP_PROTENT pap_protent = {
    159146        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,                           /* データ入力                        */
    170155        };
    171156
    172157/*
    173  *  変数
     158 *  変数
    174159 */
    175160
     
    194179
    195180/*
    196  *  upap_init -- UPAP モジュールの初期化
     181 *  upap_init -- UPAP モジュールの初期化
    197182 */
    198183
     
    215200
    216201/*
    217  *  upap_input -- UPAP å
    218 ¥åŠ›
     202 *  upap_input -- UPAP 入力
    219203 */
    220204
     
    227211        NET_COUNT_PPP_PAP(net_count_ppp_upap_in_packets, 1);
    228212
    229         /* PPP リンク制御 (CP) ヘッダより短ければエラー */
     213        /* PPP リンク制御 (CP) ヘッダより短ければエラー */
    230214        if (input->len < (sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR))) {
    231215                syslog(LOG_WARNING, "[PPP/PAP] short hdr: %d.", input->len);
     
    235219        hdr = GET_PPP_CP_HDR(input);
    236220
    237         /* ヘッダの長さとå
    238 ¥åŠ›ãƒ‡ãƒ¼ã‚¿ã‚µã‚¤ã‚ºãŒä¸€è‡´ã—なければエラー */
     221        /* ヘッダの長さと入力データサイズが一致しなければエラー */
    239222        if (hdr->len != input->len - sizeof(T_PPP_HDR)) {
    240223                syslog(LOG_WARNING, "[PPP/PAP] bad len: %d.", hdr->len);
     
    243226 
    244227        /*
    245          *  制御コードにより適当な関数を呼出す
     228         *  制御コードにより適当な関数を呼出す
    246229         */
    247230
     
    272255
    273256/*
    274  *  upap_protrej -- Proto-REJ を受信したときの処理
     257 *  upap_protrej -- Proto-REJ を受信したときの処理
    275258 */
    276259
     
    298281
    299282/*
    300  *  upap_lowerup -- UPAP 下位層を起動する。
     283 *  upap_lowerup -- UPAP 下位層を起動する。
    301284 */
    302285
     
    332315
    333316/*
    334  *  upap_lowerdown -- UPAP 下位層を停止する。
     317 *  upap_lowerdown -- UPAP 下位層を停止する。
    335318 */
    336319
     
    367350
    368351/*
    369  *  クライアントモードで PAP 認証を開始する。
     352 *  クライアントモードで PAP 認証を開始する。
    370353 */
    371354
     
    388371
    389372/*
    390  *  upap_rauthack -- 認証 ACK 処理
     373 *  upap_rauthack -- 認証 ACK 処理
    391374 */
    392375
     
    401384
    402385/*
    403  *  upap_rauthnak -- 認証 NAK 処理
     386 *  upap_rauthnak -- 認証 NAK 処理
    404387 */
    405388
     
    412395
    413396/*
    414  *  upap_sauthreq -- 認証要求処理
     397 *  upap_sauthreq -- 認証要求処理
    415398 */
    416399
     
    426409        data = output->buf + sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR);
    427410
    428         /* ユーザ名を設定する。*/
     411        /* ユーザ名を設定する。*/
    429412        *data = sizeof(AUTH_REMOTE_USER) - 1;
    430413        strcpy(data + 1, AUTH_REMOTE_USER);
    431414
    432         /* パスワードを設定する。*/
     415        /* パスワードを設定する。*/
    433416        *(data + sizeof(AUTH_REMOTE_USER)) = sizeof(AUTH_REMOTE_PASSWD) - 1;
    434417        strcpy(data + sizeof(AUTH_REMOTE_USER) + 1, AUTH_REMOTE_PASSWD);
    435418
    436         /* 送信する */
     419        /* 送信する */
    437420        IF_SET_PROTO(output, PPP_PAP);
    438421        ppp_cp_output(PAP_AUTHREQ, ++ client_cp_id, output);
     
    451434
    452435/*
    453  *  upap_timeout -- タイムアウト処理
     436 *  upap_timeout -- タイムアウト処理
    454437 */
    455438
     
    476459
    477460/*
    478  *  サーバモードで PAP 認証を開始する。
     461 *  サーバモードで PAP 認証を開始する。
    479462 */
    480463
     
    497480
    498481/*
    499  *  upap_rauthreq -- 認証要求応答処理
     482 *  upap_rauthreq -- 認証要求応答処理
    500483 */
    501484
     
    510493
    511494        /*
    512          *  再要求があったときの処理
     495         *  再要求があったときの処理
    513496         */
    514497        id = GET_PPP_CP_HDR(input)->id;
     
    527510
    528511        /*
    529          *  ユーザ名を特定する。
     512         *  ユーザ名を特定する。
    530513         */
    531514        ulen  = *data;
     
    538521
    539522        /*
    540          *  パスワードを特定する。
     523         *  パスワードを特定する。
    541524         */
    542525        plen  = *data;
     
    547530
    548531        /*
    549          *  ユーザ名とパスワードをチェックする。
     532         *  ユーザ名とパスワードをチェックする。
    550533         */
    551534        if (compare(user,     AUTH_LOCAL_USER,   ulen) &&
     
    574557
    575558/*
    576  *  upap_sresp -- 応答を返す。
     559 *  upap_sresp -- 応答を返す。
    577560 */
    578561
     
    582565        T_NET_BUF *output;
    583566
    584         /* 送信する */
     567        /* 送信する */
    585568        syscall(get_net_buf(&output, sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR)));
    586569        IF_SET_PROTO(output, PPP_PAP);
     
    589572
    590573/*
    591  *  compare -- ユーザ名とパスワードの比較
     574 *  compare -- ユーザ名とパスワードの比較
    592575 */
    593576
     
    607590
    608591/*
    609  *  upap_reqtimeout -- 要求タイムアウト処理
     592 *  upap_reqtimeout -- 要求タイムアウト処理
    610593 */
    611594
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/ppp_upap.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    9381
    9482/*
    95  *  PAP の制御コード
     83 *  PAP の制御コード
    9684 */
    9785
    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       */
    10189
    10290/*
    103  *  クライアントの状æ
    104 ‹
     91 *  クライアントの状態
    10592 */
    10693
    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 受信               */
    113100
    114101/*
    115  *  サーバの状æ
    116 ‹
     102 *  サーバの状態
    117103 */
    118104
    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 送信               */
    126111
    127112/*
    128  *  変数
     113 *  変数
    129114 */
    130115
     
    132117
    133118/*
    134  *  関数
     119 *  関数
    135120 */
    136121
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/ppp_var.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    8573
    8674/*
    87  *  PPP プロトコルエントリ構造体
     75 *  PPP プロトコルエントリ構造体
    8876 */
    8977
    9078typedef struct t_ppp_protent {
    91         uint16_t        proto;                  /* プロトコル番号        */
    92         void            (*init)         (void); /* 初期化関数              */
     79        uint16_t        proto;                  /* プロトコル番号      */
     80        void            (*init)         (void); /* 初期化関数                */
    9381        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); /* クローズする。      */
    10188        void            (*datainput)    (T_NET_BUF *data);
    102                                         /* データå
    103 ¥åŠ›é–¢æ•°      */
     89                                        /* データ入力関数      */
    10490        } T_PPP_PROTENT;
    10591
     
    10793
    10894/*
    109  *  変数
     95 *  変数
    11096 */
    11197
    112 extern T_PPP_PROTENT    *protocols[];   /* プロトコル表                   */
    113 extern uint8_t          ppp_phase;      /* リンクの状æ
    114 ‹                       */
     98extern T_PPP_PROTENT    *protocols[];   /* プロトコル表                       */
     99extern uint8_t          ppp_phase;      /* リンクの状態                       */
    115100
    116101/*
    117  *  関数
     102 *  関数
    118103 */
    119104
     
    121106
    122107/*
    123  *  PPP 処理タスク
     108 *  PPP 処理タスク
    124109 */
    125110
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/route.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    8472
    8573/*
    86  * TINET 1.1 との互換性確保
     74 * TINET 1.1 との互換性確保
    8775 */
    8876
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/tinet.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    5038
    5139/*
    52  *  TINET 独自関数
     40 *  TINET 独自関数
    5341 */
    5442
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/Makefile.netapp

    • Property svn:mime-type changed from text/x-makefile to text/x-makefile;charset=UTF-8
    r388 r389  
    55#                    Tomakomai National College of Technology, JAPAN
    66#
    7 #   ä¸Šè¨˜è‘—作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9 #   ã«ã‚ˆã£ã¦å
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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#   接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230
    4331#   @(#) $Id$
     
    4533
    4634#
    47 ã‚µãƒ³ãƒ—ルのネットワーク応用プログラムに関する定義
    48 #
    49 
    50 #
    51 ã‚«ãƒ¼ãƒãƒ«ã®è­˜åˆ¥
     35サンプルのネットワーク応用プログラムに関する定義
     36#
     37
     38#
     39カーネルの識別
    5240#
    5341ifdef SRCLANG
     
    5947endif
    6048
    61 å¿œç”¨ãƒ—ログラム
     49応用プログラム
    6250
    6351TINET_ROOT = $(SRCDIR)/tinet
     
    7967endif
    8068
    81 ãƒˆãƒ©ãƒ³ã‚¹ãƒãƒ¼ãƒˆå±¤ã®é¸æŠž
     69トランスポート層の選択
    8270
    8371#SUPPORT_TCP = false
     
    8573
    8674#
    87 #  å
    88 ±é€šã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãƒ»ã‚µãƒ¼ãƒãƒ—ログラムの設定
     75#  共通クライアント・サーバプログラムの設定
    8976#
    9077
     
    10996endif
    11097
    111 ifeq ($(TCP_ECHO_SRV),tcp_echo_srv1)            # 送受信タスク同一型
     98ifeq ($(TCP_ECHO_SRV),tcp_echo_srv1)            # 送受信タスク同一型
    11299
    113100        SUPPORT_TCP = true
     
    127114endif
    128115
    129 ifeq ($(TCP_ECHO_SRV),tcp_echo_srv2)            # 送受信タスク分離型
     116ifeq ($(TCP_ECHO_SRV),tcp_echo_srv2)            # 送受信タスク分離型
    130117        SUPPORT_TCP = true
    131118        USE_NETAPP_SUBR = true
     
    372359
    373360#
    374 ã‚¢ãƒ—リケーションプログラムに関する定義への追加
     361アプリケーションプログラムに関する定義への追加
    375362#
    376363
     
    408395
    409396#
    410 #  TINET コンフィギュレーションファイルの定義への追加
     397#  TINET コンフィギュレーションファイルの定義への追加
    411398#
    412399TINET_KERNEL_CFG := $(TINET_KERNEL_CFG) $(NETAPP_KERNEL_CFG)
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/dbg_cons.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  デバッグコンソール
     35 *  デバッグコンソール
    4836 */
    4937
     
    132120
    133121/*
    134  *  dbg_cons_task_status -- タスクの状æ
    135 ‹ã®å‡ºåŠ›
     122 *  dbg_cons_task_status -- タスクの状態の出力
    136123 */
    137124
    138125static 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",               /* 共通部分の待ちキューにつながっている。  */
    158133        };
    159134
     
    190165
    191166/*
    192  *  tcp_status -- TCP の状æ
    193 ‹ã®å‡ºåŠ›
     167 *  tcp_status -- TCP の状態の出力
    194168 */
    195169
    196170static 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 受信済み、時間待ち  */
    214182        };
    215183
     
    578546
    579547/*
    580  *  udp6_status -- UDP の状æ
    581 ‹ã®å‡ºåŠ›
     548 *  udp6_status -- UDP の状態の出力
    582549 */
    583550
     
    616583
    617584/*
    618  *  udp4_status -- UDP の状æ
    619 ‹ã®å‡ºåŠ›
     585 *  udp4_status -- UDP の状態の出力
    620586 */
    621587
     
    675641
    676642/*
    677  * ifa6_status -- 近隣キャッシュ状æ
    678 ‹ã®å‡ºåŠ›
     643 * ifa6_status -- 近隣キャッシュ状態の出力
    679644 */
    680645
    681646static 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",                /* 到達可能性を確認中    */
    691654        };
    692655
     
    703666                    "IX Expire State      MAC Address       IP Address\n");
    704667
    705         /* expire の単位は [us]。*/
     668        /* expire の単位は [us]。*/
    706669        get_tim(&now);
    707670        cache = nd6_get_cache();
     
    728691
    729692/*
    730  *  ifa4_status -- ARP キャッシュ出力
     693 *  ifa4_status -- ARP キャッシュ出力
    731694 */
    732695
     
    742705                    "IX Expire MAC Address       IP Address\n");
    743706
    744         /* expire の単位は [us]。*/
     707        /* expire の単位は [us]。*/
    745708        cache = arp_get_cache();
    746709        for (ix = 0; ix < NUM_ARP_ENTRY; ix ++) {
     
    762725
    763726/*
    764  *  net_count_struct -- ネットワーク統計æƒ
    765 å ±
     727 *  net_count_struct -- ネットワーク統計情報
    766728 */
    767729
     
    770732{
    771733        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);
    778740        }
    779741
    780742/*
    781  *  net_count -- ネットワーク統計æƒ
    782 å ±
     743 *  net_count -- ネットワーク統計情報
    783744 */
    784745
     
    792753        WAI_NET_CONS_PRINTF();
    793754        get_tim(&now);
    794         cons_printf(portid, "ネットワーク統計æƒ
    795 å ±\t経過時間[us]\t%lu\t", now);
     755        cons_printf(portid, "ネットワーク統計情報\t経過時間[us]\t%lu\t", now);
    796756        if (now > (1000 * 3600 * 24))
    797                 cons_printf(portid, "%3lu日 %2lu時間 %2lu分 %2lu秒\n",
     757                cons_printf(portid, "%3lu日 %2lu時間 %2lu分 %2lu秒\n",
    798758                             now / (1000 * 3600 * 24),
    799759                            (now / (1000 * 3600)) % 24,
     
    801761                            (now /  1000        ) % 60);
    802762        else
    803                 cons_printf(portid, "%2lu時間 %2lu分 %2lu秒\n",
     763                cons_printf(portid, "%2lu時間 %2lu分 %2lu秒\n",
    804764                            (now / (1000 * 3600)) % 24,
    805765                            (now / (1000 * 60  )) % 60,
     
    810770        net_count_struct(portid, "HDLC", &net_count_hdlc);
    811771        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);
    819779
    820780        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);
    823783
    824784        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);
    827787
    828788        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);
    831791
    832792#endif  /* of #ifdef SUPPORT_PPP */
     
    834794#ifdef SUPPORT_ETHER
    835795
    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]);
    851811
    852812#endif  /* of #ifdef SUPPORT_ETHER */
     
    855815
    856816        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]);
    875835
    876836        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]);
    893853
    894854#else   /* of #if defined(SUPPORT_INET6) */
     
    903863
    904864        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]);
    926885
    927886        net_count_struct(portid, "ICMP", &net_count_icmp4);
     
    934893
    935894        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]);
    960919
    961920#endif  /* of #ifdef SUPPORT_TCP */
     
    968927
    969928        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");
    971930        for (ix = nbuf_get_tbl_size(); ix -- > 0; ) {
    972931                cons_printf(portid, "\t%lu\t%lu\t%lu\t%lu\t%lu\t%lu\n",
     
    979938                }
    980939
    981         cons_printf(portid, "\nネットワーク統計æƒ
    982 å ±\t経過時間[us]\t%lu\t", now);
     940        cons_printf(portid, "\nネットワーク統計情報\t経過時間[us]\t%lu\t", now);
    983941        if (now > (1000 * 3600 * 24))
    984                 cons_printf(portid, "%3lu日 %2lu時間 %2lu分 %2lu秒\n",
     942                cons_printf(portid, "%3lu日 %2lu時間 %2lu分 %2lu秒\n",
    985943                             now / (1000 * 3600 * 24),
    986944                            (now / (1000 * 3600)) % 24,
     
    988946                            (now /  1000        ) % 60);
    989947        else
    990                 cons_printf(portid, "%2lu時間 %2lu分 %2lu秒\n",
     948                cons_printf(portid, "%2lu時間 %2lu分 %2lu秒\n",
    991949                            (now / (1000 * 3600)) % 24,
    992950                            (now / (1000 * 60  )) % 60,
     
    1002960
    1003961/*
    1004  *  nbuf_stat_ip4_frag_queue -- IPv4 再構成キューå†
    1005 ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒãƒƒãƒ•ã‚¡æƒ
    1006 å ±
     962 *  nbuf_stat_ip4_frag_queue -- IPv4 再構成キュー内ネットワークバッファ情報
    1007963 */
    1008964
     
    1014970        int_t                   ix, fix, count;
    1015971
    1016         cons_printf(portid, "\nIPv4再構成キューå†
    1017 \nIndex\tTime");
     972        cons_printf(portid, "\nIPv4再構成キュー内\nIndex\tTime");
    1018973        tbl = nbuf_get_tbl();
    1019974        for (ix = nbuf_get_tbl_size(); ix -- > 0; )
     
    10461001
    10471002/*
    1048  *  nbuf_stat_ip6_frag_queue -- IPv6 再構成キューå†
    1049 ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒãƒƒãƒ•ã‚¡æƒ
    1050 å ±
     1003 *  nbuf_stat_ip6_frag_queue -- IPv6 再構成キュー内ネットワークバッファ情報
    10511004 */
    10521005
     
    10581011        int_t                   ix, fix, count;
    10591012
    1060         cons_printf(portid, "\nIPv6再構成キューå†
    1061 \nIndex\tTime");
     1013        cons_printf(portid, "\nIPv6再構成キュー内\nIndex\tTime");
    10621014        tbl = nbuf_get_tbl();
    10631015        for (ix = nbuf_get_tbl_size(); ix -- > 0; )
     
    10881040
    10891041/*
    1090  *  nbuf_status -- ネットワークバッファæƒ
    1091 å ±
     1042 *  nbuf_status -- ネットワークバッファ情報
    10921043 */
    10931044
     
    11141065        WAI_NET_CONS_PRINTF();
    11151066        get_tim(&now);
    1116         cons_printf(portid, "ネットワークバッファæƒ
    1117 å ±\t経過時間[us]\t%u\n", now);
     1067        cons_printf(portid, "ネットワークバッファ情報\t経過時間[us]\t%u\n", now);
    11181068
    11191069#if NET_COUNT_ENABLE
    11201070
    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");
    11221072        tbl = nbuf_get_tbl();
    11231073        for (ix = nbuf_get_tbl_size(); ix -- > 0; ) {
     
    11351085#ifdef SUPPORT_TCP
    11361086
    1137         cons_printf(portid, "\nCEPå†
    1138 \nCEPID\n");
     1087        cons_printf(portid, "\nCEP内\nCEPID\n");
    11391088
    11401089        for (cep = tcp_cep; cep < &tcp_cep[tmax_tcp_cepid]; cep ++) {
     
    12101159
    12111160/*
    1212  *  show_dns_soa -- DNS の SOA RDATA を表示する。
     1161 *  show_dns_soa -- DNS の SOA RDATA を表示する。
    12131162 */
    12141163
     
    12401189
    12411190/*
    1242  *  show_dns_qdsection -- DNS の Question セクションを表示する。
     1191 *  show_dns_qdsection -- DNS の Question セクションを表示する。
    12431192 */
    12441193
     
    12661215
    12671216/*
    1268  *  show_dns_section -- DNS の各セクションを表示する。
     1217 *  show_dns_section -- DNS の各セクションを表示する。
    12691218 */
    12701219
     
    13341283        }
    13351284/*
    1336  *  dns_info -- DNS æƒ
    1337 å ±ã®è¡¨ç¤º
     1285 *  dns_info -- DNS 情報の表示
    13381286 */
    13391287
     
    13781326
    13791327/*
    1380  *  name_lookup -- ホスト名-IP アドレス変換
     1328 *  name_lookup -- ホスト名-IP アドレス変換
    13811329 */
    13821330
     
    14011349        uint8_t         *msg;
    14021350
    1403         /* コマンドのオプションを設定する。*/
     1351        /* コマンドのオプションを設定する。*/
    14041352        line = skip_blanks(resolv_options(&flags, line, DEFAULT_API_PROTO));
    14051353        if ((flags & (DNS_LUP_FLAGS_PROTO_IPV6 | DNS_LUP_FLAGS_PROTO_IPV4)) == 0) {
     
    14081356                }
    14091357
    1410         /* ç
    1411 §ä¼šã™ã‚‹ãƒ›ã‚¹ãƒˆåãƒ»IP アドレスを解析する。*/
     1358        /* 照会するホスト名・IP アドレスを解析する。*/
    14121359        resolv_hoststr(&flags, hostname, sizeof(hostname), line);
    14131360
    1414         /* 正引きでも逆引きでもプロトコル上は正引きを指定する。*/
     1361        /* 正引きでも逆引きでもプロトコル上は正引きを指定する。*/
    14151362        flags |= DNS_LUP_OPCODE_FORWARD;
    14161363
    1417         /* IPv6 アドレス、または IPv4 アドレスが指定された時は、ç
    1418 §ä¼šã‚¿ã‚¤ãƒ—は PTR に設定する。*/
     1364        /* IPv6 アドレス、または IPv4 アドレスが指定された時は、照会タイプは PTR に設定する。*/
    14191365        if (((flags & DNS_LUP_FLAGS_NAME_MASK) == DNS_LUP_FLAGS_NAME_IPV6) ||
    14201366            ((flags & DNS_LUP_FLAGS_NAME_MASK) == DNS_LUP_FLAGS_NAME_IPV4))
     
    14731419
    14741420/*
    1475  *  dhcp6c_info -- DHCPv6 クライアントæƒ
    1476 å ±ã®è¡¨ç¤º
     1421 *  dhcp6c_info -- DHCPv6 クライアント情報の表示
    14771422 */
    14781423
     
    15161461
    15171462/*
    1518  *  dhcp4c_info -- DHCPv4 クライアントæƒ
    1519 å ±ã®è¡¨ç¤º
     1463 *  dhcp4c_info -- DHCPv4 クライアント情報の表示
    15201464 */
    15211465
     
    15451489
    15461490/*
    1547  *  dhcpc -- DHCP クライアントæƒ
    1548 å ±ã®è¡¨ç¤ºã¨åˆ¶å¾¡
     1491 *  dhcpc -- DHCP クライアント情報の表示と制御
    15491492 */
    15501493
     
    15571500
    15581501#if defined(DHCP6_CLI_CFG)
    1559         case '6':                       /* DHCPv6 の制御 */
     1502        case '6':                       /* DHCPv6 の制御 */
    15601503                switch (*(line + 1)) {
    1561                 case 'r':               /* アドレスæƒ
    1562 å ±ã‚’解放する。*/
     1504                case 'r':               /* アドレス情報を解放する。*/
    15631505                        dhcp6c_rel_info();
    15641506                        break;
    15651507
    1566                 case 'n':               /* アドレスæƒ
    1567 å ±ã‚’再取得する。*/
     1508                case 'n':               /* アドレス情報を再取得する。*/
    15681509                        dhcp6c_renew_info();
    15691510                        break;
     
    15771518
    15781519#if defined(DHCP4_CLI_CFG)
    1579         case '4':               /* DHCPv4 の制御 */
     1520        case '4':               /* DHCPv4 の制御 */
    15801521                switch (*(line + 1)) {
    1581                 case 'r':               /* アドレスæƒ
    1582 å ±ã‚’解放する。*/
     1522                case 'r':               /* アドレス情報を解放する。*/
    15831523                        dhcp4c_rel_info();
    15841524                        break;
    15851525
    1586                 case 'n':               /* アドレスæƒ
    1587 å ±ã‚’再取得する。*/
     1526                case 'n':               /* アドレス情報を再取得する。*/
    15881527                        dhcp4c_renew_info();
    15891528                        break;
     
    16191558
    16201559/*
    1621  *  defrtrlist_status -- ディフォルトルータ・リスト状æ
    1622 ‹ã®å‡ºåŠ›
     1560 *  defrtrlist_status -- ディフォルトルータ・リスト状態の出力
    16231561 */
    16241562
     
    16391577        cons_printf(portid, " IP Address\n");
    16401578
    1641         /* expire の単位は [us]。*/
     1579        /* expire の単位は [us]。*/
    16421580        get_tim(&now);
    16431581        dr = nd6_get_drl(&count);
     
    16831621
    16841622/*
    1685  *  prefixlist_status -- プレフィックス・リスト状æ
    1686 ‹ã®å‡ºåŠ›
     1623 *  prefixlist_status -- プレフィックス・リスト状態の出力
    16871624 */
    16881625
     
    17031640        cons_printf(portid, " Len Prefix\n");
    17041641
    1705         /* expire の単位は [s]。*/
     1642        /* expire の単位は [s]。*/
    17061643        get_tim(&now);
    17071644        now /= SYSTIM_HZ;
     
    17521689
    17531690/*
    1754  *  routing6_table_status -- 経路表(IPv6)の出力
     1691 *  routing6_table_status -- 経路表(IPv6)の出力
    17551692 */
    17561693
     
    17751712                }
    17761713
    1777         /* expire の単位は [s]。*/
     1714        /* expire の単位は [s]。*/
    17781715        get_tim(&now);
    17791716        now /= SYSTIM_HZ;
     
    18031740
    18041741/*
    1805  *  routing4_table_status -- 経路表(IPv4)の出力
     1742 *  routing4_table_status -- 経路表(IPv4)の出力
    18061743 */
    18071744
     
    18561793
    18571794/*
    1858  *  routing_status -- 経路æƒ
    1859 å ±
     1795 *  routing_status -- 経路情報
    18601796 */
    18611797
     
    18671803#if defined(SUPPORT_INET6) && NUM_ND6_DEF_RTR_ENTRY > 0
    18681804
    1869         case 'l':               /* ディフォルトルータ・リストæƒ
    1870 å ± */
     1805        case 'l':               /* ディフォルトルータ・リスト情報 */
    18711806                defrtrlist_status(portid, line + 1);
    18721807                break;
    18731808
    1874         case 'p':               /* プレフィックス・リストæƒ
    1875 å ± */
     1809        case 'p':               /* プレフィックス・リスト情報 */
    18761810                prefixlist_status(portid, line + 1);
    18771811                break;
     
    18811815        default:
    18821816
    1883                 /* 経路表æƒ
    1884 å ± */
     1817                /* 経路表情報 */
    18851818
    18861819#if defined(SUPPORT_INET6) && NUM_IN6_ROUTE_ENTRY > 0
     
    18971830
    18981831/*
    1899  *  dbg_cons_network_status -- ネットワークの状æ
    1900 ‹ã®å‡ºåŠ›
     1832 *  dbg_cons_network_status -- ネットワークの状態の出力
    19011833 */
    19021834
     
    19081840#ifdef SUPPORT_ETHER
    19091841
    1910         case 'a':               /* IF アドレスæƒ
    1911 å ± */
     1842        case 'a':               /* IF アドレス情報 */
    19121843
    19131844#if defined(SUPPORT_INET6)
     
    19221853#endif  /* of #ifdef SUPPORT_ETHER */
    19231854
    1924         case 'b':               /* ネットワークバッファæƒ
    1925 å ± */
     1855        case 'b':               /* ネットワークバッファ情報 */
    19261856                nbuf_status(portid, line + 1);
    19271857                break;
     
    19291859#if NET_COUNT_ENABLE
    19301860
    1931         case 'c':               /* ネットワーク統計æƒ
    1932 å ± */
     1861        case 'c':               /* ネットワーク統計情報 */
    19331862                net_count(portid, line + 1);
    19341863                break;
     
    19361865#endif  /* of #if NET_COUNT_ENABLE */
    19371866
    1938         case 'r':               /* 経路æƒ
    1939 å ± */
     1867        case 'r':               /* 経路情報 */
    19401868                routing_status(portid, line + 1);
    19411869                break;
     
    19771905
    19781906/*
    1979  *  dbg_cons_ifconfig -- ネットワークインタフェースの構成æƒ
    1980 å ±
     1907 *  dbg_cons_ifconfig -- ネットワークインタフェースの構成情報
    19811908 */
    19821909
     
    20001927
    20011928/*
    2002  *  dbg_cons_ifconfig6 -- ネットワークインタフェース(IPv6)の構成æƒ
    2003 å ±
     1929 *  dbg_cons_ifconfig6 -- ネットワークインタフェース(IPv6)の構成情報
    20041930 */
    20051931
     
    20151941        WAI_NET_CONS_PRINTF();
    20161942
    2017         /* expire と vltime の単位は [s]。*/
     1943        /* expire と vltime の単位は [s]。*/
    20181944        get_tim(&now);
    20191945        now /= SYSTIM_HZ;
     
    20601986
    20611987/*
    2062  *  dbg_cons_ifconfig4 -- ネットワークインタフェース(IPv4)の構成æƒ
    2063 å ±
     1988 *  dbg_cons_ifconfig4 -- ネットワークインタフェース(IPv4)の構成情報
    20641989 */
    20651990
     
    21012026
    21022027/*
    2103  *  dbg_cons_show_config -- コンフィギュレーション設定の表示
     2028 *  dbg_cons_show_config -- コンフィギュレーション設定の表示
    21042029 */
    21052030
     
    25572482
    25582483/*
    2559  *  ping コマンド
     2484 *  ping コマンド
    25602485 */
    25612486
     
    26552580
    26562581/*
    2657  *  デバッグコマンド解析
     2582 *  デバッグコマンド解析
    26582583 */
    26592584
     
    32723197
    32733198/*
    3274  *  デバッグコンソールタスク
     3199 *  デバッグコンソールタスク
    32753200 */
    32763201
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/dbg_cons.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  デバッグコンソールのフィギュレーションファイル
     35 *  デバッグコンソールのフィギュレーションファイル
    4836 */
    4937
    5038#ifdef USE_DBG_CONS
    5139
    52 /* タスク */
     40/* タスク */
    5341
    5442CRE_TSK(DBG_CON_TASK, {
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/dbg_cons.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4836
    4937/*
    50  *  コンソール
     38 *  コンソール
    5139 */
    5240
    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               /* コンソールタスクの優先度 */
    5643
    5744/*
    58  *  タスク
     45 *  タスク
    5946 */
    6047
     
    6249
    6350/*
    64  *  関数
     51 *  関数
    6552 */
    6653
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/dhcp4.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4733 *
    4834 *  @(#) $Id$
     
    5339
    5440/*
    55  *  DHCP に関する定義
     41 *  DHCP に関する定義
    5642 *
    5743 *    RFC2131
     
    5945
    6046/*
    61  *  DHCP メッセージの定数の定義
     47 *  DHCP メッセージの定数の定義
    6248 */
    6349
     
    7460
    7561/*
    76  *  DHCP メッセージ
     62 *  DHCP メッセージ
    7763 */
    7864
     
    9581        } __attribute__((packed)) T_DHCP4_MSG;
    9682
    97 /* packet type の定義 */
     83/* packet type の定義 */
    9884
    9985#define DHCP4_REQUEST           UINT_C(1)
    10086#define DHCP4_REPLY             UINT_C(2)
    10187
    102 /* hardware address type の定義 */
     88/* hardware address type の定義 */
    10389
    10490#define DHCP4_HWA_TYPE_ETHER    UINT_C(1)
     
    10692
    10793/*
    108  *  DHCP オプション
     94 *  DHCP オプション
    10995 *
    11096 *    RFC1533
     
    11298
    11399/*
    114  *  オプションの穴埋め
     100 *  オプションの穴埋め
    115101 */
    116102#define DHCP4_OPT_PAD           UINT_C(0)
    117103
    118104/*
    119  *  サブネットマスク
     105 *  サブネットマスク
    120106 *
    121107 *     code   len   subnet mask
     
    127113
    128114/*
    129  *  ルータ
     115 *  ルータ
    130116 *
    131117 *     code   len   addres #1               address #2
     
    137123
    138124/*
    139  *  DNS サーバ
     125 *  DNS サーバ
    140126 *
    141127 *     code   len   addres #1               address #2
     
    147133
    148134/*
    149  *  ホスト名
     135 *  ホスト名
    150136 *
    151137 *     code   len   host name
     
    157143
    158144/*
    159  *  ドメイン名
     145 *  ドメイン名
    160146 *
    161147 *     code   len   domain name
     
    167153
    168154/*
    169  *  ルータ探索
     155 *  ルータ探索
    170156 *
    171157 *     code   len  value
     
    177163
    178164/*
    179  *  静的経路
     165 *  静的経路
    180166 *
    181167 *     code   len   destination #1          router #1
     
    187173
    188174/*
    189  *  ベンダー固有æƒ
    190 å ±
     175 *  ベンダー固有情報
    191176 *
    192177 *     code   len   vendor-specific informations
     
    199184
    200185/*
    201  *  NetBIOS over TCP/IP ネームサーバ
     186 *  NetBIOS over TCP/IP ネームサーバ
    202187 *
    203188 *     code   len   addres #1               address #2
     
    209194
    210195/*
    211  *  NetBIOS over TCP/IP ノードタイプ
     196 *  NetBIOS over TCP/IP ノードタイプ
    212197 *
    213198 *     code   len   type
     
    219204
    220205/*
    221  *  NetBIOS over TCP/IP スコープ
     206 *  NetBIOS over TCP/IP スコープ
    222207 *
    223208 *     code   len   NetBIOS scope
     
    229214
    230215/*
    231  *  特定の IPv4 アドレス要求
     216 *  特定の IPv4 アドレス要求
    232217 *
    233218 *     code   len   IPv4 address
     
    239224
    240225/*
    241  *  リース時間
     226 *  リース時間
    242227 *
    243228 *     code   len   lease time
     
    249234
    250235/*
    251  *  オプションオーバーロード
     236 *  オプションオーバーロード
    252237 *
    253238 *     code   len  value
     
    258243#define DHCP4_OPT_OPT_OVERLOAD  UINT_C(52)
    259244
    260 /* value の定義 */
     245/* value の定義 */
    261246
    262247#define DHCP4_OPTOL_FILE        UINT_C(0x01)
     
    265250
    266251/*
    267  *  DHCP メッセージタイプ
     252 *  DHCP メッセージタイプ
    268253 *
    269254 *     code   len   type
     
    274259#define DHCP4_OPT_MSG_TYPE      UINT_C(53)
    275260
    276 /* type の定義 */
     261/* type の定義 */
    277262
    278263#define DHCP4_MTYPE_BOOTP       UINT_C(0)
     
    287272
    288273/*
    289  *  サーバ ID
     274 *  サーバ ID
    290275 *
    291276 *     code   len   IPv4 address
     
    297282
    298283/*
    299  *  要求パラメータリスト
     284 *  要求パラメータリスト
    300285 *
    301286 *     code   len   option code
     
    308293
    309294/*
    310  *  Renewal (T1) 時間
     295 *  Renewal (T1) 時間
    311296 *
    312297 *     code   len   T1 interval
     
    318303
    319304/*
    320  *  Rebinding (T2) 時間
     305 *  Rebinding (T2) 時間
    321306 *
    322307 *     code   len   T2 interval
     
    328313
    329314/*
    330  *  ベンダークラス ID(RFC2132)
     315 *  ベンダークラス ID(RFC2132)
    331316 *
    332317 *     code   len   vendor class ID
     
    339324
    340325/*
    341  *  クライアント ID
     326 *  クライアント ID
    342327 *
    343328 *     code   len   type  client ID
     
    346331 *   +------+-----+-----+-----+-----+---
    347332 *
    348  *   type       : ハードウェアアドレスタイプ
    349  *   i1, i2, ...: 通常 MAC アドレス
     333 *   type       : ハードウェアアドレスタイプ
     334 *   i1, i2, ...: 通常 MAC アドレス
    350335 */
    351336#define DHCP4_OPT_CLIENT_ID     UINT_C(61)
    352337
    353338/*
    354  *  クラスなし静的経路(RFC3442)
     339 *  クラスなし静的経路(RFC3442)
    355340 *
    356341 *     code   len   destination #1     router #1
     
    362347
    363348/*
    364  *  オプションの終了
     349 *  オプションの終了
    365350 */
    366351#define DHCP4_OPT_END           UINT_C(255)
    367352
    368353/*
    369  *  magic 番号(RFC1048)
     354 *  magic 番号(RFC1048)
    370355 */
    371356
     
    374359
    375360/*
    376  *  UDP ポート番号
     361 *  UDP ポート番号
    377362 */
    378363
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/dhcp4_cli.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    9595 *                   Tomakomai National College of Technology, JAPAN
    9696 *
    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プロジェクトを免責すること.
    131118 *
    132  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    133 ãŠ
    134  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    135  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    136  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     119 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     120 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     121 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     122 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    137123 *
    138124 *  @(#) $Id$
     
    183169
    184170/*
    185  *  DHCP クライアントタスク
     171 *  DHCP クライアントタスク
    186172 */
    187173
     
    189175
    190176/*
    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
     180static T_DHCP4_CLI_CONTEXT      context;                        /* クライアントコンテキスト */
     181static uint8_t  magicno[DHCP4_MAGIC_LEN] = DHCP4_RFC1048_MAGIC; /* magic 番号(RFC1048)*/
     182
     183/* 必須オプションリスト */
    199184#ifdef DHCP4_CLI_CFG_REQUIRED_OLIST
    200185static uint8_t  required_plist[] = DHCP4_CLI_CFG_REQUIRED_OLIST;
    201186#endif
    202187
    203 /* 要求オプションリスト */
     188/* 要求オプションリスト */
    204189#ifdef DHCP4_CLI_CFG_REQUEST_OLIST
    205190static uint8_t  request_plist[] = DHCP4_CLI_CFG_REQUEST_OLIST;
     
    223208
    224209/*
    225  *  dhcp4_cksum -- チェックサムの計算関数
     210 *  dhcp4_cksum -- チェックサムの計算関数
    226211 */
    227212
    228213static uint32_t
    229 dhcp4_cksum (void *data, uint_t len /*オクテット単位*/)
     214dhcp4_cksum (void *data, uint_t len /*オクテット単位*/)
    230215{
    231216        uint32_t carry, sum = 0;
     
    245230
    246231/*
    247  *  create_xid -- トランザクション ID を生成する。
     232 *  create_xid -- トランザクション ID を生成する。
    248233 */
    249234
     
    261246
    262247/*
    263  *  find_option_sub -- 指定したオプションを探索する。
     248 *  find_option_sub -- 指定したオプションを探索する。
    264249 *
    265  *    注意: 引数 size が 0 の時はオプションサイズを検証しない。
     250 *    注意: 引数 size が 0 の時はオプションサイズを検証しない。
    266251 */
    267252
     
    298283
    299284/*
    300  *  find_option -- 指定したオプションを探索する。
     285 *  find_option -- 指定したオプションを探索する。
    301286 *
    302  *    注意: 引数 size が 0 の時はオプションサイズを検証しない。
     287 *    注意: 引数 size が 0 の時はオプションサイズを検証しない。
    303288 */
    304289
     
    312297
    313298/*
    314  *  is_equal_sid -- メッセージå†
    315 ã® SERVER ID を比較する。
     299 *  is_equal_sid -- メッセージ内の SERVER ID を比較する。
    316300 */
    317301
     
    330314
    331315/*
    332  *  timer_value -- メッセージから時間æƒ
    333 å ±ã‚’取り出す。
     316 *  timer_value -- メッセージから時間情報を取り出す。
    334317 */
    335318
     
    344327        else {
    345328
    346                 /* サーバからのリース時間は[s]。*/
     329                /* サーバからのリース時間は[s]。*/
    347330                seconds = msg2host32(opt + 2);
    348331
    349                 /* コンテキストå†
    350 ã®ãƒªãƒ¼ã‚¹æ™‚間は SYSTIM_HZ。*/
     332                /* コンテキスト内のリース時間は SYSTIM_HZ。*/
    351333                if (seconds == DHCP4_TIME_INFINITY)
    352334                        return DHCP4_TIME_INFINITY;
     
    359341
    360342/*
    361  *  rel_addr -- IPv4 アドレス、サブネットマスク、静的経路表を解放する。
     343 *  rel_addr -- IPv4 アドレス、サブネットマスク、静的経路表を解放する。
    362344 */
    363345
     
    402384
    403385/*
    404  *  rel_options -- リースされたオプションを解析して値を解放する。
     386 *  rel_options -- リースされたオプションを解析して値を解放する。
    405387 */
    406388
     
    468450
    469451/*
    470  *  rel_lease -- リースされたæƒ
    471 å ±ã‚’解放する。
     452 *  rel_lease -- リースされた情報を解放する。
    472453 */
    473454
     
    475456rel_lease (T_DHCP4_CLI_CONTEXT *ct)
    476457{
    477         /* 有効なリース・メッセージ構造体が無ければ何もしない。*/
     458        /* 有効なリース・メッセージ構造体が無ければ何もしない。*/
    478459        if (ct->act_msg == NULL)
    479460                return;
    480461
    481         /* リースされたオプションを解析して値を解放する。*/
     462        /* リースされたオプションを解析して値を解放する。*/
    482463        rel_options(ct, DHCP4_OPTION_OFFSET + DHCP4_MAGIC_LEN,
    483464                      ct->act_msg->len - (DHCP4_OPTION_OFFSET + DHCP4_MAGIC_LEN), true);
    484465        rel_addr();
    485466
    486         /* 有効なリース・メッセージ構造体を解放する。*/
     467        /* 有効なリース・メッセージ構造体を解放する。*/
    487468        syscall(rel_mpf(MPF_DHCP4_CLI_MSG, (void*)ct->act_msg));
    488469        ct->act_msg = NULL;
     
    490471
    491472/*
    492  *  set_addr -- IPv4 アドレス、サブネットマスク、静的経路表を設定する。
     473 *  set_addr -- IPv4 アドレス、サブネットマスク、静的経路表を設定する。
    493474 */
    494475
     
    529510
    530511/*
    531  *  set_options -- リースされたオプションを解析して値を設定する。
     512 *  set_options -- リースされたオプションを解析して値を設定する。
    532513 */
    533514
     
    602583
    603584/*
    604  *  set_lease -- リースされたæƒ
    605 å ±ã‚’設定する。
     585 *  set_lease -- リースされた情報を設定する。
    606586 */
    607587
     
    609589set_lease (T_DHCP4_CLI_CONTEXT *ct)
    610590{
    611         /* リースされたオプションを解析して値を設定する。*/
     591        /* リースされたオプションを解析して値を設定する。*/
    612592        set_options(ct, DHCP4_OPTION_OFFSET + DHCP4_MAGIC_LEN,
    613593                      ct->act_msg->len - (DHCP4_OPTION_OFFSET + DHCP4_MAGIC_LEN), true);
     
    615595
    616596/*
    617  *  validate_duplicate -- 指定された IPv4 アドレスが使われていないか検証する。
     597 *  validate_duplicate -- 指定された IPv4 アドレスが使われていないか検証する。
    618598 *
    619  *    使われていない時は true を返す。
     599 *    使われていない時は true を返す。
    620600 */
    621601
     
    625605        T_IN4_ADDR      yiaddr;
    626606
    627         /* 指定された IPv4 アドレスが ADDR ANY なら使われていないと判断する。*/
     607        /* 指定された IPv4 アドレスが ADDR ANY なら使われていないと判断する。*/
    628608        yiaddr = ntohl(msg->msg.yiaddr);
    629609        if (yiaddr == IPV4_ADDRANY)
    630610                return true;
    631611
    632         /* ARP キャッシュにあれば使われていると判断する。*/
     612        /* ARP キャッシュにあれば使われていると判断する。*/
    633613        if (arp_lookup(yiaddr, false) != NULL)
    634614                return false;
    635615
    636616        /*
    637          *  ARP 要求を出力して TMO_DHCP4C_ARP_WAIT å¾
    638 ã¡ã€
    639          *  ARP キャッシュになければ使われていないと判断する。
     617         *  ARP 要求を出力して TMO_DHCP4C_ARP_WAIT 待ち、
     618         *  ARP キャッシュになければ使われていないと判断する。
    640619         */
    641620        arp_request(&IF_ETHER_NIC_GET_SOFTC()->ifaddr, yiaddr);
     
    645624
    646625/*
    647  *  validate_rcv_msg -- 受信メッセージを検証する。
     626 *  validate_rcv_msg -- 受信メッセージを検証する。
    648627 */
    649628
     
    653632        uint8_t         *opt;
    654633
    655         /* packet type が DHCP4_REPLY であることを確認する。*/
     634        /* packet type が DHCP4_REPLY であることを確認する。*/
    656635        if (!(msg->msg.op == DHCP4_REPLY))
    657636                return false;
    658637
    659         /* メッセージタイプオプションがあることを確認する。*/
     638        /* メッセージタイプオプションがあることを確認する。*/
    660639        if ((opt = find_option(msg, DHCP4_OPT_MSG_TYPE, 1)) == NULL)
    661640                return E_PAR;
    662641
    663         /* メッセージのタイプが一致していることを検証する。*/
     642        /* メッセージのタイプが一致していることを検証する。*/
    664643        msg->type = *(opt + 2);
    665644        switch (ct->fsm) {
     
    691670                }
    692671
    693         /* マジック番号を検証する。*/
     672        /* マジック番号を検証する。*/
    694673        if (memcmp((uint8_t*)&msg->msg.options, magicno, DHCP4_MAGIC_LEN))
    695674                return E_PAR;
    696675
    697         /* トランザクション ID が異なっていればエラー */
     676        /* トランザクション ID が異なっていればエラー */
    698677        if (ntohl(msg->msg.xid) != ct->xid)
    699678                return E_PAR;
    700679
    701         /* ハードウェアアドレス長が 6(MAC アドレス長)でなければエラー */
     680        /* ハードウェアアドレス長が 6(MAC アドレス長)でなければエラー */
    702681        if (msg->msg.hlen != ETHER_ADDR_LEN)
    703682                return E_PAR;
    704683
    705         /* ハードウェアアドレスが異なっていればエラー */
     684        /* ハードウェアアドレスが異なっていればエラー */
    706685        if (memcmp(&msg->msg.chaddr, &ct->sc->ifaddr.lladdr, sizeof(ct->sc->ifaddr.lladdr)))
    707686                return E_PAR;
    708687
    709688        /*
    710          *  メッセージタイプが OFFER の場合は、
    711          *  ARP を使用して、指定された IPv4 アドレスが使われていないか検証する。
    712          *  使われている時は、他の IPv4 アドレスの提供をå¾
    713 ã¤ã€‚
     689         *  メッセージタイプが OFFER の場合は、
     690         *  ARP を使用して、指定された IPv4 アドレスが使われていないか検証する。
     691         *  使われている時は、他の IPv4 アドレスの提供を待つ。
    714692         */
    715693        if (msg->type == DHCP4_MTYPE_OFFER) {
     
    722700
    723701/*
    724  *  eval_prefer -- 受信メッセージの推奨度を評価する。
     702 *  eval_prefer -- 受信メッセージの推奨度を評価する。
    725703 */
    726704
     
    730708        int     ix;
    731709
    732         /* 無効の場合は終了する。*/
     710        /* 無効の場合は終了する。*/
    733711        if (msg == NULL)
    734712                return;
    735713
    736         /* 指定された IPv4 アドレスが ADDR ANY なら推奨度を 0に設定する。*/
     714        /* 指定された IPv4 アドレスが ADDR ANY なら推奨度を 0に設定する。*/
    737715        if (ntohl(msg->msg.yiaddr) == IPV4_ADDRANY)
    738716                msg->prefer = 0;
     
    742720#if defined(DHCP4_CLI_CFG_REQUEST_OLIST)
    743721
    744         /* 要求オプションを検証する。*/
     722        /* 要求オプションを検証する。*/
    745723        for (ix = sizeof(request_plist); ix -- > 0; ) {
    746724                if (find_option(msg, request_plist[ix], 0) != NULL)
     
    752730#if defined(DHCP4_CLI_CFG_REQUIRED_OLIST)
    753731
    754         /* å¿
    755 é ˆã‚ªãƒ—ションを検証する。*/
     732        /* 必須オプションを検証する。*/
    756733        for (ix = sizeof(required_plist); ix -- > 0; ) {
    757734                if (find_option(msg, required_plist[ix], 0) == NULL)
     
    763740
    764741/*
    765  *  eval_rcv_msg -- 受信メッセージを評価する。
     742 *  eval_rcv_msg -- 受信メッセージを評価する。
    766743 */
    767744
     
    771748        T_DHCP4_CLI_MSG *evl, *msg;
    772749
    773         /* メッセージを受信していなければ中止する。*/
     750        /* メッセージを受信していなければ中止する。*/
    774751        syscall(wai_sem(SEM_DHCP4_CLI_LOCK));
    775752        if (ct->val_lst == NULL) {
     
    778755                }
    779756
    780         /* 検証メッセージリストから評価メッセージを取り出す。*/
     757        /* 検証メッセージリストから評価メッセージを取り出す。*/
    781758        evl         = ct->val_lst;
    782759        ct->val_lst = ct->val_lst->next;
     
    784761        syscall(sig_sem(SEM_DHCP4_CLI_LOCK));
    785762
    786         /* 評価メッセージを検証する。*/
     763        /* 評価メッセージを検証する。*/
    787764        if (validate_rcv_msg(ct, evl) != E_OK) {
    788765
    789                 /* エラーが発生した評価メッセージを受信メッセージ構造体リストに戻す。*/
     766                /* エラーが発生した評価メッセージを受信メッセージ構造体リストに戻す。*/
    790767                goto rcv_ret;
    791768                }
    792769
    793         /* 受信したメッセージが NAK の時の処理 */
     770        /* 受信したメッセージが NAK の時の処理 */
    794771        if (evl->type == DHCP4_MTYPE_NAK) {
    795772
    796                 /* リースされたæƒ
    797 å ±ã‚’解放する。*/
     773                /* リースされた情報を解放する。*/
    798774                rel_lease(ct);
    799775
    800                 /* å†
    801 éƒ¨ã‚¨ãƒ©ãƒ¼ã‚’設定して終了する。*/
     776                /* 内部エラーを設定して終了する。*/
    802777                return E_PAR;
    803778                }
    804779
    805         /* REL_INFO 状æ
    806 ‹ã®æ™‚の処理 */
     780        /* REL_INFO 状態の時の処理 */
    807781        //cons_printf(CONSOLE_PORTID, "evl_rcv_msg3[s=%d]\n", ct->fsm);
    808782        if (ct->fsm == DHCP4_FSM_REL_INFO) {
     
    814788                }
    815789
    816         /* 評価メッセージの推奨度を評価する。*/
     790        /* 評価メッセージの推奨度を評価する。*/
    817791        eval_prefer(evl);
    818792
    819         /* 推奨メッセージリストが空なら評価メッセージを移して終了する。*/
     793        /* 推奨メッセージリストが空なら評価メッセージを移して終了する。*/
    820794        if (ct->prf_lst == NULL) {
    821795                ct->max_prefer = evl->prefer;
     
    824798                }
    825799
    826         /* 評価メッセージの推奨度と推奨メッセージリストの最大推奨度を比較する。*/
     800        /* 評価メッセージの推奨度と推奨メッセージリストの最大推奨度を比較する。*/
    827801        if (evl->prefer > ct->max_prefer) {
    828802
    829803                /*
    830                  *  評価メッセージの推奨度が推奨メッセージリストの最大推奨度より高ければ、
    831                  *  推奨メッセージリストを受信メッセージ構造体リストに戻し、
    832                  *  評価メッセージを推奨メッセージリストに移す。
     804                 *  評価メッセージの推奨度が推奨メッセージリストの最大推奨度より高ければ、
     805                 *  推奨メッセージリストを受信メッセージ構造体リストに戻し、
     806                 *  評価メッセージを推奨メッセージリストに移す。
    833807                 */
    834808                ct->max_prefer = evl->prefer;
     
    851825
    852826                                /*
    853                                  *  推奨メッセージリストに同じ DHCP4_OPT_SERVER_ID のメッセージがあれば、
    854                                  *  評価メッセージを受信メッセージ構造体リストに戻す。
     827                                 *  推奨メッセージリストに同じ DHCP4_OPT_SERVER_ID のメッセージがあれば、
     828                                 *  評価メッセージを受信メッセージ構造体リストに戻す。
    855829                                 */
    856830                                goto rcv_ret;
     
    859833
    860834                /*
    861                  *  評価メッセージを推奨メッセージリストに移す。
     835                 *  評価メッセージを推奨メッセージリストに移す。
    862836                 */
    863837                evl->next   = ct->prf_lst;
     
    868842        /*else */
    869843                /*
    870                  *  評価メッセージの推奨度が推奨メッセージリストの最大推奨度より低ければ、
    871                  *  評価メッセージを受信メッセージ構造体リストに戻す。
     844                 *  評価メッセージの推奨度が推奨メッセージリストの最大推奨度より低ければ、
     845                 *  評価メッセージを受信メッセージ構造体リストに戻す。
    872846                 */
    873847
     
    881855
    882856/*
    883  *  select_msg -- 推奨メッセージを選択する。
     857 *  select_msg -- 推奨メッセージを選択する。
    884858 */
    885859
     
    891865        syscall(wai_sem(SEM_DHCP4_CLI_LOCK));
    892866        if (ct->prf_lst == NULL) {
    893                 /* メッセージを受信していなければ中止する。*/
     867                /* メッセージを受信していなければ中止する。*/
    894868                syscall(sig_sem(SEM_DHCP4_CLI_LOCK));
    895869                return NULL;
    896870                }
    897871
    898         /* 推奨メッセージリストのå
    899 ˆé ­ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’選択する。*/
     872        /* 推奨メッセージリストの先頭のメッセージを選択する。*/
    900873        select = ct->prf_lst;
    901874        ct->prf_lst  = ct->prf_lst->next;
    902875        select->next = NULL;
    903876
    904         /* 選択されなかった検証メッセージを受信メッセージ構造体リストに戻す。*/
     877        /* 選択されなかった検証メッセージを受信メッセージ構造体リストに戻す。*/
    905878        if (ct->rcv_lst == NULL)
    906879                ct->rcv_lst = ct->prf_lst;
     
    915888
    916889/*
    917  *  select_ack -- ACK メッセージを検証する。
     890 *  select_ack -- ACK メッセージを検証する。
    918891 *
    919  *    受けå
    920 ¥ã‚Œã‚‹ã“とが可能の時は true を返す。
     892 *    受け入れることが可能の時は true を返す。
    921893 */
    922894
     
    929901                return false;
    930902
    931         /* 有効なリース・メッセージが残っていれば、受信メッセージ構造体リストに戻す。*/
     903        /* 有効なリース・メッセージが残っていれば、受信メッセージ構造体リストに戻す。*/
    932904        if (ct->act_msg != NULL) {
    933905                syscall(wai_sem(SEM_DHCP4_CLI_LOCK));
     
    937909                }
    938910
    939         /* 有効なリース・メッセージに設定する。*/
     911        /* 有効なリース・メッセージに設定する。*/
    940912        ct->act_msg = msg;
    941913        return true;
     
    943915
    944916/*
    945  *  select_offer -- OFFER メッセージを検証する。
     917 *  select_offer -- OFFER メッセージを検証する。
    946918 *
    947  *    受けå
    948 ¥ã‚Œã‚‹ã“とが可能の時は true を返す。
     919 *    受け入れることが可能の時は true を返す。
    949920 */
    950921
     
    956927
    957928/*
    958  *  cancel_all_timers -- å
    959 ¨ã¦ã® TIMER をキャンセルする。
     929 *  cancel_all_timers -- 全ての TIMER をキャンセルする。
    960930 */
    961931
     
    973943
    974944/*
    975  *  start_select -- DISCOVER メッセージを送信して SELECT 状æ
    976 ‹ã«é·ç§»ã™ã‚‹ã€‚
     945 *  start_select -- DISCOVER メッセージを送信して SELECT 状態に遷移する。
    977946 */
    978947
     
    980949start_select (T_DHCP4_CLI_CONTEXT *ct)
    981950{
    982         /* 送信を開始した時間を記録する。*/
     951        /* 送信を開始した時間を記録する。*/
    983952        get_tim(&ct->snd_start);
    984953
    985         /* OFFER メッセージ受信タイムアウトを設定する。*/
     954        /* OFFER メッセージ受信タイムアウトを設定する。*/
    986955        DHCP4_CLI_TIMER_LOCK();
    987956        ct->timers[DHCP4C_TIMER_RCV_OFFER] = SYSTIM2TIMER(TMO_DHCP4C_OFFER);
    988957        DHCP4_CLI_TIMER_UNLOCK();
    989958
    990         /* 送信å
    991 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ã«ãƒ­ãƒ¼ã‚«ãƒ«ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã¸ã®ãƒ–ロードキャストを設定する。*/
     959        /* 送信先アドレスにローカルネットワークへのブロードキャストを設定する。*/
    992960        ct->dst.ipaddr = IPV4_ADDRBROADCAST;
    993961
    994         /* 送信間隔をリセットする。*/
     962        /* 送信間隔をリセットする。*/
    995963        ct->interval = 0;
    996964
    997         /* SELECT 状æ
    998 ‹ã«é·ç§»ã™ã‚‹ã€‚*/
     965        /* SELECT 状態に遷移する。*/
    999966        ct->fsm = DHCP4_FSM_SELECT;
    1000967
    1001         /* DISCOVER メッセージを送信する。*/
     968        /* DISCOVER メッセージを送信する。*/
    1002969        ct->flags |= DHCP4C_FLAG_TMOUT_SND_DISC;
    1003970        DHCP4_CLI_READY_SIGNAL(ct);
     
    1005972
    1006973/*
    1007  *  start_bound -- BOUND 状æ
    1008 ‹ã«é·ç§»ã™ã‚‹ã€‚
     974 *  start_bound -- BOUND 状態に遷移する。
    1009975 */
    1010976
     
    1012978start_bound (T_DHCP4_CLI_CONTEXT *ct)
    1013979{
    1014         /* リースされたæƒ
    1015 å ±ã‚’設定する。*/
     980        /* リースされた情報を設定する。*/
    1016981        set_lease(ct);
    1017982
    1018         /* リースの有効時間を設定する。*/
     983        /* リースの有効時間を設定する。*/
    1019984        ct->expire = timer_value(ct->act_msg, DHCP4_OPT_LEASE_TIME, TMO_DHCP4C_DEF_LEASE);
    1020985
    1021         /* リース時間が TMO_DHCP4C_MIN_LEASE 以下の時は、TMO_DHCP4C_MIN_LEASE に設定する。*/
     986        /* リース時間が TMO_DHCP4C_MIN_LEASE 以下の時は、TMO_DHCP4C_MIN_LEASE に設定する。*/
    1022987        if (ct->expire < TMO_DHCP4C_MIN_LEASE)
    1023988                ct->expire = TMO_DHCP4C_MIN_LEASE;
    1024989
    1025         /* RENEW 状æ
    1026 ‹ã¾ã§ã®æ™‚間を設定する。*/
     990        /* RENEW 状態までの時間を設定する。*/
    1027991        ct->renew = timer_value(ct->act_msg, DHCP4_OPT_RENEWAL_T1, ct->expire / 2);
    1028992
    1029         /* REBIND 状æ
    1030 ‹ã¾ã§ã®æ™‚間を設定する。*/
     993        /* REBIND 状態までの時間を設定する。*/
    1031994        ct->rebind = timer_value(ct->act_msg, DHCP4_OPT_REBINDING_T2, ct->renew + ct->renew / 2 + ct->renew / 4);
    1032995
    1033         /* EXPIRE、RENEW、REBIND タイマーを設定する。*/
     996        /* EXPIRE、RENEW、REBIND タイマーを設定する。*/
    1034997        DHCP4_CLI_TIMER_LOCK();
    1035         ct->timers[DHCP4C_TIMER_EXPIRE] = SYSTIM2TIMER(ct->expire);             /* EXPIRE      までの時間 */
    1036         ct->timers[DHCP4C_TIMER_REBIND] = SYSTIM2TIMER(ct->rebind);             /* REBIND(T2)までの時間 */
    1037         ct->timers[DHCP4C_TIMER_RENEW]  = SYSTIM2TIMER(ct->renew);              /* RENEW (T1)までの時間 */
     998        ct->timers[DHCP4C_TIMER_EXPIRE] = SYSTIM2TIMER(ct->expire);             /* EXPIRE      までの時間 */
     999        ct->timers[DHCP4C_TIMER_REBIND] = SYSTIM2TIMER(ct->rebind);             /* REBIND(T2)までの時間 */
     1000        ct->timers[DHCP4C_TIMER_RENEW]  = SYSTIM2TIMER(ct->renew);              /* RENEW (T1)までの時間 */
    10381001        DHCP4_CLI_TIMER_UNLOCK();
    10391002
    1040         /* BOUND 状æ
    1041 ‹ã«é·ç§»ã™ã‚‹ã€‚*/
     1003        /* BOUND 状態に遷移する。*/
    10421004        ct->fsm = DHCP4_FSM_BOUND;
    10431005
    1044         /* BIND を開始した時間を記録する。*/
     1006        /* BIND を開始した時間を記録する。*/
    10451007        get_tim(&ct->bind_start);
    10461008        }
    10471009
    10481010/*
    1049  *  start_send_request -- REQUEST メッセージを送信して、指定された状æ
    1050 ‹ã«é·ç§»ã™ã‚‹ã€‚
     1011 *  start_send_request -- REQUEST メッセージを送信して、指定された状態に遷移する。
    10511012 */
    10521013
     
    10561017        T_IFNET *ifp = IF_GET_IFNET();
    10571018
    1058         /* 送信を開始した時間を記録する。*/
     1019        /* 送信を開始した時間を記録する。*/
    10591020        get_tim(&ct->snd_start);
    10601021
    1061         /* 遷移する状æ
    1062 ‹ãŒ RENEW 以外では ACK/NAK メッセージ受信タイムアウトを設定する。*/
     1022        /* 遷移する状態が RENEW 以外では ACK/NAK メッセージ受信タイムアウトを設定する。*/
    10631023        if (fsm != DHCP4_FSM_RENEW) {
    10641024                DHCP4_CLI_TIMER_LOCK();
     
    10681028
    10691029        /*
    1070          *  遷移する状æ
    1071 ‹ãŒ RENEW で、
    1072          *  SERVER ID オプションがあればローカルネットワークへのブロードキャストを送信する。
     1030         *  遷移する状態が RENEW で、
     1031         *  SERVER ID オプションがあればローカルネットワークへのブロードキャストを送信する。
    10731032         */
    10741033        if ((fsm == DHCP4_FSM_RENEW) &&
     
    10781037                ct->dst.ipaddr = IPV4_ADDRBROADCAST;
    10791038
    1080         /* 送信間隔をリセットする。*/
     1039        /* 送信間隔をリセットする。*/
    10811040        ct->interval = 0;
    10821041
    1083         /* 指定された状æ
    1084 ‹ã«é·ç§»ã™ã‚‹ã€‚*/
     1042        /* 指定された状態に遷移する。*/
    10851043        ct->fsm = fsm;
    10861044
    1087         /* REQUEST メッセージを送信する。*/
     1045        /* REQUEST メッセージを送信する。*/
    10881046        ct->flags |= DHCP4C_FLAG_TMOUT_SND_REQ;
    10891047        DHCP4_CLI_READY_SIGNAL(ct);
     
    10911049
    10921050/*
    1093  *  start_rel_info -- アドレスæƒ
    1094 å ±ã‚’解放する。
     1051 *  start_rel_info -- アドレス情報を解放する。
    10951052 *
    1096  *    注意: DHCPv4 の RFC2131 には無い
     1053 *    注意: DHCPv4 の RFC2131 には無い
    10971054 */
    10981055
     
    11001057start_rel_info (T_DHCP4_CLI_CONTEXT *ct)
    11011058{
    1102         /* å
    1103 ¨ã¦ã® TIMER をキャンセルする。*/
     1059        /* 全ての TIMER をキャンセルする。*/
    11041060        cancel_all_timers(ct);
    11051061
    1106         /* 有効なリースæƒ
    1107 å ±ãŒç„¡ã‘れば SLEEP に遷移する。*/
     1062        /* 有効なリース情報が無ければ SLEEP に遷移する。*/
    11081063        if (ct->act_msg == NULL) {
    11091064                ct->fsm = DHCP4_FSM_SLEEP;
     
    11111066                }
    11121067
    1113         /* 送信å
    1114 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ã«ãƒ­ãƒ¼ã‚«ãƒ«ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã¸ã®ãƒ–ロードキャストを設定する。*/
     1068        /* 送信先アドレスにローカルネットワークへのブロードキャストを設定する。*/
    11151069        ct->dst.ipaddr = IPV4_ADDRBROADCAST;
    11161070
    1117         /* RELEASE メッセージを送信する。*/
     1071        /* RELEASE メッセージを送信する。*/
    11181072        ct->flags |= DHCP4C_FLAG_TMOUT_SND_REL;
    11191073        DHCP4_CLI_READY_SIGNAL(ct);
     
    11211075
    11221076/*
    1123  *  setup_dhcp_com_msg -- DHCP メッセージのå
    1124 ±é€šéƒ¨åˆ†ã‚’作成する。
     1077 *  setup_dhcp_com_msg -- DHCP メッセージの共通部分を作成する。
    11251078 */
    11261079
     
    11331086        ct->snd_msg->len = sizeof(ct->snd_msg->msg);
    11341087
    1135         /* ヘッダ部を設定する。*/
     1088        /* ヘッダ部を設定する。*/
    11361089        ct->snd_msg->msg.op = op;
    11371090        ct->snd_msg->msg.htype = DHCP4_HWA_TYPE_ETHER;
     
    11391092        HOST2MSG32(ct->snd_msg->msg.xid, ct->xid);
    11401093
    1141         /* MAC アドレスを設定する。*/
     1094        /* MAC アドレスを設定する。*/
    11421095        memcpy(&ct->snd_msg->msg.chaddr, &ct->sc->ifaddr.lladdr, ETHER_ADDR_LEN);
    11431096
    11441097        /*
    1145          *  オプション部を設定する。
     1098         *  オプション部を設定する。
    11461099         */
    11471100
    1148         /* RFC1048 に定義されているマジック番号を設定する。*/
     1101        /* RFC1048 に定義されているマジック番号を設定する。*/
    11491102        memcpy(&ct->snd_msg->msg.options, magicno, DHCP4_MAGIC_LEN);
    11501103        option = ct->snd_msg->msg.options + DHCP4_MAGIC_LEN;
    11511104
    1152         /* DHCP メッセージタイプを設定する。*/
     1105        /* DHCP メッセージタイプを設定する。*/
    11531106        *(option ++) = DHCP4_OPT_MSG_TYPE;
    11541107        *(option ++) = 1;
     
    11591112
    11601113/*
    1161  *  setup_release_msg -- RELEASE メッセージを作成する。
     1114 *  setup_release_msg -- RELEASE メッセージを作成する。
    11621115 */
    11631116
     
    11671120        uint8_t *opt, *ref_opt;
    11681121
    1169         /* 有効なリース・メッセージがなければエラー */
     1122        /* 有効なリース・メッセージがなければエラー */
    11701123        if (ref == NULL)
    11711124                return E_PAR;
     
    11761129
    11771130        /*
    1178          *  サーバ ID(server-ip)を設定する。
    1179          *  RFC2131 4.4.1 Initialization and allocation of network address 参ç
    1180 §
     1131         *  サーバ ID(server-ip)を設定する。
     1132         *  RFC2131 4.4.1 Initialization and allocation of network address 参照
    11811133         */
    11821134        if ((ref_opt = find_option(ref, DHCP4_OPT_SERVER_ID, sizeof(T_IN4_ADDR))) == NULL)
     
    11881140
    11891141        /*
    1190          *  クライアント ID(MAC アドレス)を設定する。
    1191          *  RFC2131 4.4.1 Initialization and allocation of network address 参ç
    1192 §
     1142         *  クライアント ID(MAC アドレス)を設定する。
     1143         *  RFC2131 4.4.1 Initialization and allocation of network address 参照
    11931144         */
    11941145        *(opt ++) = DHCP4_OPT_CLIENT_ID;
     
    11981149        opt += ETHER_ADDR_LEN;
    11991150
    1200         /* オプションの終了を設定する。*/
     1151        /* オプションの終了を設定する。*/
    12011152        *(opt ++) = DHCP4_OPT_END;
    12021153
    12031154        /*
    1204          *  クライアント IP アドレス(ciaddr)を設定する。
    1205          *  RFC2131 4.4.1 Initialization and allocation of network address 参ç
    1206 §
     1155         *  クライアント IP アドレス(ciaddr)を設定する。
     1156         *  RFC2131 4.4.1 Initialization and allocation of network address 参照
    12071157         */
    12081158        HOST2MSG32(ct->snd_msg->msg.ciaddr, IF_GET_IFNET()->in4_ifaddr.addr);
    12091159
    1210         /* メッセージ長を設定する。*/
     1160        /* メッセージ長を設定する。*/
    12111161        ct->snd_msg->len = sizeof(ct->snd_msg->msg) - DHCP4_DFLT_OPT_LEN
    12121162                     + (opt - (uint8_t*)&ct->snd_msg->msg.options);
     
    12161166
    12171167/*
    1218  *  setup_request_msg -- REQUEST メッセージを作成する。
     1168 *  setup_request_msg -- REQUEST メッセージを作成する。
    12191169 */
    12201170
     
    12281178#endif
    12291179
    1230         /* 参ç
    1231 §ã™ã‚‹ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒãªã‘ればエラー */
     1180        /* 参照するメッセージがなければエラー */
    12321181        if (ref == NULL)
    12331182                return E_PAR;
     
    12391188#if defined(DHCP4_CLI_CFG_REQUIRED_OLIST) || defined(DHCP4_CLI_CFG_REQUEST_OLIST)
    12401189
    1241         /* 追加のオプションを設定する。*/
     1190        /* 追加のオプションを設定する。*/
    12421191
    12431192        *opt  = DHCP4_OPT_REQ_PARAM;
     
    12461195#if defined(DHCP4_CLI_CFG_REQUIRED_OLIST)
    12471196
    1248         /* 要求オプションリストを設定する。*/
     1197        /* 要求オプションリストを設定する。*/
    12491198        if (sizeof(required_plist) > 0) {
    12501199                memcpy(opt, required_plist, sizeof(required_plist));
     
    12571206#if defined(DHCP4_CLI_CFG_REQUEST_OLIST)
    12581207
    1259         /* 要求オプションリストを設定する。*/
     1208        /* 要求オプションリストを設定する。*/
    12601209        if (sizeof(request_plist) > 0) {
    12611210                memcpy(opt, request_plist, sizeof(request_plist));
     
    12711220
    12721221        /*
    1273          *  サーバ ID(server-ip)を設定する。
    1274          *  RFC2131 4.4.1 Initialization and allocation of network address 参ç
    1275 §
     1222         *  サーバ ID(server-ip)を設定する。
     1223         *  RFC2131 4.4.1 Initialization and allocation of network address 参照
    12761224         */
    12771225        if (ct->fsm == DHCP4_FSM_REQUEST) {
     
    12851233
    12861234        /*
    1287          *  要求 IP アドレス(requested-ip)を設定する。
    1288          *  RFC2131 4.4.1 Initialization and allocation of network address 参ç
    1289 §
    1290          *  RFC2131 では、DHCP4_FSM_RENEW の時 MUST NOT になっているが、
    1291          *  MUST のようである。
     1235         *  要求 IP アドレス(requested-ip)を設定する。
     1236         *  RFC2131 4.4.1 Initialization and allocation of network address 参照
     1237         *  RFC2131 では、DHCP4_FSM_RENEW の時 MUST NOT になっているが、
     1238         *  MUST のようである。
    12921239         */
    12931240        *(opt ++) = DHCP4_OPT_REQ_IPV4;
     
    12951242        if (ct->fsm == DHCP4_FSM_REQUEST || ct->fsm == DHCP4_FSM_INIT_REBOOT ||
    12961243            ct->fsm == DHCP4_FSM_RENEW   || ct->fsm == DHCP4_FSM_REBIND)
    1297                 /* 参ç
    1298 §ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã¨åŒã˜ IP アドレス(requested-ip)を要求する。*/
     1244                /* 参照メッセージと同じ IP アドレス(requested-ip)を要求する。*/
    12991245                memcpy(opt, (uint8_t*)&ref->msg.yiaddr, sizeof(ref->msg.yiaddr));
    13001246        else
     
    13031249
    13041250        /*
    1305          *  クライアント ID(MAC アドレス)を設定する。
    1306          *  RFC2131 4.4.1 Initialization and allocation of network address 参ç
    1307 §
     1251         *  クライアント ID(MAC アドレス)を設定する。
     1252         *  RFC2131 4.4.1 Initialization and allocation of network address 参照
    13081253         */
    13091254        *(opt ++) = DHCP4_OPT_CLIENT_ID;
     
    13131258        opt += ETHER_ADDR_LEN;
    13141259
    1315         /* オプションの終了を設定する。*/
     1260        /* オプションの終了を設定する。*/
    13161261        *(opt ++) = DHCP4_OPT_END;
    13171262
    13181263        /*
    1319          *  クライアント IP アドレス(ciaddr)を設定する。
    1320          *  RFC2131 4.4.1 Initialization and allocation of network address 参ç
    1321 §
     1264         *  クライアント IP アドレス(ciaddr)を設定する。
     1265         *  RFC2131 4.4.1 Initialization and allocation of network address 参照
    13221266         */
    13231267        if (ct->fsm == DHCP4_FSM_RENEW || ct->fsm == DHCP4_FSM_REBIND)
     
    13261270                HOST2MSG32(ct->snd_msg->msg.ciaddr, IPV4_ADDRANY);
    13271271
    1328         /* メッセージ長を設定する。*/
     1272        /* メッセージ長を設定する。*/
    13291273        ct->snd_msg->len = sizeof(ct->snd_msg->msg) - DHCP4_DFLT_OPT_LEN
    13301274                     + (opt - (uint8_t*)&ct->snd_msg->msg.options);
     
    13331277
    13341278/*
    1335  *  setup_discover_msg -- DISCOVER メッセージを作成する。
     1279 *  setup_discover_msg -- DISCOVER メッセージを作成する。
    13361280 */
    13371281
     
    13511295#if defined(DHCP4_CLI_CFG_REQUIRED_OLIST) || defined(DHCP4_CLI_CFG_REQUEST_OLIST)
    13521296
    1353         /* 追加のオプションを設定する。*/
     1297        /* 追加のオプションを設定する。*/
    13541298
    13551299        *opt  = DHCP4_OPT_REQ_PARAM;
     
    13581302#if defined(DHCP4_CLI_CFG_REQUIRED_OLIST)
    13591303
    1360         /* 要求オプションリストを設定する。*/
     1304        /* 要求オプションリストを設定する。*/
    13611305        if (sizeof(required_plist) > 0) {
    13621306                memcpy(opt, required_plist, sizeof(required_plist));
     
    13691313#if defined(DHCP4_CLI_CFG_REQUEST_OLIST)
    13701314
    1371         /* 要求オプションリストを設定する。*/
     1315        /* 要求オプションリストを設定する。*/
    13721316        if (sizeof(request_plist) > 0) {
    13731317                memcpy(opt, request_plist, sizeof(request_plist));
     
    13821326#endif  /* of #if defined(DHCP4_CLI_CFG_REQUIRED_OLIST) || defined(DHCP4_CLI_CFG_REQUEST_OLIST) */
    13831327
    1384         /* 既にアドレスæƒ
    1385 å ±ãŒãƒªãƒ¼ã‚¹ã•ã‚Œã¦ã„れば、同じ IP アドレスを要求する。*/
     1328        /* 既にアドレス情報がリースされていれば、同じ IP アドレスを要求する。*/
    13861329        if (ct->act_msg != NULL) {
    13871330                *(opt ++) = DHCP4_OPT_REQ_IPV4;
     
    13911334                }
    13921335
    1393         /* クライアント ID(MAC アドレス)を設定する。*/
     1336        /* クライアント ID(MAC アドレス)を設定する。*/
    13941337        *(opt ++) = DHCP4_OPT_CLIENT_ID;
    13951338        *(opt ++) = ETHER_ADDR_LEN + 1;
     
    13981341        opt += ETHER_ADDR_LEN;
    13991342
    1400         /* オプションの終了を設定する。*/
     1343        /* オプションの終了を設定する。*/
    14011344        *(opt ++) = DHCP4_OPT_END;
    14021345
    1403         /* 送信å
    1404 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’設定する。*/
     1346        /* 送信先アドレスを設定する。*/
    14051347        ct->dst.ipaddr = IPV4_ADDRBROADCAST;
    14061348
    1407         /* メッセージ長を設定する。*/
     1349        /* メッセージ長を設定する。*/
    14081350        ct->snd_msg->len = sizeof(ct->snd_msg->msg) - DHCP4_DFLT_OPT_LEN
    14091351                     + (opt - (uint8_t*)&ct->snd_msg->msg.options);
     
    14121354
    14131355/*
    1414  *  ack_msg_timeout -- ACK/NAK メッセージ受信タイムアウト処理
     1356 *  ack_msg_timeout -- ACK/NAK メッセージ受信タイムアウト処理
    14151357 */
    14161358
     
    14181360ack_msg_timeout (T_DHCP4_CLI_CONTEXT *ct)
    14191361{
    1420         /* ACK メッセージを受信していれば。BOUND 状æ
    1421 ‹ã«é·ç§»ã™ã‚‹ã€‚*/
     1362        /* ACK メッセージを受信していれば。BOUND 状態に遷移する。*/
    14221363        ct->flags &= ~DHCP4C_FLAG_TMOUT_MASK;
    14231364        if (select_ack(ct)) {
    14241365
    1425                 /* REQUEST メッセージ送信タイマーを停止する。*/
     1366                /* REQUEST メッセージ送信タイマーを停止する。*/
    14261367                DHCP4_CLI_TIMER_LOCK();
    14271368                ct->timers[DHCP4C_TIMER_SND_REQ] = 0;
     
    14291370
    14301371                /*
    1431                  *  状æ
    1432 ‹ãŒ REQUEST の時は、
    1433                  *  OFFER メッセージを受信メッセージ構造体リストに戻す。
     1372                 *  状態が REQUEST の時は、
     1373                 *  OFFER メッセージを受信メッセージ構造体リストに戻す。
    14341374                 */
    14351375                if (ct->fsm == DHCP4_FSM_REQUEST && ct->off_msg != NULL) {
     
    14411381                        }
    14421382
    1443                 /* BOUND 状æ
    1444 ‹ã«é·ç§»ã™ã‚‹ã€‚*/
     1383                /* BOUND 状態に遷移する。*/
    14451384                start_bound(ct);
    14461385                return;
     
    14481387        else {
    14491388
    1450                 /* リースæƒ
    1451 å ±ã‚’解放する。*/
     1389                /* リース情報を解放する。*/
    14521390                rel_lease(ct);
    14531391
     
    14571395
    14581396/*
    1459  *  send_request_msg -- REQUEST メッセージを送信する。
     1397 *  send_request_msg -- REQUEST メッセージを送信する。
    14601398 */
    14611399
     
    14691407        uint16_t        secs;
    14701408
    1471         /* タイムアウトフラグをクリアーする。*/
     1409        /* タイムアウトフラグをクリアーする。*/
    14721410        ct->flags &= ~DHCP4C_FLAG_TMOUT_MASK;
    14731411
    1474         /* ACK メッセージを受信していれば。BOUND 状æ
    1475 ‹ã«é·ç§»ã™ã‚‹ã€‚*/
     1412        /* ACK メッセージを受信していれば。BOUND 状態に遷移する。*/
    14761413        ct->flags &= ~DHCP4C_FLAG_TMOUT_MASK;
    14771414        if (select_ack(ct)) {
    14781415
    1479                 /* ACK/NAK メッセージ受信タイマーを停止する。*/
     1416                /* ACK/NAK メッセージ受信タイマーを停止する。*/
    14801417                DHCP4_CLI_TIMER_LOCK();
    14811418                ct->timers[DHCP4C_TIMER_RCV_ACK] = 0;
     
    14831420
    14841421                /*
    1485                  *  状æ
    1486 ‹ãŒ REQUEST の時は、
    1487                  *  OFFER メッセージを受信メッセージ構造体リストに戻す。
     1422                 *  状態が REQUEST の時は、
     1423                 *  OFFER メッセージを受信メッセージ構造体リストに戻す。
    14881424                 */
    14891425                if (ct->fsm == DHCP4_FSM_REQUEST && ct->off_msg != NULL) {
     
    14951431                        }
    14961432
    1497                 /* BOUND 状æ
    1498 ‹ã«é·ç§»ã™ã‚‹ã€‚*/
     1433                /* BOUND 状態に遷移する。*/
    14991434                start_bound(ct);
    15001435                return;
    15011436                }
    15021437
    1503         /* REQUEST メッセージを作成する。*/
     1438        /* REQUEST メッセージを作成する。*/
    15041439        if (ct->fsm == DHCP4_FSM_REQUEST)
    15051440                ref = ct->off_msg;
     
    15121447                }
    15131448
    1514         /* 送信を開始してからの時間を得る。*/
     1449        /* 送信を開始してからの時間を得る。*/
    15151450        get_tim(&time);
    15161451        interval = time - ct->snd_start;
    15171452
    15181453        /*
    1519          * 送信を開始してからの時間(秒)をメッセージに設定する。
    1520          * 最大値は 65535。
     1454         * 送信を開始してからの時間(秒)をメッセージに設定する。
     1455         * 最大値は 65535。
    15211456         */
    15221457        if (ct->fsm == DHCP4_FSM_REQUEST)
     
    15301465        HOST2MSG16(ct->snd_msg->msg.secs, secs);
    15311466
    1532         /* ノンブロッキングコールでメッセージを送信する。*/
     1467        /* ノンブロッキングコールでメッセージを送信する。*/
    15331468        error = udp_snd_dat(ct->cepid, &ct->dst, &ct->snd_msg->msg, ct->snd_msg->len, TMO_NBLK);
    15341469        if (error != E_WBLK) {
     
    15381473                }
    15391474
    1540         /* 送信間隔を設定する。*/
     1475        /* 送信間隔を設定する。*/
    15411476        if (ct->interval == 0)
    1542                 /* 未設定 */
     1477                /* 未設定 */
    15431478                ct->interval = TMO_DHCP4C_INIT_INTVL;
    15441479        else
    1545                 /* バックオフアルゴリズムで 2倍にした(乱数使用)送信間隔を加算する。*/
     1480                /* バックオフアルゴリズムで 2倍にした(乱数使用)送信間隔を加算する。*/
    15461481                ct->interval += (netapp_rand() >> 2) % (ct->interval << 1);
    15471482       
    1548         /* 送信周期の制限値をè¶
    1549 ãˆãªã„ようにする。*/
     1483        /* 送信周期の制限値を超えないようにする。*/
    15501484        if (ct->interval > TMO_DHCP4C_MAX_BACKOFF)
    15511485                ct->interval = (TMO_DHCP4C_MAX_BACKOFF >> 1) + ((netapp_rand() >> 2) % TMO_DHCP4C_MAX_BACKOFF);
    15521486
    1553         /* リース時間のタイムアウト【å
    1554 ˆé€ã‚Šã€‘ */
     1487        /* リース時間のタイムアウト【先送り】 */
    15551488        if (ct->fsm != DHCP4_FSM_REQUEST &&
    15561489            TIMEC_GT(ct->interval + time, ct->expire + ct->bind_start))
    15571490                ct->interval = ct->expire + ct->bind_start - time + SYSTIM_HZ;
    15581491
    1559         /* 再送信タイムアウトを設定する。*/
     1492        /* 再送信タイムアウトを設定する。*/
    15601493        DHCP4_CLI_TIMER_LOCK();
    15611494        ct->timers[DHCP4C_TIMER_SND_REQ] = SYSTIM2TIMER(ct->interval);
     
    15641497
    15651498/*
    1566  *  send_release_msg -- RELEASE メッセージを送信する。
     1499 *  send_release_msg -- RELEASE メッセージを送信する。
    15671500 */
    15681501
     
    15721505        ER              error;
    15731506
    1574         /* タイムアウトフラグをクリアーする。*/
     1507        /* タイムアウトフラグをクリアーする。*/
    15751508        ct->flags &= ~DHCP4C_FLAG_TMOUT_MASK;
    15761509
    1577         /* RELEASE メッセージを作成する。*/
     1510        /* RELEASE メッセージを作成する。*/
    15781511        if ((error = setup_release_msg(ct, ct->act_msg)) != E_OK) {
    15791512                syslog(LOG_NOTICE, "[DHCP4C] error, setup release message: %s", itron_strerror(error));
     
    15821515                }
    15831516
    1584         /* リースæƒ
    1585 å ±ã‚’解放する。*/
     1517        /* リース情報を解放する。*/
    15861518        rel_lease(ct);
    15871519
    1588         /* ノンブロッキングコールでメッセージを送信する。*/
     1520        /* ノンブロッキングコールでメッセージを送信する。*/
    15891521        error = udp_snd_dat(ct->cepid, &ct->dst, &ct->snd_msg->msg, ct->snd_msg->len, TMO_NBLK);
    15901522        if (error != E_WBLK) {
     
    15941526                }
    15951527
    1596         /* メッセージ送信å¾
    1597 ã¡ã‚’行う。*/
     1528        /* メッセージ送信待ちを行う。*/
    15981529        DHCP4_CLI_READY_WAIT(ct);
    15991530
    1600         /* SLEEP 状æ
    1601 ‹ã«é·ç§»ã™ã‚‹ã€‚*/
     1531        /* SLEEP 状態に遷移する。*/
    16021532        ct->fsm = DHCP4_FSM_SLEEP;
    16031533        }
    16041534
    16051535/*
    1606  *  offer_msg_timeout -- OFFER メッセージ受信タイムアウト処理
     1536 *  offer_msg_timeout -- OFFER メッセージ受信タイムアウト処理
    16071537 */
    16081538
     
    16101540offer_msg_timeout (T_DHCP4_CLI_CONTEXT *ct)
    16111541{
    1612         /* OFFER メッセージを受信していれば。REQUEST 状æ
    1613 ‹ã«é·ç§»ã™ã‚‹ã€‚*/
     1542        /* OFFER メッセージを受信していれば。REQUEST 状態に遷移する。*/
    16141543        ct->flags &= ~DHCP4C_FLAG_TMOUT_MASK;
    16151544        if (select_offer(ct)) {
    16161545
    1617                 /* DISCOVER メッセージ送信タイマーを停止する。*/
     1546                /* DISCOVER メッセージ送信タイマーを停止する。*/
    16181547                DHCP4_CLI_TIMER_LOCK();
    16191548                ct->timers[DHCP4C_TIMER_SND_DISC] = 0;
    16201549                DHCP4_CLI_TIMER_UNLOCK();
    16211550
    1622                 /* REQUEST メッセージを送信して REQUEST 状æ
    1623 ‹ã«é·ç§»ã™ã‚‹ã€‚*/
     1551                /* REQUEST メッセージを送信して REQUEST 状態に遷移する。*/
    16241552                start_send_request(ct, DHCP4_FSM_REQUEST);
    16251553                }
     
    16291557
    16301558/*
    1631  *  send_discover_msg -- DISCOVERメッセージを送信する。
     1559 *  send_discover_msg -- DISCOVERメッセージを送信する。
    16321560 */
    16331561
     
    16391567        RELTIM  interval;
    16401568
    1641         /* タイムアウトフラグをクリアーする。*/
     1569        /* タイムアウトフラグをクリアーする。*/
    16421570        ct->flags &= ~DHCP4C_FLAG_TMOUT_MASK;
    16431571
    1644         /* OFFER メッセージを受信していれば。REQUEST 状æ
    1645 ‹ã«é·ç§»ã™ã‚‹ã€‚*/
     1572        /* OFFER メッセージを受信していれば。REQUEST 状態に遷移する。*/
    16461573        ct->flags &= ~DHCP4C_FLAG_TMOUT_MASK;
    16471574        if (select_offer(ct)) {
    16481575
    1649                 /* OFFER メッセージ受信タイマーを停止する。*/
     1576                /* OFFER メッセージ受信タイマーを停止する。*/
    16501577                DHCP4_CLI_TIMER_LOCK();
    16511578                ct->timers[DHCP4C_TIMER_RCV_OFFER] = 0;
    16521579                DHCP4_CLI_TIMER_UNLOCK();
    16531580
    1654                 /* REQUEST メッセージを送信して REQUEST 状æ
    1655 ‹ã«é·ç§»ã™ã‚‹ã€‚*/
     1581                /* REQUEST メッセージを送信して REQUEST 状態に遷移する。*/
    16561582                start_send_request(ct, DHCP4_FSM_REQUEST);
    16571583                return;
    16581584                }
    16591585
    1660         /* DISCOVER メッセージを作成する。*/
     1586        /* DISCOVER メッセージを作成する。*/
    16611587        if ((error = setup_discover_msg(ct)) != E_OK) {
    16621588                syslog(LOG_NOTICE, "[DHCP4C] error, setup discover message: %s", itron_strerror(error));
     
    16651591                }
    16661592
    1667         /* 送信を開始してからの時間を得る。*/
     1593        /* 送信を開始してからの時間を得る。*/
    16681594        get_tim(&time);
    16691595        interval = time - ct->snd_start;
    16701596
    16711597        /*
    1672          * 送信を開始してからの時間(秒)をメッセージに設定する。
    1673          * 最大値は 65535。
     1598         * 送信を開始してからの時間(秒)をメッセージに設定する。
     1599         * 最大値は 65535。
    16741600         */
    16751601        if (SYSTIM2SEC(interval) < 65536)
     
    16791605        HOST2MSG16(ct->snd_msg->msg.secs, ct->secs);
    16801606
    1681         /* ノンブロッキングコールでメッセージを送信する。*/
     1607        /* ノンブロッキングコールでメッセージを送信する。*/
    16821608        error = udp_snd_dat(ct->cepid, &ct->dst, &ct->snd_msg->msg, ct->snd_msg->len, TMO_NBLK);
    16831609        if (error != E_WBLK) {
     
    16871613                }
    16881614
    1689         /* 送信間隔を設定する。*/
     1615        /* 送信間隔を設定する。*/
    16901616        if (ct->interval == 0)
    1691                 /* 未設定 */
     1617                /* 未設定 */
    16921618                ct->interval = TMO_DHCP4C_INIT_INTVL;
    16931619        else
    1694                 /* バックオフアルゴリズムで 2倍にした(乱数使用)送信間隔を加算する。*/
     1620                /* バックオフアルゴリズムで 2倍にした(乱数使用)送信間隔を加算する。*/
    16951621                ct->interval += (netapp_rand() >> 2) % (ct->interval << 1);
    16961622       
    1697         /* 送信周期の制限値をè¶
    1698 ãˆãªã„ようにする。*/
     1623        /* 送信周期の制限値を超えないようにする。*/
    16991624        if (ct->interval > TMO_DHCP4C_MAX_BACKOFF)
    17001625                ct->interval = (TMO_DHCP4C_MAX_BACKOFF >> 1) + ((netapp_rand() >> 2) % TMO_DHCP4C_MAX_BACKOFF);
    17011626
    1702         /* OFFER メッセージの受信タイムアウトをè¶
    1703 ãˆãªã„ように調整する。*/
     1627        /* OFFER メッセージの受信タイムアウトを超えないように調整する。*/
    17041628        if (TIMEC_GT(time + ct->interval, ct->snd_start + TMO_DHCP4C_OFFER))
    17051629                ct->interval = (TMO_DHCP4C_INIT_INTVL + TMO_DHCP4C_OFFER) - time + 1;
    17061630
    1707         /* 再送信タイムアウトを設定する。*/
     1631        /* 再送信タイムアウトを設定する。*/
    17081632        DHCP4_CLI_TIMER_LOCK();
    17091633        ct->timers[DHCP4C_TIMER_SND_DISC] = SYSTIM2TIMER(ct->interval);
     
    17141638
    17151639/*
    1716  *  dhcpc_timer -- TIMER 管理
     1640 *  dhcpc_timer -- TIMER 管理
    17171641 */
    17181642
     
    17341658        DHCP4_CLI_TIMER_UNLOCK();
    17351659
    1736         /* 1秒毎にタイムアウトする。*/
     1660        /* 1秒毎にタイムアウトする。*/
    17371661        timeout((callout_func)dhcpc_timer, ct, NET_TIMER_HZ);
    17381662        }
     
    17411665
    17421666/*
    1743  *  expire_timeout -- EXPIRE タイムアウト処理
     1667 *  expire_timeout -- EXPIRE タイムアウト処理
    17441668 */
    17451669
     
    17491673        //ER    error;
    17501674
    1751         /* タイムアウトフラグをクリアーする。*/
     1675        /* タイムアウトフラグをクリアーする。*/
    17521676        ct->flags &= ~DHCP4C_FLAG_TMOUT_MASK;
    17531677
    1754         /* 状æ
    1755 ‹ãŒ REQUEST の時は何もしない。*/
     1678        /* 状態が REQUEST の時は何もしない。*/
    17561679        if (ct->fsm == DHCP4_FSM_REQUEST)
    17571680                return;
    17581681
    1759         /* å
    1760 ¨ã¦ã® TIMER をキャンセルする。*/
     1682        /* 全ての TIMER をキャンセルする。*/
    17611683        cancel_all_timers(ct);
    17621684
    1763         /* リースされたæƒ
    1764 å ±ã‚’解放する。*/
     1685        /* リースされた情報を解放する。*/
    17651686        rel_lease(ct);
    17661687
     
    17691690
    17701691/*
    1771  *  rebind_timeout -- REBIND タイムアウト処理
     1692 *  rebind_timeout -- REBIND タイムアウト処理
    17721693 */
    17731694
     
    17751696rebind_timeout (T_DHCP4_CLI_CONTEXT *ct)
    17761697{
    1777         /* タイムアウトフラグをクリアーする。*/
     1698        /* タイムアウトフラグをクリアーする。*/
    17781699        ct->flags &= ~DHCP4C_FLAG_TMOUT_MASK;
    17791700
    1780         /* å
    1781 ¨ã¦ã® TIMER をキャンセルする。*/
     1701        /* 全ての TIMER をキャンセルする。*/
    17821702        cancel_all_timers(ct);
    17831703
    1784         /* REQUEST メッセージを送信して REBIND 状æ
    1785 ‹ã«é·ç§»ã™ã‚‹ã€‚*/
     1704        /* REQUEST メッセージを送信して REBIND 状態に遷移する。*/
    17861705        start_send_request(ct, DHCP4_FSM_REBIND);
    17871706        }
    17881707
    17891708/*
    1790  *  renew_timeout -- RENEW タイムアウト処理
     1709 *  renew_timeout -- RENEW タイムアウト処理
    17911710 */
    17921711
     
    17941713renew_timeout (T_DHCP4_CLI_CONTEXT *ct)
    17951714{
    1796         /* タイムアウトフラグをクリアーする。*/
     1715        /* タイムアウトフラグをクリアーする。*/
    17971716        ct->flags &= ~DHCP4C_FLAG_TMOUT_MASK;
    17981717
    1799         /* REQUEST メッセージを送信して RENEW 状æ
    1800 ‹ã«é·ç§»ã™ã‚‹ã€‚*/
     1718        /* REQUEST メッセージを送信して RENEW 状態に遷移する。*/
    18011719        start_send_request(ct, DHCP4_FSM_RENEW);
    18021720        }
    18031721
    18041722/*
    1805  *  dispatch_timeout -- タイムアウトした時の処理
     1723 *  dispatch_timeout -- タイムアウトした時の処理
    18061724 */
    18071725
     
    18531771
    18541772/*
    1855  *  dispatch_event -- イベント毎の処理
     1773 *  dispatch_event -- イベント毎の処理
    18561774 */
    18571775
     
    18631781        while (ct->fsm != DHCP4_FSM_SLEEP && error == E_OK) {
    18641782
    1865                 /* メッセージの受信とタイムアウトをå¾
    1866 ã¤ã€‚*/
     1783                /* メッセージの受信とタイムアウトを待つ。*/
    18671784                DHCP4_CLI_READY_WAIT(ct);
    18681785
     
    18861803
    18871804/*
    1888  *  init_context -- DHCP クライアントコンテキスト構造体を初期化する。
     1805 *  init_context -- DHCP クライアントコンテキスト構造体を初期化する。
    18891806 */
    18901807
     
    19011818
    19021819/*
    1903  *  rel_cli_msg -- メッセージ構造体を解放する。
     1820 *  rel_cli_msg -- メッセージ構造体を解放する。
    19041821 */
    19051822
     
    19331850
    19341851/*
    1935  *  init_cli_msg -- 各メッセージ構造体を初期化する。
     1852 *  init_cli_msg -- 各メッセージ構造体を初期化する。
    19361853 */
    19371854
     
    19431860        int             count;
    19441861
    1945         /* 送信メッセージ構造体を獲得する。*/
     1862        /* 送信メッセージ構造体を獲得する。*/
    19461863        if ((error = tget_mpf(MPF_DHCP4_CLI_MSG, (void*)&ct->snd_msg, TMO_DHCP4C_MPF_GET)) != E_OK) {
    19471864                syslog(LOG_NOTICE, "[DHCP4C] error, tget_mpf() for send: %s.", itron_strerror(error));
     
    19501867
    19511868        /*
    1952          *  有効なリース・メッセージ構造体がある場合は、
    1953          *  獲得する受信メッセージ構造体リストの構造体を 1減らす。
     1869         *  有効なリース・メッセージ構造体がある場合は、
     1870         *  獲得する受信メッセージ構造体リストの構造体を 1減らす。
    19541871         */
    19551872        if (ct->act_msg == NULL)
     
    19581875                count = NUM_DHCP4_MSG_LIST - 1;
    19591876
    1960         /* 受信メッセージ構造体を獲得する。*/
     1877        /* 受信メッセージ構造体を獲得する。*/
    19611878        while (count --> 0) {
    19621879                if ((error = tget_mpf(MPF_DHCP4_CLI_MSG, (void*)&cell, TMO_DHCP4C_MPF_GET)) != E_OK) {
     
    19721889
    19731890/*
    1974  *  dhcp4c_renew_info -- ネットワークæƒ
    1975 å ±ã‚’再取得する。
     1891 *  dhcp4c_renew_info -- ネットワーク情報を再取得する。
    19761892 */
    19771893
     
    19811897        if (context.fsm == DHCP4_FSM_BOUND) {
    19821898
    1983                 /* REL_INFO 状æ
    1984 ‹ã«é·ç§»ã—た後に SLEEP を解除するように設定する。*/
     1899                /* REL_INFO 状態に遷移した後に SLEEP を解除するように設定する。*/
    19851900                context.flags |= DHCP4C_FLAG_RENEW;
    19861901                start_rel_info(&context);
     
    19891904        else if (context.fsm == DHCP4_FSM_SLEEP) {
    19901905
    1991                 /* SLEEP を解除する。*/
     1906                /* SLEEP を解除する。*/
    19921907                context.fsm = DHCP4_FSM_WAKE;
    19931908                context.timer = 0;
     
    20001915
    20011916/*
    2002  *  dhcp4c_rel_info -- DHCP で設定されたネットワークæƒ
    2003 å ±ã‚’解放する。
     1917 *  dhcp4c_rel_info -- DHCP で設定されたネットワーク情報を解放する。
    20041918 */
    20051919
     
    20071921dhcp4c_rel_info (void)
    20081922{
    2009         /* REL_INFO 状æ
    2010 ‹ã«é·ç§»ã™ã‚‹ã€‚*/
     1923        /* REL_INFO 状態に遷移する。*/
    20111924        start_rel_info(&context);
    20121925        return E_OK;
     
    20141927
    20151928/*
    2016  *  dhcp4c_get_info -- DHCP で設定されたネットワークæƒ
    2017 å ±ã‚’返す。
     1929 *  dhcp4c_get_info -- DHCP で設定されたネットワーク情報を返す。
    20181930 */
    20191931
     
    20381950
    20391951/*
    2040  *  コールバック関数
     1952 *  コールバック関数
    20411953 */
    20421954
     
    20491961        len = *(ER_UINT*)p_parblk;
    20501962        if (len < 0 && len != E_RLWAI) {
    2051                 /* E_RLWAI 以外で、0 以下の場合は、エラーを意味している。*/
     1963                /* E_RLWAI 以外で、0 以下の場合は、エラーを意味している。*/
    20521964                syslog(LOG_NOTICE, "[DHCPC(CBR)] error: %s, fncd: %s", itron_strerror(len), in_strtfn(fncd));
    20531965                }
     
    20551967                if (fncd == TEV_UDP_RCV_DAT) {
    20561968
    2057                         /* 受信メッセージリストが空の時は、受信しないでデータグラムを捨てる。*/
     1969                        /* 受信メッセージリストが空の時は、受信しないでデータグラムを捨てる。*/
    20581970                        if (context.rcv_lst == NULL)
    20591971                                syslog(LOG_NOTICE, "[DHCP4C(CBR)] receive buffer all busy.");
    20601972                        else {
    2061                                 /* メッセージを受信するメッセージ構造体を準備する。*/
     1973                                /* メッセージを受信するメッセージ構造体を準備する。*/
    20621974                                syscall(wai_sem(SEM_DHCP4_CLI_LOCK));
    20631975                                msg = context.rcv_lst;
     
    20651977                                syscall(sig_sem(SEM_DHCP4_CLI_LOCK));
    20661978
    2067                                 /* メッセージを受信する。*/
     1979                                /* メッセージを受信する。*/
    20681980                                len = udp_rcv_dat(context.cepid, &msg->srv, &msg->msg, sizeof(msg->msg), TMO_POL);
    20691981
     
    20711983                                msg->len = len;
    20721984                                if (len >= 0) {
    2073                                         /* 受信したメッセージを検証メッセージリストに移す。*/
     1985                                        /* 受信したメッセージを検証メッセージリストに移す。*/
    20741986                                        msg->next = context.val_lst;
    20751987                                        context.val_lst = msg;
     
    20771989                                        }
    20781990                                else {
    2079                                         /* メッセージ構造体を受信メッセージリストに戻す。*/
     1991                                        /* メッセージ構造体を受信メッセージリストに戻す。*/
    20801992                                        context.error = len;
    20811993                                        msg->next = context.rcv_lst;
     
    20932005
    20942006/*
    2095  *  dhcp4_cli_task -- DHCP クライアントタスク
     2007 *  dhcp4_cli_task -- DHCP クライアントタスク
    20962008 */
    20972009
     
    21092021        ct = &context;
    21102022
    2111         /* DHCP クライアントコンテキスト構造体を初期化する。*/
     2023        /* DHCP クライアントコンテキスト構造体を初期化する。*/
    21122024        init_context(ct, tskid, (ID)exinf);
    21132025        ct->fsm = DHCP4_FSM_SLEEP;
     
    21152027        while (true) {
    21162028
    2117                 /* リースを解放後、再取得が指定されていなければ休止する。*/
     2029                /* リースを解放後、再取得が指定されていなければ休止する。*/
    21182030                if (!(ct->flags & DHCP4C_FLAG_RENEW)) {
    21192031
    2120                         /* 休止する。*/
     2032                        /* 休止する。*/
    21212033                        if (error == E_OK) {
    21222034                                if (ct->fsm != DHCP4_FSM_SLEEP)
     
    21322044                ct->error = E_OK;
    21332045
    2134                 /* 1秒毎にタイムアウトするようにタイマーを設定する。*/
     2046                /* 1秒毎にタイムアウトするようにタイマーを設定する。*/
    21352047                timeout((callout_func)dhcpc_timer, ct, NET_TIMER_HZ / DHCP4C_TIMER_HZ);
    21362048
    2137                 /* メッセージ構造体を初期化する。*/
     2049                /* メッセージ構造体を初期化する。*/
    21382050                if ((error = init_cli_msg(ct)) == E_OK) {
    21392051
    2140                         /* SELECT 状æ
    2141 ‹ã«é·ç§»ã™ã‚‹ã€‚*/
     2052                        /* SELECT 状態に遷移する。*/
    21422053                        start_select(ct);
    21432054
    2144                         /* メインループ */
     2055                        /* メインループ */
    21452056                        error = dispatch_event(ct);
    21462057                        }
    21472058
    2148                 /* å
    2149 ¨ã¦ã® TIMER をキャンセルする。*/
     2059                /* 全ての TIMER をキャンセルする。*/
    21502060                cancel_all_timers(ct);
    21512061
    2152                 /* タイマーを停止する。*/
     2062                /* タイマーを停止する。*/
    21532063                untimeout((callout_func)dhcpc_timer, ct);
    21542064
    2155                 /* メッセージ構造体を解放する。*/
     2065                /* メッセージ構造体を解放する。*/
    21562066                rel_cli_msg (ct);
    21572067                }
     
    21642074{
    21652075        T_DHCP4_CLI_CONTEXT *ct = &context;
    2166         /* DHCP クライアントコンテキスト構造体を初期化する。*/
     2076        /* DHCP クライアントコンテキスト構造体を初期化する。*/
    21672077        init_context(ct, tskid, cepid);
    21682078        ct->fsm = DHCP4_FSM_SLEEP;
     
    21922102                return;
    21932103
    2194         /* 1秒毎にタイムアウトするようにタイマーを設定する。*/
     2104        /* 1秒毎にタイムアウトするようにタイマーを設定する。*/
    21952105        ct->timer = 1000 * 1000;
    21962106
     
    22142124                ct->error = E_OK;
    22152125
    2216                 /* メッセージ構造体を初期化する。*/
     2126                /* メッセージ構造体を初期化する。*/
    22172127                if ((ct->error = init_cli_msg(ct)) != E_OK)
    22182128                        return;
     
    22202130                ct->timer = 1000 * 1000;
    22212131
    2222                 /* SELECT 状æ
    2223 ‹ã«é·ç§»ã™ã‚‹ã€‚*/
     2132                /* SELECT 状態に遷移する。*/
    22242133                start_select(ct);
    22252134                }
     
    22402149
    22412150        if (ct->error != E_OK || ct->fsm == DHCP4_FSM_SLEEP) {
    2242                 /* å
    2243 ¨ã¦ã® TIMER をキャンセルする。*/
     2151                /* 全ての TIMER をキャンセルする。*/
    22442152                cancel_all_timers(ct);
    22452153                ct->timer = TMO_FEVR;
    22462154
    2247                 /* メッセージ構造体を解放する。*/
     2155                /* メッセージ構造体を解放する。*/
    22482156                rel_cli_msg(ct);
    22492157
    2250                 /* リースを解放後、再取得が指定されていなければ休止する。*/
     2158                /* リースを解放後、再取得が指定されていなければ休止する。*/
    22512159                if (!(ct->flags & DHCP4C_FLAG_RENEW)) {
    22522160
    2253                         /* 休止する。*/
     2161                        /* 休止する。*/
    22542162                        if (ct->error == E_OK) {
    22552163                                if (ct->fsm != DHCP4_FSM_SLEEP)
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/dhcp4_cli.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4735
    4836/*
    49  *  DHCP クライアント
    50  *  コンフィギュレーションファイル
     37 *  DHCP クライアント
     38 *  コンフィギュレーションファイル
    5139 */
    5240
    53 /* タスク */
     41/* タスク */
    5442
    5543CRE_TSK(DHCP4_CLI_TASK, {
     
    6452#endif  /* of #ifdef DHCP4_CLI_CFG */
    6553
    66 /* セマフォ */
     54/* セマフォ */
    6755
    6856#ifdef DHCP4_CLI_CFG
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/dhcp4_cli.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    9595 *                   Tomakomai National College of Technology, JAPAN
    9696 *
    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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    137123 *
    138124 *  @(#) $Id$
     
    145131
    146132/*
    147  *  DHCP クライアントのスタックサイズ
    148  */
    149 
    150 #define DHCP4_CLI_STACK_SIZE            1024            /* DHCP クライアントタスクのスタックサイズ     */
     133 *  DHCP クライアントのスタックサイズ
     134 */
     135
     136#define DHCP4_CLI_STACK_SIZE            1024            /* DHCP クライアントタスクのスタックサイズ       */
    151137
    152138/*
    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以上指定すること) */
    164148#define NUM_DHCP4_MSG_LIST              3
    165149
    166150/*
    167  *  DHCP クライアントメッセージ構造体数【変更禁止】
    168  *  +1 は送信用
     151 *  DHCP クライアントメッセージ構造体数【変更禁止】
     152 *  +1 は送信用
    169153 */
    170154#define NUM_MPF_DHCP4_CLI_MSG           (NUM_DHCP4_MSG_LIST+1)
    171155
    172156/*
    173  *  コンパイル時コンフィギュレーション
    174  */
    175 
    176 /* DHCP å¿
    177 é ˆã‚ªãƒ—ションリスト */
     157 *  コンパイル時コンフィギュレーション
     158 */
     159
     160/* DHCP 必須オプションリスト */
    178161
    179162#ifndef DHCP4_CLI_CFG_REQUIRED_OLIST
     
    186169#endif  /* of #ifndef DHCP4_CLI_CFG_REQUIRED_OLIST */
    187170
    188 /* DHCP 要求オプションリスト */
     171/* DHCP 要求オプションリスト */
    189172
    190173#ifndef DHCP4_CLI_CFG_REQUEST_OLIST
     
    202185
    203186/*
    204  *  タイムアウト値
    205  */
    206 
    207 /* 受信タイムアウト     */
    208 #define TMO_DHCP4C_OFFER        (ULONG_C(120)*SYSTIM_HZ)        /* OFFER メッセージ        */
    209 #define TMO_DHCP4C_ACK          (ULONG_C(60)*SYSTIM_HZ) /* ACK/NAK メッセージ      */
    210 
    211 /* リース時間の既定値  */
    212 #define TMO_DHCP4C_DEF_LEASE    (ULONG_C(12*60*60)*SYSTIM_HZ)   /* 標準時間 */
    213 #define TMO_DHCP4C_MIN_LEASE    (ULONG_C(60)*SYSTIM_HZ) /* 最小時間 */
    214 
    215 /* メッセージの送信周期       */
    216 #define TMO_DHCP4C_INIT_INTVL   (ULONG_C(3)*SYSTIM_HZ)          /* 初期値    */
    217 #define TMO_DHCP4C_MAX_BACKOFF  (ULONG_C(15)*SYSTIM_HZ) /* 制限値    */
    218 
    219 /* DHCP サーバへの UDP 送信タイムアウト    */
     187 *  タイムアウト値
     188 */
     189
     190/* 受信タイムアウト     */
     191#define TMO_DHCP4C_OFFER        (ULONG_C(120)*SYSTIM_HZ)        /* OFFER メッセージ  */
     192#define TMO_DHCP4C_ACK          (ULONG_C(60)*SYSTIM_HZ) /* ACK/NAK メッセージ        */
     193
     194/* リース時間の既定値    */
     195#define TMO_DHCP4C_DEF_LEASE    (ULONG_C(12*60*60)*SYSTIM_HZ)   /* 標準時間 */
     196#define TMO_DHCP4C_MIN_LEASE    (ULONG_C(60)*SYSTIM_HZ) /* 最小時間 */
     197
     198/* メッセージの送信周期   */
     199#define TMO_DHCP4C_INIT_INTVL   (ULONG_C(3)*SYSTIM_HZ)          /* 初期値  */
     200#define TMO_DHCP4C_MAX_BACKOFF  (ULONG_C(15)*SYSTIM_HZ) /* 制限値  */
     201
     202/* DHCP サーバへの UDP 送信タイムアウト      */
    220203#define TMO_DHCP4C_UDP_SND      ULONG_C(1000000)                /* [us] */
    221204
    222 /* メッセージ構造体獲得タイムアウト     */
     205/* メッセージ構造体獲得タイムアウト     */
    223206#define TMO_DHCP4C_MPF_GET      ULONG_C(1000000)                /* [us] */
    224207
    225 /* ARP 要求を送信してからのå¾
    226 ã¡æ™‚é–“       */
     208/* ARP 要求を送信してからの待ち時間   */
    227209#define TMO_DHCP4C_ARP_WAIT     ULONG_C(1000000)                /* [us] */
    228210
    229 /* RELEASE メッセージを送信してからのå¾
    230 ã¡æ™‚é–“       */
     211/* RELEASE メッセージを送信してからの待ち時間    */
    231212#define TMO_DHCP4C_SND_REL_WAIT ULONG_C(1000000)        /* [us] */
    232213
     
    236217
    237218/*
    238  *  DHCP クライアントメッセージ構造体
     219 *  DHCP クライアントメッセージ構造体
    239220 */
    240221
    241222typedef 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;           /* メッセージタイプ             */
    249230        } T_DHCP4_CLI_MSG;
    250231
     
    252233
    253234/*
    254  *  コールバック関数
     235 *  コールバック関数
    255236 */
    256237
     
    258239
    259240/*
    260  *  タスク
     241 *  タスク
    261242 */
    262243
     
    264245
    265246/*
    266  *  関数
     247 *  関数
    267248 */
    268249
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/dhcp4_cli_asp.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  ASP 用 DHCP クライアントのシステムコンフィギュレーションファイル
     35 *  ASP 用 DHCP クライアントのシステムコンフィギュレーションファイル
    4836 */
    4937
    5038/*
    51  *  å
    52 ±é€š DHCP クライアントのシステムコンフィギュレーションファイルのインクルード
     39 *  共通 DHCP クライアントのシステムコンフィギュレーションファイルのインクルード
    5340 */
    5441
     
    5845
    5946/*
    60  * 固定メモリプール
     47 * 固定メモリプール
    6148 */
    6249
    63 /* 送受信バッファ */
     50/* 送受信バッファ */
    6451
    6552CRE_MPF(MPF_DHCP4_CLI_MSG, {
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/dhcp4_cli_jsp.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  JSP 用 DHCP クライアントのシステムコンフィギュレーションファイル
     35 *  JSP 用 DHCP クライアントのシステムコンフィギュレーションファイル
    4836 */
    4937
    5038/*
    51  *  å
    52 ±é€š DHCP クライアントのシステムコンフィギュレーションファイルのインクルード
     39 *  共通 DHCP クライアントのシステムコンフィギュレーションファイルのインクルード
    5340 */
    5441
     
    5845
    5946/*
    60  * 固定メモリプール
     47 * 固定メモリプール
    6148 */
    6249
    63 /* 送受信バッファ */
     50/* 送受信バッファ */
    6451
    6552CRE_MPF(MPF_DHCP4_CLI_MSG, {
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/dhcp4_cli_var.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    9595 *                   Tomakomai National College of Technology, JAPAN
    9696 *
    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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    137123 *
    138124 *  @(#) $Id$
     
    143129
    144130/*
    145  *  DHCP クライアントコンテキスト構造体
    146  */
    147 
    148 /* TIMER の定義 */
     131 *  DHCP クライアントコンテキスト構造体
     132 */
     133
     134/* TIMER の定義 */
    149135
    150136#define DHCP4C_TIMER_SND_DISC   0
     
    161147
    162148typedef 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)  */
    178162        SYSTIM          timers[NUM_DHCP4C_TIMERS];     
    179                                         /* タイマーé
    180 åˆ—                    */
    181         RELTIM          interval;       /* 送信間隔                 */
    182         ER_UINT         error;          /* エラー・データ長             */
    183         ID                      tskid;          /* タスクID */
     163                                        /* タイマー配列                       */
     164        RELTIM          interval;       /* 送信間隔                 */
     165        ER_UINT         error;          /* エラー・データ長             */
     166        ID                      tskid;          /* タスクID */
    184167        ID                      cepid;          /* CEP ID                       */
    185         uint32_t        xid;            /* トランザクション ID          */
    186         uint16_t        flags;          /* 各種フラグ                      */
    187         uint16_t        max_prefer;     /* 受信メッセージの最大推奨度      */
     168        uint32_t        xid;            /* トランザクション ID          */
     169        uint16_t        flags;          /* 各種フラグ                        */
     170        uint16_t        max_prefer;     /* 受信メッセージの最大推奨度        */
    188171        uint16_t        secs;           /* seconds since boot began     */
    189         uint8_t         fsm;            /* 現在の状æ
    190 ‹                       */
     172        uint8_t         fsm;            /* 現在の状態                        */
    191173        int timer;
    192174        } T_DHCP4_CLI_CONTEXT;
    193175
    194 /* fsm(状æ
    195 ‹é·ç§»ï¼‰ã®å®šç¾© */
     176/* fsm(状態遷移)の定義 */
    196177
    197178#define DHCP4_FSM_INIT          1
     
    203184#define DHCP4_FSM_INIT_REBOOT   7
    204185#define DHCP4_FSM_REBOOT        8
    205 #define DHCP4_FSM_REL_INFO      11      /* DHCPv4 の RFC2131 には無い。*/
    206 #define DHCP4_FSM_SLEEP         12      /* DHCPv4 の RFC2131 には無い。*/
    207 #define DHCP4_FSM_WAKE          13      /* DHCPv4 の RFC2131 には無い。*/
    208 
    209 /* flag の定義 */
     186#define DHCP4_FSM_REL_INFO      11      /* DHCPv4 の RFC2131 には無い。*/
     187#define DHCP4_FSM_SLEEP         12      /* DHCPv4 の RFC2131 には無い。*/
     188#define DHCP4_FSM_WAKE          13      /* DHCPv4 の RFC2131 には無い。*/
     189
     190/* flag の定義 */
    210191
    211192#define DHCP4C_FLAG_TMOUT_SND_DISC      (DHCP4C_FLAG_TMOUT_TIMER|DHCP4C_TIMER_SND_DISC)
     
    225206
    226207/*
    227  *  関数シミュレーションマクロ
    228  */
    229 
    230 /* タイムアウトの計算 */
     208 *  関数シミュレーションマクロ
     209 */
     210
     211/* タイムアウトの計算 */
    231212
    232213#define DHCP4C_TMOC(t)          (((t)-1000)+dhcp_rand()%2000)
    233214
    234 /* 時間比較 */
     215/* 時間比較 */
    235216
    236217#define TIMEC_GT(a,b)           ((int32_t)((a)-(b))>0)
    237218#define TIMEC_GE(a,b)           ((int32_t)((a)-(b))>=0)
    238219
    239 /* 時間定数の変換 */
     220/* 時間定数の変換 */
    240221
    241222#define SYSTIM2TIMER(t)         (((t)<SYSTIM_HZ/DHCP4C_TIMER_HZ)?(DHCP4C_TIMER_HZ):((t)*DHCP4C_TIMER_HZ)/SYSTIM_HZ)
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/dhcp6.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    4128 *
    42  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    43 ãŠ
    44  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    45  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    46  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     29 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     30 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     31 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     32 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4733 *
    4834 *  @(#) $Id$
     
    5339
    5440/*
    55  *  DHCPv6 に関する定義
     41 *  DHCPv6 に関する定義
    5642 *
    5743 *    RFC3315
     
    5945
    6046/*
    61  *  DHCPv6 メッセージの定数の定義
     47 *  DHCPv6 メッセージの定数の定義
    6248 */
    6349
     
    6652
    6753/*
    68  *  DHCPv6 メッセージ
     54 *  DHCPv6 メッセージ
    6955 */
    7056
     
    7965        } T_DHCP6_MSG;
    8066
    81 /* message type の定義 */
     67/* message type の定義 */
    8268
    8369#define DHCP6_SOLICIT           UINT_C(1)
     
    9682
    9783/*
    98  *  DHCPv6 オプション
     84 *  DHCPv6 オプション
    9985 */
    10086
     
    11399#define DHCP6_OPT_IA_PD         UINT_C(25)
    114100
    115 /* hardware address type の定義 */
     101/* hardware address type の定義 */
    116102
    117103#define DHCP6_HWA_TYPE_ETHER    UINT_C(1)
    118104#define DHCP6_HWA_TYPE_IEEE802  UINT_C(6)
    119105
    120 /* STATUS CODE の定義 */
     106/* STATUS CODE の定義 */
    121107
    122108#define DHCP6_STAT_SUCCESS      UINT_C(0)
     
    127113#define DHCP6_STAT_USE_MCAST    UINT_C(5)
    128114
    129 /* 時間定数[s]の定義 */
     115/* 時間定数[s]の定義 */
    130116
    131117#define DHCP6_MAX_TIME          UINT_C(0xffffffff)
    132118
    133119/*
    134  *  オプションのヘッダ部の定義
    135  */
    136 
    137 /* オプションのå
    138 ±é€šéƒ¨ */
     120 *  オプションのヘッダ部の定義
     121 */
     122
     123/* オプションの共通部 */
    139124
    140125typedef struct dhcp6_option {
     
    143128        } T_DHCP6_OPTION;
    144129
    145 /* オプションのå
    146 ±é€šéƒ¨ */
    147 
    148 /* CLIENTID オプション */
     130/* オプションの共通部 */
     131
     132/* CLIENTID オプション */
    149133
    150134typedef struct dhcp6_opt_clientid {
     
    153137        } T_DHCP6_OPT_CLIENTID;
    154138
    155 /* SERVERID オプション */
     139/* SERVERID オプション */
    156140
    157141typedef struct dhcp6_opt_serverid {
     
    160144        } T_DHCP6_OPT_SERVERID;
    161145
    162 /* IA_NA/IA_PD オプション */
     146/* IA_NA/IA_PD オプション */
    163147
    164148typedef struct dhcp6_opt_ia_na_pd {
     
    170154        } T_DHCP6_OPT_IA_NA_PD;
    171155
    172 /* IA_TA オプション */
     156/* IA_TA オプション */
    173157
    174158typedef struct dhcp6_opt_ia_ta {
     
    178162        } T_DHCP6_OPT_IA_TA;
    179163
    180 /* IAADDR オプション */
     164/* IAADDR オプション */
    181165
    182166#ifdef T_IN6_ADDR_DEFINED
     
    192176#endif  /* of #ifdef T_IN6_ADDR_DEFINED */
    193177
    194 /* ORO オプション */
     178/* ORO オプション */
    195179
    196180typedef struct dhcp6_opt_oro {
     
    199183        } T_DHCP6_OPT_ORO;
    200184
    201 /* PREFERENCE オプション */
     185/* PREFERENCE オプション */
    202186
    203187typedef struct dhcp6_opt_preference {
     
    207191        } T_DHCP6_OPT_PREFERENCE;
    208192
    209 /* UNICAST オプション */
     193/* UNICAST オプション */
    210194
    211195#ifdef T_IN6_ADDR_DEFINED
     
    219203#endif  /* of #ifdef T_IN6_ADDR_DEFINED */
    220204
    221 /* STATUS CODE オプション */
     205/* STATUS CODE オプション */
    222206
    223207typedef struct dhcp6_opt_status_code {
     
    227211        } T_DHCP6_OPT_STATUS_CODE;
    228212
    229 /* NAME SERVERS オプション */
     213/* NAME SERVERS オプション */
    230214
    231215typedef struct dhcp6_opt_name_servers {
     
    235219        } T_DHCP6_OPT_NAME_SERVERS;
    236220
    237 /* DOMAIN SEARCH オプション */
     221/* DOMAIN SEARCH オプション */
    238222
    239223typedef struct dhcp6_opt_domain_search {
     
    244228
    245229/*
    246  *  DHCPv6 タイミング定数【RFC3315 5.5 参ç
    247 §ã€‘
    248  *  その他のタイミング定数は dhcp6_cli.h 参ç
    249 §
     230 *  DHCPv6 タイミング定数【RFC3315 5.5 参照】
     231 *  その他のタイミング定数は dhcp6_cli.h 参照
    250232 */
    251233
     
    257239#define TMO_REQ_TIMEOUT         (1*SYSTIM_HZ)   /*   1[s]       */
    258240#define TMO_REQ_MAX_RT          (30*SYSTIM_HZ)  /*  30[s]       */
    259 #define TMO_REQ_MAX_RC          10              /* 再送信回数      */
     241#define TMO_REQ_MAX_RC          10              /* 再送信回数        */
    260242#define TMO_CNF_MAX_DELAY       (1*SYSTIM_HZ)   /*   1[s]       */
    261243#define TMO_CNF_TIMEOUT         (1*SYSTIM_HZ)   /*   1[s]       */
     
    270252#define TMO_INF_MAX_RT          (120*SYSTIM_HZ) /* 120[s]       */
    271253#define TMO_REL_TIMEOUT         (1*SYSTIM_HZ)   /*   1[s]       */
    272 #define TMO_REL_MAX_RC          5               /* 再送信回数      */
     254#define TMO_REL_MAX_RC          5               /* 再送信回数        */
    273255#define TMO_DEC_TIMEOUT         (1*SYSTIM_HZ)   /*   1[s]       */
    274 #define TMO_DEC_MAX_RC          5               /* 再送信回数      */
     256#define TMO_DEC_MAX_RC          5               /* 再送信回数        */
    275257#define TMO_REC_TIMEOUT         (2*SYSTIM_HZ)   /*   2[s]       */
    276 #define TMO_REC_MAX_RC          8               /* 再送信回数      */
     258#define TMO_REC_MAX_RC          8               /* 再送信回数        */
    277259
    278260#endif  /* of #ifdef SYSTIM_HZ */
     
    282264 */
    283265
    284 /* DUID_LLT 構造体 */
     266/* DUID_LLT 構造体 */
    285267
    286268typedef struct dhcp6_duid_llt_hdr {
     
    290272        } T_DHCP6_DUID_LLT_HDR;
    291273
    292 /* DUID_LL 構造体 */
     274/* DUID_LL 構造体 */
    293275
    294276typedef struct dhcp6_duid_ll_hdr {
     
    297279        } T_DHCP6_DUID_LL_HDR;
    298280
    299 /* DUID タイプ【RFC3315 9参ç
    300 §ã€‘*/
     281/* DUID タイプ【RFC3315 9参照】*/
    301282
    302283#define DUID_LLT                1
     
    305286
    306287/*
    307  *  DUID 時間の調整
    308  *  DUID 時間の開始は 2001/1/1
     288 *  DUID 時間の調整
     289 *  DUID 時間の開始は 2001/1/1
    309290 */
    310291
    311292#define DUID_TIME_EPOCH         0
    312293
    313 /* リレー転送の最大ホップ数 */
     294/* リレー転送の最大ホップ数 */
    314295
    315296#define HOP_COUNT_LIMIT         32
    316297
    317298/*
    318  *  IPv6 アドレス
     299 *  IPv6 アドレス
    319300 */
    320301
     
    332313
    333314/*
    334  *  UDP ポート番号
     315 *  UDP ポート番号
    335316 */
    336317
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/dhcp6_cli.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    7070 *                   Tomakomai National College of Technology, JAPAN
    7171 *
    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プロジェクトを免責すること.
    10693 *
    107  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    108 ãŠ
    109  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    110  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    111  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     94 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     95 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     96 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     97 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    11298 *
    11399 *  @(#) $Id$
     
    156142
    157143/*
    158  *  DHCPv6 クライアントタスク
     144 *  DHCPv6 クライアントタスク
    159145 */
    160146
     
    162148
    163149/*
    164  *  DHCP 動作モード
     150 *  DHCP 動作モード
    165151 *
    166  *    #define DHCP6_CLI_CFG_MODE で指定する。
     152 *    #define DHCP6_CLI_CFG_MODE で指定する。
    167153 *
    168154 */
     
    173159
    174160/*
    175  *  変数
     161 *  変数
    176162 */
    177163
    178164static 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 アドレス   */
     166static T_DHCP6_CLI_CONTEXT      context;                        /* クライアントコンテキスト */
    181167
    182168#ifdef DHCP6_CLI_CFG_REQUIRED_OLIST
    183 static uint8_t  required_plist[] = DHCP6_CLI_CFG_REQUIRED_OLIST;        /* å¿
    184 é ˆã‚ªãƒ—ションリスト             */
     169static uint8_t  required_plist[] = DHCP6_CLI_CFG_REQUIRED_OLIST;        /* 必須オプションリスト           */
    185170#endif
    186171
    187172#ifdef DHCP6_CLI_CFG_REQUEST_OLIST
    188 static uint8_t  request_plist[] = DHCP6_CLI_CFG_REQUEST_OLIST;          /* 要求オプションリスト               */
     173static uint8_t  request_plist[] = DHCP6_CLI_CFG_REQUEST_OLIST;          /* 要求オプションリスト           */
    189174#endif
    190175
    191176/*
    192  *  dhcp6_rand -- RFC3315 に規定された乱数を発生する。
     177 *  dhcp6_rand -- RFC3315 に規定された乱数を発生する。
    193178 */
    194179
     
    209194
    210195/*
    211  *  init_duid -- クライアントの DUID を設定する。
     196 *  init_duid -- クライアントの DUID を設定する。
    212197 */
    213198
     
    218203#if DHCP6_CLI_CFG_MODE == DHCP6_CLI_CFG_STATELESS
    219204
    220         /* 動作モードに STATELESS が指定された時は LL 形式にする。*/
     205        /* 動作モードに STATELESS が指定された時は LL 形式にする。*/
    221206
    222207        T_DHCP6_DUID_LL_HDR     *ll;
     
    226211        HOST2MSG16(ll->type, DHCP6_HWA_TYPE_ETHER);
    227212        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 長を記録する。*/
    229214
    230215#elif DHCP6_CLI_CFG_MODE == DHCP6_CLI_CFG_STATEFULL
    231216
    232217        /*
    233          *    動作モードに DHCP6_CLI_CFG_STATEFULL が指定された時は LLT 形式にする。
    234          *    time メンバーには現在の時間[s]を設定する。
    235          *    注意: 暫定的に get_tim() の値を使うが、要検討
     218         *    動作モードに DHCP6_CLI_CFG_STATEFULL が指定された時は LLT 形式にする。
     219         *    time メンバーには現在の時間[s]を設定する。
     220         *    注意: 暫定的に get_tim() の値を使うが、要検討
    236221         */
    237222
     
    246231        HOST2MSG32(llt->time, time);
    247232        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 長を記録する。*/
    249234
    250235#else   /* of #if DHCP6_CLI_CFG_MODE == DHCP6_CLI_CFG_STATELESS */
     
    255240
    256241/*
    257  *  cancel_all_timers -- å
    258 ¨ã¦ã® TIMER をキャンセルする。
     242 *  cancel_all_timers -- 全ての TIMER をキャンセルする。
    259243 */
    260244
     
    271255
    272256/*
    273  *  dhcpc_timer -- TIMER 管理
     257 *  dhcpc_timer -- TIMER 管理
    274258 */
    275259
     
    291275        syscall(sig_sem(SEM_DHCP6_CLI_TIMER));
    292276
    293         /* 1秒毎にタイムアウトする。*/
     277        /* 1秒毎にタイムアウトする。*/
    294278        timeout((callout_func)dhcpc_timer, ct, NET_TIMER_HZ / DHCP6C_TIMER_HZ);
    295279        }
    296280
    297281/*
    298  *  find_option -- 指定したオプションを探索する。
     282 *  find_option -- 指定したオプションを探索する。
    299283 *
    300  *    注意: 引数 len が 0 の時はオプションサイズを検証しない。
    301  *          引数 len にはオプションå
    302 ¨ä½“のサイズを指定すること。
     284 *    注意: 引数 len が 0 の時はオプションサイズを検証しない。
     285 *          引数 len にはオプション全体のサイズを指定すること。
    303286 */
    304287
     
    321304
    322305/*
    323  *  find_msg_option -- 指定したオプションを探索する。
     306 *  find_msg_option -- 指定したオプションを探索する。
    324307 *
    325  *    注意: 引数 len が 0 の時はオプションサイズを検証しない。
    326  *          引数 len にはオプションå
    327 ¨ä½“のサイズを指定すること。
     308 *    注意: 引数 len が 0 の時はオプションサイズを検証しない。
     309 *          引数 len にはオプション全体のサイズを指定すること。
    328310 */
    329311
     
    335317
    336318/*
    337  *  is_equal_sid -- メッセージå†
    338 ã® SERVER ID を比較する。
     319 *  is_equal_sid -- メッセージ内の SERVER ID を比較する。
    339320 */
    340321
     
    357338
    358339/*
    359  *  validate_iaaddrs -- アドレスæƒ
    360 å ±ï¼ˆIAADDR)を検証する。
     340 *  validate_iaaddrs -- アドレス情報(IAADDR)を検証する。
    361341 */
    362342
     
    366346        T_DHCP6_OPT_IAADDR      *iaa;
    367347
    368         /* オプションが IAADDR であることを検証する。*/
     348        /* オプションが IAADDR であることを検証する。*/
    369349        iaa = (T_DHCP6_OPT_IAADDR*)opt;
    370350        if (MSG2HOST16(iaa->code) != DHCP6_OPT_IAADDR)
     
    372352
    373353        while (len > 0) {
    374                 /* オプション長を検証する。*/
     354                /* オプション長を検証する。*/
    375355                if (len < sizeof(*iaa))
    376356                        return E_PAR;
    377357
    378                 /* オプション長が T_DHCP6_OPT_IAADDR のサイズと一致していなければエラー */
     358                /* オプション長が T_DHCP6_OPT_IAADDR のサイズと一致していなければエラー */
    379359                iaa = (T_DHCP6_OPT_IAADDR*)opt;
    380360                if ((MSG2HOST16(iaa->len) & ~DHCP6C_IAA_FLAG_MASK) < (sizeof(*iaa) - sizeof(T_DHCP6_OPTION)))
     
    382362
    383363                /*
    384                  *  perferred-lifetime と valid-lifetime の値が矛盾しているときはエラー
    385                  *  【RFC3315 (22.6) 参ç
    386 §ã€‘
     364                 *  perferred-lifetime と valid-lifetime の値が矛盾しているときはエラー
     365                 *  【RFC3315 (22.6) 参照】
    387366                 */
    388367                if (MSG2HOST32(iaa->prefer) > MSG2HOST32(iaa->valid))
     
    397376
    398377/*
    399  *  validate_ia_na_pd -- IA_NA/IA_PD オプションを検証する。
     378 *  validate_ia_na_pd -- IA_NA/IA_PD オプションを検証する。
    400379 */
    401380
     
    406385        uint8_t                 *opt;
    407386
    408         /* IA_NA/IA_PD が無ければ検証しない。*/
     387        /* IA_NA/IA_PD が無ければ検証しない。*/
    409388        if ((opt = find_msg_option(msg, code, 0)) == NULL)
    410389                return E_OK;
    411390
    412         /* オプション長を検証する。*/
     391        /* オプション長を検証する。*/
    413392        na = (T_DHCP6_OPT_IA_NA_PD*)opt;
    414393        if (!(msg->len >= (opt - (uint8_t*)&msg->msg) + sizeof(*na) &&
     
    417396
    418397        /*
    419          *  T1 と T2 の値が矛盾している時、またはアドレスæƒ
    420 å ±ãŒèª¤ã£ã¦ã„る時はエラー
    421          *  【RFC3315 (22.4) 参ç
    422 §ã€‘
     398         *  T1 と T2 の値が矛盾している時、またはアドレス情報が誤っている時はエラー
     399         *  【RFC3315 (22.4) 参照】
    423400         */
    424401        if (MSG2HOST32(na->renew) > 0 && MSG2HOST32(na->rebind) > 0 &&
     
    433410
    434411/*
    435  *  validate_ia_ta -- IA_TA オプションを検証する。
     412 *  validate_ia_ta -- IA_TA オプションを検証する。
    436413 */
    437414
     
    442419        uint8_t                 *opt;
    443420
    444         /* IA_TA が無ければ検証しない。*/
     421        /* IA_TA が無ければ検証しない。*/
    445422        if ((opt = find_msg_option(msg, DHCP6_OPT_IA_TA, 0)) == NULL)
    446423                return E_OK;
    447424
    448         /* オプション長を検証する。*/
     425        /* オプション長を検証する。*/
    449426        ta = (T_DHCP6_OPT_IA_TA *)opt;
    450427        if (!(msg->len >= (opt - (uint8_t*)&msg->msg) + sizeof(*ta) &&
     
    453430
    454431        /*
    455          *  アドレスæƒ
    456 å ±ãŒèª¤ã£ã¦ã„る時はエラー【RFC3315 (22.4) 参ç
    457 §ã€‘
     432         *  アドレス情報が誤っている時はエラー【RFC3315 (22.4) 参照】
    458433         */
    459434        if (validate_iaaddrs(opt + sizeof(*ta), (MSG2HOST16(ta->len) & ~DHCP6C_IAA_FLAG_MASK) - (sizeof(*ta) - sizeof(T_DHCP6_OPTION))) != E_OK)
     
    463438        }
    464439/*
    465  *  classify_reply -- 応答メッセージを分類する。
     440 *  classify_reply -- 応答メッセージを分類する。
    466441 */
    467442
     
    471446        ER      error;
    472447
    473         /* IA_NA オプションを検証する。*/
     448        /* IA_NA オプションを検証する。*/
    474449        if ((error = validate_ia_na_pd(msg, DHCP6_OPT_IA_NA)) != E_OK)
    475450                return error;
    476451
    477         /* IA_TA オプションを検証する。*/
     452        /* IA_TA オプションを検証する。*/
    478453        if ((error = validate_ia_ta(msg)) != E_OK)
    479454                return error;
    480455
    481         /* IA_PD オプションを検証する。*/
     456        /* IA_PD オプションを検証する。*/
    482457        if ((error = validate_ia_na_pd(msg, DHCP6_OPT_IA_PD)) != E_OK)
    483458                return error;
    484459
    485         /* サーバ DUID があることを検証する。*/
     460        /* サーバ DUID があることを検証する。*/
    486461        if (find_msg_option(msg, DHCP6_OPT_SERVERID, 0) == NULL)
    487462                return E_PAR;
     
    491466
    492467/*
    493  *  validate_reply -- 応答メッセージを検証する。
     468 *  validate_reply -- 応答メッセージを検証する。
    494469 */
    495470
     
    500475        uint8_t                 *opt;
    501476
    502         /* サーバ DUID があることを検証する。*/
     477        /* サーバ DUID があることを検証する。*/
    503478        if (find_msg_option(msg, DHCP6_OPT_SERVERID, 0) == NULL)
    504479                return E_PAR;
    505480
    506         /* クライアント DUID があり、自分のクライアント DUID と同じことを検証する。*/
     481        /* クライアント DUID があり、自分のクライアント DUID と同じことを検証する。*/
    507482        if ((opt = find_msg_option(msg, DHCP6_OPT_CLIENTID, 0)) == NULL)
    508483                return E_PAR;
     
    518493
    519494/*
    520  *  get_status_code -- STATUS オプションの結果コードを獲得する。
     495 *  get_status_code -- STATUS オプションの結果コードを獲得する。
    521496 */
    522497
     
    527502        uint8_t                 *opt;
    528503
    529         /* STATUS オプションが無ければ検証しない。*/
     504        /* STATUS オプションが無ければ検証しない。*/
    530505        if ((opt = find_option(msg, msg_len, DHCP6_OPT_STATUS_CODE, 0)) == NULL)
    531506                return DHCP6_STAT_SUCCESS;
    532507
    533         /* オプション長を検証する。*/
     508        /* オプション長を検証する。*/
    534509        status = (T_DHCP6_OPT_STATUS_CODE*)opt;
    535510        if (msg_len < sizeof(*status))
     
    542517
    543518/*
    544  *  get_msg_status_code -- STATUS オプションの結果コードを獲得する。
     519 *  get_msg_status_code -- STATUS オプションの結果コードを獲得する。
    545520 */
    546521
     
    598573
    599574/*
    600  *  validate_rcv_msg -- 受信メッセージを検証する。
     575 *  validate_rcv_msg -- 受信メッセージを検証する。
    601576 */
    602577
     
    607582        uint_t  code;
    608583
    609         /* メッセージのタイプが一致していることを検証する。*/
     584        /* メッセージのタイプが一致していることを検証する。*/
    610585        switch (ct->fsm) {
    611586
     
    649624                }
    650625
    651         /* 受信メッセージを検証する。*/
     626        /* 受信メッセージを検証する。*/
    652627        if ((error = validate_reply(ct, msg)) != E_OK)
    653628                return error;
    654629
    655         /* 受信メッセージを分類する。*/
     630        /* 受信メッセージを分類する。*/
    656631        if ((error = classify_reply(msg)) != E_OK)
    657632                return error;
    658633
    659         /* 受信したメッセージå†
    660 ã® STATUS CODE オプションを検証する。*/
     634        /* 受信したメッセージ内の STATUS CODE オプションを検証する。*/
    661635        error = get_msg_status_code(msg, &code);
    662636        if (error != E_OK)
     
    667641
    668642/*
    669  *  eval_ia_prefer -- IA_NA/IA_TA/IA_PD の推奨度を評価する。
     643 *  eval_ia_prefer -- IA_NA/IA_TA/IA_PD の推奨度を評価する。
    670644 */
    671645
     
    680654        uint_t          aoff, asize;
    681655
    682         /* 無効の場合は終了する。*/
     656        /* 無効の場合は終了する。*/
    683657        if (cli_msg == NULL)
    684658                return;
     
    721695
    722696/*
    723  *  eval_prefer -- 受信メッセージの推奨度を評価する。
     697 *  eval_prefer -- 受信メッセージの推奨度を評価する。
    724698 */
    725699
     
    730704        int                     ix;
    731705
    732         /* 無効の場合は終了する。*/
     706        /* 無効の場合は終了する。*/
    733707        if (msg == NULL)
    734708                return;
    735709
    736         /* PREFERENCE オプションを評価する。*/
     710        /* PREFERENCE オプションを評価する。*/
    737711        if ((opt = find_msg_option(msg, DHCP6_OPT_PREFERENCE, sizeof(T_DHCP6_OPT_PREFERENCE))) != NULL)
    738712                msg->prefer = MSG2HOST16(((T_DHCP6_OPT_PREFERENCE*)opt)->prefer) | DHCP6_ClI_MSG_PREFER_OPTION;
     
    742716#if defined(DHCP6_CLI_CFG_REQUIRED_OLIST)
    743717
    744         /* å¿
    745 é ˆã‚ªãƒ—ションを検証する。*/
     718        /* 必須オプションを検証する。*/
    746719        for (ix = sizeof(required_plist); ix -- > 0; ) {
    747720                if (find_msg_option(msg, required_plist[ix], 0) == NULL)
     
    754727#if defined(DHCP6_CLI_CFG_REQUEST_OLIST)
    755728
    756         /* 要求オプションを検証する。*/
     729        /* 要求オプションを検証する。*/
    757730        for (ix = sizeof(request_plist); ix -- > 0; ) {
    758731                if (find_msg_option(msg, request_plist[ix], 0) != NULL)
     
    764737
    765738/*
    766  *  eval_rcv_msg -- 受信メッセージを評価する。
     739 *  eval_rcv_msg -- 受信メッセージを評価する。
    767740 */
    768741
     
    773746        SYSTIM          time;
    774747
    775         /* メッセージを受信していなければ中止する。*/
     748        /* メッセージを受信していなければ中止する。*/
    776749        syscall(wai_sem(SEM_DHCP6_CLI_LOCK));
    777750        if (ct->val_lst == NULL) {
     
    780753                }
    781754
    782         /* 検証メッセージリストから評価メッセージを取り出す。*/
     755        /* 検証メッセージリストから評価メッセージを取り出す。*/
    783756        evl         = ct->val_lst;
    784757        ct->val_lst = ct->val_lst->next;
     
    786759        syscall(sig_sem(SEM_DHCP6_CLI_LOCK));
    787760
    788         /* 受信時間を設定する。*/
     761        /* 受信時間を設定する。*/
    789762        get_tim(&time);
    790763        evl->rcv_time = time;
    791764
    792         /* 評価メッセージを検証する。*/
     765        /* 評価メッセージを検証する。*/
    793766        if (validate_rcv_msg(ct, evl) != E_OK) {
    794767
    795                 /* エラーが発生した評価メッセージを受信メッセージ構造体リストに戻す。*/
     768                /* エラーが発生した評価メッセージを受信メッセージ構造体リストに戻す。*/
    796769                goto rcv_ret;
    797770                }
    798771
    799         /* REL_INFO 状æ
    800 ‹ã®æ™‚の処理 */
     772        /* REL_INFO 状態の時の処理 */
    801773        if (ct->fsm == DHCP6_FSM_REL_INFO) {
    802774                syscall(wai_sem(SEM_DHCP6_CLI_LOCK));
    803775                if (evl->status == DHCP6_STAT_SUCCESS) {
    804776                        /*
    805                          *  STATUS CODE が DHCP6_STAT_SUCCESS なら、
    806                          *  評価メッセージを推奨メッセージリストに設定して終了する。
     777                         *  STATUS CODE が DHCP6_STAT_SUCCESS なら、
     778                         *  評価メッセージを推奨メッセージリストに設定して終了する。
    807779                         */
    808780                        evl->next   = ct->prf_lst;
     
    810782                        }
    811783                else {
    812                         /* 評価メッセージを受信メッセージ構造体リストに戻して終了する。*/
     784                        /* 評価メッセージを受信メッセージ構造体リストに戻して終了する。*/
    813785                        evl->next   = ct->rcv_lst;
    814786                        ct->rcv_lst = evl;
     
    818790                }
    819791
    820         /* 評価メッセージの推奨度を評価する。*/
     792        /* 評価メッセージの推奨度を評価する。*/
    821793        eval_prefer(evl);
    822794        eval_ia_prefer(evl);
    823795
    824         /* 推奨メッセージリストが空なら評価メッセージを移して終了する。*/
     796        /* 推奨メッセージリストが空なら評価メッセージを移して終了する。*/
    825797        if (ct->prf_lst == NULL) {
    826798                ct->max_prefer = evl->prefer & DHCP6_ClI_MSG_PREFER_VALUE_MASK;
     
    829801                }
    830802
    831         /* 評価メッセージの推奨度と推奨メッセージリストの最大推奨度を比較する。*/
     803        /* 評価メッセージの推奨度と推奨メッセージリストの最大推奨度を比較する。*/
    832804        if ((evl->prefer & DHCP6_ClI_MSG_PREFER_VALUE_MASK) > ct->max_prefer) {
    833805
    834806                /*
    835                  *  評価メッセージの推奨度が推奨メッセージリストの最大推奨度より高ければ、
    836                  *  推奨メッセージリストを受信メッセージ構造体リストに戻し、
    837                  *  評価メッセージを推奨メッセージリストに移す。
     807                 *  評価メッセージの推奨度が推奨メッセージリストの最大推奨度より高ければ、
     808                 *  推奨メッセージリストを受信メッセージ構造体リストに戻し、
     809                 *  評価メッセージを推奨メッセージリストに移す。
    838810                 */
    839811                ct->max_prefer = evl->prefer & DHCP6_ClI_MSG_PREFER_VALUE_MASK;
     
    856828
    857829                                /*
    858                                  *  推奨メッセージリストに同じ DHCP6_OPT_SERVERID のメッセージがあれば、
    859                                  *  評価メッセージを受信メッセージ構造体リストに戻す。
     830                                 *  推奨メッセージリストに同じ DHCP6_OPT_SERVERID のメッセージがあれば、
     831                                 *  評価メッセージを受信メッセージ構造体リストに戻す。
    860832                                 */
    861833                                goto rcv_ret;
     
    864836
    865837                /*
    866                  *  評価メッセージを推奨メッセージリストに移す。
     838                 *  評価メッセージを推奨メッセージリストに移す。
    867839                 */
    868840                evl->next   = ct->prf_lst;
     
    873845        /*else */
    874846                /*
    875                  *  評価メッセージの推奨度が推奨メッセージリストの最大推奨度より低ければ、
    876                  *  評価メッセージを受信メッセージ構造体リストに戻す。
     847                 *  評価メッセージの推奨度が推奨メッセージリストの最大推奨度より低ければ、
     848                 *  評価メッセージを受信メッセージ構造体リストに戻す。
    877849                 */
    878850
     
    886858
    887859/*
    888  *  select_msg -- 推奨メッセージリストのå
    889 ˆé ­ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’選択する。
     860 *  select_msg -- 推奨メッセージリストの先頭のメッセージを選択する。
    890861 */
    891862
     
    897868        syscall(wai_sem(SEM_DHCP6_CLI_LOCK));
    898869        if (ct->prf_lst == NULL) {
    899                 /* メッセージを受信していなければ中止する。*/
     870                /* メッセージを受信していなければ中止する。*/
    900871                syscall(sig_sem(SEM_DHCP6_CLI_LOCK));
    901872                return NULL;
     
    907878
    908879        if ((select->prefer & DHCP6_ClI_MSG_PREFER_REQUIRED) == 0) {
    909                 /* å¿
    910 é ˆã‚ªãƒ—ションが無ければ選択しない。*/
     880                /* 必須オプションが無ければ選択しない。*/
    911881                syscall(sig_sem(SEM_DHCP6_CLI_LOCK));
    912882                return NULL;
     
    917887        if (((select->prefer & DHCP6_ClI_MSG_PREFER_REQUIRED) == 0) ||
    918888            ((select->prefer & DHCP6_ClI_MSG_PREFER_ADDR)     == 0)) {
    919                 /* å¿
    920 é ˆã‚ªãƒ—ションとアドレスが無ければ選択しない。*/
     889                /* 必須オプションとアドレスが無ければ選択しない。*/
    921890                syscall(sig_sem(SEM_DHCP6_CLI_LOCK));
    922891                return NULL;
     
    927896#endif  /* of #if DHCP6_CLI_CFG_MODE == DHCP6_CLI_CFG_STATELESS */
    928897
    929         /* 推奨メッセージリストのå
    930 ˆé ­ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’選択する。*/
     898        /* 推奨メッセージリストの先頭のメッセージを選択する。*/
    931899        ct->prf_lst  = ct->prf_lst->next;
    932900        select->next = NULL;
    933901
    934         /* 選択されなかった検証メッセージを受信メッセージ構造体リストに戻す。*/
     902        /* 選択されなかった検証メッセージを受信メッセージ構造体リストに戻す。*/
    935903        if (ct->rcv_lst == NULL)
    936904                ct->rcv_lst = ct->prf_lst;
     
    945913
    946914/*
    947  *  advance_retrans -- 再送信タイムアウトを更新する。
     915 *  advance_retrans -- 再送信タイムアウトを更新する。
    948916 */
    949917
     
    952920{
    953921        /*
    954          *  再送信間隔(RT)を更新する。
    955          *  再送信毎に約 2倍するが、
    956          *  最大送信間隔(MRT)をè¶
    957 ãˆãªã„ようにする。
     922         *  再送信間隔(RT)を更新する。
     923         *  再送信毎に約 2倍するが、
     924         *  最大送信間隔(MRT)を超えないようにする。
    958925         */
    959926        ct->RT += ct->RT + dhcp6_rand(ct->RT);
     
    961928                ct->RT = ct->MRT + dhcp6_rand(ct->MRT);
    962929
    963         /* 再送信回数を更新する。*/
     930        /* 再送信回数を更新する。*/
    964931        ct->txcount ++;
    965932        }
    966933
    967934/*
    968  *  init_retrans -- 再送信回数、トランザクション ID、その他を設定する。
     935 *  init_retrans -- 再送信回数、トランザクション ID、その他を設定する。
    969936 */
    970937
     
    972939init_retrans (T_DHCP6_CLI_CONTEXT *ct)
    973940{
    974         /* 送信回数をリセットする。*/
     941        /* 送信回数をリセットする。*/
    975942        ct->txcount = 0;
    976943
    977         /* 再送信間隔を設定する。*/
     944        /* 再送信間隔を設定する。*/
    978945        ct->RT = ct->IRT + dhcp6_rand(ct->IRT);
    979946
    980         /* トランザクション ID を設定する。*/
     947        /* トランザクション ID を設定する。*/
    981948        ct->xid = netapp_rand() % 0x00ffffff;
    982949
    983         /* 受信メッセージの最大推奨度をリセットする。*/
     950        /* 受信メッセージの最大推奨度をリセットする。*/
    984951        ct->max_prefer = 0;
    985952        }
    986953
    987954/*
    988  *  setup_msg_header -- メッセージのヘッダ部分を作成する。
     955 *  setup_msg_header -- メッセージのヘッダ部分を作成する。
    989956 */
    990957
     
    995962        ct->snd_msg->len = sizeof(ct->snd_msg->msg);
    996963
    997         /* ヘッダ部を設定する。*/
     964        /* ヘッダ部を設定する。*/
    998965        ct->snd_msg->msg.hdr.type   = type;
    999966        ct->snd_msg->msg.hdr.xid[0] = (ct->xid >> 16) & 0xff;
     
    1005972
    1006973/*
    1007  *  common_options -- 標準オプションを追加する。
     974 *  common_options -- 標準オプションを追加する。
    1008975 */
    1009976
     
    1024991#if defined(DHCP6_CLI_CFG_RAPID_COMMIT)
    1025992
    1026         /* Rapid-commit の指定 */
     993        /* Rapid-commit の指定 */
    1027994        if (type == DHCP6_SOLICIT)
    1028995                ;
     
    1030997#endif  /* of #if defined(DHCP6_CLI_CFG_RAPID_COMMIT) */
    1031998
    1032         /* クライアント DUID を追加する。*/
     999        /* クライアント DUID を追加する。*/
    10331000        cid = (T_DHCP6_OPT_CLIENTID*)msg;
    10341001        HOST2MSG16(cid->code, DHCP6_OPT_CLIENTID);
     
    10371004        msg += ct->duid_len + sizeof(T_DHCP6_OPT_CLIENTID);
    10381005
    1039         /* サーバ DUID を追加する。*/
     1006        /* サーバ DUID を追加する。*/
    10401007        if (lease == NULL) {
    10411008                if (!(type == DHCP6_SOLICIT || type == DHCP6_INFO_REQ))
     
    10531020#if defined(DHCP6_CLI_CFG_REQUIRED_OLIST) || defined(DHCP6_CLI_CFG_REQUEST_OLIST)
    10541021
    1055         /* å¿
    1056 é ˆãƒ»è¦æ±‚オプションを追加する。*/
     1022        /* 必須・要求オプションを追加する。*/
    10571023        oro = (T_DHCP6_OPT_ORO*)msg;
    10581024        HOST2MSG16(oro->code, DHCP6_OPT_ORO);
     
    10621028#if defined(DHCP6_CLI_CFG_REQUIRED_OLIST)
    10631029
    1064         /* å¿
    1065 é ˆã‚ªãƒ—ションを追加する。*/
     1030        /* 必須オプションを追加する。*/
    10661031        HOST2MSG16(oro->len, MSG2HOST16(oro->len) + sizeof(required_plist) * 2);
    10671032        for (ix = sizeof(required_plist); ix -- > 0; ) {
     
    10741039#if defined(DHCP6_CLI_CFG_REQUEST_OLIST)
    10751040
    1076         /* 要求オプションを追加する。*/
     1041        /* 要求オプションを追加する。*/
    10771042        HOST2MSG16(oro->len, MSG2HOST16(oro->len) + sizeof(request_plist) * 2);
    10781043        for (ix = sizeof(request_plist); ix -- > 0; ) {
     
    10891054
    10901055/*
    1091  *  rel_lease -- リースされたオプションを解析して値を解放する。
     1056 *  rel_lease -- リースされたオプションを解析して値を解放する。
    10921057 */
    10931058
     
    11061071        uint8_t         *opt, *last;
    11071072
    1108         /* 有効なリース・メッセージ構造体が無ければ何もしない。*/
     1073        /* 有効なリース・メッセージ構造体が無ければ何もしない。*/
    11091074        if (ct->act_msg == NULL)
    11101075                return;
     
    11541119
    11551120/*
    1156  *  set_lease -- リースされたオプションを解析して値を設定する。
     1121 *  set_lease -- リースされたオプションを解析して値を設定する。
    11571122 */
    11581123
     
    12311196
    12321197/*
    1233  *  start_req_info -- INFO-REQUEST を開始する。
     1198 *  start_req_info -- INFO-REQUEST を開始する。
    12341199 *
    1235  *    注意: DHCPv6 の RFC3315 には無い
     1200 *    注意: DHCPv6 の RFC3315 には無い
    12361201 */
    12371202
     
    12391204start_req_info (T_DHCP6_CLI_CONTEXT *ct)
    12401205{
    1241         /* タイムアウトを設定する。【RFC3315 (18.1.5) 参ç
    1242 §ã€‘*/
     1206        /* タイムアウトを設定する。【RFC3315 (18.1.5) 参照】*/
    12431207        ct->IRT = TMO_INF_TIMEOUT;
    12441208        ct->MRT = TMO_INF_MAX_RT;
    12451209        ct->MRC = 0;
    12461210
    1247         /* DHCP6_CLI_CFG_ONE_TRYが指定されていなければ標準タイムアウトまで再送する。*/
     1211        /* DHCP6_CLI_CFG_ONE_TRYが指定されていなければ標準タイムアウトまで再送する。*/
    12481212#if defined(DHCP6_CLI_CFG_ONE_TRY)
    12491213        ct->MRD = 0;
     
    12521216#endif
    12531217
    1254         /* 再送回数とトランザクション ID を設定する。*/
     1218        /* 再送回数とトランザクション ID を設定する。*/
    12551219        init_retrans(ct);
    12561220
    1257         /* REPLY メッセージの受信タイムアウトを設定する。*/
     1221        /* REPLY メッセージの受信タイムアウトを設定する。*/
    12581222        syscall(wai_sem(SEM_DHCP6_CLI_TIMER));
    12591223        ct->timers[DHCP6C_TIMER_RCV_REPLY] = SYSTIM2TIMER(ct->MRD);
     
    12611225
    12621226        /*
    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()を使用する。
    12661229         */
    12671230        dly_tsk(netapp_rand() % TMO_INF_MAX_DELAY);
    12681231
    1269         /* SELECT 状æ
    1270 ‹ã«é·ç§»ã™ã‚‹ã€‚*/
     1232        /* SELECT 状態に遷移する。*/
    12711233        ct->fsm = DHCP6_FSM_SELECT;
    12721234
    1273         /* INFO-REQUEST メッセージを送信する。*/
     1235        /* INFO-REQUEST メッセージを送信する。*/
    12741236        ct->flags |= DHCP6C_FLAG_TMOUT_SND_IREQ;
    12751237        syscall(sig_sem(SEM_DHCP6_CLI_READY));
     
    12771239
    12781240/*
    1279  *  start_informed -- INFORMED 状æ
    1280 ‹ã«é·ç§»ã™ã‚‹ã€‚
     1241 *  start_informed -- INFORMED 状態に遷移する。
    12811242 *
    1282  *    注意: DHCPv6 の RFC3315 には無い
     1243 *    注意: DHCPv6 の RFC3315 には無い
    12831244 */
    12841245
     
    12861247start_informed (T_DHCP6_CLI_CONTEXT *ct)
    12871248{
    1288         /* 有効なリースæƒ
    1289 å ±ãŒç„¡ã‘れば SLEEP に遷移する。*/
     1249        /* 有効なリース情報が無ければ SLEEP に遷移する。*/
    12901250        if (ct->act_msg == NULL) {
    12911251                ct->fsm = DHCP6_FSM_SLEEP;
     
    12931253                }
    12941254
    1295         /* リースæƒ
    1296 å ±ã‚’設定する。*/
     1255        /* リース情報を設定する。*/
    12971256        set_lease(ct);
    12981257
    1299         /* INFORMED 状æ
    1300 ‹ã«é·ç§»ã™ã‚‹ã€‚*/
     1258        /* INFORMED 状態に遷移する。*/
    13011259        ct->fsm = DHCP6_FSM_INFORMED;
    13021260
     
    13051263
    13061264/*
    1307  *  start_rel_info -- アドレスæƒ
    1308 å ±ã‚’解放する。
     1265 *  start_rel_info -- アドレス情報を解放する。
    13091266 *
    1310  *    注意: DHCPv6 の RFC3315 には無い
     1267 *    注意: DHCPv6 の RFC3315 には無い
    13111268 */
    13121269
     
    13141271start_rel_info (T_DHCP6_CLI_CONTEXT *ct)
    13151272{
    1316         /* リースæƒ
    1317 å ±ã‚’解放する。*/
     1273        /* リース情報を解放する。*/
    13181274        rel_lease(ct);
    13191275
    1320         /* SLEEP に遷移する。*/
     1276        /* SLEEP に遷移する。*/
    13211277        ct->fsm = DHCP6_FSM_SLEEP;
    13221278        syscall(sig_sem(SEM_DHCP6_CLI_READY));
     
    13241280
    13251281/*
    1326  *  select_info_reply -- 最適な REPLY (INFO-REQUEST への応答) メッセージを選択する。
     1282 *  select_info_reply -- 最適な REPLY (INFO-REQUEST への応答) メッセージを選択する。
    13271283 */
    13281284
     
    13321288        T_DHCP6_CLI_MSG         *msg;
    13331289
    1334         /* 最適な REPLY メッセージを選択する。*/
     1290        /* 最適な REPLY メッセージを選択する。*/
    13351291        if ((msg = select_msg(ct)) == NULL)
    13361292                return false;
     
    13411297
    13421298/*
    1343  *  setup_info_req_msg -- INFO-REQUEST メッセージを作成する。
     1299 *  setup_info_req_msg -- INFO-REQUEST メッセージを作成する。
    13441300 */
    13451301
     
    13491305        uint8_t *msg;
    13501306
    1351         /* メッセージのヘッダ部分を作成する。*/
     1307        /* メッセージのヘッダ部分を作成する。*/
    13521308        if ((msg = setup_msg_header(ct, DHCP6_INFO_REQ)) == NULL)
    13531309                return E_PAR;
     
    13561312                return E_PAR;
    13571313
    1358         /* メッセージ構造体長を設定する。*/
     1314        /* メッセージ構造体長を設定する。*/
    13591315        ct->snd_msg->len = msg - (uint8_t*)&ct->snd_msg->msg;
    13601316
    1361         /* 送信å
    1362 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’設定する。*/
     1317        /* 送信先アドレスを設定する。*/
    13631318        ct->dst.ipaddr  = in6_addr_all_DHCP_relay_servers;
    13641319        return E_OK;
     
    13661321
    13671322/*
    1368  *  send_info_req_msg -- INFO-REQUEST メッセージを送信する。
     1323 *  send_info_req_msg -- INFO-REQUEST メッセージを送信する。
    13691324 */
    13701325
     
    13751330
    13761331
    1377         /* REPLY メッセージの選択が終了していれば、BOUND 状æ
    1378 ‹ã«é·ç§»ã™ã‚‹ã€‚*/
     1332        /* REPLY メッセージの選択が終了していれば、BOUND 状態に遷移する。*/
    13791333        ct->flags &= ~DHCP6C_FLAG_TMOUT_MASK;
    13801334        if (select_info_reply(ct)) {
    13811335
    1382                 /* REPLY メッセージ受信タイマーを停止する。*/
     1336                /* REPLY メッセージ受信タイマーを停止する。*/
    13831337                syscall(wai_sem(SEM_DHCP6_CLI_TIMER));
    13841338                ct->timers[DHCP6C_TIMER_RCV_REPLY] = 0;
    13851339                syscall(sig_sem(SEM_DHCP6_CLI_TIMER));
    13861340
    1387                 /* INFORMED 状æ
    1388 ‹ã«é·ç§»ã™ã‚‹ã€‚*/
     1341                /* INFORMED 状態に遷移する。*/
    13891342                start_informed(ct);
    13901343                return;
    13911344                }
    13921345
    1393         /* 再送信回数を確認する。*/
     1346        /* 再送信回数を確認する。*/
    13941347        if ((ct->MRC != 0) && (ct->txcount > ct->MRC)) {
    13951348                ct->error  = E_TMOUT;
     
    13971350                }
    13981351
    1399         /* INFO-REQUEST メッセージを作成する。*/
     1352        /* INFO-REQUEST メッセージを作成する。*/
    14001353        if ((error = setup_info_req_msg(ct)) != E_OK) {
    14011354                syslog(LOG_NOTICE, "[DHCP6C] error, setup request message: %s.", itron_strerror(error));
     
    14041357                }
    14051358
    1406         /* INFO-REQUEST メッセージを送信する。*/
     1359        /* INFO-REQUEST メッセージを送信する。*/
    14071360        error = UDP_SND_DAT(ct->cepid, &ct->dst, &ct->snd_msg->msg, ct->snd_msg->len, TMO_NBLK);
    14081361        if (error != E_WBLK) {
     
    14121365                }
    14131366
    1414         /* 再送信タイムアウトを設定する。*/
     1367        /* 再送信タイムアウトを設定する。*/
    14151368        syscall(wai_sem(SEM_DHCP6_CLI_TIMER));
    14161369        ct->timers[DHCP6C_TIMER_SND_IREQ] = SYSTIM2TIMER(ct->RT);
    14171370        syscall(sig_sem(SEM_DHCP6_CLI_TIMER));
    14181371
    1419         /* 再送信タイムアウトを更新する。*/
     1372        /* 再送信タイムアウトを更新する。*/
    14201373        advance_retrans(ct);
    14211374        }
     
    14261379
    14271380/*
    1428  *  select_reply -- 最適な REPLY メッセージを選択する。
     1381 *  select_reply -- 最適な REPLY メッセージを選択する。
    14291382 */
    14301383
     
    14341387        T_DHCP6_CLI_MSG         *msg;
    14351388
    1436         /* 最適な REPLY メッセージを選択する。*/
     1389        /* 最適な REPLY メッセージを選択する。*/
    14371390        if ((msg = select_msg(ct)) == NULL)
    14381391                return false;
     
    14441397
    14451398        /*
    1446          *  最適な REPLY メッセージの推奨度が ADVERTISE メッセージ推奨度の
    1447          *  1/2 以下の時は受信メッセージ構造体リストに戻す。
     1399         *  最適な REPLY メッセージの推奨度が ADVERTISE メッセージ推奨度の
     1400         *  1/2 以下の時は受信メッセージ構造体リストに戻す。
    14481401         */
    14491402        if ((ct->adv_msg != NULL) && (ct->max_prefer < (ct->adv_msg->prefer & DHCP6_ClI_MSG_PREFER_VALUE_MASK) / 2)) {
     
    14561409
    14571410                /*
    1458                  *  ct->act_msg にある有効なå
    1459 ƒ REPLY メッセージを
    1460                  *  受信メッセージ構造体リストに戻して、
    1461                  *  最適な REPLY メッセージを act に移す。
     1411                 *  ct->act_msg にある有効な元 REPLY メッセージを
     1412                 *  受信メッセージ構造体リストに戻して、
     1413                 *  最適な REPLY メッセージを act に移す。
    14621414                 */
    14631415                if (ct->act_msg != NULL) {
     
    14741426
    14751427/*
    1476  *  select_adv -- 最適な ADVERTISE メッセージを選択する。
     1428 *  select_adv -- 最適な ADVERTISE メッセージを選択する。
    14771429 */
    14781430
     
    14801432select_adv (T_DHCP6_CLI_CONTEXT *ct)
    14811433{
    1482         /* 最適な ADVERTISE メッセージを adv に移す。*/
     1434        /* 最適な ADVERTISE メッセージを adv に移す。*/
    14831435        if ((ct->adv_msg = select_msg(ct)) != NULL) {
    14841436
    14851437                /*
    1486                  *  最適な ADVERTISE メッセージのサーバの IPv6 アドレスを
    1487                  *  次から送信するアドレスに設定する。
     1438                 *  最適な ADVERTISE メッセージのサーバの IPv6 アドレスを
     1439                 *  次から送信するアドレスに設定する。
    14881440                 */
    14891441                ct->dst = ct->adv_msg->srv;
     
    14951447
    14961448/*
    1497  *  eval_expire -- 推奨有効時間と有効時間を決定する。
     1449 *  eval_expire -- 推奨有効時間と有効時間を決定する。
    14981450 */
    14991451
     
    15111463        uint_t          aoff, asize, addrs;
    15121464
    1513         /* タイマーを停止する。*/
     1465        /* タイマーを停止する。*/
    15141466        syscall(wai_sem(SEM_DHCP6_CLI_TIMER));
    15151467        ct->timers[DHCP6C_TIMER_RENEW]  = 0;
     
    15281480                opt = (T_DHCP6_OPTION*)msg;
    15291481
    1530                 /* IA_NA/IA_PD オプションであれば、有効時間を更新する。*/
     1482                /* IA_NA/IA_PD オプションであれば、有効時間を更新する。*/
    15311483                if (MSG2HOST16(opt->code) == DHCP6_OPT_IA_NA || MSG2HOST16(opt->code) == DHCP6_OPT_IA_PD) {
    15321484
     
    15401492                        while (aoff < asize) {
    15411493
    1542                                 /* 最短の推奨有効時間を更新する。*/
     1494                                /* 最短の推奨有効時間を更新する。*/
    15431495                                iaa = (T_DHCP6_OPT_IAADDR*)((uint8_t*)opt + aoff);
    15441496                                //dump_msg_option("evl_depref1", (uint8_t*)iaa);
     
    15521504                                        }
    15531505
    1554                                 /* IAADDR の有効時間を更新する。*/
     1506                                /* IAADDR の有効時間を更新する。*/
    15551507                                iaa = (T_DHCP6_OPT_IAADDR*)((uint8_t*)opt + aoff);
    15561508                                if (!(MSG2HOST16(iaa->len) & DHCP6C_IAA_FLAG_EXPIRED)) {
     
    15701522                                }
    15711523
    1572                         /* iaa_low と iaa_high/2 の最長の方を有効時間として選択する。*/
     1524                        /* iaa_low と iaa_high/2 の最長の方を有効時間として選択する。*/
    15731525                        if (iaa_low <= (iaa_high / 2))
    15741526                                expire = iaa_high;
     
    15761528                                expire = iaa_low;
    15771529
    1578                         /* expire が 最大値(無制限)か 1 以下なら既定値に設定する。*/
     1530                        /* expire が 最大値(無制限)か 1 以下なら既定値に設定する。*/
    15791531                        if ((expire == DHCP6_MAX_TIME) || (expire <= 1))
    15801532                                expire  = SYSTIM2SEC(TMO_DHCP6C_REQ_LEASE) / 2;
     
    15821534                                expire /= 2;
    15831535
    1584                         /* renew を決定する。*/
     1536                        /* renew を決定する。*/
    15851537                        if (MSG2HOST32(ia->renew) == 0)
    15861538                                tval = expire + SYSTIM2SEC(ct->act_msg->rcv_time);
     
    15921544                                renew = tval;
    15931545
    1594                         /* rebind を決定する。*/
     1546                        /* rebind を決定する。*/
    15951547                        if (MSG2HOST32(ia->rebind) == 0)
    15961548                                tval = (expire + expire / 2) + SYSTIM2SEC(ct->act_msg->rcv_time);
     
    16021554                                rebind = tval;
    16031555
    1604                         /* 最短有効時間と最長有効時間を更新する。*/
     1556                        /* 最短有効時間と最長有効時間を更新する。*/
    16051557                        iaa_low  += SYSTIM2SEC(ct->act_msg->rcv_time);
    16061558                        iaa_high += SYSTIM2SEC(ct->act_msg->rcv_time);
     
    16141566                }
    16151567
    1616         /* アドレスが送られていなければ、SLEEP 状æ
    1617 ‹ã«é·ç§»ã™ã‚‹ã€‚*/
     1568        /* アドレスが送られていなければ、SLEEP 状態に遷移する。*/
    16181569        if (addrs == 0) {
    16191570                ct->fsm    = DHCP6_FSM_SLEEP;
    16201571                }
    16211572
    1622         /* 状æ
    1623 ‹ã«ä¾å­˜ã™ã‚‹å‡¦ç† */
     1573        /* 状態に依存する処理 */
    16241574        switch (ct->fsm) {
    16251575
    16261576        case DHCP6_FSM_BOUND:
    16271577
    1628                 /* RENEW タイムアウトの設定 */
     1578                /* RENEW タイムアウトの設定 */
    16291579                if ((rebind > SYSTIM2SEC(time)) && (renew < rebind)) {
    16301580                        ct->next_MRD = SEC2SYSTIM(rebind) - time;
     
    16341584                        break;
    16351585                        }
    1636                 /* break; */    /* 下に抜ける。*/
     1586                /* break; */    /* 下に抜ける。*/
    16371587
    16381588        case DHCP6_FSM_RENEW:
    16391589
    1640                 /* REBIND タイムアウトの設定 */
     1590                /* REBIND タイムアウトの設定 */
    16411591                ct->MRD = SEC2SYSTIM(rebind);
    16421592                if (rebind != DHCP6_MAX_TIME) {
     
    16571607                }
    16581608
    1659         /* DEPREF タイムアウトの設定 */
     1609        /* DEPREF タイムアウトの設定 */
    16601610        if (depref != DHCP6_MAX_TIME) {
    16611611                syscall(wai_sem(SEM_DHCP6_CLI_TIMER));
     
    16641614                }
    16651615
    1666         /* EXPIRE タイムアウトの設定 */
     1616        /* EXPIRE タイムアウトの設定 */
    16671617        if (low != DHCP6_MAX_TIME) {
    16681618                syscall(wai_sem(SEM_DHCP6_CLI_TIMER));
     
    16731623
    16741624/*
    1675  *  start_init -- INIT 状æ
    1676 ‹ã«é·ç§»ã™ã‚‹ã€‚
     1625 *  start_init -- INIT 状態に遷移する。
    16771626 */
    16781627
     
    16801629start_init (T_DHCP6_CLI_CONTEXT *ct)
    16811630{
    1682         /* タイムアウトを設定する。【RFC3315 (17.1.2) 参ç
    1683 §ã€‘*/
     1631        /* タイムアウトを設定する。【RFC3315 (17.1.2) 参照】*/
    16841632        ct->IRT = TMO_SOL_TIMEOUT;
    16851633        ct->MRT = TMO_SOL_MAX_RT;
    16861634        ct->MRC = 0;
    16871635
    1688         /* DHCP6_CLI_CFG_ONE_TRYが指定されていなければ標準タイムアウトまで再送する。*/
     1636        /* DHCP6_CLI_CFG_ONE_TRYが指定されていなければ標準タイムアウトまで再送する。*/
    16891637#if defined(DHCP6_CLI_CFG_ONE_TRY)
    16901638        ct->MRD = 0;
     
    16931641#endif
    16941642
    1695         /* 再送回数とトランザクション ID を設定する。*/
     1643        /* 再送回数とトランザクション ID を設定する。*/
    16961644        init_retrans(ct);
    16971645
    1698         /* RFC3315 (17.1.2) の規定に従ってタイムアウトを調整する。*/
     1646        /* RFC3315 (17.1.2) の規定に従ってタイムアウトを調整する。*/
    16991647        if (ct->RT <= ct->IRT)
    17001648                ct->RT = ct->IRT + (ct->IRT - ct->RT);
     
    17021650                ct->RT = ct->IRT + SEC2SYSTIM(1);
    17031651
    1704         /* ADVERTISE メッセージの受信タイムアウトを設定する。*/
     1652        /* ADVERTISE メッセージの受信タイムアウトを設定する。*/
    17051653        syscall(wai_sem(SEM_DHCP6_CLI_TIMER));
    17061654        ct->timers[DHCP6C_TIMER_RCV_ADV] = SYSTIM2TIMER(ct->MRD);
     
    17081656
    17091657        /*
    1710          *  SOLICIT メッセージ送信é
    1711 å»¶æ™‚間を設定する。
    1712          *  ただし、TMO_SOL_MAX_DELAY が 1[s]なので、dly_tsk()を使用する。
     1658         *  SOLICIT メッセージ送信遅延時間を設定する。
     1659         *  ただし、TMO_SOL_MAX_DELAY が 1[s]なので、dly_tsk()を使用する。
    17131660         */
    17141661        dly_tsk(netapp_rand() % TMO_SOL_MAX_DELAY);
    17151662
    1716         /* INIT 状æ
    1717 ‹ã«é·ç§»ã™ã‚‹ã€‚*/
     1663        /* INIT 状態に遷移する。*/
    17181664        ct->fsm = DHCP6_FSM_INIT;
    17191665
    1720         /* SOLICIT メッセージを送信する。*/
     1666        /* SOLICIT メッセージを送信する。*/
    17211667        ct->flags |= DHCP6C_FLAG_TMOUT_SND_SOL;
    17221668        syscall(sig_sem(SEM_DHCP6_CLI_READY));
     
    17241670
    17251671/*
    1726  *  start_select -- REQUEST メッセージを送信して SELECT 状æ
    1727 ‹ã«é·ç§»ã™ã‚‹ã€‚
     1672 *  start_select -- REQUEST メッセージを送信して SELECT 状態に遷移する。
    17281673 */
    17291674
     
    17311676start_select (T_DHCP6_CLI_CONTEXT *ct)
    17321677{
    1733         /* 有効な ADVERTISE メッセージを受信していなければ SLEEP 状æ
    1734 ‹ã«é·ç§»ã™ã‚‹ã€‚*/
     1678        /* 有効な ADVERTISE メッセージを受信していなければ SLEEP 状態に遷移する。*/
    17351679        if (ct->adv_msg == NULL) {
    17361680                ct->fsm = DHCP6_FSM_SLEEP;
     
    17381682                }
    17391683
    1740         /* タイムアウトを設定する。【RFC3315 (18.1.1) 参ç
    1741 §ã€‘*/
     1684        /* タイムアウトを設定する。【RFC3315 (18.1.1) 参照】*/
    17421685        ct->IRT = TMO_REQ_TIMEOUT;
    17431686        ct->MRT = TMO_REQ_MAX_RT;
     
    17451688        ct->MRD = 0;
    17461689
    1747         /* 再送回数とトランザクション ID を設定する。*/
     1690        /* 再送回数とトランザクション ID を設定する。*/
    17481691        init_retrans(ct);
    17491692
    1750         /* REPLY メッセージの受信タイムアウトを設定する。*/
     1693        /* REPLY メッセージの受信タイムアウトを設定する。*/
    17511694        syscall(wai_sem(SEM_DHCP6_CLI_TIMER));
    17521695        ct->timers[DHCP6C_TIMER_RCV_REPLY] = SYSTIM2TIMER(ct->MRD);
    17531696        syscall(sig_sem(SEM_DHCP6_CLI_TIMER));
    17541697
    1755         /* SELECT 状æ
    1756 ‹ã«é·ç§»ã™ã‚‹ã€‚*/
     1698        /* SELECT 状態に遷移する。*/
    17571699        ct->fsm = DHCP6_FSM_SELECT;
    17581700
    1759         /* REQUEST メッセージを送信する。*/
     1701        /* REQUEST メッセージを送信する。*/
    17601702        ct->flags |= DHCP6C_FLAG_TMOUT_SND_REQ;
    17611703        syscall(sig_sem(SEM_DHCP6_CLI_READY));
     
    17631705
    17641706/*
    1765  *  start_bound -- BOUND 状æ
    1766 ‹ã«é·ç§»ã™ã‚‹ã€‚
     1707 *  start_bound -- BOUND 状態に遷移する。
    17671708 */
    17681709
     
    17701711start_bound (T_DHCP6_CLI_CONTEXT *ct)
    17711712{
    1772         /* 有効なリースæƒ
    1773 å ±ãŒç„¡ã‘れば SLEEP に遷移する。*/
     1713        /* 有効なリース情報が無ければ SLEEP に遷移する。*/
    17741714        if (ct->act_msg == NULL)
    17751715                ct->fsm = DHCP6_FSM_SLEEP;
    17761716
    1777         /* BOUND 状æ
    1778 ‹ã«é·ç§»ã™ã‚‹ã€‚*/
     1717        /* BOUND 状態に遷移する。*/
    17791718        ct->fsm    = DHCP6_FSM_BOUND;
    17801719
    1781         /* リースæƒ
    1782 å ±ã‚’設定する。*/
     1720        /* リース情報を設定する。*/
    17831721        set_lease(ct);
    17841722
    1785         /* 有効時間を決定する。*/
     1723        /* 有効時間を決定する。*/
    17861724        eval_expire(ct);
    17871725
    17881726        }
    17891727/*
    1790  *  start_renew -- RENEW 状æ
    1791 ‹ã«é·ç§»ã™ã‚‹ã€‚
     1728 *  start_renew -- RENEW 状態に遷移する。
    17921729 */
    17931730
     
    17951732start_renew (T_DHCP6_CLI_CONTEXT *ct)
    17961733{
    1797         /* 有効なリースæƒ
    1798 å ±ãŒç„¡ã‘れば SLEEP に遷移する。*/
     1734        /* 有効なリース情報が無ければ SLEEP に遷移する。*/
    17991735        if (ct->act_msg == NULL) {
    18001736                ct->fsm = DHCP6_FSM_SLEEP;
     
    18021738                }
    18031739
    1804         /* タイムアウトを設定する。【RFC3315 (18.1.3) 参ç
    1805 §ã€‘*/
     1740        /* タイムアウトを設定する。【RFC3315 (18.1.3) 参照】*/
    18061741        ct->IRT = TMO_REN_TIMEOUT;
    18071742        ct->MRT = TMO_REN_MAX_RT;
     
    18091744        ct->MRD = ct->next_MRD;
    18101745
    1811         /* 再送回数とトランザクション ID を設定する。*/
     1746        /* 再送回数とトランザクション ID を設定する。*/
    18121747        init_retrans(ct);
    18131748
    1814         /* REFRESH メッセージタイプを設定する。*/
     1749        /* REFRESH メッセージタイプを設定する。*/
    18151750        ct->refresh_type = DHCP6_RENEW;
    18161751
    1817         /* REPLY メッセージの受信タイムアウトを設定する。*/
     1752        /* REPLY メッセージの受信タイムアウトを設定する。*/
    18181753        syscall(wai_sem(SEM_DHCP6_CLI_TIMER));
    18191754        ct->timers[DHCP6C_TIMER_RCV_REPLY] = SYSTIM2TIMER(ct->MRD);
    18201755        syscall(sig_sem(SEM_DHCP6_CLI_TIMER));
    18211756
    1822         /* RENEW 状æ
    1823 ‹ã«é·ç§»ã™ã‚‹ã€‚*/
     1757        /* RENEW 状態に遷移する。*/
    18241758        ct->fsm = DHCP6_FSM_RENEW;
    18251759
    1826         /* REFRESH メッセージを送信する。*/
     1760        /* REFRESH メッセージを送信する。*/
    18271761        ct->flags |= DHCP6C_FLAG_TMOUT_SND_REF;
    18281762        syscall(sig_sem(SEM_DHCP6_CLI_READY));
     
    18301764
    18311765/*
    1832  *  start_rebind -- REBIND 状æ
    1833 ‹ã«é·ç§»ã™ã‚‹ã€‚
     1766 *  start_rebind -- REBIND 状態に遷移する。
    18341767 */
    18351768
     
    18371770start_rebind (T_DHCP6_CLI_CONTEXT *ct)
    18381771{
    1839         /* 有効なリースæƒ
    1840 å ±ãŒç„¡ã‘れば SLEEP に遷移する。*/
     1772        /* 有効なリース情報が無ければ SLEEP に遷移する。*/
    18411773        if (ct->act_msg == NULL) {
    18421774                ct->fsm = DHCP6_FSM_SLEEP;
     
    18441776                }
    18451777
    1846         /* タイムアウトを設定する。【RFC3315 (18.1.4) 参ç
    1847 §ã€‘*/
     1778        /* タイムアウトを設定する。【RFC3315 (18.1.4) 参照】*/
    18481779        ct->IRT = TMO_REB_TIMEOUT;
    18491780        ct->MRT = TMO_REB_MAX_RT;
     
    18511782        ct->MRD = ct->next_MRD;
    18521783
    1853         /* 再送回数とトランザクション ID を設定する。*/
     1784        /* 再送回数とトランザクション ID を設定する。*/
    18541785        init_retrans(ct);
    18551786
    1856         /* REFRESH メッセージタイプを設定する。*/
     1787        /* REFRESH メッセージタイプを設定する。*/
    18571788        ct->refresh_type = DHCP6_REBIND;
    18581789
    1859         /* REPLY メッセージの受信タイムアウトを設定する。*/
     1790        /* REPLY メッセージの受信タイムアウトを設定する。*/
    18601791        syscall(wai_sem(SEM_DHCP6_CLI_TIMER));
    18611792        ct->timers[DHCP6C_TIMER_RCV_REPLY] = SYSTIM2TIMER(ct->MRD);
    18621793        syscall(sig_sem(SEM_DHCP6_CLI_TIMER));
    18631794
    1864         /* 送信å
    1865 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’設定する。*/
     1795        /* 送信先アドレスを設定する。*/
    18661796        ct->dst.ipaddr  = in6_addr_all_DHCP_relay_servers;
    18671797
    1868         /* REBIND 状æ
    1869 ‹ã«é·ç§»ã™ã‚‹ã€‚*/
     1798        /* REBIND 状態に遷移する。*/
    18701799        ct->fsm = DHCP6_FSM_REBIND;
    18711800
    1872         /* REFRESH メッセージを送信する。*/
     1801        /* REFRESH メッセージを送信する。*/
    18731802        ct->flags |= DHCP6C_FLAG_TMOUT_SND_REF;
    18741803        syscall(sig_sem(SEM_DHCP6_CLI_READY));
     
    18761805
    18771806/*
    1878  *  start_rel_info -- アドレスæƒ
    1879 å ±ã‚’解放する。
     1807 *  start_rel_info -- アドレス情報を解放する。
    18801808 *
    1881  *    注意: DHCPv6 の RFC3315 には無い
     1809 *    注意: DHCPv6 の RFC3315 には無い
    18821810 */
    18831811
     
    18851813start_rel_info (T_DHCP6_CLI_CONTEXT *ct)
    18861814{
    1887         /* å
    1888 ¨ã¦ã® TIMER をキャンセルする。*/
     1815        /* 全ての TIMER をキャンセルする。*/
    18891816        cancel_all_timers(ct);
    18901817
    1891         /* リースæƒ
    1892 å ±ã‚’解放する。*/
     1818        /* リース情報を解放する。*/
    18931819        rel_lease(ct);
    18941820
    1895         /* 有効なリースæƒ
    1896 å ±ãŒç„¡ã‘れば SLEEP に遷移する。*/
     1821        /* 有効なリース情報が無ければ SLEEP に遷移する。*/
    18971822        if (ct->act_msg == NULL) {
    18981823                ct->fsm = DHCP6_FSM_SLEEP;
     
    19001825                }
    19011826
    1902         /* タイムアウトを設定する。【RFC3315 (18.1.1) 参ç
    1903 §ã€‘*/
     1827        /* タイムアウトを設定する。【RFC3315 (18.1.1) 参照】*/
    19041828        ct->IRT = TMO_REL_TIMEOUT;
    19051829        ct->MRT = 0;
     
    19071831        ct->MRD = 0;
    19081832
    1909         /* 再送回数とトランザクション ID を設定する。*/
     1833        /* 再送回数とトランザクション ID を設定する。*/
    19101834        init_retrans(ct);
    19111835
    1912         /* REL_INFO 状æ
    1913 ‹ã«é·ç§»ã™ã‚‹ã€‚*/
     1836        /* REL_INFO 状態に遷移する。*/
    19141837        ct->fsm = DHCP6_FSM_REL_INFO;
    19151838
    1916         /* RELEASE メッセージを送信する。*/
     1839        /* RELEASE メッセージを送信する。*/
    19171840        ct->flags |= DHCP6C_FLAG_TMOUT_SND_REL;
    19181841        syscall(sig_sem(SEM_DHCP6_CLI_READY));
     
    19221845
    19231846/*
    1924  *  solicit_ia_option -- SOLICIT メッセージの IA_NA/IA_TA/IA_PD オプションのå
    1925 ±é€šéƒ¨åˆ†ã‚’追加する。
     1847 *  solicit_ia_option -- SOLICIT メッセージの IA_NA/IA_TA/IA_PD オプションの共通部分を追加する。
    19261848 */
    19271849
     
    19321854        uint_t                  off, len;
    19331855
    1934         /* オプションコードを設定する。*/
     1856        /* オプションコードを設定する。*/
    19351857        ia = (T_DHCP6_OPT_IA_TA*)msg;
    19361858        HOST2MSG16(ia->code, code);
    19371859
    1938         /* IAID を設定する。*/
     1860        /* IAID を設定する。*/
    19391861        if (sizeof(ct->sc->ifaddr.lladdr) > sizeof(uint32_t)) {
    19401862                off = sizeof(ct->sc->ifaddr.lladdr) - 4;
     
    19491871
    19501872/*
    1951  *  solicit_iaaddr_option -- SOLICIT メッセージの IAADDR オプションを追加する。
     1873 *  solicit_iaaddr_option -- SOLICIT メッセージの IAADDR オプションを追加する。
    19521874 */
    19531875
     
    19611883
    19621884        /*
    1963          *  有効なリース・メッセージが残っていて、
    1964          *  指定されたオプション(IA_NA/IA_TA/IA_PD)がある場合は
    1965          *  同じアドレスを要求する。
     1885         *  有効なリース・メッセージが残っていて、
     1886         *  指定されたオプション(IA_NA/IA_TA/IA_PD)がある場合は
     1887         *  同じアドレスを要求する。
    19661888         */
    19671889        if ((ct->act_msg == NULL) || (opt = find_msg_option(ct->act_msg, code, 0)) == NULL)
    19681890                return 0;
    19691891
    1970         /* オプションコードを設定する。*/
     1892        /* オプションコードを設定する。*/
    19711893        iaa = (T_DHCP6_OPT_IAADDR*)msg;
    19721894        HOST2MSG16(iaa->code, DHCP6_OPT_IAADDR);
    19731895
    1974         /* IAADDR オプションを除いたオプション長を設定する。*/
     1896        /* IAADDR オプションを除いたオプション長を設定する。*/
    19751897        HOST2MSG16(iaa->len, sizeof(*iaa) - sizeof(T_DHCP6_OPTION));
    19761898
    1977         /* アドレスを設定する。*/
     1899        /* アドレスを設定する。*/
    19781900        len = code == DHCP6_OPT_IA_TA ? sizeof(T_DHCP6_OPT_IA_TA)
    19791901                                      : sizeof(T_DHCP6_OPT_IA_NA_PD);
    19801902        memcpy(&iaa->addr, opt + sizeof(T_DHCP6_OPTION) + len, sizeof(iaa->addr));
    19811903
    1982         /* T1、T2 を設定する。*/
     1904        /* T1、T2 を設定する。*/
    19831905        t1 = TMO_DHCP6C_REQ_LEASE / 2;
    19841906        t2 = t1 + (t1 / 2);
     
    19921914
    19931915/*
    1994  *  solicit_ia_na_pd -- SOLICIT メッセージの IA_NA/IA_PD オプションを追加する。
     1916 *  solicit_ia_na_pd -- SOLICIT メッセージの IA_NA/IA_PD オプションを追加する。
    19951917 */
    19961918
     
    20041926        uint_t                  len;
    20051927
    2006         /* IA_NA/IA_TA/IA_PD オプションのå
    2007 ±é€šéƒ¨åˆ†ã‚’追加する。*/
     1928        /* IA_NA/IA_TA/IA_PD オプションの共通部分を追加する。*/
    20081929        solicit_ia_option(ct, msg, code);
    20091930        ia = (T_DHCP6_OPT_IA_NA_PD*)msg;
    20101931
    2011         /* T1、T2 を設定する。*/
     1932        /* T1、T2 を設定する。*/
    20121933        t1 = TMO_DHCP6C_REQ_LEASE / 2;
    20131934        t2 = t1 + (t1 / 2);
     
    20161937
    20171938        /*
    2018          *  有効なリース・メッセージが残っていて、
    2019          *  指定されたオプション(IA_NA/IA_PD)がある場合は
    2020          *  同じアドレスを要求する。
     1939         *  有効なリース・メッセージが残っていて、
     1940         *  指定されたオプション(IA_NA/IA_PD)がある場合は
     1941         *  同じアドレスを要求する。
    20211942         */
    20221943        msg += sizeof(*ia);
    20231944        len  = solicit_iaaddr_option(ct, msg, code);
    20241945
    2025         /* IA_NAIA_TA/IA_PD オプションを除いたオプション長を設定する。*/
     1946        /* IA_NAIA_TA/IA_PD オプションを除いたオプション長を設定する。*/
    20261947        HOST2MSG16(ia->len, (sizeof(*ia) + len) - sizeof(T_DHCP6_OPTION));
    20271948
     
    20321953
    20331954/*
    2034  *  solicit_ia_ta -- SOLICIT メッセージの IA_TA オプションを追加する。
     1955 *  solicit_ia_ta -- SOLICIT メッセージの IA_TA オプションを追加する。
    20351956 */
    20361957
     
    20421963        T_DHCP6_OPT_IA_TA       *ia;
    20431964
    2044         /* IA_NA/IA_TA/IA_PD オプションのå
    2045 ±é€šéƒ¨åˆ†ã‚’追加する。*/
     1965        /* IA_NA/IA_TA/IA_PD オプションの共通部分を追加する。*/
    20461966        solicit_ia_option(ct, msg, DHCP6_OPT_IA_TA);
    20471967
    2048         /* IA_NAIA_TA/IA_PD オプションを除いたオプション長を設定する。*/
     1968        /* IA_NAIA_TA/IA_PD オプションを除いたオプション長を設定する。*/
    20491969        ia = (T_DHCP6_OPT_IA_TA*)msg;
    20501970        HOST2MSG16(ia->len, sizeof(*ia) - sizeof(T_DHCP6_OPTION));
    20511971
    20521972        /*
    2053          *  有効なリース・メッセージが残っていて、
    2054          *  指定されたオプション(IA_TA)がある場合は
    2055          *  同じアドレスを要求する。
     1973         *  有効なリース・メッセージが残っていて、
     1974         *  指定されたオプション(IA_TA)がある場合は
     1975         *  同じアドレスを要求する。
    20561976         */
    20571977        msg += sizeof(*ia);
     
    20621982
    20631983/*
    2064  *  setup_solicit_msg -- SOLICIT メッセージを作成する。
     1984 *  setup_solicit_msg -- SOLICIT メッセージを作成する。
    20651985 */
    20661986
     
    20701990        uint8_t *head, *msg;
    20711991
    2072         /* メッセージのヘッダ部分を作成する。*/
     1992        /* メッセージのヘッダ部分を作成する。*/
    20731993        if ((head = setup_msg_header(ct, DHCP6_SOLICIT)) == NULL)
    20741994                return E_PAR;
     
    20791999#if defined(DHCP6_CLI_CFG_IA_NA)
    20802000
    2081         /* IA_NA を追加する。*/
     2001        /* IA_NA を追加する。*/
    20822002        msg = solicit_ia_na_pd(ct, msg, DHCP6_OPT_IA_NA);
    20832003#endif
     
    20852005#if defined(DHCP6_CLI_CFG_IA_TA)
    20862006
    2087         /* IA_TA を追加する。*/
     2007        /* IA_TA を追加する。*/
    20882008        msg = solicit_ia_ta(ct, msg);
    20892009#endif
     
    20912011#if defined(DHCP6_CLI_CFG_IA_PD)
    20922012
    2093         /* IA_PD を追加する。*/
     2013        /* IA_PD を追加する。*/
    20942014        msg = solicit_ia_na_pd(ct, msg, DHCP6_OPT_IA_PD);
    20952015#endif
    20962016
    2097         /* メッセージ構造体長を設定する。*/
     2017        /* メッセージ構造体長を設定する。*/
    20982018        ct->snd_msg->len = msg - (uint8_t*)&ct->snd_msg->msg;
    20992019
    2100         /* 送信å
    2101 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’設定する。*/
     2020        /* 送信先アドレスを設定する。*/
    21022021        ct->dst.ipaddr  = in6_addr_all_DHCP_relay_servers;
    21032022        return E_OK;
     
    21052024
    21062025/*
    2107  *  send_solicit_msg -- SOLICIT メッセージを送信する。
     2026 *  send_solicit_msg -- SOLICIT メッセージを送信する。
    21082027 */
    21092028
     
    21162035        ct->error = E_OK;
    21172036
    2118         /* ADVERTISE メッセージの選択が終了していれば、SELECT 状æ
    2119 ‹ã«é·ç§»ã™ã‚‹ã€‚*/
     2037        /* ADVERTISE メッセージの選択が終了していれば、SELECT 状態に遷移する。*/
    21202038        if (select_adv(ct)) {
    21212039
    2122                 /* ADVERTISE メッセージ受信タイマーを停止する。*/
     2040                /* ADVERTISE メッセージ受信タイマーを停止する。*/
    21232041                syscall(wai_sem(SEM_DHCP6_CLI_TIMER));
    21242042                ct->timers[DHCP6C_TIMER_RCV_ADV] = 0;
    21252043                syscall(sig_sem(SEM_DHCP6_CLI_TIMER));
    21262044
    2127                 /* REQUEST メッセージを送信して SELECT 状æ
    2128 ‹ã«é·ç§»ã™ã‚‹ã€‚*/
     2045                /* REQUEST メッセージを送信して SELECT 状態に遷移する。*/
    21292046                start_select(ct);
    21302047                return;
    21312048                }
    21322049
    2133         /* 再送信回数を確認する。*/
     2050        /* 再送信回数を確認する。*/
    21342051        if ((ct->MRC != 0) && (ct->txcount > ct->MRC)) {
    21352052                ct->error  = E_TMOUT;
     
    21372054                }
    21382055
    2139         /* SOLICIT メッセージを作成する。*/
     2056        /* SOLICIT メッセージを作成する。*/
    21402057        if ((error = setup_solicit_msg(ct, NULL)) != E_OK) {
    21412058                syslog(LOG_NOTICE, "[DHCP6C] error, setup solicit message: %s.", itron_strerror(error));
     
    21442061                }
    21452062
    2146         /* SOLICIT メッセージを送信する。*/
     2063        /* SOLICIT メッセージを送信する。*/
    21472064        error = UDP_SND_DAT(ct->cepid, &ct->dst, &ct->snd_msg->msg, ct->snd_msg->len, TMO_NBLK);
    21482065        if (error != E_WBLK) {
     
    21522069                }
    21532070
    2154         /* 再送信タイムアウトを設定する。*/
     2071        /* 再送信タイムアウトを設定する。*/
    21552072        syscall(wai_sem(SEM_DHCP6_CLI_TIMER));
    21562073        ct->timers[DHCP6C_TIMER_SND_SOL] = SYSTIM2TIMER(ct->RT);
    21572074        syscall(sig_sem(SEM_DHCP6_CLI_TIMER));
    21582075
    2159         /* 再送信タイムアウトを更新する。*/
     2076        /* 再送信タイムアウトを更新する。*/
    21602077        advance_retrans(ct);
    21612078        }
    21622079
    21632080/*
    2164  *  request_ia_option -- REQUEST メッセージの IA_NA/IA_TA/IA_PD オプションのå
    2165 ±é€šéƒ¨åˆ†ã‚’追加する。
     2081 *  request_ia_option -- REQUEST メッセージの IA_NA/IA_TA/IA_PD オプションの共通部分を追加する。
    21662082 */
    21672083
     
    21762092        src = (T_DHCP6_OPT_IA_NA_PD*)lease;
    21772093
    2178         /* オプションコードを設定する。*/
     2094        /* オプションコードを設定する。*/
    21792095        HOST2MSG16(dst->code, code);
    21802096
    2181         /* IA_NAIA_TA/IA_PD オプションを除いたオプション長を設定する。*/
     2097        /* IA_NAIA_TA/IA_PD オプションを除いたオプション長を設定する。*/
    21822098        HOST2MSG16(dst->len, sizeof(*dst) - (sizeof(dst->code) + sizeof(dst->len)));
    21832099
    2184         /* ADVERTISE メッセージから IA ID をコピーする。*/
     2100        /* ADVERTISE メッセージから IA ID をコピーする。*/
    21852101        memcpy(&dst->iaid, &src->iaid, sizeof(src->iaid));
    21862102
     
    21912107
    21922108/*
    2193  *  request_ia_na_pd -- REQUEST メッセージの IA_NA/IA_PD オプションを追加する。
     2109 *  request_ia_na_pd -- REQUEST メッセージの IA_NA/IA_PD オプションを追加する。
    21942110 */
    21952111
     
    22052121        uint_t                  ix, nsiaa;
    22062122
    2207         /* ADVERTISE メッセージに指定されたオプションがあることを確認する。*/
     2123        /* ADVERTISE メッセージに指定されたオプションがあることを確認する。*/
    22082124        if ((opt = find_msg_option(lease, opt_code, 0)) == NULL)
    22092125                return msg;
    22102126
    2211         /* IA_NA/IA_TA/IA_PD オプションのå
    2212 ±é€šéƒ¨åˆ†ã‚’追加する。*/
     2127        /* IA_NA/IA_TA/IA_PD オプションの共通部分を追加する。*/
    22132128        dia = (T_DHCP6_OPT_IA_NA_PD*)msg;
    22142129        sia = (T_DHCP6_OPT_IA_NA_PD*)opt;
    22152130        msg = request_ia_option(ct, msg, opt_code, opt);
    22162131
    2217         /* T1、T2 を決定する。*/
     2132        /* T1、T2 を決定する。*/
    22182133        switch (msg_type) {
    22192134        case DHCP6_REQUEST:
     
    22362151                }
    22372152
    2238         /* T1、T2 を設定する。*/
     2153        /* T1、T2 を設定する。*/
    22392154        HOST2MSG32(dia->renew,  t1);
    22402155        HOST2MSG32(dia->rebind, t2);
    22412156        msg += sizeof(dia->renew) + sizeof(dia->rebind);
    22422157
    2243         /* IAADDR オプションを設定する。*/
     2158        /* IAADDR オプションを設定する。*/
    22442159        nsiaa = ((MSG2HOST16(sia->len) & ~DHCP6C_IAA_FLAG_MASK) - (sizeof(*sia) - (sizeof(sia->code) + sizeof(sia->len)))) / sizeof(*siaa);
    22452160
     
    22482163                siaa = (T_DHCP6_OPT_IAADDR*)((opt + sizeof(*sia)) + sizeof(*siaa) * ix);
    22492164
    2250                 /* アドレスの有効期限が切れていればスキップする。*/
     2165                /* アドレスの有効期限が切れていればスキップする。*/
    22512166                if (MSG2HOST16(siaa->len) & DHCP6C_IAA_FLAG_EXPIRED)
    22522167                        continue;
    22532168
    2254                 /* コードと長さを設定する。*/
     2169                /* コードと長さを設定する。*/
    22552170                memcpy(&diaa->code, &siaa->code, sizeof(siaa->code));
    22562171                HOST2MSG16(diaa->len, MSG2HOST16(siaa->len) & ~DHCP6C_IAA_FLAG_MASK);
    22572172                msg += sizeof(dia->code) + sizeof(dia->len);
    22582173
    2259                 /* IPv6 アドレスをコピーする。*/
     2174                /* IPv6 アドレスをコピーする。*/
    22602175                memcpy(&diaa->addr, &siaa->addr, sizeof(siaa->addr));
    22612176                msg += sizeof(diaa->addr);
    22622177
    2263                 /* T1、T2 を決定する。*/
     2178                /* T1、T2 を決定する。*/
    22642179                switch (msg_type) {
    22652180                case DHCP6_REQUEST:
     
    22822197                        }
    22832198
    2284                 /* T1、T2 を設定する。*/
     2199                /* T1、T2 を設定する。*/
    22852200                HOST2MSG32(diaa->prefer, t1);
    22862201                HOST2MSG32(diaa->valid,  t2);
    22872202                msg += sizeof(diaa->prefer) + sizeof(diaa->valid);
    22882203
    2289                 /* IAADDR に付加オプションを追加する【å
    2290 ˆé€ã‚Šã€‘。*/
     2204                /* IAADDR に付加オプションを追加する【先送り】。*/
    22912205                }
    22922206
     
    22992213
    23002214/*
    2301  *  request_ia_ta -- REQUEST メッセージの IA_TA オプションを追加する。
     2215 *  request_ia_ta -- REQUEST メッセージの IA_TA オプションを追加する。
    23022216 */
    23032217
     
    23132227        uint_t                  ix, nsiaa;
    23142228
    2315         /* ADVERTISE メッセージに IA_TA オプションがあることを確認する。*/
     2229        /* ADVERTISE メッセージに IA_TA オプションがあることを確認する。*/
    23162230        if ((opt = find_msg_option(lease, DHCP6_OPT_IA_TA, 0)) == NULL)
    23172231                return msg;
    23182232
    2319         /* IA_NA/IA_TA/IA_PD オプションのå
    2320 ±é€šéƒ¨åˆ†ã‚’追加する。*/
     2233        /* IA_NA/IA_TA/IA_PD オプションの共通部分を追加する。*/
    23212234        dia = (T_DHCP6_OPT_IA_TA*)msg;
    23222235        sia = (T_DHCP6_OPT_IA_TA*)opt;
    23232236        msg = request_ia_option(ct, msg, DHCP6_OPT_IA_TA, opt);
    23242237
    2325         /* IAADDR オプションを設定する。*/
     2238        /* IAADDR オプションを設定する。*/
    23262239        nsiaa = ((MSG2HOST16(sia->len) & ~DHCP6C_IAA_FLAG_MASK) - (sizeof(*sia) - (sizeof(sia->code) + sizeof(sia->len)))) / sizeof(*siaa);
    23272240
     
    23302243                siaa = (T_DHCP6_OPT_IAADDR*)((opt + sizeof(*sia)) + sizeof(*siaa) * ix);
    23312244
    2332                 /* アドレスの有効期限が切れていればスキップする。*/
     2245                /* アドレスの有効期限が切れていればスキップする。*/
    23332246                if (MSG2HOST16(siaa->len) & DHCP6C_IAA_FLAG_EXPIRED)
    23342247                        continue;
    23352248
    2336                 /* コードと長さを設定する。*/
     2249                /* コードと長さを設定する。*/
    23372250                memcpy(diaa->code, siaa->code, sizeof(siaa->code));
    23382251                diaa->len  = HOST2MSG16(MSG2HOST16(siaa->len) & ~DHCP6C_IAA_FLAG_MASK);
    23392252                msg += sizeof(dia->code) + sizeof(dia->len);
    23402253
    2341                 /* IPv6 アドレスをコピーする。*/
     2254                /* IPv6 アドレスをコピーする。*/
    23422255                memcpy(diaa->addr, siaa->addr, sizeof(siaa->addr));
    23432256                msg += sizeof(diaa->addr);
    23442257
    2345                 /* T1、T2 を決定する。*/
     2258                /* T1、T2 を決定する。*/
    23462259                switch (msg_type) {
    23472260                case DHCP6_REQUEST:
     
    23642277                        }
    23652278
    2366                 /* T1、T2 を設定する。*/
     2279                /* T1、T2 を設定する。*/
    23672280                HOST2MSG32(diaa->prefer, t1);
    23682281                HOST2MSG32(diaa->valid,  t2);
    23692282                msg += sizeof(diaa->prefer) + sizeof(diaa->valid);
    23702283
    2371                 /* IAADDR に付加オプションを追加する【å
    2372 ˆé€ã‚Šã€‘。*/
     2284                /* IAADDR に付加オプションを追加する【先送り】。*/
    23732285                }
    23742286
     
    23792291
    23802292/*
    2381  *  setup_request_msg -- REQUEST メッセージを作成する。
     2293 *  setup_request_msg -- REQUEST メッセージを作成する。
    23822294 */
    23832295
     
    23872299        uint8_t *msg;
    23882300
    2389         /* メッセージのヘッダ部分を作成する。*/
     2301        /* メッセージのヘッダ部分を作成する。*/
    23902302        if ((msg = setup_msg_header(ct, type)) == NULL)
    23912303                return E_PAR;
     
    23962308#if defined(DHCP6_CLI_CFG_IA_NA)
    23972309
    2398         /* IA_NA を追加する。*/
     2310        /* IA_NA を追加する。*/
    23992311        msg = request_ia_na_pd(ct, msg, type, DHCP6_OPT_IA_NA, lease);
    24002312#endif
     
    24022314#if defined(DHCP6_CLI_CFG_IA_TA)
    24032315
    2404         /* IA_TA を追加する。*/
     2316        /* IA_TA を追加する。*/
    24052317        msg = request_ia_ta(ct, msg, type, lease);
    24062318#endif
     
    24082320#if defined(DHCP6_CLI_CFG_IA_PD)
    24092321
    2410         /* IA_PD を追加する。*/
     2322        /* IA_PD を追加する。*/
    24112323        msg = request_ia_na_pd(ct, msg, type, DHCP6_OPT_IA_PD, lease);
    24122324#endif
    24132325
    2414         /* メッセージ構造体長を設定する。*/
     2326        /* メッセージ構造体長を設定する。*/
    24152327        ct->snd_msg->len = msg - (uint8_t*)&ct->snd_msg->msg;
    24162328        return E_OK;
     
    24182330
    24192331/*
    2420  *  send_request_msg -- REQUEST メッセージを送信する。
     2332 *  send_request_msg -- REQUEST メッセージを送信する。
    24212333 */
    24222334
     
    24292341        ct->flags &= ~DHCP6C_FLAG_TMOUT_MASK;
    24302342
    2431         /* ADVERTISE メッセージを受信していなければエラー */
     2343        /* ADVERTISE メッセージを受信していなければエラー */
    24322344        if (ct->adv_msg == NULL) {
    24332345                ct->error  = E_OBJ;
     
    24352347                }
    24362348
    2437         /* REPLY メッセージの選択が終了していれば、BOUND 状æ
    2438 ‹ã«é·ç§»ã™ã‚‹ã€‚*/
     2349        /* REPLY メッセージの選択が終了していれば、BOUND 状態に遷移する。*/
    24392350        if (select_reply(ct)) {
    24402351
    2441                 /* REPLY メッセージ受信タイマーを停止する。*/
     2352                /* REPLY メッセージ受信タイマーを停止する。*/
    24422353                syscall(wai_sem(SEM_DHCP6_CLI_TIMER));
    24432354                ct->timers[DHCP6C_TIMER_RCV_REPLY] = 0;
    24442355                syscall(sig_sem(SEM_DHCP6_CLI_TIMER));
    24452356
    2446                 /* ADVERTISE メッセージを受信メッセージ構造体リストに戻す。*/
     2357                /* ADVERTISE メッセージを受信メッセージ構造体リストに戻す。*/
    24472358                syscall(wai_sem(SEM_DHCP6_CLI_LOCK));
    24482359                ct->adv_msg->next = ct->rcv_lst;
     
    24512362                syscall(sig_sem(SEM_DHCP6_CLI_LOCK));
    24522363
    2453                 /* BOUND 状æ
    2454 ‹ã«é·ç§»ã™ã‚‹ã€‚*/
     2364                /* BOUND 状態に遷移する。*/
    24552365                start_bound(ct);
    24562366                return;
    24572367                }
    24582368
    2459         /* 再送信回数を確認する。*/
     2369        /* 再送信回数を確認する。*/
    24602370        if ((ct->MRC != 0) && (ct->txcount > ct->MRC)) {
    24612371                ct->error  = E_TMOUT;
     
    24632373                }
    24642374
    2465         /* REQUEST メッセージを作成する。*/
     2375        /* REQUEST メッセージを作成する。*/
    24662376        if ((error = setup_request_msg(ct, ct->adv_msg, DHCP6_REQUEST)) != E_OK) {
    24672377                syslog(LOG_NOTICE, "[DHCP6C] error, setup request message: %s.", itron_strerror(error));
     
    24702380                }
    24712381
    2472         /* REQUEST メッセージを送信する。*/
     2382        /* REQUEST メッセージを送信する。*/
    24732383        error = UDP_SND_DAT(ct->cepid, &ct->dst, &ct->snd_msg->msg, ct->snd_msg->len, TMO_NBLK);
    24742384        if (error != E_WBLK) {
     
    24782388                }
    24792389
    2480         /* 再送信タイムアウトを設定する。*/
     2390        /* 再送信タイムアウトを設定する。*/
    24812391        syscall(wai_sem(SEM_DHCP6_CLI_TIMER));
    24822392        ct->timers[DHCP6C_TIMER_SND_REQ] = SYSTIM2TIMER(ct->RT);
    24832393        syscall(sig_sem(SEM_DHCP6_CLI_TIMER));
    24842394
    2485         /* 再送信タイムアウトを更新する。*/
     2395        /* 再送信タイムアウトを更新する。*/
    24862396        advance_retrans(ct);
    24872397        }
    24882398
    24892399/*
    2490  *  send_refresh_msg -- REFRESH メッセージを送信する。
     2400 *  send_refresh_msg -- REFRESH メッセージを送信する。
    24912401 */
    24922402
     
    24982408        uint8_t                 *opt;
    24992409
    2500         /* 有効なリースæƒ
    2501 å ±ãŒãªã‘ればエラー */
     2410        /* 有効なリース情報がなければエラー */
    25022411        ct->flags &= ~DHCP6C_FLAG_TMOUT_MASK;
    25032412        if (ct->act_msg == NULL)
    25042413                ct->error = E_OBJ;
    25052414
    2506         /* REFRESH タイプが RENEW または REBIND でなければエラー */
     2415        /* REFRESH タイプが RENEW または REBIND でなければエラー */
    25072416        if (!((ct->refresh_type == DHCP6_RENEW) || (ct->refresh_type == DHCP6_REBIND)))
    25082417                ct->error = E_PAR;
    25092418
    2510         /* REPLY メッセージの選択が終了していれば、BOUND 状æ
    2511 ‹ã«é·ç§»ã™ã‚‹ã€‚*/
     2419        /* REPLY メッセージの選択が終了していれば、BOUND 状態に遷移する。*/
    25122420        if (select_reply(ct)) {
    25132421
    2514                 /* REPLY メッセージ受信タイマーを停止する。*/
     2422                /* REPLY メッセージ受信タイマーを停止する。*/
    25152423                syscall(wai_sem(SEM_DHCP6_CLI_TIMER));
    25162424                ct->timers[DHCP6C_TIMER_RCV_REPLY] = 0;
    25172425                syscall(sig_sem(SEM_DHCP6_CLI_TIMER));
    25182426
    2519                 /* リースæƒ
    2520 å ±ã‚’解放する。*/
     2427                /* リース情報を解放する。*/
    25212428                rel_lease(ct);
    25222429
    2523                 /* BOUND 状æ
    2524 ‹ã«é·ç§»ã™ã‚‹ã€‚*/
     2430                /* BOUND 状態に遷移する。*/
    25252431                start_bound(ct);
    25262432                return;
    25272433                }
    25282434
    2529         /* 再送信回数を確認する。*/
     2435        /* 再送信回数を確認する。*/
    25302436        if ((ct->MRC != 0) && (ct->txcount > ct->MRC)) {
    25312437                eval_expire(ct);
     
    25342440
    25352441        /*
    2536          *  サーバから UNICAST オプションを受信したときは
    2537          *  指定したアドレスを送信å
    2538 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ã«è¨­å®šã™ã‚‹ã€‚
     2442         *  サーバから UNICAST オプションを受信したときは
     2443         *  指定したアドレスを送信先アドレスに設定する。
    25392444         */
    25402445        if ((opt = find_msg_option(ct->act_msg, DHCP6_OPT_UNICAST, sizeof(T_DHCP6_OPT_UNICAST))) != NULL) {
     
    25432448                }
    25442449
    2545         /* REFRESH (REQUEST) メッセージを作成する。*/
     2450        /* REFRESH (REQUEST) メッセージを作成する。*/
    25462451        if ((error = setup_request_msg(ct, ct->act_msg, ct->refresh_type)) != E_OK) {
    25472452                syslog(LOG_NOTICE, "[DHCP6C] error, setup refresh message: %s.", itron_strerror(error));
     
    25502455                }
    25512456
    2552         /* REFRESH メッセージを送信する。*/
     2457        /* REFRESH メッセージを送信する。*/
    25532458        error = UDP_SND_DAT(ct->cepid, &ct->dst, &ct->snd_msg->msg, ct->snd_msg->len, TMO_NBLK);
    25542459        if (error != E_WBLK) {
     
    25582463                }
    25592464
    2560         /* 再送信タイムアウトを設定する。*/
     2465        /* 再送信タイムアウトを設定する。*/
    25612466        syscall(wai_sem(SEM_DHCP6_CLI_TIMER));
    25622467        ct->timers[DHCP6C_TIMER_SND_REF] = SYSTIM2TIMER(ct->RT);
    25632468        syscall(sig_sem(SEM_DHCP6_CLI_TIMER));
    25642469
    2565         /* 再送信タイムアウトを更新する。*/
     2470        /* 再送信タイムアウトを更新する。*/
    25662471        advance_retrans(ct);
    25672472        }
    25682473
    25692474/*
    2570  *  setup_release_msg -- RELEASE メッセージを作成する。
     2475 *  setup_release_msg -- RELEASE メッセージを作成する。
    25712476 */
    25722477
     
    25762481        uint8_t *msg;
    25772482
    2578         /* メッセージのヘッダ部分を作成する。*/
     2483        /* メッセージのヘッダ部分を作成する。*/
    25792484        if ((msg = setup_msg_header(ct, type)) == NULL)
    25802485                return E_PAR;
     
    25852490#if defined(DHCP6_CLI_CFG_IA_NA)
    25862491
    2587         /* IA_NA を追加する。*/
     2492        /* IA_NA を追加する。*/
    25882493        msg = request_ia_na_pd(ct, msg, type, DHCP6_OPT_IA_NA, lease);
    25892494#endif
     
    25912496#if defined(DHCP6_CLI_CFG_IA_PD)
    25922497
    2593         /* IA_PD を追加する。*/
     2498        /* IA_PD を追加する。*/
    25942499        msg = request_ia_na_pd(ct, msg, type, DHCP6_OPT_IA_PD, lease);
    25952500#endif
    25962501
    2597         /* メッセージ構造体長を設定する。*/
     2502        /* メッセージ構造体長を設定する。*/
    25982503        ct->snd_msg->len = msg - (uint8_t*)&ct->snd_msg->msg;
    25992504        return E_OK;
     
    26012506
    26022507/*
    2603  *  send_release_msg -- RELEASE メッセージを送信する。
     2508 *  send_release_msg -- RELEASE メッセージを送信する。
    26042509 */
    26052510
     
    26092514        ER      error;
    26102515
    2611         /* 有効な REPLY メッセージを受信していなければエラー */
     2516        /* 有効な REPLY メッセージを受信していなければエラー */
    26122517        ct->flags &= ~DHCP6C_FLAG_TMOUT_MASK;
    26132518        if (ct->act_msg == NULL)
    26142519                ct->error = E_OBJ;
    26152520
    2616         /* 有効な REPLY メッセージを受信していれば、SLEEP 状æ
    2617 ‹ã«é·ç§»ã™ã‚‹ã€‚*/
     2521        /* 有効な REPLY メッセージを受信していれば、SLEEP 状態に遷移する。*/
    26182522        syscall(wai_sem(SEM_DHCP6_CLI_LOCK));
    26192523        if (ct->prf_lst != NULL) {
    26202524
    2621                 /* 再送信タイマーを停止する。*/
     2525                /* 再送信タイマーを停止する。*/
    26222526                syscall(wai_sem(SEM_DHCP6_CLI_TIMER));
    26232527                ct->timers[DHCP6C_TIMER_RCV_REPLY] = 0;
    26242528                syscall(sig_sem(SEM_DHCP6_CLI_TIMER));
    26252529
    2626                 /* 有効なリース・メッセージ構造体を解放する。*/
     2530                /* 有効なリース・メッセージ構造体を解放する。*/
    26272531                if (ct->act_msg != NULL) {
    26282532                        syscall(rel_mpf(MPF_DHCP6_CLI_MSG, (void*)ct->act_msg));
     
    26302534                        }
    26312535
    2632                 /* SLEEP 状æ
    2633 ‹ã«é·ç§»ã™ã‚‹ã€‚*/
     2536                /* SLEEP 状態に遷移する。*/
    26342537                ct->fsm    = DHCP6_FSM_SLEEP;
    26352538                syscall(sig_sem(SEM_DHCP6_CLI_LOCK));
     
    26382541        syscall(sig_sem(SEM_DHCP6_CLI_LOCK));
    26392542
    2640         /* 再送信回数を確認する。*/
     2543        /* 再送信回数を確認する。*/
    26412544        if ((ct->MRC != 0) && (ct->txcount > ct->MRC)) {
    26422545                ct->error  = E_TMOUT;
     
    26442547                }
    26452548
    2646         /* RELEASE メッセージを作成する。*/
     2549        /* RELEASE メッセージを作成する。*/
    26472550        if ((error = setup_release_msg(ct, ct->act_msg, DHCP6_RELEASE)) != E_OK) {
    26482551                syslog(LOG_NOTICE, "[DHCP6C] error, setup release message: %s.", itron_strerror(error));
     
    26512554                }
    26522555
    2653         /* RELEASE メッセージを送信する。*/
     2556        /* RELEASE メッセージを送信する。*/
    26542557        error = UDP_SND_DAT(ct->cepid, &ct->dst, &ct->snd_msg->msg, ct->snd_msg->len, TMO_NBLK);
    26552558        if (error != E_WBLK) {
     
    26592562                }
    26602563
    2661         /* 再送信タイムアウトを設定する。*/
     2564        /* 再送信タイムアウトを設定する。*/
    26622565        syscall(wai_sem(SEM_DHCP6_CLI_TIMER));
    26632566        ct->timers[DHCP6C_TIMER_SND_REL] = SYSTIM2TIMER(ct->RT);
    26642567        syscall(sig_sem(SEM_DHCP6_CLI_TIMER));
    26652568
    2666         /* 再送信タイムアウトを更新する。*/
     2569        /* 再送信タイムアウトを更新する。*/
    26672570        advance_retrans(ct);
    26682571        }
    26692572
    26702573/*
    2671  *  advertise_msg_timeout -- ADVERTISE メッセージのタイムアウト処理
     2574 *  advertise_msg_timeout -- ADVERTISE メッセージのタイムアウト処理
    26722575 */
    26732576
     
    26752578advertise_msg_timeout (T_DHCP6_CLI_CONTEXT *ct)
    26762579{
    2677         /* SOLICIT メッセージ送信タイマーを停止する。*/
     2580        /* SOLICIT メッセージ送信タイマーを停止する。*/
    26782581        ct->flags &= ~DHCP6C_FLAG_TMOUT_MASK;
    26792582        syscall(wai_sem(SEM_DHCP6_CLI_TIMER));
     
    26832586        if (select_adv(ct)) {
    26842587                /*
    2685                  *  ADVERTISE メッセージの選択が終了していれば、
    2686                  *  REQUEST メッセージを送信して SELECT 状æ
    2687 ‹ã«é·ç§»ã™ã‚‹ã€‚
     2588                 *  ADVERTISE メッセージの選択が終了していれば、
     2589                 *  REQUEST メッセージを送信して SELECT 状態に遷移する。
    26882590                 */
    26892591                start_select(ct);
     
    26942596
    26952597/*
    2696  *  renew_timeout -- RENEW タイムアウト処理
     2598 *  renew_timeout -- RENEW タイムアウト処理
    26972599 */
    26982600
     
    27002602renew_timeout (T_DHCP6_CLI_CONTEXT *ct)
    27012603{
    2702         /* RENEW 状æ
    2703 ‹ã«é·ç§»ã™ã‚‹ã€‚*/
     2604        /* RENEW 状態に遷移する。*/
    27042605        ct->flags &= ~DHCP6C_FLAG_TMOUT_MASK;
    27052606        start_renew(ct);
     
    27072608
    27082609/*
    2709  *  rebind_timeout -- REBIND タイムアウト処理
     2610 *  rebind_timeout -- REBIND タイムアウト処理
    27102611 */
    27112612
     
    27132614rebind_timeout (T_DHCP6_CLI_CONTEXT *ct)
    27142615{
    2715         /* REBIND 状æ
    2716 ‹ã«é·ç§»ã™ã‚‹ã€‚*/
     2616        /* REBIND 状態に遷移する。*/
    27172617        ct->flags &= ~DHCP6C_FLAG_TMOUT_MASK;
    27182618        start_rebind(ct);
     
    27202620
    27212621/*
    2722  *  depref_timeout -- DEPREF タイムアウト処理
     2622 *  depref_timeout -- DEPREF タイムアウト処理
    27232623 */
    27242624
     
    27332633        uint_t          aoff, asize;
    27342634
    2735         /* 有効なリースが無ければ処理終了 */
     2635        /* 有効なリースが無ければ処理終了 */
    27362636        ct->flags &= ~DHCP6C_FLAG_TMOUT_MASK;
    27372637        if (ct->act_msg == NULL) {
     
    27442644        while (msg < last) {
    27452645
    2746                 /* IA_NA/IA_PD オプションであれば、推奨有効時間を確認する。*/
     2646                /* IA_NA/IA_PD オプションであれば、推奨有効時間を確認する。*/
    27472647                opt = (T_DHCP6_OPTION*)msg;
    27482648                if (MSG2HOST16(opt->code) == DHCP6_OPT_IA_NA || MSG2HOST16(opt->code) == DHCP6_OPT_IA_PD) {
     
    27532653                                                  aoff += (MSG2HOST16(iaa->len) & ~DHCP6C_IAA_FLAG_MASK) + sizeof(*iaa)) {
    27542654
    2755                                 /* すでに推奨有効時間を経過していれば処理しない。*/
     2655                                /* すでに推奨有効時間を経過していれば処理しない。*/
    27562656                                iaa = (T_DHCP6_OPT_IAADDR*)((uint8_t*)opt + aoff);
    27572657                                if ((MSG2HOST16(iaa->len) & DHCP6C_IAA_FLAG_DEPREFERD))
    27582658                                        continue;
    27592659
    2760                                 /* 推奨有効時間経過していれば FLAG を設定する。*/
     2660                                /* 推奨有効時間経過していれば FLAG を設定する。*/
    27612661                                if (TIMEC_GE(time, ct->act_msg->rcv_time + MSG2HOST32(iaa->prefer))) {
    27622662                                        HOST2MSG16(iaa->len, MSG2HOST16(iaa->len) | DHCP6C_IAA_FLAG_DEPREFERD);
     
    27662666                                                syslog(LOG_NOTICE, "[DHCP6C] prefix  depreferd: %s.", ipv62str(NULL, &iaa->addr));
    27672667
    2768                                         /*【DNS の処理がå¿
    2769 è¦ã€‘*/
     2668                                        /*【DNS の処理が必要】*/
    27702669                                        }
    27712670                                }
     
    27782677
    27792678/*
    2780  *  expire_timeout -- EXPIRE タイムアウト処理
     2679 *  expire_timeout -- EXPIRE タイムアウト処理
    27812680 */
    27822681
     
    27912690        uint_t          aoff, asize, addrs = 0;
    27922691
    2793         /* 有効なリースが無ければ処理終了 */
     2692        /* 有効なリースが無ければ処理終了 */
    27942693        ct->flags &= ~DHCP6C_FLAG_TMOUT_MASK;
    27952694        if (ct->act_msg == NULL) {
     
    28022701        while (msg < last) {
    28032702
    2804                 /* IA_NA/IA_PD オプションであれば、有効時間を確認する。*/
     2703                /* IA_NA/IA_PD オプションであれば、有効時間を確認する。*/
    28052704                opt = (T_DHCP6_OPTION*)msg;
    28062705                if (MSG2HOST16(opt->code) == DHCP6_OPT_IA_NA || MSG2HOST16(opt->code) == DHCP6_OPT_IA_PD) {
     
    28112710                                                  aoff += (MSG2HOST16(iaa->len) & ~DHCP6C_IAA_FLAG_MASK) + sizeof(*iaa)) {
    28122711
    2813                                 /* すでに有効時間を経過していれば処理しない。*/
     2712                                /* すでに有効時間を経過していれば処理しない。*/
    28142713                                iaa = (T_DHCP6_OPT_IAADDR*)((uint8_t*)opt + aoff);
    28152714                                if ((MSG2HOST16(iaa->len) & DHCP6C_IAA_FLAG_EXPIRED))
    28162715                                        continue;
    28172716
    2818                                 /* 有効時間経過していれば FLAG を設定する。*/
     2717                                /* 有効時間経過していれば FLAG を設定する。*/
    28192718                                if (TIMEC_GE(time, ct->act_msg->rcv_time + MSG2HOST32(iaa->valid))) {
    28202719                                        HOST2MSG16(iaa->len, MSG2HOST16(iaa->len) | DHCP6C_IAA_FLAG_EXPIRED);
     
    28242723                                                syslog(LOG_NOTICE, "[DHCP6C] prefix  expired: %s.", ipv62str(NULL, &iaa->addr));
    28252724
    2826                                         /*【DNS の処理がå¿
    2827 è¦ã€‘*/
     2725                                        /*【DNS の処理が必要】*/
    28282726                                        continue;
    28292727                                        }
     
    28342732                }
    28352733
    2836         /* 有効なアドレスがå
    2837 ¨ã¦ç„¡ããªã£ãŸæ™‚は INIT 状æ
    2838 ‹ã«é·ç§»ã™ã‚‹ã€‚*/
     2734        /* 有効なアドレスが全て無くなった時は INIT 状態に遷移する。*/
    28392735        if (addrs == 0) {
    28402736
    2841                 /* ACTIVE リースを受信メッセージ構造体リストに戻す。*/
     2737                /* ACTIVE リースを受信メッセージ構造体リストに戻す。*/
    28422738                syslog(LOG_NOTICE, "[DHCP6C] all address expired.");
    28432739                syscall(wai_sem(SEM_DHCP6_CLI_LOCK));
     
    28472743                syscall(sig_sem(SEM_DHCP6_CLI_LOCK));
    28482744
    2849                 /* å
    2850 ¨ã¦ã® TIMER をキャンセルする。*/
     2745                /* 全ての TIMER をキャンセルする。*/
    28512746                cancel_all_timers(ct);
    28522747
    2853                 /* INIT 状æ
    2854 ‹ã«é·ç§»ã™ã‚‹ã€‚*/
     2748                /* INIT 状態に遷移する。*/
    28552749                start_init(ct);
    28562750                return;
     
    28632757
    28642758/*
    2865  *  reply_msg_timeout -- REPLY メッセージのタイムアウト処理
     2759 *  reply_msg_timeout -- REPLY メッセージのタイムアウト処理
    28662760 */
    28672761
     
    28692763reply_msg_timeout (T_DHCP6_CLI_CONTEXT *ct)
    28702764{
    2871         /* SOLICIT メッセージ送信タイマーを停止する。*/
     2765        /* SOLICIT メッセージ送信タイマーを停止する。*/
    28722766        ct->flags &= ~DHCP6C_FLAG_TMOUT_MASK;
    28732767        syscall(wai_sem(SEM_DHCP6_CLI_TIMER));
     
    28782772#if DHCP6_CLI_CFG_MODE == DHCP6_CLI_CFG_STATELESS || DHCP6_CLI_CFG_MODE == DHCP6_CLI_CFG_RA
    28792773
    2880         /* STATELES モードではSLEEP に遷移する。*/
     2774        /* STATELES モードではSLEEP に遷移する。*/
    28812775        ct->error = E_TMOUT;
    28822776        ct->fsm   = DHCP6_FSM_SLEEP;
     
    28862780#if DHCP6_CLI_CFG_MODE == DHCP6_CLI_CFG_STATEFULL || DHCP6_CLI_CFG_MODE == DHCP6_CLI_CFG_RA
    28872781
    2888         /* RENEW メッセージの選択が終了していれば、BOUND 状æ
    2889 ‹ã«é·ç§»ã™ã‚‹ã€‚*/
     2782        /* RENEW メッセージの選択が終了していれば、BOUND 状態に遷移する。*/
    28902783        if (select_reply(ct)) {
    28912784
    2892                 /* リースæƒ
    2893 å ±ã‚’解放する。*/
     2785                /* リース情報を解放する。*/
    28942786                rel_lease(ct);
    28952787
    2896                 /* BOUND 状æ
    2897 ‹ã«é·ç§»ã™ã‚‹ã€‚*/
     2788                /* BOUND 状態に遷移する。*/
    28982789                start_bound(ct);
    28992790                }
     
    29012792                eval_expire(ct);
    29022793        else {
    2903                 /* SLEEP に遷移する。*/
     2794                /* SLEEP に遷移する。*/
    29042795                ct->error = E_TMOUT;
    29052796                ct->fsm   = DHCP6_FSM_SLEEP;
     
    29102801
    29112802/*
    2912  *  dispatch_timeout -- タイムアウトした時の処理
     2803 *  dispatch_timeout -- タイムアウトした時の処理
    29132804 */
    29142805
     
    29802871
    29812872/*
    2982  *  dispatch_event -- イベント毎の処理
     2873 *  dispatch_event -- イベント毎の処理
    29832874 */
    29842875
     
    29902881        while (ct->fsm != DHCP6_FSM_SLEEP && error == E_OK) {
    29912882
    2992                 /* メッセージの送受信とタイムアウトをå¾
    2993 ã¤ã€‚*/
     2883                /* メッセージの送受信とタイムアウトを待つ。*/
    29942884                syscall(wai_sem(SEM_DHCP6_CLI_READY));
    29952885
     
    30122902
    30132903/*
    3014  *  init_context -- DHCPv6 クライアントコンテキスト構造体を初期化する。
     2904 *  init_context -- DHCPv6 クライアントコンテキスト構造体を初期化する。
    30152905 */
    30162906
     
    30252915
    30262916/*
    3027  *  rel_cli_msg -- メッセージ構造体を解放する。
     2917 *  rel_cli_msg -- メッセージ構造体を解放する。
    30282918 */
    30292919
     
    30602950#if DHCP6_CLI_CFG_MODE == DHCP6_CLI_CFG_STATELESS
    30612951
    3062         /* ステートレスの時は有効なリース・メッセージ構造体も解放する。*/
     2952        /* ステートレスの時は有効なリース・メッセージ構造体も解放する。*/
    30632953        if (ct->act_msg != NULL) {
    30642954                syscall(rel_mpf(MPF_DHCP6_CLI_MSG, (void*)ct->act_msg));
     
    30722962
    30732963/*
    3074  *  init_cli_msg -- 各メッセージ構造体を初期化する。
     2964 *  init_cli_msg -- 各メッセージ構造体を初期化する。
    30752965 */
    30762966
     
    30822972        int             count;
    30832973
    3084         /* 送信メッセージ構造体を獲得する。*/
     2974        /* 送信メッセージ構造体を獲得する。*/
    30852975        if ((error = tget_mpf(MPF_DHCP6_CLI_MSG, (void*)&ct->snd_msg, TMO_DHCP6C_MPF_GET)) != E_OK) {
    30862976                syslog(LOG_NOTICE, "[DHCP6C] error, tget_mpf() for send: %s.", itron_strerror(error));
     
    30892979
    30902980        /*
    3091          *  有効なリース・メッセージ構造体がある場合は、
    3092          *  獲得する受信メッセージ構造体リストの構造体を 1減らす。
     2981         *  有効なリース・メッセージ構造体がある場合は、
     2982         *  獲得する受信メッセージ構造体リストの構造体を 1減らす。
    30932983         */
    30942984        if (ct->act_msg == NULL)
     
    30972987                count = NUM_DHCP6_CLI_MSG_LIST - 1;
    30982988
    3099         /* 受信メッセージ構造体を獲得する。*/
     2989        /* 受信メッセージ構造体を獲得する。*/
    31002990        syscall(wai_sem(SEM_DHCP6_CLI_LOCK));
    31012991        while (count --> 0) {
     
    31133003
    31143004/*
    3115  *  dhcp6c_renew_info -- ネットワークæƒ
    3116 å ±ã‚’再取得する。
     3005 *  dhcp6c_renew_info -- ネットワーク情報を再取得する。
    31173006 */
    31183007
     
    31253014        if (context.fsm == DHCP6_FSM_INFORMED) {
    31263015
    3127                 /* REL_INFO 状æ
    3128 ‹ã«é·ç§»ã—た後に SLEEP を解除するように設定する。*/
     3016                /* REL_INFO 状態に遷移した後に SLEEP を解除するように設定する。*/
    31293017                context.flags |= DHCP6C_FLAG_RENEW;
    31303018                start_rel_info(&context);
     
    31333021        else if (context.fsm == DHCP6_FSM_SLEEP) {
    31343022
    3135                 /* SLEEP を解除する。*/
     3023                /* SLEEP を解除する。*/
    31363024                wup_tsk(DHCP6_CLI_TASK);
    31373025                return E_OK;
     
    31443032        if (context.fsm == DHCP6_FSM_BOUND) {
    31453033
    3146                 /* RENEW 状æ
    3147 ‹ã«é·ç§»ã™ã‚‹ã€‚*/
     3034                /* RENEW 状態に遷移する。*/
    31483035                start_renew(&context);
    31493036                return E_OK;
     
    31513038        else if (context.fsm == DHCP6_FSM_SLEEP) {
    31523039
    3153                 /* SLEEP を解除する。*/
     3040                /* SLEEP を解除する。*/
    31543041                wup_tsk(DHCP6_CLI_TASK);
    31553042                return E_OK;
     
    31653052
    31663053/*
    3167  *  dhcp6c_rel_info -- DHCP で設定されたネットワークæƒ
    3168 å ±ã‚’解放する。
     3054 *  dhcp6c_rel_info -- DHCP で設定されたネットワーク情報を解放する。
    31693055 */
    31703056
     
    31723058dhcp6c_rel_info (void)
    31733059{
    3174         /* REL_INFO 状æ
    3175 ‹ã«é·ç§»ã™ã‚‹ã€‚*/
     3060        /* REL_INFO 状態に遷移する。*/
    31763061        start_rel_info(&context);
    31773062        return E_OK;
     
    31793064
    31803065/*
    3181  *  dhcp6c_get_info -- DHCP で設定されたネットワークæƒ
    3182 å ±ã‚’返す。
     3066 *  dhcp6c_get_info -- DHCP で設定されたネットワーク情報を返す。
    31833067 */
    31843068
     
    32093093
    32103094/*
    3211  *  コールバック関数
     3095 *  コールバック関数
    32123096 */
    32133097
     
    32203104        len = *(ER_UINT*)p_parblk;
    32213105        if (len < 0 && len != E_RLWAI) {
    3222                 /* E_RLWAI 以外で、0 以下の場合は、エラーコード */
     3106                /* E_RLWAI 以外で、0 以下の場合は、エラーコード */
    32233107                syslog(LOG_NOTICE, "[DHCP6C(CBR)] error: %s, fncd: %s.", itron_strerror(len), in_strtfn(fncd));
    32243108                }
     
    32263110                if (fncd == TEV_UDP_RCV_DAT) {
    32273111
    3228                         /* 受信メッセージリストが空の時は、受信しないでデータグラムを捨てる。*/
     3112                        /* 受信メッセージリストが空の時は、受信しないでデータグラムを捨てる。*/
    32293113                        if (context.rcv_lst == NULL)
    32303114                                syslog(LOG_NOTICE, "[DHCP6C(CBR)] receive buffer all busy.");
    32313115                        else {
    3232                                 /* メッセージを受信するメッセージ構造体を準備する。*/
     3116                                /* メッセージを受信するメッセージ構造体を準備する。*/
    32333117                                syscall(wai_sem(SEM_DHCP6_CLI_LOCK));
    32343118                                msg = context.rcv_lst;
     
    32363120                                syscall(sig_sem(SEM_DHCP6_CLI_LOCK));
    32373121
    3238                                 /* メッセージを受信する。*/
     3122                                /* メッセージを受信する。*/
    32393123                                len = UDP_RCV_DAT(context.cepid, &msg->srv, &msg->msg, sizeof(msg->msg), TMO_POL);
    32403124
     
    32423126                                msg->len = len;
    32433127                                if (len >= 0) {
    3244                                         /* 受信したメッセージを検証メッセージリストに移す。*/
     3128                                        /* 受信したメッセージを検証メッセージリストに移す。*/
    32453129                                        msg->next = context.val_lst;
    32463130                                        context.val_lst = msg;
     
    32483132                                        }
    32493133                                else {
    3250                                         /* メッセージ構造体を受信メッセージリストに戻す。*/
     3134                                        /* メッセージ構造体を受信メッセージリストに戻す。*/
    32513135                                        context.error = len;
    32523136                                        msg->next = context.rcv_lst;
     
    32613145        }
    32623146/*
    3263  *  dhcp6_cli_task -- DHCPv6 クライアントタスク
     3147 *  dhcp6_cli_task -- DHCPv6 クライアントタスク
    32643148 */
    32653149
     
    32843168        ct = &context;
    32853169
    3286         /* DHCP クライアントコンテキスト構造体を初期化する。*/
     3170        /* DHCP クライアントコンテキスト構造体を初期化する。*/
    32873171        init_context(ct, (ID)exinf);
    32883172
    32893173        while (true) {
    32903174
    3291                 /* 1秒毎にタイムアウトするようにタイマーを設定する。*/
     3175                /* 1秒毎にタイムアウトするようにタイマーを設定する。*/
    32923176                timeout((callout_func)dhcpc_timer, ct, NET_TIMER_HZ / DHCP6C_TIMER_HZ);
    32933177
    3294                 /* クライアント DUID を設定する。*/
     3178                /* クライアント DUID を設定する。*/
    32953179                init_duid(ct);
    32963180
    3297                 /* メッセージ構造体を初期化する。*/
     3181                /* メッセージ構造体を初期化する。*/
    32983182                if ((error = init_cli_msg(ct))  == E_OK) {
    32993183
     
    33053189#endif
    33063190
    3307                         /* メインループ */
     3191                        /* メインループ */
    33083192                        error = dispatch_event(ct);
    33093193                        }
    33103194
    3311                 /* å
    3312 ¨ã¦ã® TIMER をキャンセルする。*/
     3195                /* 全ての TIMER をキャンセルする。*/
    33133196                cancel_all_timers(ct);
    33143197
    3315                 /* タイマーを停止する。*/
     3198                /* タイマーを停止する。*/
    33163199                untimeout((callout_func)dhcpc_timer, ct);
    33173200
    3318                 /* メッセージ構造体を解放する。*/
     3201                /* メッセージ構造体を解放する。*/
    33193202                rel_cli_msg(ct);
    33203203
    3321                 /* リースを解放後、再取得が指定されていなければ休止する。*/
     3204                /* リースを解放後、再取得が指定されていなければ休止する。*/
    33223205                if (!(ct->flags & DHCP6C_FLAG_RENEW)) {
    33233206
    3324                         /* 休止する。*/
     3207                        /* 休止する。*/
    33253208                        if (error == E_OK)
    33263209                                syslog(LOG_NOTICE, "[DHCP6C] lease released, go to sleep.");
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/dhcp6_cli.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  DHCPv6 クライアント
    48  *  コンフィギュレーションファイル
     35 *  DHCPv6 クライアント
     36 *  コンフィギュレーションファイル
    4937 */
    5038
    5139#ifdef DHCP6_CLI_CFG
    5240
    53 /* タスク */
     41/* タスク */
    5442
    5543CRE_TSK(DHCP6_CLI_TASK, {
     
    6250        });
    6351
    64 /* セマフォ */
     52/* セマフォ */
    6553
    6654CRE_SEM(SEM_DHCP6_CLI_READY,    { TA_TPRI, 0, 1 });
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/dhcp6_cli.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    7070 *                   Tomakomai National College of Technology, JAPAN
    7171 *
    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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    11298 *
    11399 *  @(#) $Id$
     
    123109
    124110/*
    125  *  DHCP クライアントのスタックサイズ
    126  */
    127 
    128 #define DHCP6_CLI_STACK_SIZE            1024            /* DHCP クライアントタスクのスタックサイズ     */
     111 *  DHCP クライアントのスタックサイズ
     112 */
     113
     114#define DHCP6_CLI_STACK_SIZE            1024            /* DHCP クライアントタスクのスタックサイズ       */
    129115
    130116/*
    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 クライアントタスクの優先度           */
    137121
    138122/*
    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 ビットにより設定する。 */
    153137#define DHCP6_CLI_CFG_MODE_DEFAULT      DHCP6_CLI_CFG_STATELESS
    154138
    155 /* IA の設定 */
     139/* IA の設定 */
    156140#define DHCP6_CLI_CFG_IA_NA             1
    157141//#define DHCP6_CLI_CFG_IA_TA           1
    158142//#define DHCP6_CLI_CFG_IA_PD           1
    159143
    160 /* Rapid-commit の指定 */
     144/* Rapid-commit の指定 */
    161145//#define DHCP6_CLI_CFG_RAPID_COMMIT    1
    162146
    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以上指定すること) */
    168152#define NUM_DHCP6_CLI_MSG_LIST          3
    169153
    170154/*
    171  *  DHCPv6 クライアントメッセージ構造体数【変更禁止】
    172  *  +1 は送信用
     155 *  DHCPv6 クライアントメッセージ構造体数【変更禁止】
     156 *  +1 は送信用
    173157 */
    174158#define NUM_MPF_DHCP6_CLI_MSG           (NUM_DHCP6_CLI_MSG_LIST+1)
    175159
    176 /* DHCP å¿
    177 é ˆã‚ªãƒ—ションリスト */
     160/* DHCP 必須オプションリスト */
    178161
    179162#ifndef DHCP6_CLI_CFG_REQUIRED_OLIST
     
    191174#endif  /* of #ifndef DHCP6_CLI_CFG_REQUIRED_OLIST */
    192175
    193 /* DHCP 要求オプションリスト */
     176/* DHCP 要求オプションリスト */
    194177
    195178#ifndef DHCP6_CLI_CFG_REQUEST_OLIST
     
    208191
    209192/*
    210  *  タイムアウト定数
    211  *  RFC3315 に規定されたタイミング定数は dhcp6.h 参ç
    212 §
    213  */
    214 
    215 /* 標準メッセージの再送信タイムアウト  */
     193 *  タイムアウト定数
     194 *  RFC3315 に規定されたタイミング定数は dhcp6.h 参照
     195 */
     196
     197/* 標準メッセージの再送信タイムアウト    */
    216198#define TMO_DHCP6C_NORMAL       ULONG_C(60*1000)
    217199
    218 /* 標準要求リース時間                  */
     200/* 標準要求リース時間                    */
    219201#define TMO_DHCP6C_REQ_LEASE    ULONG_C(7200*1000)
    220202
    221 /* メッセージ構造体獲得タイムアウト     */
     203/* メッセージ構造体獲得タイムアウト     */
    222204#define TMO_DHCP6C_MPF_GET      ULONG_C(1000)
    223205
    224 /* メッセージ受信タイムアウト      */
     206/* メッセージ受信タイムアウト        */
    225207#define TMO_DHCP6C_RCV_DAT      ULONG_C(1000)
    226208
    227209/*
    228  *  DHCPv6 クライアントメッセージ構造体
     210 *  DHCPv6 クライアントメッセージ構造体
    229211 */
    230212
    231213typedef 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 */
    240222        } T_DHCP6_CLI_MSG;
    241223
    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 オプションあり       */
    250230#define DHCP6_ClI_MSG_PREFER_FLAG_MASK  UINT_C(0xf000)
    251231#define DHCP6_ClI_MSG_PREFER_VALUE_MASK (~(DHCP6_ClI_MSG_PREFER_FLAG_MASK))
    252232
    253233/*
    254  *  STATUS CODE オプションが無い時の値
     234 *  STATUS CODE オプションが無い時の値
    255235 */
    256236
     
    258238
    259239/*
    260  *  コールバック関数
     240 *  コールバック関数
    261241 */
    262242
     
    264244
    265245/*
    266  *  タスク
     246 *  タスク
    267247 */
    268248
     
    270250
    271251/*
    272  *  関数
     252 *  関数
    273253 */
    274254
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/dhcp6_cli_asp.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  ASP 用 DHCP クライアントのシステムコンフィギュレーションファイル
     35 *  ASP 用 DHCP クライアントのシステムコンフィギュレーションファイル
    4836 */
    4937
    5038/*
    51  *  å
    52 ±é€š DHCP クライアントのシステムコンフィギュレーションファイルのインクルード
     39 *  共通 DHCP クライアントのシステムコンフィギュレーションファイルのインクルード
    5340 */
    5441
     
    5845
    5946/*
    60  * 固定メモリプール
     47 * 固定メモリプール
    6148 */
    6249
    63 /* 送受信バッファ */
     50/* 送受信バッファ */
    6451
    6552CRE_MPF(MPF_DHCP6_CLI_MSG, {
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/dhcp6_cli_jsp.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  JSP 用 DHCP クライアントのシステムコンフィギュレーションファイル
     35 *  JSP 用 DHCP クライアントのシステムコンフィギュレーションファイル
    4836 */
    4937
    5038/*
    51  *  å
    52 ±é€š DHCP クライアントのシステムコンフィギュレーションファイルのインクルード
     39 *  共通 DHCP クライアントのシステムコンフィギュレーションファイルのインクルード
    5340 */
    5441
     
    5845
    5946/*
    60  * 固定メモリプール
     47 * 固定メモリプール
    6148 */
    6249
    63 /* 送受信バッファ */
     50/* 送受信バッファ */
    6451
    6552CRE_MPF(MPF_DHCP6_CLI_MSG, {
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/dhcp6_cli_var.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    7070 *                   Tomakomai National College of Technology, JAPAN
    7171 *
    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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    11298 *
    11399 *  @(#) $Id$
     
    120106
    121107/*
    122  *  DHCP クライアントコンテキスト構造体
    123  */
    124 
    125 /* TIMER の定義 */
     108 *  DHCP クライアントコンテキスト構造体
     109 */
     110
     111/* TIMER の定義 */
    126112
    127113#define DHCP6C_TIMER_SND_SOL    0
     
    140126#define DHCP6C_TIMER_HZ         1
    141127
    142 /* 定数の定義 */
     128/* 定数の定義 */
    143129
    144130#define MAX_DUID_LEN            (ETHER_ADDR_LEN+8)
    145131
    146132typedef 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;       /* 次の最大再送信継続時間          */
    162146        SYSTIM                  timers[NUM_DHCP6C_TIMERS];     
    163                                                 /* タイマーé
    164 åˆ—                    */
    165         ER_UINT                 error;          /* エラー・データ長             */
     147                                                /* タイマー配列                       */
     148        ER_UINT                 error;          /* エラー・データ長             */
    166149        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;     /* 受信メッセージの最大推奨度        */
    170153        uint8_t                 duid[MAX_DUID_LEN];     
    171154                                                /* 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 のメッセージタイプ    */
    178160        } T_DHCP6_CLI_CONTEXT;
    179161
    180 /* fsm(状æ
    181 ‹é·ç§»ï¼‰ã®å®šç¾© */
     162/* fsm(状態遷移)の定義 */
    182163
    183164#define DHCP6_FSM_INIT          1
     
    186167#define DHCP6_FSM_RENEW         5
    187168#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 の定義 */
    194175
    195176#define DHCP6C_FLAG_TMOUT_SND_SOL       (DHCP6C_FLAG_TMOUT_TIMER|DHCP6C_TIMER_SND_SOL)
     
    211192#define DHCP6C_FLAG_RENEW               UINT_C(0x0400)
    212193
    213 /* IAADDR 構造体の FLAG の定義(len に多重化する)*/
     194/* IAADDR 構造体の FLAG の定義(len に多重化する)*/
    214195
    215196#define DHCP6C_IAA_FLAG_EXPIRED         UINT_C(0x8000)
     
    218199
    219200/*
    220  *  関数シミュレーションマクロ
    221  */
    222 
    223 /* 時間比較 */
     201 *  関数シミュレーションマクロ
     202 */
     203
     204/* 時間比較 */
    224205
    225206#define TIMEC_GT(a,b)           ((int32_t)((a)-(b))>0)
    226207#define TIMEC_GE(a,b)           ((int32_t)((a)-(b))>=0)
    227208
    228 /* 時間定数の変換 */
     209/* 時間定数の変換 */
    229210
    230211#define SYSTIM2TIMER(t)         (((t)<SYSTIM_HZ/DHCP6C_TIMER_HZ)?(DHCP6C_TIMER_HZ):((t)*DHCP6C_TIMER_HZ)/SYSTIM_HZ)
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/dns.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4733 *
    4834 *  @(#) $Id$
     
    5339
    5440/*
    55  *  DNS メッセージに関する定義
    56  *
    57  *    RFC1034、RFC1035、RFC1886、RFC2136、
    58  *    RFC2671、RFC2845、RFC2930、RFC3596
    59  *
    60  *  DNS メッセージ
     41 *  DNS メッセージに関する定義
     42 *
     43 *    RFC1034、RFC1035、RFC1886、RFC2136、
     44 *    RFC2671、RFC2845、RFC2930、RFC3596
     45 *
     46 *  DNS メッセージ
    6147 *
    6248 *  +---------------------+
    6349 *  |       Header        |
    6450 *  +---------------------+
    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 ヘッダ
    7561 *
    7662 *    0                    7  8                   15
     
    10894
    10995/*
    110  *  code の定義
    111  */
    112 
    113 /* QR の定義 */
     96 *  code の定義
     97 */
     98
     99/* QR の定義 */
    114100
    115101#define DNS_QR_QUERY            0x0000U
    116102#define DNS_QR_RESPONSE         0x8000U
    117103
    118 /* Opcode の定義 */
     104/* Opcode の定義 */
    119105
    120106#define DNS_OPCODE_MASK         0x7800U
     
    123109#define DNS_OPCODE_STATUS       0x1000U
    124110
    125 /* AA の定義 */
     111/* AA の定義 */
    126112
    127113#define DNS_AUTHORITATIVE       0x0400U
    128114
    129 /* TC の定義 */
     115/* TC の定義 */
    130116
    131117#define DNS_TRUN_CATION         0x0200U
    132118
    133 /* RD の定義 */
     119/* RD の定義 */
    134120
    135121#define DNS_RECURSION_DESIRED   0x0100U
    136122
    137 /* RA の定義 */
     123/* RA の定義 */
    138124
    139125#define DNS_RECURSION_AVAILABLE 0x0080U
    140126
    141 /* RCODE の定義 */
     127/* RCODE の定義 */
    142128
    143129#define DNS_RCODE_MASK          0x000fU
     
    150136
    151137/*
    152  * DNS TYPE の定義
     138 * DNS TYPE の定義
    153139 */
    154140
     
    161147
    162148/*
    163  * DNS CLASS の定義
     149 * DNS CLASS の定義
    164150 */
    165151
     
    167153
    168154/*
    169  *  RR (Resouce Record) 形式
     155 *  RR (Resouce Record) 形式
    170156 *
    171157 *    0                    7  8                   15
     
    193179 *  +-----------------------------------------------+
    194180 *
    195  *    注意: offset の原点は DNS message のå
    196 ˆé ­
     181 *    注意: offset の原点は DNS message の先頭
    197182 */
    198183
     
    209194
    210195/*
    211  *  Question section 形式
     196 *  Question section 形式
    212197 *
    213198 *    0                    7  8                   15
     
    234219
    235220/*
    236  *  SOA RDATA 形式
     221 *  SOA RDATA 形式
    237222 *
    238223 *    0                    7  8                   15
     
    266251 *  +-----------------------------------------------+
    267252 *
    268  *    注意: offset の原点は DNS message のå
    269 ˆé ­
     253 *    注意: offset の原点は DNS message の先頭
    270254 */
    271255
     
    283267
    284268/*
    285  *  DNS の定数の定義
     269 *  DNS の定数の定義
    286270 */
    287271
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/lcd.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    7260
    7361/*
    74  *  局所変数の定義
     62 *  局所変数の定義
    7563 */
    7664
     
    8068
    8169/*
    82  *  lcd_cls -- LCD 表示クリア
     70 *  lcd_cls -- LCD 表示クリア
    8371 */
    8472
     
    9280
    9381/*
    94  *  lcd_newline -- LCD の表示を改行する。
     82 *  lcd_newline -- LCD の表示を改行する。
    9583 */
    9684
     
    10492
    10593/*
    106  *  lcd_initialize -- LCD 初期化
     94 *  lcd_initialize -- LCD 初期化
    10795 */
    10896
     
    115103
    116104/*
    117  *  lcd_putc -- LCD 出力
     105 *  lcd_putc -- LCD 出力
    118106 */
    119107
     
    134122
    135123/*
    136  *  lcd_puts -- LCD への文字列の出力
     124 *  lcd_puts -- LCD への文字列の出力
    137125 */
    138126
     
    145133
    146134/*
    147  *  LCD への書式付文字列出力ライブラリ
    148  */
    149 
    150 /*
    151  *  数値変換のための変換表
     135 *  LCD への書式付文字列出力ライブラリ
     136 */
     137
     138/*
     139 *  数値変換のための変換表
    152140 */
    153141
     
    156144
    157145/*
    158  *  もっとも長い整数型 (LONGEST) と符号なし整数型 (ULONGEST)
     146 *  もっとも長い整数型 (LONGEST) と符号なし整数型 (ULONGEST)
    159147 */
    160148
     
    181169
    182170/*
    183  *  convert -- lcd_printf の数値変換
     171 *  convert -- lcd_printf の数値変換
    184172 */
    185173
     
    214202
    215203        pad = ix;
    216         if (!left)      /* 右詰め */
     204        if (!left)      /* 右詰め */
    217205                for ( ; pad < width; pad ++)
    218206                        lcd_putc(portid, padchar);
     
    221209                lcd_putc(portid, digits[ix]);
    222210
    223         if (left)       /* 左詰め */
     211        if (left)       /* 左詰め */
    224212                for ( ; pad < width; pad ++)
    225213                        lcd_putc(portid, padchar);
     
    231219
    232220/*
    233  *  ipv4addr -- IPv4 アドレス出力
     221 *  ipv4addr -- IPv4 アドレス出力
    234222 */
    235223
     
    237225put_ipv4addr (ID portid, T_IN4_ADDR *addr, int_t width)
    238226{
    239         int_t len = 3;  /* 3 は '.' の文字数 */
     227        int_t len = 3;  /* 3 は '.' の文字数 */
    240228
    241229        len += convert(portid, (*addr >> 24) & 0xff, 10, radhex, 0, false, ' ');
     
    256244
    257245/*
    258  *  ipv6addr -- IPv6 アドレス出力
     246 *  ipv6addr -- IPv6 アドレス出力
    259247 */
    260248
     
    300288
    301289/*
    302  *  macaddr -- MAC アドレス出力
     290 *  macaddr -- MAC アドレス出力
    303291 */
    304292
     
    319307
    320308/*
    321  *  引数を取り出すためのマクロ
     309 *  引数を取り出すためのマクロ
    322310 */
    323311
     
    333321
    334322/*
    335  *  lcd_printf -- シリアルポートへの書式付文字列出力
     323 *  lcd_printf -- シリアルポートへの書式付文字列出力
    336324 */
    337325
     
    350338        va_start(ap, fmt);
    351339        while ((ch = *fmt ++) != '\0') {
    352                 if (ch != '%') {                /* 書式指定以外 */
     340                if (ch != '%') {                /* 書式指定以外 */
    353341                        lcd_putc(portid, (char)ch);
    354342                        continue;
     
    358346                padchar = ' ';
    359347
    360                 if (ch == '-') {                /* 左詰め */
     348                if (ch == '-') {                /* 左詰め */
    361349                        fmt ++;
    362350                        left = -1;
     
    365353                        left = 1;
    366354
    367                 if ((ch = *fmt ++) == '0') {    /* 上位桁の 0 */
     355                if ((ch = *fmt ++) == '0') {    /* 上位桁の 0 */
    368356                        padchar = '0';
    369357                        ch = *fmt ++;
    370358                        }
    371359
    372                 while ('0' <= ch && ch <= '9') {        /* 出力å¹
    373  */
     360                while ('0' <= ch && ch <= '9') {        /* 出力幅 */
    374361                        width = width * 10 + ch - '0';
    375362                        ch = *fmt ++;
    376363                        }
    377364
    378                 while (ch == 'l') {             /* long (long) の指定 */
     365                while (ch == 'l') {             /* long (long) の指定 */
    379366                        longflag ++;
    380367                        ch = *fmt ++;
    381368                        }
    382369
    383                 while (ch == 'h') {             /* short の指定 */
     370                while (ch == 'h') {             /* short の指定 */
    384371                        shortflag ++;
    385372                        ch = *fmt ++;
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/lcd.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  汎用 LCD ドライバ
     35 *  汎用 LCD ドライバ
    4836 */
    4937
     
    5240
    5341/*
    54  *  lcd_cls -- LCD 表示クリア
     42 *  lcd_cls -- LCD 表示クリア
    5543 */
    5644extern void lcd_cls (void);
    5745
    5846/*
    59  *  lcd_initialize -- LCD 初期化
     47 *  lcd_initialize -- LCD 初期化
    6048 */
    6149extern void lcd_initialize (intptr_t exinf);
    6250
    6351/*
    64  *  lcd_putc -- LCD 出力
     52 *  lcd_putc -- LCD 出力
    6553 */
    6654extern void lcd_putc (ID portid, int8_t data);
    6755
    6856/*
    69  *  lcd_puts -- LCD への文字列の出力
     57 *  lcd_puts -- LCD への文字列の出力
    7058 */
    7159extern void lcd_puts (ID portid, const char *str);
    7260
    7361/*
    74  *  LCD への書式付文字列出力ライブラリ
     62 *  LCD への書式付文字列出力ライブラリ
    7563 */
    7664extern void lcd_printf (ID portid, const char *fmt, ...);
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/net_cons.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  ネットワーク経由コンソールå
    48 ¥å‡ºåŠ›
     35 *  ネットワーク経由コンソール入出力
    4936 */
    5037
     
    8370
    8471/*
    85  *  マクロ定義
    86  */
    87 
    88 /*  リネームの解除  */
     72 *  マクロ定義
     73 */
     74
     75/*  リネームの解除  */
    8976
    9077#undef syslog
     
    9481#define EOF             (-1)
    9582
    96 /*  TELNET オプション */
     83/*  TELNET オプション */
    9784
    9885#define TELNET_OPT_SE           (240)
     
    120107
    121108/*
    122  *  変数
    123  */
    124 
    125 /*  TCP 送受信ウィンドバッファ  */
     109 *  変数
     110 */
     111
     112/*  TCP 送受信ウィンドバッファ  */
    126113
    127114uint8_t net_cons_swbuf[NET_CONS_SWBUF_SIZE];
    128115uint8_t net_cons_rwbuf[NET_CONS_RWBUF_SIZE];
    129116
    130 bool_t  connected       = false;        /* コネクションの状æ
    131 ‹       */
    132 bool_t  wait_accept     = false;        /* 接続要求å¾
    133 ã¡ä¸­  */
     117bool_t  connected       = false;        /* コネクションの状態    */
     118bool_t  wait_accept     = false;        /* 接続要求待ち中      */
    134119
    135120#if defined(SUPPORT_INET6)
     
    156141
    157142/*
    158  *  ノンブロッキングコールのコールバック関数
     143 *  ノンブロッキングコールのコールバック関数
    159144 */
    160145
     
    196181
    197182/*
    198  *  送信バッファのフラッシュ
     183 *  送信バッファのフラッシュ
    199184 */
    200185
     
    218203
    219204/*
    220  *  文字送信
     205 *  文字送信
    221206 */
    222207
     
    255240
    256241/*
    257  *  文字受信(変換なし)
     242 *  文字受信(変換なし)
    258243 */
    259244
     
    292277
    293278/*
    294  *  文字受信(TELNET オプションをスキップ)
     279 *  文字受信(TELNET オプションをスキップ)
    295280 */
    296281
     
    357342
    358343/*
    359  *  コネクションを切断
     344 *  コネクションを切断
    360345 */
    361346
     
    389374
    390375/*
    391  *  シリアルポートの制御
     376 *  シリアルポートの制御
    392377 */
    393378
     
    400385
    401386/*
    402  *  ログ出力
     387 *  ログ出力
    403388 */
    404389
     
    421406                va_start(ap, format);
    422407                while ((ch = *format ++) != '\0') {
    423                         if (ch != '%') {                /* 書式指定以外 */
     408                        if (ch != '%') {                /* 書式指定以外 */
    424409                                cons_putchar(CONSOLE_PORTID, (char)ch);
    425410                                continue;
     
    430415                        padchar = ' ';
    431416
    432                         if (ch == '-') {                /* 左詰め */
     417                        if (ch == '-') {                /* 左詰め */
    433418                                format ++;
    434419                                left = -1;
     
    437422                                left = 1;
    438423
    439                         if ((ch = *format ++) == '0') { /* 上位桁の 0 */
     424                        if ((ch = *format ++) == '0') { /* 上位桁の 0 */
    440425                                padchar = '0';
    441426                                ch = *format ++;
    442427                                }
    443428
    444                         while ('0' <= ch && ch <= '9') {        /* 出力å¹
    445  */
     429                        while ('0' <= ch && ch <= '9') {        /* 出力幅 */
    446430                                width = width * 10 + ch - '0';
    447431                                ch = *format ++;
    448432                                }
    449433
    450                         while (ch == 'l') {             /* long (long) の指定 */
     434                        while (ch == 'l') {             /* long (long) の指定 */
    451435                                longflag = true;
    452436                                ch = *format ++;
     
    556540                                }
    557541
    558                         while (ch == 'l') {             /* long (long) の指定 */
     542                        while (ch == 'l') {             /* long (long) の指定 */
    559543                                longflag = true;
    560544                                ch = *format ++;
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/net_cons.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  ネットワーク経由コンソールå
    48 ¥å‡ºåŠ›
    49  *  システムコンフィギュレーションファイル
     35 *  ネットワーク経由コンソール入出力
     36 *  システムコンフィギュレーションファイル
    5037 */
    5138
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/net_cons.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  ネットワーク経由コンソールå
    48 ¥å‡ºåŠ›
     35 *  ネットワーク経由コンソール入出力
    4936 */
    5037
    51 /*  TCP 送受信ウィンドバッファサイズ  */
     38/*  TCP 送受信ウィンドバッファサイズ  */
    5239
    5340#define NET_CONS_SWBUF_SIZE     512
     
    5643#ifndef _MACRO_ONLY
    5744
    58 /*  TCP 送受信ウィンドバッファ  */
     45/*  TCP 送受信ウィンドバッファ  */
    5946
    6047extern uint8_t net_cons_swbuf[];
    6148extern uint8_t net_cons_rwbuf[];
    6249
    63 /*  ノンブロッキングコールのコールバック関数  */
     50/*  ノンブロッキングコールのコールバック関数  */
    6451
    6552extern ER       callback_nblk_net_cons(ID cepid, FN fncd, void *p_parblk);
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/netapp.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4836
    4937/*
    50  *  IPv4 と IPv6 の切換えマクロ
     38 *  IPv4 と IPv6 の切換えマクロ
    5139 */
    5240
     
    6654
    6755/*
    68  *  コンソールに用いるシリアルポート番号
     56 *  コンソールに用いるシリアルポート番号
    6957 */
    7058
     
    7462
    7563/*
    76  *  コンソールに用いる LCD ポート番号
     64 *  コンソールに用いる LCD ポート番号
    7765 */
    7866
     
    8068
    8169/*
    82  *  数値変換のための変換表
     70 *  数値変換のための変換表
    8371 */
    8472
     
    8775
    8876/*
    89  *  関数
     77 *  関数
    9078 */
    9179
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/netapp_subr.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  ネットワーク応用プログラムサポートルーチン
     35 *  ネットワーク応用プログラムサポートルーチン
    4836 */
    4937
     
    8977
    9078/*
    91  *  IPv6 と IPv4 で引数が異なる関数のコンパイル
     79 *  IPv6 と IPv4 で引数が異なる関数のコンパイル
    9280 */
    9381
     
    313301
    314302/*
    315  *  変数
     303 *  変数
    316304 */
    317305
     
    326314
    327315/*
    328  *  シリアルポートへの書式付文字列出力ライブラリ
     316 *  シリアルポートへの書式付文字列出力ライブラリ
    329317 */
    330318
     
    332320
    333321/*
    334  *  数値変換のための変換表
     322 *  数値変換のための変換表
    335323 */
    336324
     
    339327
    340328/*
    341  *  netapp_rand -- 乱数を返す。
     329 *  netapp_rand -- 乱数を返す。
    342330 */
    343331
     
    350338
    351339/*
    352  *  srand -- 乱数を初期化する。
     340 *  srand -- 乱数を初期化する。
    353341 */
    354342
     
    365353
    366354/*
    367  *  cons_putchar -- シリアルポートへの文字出力
     355 *  cons_putchar -- シリアルポートへの文字出力
    368356 */
    369357
     
    375363
    376364/*
    377  *  cons_getchar -- シリアルポートからの文字å
    378 ¥åŠ›
     365 *  cons_getchar -- シリアルポートからの文字入力
    379366 */
    380367
     
    393380
    394381/*
    395  *  cons_putnumber -- cons_printf の数値変換
     382 *  cons_putnumber -- cons_printf の数値変換
    396383 */
    397384
     
    426413
    427414        pad = ix;
    428         if (!left)      /* 右詰め */
     415        if (!left)      /* 右詰め */
    429416                for ( ; pad < width; pad ++)
    430417                        cons_putchar(portid, padchar);
     
    433420                cons_putchar(portid, digits[ix]);
    434421
    435         if (left)       /* 左詰め */
     422        if (left)       /* 左詰め */
    436423                for ( ; pad < width; pad ++)
    437424                        cons_putchar(portid, padchar);
     
    441428
    442429/*
    443  *  put_ipv4addr -- IPv4 アドレス出力
     430 *  put_ipv4addr -- IPv4 アドレス出力
    444431 */
    445432
     
    447434put_ipv4addr (ID portid, T_IN4_ADDR *addr, int_t width)
    448435{
    449         int_t len = 3;  /* 3 は '.' の文字数 */
     436        int_t len = 3;  /* 3 は '.' の文字数 */
    450437
    451438        len += cons_putnumber(portid, (*addr >> 24) & 0xff, 10, radhex, 0, false, ' ');
     
    464451
    465452/*
    466  *  ipv6addr -- IPv6 アドレス出力
     453 *  ipv6addr -- IPv6 アドレス出力
    467454 */
    468455
     
    523510
    524511/*
    525  *  put_macaddr -- MAC アドレス出力
     512 *  put_macaddr -- MAC アドレス出力
    526513 */
    527514
     
    544531
    545532/*
    546  *  cons_printf -- シリアルポートへの書式付文字列出力
     533 *  cons_printf -- シリアルポートへの書式付文字列出力
    547534 */
    548535
     
    558545        va_start(ap, fmt);
    559546        while ((ch = *fmt ++) != '\0') {
    560                 if (ch != '%') {                /* 書式指定以外 */
     547                if (ch != '%') {                /* 書式指定以外 */
    561548                        cons_putchar(portid, (char)ch);
    562549                        continue;
     
    566553                padchar = ' ';
    567554
    568                 if (*fmt == '-') {              /* 左詰め */
     555                if (*fmt == '-') {              /* 左詰め */
    569556                        fmt ++;
    570557                        left = -1;
     
    573560                        left = 1;
    574561
    575                 if ((ch = *fmt ++) == '0') {    /* 上位桁の 0 */
     562                if ((ch = *fmt ++) == '0') {    /* 上位桁の 0 */
    576563                        padchar = '0';
    577564                        ch = *fmt ++;
    578565                        }
    579566
    580                 while ('0' <= ch && ch <= '9') {        /* 出力å¹
    581  */
     567                while ('0' <= ch && ch <= '9') {        /* 出力幅 */
    582568                        width = width * 10 + ch - '0';
    583569                        ch = *fmt ++;
    584570                        }
    585571
    586                 while (ch == 'l') {             /* long (long) の指定 */
     572                while (ch == 'l') {             /* long (long) の指定 */
    587573                        longflag ++;
    588574                        ch = *fmt ++;
    589575                        }
    590576
    591                 while (ch == 'h') {             /* short の指定 */
     577                while (ch == 'h') {             /* short の指定 */
    592578                        shortflag ++;
    593579                        ch = *fmt ++;
     
    690676
    691677/*
    692  *  host2msg16 -- 16ビットの値を、バイトオーダーを調整してメッセージに書き込む。
     678 *  host2msg16 -- 16ビットの値を、バイトオーダーを調整してメッセージに書き込む。
    693679 */
    694680
     
    703689
    704690/*
    705  *  host2msg32 -- 32ビットの値を、バイトオーダーを調整してメッセージに書き込む。
     691 *  host2msg32 -- 32ビットの値を、バイトオーダーを調整してメッセージに書き込む。
    706692 */
    707693
     
    716702
    717703/*
    718  *  msg2host16 -- 16ビットの値を、バイトオーダーを調整してメッセージから読み出す。
     704 *  msg2host16 -- 16ビットの値を、バイトオーダーを調整してメッセージから読み出す。
    719705 */
    720706
     
    729715
    730716/*
    731  *  msg2host32 -- 32ビットの値を、バイトオーダーを調整してメッセージから読み出す。
     717 *  msg2host32 -- 32ビットの値を、バイトオーダーを調整してメッセージから読み出す。
    732718 */
    733719
     
    742728
    743729/*
    744  *  skip_blanks -- 空白と TAB をスキップする。
     730 *  skip_blanks -- 空白と TAB をスキップする。
    745731 */
    746732
     
    754740
    755741/*
    756  *  get_ipv4addr -- 文字列の IPv4 アドレスを T_IN4_ADDR 値に変換する。
     742 *  get_ipv4addr -- 文字列の IPv4 アドレスを T_IN4_ADDR 値に変換する。
    757743 */
    758744
     
    781767
    782768/*
    783  *  get_ipv6addr -- 文字列の IPv6 アドレスを T_IN6_ADDR 値に変換する。
     769 *  get_ipv6addr -- 文字列の IPv6 アドレスを T_IN6_ADDR 値に変換する。
    784770 */
    785771
     
    793779
    794780        /*
    795          * IPv4 アドレス(数字.)を検出したら IPv4 アドレスとしてå
    796 ¥åŠ›ã—、
    797          * IPv4 射影アドレスに変換する。
     781         * IPv4 アドレス(数字.)を検出したら IPv4 アドレスとして入力し、
     782         * IPv4 射影アドレスに変換する。
    798783         */
    799784        for (ipv4line = line; '0' <= *ipv4line && *ipv4line <= '9'; ipv4line ++)
     
    844829
    845830/*
    846  *  デバッグ行å
    847 ¥åŠ›
     831 *  デバッグ行入力
    848832 */
    849833
     
    877861
    878862/*
    879  *  get_int -- 整数変換
     863 *  get_int -- 整数変換
    880864 */
    881865
     
    905889
    906890/*
    907  *  get_xuint -- 符号なし整数 (16進) 変換
     891 *  get_xuint -- 符号なし整数 (16進) 変換
    908892 */
    909893
     
    930914
    931915/*
    932  *  dns_strtype -- DNS の type の文字列を返す。
     916 *  dns_strtype -- DNS の type の文字列を返す。
    933917 */
    934918
     
    962946
    963947/*
    964  *  dns_strclass -- DNS の class を表示する。
     948 *  dns_strclass -- DNS の class を表示する。
    965949 */
    966950
     
    979963
    980964/*
    981  *  resolv_hoststr -- 文字列のFQDN・ホスト名・IPv6/IPv4 アドレスを解析する。
     965 *  resolv_hoststr -- 文字列のFQDN・ホスト名・IPv6/IPv4 アドレスを解析する。
    982966 */
    983967
     
    10531037
    10541038/*
    1055  *  show_dns_domain_name -- DNS のドメイン名を表示する。
     1039 *  show_dns_domain_name -- DNS のドメイン名を表示する。
    10561040 */
    10571041
     
    10811065
    10821066/*
    1083  *  resolv_options -- アドレス解決のオプション解析
     1067 *  resolv_options -- アドレス解決のオプション解析
    10841068 */
    10851069
     
    11591143        if (*flags | DNS_LUP_FLAGS_PROTO_IPV6) {
    11601144                /*
    1161                  *  IPv6 で DNS サーバにç
    1162 §ä¼šã™ã‚‹ã“とが指定されても、
    1163                  *  サーバの IPv6 アドレスが未定義の時は、指定を外す。
     1145                 *  IPv6 で DNS サーバに照会することが指定されても、
     1146                 *  サーバの IPv6 アドレスが未定義の時は、指定を外す。
    11641147                 */
    11651148                dns_in6_get_addr(&in6_addr);
     
    11741157        if (*flags | DNS_LUP_FLAGS_PROTO_IPV4) {
    11751158                /*
    1176                  *  IPv4 で DNS サーバにç
    1177 §ä¼šã™ã‚‹ã“とが指定されても、
    1178                  *  サーバの IPv4 アドレスが未定義の時は、指定を外す。
     1159                 *  IPv4 で DNS サーバに照会することが指定されても、
     1160                 *  サーバの IPv4 アドレスが未定義の時は、指定を外す。
    11791161                 */
    11801162                dns_in4_get_addr(&in4_addr);
     
    11911173
    11921174/*
    1193  *  lookup_ipaddr -- ホスト名・リテラルのIPアドレスをIP アドレスに変換する。
     1175 *  lookup_ipaddr -- ホスト名・リテラルのIPアドレスをIP アドレスに変換する。
    11941176 */
    11951177
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/netapp_subr.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  サンプルアプリケーションå
    48 ±é€š
    49  *  コンフィギュレーションファイル
     35 *  サンプルアプリケーション共通
     36 *  コンフィギュレーションファイル
    5037 */
    5138
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/netapp_var.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4836
    4937/*
    50  *  TOPPERS/JSP カーネル、システム時刻 (SYSTIM) の周波数
     38 *  TOPPERS/JSP カーネル、システム時刻 (SYSTIM) の周波数
    5139 */
    5240
     
    5442
    5543/*
    56  *  IPv6/IPv4 に関する定義
    57  */
    58 
    59 /*
    60  *  指定されたマクロに対するサンプルアプリケーションå†
    61 éƒ¨ã®ãƒžã‚¯ãƒ­ã®å®šç¾©
     44 *  IPv6/IPv4 に関する定義
     45 */
     46
     47/*
     48 *  指定されたマクロに対するサンプルアプリケーション内部のマクロの定義
    6249 *
    6350 *    SUPPORT_INET6              .   .  ON  ON  ON  ON
     
    8168
    8269/*
    83  *  IPv4 と IPv6 をコンパイル時に選択するためのマクロ
     70 *  IPv4 と IPv6 をコンパイル時に選択するためのマクロ
    8471 */
    8572
     
    10390
    10491/*
    105  *  API IPプロトコルの指定
     92 *  API IPプロトコルの指定
    10693 */
    10794
     
    113100
    114101/*
    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 と重ならない事。
    121108 */
    122109
     
    128115
    129116/*
    130  *  定数の定義
     117 *  定数の定義
    131118 */
    132119
     
    144131
    145132/*
    146  *  関数シミュレーションマクロ
    147  */
    148 
    149 /* メッセージからの読出し */
     133 *  関数シミュレーションマクロ
     134 */
     135
     136/* メッセージからの読出し */
    150137
    151138#define MSG2HOST16(p)           (msg2host16((void*)&(p)))
    152139#define MSG2HOST32(p)           (msg2host32((void*)&(p)))
    153140
    154 /* メッセージへの書込み */
     141/* メッセージへの書込み */
    155142
    156143#define HOST2MSG16(p,v)         (host2msg16((void*)&(p),(v)))
     
    158145
    159146/*
    160  *  ネットワーク経由コンソールå
    161 ¥å‡ºåŠ›
     147 *  ネットワーク経由コンソール入出力
    162148 */
    163149
    164150#ifdef USE_NET_CONS
    165151
    166 /* リネーム */
     152/* リネーム */
    167153
    168154#define syslog          net_syslog
    169155#define serial_ctl_por  net_serial_ctl_por
    170156
    171 /* 関数シミュレーションマクロ */
     157/* 関数シミュレーションマクロ */
    172158
    173159#define FLUSH_SND_BUFF()        flush_snd_buff()
     
    177163#else   /* of #ifdef USE_NET_CONS */
    178164
    179 /* 関数シミュレーションマクロ */
     165/* 関数シミュレーションマクロ */
    180166
    181167#define FLUSH_SND_BUFF()
     
    186172
    187173/*
    188  *  関数
     174 *  関数
    189175 */
    190176
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/netappn_subr.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  ネットワーク応用プログラムサポートルーチン
     35 *  ネットワーク応用プログラムサポートルーチン
    4836 */
    4937
     
    5139
    5240/*
    53  *  alloc_tcp_rep -- TCP 受付口を獲得する。
     41 *  alloc_tcp_rep -- TCP 受付口を獲得する。
    5442 */
    5543
     
    7765
    7866/*
    79  *  free_tcp_rep -- TCP 受付口を解放する。
     67 *  free_tcp_rep -- TCP 受付口を解放する。
    8068 */
    8169
     
    10189
    10290/*
    103  *  tcpn_is_cepid -- TCP 通信端点が指定されたネットワーク層なら true を返す。
     91 *  tcpn_is_cepid -- TCP 通信端点が指定されたネットワーク層なら true を返す。
    10492 */
    10593
     
    117105
    118106/*
    119  *  alloc_tcp_cep -- TCP 通信端点を獲得する。
     107 *  alloc_tcp_cep -- TCP 通信端点を獲得する。
    120108 */
    121109
     
    143131
    144132/*
    145  *  free_tcp_cep -- TCP 通信端点を解放する。
     133 *  free_tcp_cep -- TCP 通信端点を解放する。
    146134 */
    147135
     
    168156
    169157/*
    170  *  alloc_udp_cep -- UDP 通信端点を獲得する。
     158 *  alloc_udp_cep -- UDP 通信端点を獲得する。
    171159 */
    172160
     
    194182
    195183/*
    196  *  free_udp_cep -- UDP 通信端点を解放する。
     184 *  free_udp_cep -- UDP 通信端点を解放する。
    197185 */
    198186
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/ping.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  ping -- ICMP ECHO メッセージを送信する。
     35 *  ping -- ICMP ECHO メッセージを送信する。
    4836 */
    4937
     
    9078
    9179/*
    92  *  変数
     80 *  変数
    9381 */
    9482
     
    10290
    10391/*
    104  *  icmp_reply_timeout -- ICMP REPLY タイムアウト処理
     92 *  icmp_reply_timeout -- ICMP REPLY タイムアウト処理
    10593 */
    10694
     
    112100
    113101/*
    114  *  icmp_echo_reply -- ICMP ECHO REPLY メッセージを処理する。
     102 *  icmp_echo_reply -- ICMP ECHO REPLY メッセージを処理する。
    115103 */
    116104
     
    130118
    131119/*
    132  *  ping4 -- ICMP ECHO メッセージを送信する。
     120 *  ping4 -- ICMP ECHO メッセージを送信する。
    133121 */
    134122
     
    141129        int_t           ix;
    142130
    143         /* 送信用の IP データグラムを獲得する。*/
     131        /* 送信用の IP データグラムを獲得する。*/
    144132        if (in4_get_datagram(&output, ICMP4_HDR_SIZE + len, 0,
    145133                             addr, NULL, IPPROTO_ICMP,
     
    147135                return;
    148136
    149         /* ICMP ヘッダを設定する。*/
     137        /* ICMP ヘッダを設定する。*/
    150138        icmp4h                  = GET_ICMP4_HDR(output, IF_IP4_ICMP4_HDR_OFFSET);
    151139        icmp4h->type            = ICMP4_ECHO_REQUEST;
     
    154142        icmp4h->data.id_seq.seq = 0;
    155143
    156         /* データを設定する。*/
     144        /* データを設定する。*/
    157145        sdu = GET_ICMP4_SDU(output, IF_IP4_ICMP4_HDR_OFFSET) + len;
    158146        for (ix = len; ix -- > 0; )
    159147                *-- sdu = ('0' + icmp_id + ix) & 0xff;
    160148
    161         /* チェックサムを計算する。*/
     149        /* チェックサムを計算する。*/
    162150        icmp4h->sum = 0;
    163151        icmp4h->sum = in_cksum(icmp4h, ICMP4_HDR_SIZE + len);
    164152
    165         /* 応答チェック用の変数を設定する。*/
     153        /* 応答チェック用の変数を設定する。*/
    166154#if 0
    167155        curr_icmp_id  = icmp_id ++;
     
    172160        NET_COUNT_MIB(icmp_stats.icmpOutEchos, 1);
    173161
    174         /* 送信後、現在の時間を記憶し、タイムアウトを設定する。*/
     162        /* 送信後、現在の時間を記憶し、タイムアウトを設定する。*/
    175163        ip_output(output, TMO_FEVR);
    176164
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/ping6.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  ping6 -- ICMPv6 ECHO メッセージを送信する。
     35 *  ping6 -- ICMPv6 ECHO メッセージを送信する。
    4836 */
    4937
     
    9381
    9482/*
    95  *  変数
     83 *  変数
    9684 */
    9785
     
    10694
    10795/*
    108  *  icmp6_reply_timeout -- ICMP6 REPLY タイムアウト処理
     96 *  icmp6_reply_timeout -- ICMP6 REPLY タイムアウト処理
    10997 */
    11098
     
    117105
    118106/*
    119  *  icmp6_echo_reply -- ICMP6 ECHO REPLY メッセージを処理する。
     107 *  icmp6_echo_reply -- ICMP6 ECHO REPLY メッセージを処理する。
    120108 */
    121109
     
    134122
    135123/*
    136  *  ping6 -- ICMP ECHO メッセージを送信する。
     124 *  ping6 -- ICMP ECHO メッセージを送信する。
    137125 */
    138126
     
    149137
    150138        /*
    151          *  宛å
    152 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ã«ãµã•ã‚ã—い送信å
    153 ƒã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’、
    154          *  ネットワークインタフェースから探索して利用する。
     139         *  宛先アドレスにふさわしい送信元アドレスを、
     140         *  ネットワークインタフェースから探索して利用する。
    155141         */
    156142        if ((ia = in6_ifawithifp(ifp, addr)) == NULL)
     
    160146                ipflags = IPV6_OUT_SET_HOP_LIMIT(IPV6_OUT_FLG_HOP_LIMIT, IPV6_DEFHLIM);
    161147
    162         /* 送信用の IP データグラムを獲得する。*/
     148        /* 送信用の IP データグラムを獲得する。*/
    163149        if (in6_get_datagram(&output, ICMP6_HDR_SIZE + size, 0,
    164150                             addr, &ia->addr, IPPROTO_ICMPV6,
     
    166152                return;
    167153
    168         /* ICMP ヘッダを設定する。*/
     154        /* ICMP ヘッダを設定する。*/
    169155        icmp6h           = GET_ICMP6_HDR(output, IF_IP6_ICMP6_HDR_OFFSET);
    170156        icmp6h->type     = ICMP6_ECHO_REQUEST;
     
    173159        icmp6h->icmp6_seq= 0;
    174160
    175         /* データを設定する。*/
     161        /* データを設定する。*/
    176162        sdu = GET_ICMP6_SDU(output, IF_IP6_ICMP6_HDR_OFFSET) + size;
    177163        for (ix = size; ix -- > 0; )
    178164                *-- sdu = ('0' + send_icmp6_id + ix) & 0xff;
    179165
    180         /* チェックサムを計算する。*/
     166        /* チェックサムを計算する。*/
    181167        icmp6h->sum = 0;
    182168        icmp6h->sum = in6_cksum(output, IPPROTO_ICMPV6,
    183169                                (uint8_t*)icmp6h - output->buf, ICMP6_HDR_SIZE + size);
    184170
    185         /* 応答チェック用の変数を設定する。*/
     171        /* 応答チェック用の変数を設定する。*/
    186172        reply_count = 0;
    187173
     
    197183#endif
    198184
    199         /* 送信後、現在の時間を記憶し、タイムアウトを設定する。*/
     185        /* 送信後、現在の時間を記憶し、タイムアウトを設定する。*/
    200186        ip6_output(output, ipflags, TMO_FEVR);
    201187        NET_COUNT_MIB(icmp6_ifstat.ipv6IfIcmpOutMsgs, 1);
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/resolver.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    4128 *
    42  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    43 ãŠ
    44  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    45  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    46  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     29 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     30 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     31 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     32 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4733 *
    4834 *  @(#) $Id$
     
    5036
    5137/*
    52  *  ホスト名←→IP アドレス変換
     38 *  ホスト名←→IP アドレス変換
    5339 */
    5440
     
    8773
    8874/*
    89  *  局所変数
     75 *  局所変数
    9076 */
    9177
     
    10490
    10591/*
    106  *  get_dns_header -- DNS メッセージから DNS ヘッダを取り出す。
     92 *  get_dns_header -- DNS メッセージから DNS ヘッダを取り出す。
    10793 */
    10894
     
    11298        T_DNS_HDR       *dns_hdr;
    11399
    114         /* DNS ヘッダを取り出す。*/
     100        /* DNS ヘッダを取り出す。*/
    115101        if (length < sizeof(rslv->dns_hdr))
    116102                return EV_RSLV_ESIZE;
     
    126112
    127113/*
    128  *  dns_strtype -- DNS の type の文字列を返す。
     114 *  dns_strtype -- DNS の type の文字列を返す。
    129115 */
    130116
     
    145131
    146132/*
    147  *  udp6_dns -- UDP/IPv6 により DNS サーバからメッセージを受信する。
     133 *  udp6_dns -- UDP/IPv6 により DNS サーバからメッセージを受信する。
    148134 */
    149135
     
    155141        int             retry;
    156142
    157         /* DNS サーバの IPv6 アドレスが未定義の時はパラメータエラー */
     143        /* DNS サーバの IPv6 アドレスが未定義の時はパラメータエラー */
    158144        if (IN6_IS_ADDR_UNSPECIFIED(addr) || (in6_is_addr_ipv4mapped(addr) && addr->s6_addr32[3] == IPV4_ADDRANY)) {
    159145                syslog(LOG_NOTICE, "[RSLV] undefined IPv6 DNS server address.");
     
    191177
    192178/*
    193  *  udp4_dns -- UDP/IPv4 により DNS サーバからメッセージを受信する。
     179 *  udp4_dns -- UDP/IPv4 により DNS サーバからメッセージを受信する。
    194180 */
    195181
     
    201187        int             retry;
    202188
    203         /* DNS サーバの IPv4 アドレスが未定義の時はパラメータエラー */
     189        /* DNS サーバの IPv4 アドレスが未定義の時はパラメータエラー */
    204190        if (*addr == IPV4_ADDRANY) {
    205191                syslog(LOG_NOTICE, "[RSLV] undefined IPv4 DNS server address.");
     
    235221
    236222/*
    237  *  skip_label -- ラベルを読み飛ばす。
     223 *  skip_label -- ラベルを読み飛ばす。
    238224 */
    239225
     
    247233
    248234/*
    249  *  add_name -- メッセージに名前を追加する。
     235 *  add_name -- メッセージに名前を追加する。
    250236 */
    251237
     
    258244        while (*name != '\0') {
    259245
    260                 /* メッセージサイズに達していたらエラー */
     246                /* メッセージサイズに達していたらエラー */
    261247                if (offset + 1 > size)
    262248                        return E_BOVR;
    263249
    264                 /* ラベルの終わりを見つける。*/
     250                /* ラベルの終わりを見つける。*/
    265251                tail = skip_label(name);
    266252
    267                 /* ラベル長を設定する。*/
     253                /* ラベル長を設定する。*/
    268254                label_len = tail - (uint8_t*)name;
    269                 if (label_len > DNS_LABEL_LENGTH) {     /* 63 オクテットをè¶
    270 ãˆã‚‹ã¨ã‚¨ãƒ©ãƒ¼ */
     255                if (label_len > DNS_LABEL_LENGTH) {     /* 63 オクテットを超えるとエラー */
    271256                        syslog(LOG_NOTICE, "[RSLV] label length(%d) too long > %d.",
    272257                                           label_len, DNS_LABEL_LENGTH);
     
    277262                offset ++;
    278263
    279                 /* ラベル名を設定する。*/
    280                 if (offset + label_len > size) {        /* メッセージサイズをè¶
    281 ãˆã‚‹ã¨ã‚¨ãƒ©ãƒ¼ */
     264                /* ラベル名を設定する。*/
     265                if (offset + label_len > size) {        /* メッセージサイズを超えるとエラー */
    282266                        syslog(LOG_NOTICE, "[RSLV] message length(%d) too long > %d.",
    283267                                           offset + label_len, size);
     
    288272                offset += label_len;
    289273
    290                 /* 次のラベルに移動する。*/
     274                /* 次のラベルに移動する。*/
    291275                if (*tail == '\0')
    292276                        name = tail;
    293277                else
    294                         name = tail + 1;        /* '.' をスキップする。*/
     278                        name = tail + 1;        /* '.' をスキップする。*/
    295279                }
    296280
     
    299283
    300284/*
    301  *  add_ipv6addr -- メッセージに IPv6 アドレスを追加する。
     285 *  add_ipv6addr -- メッセージに IPv6 アドレスを追加する。
    302286 */
    303287
     
    319303        for (col = sizeof(T_IN6_ADDR) * 2; -- col >= 0; ) {
    320304
    321                 /* 16進数 1桁の値を、名前として追加する。*/
     305                /* 16進数 1桁の値を、名前として追加する。*/
    322306                digit[0] = (addr.s6_addr8[col / 2] >> ((1 - (col % 2)) << 2)) & 0x0f;
    323307                if (digit[0] >= 10)
     
    330314                }
    331315
    332         /* "ip6" を追加する。*/
     316        /* "ip6" を追加する。*/
    333317        if ((error = add_name(msg, size, offset, "ip6")) < 0)
    334318                return error;
    335319
    336         /* "arpa" を追加する。*/
     320        /* "arpa" を追加する。*/
    337321        return add_name(msg, size, error, "arpa");
    338322        }
    339323
    340324/*
    341  *  add_ipv4addr -- メッセージに IPv4 アドレスを追加する。
     325 *  add_ipv4addr -- メッセージに IPv4 アドレスを追加する。
    342326 */
    343327
     
    359343        for (col = 0; col < sizeof(T_IN4_ADDR); col ++) {
    360344
    361                 /* 1オクテットの値を、整数値からリテラルに変換する。*/
     345                /* 1オクテットの値を、整数値からリテラルに変換する。*/
    362346                octet = (addr >> (col << 3)) & 0xff;
    363347                op = &ostr[3];
     
    367351                        }
    368352
    369                 /* 1オクテットの値を、名前として追加する。*/
     353                /* 1オクテットの値を、名前として追加する。*/
    370354                if ((error = add_name(msg, size, offset, op)) < 0)
    371355                        return error;
     
    373357                }
    374358
    375         /* "in-addr" を追加する。*/
     359        /* "in-addr" を追加する。*/
    376360        if ((error = add_name(msg, size, offset, "in-addr")) < 0)
    377361                return error;
    378362
    379         /* "arpa" を追加する。*/
     363        /* "arpa" を追加する。*/
    380364        return add_name(msg, size, error, "arpa");
    381365        }
    382366
    383367/*
    384  *  setup_dns_msg -- DNS メッセージを作成する。
     368 *  setup_dns_msg -- DNS メッセージを作成する。
    385369 */
    386370
     
    406390        case DNS_LUP_FLAGS_NAME_FQDN:
    407391
    408                 /* ホスト名、または FQDN の時の処理。*/
    409                 /* ホスト名を追加する。*/
     392                /* ホスト名、または FQDN の時の処理。*/
     393                /* ホスト名を追加する。*/
    410394                if ((offset = add_name(msg, msg_size, offset, name)) < 0)
    411395                        return offset;
    412396
    413                 if (offset - sizeof(dns_hdr) > DNS_NAME_LENGTH) {               /* 名前が 255 オクテットをè¶
    414 ãˆã‚‹ã¨ã‚¨ãƒ©ãƒ¼ */
     397                if (offset - sizeof(dns_hdr) > DNS_NAME_LENGTH) {               /* 名前が 255 オクテットを超えるとエラー */
    415398                        syslog(LOG_NOTICE, "[RSLV] name length(%d) too long > %d.",
    416399                                           offset - sizeof(dns_hdr), DNS_NAME_LENGTH);
     
    418401                        }
    419402
    420                 /* ホスト名だけの時は、ドメイン名を追加する。*/
     403                /* ホスト名だけの時は、ドメイン名を追加する。*/
    421404                if ((flags & DNS_LUP_FLAGS_NAME_MASK) == DNS_LUP_FLAGS_NAME_HOST) {
    422405
    423                         /* ドメイン名を追加する。*/
     406                        /* ドメイン名を追加する。*/
    424407                        if ((offset = add_name(msg, msg_size, offset, dns_domain_name)) < 0)
    425408                                return offset;
    426409
    427                         if (offset - sizeof(dns_hdr) > DNS_NAME_LENGTH) {               /* 名前が 255 オクテットをè¶
    428 ãˆã‚‹ã¨ã‚¨ãƒ©ãƒ¼ */
     410                        if (offset - sizeof(dns_hdr) > DNS_NAME_LENGTH) {               /* 名前が 255 オクテットを超えるとエラー */
    429411                                syslog(LOG_NOTICE, "[RSLV] name length(%d) too long > %d.",
    430412                                                   offset - sizeof(dns_hdr), DNS_NAME_LENGTH);
     
    451433                }
    452434
    453         /* 名前の終了コード、TYPE、CLASS を追加してもメッセージ長をè¶
    454 ãˆãªã„ことを確認する。*/
     435        /* 名前の終了コード、TYPE、CLASS を追加してもメッセージ長を超えないことを確認する。*/
    455436        if (offset + sizeof(uint16_t) * 2 + 1 > msg_size) {
    456437                syslog(LOG_NOTICE, "[RSLV] message length(%d) too long > %d.",
     
    459440                }
    460441
    461         /* 名前の終了コードを設定する。*/
     442        /* 名前の終了コードを設定する。*/
    462443        *(msg + offset) = '\0';
    463444        offset ++;
    464445
    465         /* DNS の TYPE を設定する。*/
     446        /* DNS の TYPE を設定する。*/
    466447        if (flags & DNS_LUP_FLAGS_QTYPE_PTR)
    467448                host2msg16(msg + offset, DNS_TYPE_PTR);
     
    476457        offset += sizeof(uint16_t);
    477458
    478         /* DNS の CLASS を設定する。*/
     459        /* DNS の CLASS を設定する。*/
    479460        host2msg16(msg + offset, DNS_CLASS_IN);
    480461
     
    483464
    484465/*
    485  *  skip_dns_name -- DNS メッセージの名前を読み飛ばす。
     466 *  skip_dns_name -- DNS メッセージの名前を読み飛ばす。
    486467 *
    487  *    注意: 圧縮形式を考æ
    488 ®ã™ã‚‹ã€‚上位 2ビットが 11なら圧縮形式。
     468 *    注意: 圧縮形式を考慮する。上位 2ビットが 11なら圧縮形式。
    489469 */
    490470
     
    508488
    509489/*
    510  *  skip_dns_qd -- DNS Question section を読み飛ばす。
     490 *  skip_dns_qd -- DNS Question section を読み飛ばす。
    511491 */
    512492
     
    517497
    518498        while (count != 0) {
    519                 /* name を読み飛ばす。*/
     499                /* name を読み飛ばす。*/
    520500                if ((next = skip_dns_name(msg, offset, length)) < 0)
    521501                        return next;
    522502                offset = next;
    523503
    524                 /* type、class を読み飛ばす。*/
     504                /* type、class を読み飛ばす。*/
    525505                if ((offset + sizeof(uint16_t) + sizeof(uint16_t)) > length)
    526506                        return EV_RSLV_ESIZE;
     
    534514
    535515/*
    536  *  skip_dns_rr -- DNS RR を読み飛ばす。
     516 *  skip_dns_rr -- DNS RR を読み飛ばす。
    537517 */
    538518
     
    544524
    545525        while (count != 0) {
    546                 /* name を読み飛ばす。*/
     526                /* name を読み飛ばす。*/
    547527                if ((next = skip_dns_name(msg, offset, length)) < 0)
    548528                        return next;
    549529                offset = next;
    550530
    551                 /* type、class、TTL を読み飛ばす。*/
     531                /* type、class、TTL を読み飛ばす。*/
    552532                if (offset + sizeof(uint16_t) + sizeof(uint16_t) + sizeof(uint32_t) > length)
    553533                        return EV_RSLV_ESIZE;
    554534                offset += sizeof(uint16_t) + sizeof(uint16_t) + sizeof(uint32_t);
    555535
    556                 /* RD length と RDATA を読み飛ばす。*/
     536                /* RD length と RDATA を読み飛ばす。*/
    557537                if (offset + sizeof(uint16_t) > length)
    558538                        return EV_RSLV_ESIZE;
     
    570550
    571551/*
    572  *  dns_analyze_qd -- DNS メッセージの question section を解析する。
     552 *  dns_analyze_qd -- DNS メッセージの question section を解析する。
    573553 */
    574554
     
    583563        offset = error;
    584564
    585         /* DNS メッセージå†
    586 ã®å½¢å¼ã®ã‚µã‚¤ã‚ºã§ãƒã‚§ãƒƒã‚¯ã™ã‚‹ã€‚*/
     565        /* DNS メッセージ内の形式のサイズでチェックする。*/
    587566        if (offset + T_DNS_QD_SIZE > length)
    588567                return EV_RSLV_ESIZE;
    589568
    590569        /*
    591          *  DNS メッセージå†
    592 ã® SOA RDATA をバイトオーダーを調整して
    593          *  å†
    594 éƒ¨æ§‹é€ ä½“にコピーする。
     570         *  DNS メッセージ内の SOA RDATA をバイトオーダーを調整して
     571         *  内部構造体にコピーする。
    595572         */
    596573        dns_qd = (T_DNS_QD*)(msg + offset);
     
    602579
    603580/*
    604  *  dns_analyze_soa -- DNS メッセージの SOA RDATA を解析する。
     581 *  dns_analyze_soa -- DNS メッセージの SOA RDATA を解析する。
    605582 */
    606583
     
    611588        T_DNS_SOA       *dns_soa;
    612589
    613         /* MNAME をスキップする。*/
     590        /* MNAME をスキップする。*/
    614591        if ((error = skip_dns_name(msg, offset, length)) < 0)
    615592                return error;
    616593        offset = error;
    617594
    618         /* RNAME をスキップする。*/
     595        /* RNAME をスキップする。*/
    619596        if ((error = skip_dns_name(msg, offset, length)) < 0)
    620597                return error;
    621598        offset = error;
    622599
    623         /* DNS メッセージå†
    624 ã®å½¢å¼ã®ã‚µã‚¤ã‚ºã§ãƒã‚§ãƒƒã‚¯ã™ã‚‹ã€‚*/
     600        /* DNS メッセージ内の形式のサイズでチェックする。*/
    625601        if (offset + T_DNS_SOA_SIZE > length)
    626602                return EV_RSLV_ESIZE;
    627603
    628604        /*
    629          *  DNS メッセージå†
    630 ã® SOA RDATA をバイトオーダーを調整して
    631          *  å†
    632 éƒ¨æ§‹é€ ä½“にコピーする。
     605         *  DNS メッセージ内の SOA RDATA をバイトオーダーを調整して
     606         *  内部構造体にコピーする。
    633607         */
    634608        dns_soa = (T_DNS_SOA*)(msg + offset);
     
    643617
    644618/*
    645  *  dns_analyze_rr -- DNS メッセージの AN/NS/AR section を解析する。
     619 *  dns_analyze_rr -- DNS メッセージの AN/NS/AR section を解析する。
    646620 */
    647621
     
    656630        offset = error;
    657631
    658         /* DNS メッセージå†
    659 ã®å½¢å¼ã®ã‚µã‚¤ã‚ºã§ãƒã‚§ãƒƒã‚¯ã™ã‚‹ã€‚*/
     632        /* DNS メッセージ内の形式のサイズでチェックする。*/
    660633        if (offset + T_DNS_RR_SIZE > length)
    661634                return EV_RSLV_ESIZE;
    662635
    663636        /*
    664          *  DNS メッセージå†
    665 ã® SOA RDATA をバイトオーダーを調整して
    666          *  å†
    667 éƒ¨æ§‹é€ ä½“にコピーする。
     637         *  DNS メッセージ内の SOA RDATA をバイトオーダーを調整して
     638         *  内部構造体にコピーする。
    668639         */
    669640        dns_rr = (T_DNS_RR*)(msg + offset);
     
    679650
    680651/*
    681  *  analyze_dns_msg -- DNS メッセージを解析する。
     652 *  analyze_dns_msg -- DNS メッセージを解析する。
    682653 */
    683654
     
    687658        ER_UINT offset;
    688659
    689         /* DNS ヘッダを取り出す。*/
     660        /* DNS ヘッダを取り出す。*/
    690661        if ((offset = get_dns_header(msg, length, rslv)) < 0)
    691662                return offset;
    692663
    693         /* question section を読み飛ばす。*/
     664        /* question section を読み飛ばす。*/
    694665        rslv->qd_offset = offset;
    695666        if ((offset = skip_dns_qd(msg, offset, length, rslv->dns_hdr.qdcount)) < 0)
    696667                return offset;
    697668
    698         /* answer section を読み飛ばす。*/
     669        /* answer section を読み飛ばす。*/
    699670        rslv->an_offset = offset;
    700671        if ((offset = skip_dns_rr(msg, offset, length, rslv->dns_hdr.ancount)) < 0)
    701672                return offset;
    702673
    703         /* authority records section を読み飛ばす。*/
     674        /* authority records section を読み飛ばす。*/
    704675        rslv->ns_offset = offset;
    705676        if ((offset = skip_dns_rr(msg, offset, length, rslv->dns_hdr.nscount)) < 0)
    706677                return offset;
    707678
    708         /* additional records  section を読み飛ばす。*/
     679        /* additional records  section を読み飛ばす。*/
    709680        rslv->ar_offset = offset;
    710681        if ((offset = skip_dns_rr(msg, offset, length, rslv->dns_hdr.arcount)) < 0)
     
    715686
    716687/*
    717  *  dns_lookup_host_sub -- DNS によりホストのæƒ
    718 å ±ã‚’取得する(補助関数)。
     688 *  dns_lookup_host_sub -- DNS によりホストの情報を取得する(補助関数)。
    719689 */
    720690
     
    833803
    834804/*
    835  *  udp64_dns -- DNS/IPv6、DNS/IPv4 により DNS サーバからメッセージを受信する。
     805 *  udp64_dns -- DNS/IPv6、DNS/IPv4 により DNS サーバからメッセージを受信する。
    836806 */
    837807
     
    844814        uint16_t        proto;
    845815
    846         /* DNS メッセージを作成する。*/
     816        /* DNS メッセージを作成する。*/
    847817        if ((length = setup_dns_msg(flags, hostname, msg, msg_size)) < 0)
    848818                return length;
    849819
    850         /* UDP/IPv6 の DNS サーバにç
    851 §ä¼šã™ã‚‹ã€‚*/
     820        /* UDP/IPv6 の DNS サーバに照会する。*/
    852821        proto = DNS_LUP_FLAGS_PROTO_IPV6;
    853822        if ((length = udp6_dns(flags, &in6_addr_dns, msg, msg_size, length)) < 0) {
    854                 /*  UDP/IPv6 の DNS サーバへのç
    855 §ä¼šãŒã‚¨ãƒ©ãƒ¼ã«ãªã£ãŸæ™‚は、UDP/IPv4 の DNS サーバにç
    856 §ä¼šã™ã‚‹ã€‚*/
     823                /*  UDP/IPv6 の DNS サーバへの照会がエラーになった時は、UDP/IPv4 の DNS サーバに照会する。*/
    857824                if ((length = setup_dns_msg(flags, hostname, msg, msg_size)) < 0)
    858825                        return length;
    859826
    860                 /* UDP/IPv4 の DNS サーバにç
    861 §ä¼šã™ã‚‹ã€‚*/
     827                /* UDP/IPv4 の DNS サーバに照会する。*/
    862828                proto = DNS_LUP_FLAGS_PROTO_IPV4;
    863829                if ((length = udp4_dns(flags, &in4_addr_dns, msg, msg_size, length)) < 0)
     
    865831                }
    866832
    867         /* DNS メッセージを解析する。*/
     833        /* DNS メッセージを解析する。*/
    868834        if ((error = analyze_dns_msg(msg, length, rslv)) != E_OK)
    869835                return error;
     
    890856
    891857/*
    892  *  dns_lookup_host -- DNS によりホストのæƒ
    893 å ±ã‚’取得する。
     858 *  dns_lookup_host -- DNS によりホストの情報を取得する。
    894859 */
    895860
     
    905870
    906871                /*
    907                  *  IPv6/IPv4 の両方が指定された時の処理
    908                  *  まず type == AAAA で DNS サーバにç
    909 §ä¼šã™ã‚‹ã€‚
     872                 *  IPv6/IPv4 の両方が指定された時の処理
     873                 *  まず type == AAAA で DNS サーバに照会する。
    910874                 */
    911875                if (flags & DNS_LUP_FLAGS_QTYPE_PTR) {
     
    925889
    926890                        /*
    927                          *  type == AAAA でアドレス解決ができなかった時の処理
    928                          *  type == A で DNS サーバにç
    929 §ä¼šã™ã‚‹ã€‚
     891                         *  type == AAAA でアドレス解決ができなかった時の処理
     892                         *  type == A で DNS サーバに照会する。
    930893                         */
    931894                        if (flags & DNS_LUP_FLAGS_QTYPE_A)
     
    943906
    944907                /*
    945                  *  type == AAAA と A の両方が指定された時の処理
    946                  *  まず type == AAAA で DNS サーバにç
    947 §ä¼šã™ã‚‹ã€‚
     908                 *  type == AAAA と A の両方が指定された時の処理
     909                 *  まず type == AAAA で DNS サーバに照会する。
    948910                 */
    949911                if ((error = dns_lookup_host_sub(flags & ~DNS_LUP_FLAGS_QTYPE_A, hostname, msg, msg_size, rslv)) < 0)
     
    953915
    954916                        /*
    955                          *  type == AAAA でアドレス解決ができなかった時の処理
    956                          *  type == A で DNS サーバにç
    957 §ä¼šã™ã‚‹ã€‚
     917                         *  type == AAAA でアドレス解決ができなかった時の処理
     918                         *  type == A で DNS サーバに照会する。
    958919                         */
    959920                        return dns_lookup_host_sub(flags & ~DNS_LUP_FLAGS_QTYPE_AAAA, hostname, msg, msg_size, rslv);
     
    968929
    969930        else {
    970                 /* IPv6/IPv4 のどちらか一方が指定された時の処理 */
     931                /* IPv6/IPv4 のどちらか一方が指定された時の処理 */
    971932                error = dns_lookup_host_sub(flags, hostname, msg, msg_size, rslv);
    972933                }
     
    984945
    985946/*
    986  *  dns_in6_set_dname -- DNS の ドメイン名を設定する(DHCPv6用)。
     947 *  dns_in6_set_dname -- DNS の ドメイン名を設定する(DHCPv6用)。
    987948 *
    988  *    注意: new に NULL を指定すると、初期値に戻す。
     949 *    注意: new に NULL を指定すると、初期値に戻す。
    989950 */
    990951
     
    1019980
    1020981/*
    1021  *  dns_in6_get_dname -- DNS の ドメイン名を得る。
     982 *  dns_in6_get_dname -- DNS の ドメイン名を得る。
    1022983 */
    1023984
     
    1029990
    1030991/*
    1031  *  dns_in6_set_addr -- DNS サーバの IPv6 アドレスを設定する(DHCPv6用)。
     992 *  dns_in6_set_addr -- DNS サーバの IPv6 アドレスを設定する(DHCPv6用)。
    1032993 *
    1033  *    注意: new に NULL を指定すると、初期値に戻す。
     994 *    注意: new に NULL を指定すると、初期値に戻す。
    1034995 */
    1035996
     
    10451006
    10461007/*
    1047  *  dns_in6_get_addr -- DNS サーバの IPv6 アドレスを得る。
     1008 *  dns_in6_get_addr -- DNS サーバの IPv6 アドレスを得る。
    10481009 */
    10491010
     
    10641025
    10651026/*
    1066  *  dns_in4_set_dname -- DNS の ドメイン名を設定する(DHCPv4用)。
     1027 *  dns_in4_set_dname -- DNS の ドメイン名を設定する(DHCPv4用)。
    10671028 *
    1068  *    注意: new に NULL を指定すると、初期値に戻す。
     1029 *    注意: new に NULL を指定すると、初期値に戻す。
    10691030 */
    10701031
     
    10871048
    10881049/*
    1089  *  dns_in4_get_dname -- DNS の ドメイン名を得る。
     1050 *  dns_in4_get_dname -- DNS の ドメイン名を得る。
    10901051 */
    10911052
     
    10971058
    10981059/*
    1099  *  dns_in4_set_addr -- DNS サーバの IPv4 アドレスを設定する(DHCPv4用)。
     1060 *  dns_in4_set_addr -- DNS サーバの IPv4 アドレスを設定する(DHCPv4用)。
    11001061 *
    1101  *    注意: new に NULL を指定すると、初期値に戻す。
     1062 *    注意: new に NULL を指定すると、初期値に戻す。
    11021063 */
    11031064
     
    11131074
    11141075/*
    1115  *  dns_in4_get_addr -- DNS サーバの IPv4 アドレスを得る。
     1076 *  dns_in4_get_addr -- DNS サーバの IPv4 アドレスを得る。
    11161077 */
    11171078
     
    11301091
    11311092/*
    1132  *  dns_host_addr -- ホスト名を IP アドレスに変換する。
     1093 *  dns_host_addr -- ホスト名を IP アドレスに変換する。
    11331094 */
    11341095
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/resolver.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4733 *
    4834 *  @(#) $Id$
     
    5036
    5137/*
    52  *  ホスト名←→IP アドレス変換
     38 *  ホスト名←→IP アドレス変換
    5339 */
    5440
     
    5945
    6046/*
    61  *  コンパイル時コンフィギュレーションの指定
    62  */
    63 
    64 /* ポート番号 */
     47 *  コンパイル時コンフィギュレーションの指定
     48 */
     49
     50/* ポート番号 */
    6551
    6652#define RSLV_CFG_DNS_PORTNO     53
    6753
    6854/*
    69  *  タイムアウト値
    70  */
    71 
    72 #define TMO_DNS_UDP_SND         ULONG_C(1*1000*1000)    /* [us]、DNS サーバへの   UDP 送信タイムアウト    */
    73 #define TMO_DNS_UDP_RCV         ULONG_C(5*1000*1000)    /* [us]、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*1000)    /* [us]、DNS サーバへの   UDP 送信タイムアウト        */
     59#define TMO_DNS_UDP_RCV         ULONG_C(5*1000*1000)    /* [us]、DNS サーバからの UDP 受信タイムアウト */
     60#define NUM_DNS_UDP_RETRY       1               /* リトライ回数                                       */
     61
     62/*
     63 *  ドメイン名
    7864 */
    7965
     
    8470
    8571/*
    86  *  DNS サーバーの IPアドレス
     72 *  DNS サーバーの IPアドレス
    8773 */
    8874
     
    9682
    9783/*
    98  *  送受信バッファ数
     84 *  送受信バッファ数
    9985 */
    10086
     
    10288
    10389/*
    104  *  プログラムで使用するæƒ
    105 å ±ã®å®šç¾©
    106  */
    107 
    108 /*
    109  *  プログラムで使用する DNS ヘッダ
    110  *
    111  *    注意: メンバはホストバイトオーダー
     90 *  プログラムで使用する情報の定義
     91 */
     92
     93/*
     94 *  プログラムで使用する DNS ヘッダ
     95 *
     96 *    注意: メンバはホストバイトオーダー
    11297 *
    11398 *    0                    7  8                   15
     
    147132 *  DNS message data
    148133 *
    149  *    注意: メンバはホストバイトオーダー
     134 *    注意: メンバはホストバイトオーダー
    150135 */
    151136
     
    159144
    160145/*
    161  *  RR (Resouce Record) 形式
     146 *  RR (Resouce Record) 形式
    162147 *
    163148 *    0                    7  8                   15
     
    185170 *  +-----------------------------------------------+
    186171 *
    187  *    注意: offset の原点は DNS message のå
    188 ˆé ­
    189  *          メンバはホストバイトオーダー
     172 *    注意: offset の原点は DNS message の先頭
     173 *          メンバはホストバイトオーダー
    190174 */
    191175
     
    199183
    200184/*
    201  *  Question section 形式
     185 *  Question section 形式
    202186 *
    203187 *    0                    7  8                   15
     
    214198 *  +-----------------------------------------------+
    215199 *
    216  *    注意: メンバはホストバイトオーダー
     200 *    注意: メンバはホストバイトオーダー
    217201 */
    218202
     
    223207
    224208/*
    225  *  SOA RDATA 形式
     209 *  SOA RDATA 形式
    226210 *
    227211 *    0                    7  8                   15
     
    255239 *  +-----------------------------------------------+
    256240 *
    257  *    注意: offset の原点は DNS message のå
    258 ˆé ­
    259  *          メンバはホストバイトオーダー
     241 *    注意: offset の原点は DNS message の先頭
     242 *          メンバはホストバイトオーダー
    260243 */
    261244
     
    269252
    270253/*
    271  *  dns_lookup_host の flags の定義
    272  *
    273  *    注意:
    274  *      dns.h で定義されている DNS_OPCODE と重ならないこと。
     254 *  dns_lookup_host の flags の定義
     255 *
     256 *    注意:
     257 *      dns.h で定義されている DNS_OPCODE と重ならないこと。
    275258 *      #define DNS_OPCODE_MASK         0x7800U
    276259 */
     
    299282
    300283/*
    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 *  関数
    309292 */
    310293
     
    316299
    317300/*
    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 を指定すると、初期値に戻す。
    321304 */
    322305
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/resolver_asp.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  ASP 用 Resolver のシステムコンフィギュレーションファイル
     35 *  ASP 用 Resolver のシステムコンフィギュレーションファイル
    4836 */
    4937
     
    5139
    5240/*
    53  * 固定メモリプール
     41 * 固定メモリプール
    5442 */
    5543
    56 /* 送受信バッファ */
     44/* 送受信バッファ */
    5745
    5846CRE_MPF(MPF_RSLV_SRBUF, {
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/resolver_jsp.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  JSP 用 Resolver のシステムコンフィギュレーションファイル
     35 *  JSP 用 Resolver のシステムコンフィギュレーションファイル
    4836 */
    4937
     
    5139
    5240/*
    53  * 固定メモリプール
     41 * 固定メモリプール
    5442 */
    5543
    56 /* 送受信バッファ */
     44/* 送受信バッファ */
    5745
    5846CRE_MPF(MPF_RSLV_SRBUF, {
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/tcp_discard_cli.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  TCP DISCARD クライアント
     35 *  TCP DISCARD クライアント
    4836 *
    49  *    ・ノンブロッキングコール
    50  *    ・IPv4
    51  *    ・IPv6
     37 *    ・ノンブロッキングコール
     38 *    IPv4
     39 *    IPv6
    5240 */
    5341
     
    7967#ifdef USE_TCP_DISCARD_CLI
    8068
    81 /* discard サーバのポート番号 */
     69/* discard サーバのポート番号 */
    8270
    8371#define DISCARD_SRV_PORTNO      UINT_C(9)
    8472
    85 /* 表示 */
     73/* 表示 */
    8674
    8775/*#define SHOW_RCV_RANGE*/
    8876
    89 /* 送信間隔 */
     77/* 送信間隔 */
    9078
    9179#ifdef TOPPERS_S810_CLG3_85
     
    10391#endif  /* of #ifdef TOPPERS_S810_CLG3_85 */
    10492
    105 /* 自動実行 */
     93/* 自動実行 */
    10694
    10795#if defined(TCP_DISCARD_CLI_AUTO_RUN_STR)
     
    117105
    118106/*
    119  *  バッファサイズの定義
     107 *  バッファサイズの定義
    120108 */
    121109
     
    127115
    128116/*
    129  *  å
    130 ¨åŸŸå¤‰æ•°
     117 *  全域変数
    131118 */
    132119
    133120bool_t tcp_discard_cli_valid;
    134121
    135 /* TCP 送受信ウィンドバッファ */
     122/* TCP 送受信ウィンドバッファ */
    136123
    137124#ifndef TCP_CFG_SWBUF_CSAVE_ONLY
     
    142129
    143130/*
    144  *  変数
     131 *  変数
    145132 */
    146133
     
    153140
    154141/*
    155  *  ノンブロッキングコールのコールバック関数
     142 *  ノンブロッキングコールのコールバック関数
    156143 */
    157144
     
    187174
    188175/*
    189  *  send_tcp_discard -- DISCARD/TCP サーバにメッセージを送信する。
     176 *  send_tcp_discard -- DISCARD/TCP サーバにメッセージを送信する。
    190177 */
    191178
     
    215202                }
    216203
    217         /* 接続が完了するまでå¾
    218 ã¤ã€‚*/
     204        /* 接続が完了するまで待つ。*/
    219205        syscall(wai_sem(SEM_TCP_DISCARD_CLI_NBLK_READY));
    220206
     
    259245                        syslog(LOG_NOTICE, "[TDCn:%02u SND] close error: %s", cepid, itron_strerror(error));
    260246
    261                 /* 開放が完了するまでå¾
    262 ã¤ã€‚*/
     247                /* 開放が完了するまで待つ。*/
    263248                syscall(wai_sem(SEM_TCP_DISCARD_CLI_NBLK_READY));
    264249                }
     
    270255
    271256/*
    272  *  send_tcp_discard -- DISCARD/TCP サーバにメッセージを送信する。
     257 *  send_tcp_discard -- DISCARD/TCP サーバにメッセージを送信する。
    273258 */
    274259
     
    344329
    345330/*
    346  *  getcomd -- コマンドを得る。
     331 *  getcomd -- コマンドを得る。
    347332 */
    348333
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/tcp_discard_cli.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  TCP DISCARD クライアント
    48  *  コンフィギュレーションファイル
     35 *  TCP DISCARD クライアント
     36 *  コンフィギュレーションファイル
    4937 */
    5038
    5139#ifdef USE_TCP_DISCARD_CLI
    5240
    53 /* タスク */
     41/* タスク */
    5442
    5543#ifdef USE_TCP_EXTENTIONS
     
    7765#endif  /* of #ifdef USE_TCP_EXTENTIONS */
    7866
    79 /* コマンドキュー */
     67/* コマンドキュー */
    8068
    8169CRE_DTQ(DTQ_TCP_DISCARD_CLI,  { TA_TFIFO, 1, NULL });
    8270
    83 /* セマフォ */
     71/* セマフォ */
    8472
    8573#ifdef USE_TCP_NON_BLOCKING
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/tcp_discard_cli.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4735#define _TCP_DISCARD_CLI_H_
    4836
    49 /* スタックサイズ */
     37/* スタックサイズ */
    5038
    51 #define TCP_DISCARD_CLI_STACK_SIZE      1024            /* TCP DISCARD クライアントタスクのスタックサイズ */
     39#define TCP_DISCARD_CLI_STACK_SIZE      1024            /* TCP DISCARD クライアントタスクのスタックサイズ */
    5240
    53 /* 優å
    54 ˆåº¦ */
     41/* 優先度 */
    5542
    56 #define TCP_DISCARD_CLI_MAIN_PRIORITY   5       /* TCP DISCARD クライアントタスクの優å
    57 ˆåº¦ */
     43#define TCP_DISCARD_CLI_MAIN_PRIORITY   5       /* TCP DISCARD クライアントタスクの優先度 */
    5844
    5945/*
    60  *  TCP 送受信ウインドバッファサイズ
     46 *  TCP 送受信ウインドバッファサイズ
    6147 */
    6248
     
    8066
    8167/*
    82  *  変数
     68 *  変数
    8369 */
    8470
    8571extern bool_t   tcp_discard_cli_valid;
    8672
    87 /* TCP 送受信バッファ */
     73/* TCP 送受信バッファ */
    8874
    8975extern uint8_t tcp_discard_cli_swbuf[];
    9076extern uint8_t tcp_discard_cli_rwbuf[];
    9177
    92 /* タスク */
     78/* タスク */
    9379
    9480extern void tcp_discard_cli_task(intptr_t exinf);
    9581
    96 /* 関数 */
     82/* 関数 */
    9783
    9884extern ER callback_nblk_tcp_discard_cli (ID cepid, FN fncd, void *p_parblk);
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/tcp_discard_srv.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  DISCARD サーバ
     35 *  DISCARD サーバ
    4836 *
    49  *    ・省コピー API
    50  *    ・IPv4
    51  *    ・IPv6
     37 *    ・省コピー API
     38 *    IPv4
     39 *    IPv6
    5240 */
    5341
     
    8068
    8169/*
    82  *  表示
     70 *  表示
    8371 */
    8472
     
    8775
    8876/*
    89  *  å
    90 ¨åŸŸå¤‰æ•°
    91  */
    92 
    93 /* TCP 送受信ウィンドバッファ */
     77 *  全域変数
     78 */
     79
     80/* TCP 送受信ウィンドバッファ */
    9481
    9582#ifndef TCP_CFG_RWBUF_CSAVE_ONLY
     
    9885
    9986/*
    100  *  TCP DISCARD サーバタスク
     87 *  TCP DISCARD サーバタスク
    10188 */
    10289
     
    236223
    237224/*
    238  *  get_tcp_rep -- TCP 受付口を獲得する。
     225 *  get_tcp_rep -- TCP 受付口を獲得する。
    239226 */
    240227
     
    266253
    267254/*
    268  *  get_tcp_cep -- TCP 通信端点とを獲得する。
     255 *  get_tcp_cep -- TCP 通信端点とを獲得する。
    269256 */
    270257
     
    293280
    294281/*
    295  *  tcp_discard_srv_task -- TCP エコーサーバタスク
     282 *  tcp_discard_srv_task -- TCP エコーサーバタスク
    296283 */
    297284
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/tcp_discard_srv.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  TCP DISCARD サーバコンフィギュレーションファイル
     35 *  TCP DISCARD サーバコンフィギュレーションファイル
    4836 */
    4937
     
    5139
    5240/*
    53  * タスク
     41 * タスク
    5442 */
    5543
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/tcp_discard_srv.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4735#define _TCP_DISCARD_SRV_H_
    4836
    49 /* スタックサイズ */
     37/* スタックサイズ */
    5038
    51 #define TCP_DISCARD_SRV_STACK_SIZE      1024            /* TCP DISCARD サーバタスクのスタックサイズ */
     39#define TCP_DISCARD_SRV_STACK_SIZE      1024            /* TCP DISCARD サーバタスクのスタックサイズ */
    5240
    53 /* 優å
    54 ˆåº¦ */
     41/* 優先度 */
    5542
    56 #define TCP_DISCARD_SRV_MAIN_PRIORITY   5       /* TCP DISCARD サーバタスクの優å
    57 ˆåº¦ */
     43#define TCP_DISCARD_SRV_MAIN_PRIORITY   5       /* TCP DISCARD サーバタスクの優先度 */
    5844
    5945/*
    60  *  TCP 送受信ウインドバッファサイズ
     46 *  TCP 送受信ウインドバッファサイズ
    6147 */
    6248
     
    7965#endif  /* of #if defined(USE_TCP_MSS_SEG) || defined(USE_IPV6_MMTU) */
    8066
    81 /* TCP 送受信バッファ */
     67/* TCP 送受信バッファ */
    8268
    8369extern uint8_t tcp_discard_srv_swbuf[];
    8470extern uint8_t tcp_discard_srv_rwbuf[];
    8571
    86 /* タスク */
     72/* タスク */
    8773
    8874extern void tcp_discard_srv_task(intptr_t exinf);
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/tcp_echo_cli.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  TCP ECHO クライアント
     35 *  TCP ECHO クライアント
    4836 *
    49  *    ・送受信タスク分離型
    50  *    ・ノンブロッキングコール
    51  *    ・省コピー API
    52  *    ・IPv4
    53  *    ・IPv6
     37 *    ・送受信タスク分離型
     38 *    ・ノンブロッキングコール
     39 *    ・省コピー API
     40 *    IPv4
     41 *    IPv6
    5442 */
    5543
     
    8371#ifdef USE_TCP_ECHO_CLI
    8472
    85 /* echo サーバのポート番号 */
     73/* echo サーバのポート番号 */
    8674
    8775#define ECHO_SRV_PORTNO         UINT_C(7)
    8876
    89 /* 緊急データの送信 */
     77/* 緊急データの送信 */
    9078
    9179#ifdef USE_TCP_EXTENTIONS
     
    9684#endif  /* of #ifdef USE_TCP_EXTENTIONS */
    9785
    98 /* 送信間隔 */
     86/* 送信間隔 */
    9987
    10088#ifdef TOPPERS_S810_CLG3_85
     
    114102#endif  /* of #ifdef TOPPERS_S810_CLG3_85 */
    115103
    116 /* 自動実行 */
     104/* 自動実行 */
    117105
    118106#if defined(TCP_ECHO_CLI_AUTO_RUN_STR)
     
    138126
    139127/*
    140  *  å
    141 ¨åŸŸå¤‰æ•°
     128 *  全域変数
    142129 */
    143130
     
    145132uint_t  tcp_echo_cli_scount;
    146133
    147 /* TCP 送受信ウィンドバッファ */
     134/* TCP 送受信ウィンドバッファ */
    148135
    149136#ifndef TCP_CFG_SWBUF_CSAVE
     
    158145
    159146/*
    160  *  å
    161 ¨åŸŸå¤‰æ•°
     147 *  全域変数
    162148 */
    163149
     
    165151
    166152/*
    167  *  ノンブロッキングコールのコールバック関数
     153 *  ノンブロッキングコールのコールバック関数
    168154 */
    169155
     
    224210
    225211/*
    226  *  getcomd -- コマンドを得る。
     212 *  getcomd -- コマンドを得る。
    227213 */
    228214
     
    295281
    296282/*
    297  *  TCP ECHO クライアント送信タスク
    298  */
    299 
    300 /*
    301  *  IP アドレスの指定
     283 *  TCP ECHO クライアント送信タスク
     284 */
     285
     286/*
     287 *  IP アドレスの指定
    302288 */
    303289
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/tcp_echo_cli.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  TCP ECHO クライアント
    48  *  コンフィギュレーションファイル
     35 *  TCP ECHO クライアント
     36 *  コンフィギュレーションファイル
    4937 */
    5038
    5139#ifdef USE_TCP_ECHO_CLI
    5240
    53 /* タスク */
     41/* タスク */
    5442
    5543#ifdef USE_TCP_EXTENTIONS
     
    9583#endif  /* of #ifdef USE_TCP_EXTENTIONS */
    9684
    97 /* コマンドキュー */
     85/* コマンドキュー */
    9886
    9987CRE_DTQ(DTQ_TCP_ECHO_CLI_SND,  { TA_TFIFO, 1, NULL });
    10088CRE_DTQ(DTQ_TCP_ECHO_CLI_RCV,  { TA_TFIFO, 1, NULL });
    10189
    102 /* セマフォ */
     90/* セマフォ */
    10391
    10492#ifdef USE_TCP_NON_BLOCKING
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/tcp_echo_cli.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4735#define _TCP_ECHO_CLI_H_
    4836
    49 /* スタックサイズ */
     37/* スタックサイズ */
    5038
    5139#ifdef TOPPERS_S810_CLG3_85
    5240
    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 クライアント送信タスクのスタックサイズ */
    5543
    5644#else   /* of #ifdef TOPPERS_S810_CLG3_85 */
    5745
    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 クライアント送信タスクのスタックサイズ */
    6048
    6149#endif  /* of #ifdef TOPPERS_S810_CLG3_85 */
    6250
    63 /* 優å
    64 ˆåº¦ */
     51/* 優先度 */
    6552
    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 クライアント送信タスクの優先度             */
    7055
    7156/*
    72  *  TCP 送受信ウインドバッファサイズ
     57 *  TCP 送受信ウインドバッファサイズ
    7358 */
    7459
     
    9580
    9681/*
    97  *  バッファサイズの定義
     82 *  バッファサイズの定義
    9883 */
    9984
     
    10691
    10792/*
    108  *  変数
     93 *  変数
    10994 */
    11095
     
    11398extern ER_UINT  tcp_echo_cli_nblk_error;
    11499
    115 /* TCP 送受信バッファ */
     100/* TCP 送受信バッファ */
    116101
    117102extern uint8_t tcp_echo_cli_swbuf[];
    118103extern uint8_t tcp_echo_cli_rwbuf[];
    119104
    120 /* タスク*/
     105/* タスク*/
    121106
    122107extern void     tcp_echo_cli_rcv_task(intptr_t exinf);
    123108extern void     tcp_echo_cli_snd_task(intptr_t exinf);
    124109
    125 /* 関数 */
     110/* 関数 */
    126111
    127112extern ER callback_nblk_tcp_echo_cli (ID cepid, FN fncd, void *p_parblk);
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/tcp_echo_cli_rcv.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  TCP ECHO クライアント受信タスク
     35 *  TCP ECHO クライアント受信タスク
    4836 */
    4937
     
    7765#ifdef USE_TCP_ECHO_CLI
    7866
    79 /* 表示 */
     67/* 表示 */
    8068
    8169//#define SHOW_TIME_OUT
    8270//#define SHOW_RCV_RANGE
    8371
    84 /* タイムアウト */
     72/* タイムアウト */
    8573
    8674#ifdef TOPPERS_S810_CLG3_85
    8775
    88 #define CLS_TMO         TMO_FEVR                                        /* Close Wait は標準で 60秒 */
     76#define CLS_TMO         TMO_FEVR                                        /* Close Wait は標準で 60秒 */
    8977//#define RCV_TMO               TMO_FEVR
    9078#define RCV_TMO         (30*SYSTIM_HZ)
     
    9280#else   /* of #ifdef TOPPERS_S810_CLG3_85 */
    9381
    94 //#define CLS_TMO               TMO_FEVR                                /* Close Wait は標準で 60秒 */
     82//#define CLS_TMO               TMO_FEVR                                /* Close Wait は標準で 60秒 */
    9583#define CLS_TMO         (70*SYSTIM_HZ+(netapp_rand()%SYSTIM_HZ)*10)
    9684//#define RCV_TMO               TMO_FEVR
     
    10088
    10189/*
    102  *  API IPプロトコルの指定
     90 *  API IPプロトコルの指定
    10391 */
    10492
     
    116104
    117105/*
    118  *  TCP ECHO クライアント受信タスク
     106 *  TCP ECHO クライアント受信タスク
    119107 */
    120108
     
    166154                                        }
    167155
    168                                 /* 受信バッファの獲得が完了するまでå¾
    169 ã¤ã€‚*/
     156                                /* 受信バッファの獲得が完了するまで待つ。*/
    170157                                syscall(wai_sem(SEM_TCP_ECHO_CLI_NBLK_READY));
    171158                                if (tcp_echo_cli_nblk_error < 0)
     
    196183                                syslog(LOG_NOTICE, "[TEC%c:%02u CLS] error: %s", apip, cepid, itron_strerror(error));
    197184
    198                         /* 切断が完了するまでå¾
    199 ã¤ã€‚*/
     185                        /* 切断が完了するまで待つ。*/
    200186                        syscall(wai_sem(SEM_TCP_ECHO_CLI_NBLK_READY));
    201187
     
    248234                                        }
    249235
    250                                 /* 受信が完了するまでå¾
    251 ã¤ã€‚*/
     236                                /* 受信が完了するまで待つ。*/
    252237                                syscall(wai_sem(SEM_TCP_ECHO_CLI_NBLK_READY));
    253238                                if (tcp_echo_cli_nblk_error < 0)
     
    274259                                syslog(LOG_NOTICE, "[TEC%c:%02u CLS] error: %s", apip, cepid, itron_strerror(error));
    275260
    276                         /* 切断が完了するまでå¾
    277 ã¤ã€‚*/
     261                        /* 切断が完了するまで待つ。*/
    278262                        syscall(wai_sem(SEM_TCP_ECHO_CLI_NBLK_READY));
    279263
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/tcp_echo_cli_snd.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  TCP ECHO クライアント送信関数
     35 *  TCP ECHO クライアント送信関数
    4836 */
    4937
     
    7563#ifdef USE_TCP_ECHO_CLI
    7664
    77 /* 表示 */
     65/* 表示 */
    7866
    7967//#define SHOW_TIME_OUT
    8068//#define SHOW_SND_COUNT
    8169
    82 /* タイムアウト */
     70/* タイムアウト */
    8371
    8472#ifdef TOPPERS_S810_CLG3_85
     
    10189
    10290/*
    103  *  変数
     91 *  変数
    10492 */
    10593
     
    123111
    124112/*
    125  *  tcp4_active_open -- 能動オープンを実行する。
     113 *  tcp4_active_open -- 能動オープンを実行する。
    126114 *
    127115 *    USE_TCP_NON_BLOCKING      ON
     
    142130                }
    143131
    144         /* 接続が完了するまでå¾
    145 ã¤ã€‚*/
     132        /* 接続が完了するまで待つ。*/
    146133        syscall(wai_sem(SEM_TCP_ECHO_CLI_NBLK_READY));
    147134
     
    160147
    161148/*
    162  *  tcp_active_open -- 能動オープンを実行する。
     149 *  tcp_active_open -- 能動オープンを実行する。
    163150 *
    164151 *    USE_TCP_NON_BLOCKING      ON
     
    184171                }
    185172
    186         /* 接続が完了するまでå¾
    187 ã¤ã€‚*/
     173        /* 接続が完了するまで待つ。*/
    188174        syscall(wai_sem(SEM_TCP_ECHO_CLI_NBLK_READY));
    189175
     
    202188
    203189/*
    204  *  tcp_echo_cli_snd -- ECHO/TCP サーバにメッセージを送信する。
     190 *  tcp_echo_cli_snd -- ECHO/TCP サーバにメッセージを送信する。
    205191 *
    206192 *    USE_TCP_NON_BLOCKING      ON
     
    298284                syslog(LOG_NOTICE, "[TEC%c:%02u SHT] error: %s", apip, cepid, itron_strerror(error));
    299285
    300         /* 受信が完了するまでå¾
    301 ã¤ã€‚*/
     286        /* 受信が完了するまで待つ。*/
    302287        syscall(slp_tsk());
    303288
     
    310295
    311296/*
    312  *  tcp4_active_open -- 能動オープンを実行する。
     297 *  tcp4_active_open -- 能動オープンを実行する。
    313298 *
    314299 *    USE_TCP_NON_BLOCKING      OFF
     
    348333
    349334/*
    350  *  tcp_active_open -- 能動オープンを実行する。
     335 *  tcp_active_open -- 能動オープンを実行する。
    351336 *
    352337 *    USE_TCP_NON_BLOCKING      OFF
     
    387372
    388373/*
    389  *  tcp_echo_cli_snd -- ECHO/TCP サーバにメッセージを送信する。
     374 *  tcp_echo_cli_snd -- ECHO/TCP サーバにメッセージを送信する。
    390375 *
    391376 *    USE_TCP_NON_BLOCKING      OFF
     
    488473                syslog(LOG_NOTICE, "[TEC%c:%02u SHT] error: %s", apip, cepid, itron_strerror(error));
    489474
    490         /* 受信が完了するまでå¾
    491 ã¤ã€‚*/
     475        /* 受信が完了するまで待つ。*/
    492476        syscall(slp_tsk());
    493477
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/tcp_echo_srv1.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  TCP ECHO サーバ #1
    48  *
    49  *    ・送受信タスク同一型
    50  *    ・ノンブロッキングコール
    51  *    ・省コピー API
    52  *    ・IPv4/IPv6
    53  *    ・緊急データの受信
     35 *  TCP ECHO サーバ #1
     36 *
     37 *    ・送受信タスク同一型
     38 *    ・ノンブロッキングコール
     39 *    ・省コピー API
     40 *    IPv4/IPv6
     41 *    ・緊急データの受信
    5442 */
    5543
     
    8977
    9078/*
    91  *  表示
     79 *  表示
    9280 */
    9381
     
    9583
    9684/*
    97  *  コネクション切断方法の指定
     85 *  コネクション切断方法の指定
    9886 */
    9987
     
    10189
    10290/*
    103  *  タイムアウト
     91 *  タイムアウト
    10492 */
    10593
    10694#ifdef TOPPERS_S810_CLG3_85
    10795
    108 #define CLS_TMO         TMO_FEVR                /* Close Wait は標準で 60秒 */
     96#define CLS_TMO         TMO_FEVR                /* Close Wait は標準で 60秒 */
    10997//#define RCV_TMO               TMO_FEVR
    11098#define RCV_TMO         (30*SYSTIM_HZ)
     
    114102#else   /* of #ifdef TOPPERS_S810_CLG3_85 */
    115103
    116 //#define CLS_TMO               TMO_FEVR        /* Close Wait は標準で 60秒 */
     104//#define CLS_TMO               TMO_FEVR        /* Close Wait は標準で 60秒 */
    117105#define CLS_TMO         (70*SYSTIM_HZ+(netapp_rand()%SYSTIM_HZ)*10)
    118106//#define RCV_TMO               TMO_FEVR
     
    124112
    125113/*
    126  *  å
    127 ¨åŸŸå¤‰æ•°
    128  */
    129 
    130 /* TCP 送受信ウィンドバッファ */
     114 *  全域変数
     115 */
     116
     117/* TCP 送受信ウィンドバッファ */
    131118
    132119#ifndef TCP_CFG_SWBUF_CSAVE
     
    141128
    142129/*
    143  *  変数
     130 *  変数
    144131 */
    145132
     
    189176
    190177/*
    191  *  tcp_passive_open -- 受動オープンを実行する。
     178 *  tcp_passive_open -- 受動オープンを実行する。
    192179 *
    193180 *    USE_TCP_NON_BLOCKING      OFF
     
    209196#if TNUM_TCP6_REPID > 0
    210197
    211                 /* 受付口は IPv6 */
     198                /* 受付口は IPv6 */
    212199                if ((error = tcp6_acp_cep(info->cepid, info->repid, &info->dst, TMO_FEVR)) != E_OK)
    213200                        return error;
     
    225212#if TNUM_TCP4_REPID > 0
    226213
    227                 /* 受付口は IPv4 */
     214                /* 受付口は IPv4 */
    228215                if ((error = tcp_acp_cep(info->cepid, info->repid, &dst4, TMO_FEVR)) != E_OK)
    229216                        return error;
     
    246233
    247234/*
    248  *  tcp_passive_open -- 受動オープンを実行する。
     235 *  tcp_passive_open -- 受動オープンを実行する。
    249236 *
    250237 *    USE_TCP_NON_BLOCKING      OFF
     
    272259
    273260/*
    274  *  tcp_echo_srv -- TCP エコーサーバ
     261 *  tcp_echo_srv -- TCP エコーサーバ
    275262 *
    276263 *    USE_TCP_NON_BLOCKING      OFF
     
    409396
    410397/*
    411  *  tcp_echo_srv -- TCP エコーサーバ
     398 *  tcp_echo_srv -- TCP エコーサーバ
    412399 *
    413400 *    USE_TCP_NON_BLOCKING      OFF
     
    520507
    521508/*
    522  *  tcp_echo_srv_task -- TCP エコーサーバタスク
     509 *  tcp_echo_srv_task -- TCP エコーサーバタスク
    523510 */
    524511
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/tcp_echo_srv1.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  TCP ECHO サーバ #1、送受信タスク同一型
    48  *  コンフィギュレーションファイル
     35 *  TCP ECHO サーバ #1、送受信タスク同一型
     36 *  コンフィギュレーションファイル
    4937 */
    5038
    5139#ifdef USE_TCP_ECHO_SRV1
    5240
    53 /* タスク */
     41/* タスク */
    5442
    5543CRE_TSK(TCP_ECHO_SRV_TASK1,  {
     
    153141#endif  /* of #if NUM_TCP_ECHO_SRV_TASKS >= 8 */
    154142
    155 /* セマフォ */
     143/* セマフォ */
    156144
    157145#ifdef USE_TCP_NON_BLOCKING
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/tcp_echo_srv1.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    5038
    5139/*
    52  *  TCP ECHO サーバ #1
     40 *  TCP ECHO サーバ #1
    5341 *
    54  *    ・送受信タスク同一型
    55  *    ・ノンブロッキングコール
    56  *    ・省コピー API
    57  *    ・IPv4/IPv6
    58  *    ・緊急データの受信
     42 *    ・送受信タスク同一型
     43 *    ・ノンブロッキングコール
     44 *    ・省コピー API
     45 *    IPv4/IPv6
     46 *    ・緊急データの受信
    5947 */
    6048
    61 /* スタックサイズ */
     49/* スタックサイズ */
    6250
    63 #define TCP_ECHO_SRV_STACK_SIZE         1024            /* TCP ECHO サーバタスクのスタックサイズ          */
     51#define TCP_ECHO_SRV_STACK_SIZE         1024            /* TCP ECHO サーバタスクのスタックサイズ              */
    6452
    65 /* 優å
    66 ˆåº¦ */
     53/* 優先度 */
    6754
    68 #define TCP_ECHO_SRV_MAIN_PRIORITY      5               /* TCP ECHO サーバタスクの優å
    69 ˆåº¦                    */
     55#define TCP_ECHO_SRV_MAIN_PRIORITY      5               /* TCP ECHO サーバタスクの優先度                  */
    7056
    7157/*
    72  *  TCP 送受信ウインドバッファサイズ
     58 *  TCP 送受信ウインドバッファサイズ
    7359 */
    7460
     
    9581
    9682/*
    97  *  タスク数
     83 *  タスク数
    9884 */
    9985
     
    10288#endif
    10389
    104 /* IPv4 用の TCP エコーサーバタスクは 1個に制限する。*/
     90/* IPv4 用の TCP エコーサーバタスクは 1個に制限する。*/
    10591
    10692#ifdef  NUM_TCP4_ECHO_SRV_TASKS
     
    11096
    11197/*
    112  *  変数
     98 *  変数
    11399 */
    114100
    115 /* TCP 送受信ウィンドバッファ */
     101/* TCP 送受信ウィンドバッファ */
    116102
    117103extern uint8_t tcp_echo_srv_swbuf[NUM_TCP_ECHO_SRV_TASKS][TCP_ECHO_SRV_SWBUF_SIZE];
     
    119105
    120106/*
    121  *  タスク
     107 *  タスク
    122108 */
    123109
     
    125111
    126112/*
    127  *  関数
     113 *  関数
    128114 */
    129115
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/tcp_echo_srv1_ext.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  TCP ECHO サーバ #1
     35 *  TCP ECHO サーバ #1
    4836 *
    49  *    ・送受信タスク同一型
    50  *    ・ノンブロッキングコール
    51  *    ・省コピー API
    52  *    ・IPv4/IPv6
    53  *    ・緊急データの受信
     37 *    ・送受信タスク同一型
     38 *    ・ノンブロッキングコール
     39 *    ・省コピー API
     40 *    IPv4/IPv6
     41 *    ・緊急データの受信
    5442 */
    5543
     
    8573
    8674/*
    87  *  表示
     75 *  表示
    8876 */
    8977
     
    9179
    9280/*
    93  *  コネクション切断方法の指定
     81 *  コネクション切断方法の指定
    9482 */
    9583
     
    9785
    9886/*
    99  *  タイムアウト
     87 *  タイムアウト
    10088 */
    10189
    10290#ifdef TOPPERS_S810_CLG3_85
    10391
    104 #define CLS_TMO         TMO_FEVR                /* Close Wait は標準で 60秒 */
     92#define CLS_TMO         TMO_FEVR                /* Close Wait は標準で 60秒 */
    10593//#define RCV_TMO               TMO_FEVR
    10694#define RCV_TMO         (30*SYSTIM_HZ)
     
    11098#else   /* of #ifdef TOPPERS_S810_CLG3_85 */
    11199
    112 //#define CLS_TMO               TMO_FEVR        /* Close Wait は標準で 60秒 */
     100//#define CLS_TMO               TMO_FEVR        /* Close Wait は標準で 60秒 */
    113101#define CLS_TMO         (70*SYSTIM_HZ+(netapp_rand()%SYSTIM_HZ)*10)
    114102//#define RCV_TMO               TMO_FEVR
     
    122110
    123111/*
    124  *  変数
     112 *  変数
    125113 */
    126114
    127115typedef 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プロトコル  */
    132119        } T_TCP_ECHO_SRV_TASK_INFO;
    133120
     
    161148
    162149/*
    163  *  get_tcp_rep -- TCP 受付口を獲得する。
     150 *  get_tcp_rep -- TCP 受付口を獲得する。
    164151 */
    165152
     
    219206
    220207/*
    221  *  get_tcp_cep -- TCP 通信端点を獲得する。
     208 *  get_tcp_cep -- TCP 通信端点を獲得する。
    222209 */
    223210
     
    266253
    267254/*
    268  *  wakeup_tcp_echo_srv -- TCP エコーサーバタスクの休止解除
     255 *  wakeup_tcp_echo_srv -- TCP エコーサーバタスクの休止解除
    269256 */
    270257
     
    288275
    289276/*
    290  *  tcp_echo_srv_task -- TCP エコーサーバタスク
     277 *  tcp_echo_srv_task -- TCP エコーサーバタスク
    291278 */
    292279
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/tcp_echo_srv1_nblk.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  TCP ECHO サーバ #1
     35 *  TCP ECHO サーバ #1
    4836 *
    49  *    ・送受信タスク同一型
    50  *    ・ノンブロッキングコール
    51  *    ・省コピー API
    52  *    ・IPv4/IPv6
    53  *    ・緊急データの受信
     37 *    ・送受信タスク同一型
     38 *    ・ノンブロッキングコール
     39 *    ・省コピー API
     40 *    IPv4/IPv6
     41 *    ・緊急データの受信
    5442 */
    5543
     
    8573
    8674/*
    87  *  表示
     75 *  表示
    8876 */
    8977
     
    9179
    9280/*
    93  *  コネクション切断方法の指定
     81 *  コネクション切断方法の指定
    9482 */
    9583
     
    9785
    9886/*
    99  *  タイムアウト
     87 *  タイムアウト
    10088 */
    10189
    10290#ifdef TOPPERS_S810_CLG3_85
    10391
    104 #define CLS_TMO         TMO_FEVR                /* Close Wait は標準で 60秒 */
     92#define CLS_TMO         TMO_FEVR                /* Close Wait は標準で 60秒 */
    10593//#define RCV_TMO               TMO_FEVR
    10694#define RCV_TMO         (30*SYSTIM_HZ)
     
    11098#else   /* of #ifdef TOPPERS_S810_CLG3_85 */
    11199
    112 //#define CLS_TMO               TMO_FEVR        /* Close Wait は標準で 60秒 */
     100//#define CLS_TMO               TMO_FEVR        /* Close Wait は標準で 60秒 */
    113101#define CLS_TMO         (70*SYSTIM_HZ+(netapp_rand()%SYSTIM_HZ)*10)
    114102//#define RCV_TMO               TMO_FEVR
     
    122110
    123111/*
    124  *  変数
     112 *  変数
    125113 */
    126114
     
    196184
    197185/*
    198  *  find_srv_info -- 接続相手のæƒ
    199 å ±æ§‹é€ ä½“を探索する。
     186 *  find_srv_info -- 接続相手の情報構造体を探索する。
    200187 */
    201188
     
    212199
    213200/*
    214  *  ノンブロッキングコールのコールバック関数
     201 *  ノンブロッキングコールのコールバック関数
    215202 */
    216203
     
    290277
    291278/*
    292  *  tcp_passive_open -- 受動オープンを実行する。
     279 *  tcp_passive_open -- 受動オープンを実行する。
    293280 *
    294281 *    USE_TCP_NON_BLOCKING      ON
     
    304291
    305292        if (apip == API_PROTO_IPV6) {
    306                 /* 受付口は IPv6 */
     293                /* 受付口は IPv6 */
    307294                if ((error = tcp6_acp_cep(info->cepid, info->repid, &info->dst, TMO_NBLK)) != E_WBLK)
    308295                        return error;
    309296
    310                 /* 相手から接続されるまでå¾
    311 ã¤ã€‚*/
     297                /* 相手から接続されるまで待つ。*/
    312298                syscall(wai_sem(info->semid));
    313299
     
    322308                }
    323309        else {
    324                 /* 受付口は IPv4 */
     310                /* 受付口は IPv4 */
    325311                if ((error = tcp_acp_cep(info->cepid, info->repid, &dst4, TMO_NBLK)) != E_WBLK)
    326312                        return error;
    327313
    328                 /* 相手から接続されるまでå¾
    329 ã¤ã€‚*/
     314                /* 相手から接続されるまで待つ。*/
    330315                syscall(wai_sem(info->semid));
    331316
     
    356341                return error;
    357342
    358         /* 相手から接続されるまでå¾
    359 ã¤ã€‚*/
     343        /* 相手から接続されるまで待つ。*/
    360344        syscall(wai_sem(info->semid));
    361345
     
    376360
    377361/*
    378  *  tcp_echo_srv -- TCP エコーサーバ
     362 *  tcp_echo_srv -- TCP エコーサーバ
    379363 *
    380364 *    USE_TCP_NON_BLOCKING      ON
     
    431415                        }
    432416
    433                 /* 受信するまでå¾
    434 ã¤ã€‚*/
     417                /* 受信するまで待つ。*/
    435418                syscall(wai_sem(tcp_echo_srv_info[six].semid));
    436419
    437                 if (tcp_echo_srv_info[six].rlen < 0) {  /* エラー */
     420                if (tcp_echo_srv_info[six].rlen < 0) {  /* エラー */
    438421                        syslog(LOG_NOTICE, "[TES%c:%02u RCV] error: %s",
    439422                                           apip, tcp_echo_srv_info[six].cepid, itron_strerror(tcp_echo_srv_info[six].rlen));
    440423                        break;
    441424                        }
    442                 else if (tcp_echo_srv_info[six].rlen == 0)      /* 受信終了 */
     425                else if (tcp_echo_srv_info[six].rlen == 0)      /* 受信終了 */
    443426                        break;
    444427
    445428                rblen = tcp_echo_srv_info[six].rlen;
    446429
    447                 /* バッファの残りにより、受信長を調整する。*/
     430                /* バッファの残りにより、受信長を調整する。*/
    448431                if (rblen > BUF_SIZE - rlen)
    449432                        rblen = BUF_SIZE - rlen;
     
    478461                                }
    479462
    480                         /* 送信バッファの獲得が完了するまでå¾
    481 ã¤ã€‚*/
     463                        /* 送信バッファの獲得が完了するまで待つ。*/
    482464                        syscall(wai_sem(tcp_echo_srv_info[six].semid));
    483465
     
    519501                                   apip, tcp_echo_srv_info[six].cepid, itron_strerror(error));
    520502
    521         /* 開放が完了するまでå¾
    522 ã¤ã€‚*/
     503        /* 開放が完了するまで待つ。*/
    523504        syscall(wai_sem(tcp_echo_srv_info[six].semid));
    524505
     
    533514
    534515/*
    535  *  tcp_echo_srv -- TCP エコーサーバ
     516 *  tcp_echo_srv -- TCP エコーサーバ
    536517 *
    537518 *    USE_TCP_NON_BLOCKING      ON
     
    574555                        }
    575556
    576                 /* 受信完了までå¾
    577 ã¤ã€‚*/
     557                /* 受信完了まで待つ。*/
    578558                syscall(wai_sem(tcp_echo_srv_info[six].semid));
    579559
     
    606586                                }
    607587
    608                         /* 送信完了までå¾
    609 ã¤ã€‚*/
     588                        /* 送信完了まで待つ。*/
    610589                        syscall(wai_sem(tcp_echo_srv_info[six].semid));
    611590
     
    639618                                   apip, tcp_echo_srv_info[six].cepid, itron_strerror(error));
    640619
    641         /* 開放が完了するまでå¾
    642 ã¤ã€‚*/
     620        /* 開放が完了するまで待つ。*/
    643621        syscall(wai_sem(tcp_echo_srv_info[six].semid));
    644622
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/tcp_echo_srv1_var.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    5038
    5139/*
    52  *  注意:
     40 *  注意:
    5341 *
    54  *    BUF_SIZE は TCP の
    55  *    送信ウインドウバッファサイズ + 受信ウインドウバッファサイズの
    56  *    3/2 倍以上の大きさがなければ、デッドロックする可能性がある。
     42 *    BUF_SIZE は TCP の
     43 *    送信ウインドウバッファサイズ + 受信ウインドウバッファサイズの
     44 *    3/2 倍以上の大きさがなければ、デッドロックする可能性がある。
    5745 */
    5846
     
    6149
    6250/*
    63  *  サーバæƒ
    64 å ±æ§‹é€ ä½“
     51 *  サーバ情報構造体
    6552 */
    6653
    6754typedef struct t_tcp_echo_srv_info {
    68         ID      cepid;          /* 通信端点 ID              */
    69         ID      repid;          /* 受付口   ID               */
     55        ID      cepid;          /* 通信端点 ID              */
     56        ID      repid;          /* 受付口   ID             */
    7057
    7158#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 用 受信データ数        */
    7663#endif
    7764
    78         T_IPEP  dst;            /* 接続相手アドレスæƒ
    79 å ±     */
     65        T_IPEP  dst;            /* 接続相手アドレス情報   */
    8066
    8167#ifdef USE_TCP_NON_BLOCKING
     
    9682
    9783/*
    98  *  変数
     84 *  変数
    9985 */
    10086
     
    10288
    10389/*
    104  *  関数
     90 *  関数
    10591 */
    10692
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/tcp_echo_srv2.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  TCP ECHO サーバ #2
     35 *  TCP ECHO サーバ #2
    4836 *
    49  *    ・送受信タスク分離型
    50  *    ・ノンブロッキングコール
    51  *    ・IPv4/IPv6
     37 *    ・送受信タスク分離型
     38 *    ・ノンブロッキングコール
     39 *    IPv4/IPv6
    5240 */
    5341
     
    9179
    9280/*
    93  *  表示
     81 *  表示
    9482 */
    9583
     
    9785
    9886/*
    99  *  コネクション切断方法の指定
     87 *  コネクション切断方法の指定
    10088 */
    10189
     
    10391
    10492/*
    105  *  å
    106 ¨åŸŸå¤‰æ•°
    107  */
    108 
    109 /* TCP 送受信ウィンドバッファ */
     93 *  全域変数
     94 */
     95
     96/* TCP 送受信ウィンドバッファ */
    11097
    11198#ifndef TCP_CFG_SWBUF_CSAVE
     
    118105
    119106/*
    120  *  変数
    121  */
    122 
    123 /*
    124  *  注意:
     107 *  変数
     108 */
     109
     110/*
     111 *  注意:
    125112 *
    126  *    BUF_SIZE は TCP の
    127  *    送信ウインドウバッファサイズ + 受信ウインドウバッファサイズの
    128  *    3/2 倍以上の大きさがなければ、デッドロックする可能性がある。
     113 *    BUF_SIZE は TCP の
     114 *    送信ウインドウバッファサイズ + 受信ウインドウバッファサイズの
     115 *    3/2 倍以上の大きさがなければ、デッドロックする可能性がある。
    129116 */
    130117
     
    132119                          TCP_ECHO_SRV_RWBUF_SIZE) * 3 / 2)
    133120
    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;              /* 送信回数         */
     121static char     buffer[BUF_SIZE];       /* バッファ         */
     122
     123static T_IPEP   dst;                    /* 接続相手         */
     124static bool_t   ena_rcv;                /* 受信可能フラグ      */
     125static char     *rptr = buffer;         /* 受信ポインタ               */
     126static char     *sptr = buffer;         /* 送信ポインタ               */
     127static uint32_t rcv_total;              /* 受信文字数                */
     128static uint32_t snd_total;              /* 送信文字数                */
     129static uint16_t chars;                  /* バッファ内の文字数    */
     130static uint16_t rcv_count;              /* 受信回数         */
     131static uint16_t snd_count;              /* 送信回数         */
    146132
    147133#ifdef USE_TCP_NON_BLOCKING
    148134
    149 static ER       rcv_error = E_OK;       /* 受信、ノンブロッキングコールエラー */
    150 static ER       snd_error = 1;          /* 送信、ノンブロッキングコールエラー */
    151 
    152 /*
    153  *  ノンブロッキングコールのコールバック関数
     135static ER       rcv_error = E_OK;       /* 受信、ノンブロッキングコールエラー */
     136static ER       snd_error = 1;          /* 送信、ノンブロッキングコールエラー */
     137
     138/*
     139 *  ノンブロッキングコールのコールバック関数
    154140 */
    155141
     
    197183                        syscall(wai_sem(SEM_TCP_ECHO_SRV_LOCK));
    198184
    199                         /* 送信ポインタを進める。*/
     185                        /* 送信ポインタを進める。*/
    200186                        if (sptr - buffer + slen >= sizeof(buffer))
    201187                                sptr -= sizeof(buffer) - slen;
     
    203189                                sptr += slen;
    204190
    205                         /* バッファå†
    206 ã®æ–‡å­—数を減らす。*/
     191                        /* バッファ内の文字数を減らす。*/
    207192                        last   = chars;
    208193                        chars -= slen;
    209194
    210                         /* バッファå†
    211 ã«æ–‡å­—があれば、送信タスクを起床する。*/
     195                        /* バッファ内に文字があれば、送信タスクを起床する。*/
    212196                        if (chars > 0 || (!ena_rcv && chars == 0))
    213197                                sig_sem(SEM_TCP_ECHO_SRV_SND_READY);
    214198
    215                         /* 受信可能で、バッファå†
    216 ã«ç©ºããŒã§ãã‚Œã°ã€å—信タスクを起床する。*/
     199                        /* 受信可能で、バッファ内に空きができれば、受信タスクを起床する。*/
    217200                        if (ena_rcv && last == sizeof(buffer) && sizeof(buffer) - chars > 0)
    218201                                syscall(sig_sem(SEM_TCP_ECHO_SRV_RCV_READY));
     
    240223                        syscall(wai_sem(SEM_TCP_ECHO_SRV_LOCK));
    241224
    242                         /* 受信ポインタを進める。*/
     225                        /* 受信ポインタを進める。*/
    243226                        if (rptr - buffer + rlen >= sizeof(buffer))
    244227                                rptr -= sizeof(buffer) - rlen;
     
    246229                                rptr += rlen;
    247230
    248                         /* バッファå†
    249 ã®æ–‡å­—数を増やす。*/
     231                        /* バッファ内の文字数を増やす。*/
    250232                        last   = chars;
    251233                        chars += rlen;
    252234
    253                         /* バッファå†
    254 ã«æ–‡å­—がå
    255 ¥ã‚Œã°ã€é€ä¿¡ã‚¿ã‚¹ã‚¯ã‚’起床する。*/
     235                        /* バッファ内に文字が入れば、送信タスクを起床する。*/
    256236                        if (last == 0 && chars > 0)
    257237                                sig_sem(SEM_TCP_ECHO_SRV_SND_READY);
    258238
    259                         /* バッファå†
    260 ã«ç©ºããŒã‚れば、受信タスクを起床する。*/
     239                        /* バッファ内に空きがあれば、受信タスクを起床する。*/
    261240                        if (sizeof(buffer) - chars > 0)
    262241                                sig_sem(SEM_TCP_ECHO_SRV_RCV_READY);
     
    293272
    294273/*
    295  *  TCP ECHO サーバ受信ルーチン (ノンブロッキングコール使用)
     274 *  TCP ECHO サーバ受信ルーチン (ノンブロッキングコール使用)
    296275 */
    297276
     
    312291                }
    313292
    314         /* コネクション開設完了までå¾
    315 ã¤ã€‚*/
     293        /* コネクション開設完了まで待つ。*/
    316294        syscall(wai_sem(SEM_TCP_ECHO_SRV_RCV_READY));
    317295
    318         /* å¾
    319 ã£ã¦ã„る間にエラーになったら、コネクションの開設å¾
    320 ã¡ã«æˆ»ã‚‹ã€‚*/
     296        /* 待っている間にエラーになったら、コネクションの開設待ちに戻る。*/
    321297        if (rcv_error != E_OK)
    322298                return rcv_error;
     
    331307        while (true) {
    332308
    333                 /* 受信サイズを計算する。*/
     309                /* 受信サイズを計算する。*/
    334310                syscall(wai_sem(SEM_TCP_ECHO_SRV_LOCK));
    335311                if (sptr > rptr)
     
    339315                syscall(sig_sem(SEM_TCP_ECHO_SRV_LOCK));
    340316
    341                 /* 受信する。*/
     317                /* 受信する。*/
    342318                if ((error = tcp_rcv_dat(cepid, rptr, blen, TMO_NBLK)) != E_WBLK) {
    343319                        syslog(LOG_NOTICE, "[TES:%02u RCV] recv error = %s", cepid, itron_strerror(error));
     
    345321                        }
    346322
    347                 /* 受信バッファに空ができるまでå¾
    348 ã¤ã€‚*/
     323                /* 受信バッファに空ができるまで待つ。*/
    349324                syscall(wai_sem(SEM_TCP_ECHO_SRV_RCV_READY));
    350325
    351                 /* å¾
    352 ã£ã¦ã„る間に、受信文字数が 0 になるか、エラーになったら終了する。*/
     326                /* 待っている間に、受信文字数が 0 になるか、エラーになったら終了する。*/
    353327                if (rcv_error <= 0)
    354328                        break;
     
    356330                }
    357331
    358         /* 受信完了 */
     332        /* 受信完了 */
    359333        ena_rcv = false;
    360334
    361         /* 受信バッファに文字がå
    362 ¥ã‚‹ã®ã‚’å¾
    363 ã£ã¦ã„る送信タスクを起床する。*/
     335        /* 受信バッファに文字が入るのを待っている送信タスクを起床する。*/
    364336        if (chars == 0)
    365337                sig_sem(SEM_TCP_ECHO_SRV_SND_READY);
    366338
    367         /* コネクション切断完了までå¾
    368 ã¤ã€‚*/
     339        /* コネクション切断完了まで待つ。*/
    369340        syscall(wai_sem(SEM_TCP_ECHO_SRV_CLS_READY));
    370341
     
    373344
    374345/*
    375  *  TCP ECHO サーバ送信タスク (ノンブロッキングコール使用)
     346 *  TCP ECHO サーバ送信タスク (ノンブロッキングコール使用)
    376347 */
    377348
     
    394365                while (true) {
    395366
    396                         /* バッファに文字がå
    397 ¥ã‚‹ã¾ã§å¾
    398 ã¤ã€‚*/
     367                        /* バッファに文字が入るまで待つ。*/
    399368                        syscall(wai_sem(SEM_TCP_ECHO_SRV_SND_READY));
    400369
    401                         /* å¾
    402 ã£ã¦ã„る間にエラーになったら終了する。*/
     370                        /* 待っている間にエラーになったら終了する。*/
    403371                        if (snd_error <= 0)
    404372                                break;
    405373
    406                         /* 受信完了で、バッファに文字がなければ終了する。*/
     374                        /* 受信完了で、バッファに文字がなければ終了する。*/
    407375                        if (!ena_rcv && chars == 0)
    408376                                break;
    409377
    410                         /* 送信サイズを計算する。*/
     378                        /* 送信サイズを計算する。*/
    411379                        syscall(wai_sem(SEM_TCP_ECHO_SRV_LOCK));
    412380                        if (rptr > sptr)
     
    416384                        syscall(sig_sem(SEM_TCP_ECHO_SRV_LOCK));
    417385
    418                         /* 送信する。*/
     386                        /* 送信する。*/
    419387                        if ((error = tcp_snd_dat(cepid, sptr, blen, TMO_NBLK)) != E_WBLK) {
    420388                                syslog(LOG_NOTICE, "[TES:%02u SND] send error = %s", cepid, itron_strerror(error));
     
    423391                        }
    424392
    425                 /* 受信バッファに空ができるをå¾
    426 ã£ã¦ã„る受信タスクを起床する。*/
     393                /* 受信バッファに空ができるを待っている受信タスクを起床する。*/
    427394                if (chars == sizeof(buffer))
    428395                        sig_sem(SEM_TCP_ECHO_SRV_SND_READY);
     
    445412
    446413/*
    447  *  TCP ECHO サーバ受信ルーチン
     414 *  TCP ECHO サーバ受信ルーチン
    448415 */
    449416
     
    482449        while (true) {
    483450
    484                 /* 受信サイズを計算する。*/
     451                /* 受信サイズを計算する。*/
    485452                syscall(wai_sem(SEM_TCP_ECHO_SRV_LOCK));
    486453                if (sptr > rptr)
     
    490457                syscall(sig_sem(SEM_TCP_ECHO_SRV_LOCK));
    491458
    492                 /* 受信する。*/
     459                /* 受信する。*/
    493460                if ((rlen = tcp_rcv_dat(cepid, rptr, blen, TMO_FEVR)) <= 0) {
    494461                        if (rlen < 0)
     
    508475                syscall(wai_sem(SEM_TCP_ECHO_SRV_LOCK));
    509476
    510                 /* 受信ポインタを進める。*/
     477                /* 受信ポインタを進める。*/
    511478                if (rptr - buffer + rlen >= sizeof(buffer))
    512479                        rptr -= sizeof(buffer) - rlen;
     
    514481                        rptr += rlen;
    515482
    516                 /* バッファå†
    517 ã®æ–‡å­—数を増やす。*/
     483                /* バッファ内の文字数を増やす。*/
    518484                last   =     chars;
    519485                chars += (uint16_t)rlen;
    520486
    521                                 /* バッファå†
    522 ã«æ–‡å­—がå
    523 ¥ã‚Œã°ã€é€ä¿¡ã‚¿ã‚¹ã‚¯ã‚’起床する。*/
     487                                /* バッファ内に文字が入れば、送信タスクを起床する。*/
    524488                if (last == 0 && chars > 0)
    525489                        sig_sem(SEM_TCP_ECHO_SRV_SND_READY);
    526490
    527                                 /* バッファå†
    528 ã«ç©ºããŒã‚れば、受信タスクを起床する。*/
     491                                /* バッファ内に空きがあれば、受信タスクを起床する。*/
    529492                if (sizeof(buffer) - chars > 0)
    530493                        sig_sem(SEM_TCP_ECHO_SRV_RCV_READY);
     
    532495                syscall(sig_sem(SEM_TCP_ECHO_SRV_LOCK));
    533496
    534                 /* バッファに空きができるまでå¾
    535 ã¤ã€‚*/
     497                /* バッファに空きができるまで待つ。*/
    536498                syscall(wai_sem(SEM_TCP_ECHO_SRV_RCV_READY));
    537499                }
    538500
    539         /* 受信完了 */
     501        /* 受信完了 */
    540502        ena_rcv = false;
    541503
    542         /* 受信バッファに文字がå
    543 ¥ã‚‹ã®ã‚’å¾
    544 ã£ã¦ã„る送信タスクを起床する。*/
     504        /* 受信バッファに文字が入るのを待っている送信タスクを起床する。*/
    545505        if (chars == 0)
    546506                sig_sem(SEM_TCP_ECHO_SRV_SND_READY);
    547507
    548         /* コネクションの切断が完了するまでå¾
    549 ã¤ã€‚*/
     508        /* コネクションの切断が完了するまで待つ。*/
    550509        syscall(wai_sem(SEM_TCP_ECHO_SRV_CLS_READY));
    551510
     
    554513
    555514/*
    556  *  TCP ECHO サーバ送信タスク
     515 *  TCP ECHO サーバ送信タスク
    557516 */
    558517
     
    578537                while (true) {
    579538
    580                         /* バッファに文字がå
    581 ¥ã‚‹ã¾ã§å¾
    582 ã¤ã€‚*/
     539                        /* バッファに文字が入るまで待つ。*/
    583540                        syscall(wai_sem(SEM_TCP_ECHO_SRV_SND_READY));
    584541
    585                         /* 受信完了で、バッファに文字がなければ終了する。*/
     542                        /* 受信完了で、バッファに文字がなければ終了する。*/
    586543                        if (!ena_rcv && chars == 0)
    587544                                break;
    588545
    589                         /* 送信サイズを計算する。*/
     546                        /* 送信サイズを計算する。*/
    590547                        syscall(wai_sem(SEM_TCP_ECHO_SRV_LOCK));
    591548                        if (rptr > sptr)
     
    611568                        syscall(wai_sem(SEM_TCP_ECHO_SRV_LOCK));
    612569
    613                         /* 送信ポインタを進める。*/
     570                        /* 送信ポインタを進める。*/
    614571                        if (sptr - buffer + slen >= sizeof(buffer))
    615572                                sptr -= sizeof(buffer) - slen;
     
    617574                                sptr += slen;
    618575
    619                         /* バッファå†
    620 ã®æ–‡å­—数を減らす。*/
     576                        /* バッファ内の文字数を減らす。*/
    621577                        last   =     chars;
    622578                        chars -= (uint16_t)slen;
    623579
    624                         /* 受信完了で、バッファに文字がなければ終了する。*/
     580                        /* 受信完了で、バッファに文字がなければ終了する。*/
    625581                        if (!ena_rcv && chars == 0) {
    626582                                syscall(sig_sem(SEM_TCP_ECHO_SRV_LOCK));
     
    628584                                }
    629585
    630                         /* バッファå†
    631 ã«æ–‡å­—があれば、送信タスクを起床する。*/
     586                        /* バッファ内に文字があれば、送信タスクを起床する。*/
    632587                        if (chars > 0)
    633588                                sig_sem(SEM_TCP_ECHO_SRV_SND_READY);
    634589
    635                         /* 受信可能で、バッファå†
    636 ã«ç©ºããŒã§ãã‚Œã°ã€å—信タスクを起床する。*/
     590                        /* 受信可能で、バッファ内に空きができれば、受信タスクを起床する。*/
    637591                        if (ena_rcv && last == sizeof(buffer) && sizeof(buffer) - chars > 0)
    638592                                sig_sem(SEM_TCP_ECHO_SRV_RCV_READY);
     
    641595                        }
    642596
    643                 /* 受信バッファに空ができるをå¾
    644 ã£ã¦ã„る受信タスクを起床する。*/
     597                /* 受信バッファに空ができるを待っている受信タスクを起床する。*/
    645598                if (chars == sizeof(buffer))
    646599                        sig_sem(SEM_TCP_ECHO_SRV_SND_READY);
     
    670623
    671624/*
    672  *  get_tcp_rep -- TCP 受付口を獲得する。
     625 *  get_tcp_rep -- TCP 受付口を獲得する。
    673626 */
    674627
     
    696649
    697650/*
    698  *  get_tcp_cep -- TCP 通信端点を獲得する。
     651 *  get_tcp_cep -- TCP 通信端点を獲得する。
    699652 */
    700653
     
    731684
    732685/*
    733  *  TCP ECHO サーバ受信タスク
     686 *  TCP ECHO サーバ受信タスク
    734687 */
    735688
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/tcp_echo_srv2.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  TCP ECHO サーバ #2、送受信タスク分離型
    48  *  コンフィギュレーションファイル
     35 *  TCP ECHO サーバ #2、送受信タスク分離型
     36 *  コンフィギュレーションファイル
    4937 */
    5038
    5139#ifdef USE_TCP_ECHO_SRV2
    5240
    53 /* タスク */
     41/* タスク */
    5442
    5543#ifdef USE_TCP_EXTENTIONS
     
    9583#endif  /* of #ifdef USE_TCP_EXTENTIONS */
    9684
    97 /* コマンドキュー */
     85/* コマンドキュー */
    9886
    9987CRE_DTQ(DTQ_TCP_ECHO_SRV_SND,  { TA_TFIFO, 1, NULL });
    10088
    101 /* セマフォ */
     89/* セマフォ */
    10290
    10391CRE_SEM(SEM_TCP_ECHO_SRV_LOCK,          { TA_TPRI, 1, 1 });
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/tcp_echo_srv2.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    5038
    5139/*
    52  *  TCP ECHO サーバ #2
     40 *  TCP ECHO サーバ #2
    5341 *
    54  *    ・送受信タスク分離型
    55  *    ・ノンブロッキングコール
    56  *    ・IPv4/IPv6
     42 *    ・送受信タスク分離型
     43 *    ・ノンブロッキングコール
     44 *    IPv4/IPv6
    5745 */
    5846
    59 /* スタックサイズ */
     47/* スタックサイズ */
    6048
    61 #define TCP_ECHO_SRV_STACK_SIZE         1024            /* TCP ECHO サーバタスクのスタックサイズ          */
     49#define TCP_ECHO_SRV_STACK_SIZE         1024            /* TCP ECHO サーバタスクのスタックサイズ              */
    6250
    63 /* 優å
    64 ˆåº¦ */
     51/* 優先度 */
    6552
    66 #define TCP_ECHO_SRV_MAIN_PRIORITY      5               /* TCP ECHO サーバタスクの優å
    67 ˆåº¦                    */
     53#define TCP_ECHO_SRV_MAIN_PRIORITY      5               /* TCP ECHO サーバタスクの優先度                  */
    6854
    6955/*
    70  *  TCP 送受信ウインドバッファサイズ
     56 *  TCP 送受信ウインドバッファサイズ
    7157 */
    7258
     
    9278#endif  /* of #if defined(USE_TCP_MSS_SEG) || defined(USE_IPV6_MMTU) */
    9379
    94 /* タスク数 */
     80/* タスク数 */
    9581
    9682#if defined(USE_TCP_ECHO_SRV2)
     
    10288
    10389/*
    104  *  変数
     90 *  変数
    10591 */
    10692
    107 /* TCP 送受信ウィンドバッファ */
     93/* TCP 送受信ウィンドバッファ */
    10894
    10995extern uint8_t tcp_echo_srv_swbuf[NUM_TCP_ECHO_SRV_TASKS][TCP_ECHO_SRV_SWBUF_SIZE];
     
    11197
    11298/*
    113  *  タスク
     99 *  タスク
    114100 */
    115101
     
    118104
    119105/*
    120  *  関数
     106 *  関数
    121107 */
    122108
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/tinet_dbg_cons.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  デバッグコンソール
    48  *  TCP/IP コンフィギュレーションファイル
     35 *  デバッグコンソール
     36 *  TCP/IP コンフィギュレーションファイル
    4937 */
    5038
     
    5341#ifdef USE_TCP_EXTENTIONS
    5442
    55 /* TCP 受付口 */
     43/* TCP 受付口 */
    5644
    5745#ifdef SUPPORT_INET6
     
    7967#endif  /* of #ifdef SUPPORT_INET4 */
    8068
    81 /* TCP 通信端点 */
     69/* TCP 通信端点 */
    8270
    8371#ifdef SUPPORT_INET6
     
    125113#ifdef USE_UDP_EXTENTIONS
    126114
    127 /* UDP 通信端点 */
     115/* UDP 通信端点 */
    128116
    129117#ifdef SUPPORT_INET6
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/tinet_dhcp4_cli.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  DHCP クライアント
    48  *  TCP/IP コンフィギュレーションファイル
     35 *  DHCP クライアント
     36 *  TCP/IP コンフィギュレーションファイル
    4937 */
    5038
    5139#ifdef DHCP4_CLI_CFG
    5240
    53 /* UDP 通信端点 */
     41/* UDP 通信端点 */
    5442
    5543UDP_CRE_CEP (UDP4_DHCP_CLI_CEPID, {
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/tinet_dhcp6_cli.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  DHCP/DHCPv6 クライアント
    48  *  TCP/IP コンフィギュレーションファイル
     35 *  DHCP/DHCPv6 クライアント
     36 *  TCP/IP コンフィギュレーションファイル
    4937 */
    5038
    5139#ifdef DHCP6_CLI_CFG
    5240
    53 /* UDP 通信端点 */
     41/* UDP 通信端点 */
    5442
    5543UDP6_CRE_CEP (UDP6_DHCP_CLI_CEPID, {
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/tinet_net_cons.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  ネットワーク経由コンソールå
    48 ¥å‡ºåŠ›
    49  *  TCP/IP コンフィギュレーションファイル
     35 *  ネットワーク経由コンソール入出力
     36 *  TCP/IP コンフィギュレーションファイル
    5037 */
    5138
    5239#ifdef USE_NET_CONS
    5340
    54 /* TCP 受付口 */
     41/* TCP 受付口 */
    5542
    5643#ifdef SUPPORT_INET6
     
    7461#endif  /* of #ifdef SUPPORT_INET6 */
    7562
    76 /* TCP 通信端点 */
     63/* TCP 通信端点 */
    7764
    7865#ifdef SUPPORT_INET6
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/tinet_resolver.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  RESOLVER クライアント
    48  *  TCP/IP コンフィギュレーションファイル
     35 *  RESOLVER クライアント
     36 *  TCP/IP コンフィギュレーションファイル
    4937 */
    5038
    5139#ifdef USE_RESOLVER
    5240
    53 /* UDP 通信端点 */
     41/* UDP 通信端点 */
    5442
    5543#ifdef SUPPORT_INET6
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/tinet_tcp4_echo_srv1.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  TCP ECHO サーバの TCP/IP コンフィギュレーションファイル
     35 *  TCP ECHO サーバの TCP/IP コンフィギュレーションファイル
    4836 *
    4937 *    SUPPORT_INET4
    5038 *    USE_TCP_NON_BLOCKING: OFF
    5139 *    USE_TCP_EXTENTIONS:   OFF
    52  *    TCP 通信端点、NUM_TCP_ECHO_SRV_TASKS >= 2 以降
     40 *    TCP 通信端点、NUM_TCP_ECHO_SRV_TASKS >= 2 以降
    5341 *
    5442 */
    5543
    56 /* TCP 通信端点 */
     44/* TCP 通信端点 */
    5745
    5846#if defined(USE_TCP_ECHO_SRV1)
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/tinet_tcp4_echo_srv1_nblk.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  TCP ECHO サーバの TCP/IP コンフィギュレーションファイル
     35 *  TCP ECHO サーバの TCP/IP コンフィギュレーションファイル
    4836 *
    4937 *    SUPPORT_INET4
    5038 *    USE_TCP_NON_BLOCKING: ON
    5139 *    USE_TCP_EXTENTIONS:   OFF
    52  *    TCP 通信端点、NUM_TCP_ECHO_SRV_TASKS >= 2 以降
     40 *    TCP 通信端点、NUM_TCP_ECHO_SRV_TASKS >= 2 以降
    5341 *
    5442 */
    5543
    56 /* TCP 通信端点 */
     44/* TCP 通信端点 */
    5745
    5846#if defined(USE_TCP_ECHO_SRV1)
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/tinet_tcp64_echo_srv1.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  TCP ECHO サーバの TCP/IP コンフィギュレーションファイル
     35 *  TCP ECHO サーバの TCP/IP コンフィギュレーションファイル
    4836 *
    4937 *    SUPPORT_INET6
     
    5139 *    USE_TCP_NON_BLOCKING: OFF
    5240 *    USE_TCP_EXTENTIONS:   OFF
    53  *    TCP 受付口
    54  *    TCP 通信端点、NUM_TCP_ECHO_SRV_TASKS == 1
     41 *    TCP 受付口
     42 *    TCP 通信端点、NUM_TCP_ECHO_SRV_TASKS == 1
    5543 *
    5644 */
     
    5947
    6048/*
    61  * TCP 受付口
     49 * TCP 受付口
    6250 */
    6351
     
    9886
    9987/*
    100  * TCP 通信端点
    101  *
    102  * 定義する TCP 通信端点(TCP?_ECHO_SRV_CEPID1)の選択
     88 * TCP 通信端点
     89 *
     90 * 定義する TCP 通信端点(TCP?_ECHO_SRV_CEPID1)の選択
    10391 *
    10492 *   INET6 INET4 USE_TCP4  TCP6_CRE_CEP TCP_CRE_CEP
    105  *     â—‹    ○     â—‹          ×         TCP4
    106  *     â—‹    ○     Ã—          TCP        ×
    107  *     â—‹    ×     â—‹          TCP        ×
    108  *     â—‹    ×     Ã—          TCP        ×
    109  *     Ã—    ○     â—‹          ×         TCP
    110  *     Ã—    ○     Ã—          ×         TCP
    111  *     Ã—    ×     â—‹          ×         Ã—
    112  *     Ã—    ×     Ã—          ×         Ã—
     93 *     ○    ○     ○          ×         TCP4
     94 *     ○    ○     ×          TCP        ×
     95 *     ○    ×     ○          TCP        ×
     96 *     ○    ×     ×          TCP        ×
     97 *     ×    ○     ○          ×         TCP
     98 *     ×    ○     ×          ×         TCP
     99 *     ×    ×     ○          ×         ×
     100 *     ×    ×     ×          ×         ×
    113101 *
    114102 */
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/tinet_tcp64_echo_srv1_nblk.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  TCP ECHO サーバの TCP/IP コンフィギュレーションファイル
     35 *  TCP ECHO サーバの TCP/IP コンフィギュレーションファイル
    4836 *
    4937 *    SUPPORT_INET6
     
    5139 *    USE_TCP_NON_BLOCKING: ON
    5240 *    USE_TCP_EXTENTIONS:   OFF
    53  *    TCP 通信端点、NUM_TCP_ECHO_SRV_TASKS == 1
     41 *    TCP 通信端点、NUM_TCP_ECHO_SRV_TASKS == 1
    5442 *
    5543 */
     
    5846
    5947/*
    60  * TCP 通信端点
    61  *
    62  * 定義する TCP 通信端点(TCP?_ECHO_SRV_CEPID1)の選択
     48 * TCP 通信端点
     49 *
     50 * 定義する TCP 通信端点(TCP?_ECHO_SRV_CEPID1)の選択
    6351 *
    6452 *   INET6 INET4 USE_TCP4  TCP6_CRE_CEP TCP_CRE_CEP
    65  *     â—‹    ○     â—‹          ×         TCP4
    66  *     â—‹    ○     Ã—          TCP        ×
    67  *     â—‹    ×     â—‹          TCP        ×
    68  *     â—‹    ×     Ã—          TCP        ×
    69  *     Ã—    ○     â—‹          ×         TCP
    70  *     Ã—    ○     Ã—          ×         TCP
    71  *     Ã—    ×     â—‹          ×         Ã—
    72  *     Ã—    ×     Ã—          ×         Ã—
     53 *     ○    ○     ○          ×         TCP4
     54 *     ○    ○     ×          TCP        ×
     55 *     ○    ×     ○          TCP        ×
     56 *     ○    ×     ×          TCP        ×
     57 *     ×    ○     ○          ×         TCP
     58 *     ×    ○     ×          ×         TCP
     59 *     ×    ×     ○          ×         ×
     60 *     ×    ×     ×          ×         ×
    7361 *
    7462 */
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/tinet_tcp6_echo_srv1.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  TCP ECHO サーバの TCP/IP コンフィギュレーションファイル
     35 *  TCP ECHO サーバの TCP/IP コンフィギュレーションファイル
    4836 *
    4937 *    SUPPORT_INET6
    5038 *    USE_TCP_NON_BLOCKING: OFF
    5139 *    USE_TCP_EXTENTIONS:   OFF
    52  *    TCP 通信端点、NUM_TCP_ECHO_SRV_TASKS >= 2 以降
     40 *    TCP 通信端点、NUM_TCP_ECHO_SRV_TASKS >= 2 以降
    5341 *
    5442 */
    5543
    56 /* TCP 通信端点 */
     44/* TCP 通信端点 */
    5745
    5846#if defined(USE_TCP_ECHO_SRV1)
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/tinet_tcp6_echo_srv1_nblk.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  TCP ECHO サーバの TCP/IP コンフィギュレーションファイル
     35 *  TCP ECHO サーバの TCP/IP コンフィギュレーションファイル
    4836 *
    4937 *    SUPPORT_INET6
    5038 *    USE_TCP_NON_BLOCKING: ON
    5139 *    USE_TCP_EXTENTIONS:   OFF
    52  *    TCP 通信端点、NUM_TCP_ECHO_SRV_TASKS >= 2 以降
     40 *    TCP 通信端点、NUM_TCP_ECHO_SRV_TASKS >= 2 以降
    5341 *
    5442 */
    5543
    56 /* TCP 通信端点 */
     44/* TCP 通信端点 */
    5745
    5846#if defined(USE_TCP_ECHO_SRV1)
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/tinet_tcp_discard_cli.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  TCP DISCARD クライアント
    48  *  TCP/IP コンフィギュレーションファイル
     35 *  TCP DISCARD クライアント
     36 *  TCP/IP コンフィギュレーションファイル
    4937 */
    5038
     
    5341#ifndef USE_TCP_EXTENTIONS
    5442
    55 /* TCP 通信端点 */
     43/* TCP 通信端点 */
    5644
    5745#ifdef SUPPORT_INET6
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/tinet_tcp_discard_srv.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  TCP DISCARD サーバの TCP/IP コンフィギュレーションファイル
     35 *  TCP DISCARD サーバの TCP/IP コンフィギュレーションファイル
    4836 */
    4937
     
    5240#ifndef USE_TCP_EXTENTIONS
    5341
    54 /* TCP 受付口 */
     42/* TCP 受付口 */
    5543
    5644#ifdef SUPPORT_INET6
     
    7462#endif  /* of #ifdef SUPPORT_INET6 */
    7563
    76 /* TCP 通信端点 */
     64/* TCP 通信端点 */
    7765
    7866#ifdef SUPPORT_INET6
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/tinet_tcp_echo_cli.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  TCP ECHO クライアント
    48  *  TCP/IP コンフィギュレーションファイル
     35 *  TCP ECHO クライアント
     36 *  TCP/IP コンフィギュレーションファイル
    4937 */
    5038
     
    5341#ifndef USE_TCP_EXTENTIONS
    5442
    55 /* TCP 通信端点 */
     43/* TCP 通信端点 */
    5644
    5745#ifdef SUPPORT_INET6
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/tinet_tcp_echo_srv2.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  TCP ECHO サーバの TCP/IP コンフィギュレーションファイル
     35 *  TCP ECHO サーバの TCP/IP コンフィギュレーションファイル
    4836 */
    4937
     
    5240#ifndef USE_TCP_EXTENTIONS
    5341
    54 /* TCP 受付口 */
     42/* TCP 受付口 */
    5543
    5644#if defined(SUPPORT_INET6)
     
    7462#endif  /* of #if defined(SUPPORT_INET6) */
    7563
    76 /* TCP 通信端点 */
     64/* TCP 通信端点 */
    7765
    7866#if defined(SUPPORT_INET6)
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/tinet_udp4_echo_cli.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  UDP ECHO クライアント
    48  *  TCP/IP コンフィギュレーションファイル
     35 *  UDP ECHO クライアント
     36 *  TCP/IP コンフィギュレーションファイル
    4937 */
    5038
     
    5341#if !defined(USE_UDP_EXTENTIONS)
    5442
    55 /* UDP 通信端点 */
     43/* UDP 通信端点 */
    5644
    5745#if defined(USE_UDP_NON_BLOCKING)
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/tinet_udp4_echo_srv.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  UDP ECHO サーバ
    48  *  UDP/IP コンフィギュレーションファイル
     35 *  UDP ECHO サーバ
     36 *  UDP/IP コンフィギュレーションファイル
    4937 *
    5038 *    IPv4
     
    5543#ifndef USE_UDP_EXTENTIONS
    5644
    57 /* UDP 通信端点 */
     45/* UDP 通信端点 */
    5846
    5947#ifdef USE_UDP_NON_BLOCKING
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/tinet_udp6_echo_cli.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  UDP ECHO クライアント
    48  *  TCP/IP コンフィギュレーションファイル
     35 *  UDP ECHO クライアント
     36 *  TCP/IP コンフィギュレーションファイル
    4937 */
    5038
     
    5341#if !defined(USE_UDP_EXTENTIONS)
    5442
    55 /* UDP 通信端点 */
     43/* UDP 通信端点 */
    5644
    5745#if defined(USE_UDP_NON_BLOCKING)
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/tinet_udp6_echo_srv.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  UDP ECHO サーバ
    48  *  UDP/IP コンフィギュレーションファイル
     35 *  UDP ECHO サーバ
     36 *  UDP/IP コンフィギュレーションファイル
    4937 *
    5038 *    IPv6
     
    5543#ifndef USE_UDP_EXTENTIONS
    5644
    57 /* UDP 通信端点 */
     45/* UDP 通信端点 */
    5846
    5947#ifdef USE_UDP_NON_BLOCKING
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/tinet_udp_discard_cli.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  UDP DISCARD クライアント
    48  *  UDP/IP コンフィギュレーションファイル
     35 *  UDP DISCARD クライアント
     36 *  UDP/IP コンフィギュレーションファイル
    4937 */
    5038
     
    5341#ifndef USE_UDP_EXTENTIONS
    5442
    55 /* UDP 通信端点 */
     43/* UDP 通信端点 */
    5644
    5745#ifdef SUPPORT_INET6
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/tinet_wwws.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  WWW サーバの TCP/IP コンフィギュレーションファイル
     35 *  WWW サーバの TCP/IP コンフィギュレーションファイル
    4836 *
    4937 *    SUPPORT_INET6
     
    5139 *    USE_TCP_NON_BLOCKING: OFF
    5240 *    USE_TCP_EXTENTIONS:   OFF
    53  *    TCP 受付口
    54  *    TCP 通信端点
     41 *    TCP 受付口
     42 *    TCP 通信端点
    5543 *
    5644 */
     
    5947
    6048/*
    61  * TCP 受付口
     49 * TCP 受付口
    6250 */
    6351
     
    9886
    9987/*
    100  * TCP 通信端点
    101  *
    102  * 定義する TCP 通信端点(WWW?_CEPID1)の選択
     88 * TCP 通信端点
     89 *
     90 * 定義する TCP 通信端点(WWW?_CEPID1)の選択
    10391 *
    10492 *   INET6 INET4 USE_TCP4  TCP6_CRE_CEP TCP_CRE_CEP
    105  *     â—‹    ○     â—‹          ×         WWW4
    106  *     â—‹    ○     Ã—          WWW        ×
    107  *     â—‹    ×     â—‹          WWW        ×
    108  *     â—‹    ×     Ã—          WWW        ×
    109  *     Ã—    ○     â—‹          ×         WWW
    110  *     Ã—    ○     Ã—          ×         WWW
    111  *     Ã—    ×     â—‹          ×         Ã—
    112  *     Ã—    ×     Ã—          ×         Ã—
     93 *     ○    ○     ○          ×         WWW4
     94 *     ○    ○     ×          WWW        ×
     95 *     ○    ×     ○          WWW        ×
     96 *     ○    ×     ×          WWW        ×
     97 *     ×    ○     ○          ×         WWW
     98 *     ×    ○     ×          ×         WWW
     99 *     ×    ×     ○          ×         ×
     100 *     ×    ×     ×          ×         ×
    113101 *
    114102 */
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/udp4_echo_cli.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  UDP4 ECHO クライアント
     35 *  UDP4 ECHO クライアント
    4836 */
    4937
     
    7664#if defined(USE_UDP4_ECHO_CLI_TSK)
    7765
    78 /* echo サーバのポート番号 */
     66/* echo サーバのポート番号 */
    7967
    8068#define ECHO_SRV_PORTNO         UINT_C(7)
    8169
    82 /* 送信間隔 */
     70/* 送信間隔 */
    8371
    8472#if defined(TOPPERS_S810_CLG3_85)
     
    9280#endif  /* of #if defined(TOPPERS_S810_CLG3_85) */
    9381
    94 /* 自動実行 */
     82/* 自動実行 */
    9583
    9684#if defined(UDP4_ECHO_CLI_AUTO_RUN_STR)
     
    10290
    10391/*
    104  *  å
    105 ¨åŸŸå¤‰æ•°
     92 *  全域変数
    10693 */
    10794
     
    10996
    11097/*
    111  * 変数
     98 * 変数
    11299 */
    113100
     
    123110
    124111/*
    125  *  ノンブロッキングコールのコールバック関数
     112 *  ノンブロッキングコールのコールバック関数
    126113 */
    127114
     
    135122
    136123/*
    137  *  udp4_echo_cli -- ECHO/UDP サーバにメッセージを送信する (ノンブロッキングコール使用)。
     124 *  udp4_echo_cli -- ECHO/UDP サーバにメッセージを送信する (ノンブロッキングコール使用)。
    138125 */
    139126
     
    162149        syscall(slp_tsk());
    163150        get_tim(&time);
    164         if (nblk_len < 0) {     /* 0 以下の場合は、エラーコード */
     151        if (nblk_len < 0) {     /* 0 以下の場合は、エラーコード */
    165152                syslog(LOG_NOTICE, "[UEC4:%02u CBR(NBLK)] error: %7lu,%s",
    166153                                   cepid, time / SYSTIM_HZ, itron_strerror(nblk_len));
     
    176163        syscall(slp_tsk());
    177164        get_tim(&time);
    178         if (nblk_len < 0) {     /* 0 以下の場合は、エラーコード */
     165        if (nblk_len < 0) {     /* 0 以下の場合は、エラーコード */
    179166                syslog(LOG_NOTICE, "[UEC4:%02u RCV(NBLK)] error: %7lu,%s",
    180167                                   cepid, time / SYSTIM_HZ, itron_strerror(nblk_len));
     
    198185
    199186/*
    200  *  コールバック関数
     187 *  コールバック関数
    201188 */
    202189
     
    222209
    223210/*
    224  *  udp4_echo_cli -- ECHO/UDP サーバにメッセージを送信する (コールバック関数使用)。
     211 *  udp4_echo_cli -- ECHO/UDP サーバにメッセージを送信する (コールバック関数使用)。
    225212 */
    226213
     
    248235
    249236/*
    250  *  udp4_echo_cli -- ECHO/UDP サーバにメッセージを送信する (コールバック関数未使用)。
     237 *  udp4_echo_cli -- ECHO/UDP サーバにメッセージを送信する (コールバック関数未使用)。
    251238 */
    252239
     
    291278
    292279/*
    293  *  getcomd -- コマンドを得る。
     280 *  getcomd -- コマンドを得る。
    294281 */
    295282
     
    339326
    340327/*
    341  *  UDP4 ECHO クライアント送信タスク
     328 *  UDP4 ECHO クライアント送信タスク
    342329 */
    343330
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/udp4_echo_cli.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  ECHO サーバ試験プログラムのシステムコンフィギュレーションファイル
     35 *  ECHO サーバ試験プログラムのシステムコンフィギュレーションファイル
    4836 */
    4937
    5038#ifdef USE_UDP4_ECHO_CLI_TSK
    5139
    52 /* タスク */
     40/* タスク */
    5341
    5442#ifdef USE_UDP_EXTENTIONS
     
    7664#endif  /* of #ifdef USE_UDP_EXTENTIONS */
    7765
    78 /* コマンドキュー */
     66/* コマンドキュー */
    7967
    8068CRE_DTQ(DTQ_UDP4_ECHO_CLI,  { TA_TFIFO, 1, NULL });
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/udp4_echo_cli.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4735#define _UDP4_ECHO_CLI_H_
    4836
    49 /* スタックサイズ */
     37/* スタックサイズ */
    5038
    51 #define UDP4_ECHO_CLI_STACK_SIZE        1024            /* UDP ECHO クライアントタスク(IPv4)のスタックサイズ       */
     39#define UDP4_ECHO_CLI_STACK_SIZE        1024            /* UDP ECHO クライアントタスク(IPv4)のスタックサイズ     */
    5240
    53 /* 優å
    54 ˆåº¦ */
     41/* 優先度 */
    5542
    56 #define UDP4_ECHO_CLI_MAIN_PRIORITY     5               /* UDP ECHO クライアントタスク(IPv4)の優å
    57 ˆåº¦            */
     43#define UDP4_ECHO_CLI_MAIN_PRIORITY     5               /* UDP ECHO クライアントタスク(IPv4)の優先度         */
    5844
    59 /* 変数 */
     45/* 変数 */
    6046
    6147extern bool_t   udp4_echo_cli_valid;
    6248
    63 /* タスク */
     49/* タスク */
    6450
    6551extern void     udp4_echo_cli_task(intptr_t exinf);
    6652
    67 /* 関数 */
     53/* 関数 */
    6854
    6955extern ER callback_udp4_echo_cli (ID cepid, FN fncd, void *p_parblk);
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/udp4_echo_srv.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  UDP ECHO サーバ
     35 *  UDP ECHO サーバ
    4836 *
    4937 *    IPv4
     
    7967
    8068/*
    81  *  受信タイムアウト
     69 *  受信タイムアウト
    8270 */
    8371
     
    9381
    9482/*
    95  *  コールバック関数
     83 *  コールバック関数
    9684 */
    9785
     
    134122
    135123/*
    136  *  変数
     124 *  変数
    137125 */
    138126
     
    140128
    141129/*
    142  *  ノンブロッキングコールのコールバック関数
     130 *  ノンブロッキングコールのコールバック関数
    143131 */
    144132
     
    150138        get_tim(&now);
    151139        nblk_len = *(ER_UINT*)p_parblk;
    152         if (nblk_len < 0) {     /* 0 以下の場合は、エラーコード */
     140        if (nblk_len < 0) {     /* 0 以下の場合は、エラーコード */
    153141                syslog(LOG_NOTICE, "[UES4:%02u CBR] error,      %7lu,%s, fncd: %s",
    154142                                   cepid, now / SYSTIM_HZ, itron_strerror(nblk_len), in_strtfn(fncd));
     
    165153
    166154/*
    167  *  UDP ECHO サーバ
     155 *  UDP ECHO サーバ
    168156 */
    169157
     
    209197
    210198/*
    211  *  UDP ECHO サーバ
     199 *  UDP ECHO サーバ
    212200 */
    213201
     
    247235
    248236/*
    249  *  UDP ECHO サーバタスク
     237 *  UDP ECHO サーバタスク
    250238 */
    251239
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/udp4_echo_srv.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  UDP ECHO サーバコンフィギュレーションファイル
     35 *  UDP ECHO サーバコンフィギュレーションファイル
    4836 *
    4937 *    IPv4
     
    5341
    5442/*
    55  * タスク
     43 * タスク
    5644 */
    5745
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/udp4_echo_srv.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4735#define _UDP4_ECHO_SRV_H_
    4836
    49 /* スタックサイズ */
     37/* スタックサイズ */
    5038
    51 #define UDP4_ECHO_SRV_STACK_SIZE        1024            /* UDP ECHO サーバタスク(IPV4)のスタックサイズ        */
     39#define UDP4_ECHO_SRV_STACK_SIZE        1024            /* UDP ECHO サーバタスク(IPV4)のスタックサイズ        */
    5240
    53 /* 優å
    54 ˆåº¦ */
     41/* 優先度 */
    5542
    56 #define UDP4_ECHO_SRV_MAIN_PRIORITY     5               /* UDP ECHO サーバタスク(IPV4)の優å
    57 ˆåº¦            */
     43#define UDP4_ECHO_SRV_MAIN_PRIORITY     5               /* UDP ECHO サーバタスク(IPV4)の優先度            */
    5844
    59 /* タスク */
     45/* タスク */
    6046
    6147extern void     udp4_echo_srv_task(intptr_t exinf);
    6248
    63 /* 関数 */
     49/* 関数 */
    6450
    6551extern ER callback_udp4_echo_srv (ID cepid, FN fncd, void *p_parblk);
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/udp6_echo_cli.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  UDP6 ECHO クライアント
     35 *  UDP6 ECHO クライアント
    4836 */
    4937
     
    7866#if defined(USE_UDP6_ECHO_CLI_TSK)
    7967
    80 /* echo サーバのポート番号 */
     68/* echo サーバのポート番号 */
    8169
    8270#define ECHO_SRV_PORTNO         UINT_C(7)
    8371
    84 /* 送信間隔 */
     72/* 送信間隔 */
    8573
    8674#if defined(TOPPERS_S810_CLG3_85)
     
    9482#endif  /* of #if defined(TOPPERS_S810_CLG3_85) */
    9583
    96 /* 自動実行 */
     84/* 自動実行 */
    9785
    9886#if defined(UDP6_ECHO_CLI_AUTO_RUN_STR)
     
    10492
    10593/*
    106  *  å
    107 ¨åŸŸå¤‰æ•°
     94 *  全域変数
    10895 */
    10996
     
    11198
    11299/*
    113  * 変数
     100 * 変数
    114101 */
    115102
     
    125112
    126113/*
    127  *  ノンブロッキングコールのコールバック関数
     114 *  ノンブロッキングコールのコールバック関数
    128115 */
    129116
     
    137124
    138125/*
    139  *  udp6_echo_cli -- ECHO/UDP サーバにメッセージを送信する (ノンブロッキングコール使用)。
     126 *  udp6_echo_cli -- ECHO/UDP サーバにメッセージを送信する (ノンブロッキングコール使用)。
    140127 */
    141128
     
    164151        syscall(slp_tsk());
    165152        get_tim(&time);
    166         if (nblk_len < 0) {     /* 0 以下の場合は、エラーコード */
     153        if (nblk_len < 0) {     /* 0 以下の場合は、エラーコード */
    167154                syslog(LOG_NOTICE, "[UEC6:%02u CBR] error: %7lu,%s",
    168155                                   cepid, time / SYSTIM_HZ, itron_strerror(nblk_len));
     
    178165        syscall(slp_tsk());
    179166        get_tim(&time);
    180         if (nblk_len < 0) {     /* 0 以下の場合は、エラーコード */
     167        if (nblk_len < 0) {     /* 0 以下の場合は、エラーコード */
    181168                syslog(LOG_NOTICE, "[UEC6:%02u RVN] error: %7lu,%s",
    182169                                   cepid, time / SYSTIM_HZ, itron_strerror(nblk_len));
     
    200187
    201188/*
    202  *  コールバック関数
     189 *  コールバック関数
    203190 */
    204191
     
    224211
    225212/*
    226  *  udp6_echo_cli -- ECHO/UDP サーバにメッセージを送信する (コールバック関数使用)。
     213 *  udp6_echo_cli -- ECHO/UDP サーバにメッセージを送信する (コールバック関数使用)。
    227214 */
    228215
     
    250237
    251238/*
    252  *  udp6_echo_cli -- ECHO/UDP サーバにメッセージを送信する (コールバック関数未使用)。
     239 *  udp6_echo_cli -- ECHO/UDP サーバにメッセージを送信する (コールバック関数未使用)。
    253240 */
    254241
     
    293280
    294281/*
    295  *  getcomd -- コマンドを得る。
     282 *  getcomd -- コマンドを得る。
    296283 */
    297284
     
    341328
    342329/*
    343  *  UDP6 ECHO クライアント送信タスク
     330 *  UDP6 ECHO クライアント送信タスク
    344331 */
    345332
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/udp6_echo_cli.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  ECHO サーバ試験プログラムのシステムコンフィギュレーションファイル
     35 *  ECHO サーバ試験プログラムのシステムコンフィギュレーションファイル
    4836 */
    4937
    5038#ifdef USE_UDP6_ECHO_CLI_TSK
    5139
    52 /* タスク */
     40/* タスク */
    5341
    5442#ifdef USE_UDP_EXTENTIONS
     
    7664#endif  /* of #ifdef USE_UDP_EXTENTIONS */
    7765
    78 /* コマンドキュー */
     66/* コマンドキュー */
    7967
    8068CRE_DTQ(DTQ_UDP6_ECHO_CLI,  { TA_TFIFO, 1, NULL });
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/udp6_echo_cli.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4735#define _UDP6_ECHO_CLI_H_
    4836
    49 /* スタックサイズ */
     37/* スタックサイズ */
    5038
    51 #define UDP6_ECHO_CLI_STACK_SIZE        1024            /* UDP ECHO クライアントタスク(IPv6)のスタックサイズ       */
     39#define UDP6_ECHO_CLI_STACK_SIZE        1024            /* UDP ECHO クライアントタスク(IPv6)のスタックサイズ     */
    5240
    53 /* 優å
    54 ˆåº¦ */
     41/* 優先度 */
    5542
    56 #define UDP6_ECHO_CLI_MAIN_PRIORITY     5               /* UDP ECHO クライアントタスク(IPv6)の優å
    57 ˆåº¦            */
     43#define UDP6_ECHO_CLI_MAIN_PRIORITY     5               /* UDP ECHO クライアントタスク(IPv6)の優先度         */
    5844
    59 /* 変数 */
     45/* 変数 */
    6046
    6147extern bool_t   udp6_echo_cli_valid;
    6248
    63 /* タスク */
     49/* タスク */
    6450
    6551extern void     udp6_echo_cli_task(intptr_t exinf);
    6652
    67 /* 関数 */
     53/* 関数 */
    6854
    6955extern ER callback_udp6_echo_cli (ID cepid, FN fncd, void *p_parblk);
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/udp6_echo_srv.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  UDP ECHO サーバ
     35 *  UDP ECHO サーバ
    4836 *
    4937 *    IPv6
     
    7967
    8068/*
    81  *  受信タイムアウト
     69 *  受信タイムアウト
    8270 */
    8371
     
    9381
    9482/*
    95  *  コールバック関数
     83 *  コールバック関数
    9684 */
    9785
     
    134122
    135123/*
    136  *  変数
     124 *  変数
    137125 */
    138126
     
    140128
    141129/*
    142  *  ノンブロッキングコールのコールバック関数
     130 *  ノンブロッキングコールのコールバック関数
    143131 */
    144132
     
    150138        get_tim(&now);
    151139        nblk_len = *(ER_UINT*)p_parblk;
    152         if (nblk_len < 0) {     /* 0 以下の場合は、エラーコード */
     140        if (nblk_len < 0) {     /* 0 以下の場合は、エラーコード */
    153141                syslog(LOG_NOTICE, "[UES6:%02u CBR] error: %7lu,%s, fncd: %s",
    154142                                   cepid, now / SYSTIM_HZ, itron_strerror(nblk_len), in_strtfn(fncd));
     
    165153
    166154/*
    167  *  UDP ECHO サーバ
     155 *  UDP ECHO サーバ
    168156 */
    169157
     
    208196
    209197/*
    210  *  UDP ECHO サーバ
     198 *  UDP ECHO サーバ
    211199 */
    212200
     
    246234
    247235/*
    248  *  UDP ECHO サーバタスク
     236 *  UDP ECHO サーバタスク
    249237 */
    250238
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/udp6_echo_srv.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  UDP ECHO サーバコンフィギュレーションファイル
     35 *  UDP ECHO サーバコンフィギュレーションファイル
    4836 *
    4937 *    IPv6
     
    5341
    5442/*
    55  * タスク
     43 * タスク
    5644 */
    5745
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/udp6_echo_srv.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4735#define _UDP6_ECHO_SRV_H_
    4836
    49 /* スタックサイズ */
     37/* スタックサイズ */
    5038
    51 #define UDP6_ECHO_SRV_STACK_SIZE        1024            /* UDP ECHO サーバタスク(IPv6)のスタックサイズ                */
     39#define UDP6_ECHO_SRV_STACK_SIZE        1024            /* UDP ECHO サーバタスク(IPv6)のスタックサイズ                */
    5240
    53 /* 優å
    54 ˆåº¦ */
     41/* 優先度 */
    5542
    56 #define UDP6_ECHO_SRV_MAIN_PRIORITY     5               /* UDP ECHO サーバタスク(IPv6)の優å
    57 ˆåº¦                    */
     43#define UDP6_ECHO_SRV_MAIN_PRIORITY     5               /* UDP ECHO サーバタスク(IPv6)の優先度                    */
    5844
    59 /* タスク */
     45/* タスク */
    6046
    6147extern void     udp6_echo_srv_task(intptr_t exinf);
    6248
    63 /* 関数 */
     49/* 関数 */
    6450
    6551extern ER callback_udp6_echo_srv (ID cepid, FN fncd, void *p_parblk);
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/udp_discard_cli.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  UDP DISCARD クライアント
     35 *  UDP DISCARD クライアント
    4836 */
    4937
     
    7967#ifdef USE_UDP_DISCARD_CLI
    8068
    81 /* discard サーバのポート番号 */
     69/* discard サーバのポート番号 */
    8270
    8371#define DISCARD_SRV_PORTNO      UINT_C(9)
    8472
    8573/*
    86  * 変数
     74 * 変数
    8775 */
    8876
     
    9785
    9886/*
    99  *  å
    100 ¨åŸŸå¤‰æ•°
     87 *  全域変数
    10188 */
    10289
     
    10491
    10592/*
    106  *  send_udp_discard -- DISCARD/UDP サーバにメッセージを送信する。
     93 *  send_udp_discard -- DISCARD/UDP サーバにメッセージを送信する。
    10794 */
    10895
     
    156143
    157144/*
    158  *  UDP DISCARD クライアント送信タスク
     145 *  UDP DISCARD クライアント送信タスク
    159146 */
    160147
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/udp_discard_cli.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  UDP DISCARD クライアント
    48  *  コンフィギュレーションファイル
     35 *  UDP DISCARD クライアント
     36 *  コンフィギュレーションファイル
    4937 */
    5038
    5139#ifdef USE_UDP_DISCARD_CLI
    5240
    53 /* タスク */
     41/* タスク */
    5442
    5543#ifdef USE_UDP_EXTENTIONS
     
    7765#endif  /* of #ifdef USE_UDP_EXTENTIONS */
    7866
    79 /* コマンドキュー */
     67/* コマンドキュー */
    8068
    8169CRE_DTQ(DTQ_UDP_DISCARD_CLI,  { TA_TFIFO, 1, NULL });
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/udp_discard_cli.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4735#define _UDP_DISCARD_CLI_H_
    4836
    49 /* スタックサイズ */
     37/* スタックサイズ */
    5038
    51 #define UDP_DISCARD_CLI_STACK_SIZE      1024            /* UDP DISCARD クライアントタスクのスタックサイズ      */
     39#define UDP_DISCARD_CLI_STACK_SIZE      1024            /* UDP DISCARD クライアントタスクのスタックサイズ        */
    5240
    53 /* 優å
    54 ˆåº¦ */
     41/* 優先度 */
    5542
    56 #define UDP_DISCARD_CLI_MAIN_PRIORITY   5               /* UDP DISCARD クライアントタスクの優å
    57 ˆåº¦            */
     43#define UDP_DISCARD_CLI_MAIN_PRIORITY   5               /* UDP DISCARD クライアントタスクの優先度            */
    5844
    59 /* 変数 */
     45/* 変数 */
    6046
    6147extern bool_t   udp_discard_cli_valid;
    6248
    63 /* タスク */
     49/* タスク */
    6450
    6551extern void     udp_discard_cli_task(intptr_t exinf);
    6652
    67 /* 関数 */
     53/* 関数 */
    6854
    6955extern ER callback_udp_discard_cli (ID cepid, FN fncd, void *p_parblk);
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/wwws.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  WWW サーバ
     35 *  WWW サーバ
    4836 *
    49  *    ・送受信タスク同一型
    50  *    ・ノンブロッキングコール
    51  *    ・省コピー API
    52  *    ・IPv4/IPv6
     37 *    ・送受信タスク同一型
     38 *    ・ノンブロッキングコール
     39 *    ・省コピー API
     40 *    IPv4/IPv6
    5341 */
    5442
     
    10189
    10290/*
    103  *  送受信 API の選択
     91 *  送受信 API の選択
    10492 */
    10593
     
    117105
    118106/*
    119  *  関数
     107 *  関数
    120108 */
    121109
     
    132120#if defined(SUPPORT_INET6) && defined(SUPPORT_INET4) && defined(USE_WWW4_SRV)
    133121
    134 #if NUM_WWW_SRV_TASKS >= 2              /* 2 をè¶
    135 ãˆã‚‹å€‹æ•°ã¯æƒ³å®šã—ていない。 */
     122#if NUM_WWW_SRV_TASKS >= 2              /* 2 を超える個数は想定していない。    */
    136123
    137124#define WWW4_SRV_TASK   WWW_SRV_TASK1
     
    156143
    157144/*
    158  *  å
    159 ¨åŸŸå¤‰æ•°
    160  */
    161 
    162 /* TCP 送受信ウィンドバッファ */
     145 *  全域変数
     146 */
     147
     148/* TCP 送受信ウィンドバッファ */
    163149
    164150#ifndef TCP_CFG_SWBUF_CSAVE
     
    171157
    172158/*
    173  *  変数
     159 *  変数
    174160 */
    175161
     
    200186
    201187/*
    202  *  接続相手のæƒ
    203 å ±æ§‹é€ ä½“
     188 *  接続相手の情報構造体
    204189 */
    205190
     
    210195
    211196typedef 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;            /* 接続相手アドレス情報   */
    216200        } T_WWW_SRV_INFO;
    217201
     
    221205
    222206static T_WWW_SRV_INFO www_srv_info[NUM_WWW_SRV_TASKS];
    223                                         /* 2 をè¶
    224 ãˆã‚‹å€‹æ•°ã¯æƒ³å®šã—ていない。 */
     207                                        /* 2 を超える個数は想定していない。    */
    225208
    226209#else   /* of #ifdef USE_TCP_EXTENTIONS */
     
    238221#endif  /* of #if defined(SUPPORT_INET6) && defined(SUPPORT_INET4) && defined(USE_WWW4_SRV) */
    239222
    240 #if NUM_WWW_SRV_TASKS >= 2              /* 2 をè¶
    241 ãˆã‚‹å€‹æ•°ã¯æƒ³å®šã—ていない。 */
     223#if NUM_WWW_SRV_TASKS >= 2              /* 2 を超える個数は想定していない。    */
    242224        { WWW_SRV_CEPID2, WWW_SRV_REPID },
    243225#endif
     
    250232
    251233/*
    252  *  get_char -- 一文字å
    253 ¥åŠ›ã™ã‚‹ã€‚
     234 *  get_char -- 一文字入力する。
    254235 */
    255236
     
    286267
    287268/*
    288  *  flush_sbuf -- 送信バッファをフラッシュする。
     269 *  flush_sbuf -- 送信バッファをフラッシュする。
    289270 */
    290271
     
    301282
    302283/*
    303  *  put_str -- 文字列を出力する。
     284 *  put_str -- 文字列を出力する。
    304285 */
    305286
     
    343324
    344325/*
    345  *  get_char -- 一文字å
    346 ¥åŠ›ã™ã‚‹ã€‚
     326 *  get_char -- 一文字入力する。
    347327 */
    348328
     
    376356
    377357/*
    378  *  flush_sbuf -- 送信バッファをフラッシュする。
     358 *  flush_sbuf -- 送信バッファをフラッシュする。
    379359 */
    380360
     
    396376
    397377/*
    398  *  put_str -- 文字列を出力する。
     378 *  put_str -- 文字列を出力する。
    399379 */
    400380
     
    428408
    429409/*
    430  *  get_line -- 一行å
    431 ¥åŠ›ã™ã‚‹ã€‚
     410 *  get_line -- 一行入力する。
    432411 */
    433412
     
    469448
    470449/*
    471  *  convert -- 数値変換
     450 *  convert -- 数値変換
    472451 */
    473452
     
    499478
    500479/*
    501  * split_fields -- フィールドに分割する。
     480 * split_fields -- フィールドに分割する。
    502481 */
    503482
     
    523502
    524503/*
    525  *  put_status -- status line を出力する。
     504 *  put_status -- status line を出力する。
    526505 */
    527506
     
    538517
    539518/*
    540  *  put_content_length -- Content-length を出力する。
     519 *  put_content_length -- Content-length を出力する。
    541520 */
    542521
     
    557536
    558537/*
    559  *  get_method -- GET メソッドの処理
     538 *  get_method -- GET メソッドの処理
    560539 */
    561540
     
    576555
    577556/*
    578  *  parse_request -- リクエストを解析する。
     557 *  parse_request -- リクエストを解析する。
    579558 */
    580559
     
    608587                }
    609588
    610         while (get_line(cepid, line, srbuf) > 0) {      /* ヘッダをスキップする。*/
     589        while (get_line(cepid, line, srbuf) > 0) {      /* ヘッダをスキップする。*/
    611590                split_fields(line, ": ");
    612591                if (strcmp("Content-Length", &line->buf[line->off[0]]) == 0)
     
    614593                }
    615594        while (blen > 0 && get_line(cepid, line, srbuf) > 0) {
    616                 /* エンティティ・ボディをスキップする。*/
     595                /* エンティティ・ボディをスキップする。*/
    617596                blen -= line->len;
    618597                }
     
    636615
    637616/*
    638  *  index_html -- /index.html ファイル
     617 *  index_html -- /index.html ファイル
    639618 */
    640619
     
    654633                "<title>TINET TCP/IP Protocol Stack</title>\r\n"
    655634                "</head><body bgcolor=\"#ffffbb\">\r\n"
    656                 "<hr>この WWW サーバは<br>"
     635                "<hr>この WWW サーバは<br>"
    657636
    658637#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"
    660639#endif
    661640
    662641#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"
    664643#endif
    665644
    666                 "TINET TCP/IP プロトコルスタックによりサービスしています。<br><hr>\r\n"
     645                "TINET TCP/IP プロトコルスタックによりサービスしています。<br><hr>\r\n"
    667646
    668647#if NET_COUNT_ENABLE
    669648
    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"
    672650
    673651#else   /* of #if NET_COUNT_ENABLE */
    674652
    675                 "<ul><li type=\"square\">ネットワーク統計æƒ
    676 å ±</ul><hr>\r\n"
     653                "<ul><li type=\"square\">ネットワーク統計情報</ul><hr>\r\n"
    677654
    678655#endif  /* of #if NET_COUNT_ENABLE */
     
    728705        get_tim(&start);
    729706        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 */
    731708        len += put_str(cepid, srbuf, response);
    732709        get_tim(&finish);
     
    749726
    750727static const char time_prefix[] =
    751         "経過時間: "
     728        "経過時間: "
    752729        ;
    753730
     
    762739static const char table_prefix_ip4[] =
    763740        "<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"
    766742        ;
    767743
     
    772748static const char table_prefix_ip6[] =
    773749        "<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"
    776751        ;
    777752
    778753static const char table_prefix_icmp6[] =
    779754        "<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"
    782756        ;
    783757
    784758static 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"
    788761        ;
    789762
     
    792765static const char table_prefix_tcp[] =
    793766        "<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"
    796768        ;
    797769
    798770static 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"
    805777        ;
    806778
     
    808780
    809781static 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"
    813784        ;
    814785
    815786static const char *ppp_item[NC_PPP_SIZE] = {
    816         "受信オクテット数",
    817         "送信オクテット数",
    818         "受信フレーム数",
    819         "送信フレーム数",
    820         "受信エラーフレーム数",
    821         "送信エラーフレーム数",
    822         "バッファ割り当て失敗数",
     787        "受信オクテット数",
     788        "送信オクテット数",
     789        "受信フレーム数",
     790        "送信フレーム数",
     791        "受信エラーフレーム数",
     792        "送信エラーフレーム数",
     793        "バッファ割り当て失敗数",
    823794        };
    824795
     
    828799
    829800static 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"
    833803        ;
    834804
    835805static 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        "受信オクテット数",
    848818        };
    849819
     
    853823
    854824static 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        "受信オクテット数",
    876845        };
    877846
     
    881850
    882851static 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        "受信オクテット数       ",
    901870        };
    902871
    903872static 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 オクテット数",
    911880        };
    912881
    913882static const char *nd6_item[NC_ND6_SIZE] = {
    914         "重複アドレス検出送信数",
    915         "近隣要請送信数",
    916         "近隣要請受信数",
    917         "近隣通知送信数",
    918         "近隣通知受信数",
    919         "ルータ要請出力数",
    920         "ルータ通知受信数",
     883        "重複アドレス検出送信数",
     884        "近隣要請送信数",
     885        "近隣要請受信数",
     886        "近隣通知送信数",
     887        "近隣通知受信数",
     888        "ルータ要請出力数",
     889        "ルータ通知受信数",
    921890        };
    922891
     
    924893
    925894static 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        "受信オクテット数",
    950919        };
    951920
    952921/*
    953  *  put_count_item1 -- カウンタのå†
    954 å®¹ã‚’出力する。グループ 1
     922 *  put_count_item1 -- カウンタの内容を出力する。グループ 1
    955923 */
    956924
     
    995963
    996964/*
    997  *  put_count_item2 -- カウンタのå†
    998 å®¹ã‚’出力する。グループ 2
     965 *  put_count_item2 -- カウンタの内容を出力する。グループ 2
    999966 */
    1000967
     
    1021988
    1022989/*
    1023  *  td_len_ppp -- put_count_ppp で出力する文字数。
     990 *  td_len_ppp -- put_count_ppp で出力する文字数。
    1024991 */
    1025992
     
    10361003
    10371004/*
    1038  *  put_count_ppp -- カウンタ (PPP) のå†
    1039 å®¹ã‚’出力する。
     1005 *  put_count_ppp -- カウンタ (PPP) の内容を出力する。
    10401006 */
    10411007
     
    11081074
    11091075/*
    1110  *  td_len_ip4 -- put_count_ip4 で出力する文字数。
     1076 *  td_len_ip4 -- put_count_ip4 で出力する文字数。
    11111077 */
    11121078
     
    11231089
    11241090/*
    1125  *  put_count_ip4 -- カウンタ (IP4) のå†
    1126 å®¹ã‚’出力する。
     1091 *  put_count_ip4 -- カウンタ (IP4) の内容を出力する。
    11271092 */
    11281093
     
    11531118
    11541119/*
    1155  *  td_len_nd6 -- put_count_nd6 で出力する文字数。
     1120 *  td_len_nd6 -- put_count_nd6 で出力する文字数。
    11561121 */
    11571122
     
    11681133
    11691134/*
    1170  *  put_count_nd6 -- カウンタ (ND6) のå†
    1171 å®¹ã‚’出力する。
     1135 *  put_count_nd6 -- カウンタ (ND6) の内容を出力する。
    11721136 */
    11731137
     
    11941158
    11951159/*
    1196  *  td_len_icmp6 -- put_count_icmp6 で出力する文字数。
     1160 *  td_len_icmp6 -- put_count_icmp6 で出力する文字数。
    11971161 */
    11981162
     
    12091173
    12101174/*
    1211  *  put_count_icmp6 -- カウンタ (ICMP6) のå†
    1212 å®¹ã‚’出力する。
     1175 *  put_count_icmp6 -- カウンタ (ICMP6) の内容を出力する。
    12131176 */
    12141177
     
    12351198
    12361199/*
    1237  *  td_len_ip6 -- put_count_ip6 で出力する文字数。
     1200 *  td_len_ip6 -- put_count_ip6 で出力する文字数。
    12381201 */
    12391202
     
    12501213
    12511214/*
    1252  *  put_count_ip6 -- カウンタ (IP6) のå†
    1253 å®¹ã‚’出力する。
     1215 *  put_count_ip6 -- カウンタ (IP6) の内容を出力する。
    12541216 */
    12551217
     
    12781240
    12791241/*
    1280  *  td_len_tcp -- put_count_tcp で出力する文字数。
     1242 *  td_len_tcp -- put_count_tcp で出力する文字数。
    12811243 */
    12821244
     
    12931255
    12941256/*
    1295  *  put_count_tcp -- カウンタ (TCP) のå†
    1296 å®¹ã‚’出力する。
     1257 *  put_count_tcp -- カウンタ (TCP) の内容を出力する。
    12971258 */
    12981259
     
    13191280
    13201281/*
    1321  *  put_elapse_time -- 経過時間を出力する。
     1282 *  put_elapse_time -- 経過時間を出力する。
    13221283 */
    13231284
     
    13511312
    13521313/*
    1353  *  put_count_net_buf -- カウンタ (TCP) のå†
    1354 å®¹ã‚’出力する。
     1314 *  put_count_net_buf -- カウンタ (TCP) の内容を出力する。
    13551315 */
    13561316
     
    13921352
    13931353/*
    1394  *  td_len_ether_nic -- put_count_ether_nic で出力する文字数。
     1354 *  td_len_ether_nic -- put_count_ether_nic で出力する文字数。
    13951355 */
    13961356
     
    14071367
    14081368/*
    1409  *  put_count_ether_nic -- カウンタ (ETHER_NIC) のå†
    1410 å®¹ã‚’出力する。
     1369 *  put_count_ether_nic -- カウンタ (ETHER_NIC) の内容を出力する。
    14111370 */
    14121371
     
    14351394
    14361395/*
    1437  *  stat_html -- /stat.html ファイル
     1396 *  stat_html -- /stat.html ファイル
    14381397 */
    14391398
     
    14511410#endif
    14521411
    1453                 "<title>ネットワーク統計æƒ
    1454 å ±</title>\r\n"
     1412                "<title>ネットワーク統計情報</title>\r\n"
    14551413                "</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"
    14581415                ;
    14591416
     
    14631420
    14641421        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"
    14741430                ;
    14751431
     
    14771433
    14781434        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"
    14841439                ;
    14851440
     
    15741529
    15751530                                + content_len
    1576                                 - 2);   /* 2 は最初の \r\n */
     1531                                - 2);   /* 2 は最初の \r\n */
    15771532
    15781533        len += put_str(cepid, srbuf, res_prefix);
     
    16641619
    16651620/*
    1666  *  get_tcp_rep -- TCP 受付口を獲得する。
     1621 *  get_tcp_rep -- TCP 受付口を獲得する。
    16671622 */
    16681623
     
    17221677
    17231678/*
    1724  *  get_tcp_cep -- TCP 通信端点を獲得する。
     1679 *  get_tcp_cep -- TCP 通信端点を獲得する。
    17251680 */
    17261681
     
    17671722
    17681723/*
    1769  *  tcp_passive_open -- 受動オープンを実行する。
     1724 *  tcp_passive_open -- 受動オープンを実行する。
    17701725 *
    17711726 *    USE_TCP_NON_BLOCKING      OFF
     
    17811736
    17821737        if (apip == API_PROTO_IPV6) {
    1783                 /* 受付口は IPv6 */
     1738                /* 受付口は IPv6 */
    17841739                if ((error = tcp6_acp_cep(info->cepid, info->repid, &info->dst, TMO_FEVR)) != E_OK)
    17851740                        return error;
     
    17921747                }
    17931748        else {
    1794                 /* 受付口は IPv4 */
     1749                /* 受付口は IPv4 */
    17951750                if ((error = tcp_acp_cep(info->cepid, info->repid, &dst4, TMO_FEVR)) != E_OK)
    17961751                        return error;
     
    18281783
    18291784/*
    1830  *  WWW サーバ
     1785 *  WWW サーバ
    18311786 */
    18321787
     
    19141869
    19151870/*
    1916  *  WWW サーバタスク
     1871 *  WWW サーバタスク
    19171872 */
    19181873
     
    20081963
    20091964/*
    2010  *  wakeup_www_srv -- WWW サーバタスクの休止解除
     1965 *  wakeup_www_srv -- WWW サーバタスクの休止解除
    20111966 */
    20121967
     
    20271982
    20281983/*
    2029  *  WWW サーバタスク
     1984 *  WWW サーバタスク
    20301985 */
    20311986
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/wwws.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  WWW サーバのシステムコンフィギュレーションファイル
     35 *  WWW サーバのシステムコンフィギュレーションファイル
    4836 */
    4937
    5038#ifdef USE_WWW_SRV
    5139
    52 /* タスク */
     40/* タスク */
    5341
    5442CRE_TSK(WWW_SRV_TASK1,  {
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/wwws.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4836
    4937/*
    50  *  WWW サーバ
     38 *  WWW サーバ
    5139 */
    5240
    5341#ifdef TOPPERS_S810_CLG3_85
    54 #define WWW_SRV_STACK_SIZE              768             /* タスクのスタックサイズ    */
     42#define WWW_SRV_STACK_SIZE              768             /* タスクのスタックサイズ  */
    5543#else   /* of #ifdef TOPPERS_S810_CLG3_85 */
    56 #define WWW_SRV_STACK_SIZE              1024            /* タスクのスタックサイズ    */
     44#define WWW_SRV_STACK_SIZE              1024            /* タスクのスタックサイズ  */
    5745#endif  /* of #ifdef TOPPERS_S810_CLG3_85 */
    58 #define WWW_SRV_MAIN_PRIORITY           5               /* タスクの優å
    59 ˆåº¦            */
     46#define WWW_SRV_MAIN_PRIORITY           5               /* タスクの優先度              */
    6047
    6148/*
    62  *  TCP 送受信ウインドバッファサイズ
     49 *  TCP 送受信ウインドバッファサイズ
    6350 */
    6451
     
    8875
    8976/*
    90  *  タスク数
     77 *  タスク数
    9178 */
    9279
     
    124111        } T_WWW_RWBUF;
    125112
    126 /* タスク */
     113/* タスク */
    127114
    128115extern void     www_srv_task (intptr_t exinf);
    129116
    130117/*
    131  *  変数
     118 *  変数
    132119 */
    133120
    134 /* TCP 送受信ウィンドバッファ */
     121/* TCP 送受信ウィンドバッファ */
    135122
    136123#ifdef NUM_WWW_SRV_TASKS
     
    142129
    143130/*
    144  *  関数
     131 *  関数
    145132 */
    146133
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/wwws_asp.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  ASP 用 WWW サーバのシステムコンフィギュレーションファイル
     35 *  ASP 用 WWW サーバのシステムコンフィギュレーションファイル
    4836 */
    4937
    5038/*
    51  *  å
    52 ±é€š WWW サーバのシステムコンフィギュレーションファイルのインクルード
     39 *  共通 WWW サーバのシステムコンフィギュレーションファイルのインクルード
    5340 */
    5441
     
    5845
    5946/*
    60  * 固定メモリプール
     47 * 固定メモリプール
    6148 */
    6249
    63 /* 受信バッファ */
     50/* 受信バッファ */
    6451
    6552CRE_MPF(MPF_WWW_RWBUF, {
     
    7158        });
    7259
    73 /* 行バッファ */
     60/* 行バッファ */
    7461
    7562CRE_MPF(MPF_WWW_LINE, {
  • azure_iot_hub/trunk/asp3_dcre/tinet/netapp/wwws_jsp.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  JSP 用 WWW サーバのシステムコンフィギュレーションファイル
     35 *  JSP 用 WWW サーバのシステムコンフィギュレーションファイル
    4836 */
    4937
    5038/*
    51  *  å
    52 ±é€š WWW サーバのシステムコンフィギュレーションファイルのインクルード
     39 *  共通 WWW サーバのシステムコンフィギュレーションファイルのインクルード
    5340 */
    5441
     
    5845
    5946/*
    60  * 固定メモリプール
     47 * 固定メモリプール
    6148 */
    6249
    63 /* 受信バッファ */
     50/* 受信バッファ */
    6451
    6552CRE_MPF(MPF_WWW_RWBUF, {
     
    7057        });
    7158
    72 /* 行バッファ */
     59/* 行バッファ */
    7360
    7461CRE_MPF(MPF_WWW_LINE, {
  • azure_iot_hub/trunk/asp3_dcre/tinet/netdev/if_btusb/Makefile.tinet

    • Property svn:mime-type changed from text/x-makefile to text/x-makefile;charset=UTF-8
    r388 r389  
    55#                    Tomakomai National College of Technology, JAPAN
    66
    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#       免責すること.
    4329
    44 #   æœ¬ã‚½ãƒ•ãƒˆã‚¦ã‚§ã‚¢ã¯ï¼Œç„¡ä¿è¨¼ã§æä¾›ã•ã‚Œã¦ã„るものである.上記著作権è€
    45 ãŠ
    46 #   ã‚ˆã³TOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    47 #   ã«å¯¾ã™ã‚‹é©åˆæ€§ã‚‚含めて,いかなる保証も行わない.また,本ソフトウェ
    48 #   ã‚¢ã®åˆ©ç”¨ã«ã‚ˆã‚Šç›´æŽ¥çš„または間接的に生じたいかなる損害に関しても,そ
    49 #   ã®è²¬ä»»ã‚’負わない.
     30#   本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     31#   よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     32#   に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     33#   アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     34#   の責任を負わない.
    5035
    5136#   @(#) $Id$
     
    5338
    5439#
    55 ã‚³ãƒ³ãƒ‘イルオプション
     40コンパイルオプション
    5641#
    5742INCLUDES        := $(INCLUDES) -I$(TINET_ROOT)/netdev/$(NET_DEV)
  • azure_iot_hub/trunk/asp3_dcre/tinet/netdev/if_btusb/bt_main.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    6363//#define PACKET_DUMP
    6464
    65 // エラー返却用定数(-1:0xffff固定)
     65// エラー返却用定数(-1:0xffff固定)
    6666#define FAILED_RFCOMM_ID_NOT_SET        0xffff
    6767
     
    263263                }
    264264                if (!bnep_do_connect) {
    265                         // 20秒後 BNEP Query 開始
     265                        // 20秒後 BNEP Query 開始
    266266                        bt_state = BT_STATE_BNEP_QUERY_WAIT;
    267267                        bt_timer = 20 * 1000;
     
    289289                                hci_send_cmd(&hci_write_local_name, bt_localname);
    290290                                if (bt_bnep_mode == 0) {
    291                                         // 即時 BNEP Query 開始
     291                                        // 即時 BNEP Query 開始
    292292                                        bt_state = BT_STATE_BNEP_QUERY_WAIT;
    293293                                        bt_timer = 0;
     
    373373                                log_info("BNEP channel open failed, status %02x", packet[2]);
    374374
    375                                 // 30秒後 BNEP Query 開始
     375                                // 30秒後 BNEP Query 開始
    376376                                bt_state = BT_STATE_BNEP_QUERY_WAIT;
    377377                                bt_timer = 30 * 1000;
     
    403403                        bt_channel_closed(bnep_cid);
    404404
    405                         // 30秒後 BNEP Query 開始
     405                        // 30秒後 BNEP Query 開始
    406406                        bt_state = BT_STATE_BNEP_QUERY_WAIT;
    407407                        bt_timer = 30 * 1000;
     
    514514        memset(bnep_service_buffer, 0, sizeof(bnep_service_buffer));
    515515
    516         // サービス定義
     516        // サービス定義
    517517        spp_service_record_item = (service_record_item_t *)spp_service_buffer;
    518518        bnep_service_record_item = (service_record_item_t *)bnep_service_buffer;
     
    599599                        printf_hexdump(network_buffer, len);
    600600#endif
    601                         // この関数はbnep_sendから再帰呼び出しされるので、
    602                         // bnep_sendを呼び出すより前に送信パケットなし状æ
    603 ‹ã«ã—ます。
     601                        // この関数はbnep_sendから再帰呼び出しされるので、
     602                        // bnep_sendを呼び出すより前に送信パケットなし状態にします。
    604603                        network_buffer_len = 0;
    605604                        bnep_send(network_buffer_cid, (uint8_t*)network_buffer, len);
  • azure_iot_hub/trunk/asp3_dcre/tinet/netdev/if_btusb/bt_main.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    1010#endif
    1111
    12 // エラー返却用定数(-1:0xffff固定)
     12// エラー返却用定数(-1:0xffff固定)
    1313#define FAILED_RFCOMM_ID_NOT_SET        0xffff
    1414
  • azure_iot_hub/trunk/asp3_dcre/tinet/netdev/if_btusb/if_btusb.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    66 *  Copyright (C) 2014-2017 by Cores Co., Ltd. Japan
    77 *
    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 *  の責任を負わない.
    5136 *
    5237 *  @(#) $Id$
     
    145130
    146131/*
    147  *  ネットワークインタフェースに依存するソフトウェアæƒ
    148 å ±
     132 *  ネットワークインタフェースに依存するソフトウェア情報
    149133 */
    150134
     
    156140
    157141/*
    158  *  ネットワークインタフェースのソフトウェアæƒ
    159 å ±
    160  */
    161 
    162 /* ネットワークインタフェースに依存するソフトウェアæƒ
    163 å ± */
     142 *  ネットワークインタフェースのソフトウェア情報
     143 */
     144
     145/* ネットワークインタフェースに依存するソフトウェア情報 */
    164146
    165147static T_BTUSB_SOFTC btusb_softc;
    166148
    167 /* ネットワークインタフェースに依存しないソフトウェアæƒ
    168 å ± */
     149/* ネットワークインタフェースに依存しないソフトウェア情報 */
    169150
    170151T_IF_SOFTC if_softc = {
    171         {{0,}},                                         /* ネットワークインタフェースのアドレス       */
    172         0,                                                      /* 送信タイムアウト                     */
    173         &btusb_softc,                           /* ディバイス依存のソフトウェアæƒ
    174 å ±     */
    175         SEM_IF_BTUSB_SBUF_READY,        /* 送信セマフォ                   */
    176         SEM_IF_BTUSB_RBUF_READY,        /* 受信セマフォ                   */
     152        {{0,}},                                         /* ネットワークインタフェースのアドレス   */
     153        0,                                                      /* 送信タイムアウト                     */
     154        &btusb_softc,                           /* ディバイス依存のソフトウェア情報     */
     155        SEM_IF_BTUSB_SBUF_READY,        /* 送信セマフォ                       */
     156        SEM_IF_BTUSB_RBUF_READY,        /* 受信セマフォ                       */
    177157
    178158#ifdef SUPPORT_INET6
    179159
    180         IF_MADDR_INIT,                          /* マルチキャストアドレスリスト   */
     160        IF_MADDR_INIT,                          /* マルチキャストアドレスリスト       */
    181161
    182162#endif  /* of #ifdef SUPPORT_INET6 */
     
    184164
    185165/*
    186  *  局所変数
     166 *  局所変数
    187167 */
    188168
     
    196176
    197177/*
    198  *  ds_crc -- イーサネットアドレスの CRC を計算する。
     178 *  ds_crc -- イーサネットアドレスの CRC を計算する。
    199179 */
    200180
     
    224204
    225205/*
    226  *  ds_getmcaf -- マルチキャストアドレスのリストからマルチキャストアドレス
    227  *                フィルタを計算する。
     206 *  ds_getmcaf -- マルチキャストアドレスのリストからマルチキャストアドレス
     207 *                フィルタを計算する。
    228208 */
    229209
     
    243223
    244224/*
    245  * btusb_setrcr -- 受信構成レジスタ (RCR) を設定する。
     225 * btusb_setrcr -- 受信構成レジスタ (RCR) を設定する。
    246226 */
    247227
     
    252232
    253233/*
    254  * btusb_addmulti -- マルチキャストアドレスを追加する。
     234 * btusb_addmulti -- マルチキャストアドレスを追加する。
    255235 */
    256236
     
    275255        sc->bnep_cid = bnep_cid;
    276256
    277         /* MACアドレスを更新 */
     257        /* MACアドレスを更新 */
    278258        memcpy(if_softc.ifaddr.lladdr, local_addr, sizeof(if_softc.ifaddr.lladdr));
    279259
     
    305285
    306286/*
    307  *  btusb_stop -- ネットワークインタフェースを停止する。
    308  *
    309  *    注意: NIC 割り込み禁止状æ
    310 ‹ã§å‘¼ã³å‡ºã™ã“と。
     287 *  btusb_stop -- ネットワークインタフェースを停止する。
     288 *
     289 *    注意: NIC 割り込み禁止状態で呼び出すこと。
    311290 */
    312291
     
    320299
    321300/*
    322  *  btusb_init_sub -- ネットワークインタフェースの初期化
    323  *
    324  *    注意: NIC 割り込み禁止状æ
    325 ‹ã§å‘¼ã³å‡ºã™ã“と。
     301 *  btusb_init_sub -- ネットワークインタフェースの初期化
     302 *
     303 *    注意: NIC 割り込み禁止状態で呼び出すこと。
    326304 */
    327305
     
    331309#if defined(TARGET_KERNEL_ASP)
    332310
    333         /* ターゲット依存部の割込み初期化 */
     311        /* ターゲット依存部の割込み初期化 */
    334312        btusb_inter_init();
    335313
    336314#endif  /* of #if defined(TARGET_KERNEL_ASP) */
    337315
    338 #if defined(TARGET_KERNEL_JSP) && TKERNEL_PRVER >= 0x1042u      /* JSP-1.4.2 以降 */
    339 
    340         /* ターゲット依存部の割込み初期化 */
     316#if defined(TARGET_KERNEL_JSP) && TKERNEL_PRVER >= 0x1042u      /* JSP-1.4.2 以降 */
     317
     318        /* ターゲット依存部の割込み初期化 */
    341319        btusb_inter_init();
    342320
     
    345323
    346324/*
    347  * btusb_reset -- ネットワークインタフェースをリセットする。
     325 * btusb_reset -- ネットワークインタフェースをリセットする。
    348326 */
    349327
     
    357335
    358336/*
    359  *  get_btusb_softc -- ネットワークインタフェースのソフトウェアæƒ
    360 å ±ã‚’返す。
     337 *  get_btusb_softc -- ネットワークインタフェースのソフトウェア情報を返す。
    361338 */
    362339
     
    368345
    369346/*
    370  * btusb_watchdog -- ネットワークインタフェースのワッチドッグタイムアウト
     347 * btusb_watchdog -- ネットワークインタフェースのワッチドッグタイムアウト
    371348 */
    372349
     
    378355
    379356/*
    380  * btusb_probe -- ネットワークインタフェースの検出
     357 * btusb_probe -- ネットワークインタフェースの検出
    381358 */
    382359
     
    387364#if defined(TARGET_KERNEL_ASP)
    388365
    389         /* ターゲット依存部のバスの初期化 */
     366        /* ターゲット依存部のバスの初期化 */
    390367        btusb_bus_init();
    391368
    392369#endif  /* of #if defined(TARGET_KERNEL_ASP) */
    393 #if defined(TARGET_KERNEL_JSP) && TKERNEL_PRVER >= 0x1042u      /* JSP-1.4.2 以降 */
    394 
    395         /* ターゲット依存部のバスの初期化 */
     370#if defined(TARGET_KERNEL_JSP) && TKERNEL_PRVER >= 0x1042u      /* JSP-1.4.2 以降 */
     371
     372        /* ターゲット依存部のバスの初期化 */
    396373        btusb_bus_init();
    397374
     
    404381
    405382/*
    406  * btusb_init -- ネットワークインタフェースの初期化
     383 * btusb_init -- ネットワークインタフェースの初期化
    407384 */
    408385
     
    410387btusb_init (T_IF_SOFTC *ic)
    411388{
    412         /* btusb_init 本体を呼び出す。*/
     389        /* btusb_init 本体を呼び出す。*/
    413390        btusb_init_sub(ic);
    414391}
    415392
    416393/*
    417  * btstack_network_process_packet -- btstackからフレームの受信
     394 * btstack_network_process_packet -- btstackからフレームの受信
    418395 */
    419396
     
    430407                log_info("btstack_network_process_packet(bnep_cid=%d)", bnep_cid);
    431408
    432         // 受信バッファがいっぱい
     409        // 受信バッファがいっぱい
    433410        if (btstack_network_input[btstack_network_input_spos] != NULL) {
    434411                sc->over_flow = true;
     
    443420         *   <----------------- len ---------------->
    444421         *              ^
    445          *              t_net_buf で 4 オクテット境界にアラインされている。
     422         *              t_net_buf で 4 オクテット境界にアラインされている。
    446423         *
    447          *  tcp_input と udp_input では、擬似ヘッダと SDU でチェックサムを
    448          *  計算するが、n が 4 オクテット境界になるように SDU の後ろに 0 を
    449          *  パッディングする。その分を考æ
    450 ®ã—て net_buf を獲得しなければならない。
     424         *  tcp_input と udp_input では、擬似ヘッダと SDU でチェックサムを
     425         *  計算するが、n が 4 オクテット境界になるように SDU の後ろに 0 を
     426         *  パッディングする。その分を考慮して net_buf を獲得しなければならない。
    451427         */
    452428        align = ((((size - sizeof(T_IF_HDR)) + 3) >> 2) << 2) + sizeof(T_IF_HDR);
     
    470446
    471447/*
    472  * btusb_read -- フレームの読み込み
     448 * btusb_read -- フレームの読み込み
    473449 */
    474450
     
    502478
    503479/*
    504  * btusb_start -- 送信フレームをバッファリングする。
     480 * btusb_start -- 送信フレームをバッファリングする。
    505481 */
    506482
     
    534510
    535511/*
    536  * btstack_network_packet_sent -- バッファした送信フレームの送信が完了する。
     512 * btstack_network_packet_sent -- バッファした送信フレームの送信が完了する。
    537513 */
    538514
  • azure_iot_hub/trunk/asp3_dcre/tinet/netdev/if_btusb/if_btusb.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    66 *  Copyright (C) 2014 Cores Co., Ltd. Japan
    77 *
    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 *      免責すること.
    4430 *
    45  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    46 ãŠ
    47  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    48  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    49  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    50  *  の責任を負わない.
     31 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     32 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     33 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     34 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     35 *  の責任を負わない.
    5136 *
    5237 *  @(#) $Id$
     
    5439
    5540/*
    56  *  if_btusb コンフィギュレーションファイル
     41 *  if_btusb コンフィギュレーションファイル
    5742 */
    5843
     
    6146INCLUDE("<netdev/if_btusb/if_btusb.h>");
    6247
    63 /* å
    64 ¥å‡ºåŠ›åŒæœŸç”¨ã‚»ãƒžãƒ•ã‚© */
     48/* 入出力同期用セマフォ */
    6549
    6650CRE_SEM(SEM_IF_BTUSB_SBUF_READY,        { TA_TPRI, NUM_IF_BTUSB_TXBUF, NUM_IF_BTUSB_TXBUF });
  • azure_iot_hub/trunk/asp3_dcre/tinet/netdev/if_btusb/if_btusb.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    66 *  Copyright (C) 2014 Cores Co., Ltd. Japan
    77 *
    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 *      免責すること.
    4430 *
    45  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    46 ãŠ
    47  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    48  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    49  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    50  *  の責任を負わない.
     31 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     32 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     33 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     34 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     35 *  の責任を負わない.
    5136 *
    5237 *  @(#) $Id$
     
    6651
    6752/*
    68  *  NIC の選択マクロ
     53 *  NIC の選択マクロ
    6954 */
    7055
     
    7964#define T_IF_ETHER_NIC_SOFTC            struct t_btusb_softc
    8065
    81 /* IPv6 関係 */
     66/* IPv6 関係 */
    8267
    83 #define IF_ETHER_NIC_IN6_IFID(i,a)      get_mac6_ifid(i,a)      /* インタフェース識別子の設定              */
    84 #define IF_ETHER_NIC_ADDMULTI(s)        btusb_addmulti(s)               /* マルチキャストアドレスの登録           */
     68#define IF_ETHER_NIC_IN6_IFID(i,a)      get_mac6_ifid(i,a)      /* インタフェース識別子の設定                */
     69#define IF_ETHER_NIC_ADDMULTI(s)        btusb_addmulti(s)               /* マルチキャストアドレスの登録               */
    8570
    8671#if !defined(TOPPERS_MACRO_ONLY) && !defined(_MACRO_ONLY)
    8772
    8873/*
    89  *  前方参ç
    90 §
     74 *  前方参照
    9175 */
    9276
     
    10892
    10993/*
    110  *  関数
     94 *  関数
    11195 */
    11296
  • azure_iot_hub/trunk/asp3_dcre/tinet/netdev/if_btusb/if_btusb_sym.def

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
  • azure_iot_hub/trunk/asp3_dcre/tinet/netdev/if_btusb/nic.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    66 *  Copyright (C) 2014 Cores Co., Ltd. Japan
    77 *
    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 *      免責すること.
    4430 *
    45  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    46 ãŠ
    47  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    48  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    49  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    50  *  の責任を負わない.
     31 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     32 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     33 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     34 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     35 *  の責任を負わない.
    5136 *
    5237 *  @(#) $Id$
  • azure_iot_hub/trunk/asp3_dcre/tinet/netdev/if_btusb/nic_asp.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    66 *  Copyright (C) 2014 Cores Co., Ltd. Japan
    77 *
    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 *      免責すること.
    4430 *
    45  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    46 ãŠ
    47  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    48  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    49  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    50  *  の責任を負わない.
     31 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     32 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     33 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     34 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     35 *  の責任を負わない.
    5136 *
    5237 *  @(#) $Id$
     
    5439
    5540/*
    56  *  if_btusb コンフィギュレーションファイル
     41 *  if_btusb コンフィギュレーションファイル
    5742 */
    5843
     
    6146#include "netdev/if_btusb/if_btusb.h"
    6247
    63 /* å
    64 ¥å‡ºåŠ›åŒæœŸç”¨ã‚»ãƒžãƒ•ã‚© */
     48/* 入出力同期用セマフォ */
    6549
    6650CRE_SEM(SEM_IF_BTUSB_SBUF_READY,        { TA_TPRI, NUM_IF_BTUSB_TXBUF, NUM_IF_BTUSB_TXBUF });
  • azure_iot_hub/trunk/asp3_dcre/tinet/netdev/if_btusb/nic_rename.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    66 *  Copyright (C) 2014 Cores Co., Ltd. Japan
    77 *
    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 *      免責すること.
    4430 *
    45  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    46 ãŠ
    47  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    48  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    49  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    50  *  の責任を負わない.
     31 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     32 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     33 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     34 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     35 *  の責任を負わない.
    5136 *
    5237 *  @(#) $Id$
     
    5742
    5843/*
    59  *  ネットワークインタフェースå†
    60 éƒ¨åã®ãƒªãƒãƒ¼ãƒ 
     44 *  ネットワークインタフェース内部名のリネーム
    6145 */
    6246
  • azure_iot_hub/trunk/asp3_dcre/tinet/netdev/if_btusb/tinet_nic_config.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    66 *  Copyright (C) 2014 Cores Co., Ltd. Japan
    77 *
    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 *      免責すること.
    4430 *
    45  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    46 ãŠ
    47  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    48  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    49  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    50  *  の責任を負わない.
     31 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     32 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     33 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     34 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     35 *  の責任を負わない.
    5136 *
    5237 *  @(#) $Id$
     
    5742
    5843/*
    59  *  ネットワークインタフェースのå†
    60 éƒ¨è­˜åˆ¥åã®ãƒªãƒãƒ¼ãƒ 
     44 *  ネットワークインタフェースの内部識別名のリネーム
    6145 */
    6246
  • azure_iot_hub/trunk/asp3_dcre/tinet/netdev/if_btusb/tinet_nic_defs.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    66 *  Copyright (C) 2014 Cores Co., Ltd. Japan
    77 *
    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 *      免責すること.
    4430 *
    45  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    46 ãŠ
    47  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    48  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    49  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    50  *  の責任を負わない.
     31 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     32 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     33 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     34 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     35 *  の責任を負わない.
    5136 *
    5237 *  @(#) $Id$
     
    5944
    6045/*
    61  *  T_ETHER_HDR で、アラインを調整する場合は、調整量を指定する。
    62  *  調整しない場合は、0 を指定する。
     46 *  T_ETHER_HDR で、アラインを調整する場合は、調整量を指定する。
     47 *  調整しない場合は、0 を指定する。
    6348 */
    6449#define IF_ETHER_NIC_HDR_ALIGN          0
  • azure_iot_hub/trunk/asp3_dcre/tinet/netdev/if_rx62n/Makefile.tinet

    • Property svn:mime-type changed from text/x-makefile to text/x-makefile;charset=UTF-8
    r388 r389  
    55#                    Tomakomai National College of Technology, JAPAN
    66
    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#       免責すること.
    4329
    44 #   æœ¬ã‚½ãƒ•ãƒˆã‚¦ã‚§ã‚¢ã¯ï¼Œç„¡ä¿è¨¼ã§æä¾›ã•ã‚Œã¦ã„るものである.上記著作権è€
    45 ãŠ
    46 #   ã‚ˆã³TOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    47 #   ã«å¯¾ã™ã‚‹é©åˆæ€§ã‚‚含めて,いかなる保証も行わない.また,本ソフトウェ
    48 #   ã‚¢ã®åˆ©ç”¨ã«ã‚ˆã‚Šç›´æŽ¥çš„または間接的に生じたいかなる損害に関しても,そ
    49 #   ã®è²¬ä»»ã‚’負わない.
     30#   本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     31#   よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     32#   に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     33#   アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     34#   の責任を負わない.
    5035
    5136#   @(#) $Id$
     
    5338
    5439#
    55 ã‚³ãƒ³ãƒ‘イルオプション
     40コンパイルオプション
    5641#
    5742INCLUDES        := $(INCLUDES) -I$(TINET_ROOT)/netdev/$(NET_DEV)
  • azure_iot_hub/trunk/asp3_dcre/tinet/netdev/if_rx62n/ether_phy.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    66 *  Copyright (C) 2014-2017 by Cores Co., Ltd. Japan
    77 *
    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 *      免責すること.
    4430 *
    45  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    46 ãŠ
    47  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    48  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    49  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    50  *  の責任を負わない.
     31 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     32 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     33 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     34 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     35 *  の責任を負わない.
    5136 *
    5237 *  @(#) $Id$
     
    10994        switch(state){
    11095        case PHY_STATE_UNINIT:
    111                 /* PHYのリセット */
     96                /* PHYのリセット */
    11297                phy_write_reg(phy_addr, PHY_CONTROL_REGISTER, PHY_CONTROL_RESET);
    11398
    114                 /* 500mså¾
    115 ã¤ */
     99                /* 500ms待つ */
    116100                dly_tsk(500 * 1000);
    117101                /* continue; */
    118102        case PHY_STATE_RESETING:
    119                 /* リセット完了の確認 */
     103                /* リセット完了の確認 */
    120104                if((phy_read_reg(phy_addr, PHY_CONTROL_REGISTER) & PHY_CONTROL_RESET) != 0)
    121105                        return PHY_STATE_RESETING;
     
    137121        switch(state){
    138122        case PHY_STATE_RESET:
    139                 /* オートネゴシエーションのお知らせを有効に設定 */
     123                /* オートネゴシエーションのお知らせを有効に設定 */
    140124                phy_write_reg(phy_addr, PHY_AN_ADVERTISEMENT_REGISTER,
    141125                        PHY_AN_AD_100BASE_T4 | PHY_AN_AD_100BASE_TX_FULL_DUPLEX | PHY_AN_AD_100BASE_TX_HALF_DUPLEX
    142126                        | PHY_AN_AD_10BASE_T_FULL_DUPLEX | PHY_AN_AD_10BASE_T_HALF_DUPLEX | PHY_AN_AD_SELECTOR_FIELD);
    143127
    144                 /* オートネゴシエーションを有効に設定 */
     128                /* オートネゴシエーションを有効に設定 */
    145129                phy_write_reg(phy_addr, PHY_CONTROL_REGISTER, PHY_CONTROL_SPEED_SELECT | PHY_CONTROL_A_N_ENABLE);
    146130                /* continue; */
     
    150134                if(reset < 2){
    151135#endif
    152                 /* リンク完了の確認 */
     136                /* リンク完了の確認 */
    153137                if(!phy_is_link(phy_addr))
    154138                        return PHY_STATE_LINKE_WAIT;
     
    163147                if(reset < 2){
    164148#endif
    165                 /* オートネゴシエーション完了の確認 */
     149                /* オートネゴシエーション完了の確認 */
    166150                if((phy_read_reg(phy_addr, PHY_STATUS_REGISTER) & PHY_STATUS_A_N_COMPLETE) == 0)
    167151                        return PHY_STATE_LINKED;
     
    186170{
    187171#if !defined(_MSC_VER) && !defined(__c2__)
    188         /* リンクの確認 */
     172        /* リンクの確認 */
    189173        return (phy_read_reg(phy_addr, PHY_STATUS_REGISTER) & PHY_STATUS_LINK_STATUS) != 0;
    190174#else
     
    198182        int i;
    199183
    200         /* PRE :32個の連続した1b */
     184        /* PRE :32個の連続した1b */
    201185        for (i = 0; i < 32; i++)
    202186                phy_write_bit(true);
    203187
    204         /* ST :フレームのå
    205 ˆé ­ã‚’示す01bのライト */
    206         phy_write_bit(false);
    207         phy_write_bit(true);
    208 
    209         /* OP :アクセス種別を示すコードのライト */
    210         phy_write_bit(true);
    211         phy_write_bit(false);
    212 
    213         /* PHYAD :PHY-LSIのアドレスが1番の場合、00001bをライト(MSB から順次ライト)。 */
     188        /* ST :フレームの先頭を示す01bのライト */
     189        phy_write_bit(false);
     190        phy_write_bit(true);
     191
     192        /* OP :アクセス種別を示すコードのライト */
     193        phy_write_bit(true);
     194        phy_write_bit(false);
     195
     196        /* PHYAD :PHY-LSIのアドレスが1番の場合、00001bをライト(MSB から順次ライト)。 */
    214197        phy_write_bit((phy_addr & 0x10) != 0);
    215198        phy_write_bit((phy_addr & 0x08) != 0);
     
    218201        phy_write_bit((phy_addr & 0x01) != 0);
    219202
    220         /* REGAD :レジスタアドレスが1番の場合、00001bをライト(MSBから順次ライト)。 */
     203        /* REGAD :レジスタアドレスが1番の場合、00001bをライト(MSBから順次ライト)。 */
    221204        phy_write_bit((reg_addr & 0x10) != 0);
    222205        phy_write_bit((reg_addr & 0x08) != 0);
     
    225208        phy_write_bit((reg_addr & 0x01) != 0);
    226209
    227         /* TA :MII/RMIIインタフェース上でデータの送信å
    228 ƒã‚’切り替える時間 */
    229         /* 「バス解放」(Z0と表記)を行う */
     210        /* TA :MII/RMIIインタフェース上でデータの送信元を切り替える時間 */
     211        /* 「バス解放」(Z0と表記)を行う */
    230212        phy_release_bus();
    231213
    232         /* DATA :16ビットのデータ。MSBから順次リード */
     214        /* DATA :16ビットのデータ。MSBから順次リード */
    233215        for (bit = 0x8000; bit != 0; bit >>= 1) {
    234216                if(phy_read_bit())
     
    236218        }
    237219
    238         /* IDLE :次のMII管理フォーマットå
    239 ¥åŠ›ã¾ã§ã®å¾
    240 æ©Ÿæ™‚é–“ */
    241         /* すでにTA時にバス解放済みであり制御不要 */
     220        /* IDLE :次のMII管理フォーマット入力までの待機時間 */
     221        /* すでにTA時にバス解放済みであり制御不要 */
    242222        phy_release_bus();
    243223
     
    250230        uint16_t bit;
    251231
    252         /* PRE :32個の連続した1b */
     232        /* PRE :32個の連続した1b */
    253233        for (i = 0; i < 32; i++)
    254234                phy_write_bit(true);
    255235
    256         /* ST :フレームのå
    257 ˆé ­ã‚’示す01bのライト */
    258         phy_write_bit(false);
    259         phy_write_bit(true);
    260 
    261         /* OP :アクセス種別を示すコードのライト */
    262         phy_write_bit(false);
    263         phy_write_bit(true);
    264 
    265         /* PHYAD :PHY-LSIのアドレスが1番の場合、00001bをライト(MSB から順次ライト)。 */
     236        /* ST :フレームの先頭を示す01bのライト */
     237        phy_write_bit(false);
     238        phy_write_bit(true);
     239
     240        /* OP :アクセス種別を示すコードのライト */
     241        phy_write_bit(false);
     242        phy_write_bit(true);
     243
     244        /* PHYAD :PHY-LSIのアドレスが1番の場合、00001bをライト(MSB から順次ライト)。 */
    266245        phy_write_bit((phy_addr & 0x10) != 0);
    267246        phy_write_bit((phy_addr & 0x08) != 0);
     
    270249        phy_write_bit((phy_addr & 0x01) != 0);
    271250
    272         /* REGAD :レジスタアドレスが1番の場合、00001bをライト(MSBから順次ライト)。 */
     251        /* REGAD :レジスタアドレスが1番の場合、00001bをライト(MSBから順次ライト)。 */
    273252        phy_write_bit((reg_addr & 0x10) != 0);
    274253        phy_write_bit((reg_addr & 0x08) != 0);
     
    277256        phy_write_bit((reg_addr & 0x01) != 0);
    278257
    279         /* TA :MII/RMIIインタフェース上でデータの送信å
    280 ƒã‚’切り替える時間 */
    281         /* 10bをライト */
    282         phy_write_bit(true);
    283         phy_write_bit(false);
    284 
    285         /* DATA :16ビットのデータ。MSBから順次ライト */
     258        /* TA :MII/RMIIインタフェース上でデータの送信元を切り替える時間 */
     259        /* 10bをライト */
     260        phy_write_bit(true);
     261        phy_write_bit(false);
     262
     263        /* DATA :16ビットのデータ。MSBから順次ライト */
    286264        for (bit = 0x8000; bit != 0; bit >>= 1) {
    287265                phy_write_bit((reg_data & bit) != 0);
    288266        }
    289267
    290         /* IDLE :次のMII管理フォーマットå
    291 ¥åŠ›ã¾ã§ã®å¾
    292 æ©Ÿæ™‚é–“ */
    293         /* 「単独バス解放」(Xと表記)を行う */
     268        /* IDLE :次のMII管理フォーマット入力までの待機時間 */
     269        /* 「単独バス解放」(Xと表記)を行う */
    294270        phy_single_rel_bus();
    295271}
     
    298274
    299275/*
    300  * 1 ビットデータのライト
     276 * 1 ビットデータのライト
    301277 */
    302278static void phy_write_bit(bool_t bit)
     
    305281        uint32_t data = bit ? ETHERC_PIR_MDO : 0;
    306282
    307         /* PHY部インタフェースレジスタへのライト */
     283        /* PHY部インタフェースレジスタへのライト */
    308284        sil_wrw_mem(ETHERC_PIR, data | ETHERC_PIR_MMD | 0/*ETHERC_PIR_MDC*/);
    309285
    310286        for(i = ETHERC_PIR_WAIT; i > 0; i--);
    311287
    312         /* PHY部インタフェースレジスタへのライト */
     288        /* PHY部インタフェースレジスタへのライト */
    313289        sil_wrw_mem(ETHERC_PIR, data | ETHERC_PIR_MMD | ETHERC_PIR_MDC);
    314290
    315291        for(i = 2 * ETHERC_PIR_WAIT; i > 0; i--);
    316292
    317         /* PHY部インタフェースレジスタへのライト */
     293        /* PHY部インタフェースレジスタへのライト */
    318294        sil_wrw_mem(ETHERC_PIR, data | ETHERC_PIR_MMD | 0/*ETHERC_PIR_MDC*/);
    319295
     
    322298
    323299/*
    324  * バス解放
     300 * バス解放
    325301 */
    326302static void phy_release_bus()
     
    328304        int i;
    329305
    330         /* PHY部インタフェースレジスタへのライト */
     306        /* PHY部インタフェースレジスタへのライト */
    331307        sil_wrw_mem(ETHERC_PIR, 0/*ETHERC_PIR_MMD*/ | 0/*ETHERC_PIR_MDC*/);
    332308
    333309        for(i = ETHERC_PIR_WAIT; i > 0; i--);
    334310
    335         /* PHY部インタフェースレジスタへのライト */
     311        /* PHY部インタフェースレジスタへのライト */
    336312        sil_wrw_mem(ETHERC_PIR, 0/*ETHERC_PIR_MMD*/ | ETHERC_PIR_MDC);
    337313
    338314        for(i = 2 * ETHERC_PIR_WAIT; i > 0; i--);
    339315
    340         /* PHY部インタフェースレジスタへのライト */
     316        /* PHY部インタフェースレジスタへのライト */
    341317        sil_wrw_mem(ETHERC_PIR, 0/*ETHERC_PIR_MMD*/ | 0/*ETHERC_PIR_MDC*/);
    342318
     
    345321
    346322/*
    347  * 1 ビットデータのリード
     323 * 1 ビットデータのリード
    348324 */
    349325static bool_t phy_read_bit()
     
    354330        for(i = ETHERC_PIR_WAIT; i > 0; i--);
    355331
    356         /* PHY部インタフェースレジスタへのライト */
     332        /* PHY部インタフェースレジスタへのライト */
    357333        sil_wrw_mem(ETHERC_PIR, 0/*ETHERC_PIR_MMD*/ | ETHERC_PIR_MDC);
    358334
    359335        for(i = ETHERC_PIR_WAIT; i > 0; i--);
    360336
    361         /* PHY部インタフェースレジスタへのライト */
     337        /* PHY部インタフェースレジスタへのライト */
    362338        bit = (sil_rew_mem(ETHERC_PIR) & ETHERC_PIR_MDI) != 0;
    363339
    364340        for(i = ETHERC_PIR_WAIT; i > 0; i--);
    365341
    366         /* PHY部インタフェースレジスタへのライト */
     342        /* PHY部インタフェースレジスタへのライト */
    367343        sil_wrw_mem(ETHERC_PIR, 0/*ETHERC_PIR_MMD*/ | 0/*ETHERC_PIR_MDC*/);
    368344
     
    373349
    374350/*
    375  * 単独バス解放
     351 * 単独バス解放
    376352 */
    377353static void phy_single_rel_bus()
     
    381357        for(i = ETHERC_PIR_WAIT; i > 0; i--);
    382358
    383         /* PHY部インタフェースレジスタへのライト */
     359        /* PHY部インタフェースレジスタへのライト */
    384360        sil_wrw_mem(ETHERC_PIR, ETHERC_PIR_MMD | ETHERC_PIR_MDC);
    385361
    386362        for(i = 2 * ETHERC_PIR_WAIT; i > 0; i--);
    387363
    388         /* PHY部インタフェースレジスタへのライト */
     364        /* PHY部インタフェースレジスタへのライト */
    389365        sil_wrw_mem(ETHERC_PIR, 0/*ETHERC_PIR_MMD*/ | 0/*ETHERC_PIR_MDC*/);
    390366
  • azure_iot_hub/trunk/asp3_dcre/tinet/netdev/if_rx62n/ether_phy.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    66 *  Copyright (C) 2014 Cores Co., Ltd. Japan
    77 *
    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 *      免責すること.
    4430 *
    45  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    46 ãŠ
    47  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    48  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    49  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    50  *  の責任を負わない.
     31 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     32 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     33 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     34 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     35 *  の責任を負わない.
    5136 *
    5237 *  @(#) $Id$
  • azure_iot_hub/trunk/asp3_dcre/tinet/netdev/if_rx62n/if_rx62n.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    66 *  Copyright (C) 2014-2017 by Cores Co., Ltd. Japan
    77 *
    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 *  の責任を負わない.
    5136 *
    5237 *  @(#) $Id$
     
    128113
    129114/*
    130  *  ネットワークインタフェースに依存するソフトウェアæƒ
    131 å ±
     115 *  ネットワークインタフェースに依存するソフトウェア情報
    132116 */
    133117
     
    142126
    143127/*
    144  *  ネットワークインタフェースのソフトウェアæƒ
    145 å ±
    146  */
    147 
    148 /* ネットワークインタフェースに依存するソフトウェアæƒ
    149 å ± */
     128 *  ネットワークインタフェースのソフトウェア情報
     129 */
     130
     131/* ネットワークインタフェースに依存するソフトウェア情報 */
    150132
    151133static T_RX62N_SOFTC rx62n_softc;
     
    167149#endif
    168150
    169 /* ネットワークインタフェースに依存しないソフトウェアæƒ
    170 å ± */
     151/* ネットワークインタフェースに依存しないソフトウェア情報 */
    171152
    172153T_IF_SOFTC if_softc = {
    173         {0,},                                           /* ネットワークインタフェースのアドレス       */
    174         0,                                                      /* 送信タイムアウト                     */
    175         &rx62n_softc,                           /* ディバイス依存のソフトウェアæƒ
    176 å ±     */
    177         SEM_IF_RX62N_SBUF_READY,        /* 送信セマフォ                   */
    178         SEM_IF_RX62N_RBUF_READY,        /* 受信セマフォ                   */
     154        {0,},                                           /* ネットワークインタフェースのアドレス   */
     155        0,                                                      /* 送信タイムアウト                     */
     156        &rx62n_softc,                           /* ディバイス依存のソフトウェア情報     */
     157        SEM_IF_RX62N_SBUF_READY,        /* 送信セマフォ                       */
     158        SEM_IF_RX62N_RBUF_READY,        /* 受信セマフォ                       */
    179159
    180160#ifdef SUPPORT_INET6
    181161
    182         IF_MADDR_INIT,                          /* マルチキャストアドレスリスト   */
     162        IF_MADDR_INIT,                          /* マルチキャストアドレスリスト       */
    183163
    184164#endif  /* of #ifdef SUPPORT_INET6 */
     
    186166
    187167/*
    188  *  局所変数
     168 *  局所変数
    189169 */
    190170
     
    199179
    200180/*
    201  *  ds_crc -- イーサネットアドレスの CRC を計算する。
     181 *  ds_crc -- イーサネットアドレスの CRC を計算する。
    202182 */
    203183
     
    227207
    228208/*
    229  *  ds_getmcaf -- マルチキャストアドレスのリストからマルチキャストアドレス
    230  *                フィルタを計算する。
     209 *  ds_getmcaf -- マルチキャストアドレスのリストからマルチキャストアドレス
     210 *                フィルタを計算する。
    231211 */
    232212
     
    246226
    247227/*
    248  * rx62n_setrcr -- 受信構成レジスタ (RCR) を設定する。
     228 * rx62n_setrcr -- 受信構成レジスタ (RCR) を設定する。
    249229 */
    250230
     
    256236
    257237/*
    258  * rx62n_addmulti -- マルチキャストアドレスを追加する。
     238 * rx62n_addmulti -- マルチキャストアドレスを追加する。
    259239 */
    260240
     
    269249
    270250/*
    271  *  rx62n_stop -- ネットワークインタフェースを停止する。
    272  *
    273  *    注意: NIC 割り込み禁止状æ
    274 ‹ã§å‘¼ã³å‡ºã™ã“と。
     251 *  rx62n_stop -- ネットワークインタフェースを停止する。
     252 *
     253 *    注意: NIC 割り込み禁止状態で呼び出すこと。
    275254 */
    276255
     
    278257rx62n_stop (T_RX62N_SOFTC *sc)
    279258{
    280         /* 動作モードクリア */
     259        /* 動作モードクリア */
    281260        sil_wrw_mem(ETHERC_ECMR, 0x00000000);
    282         /* リンク変化割り込み無効 */
     261        /* リンク変化割り込み無効 */
    283262        sil_wrw_mem(ETHERC_ECSIPR, 0x00000000);
    284263}
    285264
    286265/*
    287  *  rx62n_init_sub -- ネットワークインタフェースの初期化
    288  *
    289  *    注意: NIC 割り込み禁止状æ
    290 ‹ã§å‘¼ã³å‡ºã™ã“と。
     266 *  rx62n_init_sub -- ネットワークインタフェースの初期化
     267 *
     268 *    注意: NIC 割り込み禁止状態で呼び出すこと。
    291269 */
    292270
     
    298276        PHY_STATE_T state = PHY_STATE_UNINIT;
    299277
    300         /* MAC部ソフトウエア・リセット */
     278        /* MAC部ソフトウエア・リセット */
    301279        sil_wrw_mem(EDMAC_EDMR, sil_rew_mem(EDMAC_EDMR) | EDMAC_EDMR_SWR_BIT);
    302280
     
    309287                | (uint32_t)mac_addr[5]);
    310288
    311         /* PHYリセット */
     289        /* PHYリセット */
    312290        while ((state = phy_reset(state, 0)) != PHY_STATE_RESET);
    313291        sc->state = state;
     
    316294        sil_wrw_mem(ETHERC_ECSR, 0x00000037);
    317295
    318         /* リンク変化割り込み有効 */
     296        /* リンク変化割り込み有効 */
    319297        sil_wrw_mem(ETHERC_ECSIPR, sil_rew_mem(ETHERC_ECSIPR) | ETHERC_ECSIPR_LCHNGIP);
    320298
     
    322300        sil_wrw_mem(EDMAC_EESR, 0x47FF0F9F);
    323301
    324         /* 送受信割り込み有効 */
     302        /* 送受信割り込み有効 */
    325303        sil_wrw_mem(EDMAC_EESIPR, (EDMAC_EESIPR_TCIP | EDMAC_EESIPR_FRIP | EDMAC_EESIPR_RDEIP | EDMAC_EESIPR_FROFIP));
    326304
    327         /* 受信フレーム長上限(バッファサイズ) */
     305        /* 受信フレーム長上限(バッファサイズ) */
    328306        sil_wrw_mem(ETHERC_RFLR, IF_RX62N_BUF_PAGE_SIZE);
    329307
    330         /* 96ビット時間(初期値) */
     308        /* 96ビット時間(初期値) */
    331309        sil_wrw_mem(ETHERC_IPGR, 0x00000014);
    332310
     
    352330#if defined(TARGET_KERNEL_ASP)
    353331
    354         /* ターゲット依存部の割込み初期化 */
     332        /* ターゲット依存部の割込み初期化 */
    355333        rx62n_inter_init();
    356334
    357335#endif  /* of #if defined(TARGET_KERNEL_ASP) */
    358336
    359 #if defined(TARGET_KERNEL_JSP) && TKERNEL_PRVER >= 0x1042u      /* JSP-1.4.2 以降 */
    360 
    361         /* ターゲット依存部の割込み初期化 */
     337#if defined(TARGET_KERNEL_JSP) && TKERNEL_PRVER >= 0x1042u      /* JSP-1.4.2 以降 */
     338
     339        /* ターゲット依存部の割込み初期化 */
    362340        rx62n_inter_init();
    363341
     
    367345
    368346/*
    369  *  rx62n_set_ecmr -- ECMRレジスタの設定
     347 *  rx62n_set_ecmr -- ECMRレジスタの設定
    370348 */
    371349
     
    382360                ecmr |= ETHERC_ECMR_RTM;
    383361
    384         /* 動作モード設定 */
     362        /* 動作モード設定 */
    385363        sil_wrw_mem(ETHERC_ECMR, ecmr);
    386364}
    387365
    388366/*
    389  * rx62n_reset -- ネットワークインタフェースをリセットする。
     367 * rx62n_reset -- ネットワークインタフェースをリセットする。
    390368 */
    391369
     
    397375#endif
    398376
    399         /* NIC からの割り込みを禁止する。*/
     377        /* NIC からの割り込みを禁止する。*/
    400378#ifdef TARGET_KERNEL_JSP
    401379        ipm = rx62n_dis_inter();
     
    414392        }
    415393
    416         /* 送受信を有効 */
     394        /* 送受信を有効 */
    417395        rx62n_set_ecmr(ic, 1);
    418396
    419         /* NIC からの割り込みを許可する。*/
     397        /* NIC からの割り込みを許可する。*/
    420398#ifdef TARGET_KERNEL_JSP
    421399        rx62n_ena_inter(ipm);
     
    427405
    428406/*
    429  *  get_rx62n_softc -- ネットワークインタフェースのソフトウェアæƒ
    430 å ±ã‚’返す。
     407 *  get_rx62n_softc -- ネットワークインタフェースのソフトウェア情報を返す。
    431408 */
    432409
     
    438415
    439416/*
    440  * rx62n_watchdog -- ネットワークインタフェースのワッチドッグタイムアウト
     417 * rx62n_watchdog -- ネットワークインタフェースのワッチドッグタイムアウト
    441418 */
    442419
     
    448425
    449426/*
    450  * rx62n_probe -- ネットワークインタフェースの検出
     427 * rx62n_probe -- ネットワークインタフェースの検出
    451428 */
    452429
     
    457434#if defined(TARGET_KERNEL_ASP)
    458435
    459         /* ターゲット依存部のバスの初期化 */
     436        /* ターゲット依存部のバスの初期化 */
    460437        rx62n_bus_init();
    461438
    462439#endif  /* of #if defined(TARGET_KERNEL_ASP) */
    463 #if defined(TARGET_KERNEL_JSP) && TKERNEL_PRVER >= 0x1042u      /* JSP-1.4.2 以降 */
    464 
    465         /* ターゲット依存部のバスの初期化 */
     440#if defined(TARGET_KERNEL_JSP) && TKERNEL_PRVER >= 0x1042u      /* JSP-1.4.2 以降 */
     441
     442        /* ターゲット依存部のバスの初期化 */
    466443        rx62n_bus_init();
    467444
     
    472449
    473450/*
    474  * rx62n_init -- ネットワークインタフェースの初期化
     451 * rx62n_init -- ネットワークインタフェースの初期化
    475452 */
    476453
     
    486463        int i;
    487464
    488         /* NIC からの割り込みを禁止する。*/
     465        /* NIC からの割り込みを禁止する。*/
    489466#ifdef TARGET_KERNEL_JSP
    490467        ipm = rx62n_dis_inter();
     
    518495        rdsc->rdle = 1;
    519496
    520         /* rx62n_init 本体を呼び出す。*/
     497        /* rx62n_init 本体を呼び出す。*/
    521498        rx62n_init_sub(ic);
    522499
     
    525502        }
    526503
    527         /* 送受信を有効 */
     504        /* 送受信を有効 */
    528505        rx62n_set_ecmr(ic, 1);
    529506
    530         /* NIC からの割り込みを許可する。*/
     507        /* NIC からの割り込みを許可する。*/
    531508#ifdef TARGET_KERNEL_JSP
    532509        rx62n_ena_inter(ipm);
     
    541518
    542519/*
    543  * rx62n_link -- リンク状æ
    544 ‹ã®å¤‰åŒ–に対する処理
     520 * rx62n_link -- リンク状態の変化に対する処理
    545521 */
    546522bool_t
     
    557533        }
    558534
    559         /* PHYの初期化 */
     535        /* PHYの初期化 */
    560536        sc->state = phy_initialize(sc->state, phy_addr, &mode);
    561537        if(sc->state != PHY_STATE_NEGOTIATED){
     
    563539        }
    564540
    565         /* ECMRレジスタの設定 */
     541        /* ECMRレジスタの設定 */
    566542        rx62n_set_ecmr(ic, mode);
    567543        return true;
     
    569545
    570546/*
    571  * rx62n_read -- フレームの読み込み
     547 * rx62n_read -- フレームの読み込み
    572548 */
    573549
     
    587563        if (sc->link_pre != sc->link_now) {
    588564                sc->link_pre = sc->link_now;
    589                 /* リンク状æ
    590 ‹ã«å¤‰åŒ–あり */
     565                /* リンク状態に変化あり */
    591566                if (sc->link_now) {
    592567                        ether_set_link_up();
     
    615590         *   <----------------- len ---------------->
    616591         *              ^
    617          *              t_net_buf で 4 オクテット境界にアラインされている。
     592         *              t_net_buf で 4 オクテット境界にアラインされている。
    618593         *
    619          *  tcp_input と udp_input では、擬似ヘッダと SDU でチェックサムを
    620          *  計算するが、n が 4 オクテット境界になるように SDU の後ろに 0 を
    621          *  パッディングする。その分を考æ
    622 ®ã—て net_buf を獲得しなければならない。
     594         *  tcp_input と udp_input では、擬似ヘッダと SDU でチェックサムを
     595         *  計算するが、n が 4 オクテット境界になるように SDU の後ろに 0 を
     596         *  パッディングする。その分を考慮して net_buf を獲得しなければならない。
    623597         */
    624598        align = ((((len - sizeof(T_IF_HDR)) + 3) >> 2) << 2) + sizeof(T_IF_HDR);
     
    650624
    651625/*
    652  * rx62n_start -- 送信フレームをバッファリングする。
     626 * rx62n_start -- 送信フレームをバッファリングする。
    653627 */
    654628
     
    701675
    702676/*
    703  *  RX62N Ethernet Controler 送受信割り込みハンドラ
     677 *  RX62N Ethernet Controler 送受信割り込みハンドラ
    704678 */
    705679
     
    717691
    718692        if (ecsr & ETHERC_ECSR_LCHNG) {
    719                 /* ETHERC部割り込み要因クリア */
     693                /* ETHERC部割り込み要因クリア */
    720694                sil_wrw_mem(ETHERC_ECSR, ETHERC_ECSR_LCHNG);
    721695
    722                 /* 受信割り込み処理 */
     696                /* 受信割り込み処理 */
    723697                isig_sem(ic->semid_rxb_ready);
    724698        }
     
    727701
    728702        if (eesr & EDMAC_EESR_FR) {
    729                 /* DMA部割り込み要因クリア */
     703                /* DMA部割り込み要因クリア */
    730704                sil_wrw_mem(EDMAC_EESR, EDMAC_EESR_FR);
    731705
    732                 /* 受信割り込み処理 */
     706                /* 受信割り込み処理 */
    733707                isig_sem(ic->semid_rxb_ready);
    734708        }
    735709        if (eesr & EDMAC_EESR_TC) {
    736                 /* DMA部割り込み要因クリア */
     710                /* DMA部割り込み要因クリア */
    737711                sil_wrw_mem(EDMAC_EESR, EDMAC_EESR_TC);
    738712
    739                 /* 送信割り込み処理 */
     713                /* 送信割り込み処理 */
    740714                isig_sem(ic->semid_txb_ready);
    741715        }
    742716        if (eesr & (EDMAC_EESR_FROF | EDMAC_EESR_RDE)) {
    743                 /* DMA部割り込み要因クリア */
     717                /* DMA部割り込み要因クリア */
    744718                sil_wrw_mem(EDMAC_EESR, EDMAC_EESR_FROF | EDMAC_EESR_RDE);
    745719
    746720                sc->over_flow = true;
    747721
    748                 /* 受信割り込み処理 */
     722                /* 受信割り込み処理 */
    749723                isig_sem(ic->semid_rxb_ready);
    750724        }
     
    759733        sc = ic->sc;
    760734
    761         /* 受信割り込み処理 */
     735        /* 受信割り込み処理 */
    762736        isig_sem(ic->semid_rxb_ready);
    763737}
  • azure_iot_hub/trunk/asp3_dcre/tinet/netdev/if_rx62n/if_rx62n.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    66 *  Copyright (C) 2014 Cores Co., Ltd. Japan
    77 *
    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 *      免責すること.
    4430 *
    45  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    46 ãŠ
    47  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    48  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    49  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    50  *  の責任を負わない.
     31 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     32 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     33 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     34 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     35 *  の責任を負わない.
    5136 *
    5237 *  @(#) $Id$
     
    5439
    5540/*
    56  *  if_rx62n コンフィギュレーションファイル
     41 *  if_rx62n コンフィギュレーションファイル
    5742 */
    5843
     
    6146INCLUDE("<if_rx62nreg.h>");
    6247
    63 /* 割り込みハンドラ */
     48/* 割り込みハンドラ */
    6449
    6550DEF_INH(INHNO_IF_RX62N_TRX, { TA_HLNG, if_rx62n_trx_handler });
    6651
    67 /* å
    68 ¥å‡ºåŠ›åŒæœŸç”¨ã‚»ãƒžãƒ•ã‚© */
     52/* 入出力同期用セマフォ */
    6953
    7054CRE_SEM(SEM_IF_RX62N_SBUF_READY,        { TA_TPRI, NUM_IF_RX62N_TXBUF, NUM_IF_RX62N_TXBUF });
    7155CRE_SEM(SEM_IF_RX62N_RBUF_READY,        { TA_TPRI, 0,                  NUM_IF_RX62N_RXBUF });
    7256
    73 /* リンク確認用周期ハンドラ */
     57/* リンク確認用周期ハンドラ */
    7458
    7559CRE_CYC(CYC_IF_RX62N_LINK, { TA_NULL, 0, if_rx62n_cyclic_handler, 1000, 0 });
  • azure_iot_hub/trunk/asp3_dcre/tinet/netdev/if_rx62n/if_rx62n.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    66 *  Copyright (C) 2014 Cores Co., Ltd. Japan
    77 *
    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 *      免責すること.
    4430 *
    45  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    46 ãŠ
    47  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    48  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    49  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    50  *  の責任を負わない.
     31 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     32 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     33 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     34 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     35 *  の責任を負わない.
    5136 *
    5237 *  @(#) $Id$
     
    6651
    6752/*
    68  *  NIC の選択マクロ
     53 *  NIC の選択マクロ
    6954 */
    7055
     
    7964#define T_IF_ETHER_NIC_SOFTC            struct t_rx62n_softc
    8065
    81 /* IPv6 関係 */
     66/* IPv6 関係 */
    8267
    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)               /* マルチキャストアドレスの登録               */
    8570
    8671#if !defined(TOPPERS_MACRO_ONLY) && !defined(_MACRO_ONLY)
    8772
    8873/*
    89  *  前方参ç
    90 §
     74 *  前方参照
    9175 */
    9276
     
    10892
    10993/*
    110  *  関数
     94 *  関数
    11195 */
    11296
  • azure_iot_hub/trunk/asp3_dcre/tinet/netdev/if_rx62n/if_rx62n_sym.def

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
  • azure_iot_hub/trunk/asp3_dcre/tinet/netdev/if_rx62n/if_rx62nreg.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    66 *  Copyright (C) 2014-2015 Cores Co., Ltd. Japan
    77 *
    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 *      免責すること.
    4430 *
    45  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    46 ãŠ
    47  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    48  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    49  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    50  *  の責任を負わない.
     31 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     32 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     33 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     34 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     35 *  の責任を負わない.
    5136 *
    5237 *  @(#) $Id$
     
    5843#include "t_stddef.h"
    5944
    60 #define EDMAC_EDMR                      ((uint32_t *)0x000C0000)        /* EDMACモードレジスタ */
     45#define EDMAC_EDMR                      ((uint32_t *)0x000C0000)        /* EDMACモードレジスタ */
    6146#define EDMAC_EDMR_SWR_BIT      0x00000001
    6247#define EDMAC_EDMR_DE_BIT       0x00000040
    6348
    64 #define EDMAC_EDTRR                     ((uint32_t *)0x000C0008)        /* EDMAC送信要求レジスタ */
     49#define EDMAC_EDTRR                     ((uint32_t *)0x000C0008)        /* EDMAC送信要求レジスタ */
    6550#define EDMAC_EDTRR_TR          0x00000001
    6651
    67 #define EDMAC_EDRRR                     ((uint32_t *)0x000C0010)        /* EDMAC受信要求レジスタ */
     52#define EDMAC_EDRRR                     ((uint32_t *)0x000C0010)        /* EDMAC受信要求レジスタ */
    6853#define EDMAC_EDRRR_RR          0x00000001
    6954
    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)        /* 受信ディスクリプタリスト先頭アドレスレジスタ */
    7457
    75 #define EDMAC_EESR                      ((uint32_t *)0x000C0028)        /* ETHERC/EDMACステータスレジスタ */
     58#define EDMAC_EESR                      ((uint32_t *)0x000C0028)        /* ETHERC/EDMACステータスレジスタ */
    7659#define EDMAC_EESR_FROF         0x00010000
    7760#define EDMAC_EESR_RDE          0x00020000
     
    8063#define EDMAC_EESR_TWB          0x40000000
    8164
    82 #define EDMAC_EESIPR            ((uint32_t *)0x000C0030)        /* ETHERC/EDMACステータス割り込み許可レジスタ */
     65#define EDMAC_EESIPR            ((uint32_t *)0x000C0030)        /* ETHERC/EDMACステータス割り込み許可レジスタ */
    8366#define EDMAC_EESIPR_RMAFIP     0x00000080
    8467#define EDMAC_EESIPR_FROFIP     0x00010000
     
    8871#define EDMAC_EESIPR_TWBIP      0x40000000
    8972
    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)        /* 送信ディスクリプタフェッチアドレスレジスタ */
    10688
    107 #define ETHERC_ECMR                     ((uint32_t *)0x000C0100)        /* ETHERCモードレジスタ */
     89#define ETHERC_ECMR                     ((uint32_t *)0x000C0100)        /* ETHERCモードレジスタ */
    10890#define ETHERC_ECMR_PRM         0x00000001
    10991#define ETHERC_ECMR_DM          0x00000002
     
    11294#define ETHERC_ECMR_RE          0x00000040
    11395
    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ステータスレジスタ */
    11698#define ETHERC_ECSR_LCHNG       0x00000004
    117 #define ETHERC_ECSIPR           ((uint32_t *)0x000C0118)        /* ETHERC割り込み許可レジスタ */
     99#define ETHERC_ECSIPR           ((uint32_t *)0x000C0118)        /* ETHERC割り込み許可レジスタ */
    118100#define ETHERC_ECSIPR_LCHNGIP   0x00000004
    119 #define ETHERC_PIR                      ((uint32_t *)0x000C0120)        /* PHY部インタフェースレジスタ */
     101#define ETHERC_PIR                      ((uint32_t *)0x000C0120)        /* PHY部インタフェースレジスタ */
    120102#define ETHERC_PIR_MDC          0x00000001
    121103#define ETHERC_PIR_MMD          0x00000002
     
    123105#define ETHERC_PIR_MDI          0x00000008
    124106
    125 #define ETHERC_PSR                      ((uint32_t *)0x000C0128)        /* PHY部ステータスレジスタ */
     107#define ETHERC_PSR                      ((uint32_t *)0x000C0128)        /* PHY部ステータスレジスタ */
    126108#define ETHERC_PSR_LMON         0x00000001
    127109
    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)        /* マルチキャストアドレスフレーム受信カウンタレジスタ */
    150130
    151 /* 送信ディスクリプタ */
     131/* 送信ディスクリプタ */
    152132typedef struct t_rx62n_tx_desc {
    153133        uint32_t        tfs : 26;
     
    163143} T_RX62N_TX_DESC;
    164144
    165 /* 受信ディスクリプタ */
     145/* 受信ディスクリプタ */
    166146typedef struct t_rx62n_rx_desc {
    167147        uint32_t        rfs : 27;
  • azure_iot_hub/trunk/asp3_dcre/tinet/netdev/if_rx62n/nic.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    66 *  Copyright (C) 2014 Cores Co., Ltd. Japan
    77 *
    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 *      免責すること.
    4430 *
    45  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    46 ãŠ
    47  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    48  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    49  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    50  *  の責任を負わない.
     31 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     32 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     33 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     34 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     35 *  の責任を負わない.
    5136 *
    5237 *  @(#) $Id$
  • azure_iot_hub/trunk/asp3_dcre/tinet/netdev/if_rx62n/nic_asp.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    66 *  Copyright (C) 2014 Cores Co., Ltd. Japan
    77 *
    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 *      免責すること.
    4430 *
    45  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    46 ãŠ
    47  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    48  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    49  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    50  *  の責任を負わない.
     31 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     32 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     33 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     34 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     35 *  の責任を負わない.
    5136 *
    5237 *  @(#) $Id$
     
    5439
    5540/*
    56  *  if_rx62n コンフィギュレーションファイル
     41 *  if_rx62n コンフィギュレーションファイル
    5742 */
    5843
     
    6146#include "if_rx62nreg.h"
    6247
    63 /* 割り込みハンドラ */
     48/* 割り込みハンドラ */
    6449
    6550DEF_INH(INHNO_IF_RX62N_TRX, { TA_NULL, if_rx62n_trx_handler });
    6651CFG_INT(INTNO_IF_RX62N_TRX, { INTATR_IF_RX62N_TRX, INTPRI_IF_RX62N_TRX });
    6752
    68 /* å
    69 ¥å‡ºåŠ›åŒæœŸç”¨ã‚»ãƒžãƒ•ã‚© */
     53/* 入出力同期用セマフォ */
    7054
    7155CRE_SEM(SEM_IF_RX62N_SBUF_READY,        { TA_TPRI, NUM_IF_RX62N_TXBUF, NUM_IF_RX62N_TXBUF });
    7256CRE_SEM(SEM_IF_RX62N_RBUF_READY,        { TA_TPRI, 0,                  NUM_IF_RX62N_RXBUF });
    7357
    74 /* リンク確認用周期ハンドラ */
     58/* リンク確認用周期ハンドラ */
    7559
    7660CRE_CYC(CYC_IF_RX62N_LINK, { TA_NULL, { TNFY_HANDLER, 0, if_rx62n_cyclic_handler }, 1000000, 0 });
  • azure_iot_hub/trunk/asp3_dcre/tinet/netdev/if_rx62n/nic_rename.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    66 *  Copyright (C) 2014 Cores Co., Ltd. Japan
    77 *
    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 *      免責すること.
    4430 *
    45  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    46 ãŠ
    47  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    48  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    49  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    50  *  の責任を負わない.
     31 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     32 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     33 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     34 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     35 *  の責任を負わない.
    5136 *
    5237 *  @(#) $Id$
     
    5742
    5843/*
    59  *  ネットワークインタフェースå†
    60 éƒ¨åã®ãƒªãƒãƒ¼ãƒ 
     44 *  ネットワークインタフェース内部名のリネーム
    6145 */
    6246
  • azure_iot_hub/trunk/asp3_dcre/tinet/netdev/if_rx62n/tinet_nic_config.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    66 *  Copyright (C) 2014 Cores Co., Ltd. Japan
    77 *
    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 *      免責すること.
    4430 *
    45  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    46 ãŠ
    47  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    48  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    49  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    50  *  の責任を負わない.
     31 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     32 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     33 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     34 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     35 *  の責任を負わない.
    5136 *
    5237 *  @(#) $Id$
     
    5742
    5843/*
    59  *  ネットワークインタフェースのå†
    60 éƒ¨è­˜åˆ¥åã®ãƒªãƒãƒ¼ãƒ 
     44 *  ネットワークインタフェースの内部識別名のリネーム
    6145 */
    6246
  • azure_iot_hub/trunk/asp3_dcre/tinet/netdev/if_rx62n/tinet_nic_defs.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    66 *  Copyright (C) 2014 Cores Co., Ltd. Japan
    77 *
    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 *      免責すること.
    4430 *
    45  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    46 ãŠ
    47  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    48  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    49  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    50  *  の責任を負わない.
     31 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     32 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     33 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     34 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     35 *  の責任を負わない.
    5136 *
    5237 *  @(#) $Id$
     
    5944
    6045/*
    61  *  T_ETHER_HDR で、アラインを調整する場合は、調整量を指定する。
    62  *  調整しない場合は、0 を指定する。
     46 *  T_ETHER_HDR で、アラインを調整する場合は、調整量を指定する。
     47 *  調整しない場合は、0 を指定する。
    6348 */
    6449#define IF_ETHER_NIC_HDR_ALIGN          0
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/icmp6.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    115103
    116104/*
    117  *  ICMPv6 ヘッダ
     105 *  ICMPv6 ヘッダ
    118106 */
    119107
    120108typedef 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;            /* チェックサム               */
    124112        union {
    125113                uint32_t        data32;
     
    132120#define icmp6_data16                    data.data16
    133121#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]          /* エコー要求と応答     */
    138126
    139127#define ICMP6_HDR_SIZE                  (sizeof(T_ICMP6_HDR))
     
    147135
    148136/*
    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 の最大ペイロード長     */
    239208#define ICMPV6_PAYLOAD_MAXLEN           (IPV6_MMTU - (IP6_HDR_SIZE + ICMP6_HDR_SIZE))
    240209
    241210/*
    242  *  近隣要請
     211 *  近隣要請
    243212 */
    244213
     
    246215        T_ICMP6_HDR     hdr;
    247216        T_IN6_ADDR      target;
    248         /* この後にオプションが続く */
     217        /* この後にオプションが続く */
    249218        } T_NEIGHBOR_SOLICIT_HDR;
    250219
     
    264233
    265234/*
    266  *  近隣通知
     235 *  近隣通知
    267236 */
    268237
     
    270239        T_ICMP6_HDR     hdr;
    271240        T_IN6_ADDR      target;
    272         /* この後にオプションが続く */
     241        /* この後にオプションが続く */
    273242        } __attribute__((packed, aligned(2))) T_NEIGHBOR_ADVERT_HDR;
    274243
    275 /* ICMP6 ヘッダのデータ部の定義 */
     244/* ICMP6 ヘッダのデータ部の定義 */
    276245
    277246#define nd_na_flags_reserved            hdr.data.data32
     
    295264
    296265/*
    297  *  近隣通知フラグ、nd_na_flags_reserved (hdr.data32) に設定する。
     266 *  近隣通知フラグ、nd_na_flags_reserved (hdr.data32) に設定する。
    298267 */
    299268
    300269#if _NET_CFG_BYTE_ORDER == _NET_CFG_BIG_ENDIAN
    301270
    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)     /* ルータ通知                */
    305274
    306275#elif _NET_CFG_BYTE_ORDER == _NET_CFG_LITTLE_ENDIAN
    307276
    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)     /* ルータ通知                */
    311280
    312281#endif  /* #if _NET_CFG_BYTE_ORDER == _NET_CFG_BIG_ENDIAN */
    313282
    314283/*
    315  *  ルータ通知
     284 *  ルータ通知
    316285 *
    317286 *    RFC4291: IP Version 6 Addressing Architecture
     
    322291typedef struct t_router_advert_hdr {
    323292        T_ICMP6_HDR     hdr;
    324         uint32_t        reachable;              /* [us] 到達可能時間      */
    325         uint32_t        retransmit;             /* [us] 近隣要請送信間隔        */
    326         /* この後にオプションが続く */
     293        uint32_t        reachable;              /* [us] 到達可能時間  */
     294        uint32_t        retransmit;             /* [us] 近隣要請送信間隔        */
     295        /* この後にオプションが続く */
    327296        } __attribute__((packed, aligned(2))) T_ROUTER_ADVERT_HDR;
    328297
    329 /* ICMP6 ヘッダのデータ部の定義 */
     298/* ICMP6 ヘッダのデータ部の定義 */
    330299
    331300#define nd_ra_current_hoplimit          hdr.data.data8[0]
    332301#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] ルータ有効時間  */
    334303
    335304#define ROUTER_ADVERT_HDR_SIZE          (sizeof(T_ROUTER_ADVERT_HDR))
     
    349318
    350319/*
    351  *  ルータ通知ヘッダのフラグ
     320 *  ルータ通知ヘッダのフラグ
    352321 */
    353322
     
    357326
    358327/*
    359  *  M: RA以外の方法で自動的にアドレスを設定することを許可する。
    360  *  O: RA以外の方法で自動的にアドレス以外のæƒ
    361 å ±ã‚’設定することをを許可する。
     328 *  M: RA以外の方法で自動的にアドレスを設定することを許可する。
     329 *  O: RA以外の方法で自動的にアドレス以外の情報を設定することをを許可する。
    362330 *
    363331 *   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 *  ルータ要請
    374340 */
    375341
     
    378344        } __attribute__((packed, aligned(2))) T_ROUTER_SOLICIT_HDR;
    379345
    380 /* ICMP6 ヘッダのデータ部の定義 */
     346/* ICMP6 ヘッダのデータ部の定義 */
    381347
    382348#define nd_rs_reserved                  hdr.data.data32
     
    399365
    400366/*
    401  *  近隣探索オプション
    402  */
    403 
    404 /* 近隣探索ヘッダ */
     367 *  近隣探索オプション
     368 */
     369
     370/* 近隣探索ヘッダ */
    405371
    406372typedef struct t_neighbor_hdr {
     
    409375        } __attribute__((packed, aligned(2))) T_NEIGHBOR_HDR;
    410376
    411 /* 近隣探索オプションヘッダ */
     377/* 近隣探索オプションヘッダ */
    412378
    413379typedef struct t_nd_opt_hdr {
    414         uint8_t         type;                   /* オプションタイプ                     */
    415         uint8_t         len;                    /* オプション長、単位は 8 バイト   */
     380        uint8_t         type;                   /* オプションタイプ                     */
     381        uint8_t         len;                    /* オプション長、単位は 8 バイト     */
    416382        } __attribute__((packed, aligned(2))) T_ND_OPT_HDR;
    417383
    418384#define ND_OPT_HDR_SIZE                 (sizeof(T_ND_OPT_HDR))
    419385
    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)       /* リダイレクト・ヘッダ                           */
    426390#define ND_OPT_MTU                      UINT_C(5)       /* MTU                                          */
    427391
    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/* プレフィックスオプション */
    437398
    438399typedef 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] 推奨有効時間           */
    445406        uint32_t        reserved;
    446         T_IN6_ADDR      prefix;         /* プレフィックス                */
     407        T_IN6_ADDR      prefix;         /* プレフィックス              */
    447408        } __attribute__((packed, aligned(2))) T_ND_OPT_PREFIX_INFO;
    448409
    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 オプションヘッダ */
    453414
    454415typedef struct t_nd_opt_mtu_hdr {
    455         uint8_t         type;           /* オプションタイプ             */
    456         uint8_t         len;            /* オプション長、単位は 8 バイト*/
     416        uint8_t         type;           /* オプションタイプ             */
     417        uint8_t         len;            /* オプション長、単位は 8 バイト*/
    457418        uint16_t        reserved;
    458419        uint32_t        mtu;            /* MTU                          */
     
    460421
    461422/*
    462  *  向け直し
     423 *  向け直し
    463424 */
    464425
    465426typedef struct t_nd_redirect_hdr {
    466427        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        /* この後にオプションが続く */
    470431        } __attribute__((packed, aligned(2))) T_ND_REDIRECT_HDR;
    471432
     
    475436
    476437/*
    477  *  SNMP の 管理æƒ
    478 å ±ãƒ™ãƒ¼ã‚¹ (MIB)
     438 *  SNMP の 管理情報ベース (MIB)
    479439 */
    480440
     
    521481
    522482/*
    523  *  関数
     483 *  関数
    524484 */
    525485
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/icmp_var.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    8674
    8775/*
    88  *  SNMP の 管理æƒ
    89 å ±ãƒ™ãƒ¼ã‚¹ (MIB)
     76 *  SNMP の 管理情報ベース (MIB)
    9077 */
    9178
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/if_ether.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    122110
    123111/*
    124  *  ARP キャッシュエントリ
     112 *  ARP キャッシュエントリ
    125113 */
    126114
     
    128116
    129117/*
    130  *  関数
     118 *  関数
    131119 */
    132120
     
    135123
    136124/*
    137  *  in_arpinput -- TCP/IP 用 ARP のå
    138 ¥åŠ›é–¢æ•°
     125 *  in_arpinput -- TCP/IP 用 ARP の入力関数
    139126 */
    140127
     
    152139        et_arph = GET_ETHER_ARP_HDR(input);
    153140
    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         *    ・送信ホストの物理アドレスがブロードキャスト
    162148         */
    163149        if (memcmp(et_arph->shost, ifaddr->lladdr,        ETHER_ADDR_LEN) == 0 ||
     
    166152
    167153        /*
    168          *  送信ホストの IP アドレスが自分の場合は、重複しているので
    169          *  相手にも知らせる。
    170          *  ただし、自分と相手のアドレスが未定義(IPV4_ADDRANY)の時は何もしない。
     154         *  送信ホストの IP アドレスが自分の場合は、重複しているので
     155         *  相手にも知らせる。
     156         *  ただし、自分と相手のアドレスが未定義(IPV4_ADDRANY)の時は何もしない。
    171157         */
    172158        if ((saddr == ifp->in4_ifaddr.addr) && (saddr != IPV4_ADDRANY)) {
     
    197183
    198184        /*
    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         *      アドレスの解決は行わない。
    207190         */
    208191        if (taddr != ifp->in4_ifaddr.addr)
     
    210193
    211194        /*
    212          *  送信å
    213 ƒ IP アドレスが ARP キャッシュにあるか調べる。
    214          *  キャッシュになければ、新たにエントリを登録する。
     195         *  送信元 IP アドレスが ARP キャッシュにあるか調べる。
     196         *  キャッシュになければ、新たにエントリを登録する。
    215197         */
    216198        syscall(wai_sem(SEM_ARP_CACHE_LOCK));
     
    221203
    222204        /*
    223          *  送信がペンデングされているフレームがあれば送信する。
     205         *  送信がペンデングされているフレームがあれば送信する。
    224206         */
    225207        if (ent->hold) {
    226208
    227                 /* フレームの Ethernet ヘッダを設定する。*/
     209                /* フレームの Ethernet ヘッダを設定する。*/
    228210                memcpy(GET_ETHER_HDR(ent->hold)->dhost, ent->mac_addr, ETHER_ADDR_LEN);
    229211
     
    232214                syscall(sig_sem(SEM_ARP_CACHE_LOCK));
    233215
    234                 /* ペンディングされているフレームを送信する。*/
     216                /* ペンディングされているフレームを送信する。*/
    235217                IF_RAW_OUTPUT(pending, TMO_FEVR);
    236218
     
    243225        arph = GET_ARP_HDR(input);
    244226
    245         /* アドレス解決要求でなければ終了 */
     227        /* アドレス解決要求でなければ終了 */
    246228        if (ntohs(arph->opcode) != ARPOP_REQUEST)
    247229                goto buf_rel;
    248230
    249         /* Ethernet ARP ヘッダを設定する。*/
     231        /* Ethernet ARP ヘッダを設定する。*/
    250232        memcpy(et_arph->thost, et_arph->shost, ETHER_ADDR_LEN);
    251233        memcpy(et_arph->shost, ifaddr->lladdr, ETHER_ADDR_LEN);
     
    253235        ahtonl(et_arph->sproto, taddr);
    254236
    255         /* Ethernet ARP ヘッダを設定する。*/
     237        /* Ethernet ARP ヘッダを設定する。*/
    256238        arph->opcode = htons(ARPOP_REPLY);
    257239
    258         /* Ethernet ヘッダを設定する。*/
     240        /* Ethernet ヘッダを設定する。*/
    259241        eth = GET_ETHER_HDR(input);
    260242        memcpy(eth->dhost, eth->shost,     ETHER_ADDR_LEN);
    261243        memcpy(eth->shost, ifaddr->lladdr, ETHER_ADDR_LEN);
    262244
    263         /* ARP 応答を送信する。*/
     245        /* ARP 応答を送信する。*/
    264246        IF_RAW_OUTPUT(input, TMO_FEVR);
    265247        return;
     
    272254
    273255/*
    274  *  arp_timer -- ARP キャッシュの更新
     256 *  arp_timer -- ARP キャッシュの更新
    275257 */
    276258
     
    286268                        arp_cache[ix].expire -= ARP_TIMER_TMO;
    287269                        if (arp_cache[ix].expire == 0) {
    288                                 /* 送信がペンデングされているフレームがあれば捨てる。*/
     270                                /* 送信がペンデングされているフレームがあれば捨てる。*/
    289271                                if (arp_cache[ix].hold) {
    290272                                        NET_COUNT_IP4(net_count_ip4[NC_IP4_OUT_ERR_PACKETS], 1);
     
    301283
    302284/*
    303  *  arp_lookup -- ARP キャッシュの探索と登録
    304  *
    305  *    注意: SEM_ARP_CACHE_LOCK を獲得した状æ
    306 ‹ã§å‘¼å‡ºã™ã“と
     285 *  arp_lookup -- ARP キャッシュの探索と登録
     286 *
     287 *    注意: SEM_ARP_CACHE_LOCK を獲得した状態で呼出すこと
    307288 */
    308289
     
    318299                }
    319300
    320         /* create が真なら、新たなエントリを登録する。*/
     301        /* create が真なら、新たなエントリを登録する。*/
    321302        if (create) {
    322303
    323                 /* まず、空きがあれば、その空きを利用する。*/
     304                /* まず、空きがあれば、その空きを利用する。*/
    324305                for (ix = NUM_ARP_ENTRY; ix -- > 0; ) {
    325306                        if (arp_cache[ix].expire == 0) {
     
    330311
    331312                /*
    332                  *  空きがなければ、タイムアウトまで時間が最短の
    333                  *  エントリーを破棄して利用する。
     313                 *  空きがなければ、タイムアウトまで時間が最短の
     314                 *  エントリーを破棄して利用する。
    334315                 */
    335316                syslog(LOG_NOTICE, "[ARP] cache busy, size=%d", NUM_ARP_ENTRY);
     
    349330
    350331/*
    351  *  arp_request -- MAC アドレス解決要求
     332 *  arp_request -- MAC アドレス解決要求
    352333 */
    353334
     
    367348        if ((error = tget_net_buf(&arp_req, IF_ARP_ETHER_HDR_SIZE, TMO_ARP_GET_NET_BUF)) == E_OK) {
    368349
    369                 /* イーサネットヘッダを設定する。*/
     350                /* イーサネットヘッダを設定する。*/
    370351                eth     = GET_ETHER_HDR(arp_req);
    371352                memcpy(eth->dhost, ether_broad_cast_addr, ETHER_ADDR_LEN);
     
    373354                eth->type = htons(ETHER_TYPE_ARP);
    374355
    375                 /* ARP ヘッダを設定する。*/
     356                /* ARP ヘッダを設定する。*/
    376357                arph    = GET_ARP_HDR(arp_req);
    377358                arph->hrd_addr  = htons(ARPHRD_ETHER);
     
    381362                arph->opcode    = htons(ARPOP_REQUEST);
    382363
    383                 /* イーサネット ARP ヘッダを設定する。*/
     364                /* イーサネット ARP ヘッダを設定する。*/
    384365                et_arph = GET_ETHER_ARP_HDR(arp_req);
    385366                src     = IF_GET_IFNET()->in4_ifaddr.addr;
     
    389370                ahtonl(et_arph->tproto, dst);
    390371
    391                 /* 送信する。*/
     372                /* 送信する。*/
    392373                error = IF_RAW_OUTPUT(arp_req, TMO_ARP_OUTPUT);
    393374                }
     
    398379
    399380/*
    400  *  arp_get_cache -- ARP キャッシュを獲得する。
     381 *  arp_get_cache -- ARP キャッシュを獲得する。
    401382 */
    402383
     
    408389
    409390/*
    410  *  arp_input -- ARP のå
    411 ¥åŠ›é–¢æ•°
     391 *  arp_input -- ARP の入力関数
    412392 */
    413393
     
    420400        NET_COUNT_ARP(net_count_arp.in_packets, 1);
    421401
    422         /* ARP ヘッダの長さをチェックする。*/
     402        /* ARP ヘッダの長さをチェックする。*/
    423403        if (input->len < IF_ARP_HDR_SIZE)
    424404                goto buf_rel;
     
    427407
    428408        /*
    429          *  物理アドレスフォーマットが Ehternet 以外
    430          *  または、プロトコルが IP 以外はエラー。
     409         *  物理アドレスフォーマットが Ehternet 以外
     410         *  または、プロトコルが IP 以外はエラー。
    431411         */
    432412        if (ntohs(arph->hrd_addr) != ARPHRD_ETHER ||
     
    434414                goto buf_rel;
    435415
    436         /* ARP ヘッダ + Ether ARP ヘッダの長さをチェックする。*/
     416        /* ARP ヘッダ + Ether ARP ヘッダの長さをチェックする。*/
    437417        if (input->len < IF_ARP_ETHER_HDR_SIZE)
    438418                goto buf_rel;
     
    447427
    448428/*
    449  *  arp_resolve -- MAC アドレス解決
    450  *
    451  *    アドレス解決ができれば、戻り値は true を返し、できなければ
    452  *    送信をペンディングして、戻り値は false を返す。
     429 *  arp_resolve -- MAC アドレス解決
     430 *
     431 *    アドレス解決ができれば、戻り値は true を返し、できなければ
     432 *    送信をペンディングして、戻り値は false を返す。
    453433 */
    454434
     
    463443
    464444        /*
    465          *  次の場合は、イーサネットのブロードキャストアドレスを返す。
     445         *  次の場合は、イーサネットのブロードキャストアドレスを返す。
    466446         *
    467          *    ・å
    468 ¨ãƒ“ットが 1
    469          *    ・ホスト部のå
    470 ¨ãƒ“ットが 1 で、ネットワーク部がローカルアドレス
     447         *    ・全ビットが 1
     448         *    ・ホスト部の全ビットが 1 で、ネットワーク部がローカルアドレス
    471449         */
    472450        if (gw == IPV4_ADDR_BROADCAST ||
     
    476454                }
    477455
    478         /* 送信å
    479 ˆ GW の IP アドレスが ARP キャッシュにあるか調べる。*/
     456        /* 送信先 GW の IP アドレスが ARP キャッシュにあるか調べる。*/
    480457        syscall(wai_sem(SEM_ARP_CACHE_LOCK));
    481458        ent = arp_lookup(gw, true);
     
    486463                }
    487464        else {
    488                 /* 送信がペンデングされているフレームがあれば捨てる。*/
     465                /* 送信がペンデングされているフレームがあれば捨てる。*/
    489466                if (ent->hold) {
    490467                        NET_COUNT_IP4(net_count_ip4[NC_IP4_OUT_ERR_PACKETS], 1);
     
    493470
    494471                /*
    495                  *  送信をペンディングする。
    496                  *  IF でネットワークバッファを開放しないフラグが設定されているときは、
    497                  *  送信をペンディングしない。
     472                 *  送信をペンディングする。
     473                 *  IF でネットワークバッファを開放しないフラグが設定されているときは、
     474                 *  送信をペンディングしない。
    498475                 */
    499476                if ((output->flags & NB_FLG_NOREL_IFOUT) == 0)
     
    505482                syscall(sig_sem(SEM_ARP_CACHE_LOCK));
    506483
    507                 /* アドレス解決要求を送信する。*/
     484                /* アドレス解決要求を送信する。*/
    508485                arp_request(ifaddr, gw);
    509486                return false;
     
    512489
    513490/*
    514  *  arp_init -- ARP 初期化
     491 *  arp_init -- ARP 初期化
    515492 */
    516493
     
    523500#ifdef ETHER_CFG_MULTICAST
    524501/*
    525  *  ether_map_ipv4_multicast -- IPv4 マルチキャストアドレスからイーサネット・マルチキャストアドレスへの変換
     502 *  ether_map_ipv4_multicast -- IPv4 マルチキャストアドレスからイーサネット・マルチキャストアドレスへの変換
    526503 */
    527504
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/if_ether.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  Ethernet ARP コンフィギュレーションファイル
     35 *  Ethernet ARP コンフィギュレーションファイル
    4836 */
    4937
    5038#if defined(_IP4_CFG) && defined(SUPPORT_ETHER)
    5139
    52 /* ARP キャッシュ更新用セマフォ */
     40/* ARP キャッシュ更新用セマフォ */
    5341
    5442CRE_SEM(SEM_ARP_CACHE_LOCK, { TA_TPRI, 1, 1 });
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/if_ether.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    8876 *  Ethernet Address Resolution Protocol.
    8977 *
    90  *  RFC 826 参ç
    91 §
     78 *  RFC 826 参照
    9279 */
    9380
    9481typedef 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 アドレス         */
    9986        } __attribute__((packed, aligned(2)))T_ETHER_ARP_HDR;
    10087
     
    10592
    10693/*
    107  *  ARP キャッシュエントリ
     94 *  ARP キャッシュエントリ
    10895 */
    10996
    11097typedef 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 アドレス     */
    116102        } __attribute__((packed, aligned(2)))T_ARP_ENTRY;
    117103
    118104/*
    119  *  関数
     105 *  関数
    120106 */
    121107
     
    132118
    133119/*
    134  *  TINET 独自 API
     120 *  TINET 独自 API
    135121 */
    136122
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/in.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    8977
    9078/*
    91  *  TINET のバージョンæƒ
    92 å ±
     79 *  TINET のバージョン情報
    9380 */
    9481
    95 #define TINET_PRVER             UINT_C(0x1070)  /* TINET のバージョン番号 */
     82#define TINET_PRVER             UINT_C(0x1070)  /* TINET のバージョン番号 */
    9683
    9784/*
    98  *  インターネットシステムの定義、RFC790 参ç
    99 §
     85 *  インターネットシステムの定義、RFC790 参照
    10086 */
    10187
    10288/*
    103  *  プロトコル (RFC1700)
     89 *  プロトコル (RFC1700)
    10490 */
    10591
    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) オプション  */
    10894#define IPPROTO_ICMP            UINT_C(1)       /* ICMP                                 */
    10995#define IPPROTO_IGMP            UINT_C(2)       /* IGMP                                 */
     
    11197#define IPPROTO_UDP             UINT_C(17)      /* UDP                                  */
    11298#define IPPROTO_IPV6            UINT_C(41)      /* IPv6                                 */
    113 #define IPPROTO_ROUTING         UINT_C(43)      /* 経路制御オプション                  */
    114 #define IPPROTO_FRAGMENT        UINT_C(44)      /* 断片化オプション                     */
     99#define IPPROTO_ROUTING         UINT_C(43)      /* 経路制御オプション                    */
     100#define IPPROTO_FRAGMENT        UINT_C(44)      /* 断片化オプション                     */
    115101#define IPPROTO_RSVP            UINT_C(46)      /* RSVP                                 */
    116 #define IPPROTO_ESP             UINT_C(50)      /* IPv6 暗号化オプション                */
    117 #define IPPROTO_AH              UINT_C(51)      /* IPv6 認証オプション                   */
     102#define IPPROTO_ESP             UINT_C(50)      /* IPv6 暗号化オプション                */
     103#define IPPROTO_AH              UINT_C(51)      /* IPv6 認証オプション                 */
    118104#define IPPROTO_ICMPV6          UINT_C(58)      /* ICMPv6                               */
    119 #define IPPROTO_NONE            UINT_C(59)      /* IPv6 次ヘッダ無し                      */
    120 #define IPPROTO_DSTOPTS         UINT_C(60)      /* IPv6 終点オプション                   */
    121 #define IPPROTO_IPCOMP          UINT_C(108)     /* ペイロード圧縮                        */
    122 #define IPPROTO_DONE            UINT_C(257)     /* IPv6 で上位プロトコルå
    123 ¥åŠ›çµ‚了      */
     105#define IPPROTO_NONE            UINT_C(59)      /* IPv6 次ヘッダ無し                  */
     106#define IPPROTO_DSTOPTS         UINT_C(60)      /* IPv6 終点オプション                 */
     107#define IPPROTO_IPCOMP          UINT_C(108)     /* ペイロード圧縮                      */
     108#define IPPROTO_DONE            UINT_C(257)     /* IPv6 で上位プロトコル入力終了    */
    124109
    125110/*
    126  *  ポートの長さ
     111 *  ポートの長さ
    127112 */
    128113
     
    130115
    131116/*
    132  *  ポート番号の定義
     117 *  ポート番号の定義
    133118 */
    134119
    135 #define TCP_PORTANY                     UINT_C(0x0000)  /* ITRON TCP/IP 標準  */
    136 #define UDP_PORTANY                     UINT_C(0x0000)  /* ITRON TCP/IP 標準  */
     120#define TCP_PORTANY                     UINT_C(0x0000)  /* ITRON TCP/IP 標準      */
     121#define UDP_PORTANY                     UINT_C(0x0000)  /* ITRON TCP/IP 標準      */
    137122
    138 #define TCP_PORT_LAST_WELL_KNOWN        UINT_C(1023)    /* Well Known 終了番号      */
    139 #define TCP_PORT_FIRST_AUTO             UINT_C(1024)    /* 自動割り当て開始番号       */
    140 #define TCP_PORT_LAST_AUTO              UINT_C(4999)    /* 自動割り当て終了番号       */
     123#define TCP_PORT_LAST_WELL_KNOWN        UINT_C(1023)    /* Well Known 終了番号      */
     124#define TCP_PORT_FIRST_AUTO             UINT_C(1024)    /* 自動割り当て開始番号   */
     125#define TCP_PORT_LAST_AUTO              UINT_C(4999)    /* 自動割り当て終了番号   */
    141126
    142 #define UDP_PORT_LAST_WELL_KNOWN        UINT_C(1023)    /* Well Known 終了番号      */
    143 #define UDP_PORT_FIRST_AUTO             UINT_C(1024)    /* 自動割り当て開始番号       */
    144 #define UDP_PORT_LAST_AUTO              UINT_C(4999)    /* 自動割り当て終了番号       */
     127#define UDP_PORT_LAST_WELL_KNOWN        UINT_C(1023)    /* Well Known 終了番号      */
     128#define UDP_PORT_FIRST_AUTO             UINT_C(1024)    /* 自動割り当て開始番号   */
     129#define UDP_PORT_LAST_AUTO              UINT_C(4999)    /* 自動割り当て終了番号   */
    145130
    146131/*
    147  *  API IPプロトコルの指定
     132 *  API IPプロトコルの指定
    148133 */
    149134
     
    153138
    154139/*
    155  *  動的生成用 TCP/IPv6 通信端点
     140 *  動的生成用 TCP/IPv6 通信端点
    156141 */
    157142
     
    159144
    160145/*
    161  *  バイトオーダ関数の定義
     146 *  バイトオーダ関数の定義
    162147 *
    163  *    tinet/net/net.h でもバイトオーダの定義を行っているが、
    164  *    tinet/net/net.h をインクルードしない
    165  *    アプリケーションプログラム用に
    166  *    ターゲット依存しないバイトオーダ関数を定義する。
     148 *    tinet/net/net.h でもバイトオーダの定義を行っているが、
     149 *    tinet/net/net.h をインクルードしない
     150 *    アプリケーションプログラム用に
     151 *    ターゲット依存しないバイトオーダ関数を定義する。
    167152 */
    168153
    169154#if defined(_NET_CFG_BYTE_ORDER)
    170155
    171 /*  tinet/net/net.h をインクルードしている。*/
     156/*  tinet/net/net.h をインクルードしている。*/
    172157
    173158#else   /* of #if defined(_NET_CFG_BYTE_ORDER) */
     
    186171
    187172/*
    188  *  TINET 独自 API
     173 *  TINET 独自 API
    189174 */
    190175
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/in4.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    8472
    8573/*
    86  *  IPv4 アドレス
    87  */
    88 
    89 /* 前方参ç
    90 § */
     74 *  IPv4 アドレス
     75 */
     76
     77/* 前方参照 */
    9178
    9279#ifndef T_IN4_ADDR_DEFINED
     
    9986
    10087/*
    101  *  ITRON TCP/IPv4 アドレス/ポート番号の定義
     88 *  ITRON TCP/IPv4 アドレス/ポート番号の定義
    10289 */
    10390
    10491typedef struct t_ipv4ep {
    105         uint32_t        ipaddr;         /* IPv4 アドレス    */
    106         uint16_t        portno;         /* ポート番号              */
     92        uint32_t        ipaddr;         /* IPv4 アドレス    */
     93        uint16_t        portno;         /* ポート番号                */
    10794        } T_IPV4EP;
    10895
     
    11097
    11198/*
    112  *  アドレスの長さ
     99 *  アドレスの長さ
    113100 */
    114101
     
    116103
    117104/*
    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 標準      */
    122109#define IPV4_ADDRBROADCAST      ULONG_C(0xffffffff)
    123110
     
    158145
    159146/*
    160  *  関数シミュレーションマクロ
     147 *  関数シミュレーションマクロ
    161148 */
    162149
     
    167154
    168155/*
    169  *  動的生成用 TCP 通信端点
     156 *  動的生成用 TCP 通信端点
    170157 */
    171158
    172159typedef 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        /* 実装依存 */
    182168        } T_TCP_CCEP;
    183169
    184170/*
    185  *  動的生成用 TCP 受付口
     171 *  動的生成用 TCP 受付口
    186172 */
    187173
    188174typedef struct t_tcp_crep {
    189         /* 標準 */
    190         ATR             repatr;         /* 受付口属性              */
    191         T_IPV4EP        myaddr;         /* 自分のアドレス        */
    192         /* 実è£
    193 ä¾å­˜ */
     175        /* 標準 */
     176        ATR             repatr;         /* 受付口属性                */
     177        T_IPV4EP        myaddr;         /* 自分のアドレス      */
     178        /* 実装依存 */
    194179        } T_TCP_CREP;
    195180
    196181/*
    197  *  動的生成用 UDP 通信端点
     182 *  動的生成用 UDP 通信端点
    198183 */
    199184
    200185typedef 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        /* 実装依存 */
    207191        } T_UDP_CCEP;
    208192
    209193/*
    210  *  TINET 独自 API
     194 *  TINET 独自 API
    211195 */
    212196
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/in4_subr.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    125113
    126114/*
    127  *  in_rtinit -- ルーティング表を初期化する。
     115 *  in_rtinit -- ルーティング表を初期化する。
    128116 */
    129117
     
    141129
    142130/*
    143  *  in_rtnewentry -- 新しいエントリを獲得する。
     131 *  in_rtnewentry -- 新しいエントリを獲得する。
    144132 */
    145133
     
    151139        int_t           ix;
    152140
    153         /* 空きエントリを探す。*/
     141        /* 空きエントリを探す。*/
    154142        for (ix = NUM_IN4_STATIC_ROUTE_ENTRY; ix < NUM_IN4_ROUTE_ENTRY; ix ++) {
    155143                rt = &routing4_tbl[ix];
     
    160148                }
    161149
    162         /* expire の単位は [s]。*/
     150        /* expire の単位は [s]。*/
    163151        syscall(get_tim(&now));
    164152        now /= SYSTIM_HZ;
    165153
    166154        if (frt == NULL) {
    167                 /* 空きがなければ、有効時間がもっとも短いエントリを空きにする。*/
     155                /* 空きがなければ、有効時間がもっとも短いエントリを空きにする。*/
    168156                T_IN4_RTENTRY   *srt = NULL;
    169157                int_t           diff, sdiff = INT_MAX;
     
    174162                        diff = (int_t)(rt->expire - now);
    175163                        if (diff <= 0) {        /* rt->expire <= now */
    176                                 /* 既に、有効時間が過ぎている。*/
     164                                /* 既に、有効時間が過ぎている。*/
    177165                                frt = rt;
    178166                                break;
     
    195183
    196184/*
    197  *  in_rttimer -- ルーティング表の管理タイマー
     185 *  in_rttimer -- ルーティング表の管理タイマー
    198186 */
    199187
     
    204192        int_t   ix;
    205193
    206         /* expire の単位は [s]。*/
     194        /* expire の単位は [s]。*/
    207195        syscall(get_tim(&now));
    208196        now /= SYSTIM_HZ;
     
    219207
    220208/*
    221  *  in4_get_maxnum_ifaddr -- インタフェースに設定可能な最大アドレス数を返す。
     209 *  in4_get_maxnum_ifaddr -- インタフェースに設定可能な最大アドレス数を返す。
    222210 */
    223211
     
    229217
    230218/*
    231  *  in4_get_ifaddr -- インタフェースに設定されているアドレスを返す。
     219 *  in4_get_ifaddr -- インタフェースに設定されているアドレスを返す。
    232220 */
    233221
     
    241229
    242230/*
    243  *  in4_set_header -- IPv4 ヘッダを設定する。
     231 *  in4_set_header -- IPv4 ヘッダを設定する。
    244232 */
    245233
     
    251239        T_IFNET         *ifp = IF_GET_IFNET();
    252240
    253         /* IP ヘッダを設定する。*/
     241        /* IP ヘッダを設定する。*/
    254242        ip4h->vhl       = IP4_MAKE_VHL(IPV4_VERSION, IP4_HDR_SIZE >> 2);
    255243        ip4h->len       = htons(IP4_HDR_SIZE + len);
     
    259247        ip4h->id        = ip4h->flg_off = ip4h->sum = 0;
    260248
    261         /* IP アドレスを設定する。*/
     249        /* IP アドレスを設定する。*/
    262250        ip4h->dst       = htonl(*dstaddr);
    263251
     
    271259
    272260/*
    273  *  in4_get_datagram -- IPv4 データグラムを獲得し、ヘッダを設定する。
     261 *  in4_get_datagram -- IPv4 データグラムを獲得し、ヘッダを設定する。
    274262 */
    275263
     
    282270        uint_t  align;
    283271
    284         /* データ長を 4 オクテット境界に調整する。*/
     272        /* データ長を 4 オクテット境界に調整する。*/
    285273        align = (len + 3) >> 2 << 2;
    286274
    287         /* ネットワークバッファを獲得する。*/
     275        /* ネットワークバッファを獲得する。*/
    288276        if ((error = tget_net_buf_ex(nbuf, (uint_t)(IF_IP4_HDR_SIZE + align),
    289277                                           (uint_t)(IF_IP4_HDR_SIZE + maxlen), nbatr, tmout)) != E_OK)
     
    291279
    292280        /*
    293          *  より大きなサイズのネットワークバッファを獲得する場合のみ長さを調整する。
    294          *  より小さなサイズのネットワークバッファの獲得は、送信ウィンドバッファの
    295          *  省コピー機能で使用され、実際に送信するまで、データサイズは決定できない。
     281         *  より大きなサイズのネットワークバッファを獲得する場合のみ長さを調整する。
     282         *  より小さなサイズのネットワークバッファの獲得は、送信ウィンドバッファの
     283         *  省コピー機能で使用され、実際に送信するまで、データサイズは決定できない。
    296284         */
    297285        if ((nbatr & NBA_SEARCH_ASCENT) != 0)
    298286                (*nbuf)->len = (uint16_t)(IF_IP4_HDR_SIZE + len);
    299287
    300         /* IP ヘッダを設定する。*/
     288        /* IP ヘッダを設定する。*/
    301289        if ((error = in4_set_header(*nbuf, len, dstaddr, srcaddr, proto, ttl)) != E_OK) {
    302290                syscall(rel_net_buf(*nbuf));
     
    305293                }
    306294
    307         /* 4 オクテット境界までパディングで埋める。*/
     295        /* 4 オクテット境界までパディングで埋める。*/
    308296        if (align > len)
    309297                memset((GET_IP4_SDU(*nbuf) + len), 0, (size_t)(align - len));
     
    313301
    314302/*
    315  *  in4_cksum -- IPv4 のトランスポート層ヘッダのチェックサムを計算する。
    316  *
    317  *  注意: 戻り値はネットワークバイトオーダ
     303 *  in4_cksum -- IPv4 のトランスポート層ヘッダのチェックサムを計算する。
     304 *
     305 *  注意: 戻り値はネットワークバイトオーダ
    318306 */
    319307
     
    324312        uint_t          align;
    325313
    326         /* 4 オクテット境界のデータ長 */
     314        /* 4 オクテット境界のデータ長 */
    327315        align = (len + 3) >> 2 << 2;
    328316
    329         /* 4 オクテット境界までパディングで埋める。*/
     317        /* 4 オクテット境界までパディングで埋める。*/
    330318        if (align > len)
    331319                memset((uint8_t*)nbuf->buf + off + len, 0, (size_t)(align - len));
     
    340328
    341329/*
    342  *  in_cksum -- チェックサム計算関数、IPv4、ICMPv4 用
    343  *
    344  *  注意: data は 4 オクテット単位でパディングすること。
    345  *        data が 2 オクテット単位にアラインされていないと
    346  *        例外が発生する可能性がある。
    347  *        len  は 4 オクテット単位にアラインされていること。
    348  *
    349  *        戻り値はネットワークバイトオーダ
     330 *  in_cksum -- チェックサム計算関数、IPv4、ICMPv4 用
     331 *
     332 *  注意: data は 4 オクテット単位でパディングすること。
     333 *        data が 2 オクテット単位にアラインされていないと
     334 *        例外が発生する可能性がある。
     335 *        len  は 4 オクテット単位にアラインされていること。
     336 *
     337 *        戻り値はネットワークバイトオーダ
    350338 */
    351339
    352340uint16_t
    353 in_cksum (void *data, uint_t len /*オクテット単位*/)
     341in_cksum (void *data, uint_t len /*オクテット単位*/)
    354342{
    355343        uint16_t        sum;
     
    360348
    361349/*
    362  *  in4_is_dstaddr_accept -- 宛å
    363 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ã¨ã—て正しいかチェックする。
    364  *
    365  *    注意: dstaddr は、
    366  *          TINET-1.2 からネットワークバイトオーダ、
    367  *          TINET-1.1 までは、ホストバイトオーダ
     350 *  in4_is_dstaddr_accept -- 宛先アドレスとして正しいかチェックする。
     351 *
     352 *    注意: dstaddr は、
     353 *          TINET-1.2 からネットワークバイトオーダ、
     354 *          TINET-1.1 までは、ホストバイトオーダ
    368355 */
    369356
     
    378365
    379366/*
    380  *  inn4_is_dstaddr_accept -- 宛å
    381 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ã¨ã—て正しいかチェックする。
    382  *
    383  *    注意: dstaddr は、
    384  *          TINET-1.2 からネットワークバイトオーダ、
    385  *          TINET-1.1 までは、ホストバイトオーダ
     367 *  inn4_is_dstaddr_accept -- 宛先アドレスとして正しいかチェックする。
     368 *
     369 *    注意: dstaddr は、
     370 *          TINET-1.2 からネットワークバイトオーダ、
     371 *          TINET-1.1 までは、ホストバイトオーダ
    386372 */
    387373
     
    399385
    400386/*
    401  * in4_addrwithifp -- 宛å
    402 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ã«ãµã•ã‚ã—い送信å
    403 ƒã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’、
    404  *                   ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã‹ã‚‰æŽ¢ç´¢ã™ã‚‹ã€‚
    405  *                   in6_addrwithifp をシミュレートするだけで、
    406  *                   ã‚¨ãƒ©ãƒ¼ã‚’返すことはない。
     387 * in4_addrwithifp -- 宛先アドレスにふさわしい送信元アドレスを、
     388 *                   ネットワークインタフェースから探索する。
     389 *                   in6_addrwithifp をシミュレートするだけで、
     390 *                   エラーを返すことはない。
    407391 */
    408392
     
    415399
    416400/*
    417  *  in4_add_ifaddr -- インタフェースに IPv4 アドレスを設定する。
     401 *  in4_add_ifaddr -- インタフェースに IPv4 アドレスを設定する。
    418402 */
    419403
     
    431415
    432416/*
    433  *  in4_add_route -- 経路表にエントリを設定する。
     417 *  in4_add_route -- 経路表にエントリを設定する。
    434418 */
    435419
     
    451435
    452436/*
    453  *  in4_rtalloc -- ルーティング表を探索する。
     437 *  in4_rtalloc -- ルーティング表を探索する。
    454438 */
    455439
     
    477461
    478462/*
    479  *  in4_rtredirect -- ルーティング表にエントリを登録する。
    480  *
    481  *    注意: 引数 tmo の単位は [ms]。
     463 *  in4_rtredirect -- ルーティング表にエントリを登録する。
     464 *
     465 *    注意: 引数 tmo の単位は [ms]。
    482466 */
    483467
     
    496480
    497481/*
    498  *  in4_timer -- IPv4 å
    499 ±é€šã‚¿ã‚¤ãƒžãƒ¼
    500  *
    501  *    1秒周期で起動される。
     482 *  in4_timer -- IPv4 共通タイマー
     483 *
     484 *    1秒周期で起動される。
    502485 */
    503486
     
    521504
    522505/*
    523  *  in4_init -- IPv4 å
    524 ±é€šæ©Ÿèƒ½ã‚’初期化する。
     506 *  in4_init -- IPv4 共通機能を初期化する。
    525507 */
    526508
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/in4_var.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    8674
    8775/*
    88  *  インタフェースアドレス構造体
     76 *  インタフェースアドレス構造体
    8977 */
    9078
    9179typedef 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;           /* サブネットマスク     */
    9482        } T_IN4_IFADDR;
    9583
    9684/*
    97  *  ルーティング表エントリ構造体
     85 *  ルーティング表エントリ構造体
    9886 */
    9987
    10088typedef 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;          /* フラグ                                  */
    10694        } T_IN4_RTENTRY;
    10795/*
    108  *  TINET 1.1 との互換性のための定義
    109  *
    110  *  TINET 1.5 との互換性のために定義を無効にした。
     96 *  TINET 1.1 との互換性のための定義
     97 *
     98 *  TINET 1.5 との互換性のために定義を無効にした。
    11199 */
    112100
     
    123111
    124112/*
    125  *  ルーティング表
     113 *  ルーティング表
    126114 */
    127115
     
    133121
    134122/*
    135  *  前方参ç
    136 §
     123 *  前方参照
    137124 */
    138125
     
    148135
    149136/*
    150  *  関数シミュレーションマクロ
     137 *  関数シミュレーションマクロ
    151138 */
    152139
     
    154141
    155142/*
    156  *  関数
     143 *  関数
    157144 */
    158145
     
    171158
    172159/*
    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 までは、ホストバイトオーダ
    179165 */
    180166extern bool_t in4_is_dstaddr_accept (T_IN4_ADDR *myaddr, T_IN4_ADDR *dstaddr);
     
    182168
    183169/*
    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 */
     177extern 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 */
     187extern 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 オクテット単位にアラインされていること。
    210196 */
    211197extern uint32_t in_cksum_carry (uint32_t sum);
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/in_itron.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4836
    4937/*
    50  *  API 機能・事象コード
     38 *  API 機能・事象コード
    5139 */
    5240
    53 /* TCP 関係 */
     41/* TCP 関係 */
    5442
    5543#define TFN_TCP_CRE_REP         (-0x201)
     
    7664#define TEV_TCP_RCV_OOB         (0x201)
    7765
    78 /* UDP 関係 */
     66/* UDP 関係 */
    7967
    8068#define TFN_UDP_CRE_CEP         (-0x221)
     
    8977#define TEV_UDP_RCV_DAT         (0x221)
    9078
    91 /* 一般 */
     79/* 一般 */
    9280
    93 #define NADR                    ((void*)(-1))   /* 無効アドレス */
     81#define NADR                    ((void*)(-1))   /* 無効アドレス */
    9482#define IS_PTR_DEFINED(a)       ((void*)(a)!=NADR&&(void*)(a)!=NULL)
    9583#define TCP_REP_NONE            UINT_C(0)
     
    9886
    9987/*
    100  *  関数
     88 *  関数
    10189 */
    10290
    103 /* TCP 関係 */
     91/* TCP 関係 */
    10492
    105 /* 【標準機能】 */
     93/* 【標準機能】 */
    10694
    10795extern ER       tcp_acp_cep (ID cepid, ID repid, T_IPV4EP *p_dstaddr, TMO tmout);
     
    120108extern ER       tcp6_con_cep (ID cepid, T_IPV6EP *p_myaddr, T_IPV6EP *p_dstaddr, TMO tmout);
    121109
    122 /* 【拡張機能】 */
     110/* 【拡張機能】 */
    123111
    124112extern ER       tcp_del_rep (ID cepid);
     
    133121extern ER       tcp6_cre_rep (ID repid, T_TCP6_CREP *pk_crep);
    134122
    135 /* UDP 関係 */
     123/* UDP 関係 */
    136124
    137 /* 【標準機能】 */
     125/* 【標準機能】 */
    138126
    139127extern ER_UINT  udp_snd_dat (ID cepid, T_IPV4EP *p_dstaddr, void *data, int_t len, TMO tmout);
     
    145133extern ER       udp6_can_cep(ID cepid, FN fncd);
    146134
    147 /* 【拡張機能】 */
     135/* 【拡張機能】 */
    148136
    149137extern ER       udp_del_cep (ID cepid);
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/in_rename.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4836
    4937/*
    50  *  TCP/IP プロトコルスタックå†
    51 éƒ¨åã®ãƒªãƒãƒ¼ãƒ 
     38 *  TCP/IP プロトコルスタック内部名のリネーム
    5239 */
    5340
     
    158145#define tmax_tcp_repid          _tinet_tmax_tcp_repid
    159146#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 との互換性のための定義 */
    162149
    163150/* netinet/udp_input.c */
     
    195182#define udp4_cep                _tinet_udp4_cep
    196183#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 との互換性のための定義 */
    198185
    199186/* netinet/ip_icmp.c */
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/in_subr.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    117105
    118106/*
    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 *        戻り値はホストバイトオーダ
    127115 */
    128116
    129117uint32_t
    130 in_cksum_sum (void *data, uint_t len /*オクテット単位*/)
     118in_cksum_sum (void *data, uint_t len /*オクテット単位*/)
    131119{
    132120        uint32_t sum = 0;
     
    146134
    147135/*
    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 オクテット単位にアラインされていること。
    154142 */
    155143
     
    168156
    169157/*
    170  *  in_strtfn -- API 機能コードの文字表現を返す。
     158 *  in_strtfn -- API 機能コードの文字表現を返す。
    171159 */
    172160
    173161typedef struct t_strtfn {
    174         FN              fncd;   /* API 機能コード  */
    175         const char      *str;   /* 文字表現         */
     162        FN              fncd;   /* API 機能コード    */
     163        const char      *str;   /* 文字表現         */
    176164        } T_STRTFN;
    177165
     
    222210
    223211/*
    224  *  ipv42str -- IPv4 アドレスを文字列に変換する。
     212 *  ipv42str -- IPv4 アドレスを文字列に変換する。
    225213 */
    226214
     
    256244
    257245/*
    258  *  in6_is_addr_ipv4mapped -- IPv4 射影アドレスである事を検査する。
     246 *  in6_is_addr_ipv4mapped -- IPv4 射影アドレスである事を検査する。
    259247 */
    260248
     
    268256
    269257/*
    270  *  ip_exchg_addr -- IP アドレスを交換する。
     258 *  ip_exchg_addr -- IP アドレスを交換する。
    271259 */
    272260
     
    279267        iph  = GET_IP6_HDR(nbuf);
    280268
    281         /* IPv6 アドレスを交換する。*/
     269        /* IPv6 アドレスを交換する。*/
    282270        ipaddr = iph->src;
    283271        iph->src = iph->dst;
     
    293281        iph  = GET_IP4_HDR(nbuf);
    294282
    295         /* IPv4 アドレスを交換する。*/
     283        /* IPv4 アドレスを交換する。*/
    296284        ipaddr = iph->src;
    297285        iph->src = iph->dst;
     
    311299
    312300/*
    313  *  ip_exchg_addr -- IP アドレスを交換する。
     301 *  ip_exchg_addr -- IP アドレスを交換する。
    314302 */
    315303
     
    322310        iph  = GET_IP_HDR(nbuf);
    323311
    324         /* IP アドレスを交換する。*/
     312        /* IP アドレスを交換する。*/
    325313        ipaddr = iph->src;
    326314        iph->src = iph->dst;
     
    333321
    334322/*
    335  *  inn_is_dstaddr_accept -- 宛å
    336 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ã¨ã—て正しいかチェックする。
     323 *  inn_is_dstaddr_accept -- 宛先アドレスとして正しいかチェックする。
    337324 */
    338325
     
    357344
    358345/*
    359  *  inn_are_net_srcaddr_equal -- アドレスが同一かチェックする。
     346 *  inn_are_net_srcaddr_equal -- アドレスが同一かチェックする。
    360347 */
    361348
     
    375362
    376363/*
    377  *  inn_copy_to_host -- IP ヘッダからホスト表現変換して、IP アドレスをコピーする。
     364 *  inn_copy_to_host -- IP ヘッダからホスト表現変換して、IP アドレスをコピーする。
    378365 */
    379366
     
    389376
    390377/*
    391  *  inn_get_datagram -- IPv6/IPv4 データグラムを獲得し、ヘッダを設定する。
     378 *  inn_get_datagram -- IPv6/IPv4 データグラムを獲得し、ヘッダを設定する。
    392379 */
    393380
     
    413400
    414401/*
    415  * inn_addrwithifp -- 宛å
    416 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ã«ãµã•ã‚ã—い送信å
    417 ƒã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’、
    418  *                   ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã‹ã‚‰æŽ¢ç´¢ã™ã‚‹ã€‚
     402 * inn_addrwithifp -- 宛先アドレスにふさわしい送信元アドレスを、
     403 *                   ネットワークインタフェースから探索する。
    419404 */
    420405
     
    435420
    436421/*
    437  *  inn_is_addr_multicast -- アドレスがマルチキャストアドレスかチェックする。
     422 *  inn_is_addr_multicast -- アドレスがマルチキャストアドレスかチェックする。
    438423 */
    439424
     
    451436
    452437/*
    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 *    ターゲット依存しないバイトオーダ関数を定義する。
    459444 */
    460445
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/in_var.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    8775
    8876/*
    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 *  共通タイマの起動周期の定義
    11096 */
    11197
     
    11399
    114100/*
    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 をコンパイル時に選択するためのマクロ
    124109 */
    125110
     
    207192
    208193/*
    209  *  関数
     194 *  関数
    210195 */
    211196extern bool_t   inn_is_dstaddr_accept (T_IN6_ADDR *myaddr, T_NET_BUF *nbuf);
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/ip.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  IPv4 で使用するカーネルオブジェクト
     35 *  IPv4 で使用するカーネルオブジェクト
    4836 */
    4937
     
    5240#ifdef IP4_CFG_FRAGMENT
    5341
    54 /* データグラムの分割・再構成 */
     42/* データグラムの分割・再構成 */
    5543
    5644CRE_SEM(SEM_IP4_FRAG_QUEUE, { TA_TPRI, 1, 1 });
     
    6048#if NUM_IN4_REDIRECT_ROUTE_ENTRY > 0
    6149
    62 /* ルーティング表(向け直し)*/
     50/* ルーティング表(向け直し)*/
    6351
    6452CRE_SEM(SEM_IN4_ROUTING_TBL, { TA_TPRI, 1, 1 });
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/ip.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    8674
    8775/*
    88  *  IPv4 の定義、RFC791 参ç
    89 §
     76 *  IPv4 の定義、RFC791 参照
    9077 */
    9178
     
    9380
    9481/*
    95  *  IPv4 ヘッダの定義
     82 *  IPv4 ヘッダの定義
    9683 */
    9784
    9885typedef struct t_ip4_hdr {
    9986        uint8_t         vhl;            /* version << 4 | header length >> 2    */
    100                                         /* length は 4 octets 単位           */
     87                                        /* length は 4 octets 単位         */
    10188        uint8_t         type;           /* type of services                     */
    10289        uint16_t        len;            /* total length                         */
     
    116103
    117104/*
    118  *  IPv4 ヘッダ構造体メンバアクセスマクロ
     105 *  IPv4 ヘッダ構造体メンバアクセスマクロ
    119106 */
    120107
     
    128115
    129116/*
    130  *  IPv4 ヘッダのフィールドの値の定義
     117 *  IPv4 ヘッダのフィールドの値の定義
    131118 */
    132119
    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)  /* オフセット部のマスク値          */
    138125
    139126/*
    140  *  制限値
     127 *  制限値
    141128 */
    142129
    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)     /* 最大セグメントサイズの規定値       */
    148135
    149 /* IPv4 と IPv6 をコンパイル時に選択するためのマクロ */
     136/* IPv4 と IPv6 をコンパイル時に選択するためのマクロ */
    150137
    151138#if !defined(_IP6_CFG) && defined(_IP4_CFG)
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/ip4_var.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    8472
    8573/*
    86  *  IPv4 ヘッダ・ペイロードアクセスマクロ
     74 *  IPv4 ヘッダ・ペイロードアクセスマクロ
    8775 */
    8876
     
    9987
    10088/*
    101  *  IP の MSS サイズのネットワークバッファ
     89 *  IP の MSS サイズのネットワークバッファ
    10290 */
    10391
    10492typedef 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;  /* フラグ          */
    10896#ifdef IF_ETHER_NIC_NET_BUF_ALIGN
    10997        uint8_t         nalign[IF_ETHER_NIC_NET_BUF_ALIGN];
     
    113101#endif
    114102        uint8_t         buf[IF_HDR_SIZE + IP4_MSS];
    115                                 /* バッファ本体           */
     103                                /* バッファ本体               */
    116104        } T_NET_BUF_IP_MSS;
    117105
    118106/*
    119  *  65536 オクテットサイズのネットワークバッファ
     107 *  65536 オクテットサイズのネットワークバッファ
    120108 */
    121109
    122110typedef 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;  /* フラグ          */
    126114#ifdef IF_ETHER_NIC_NET_BUF_ALIGN
    127115        uint8_t         nalign[IF_ETHER_NIC_NET_BUF_ALIGN];
     
    131119#endif
    132120        uint8_t         buf[IF_IP4_HDR_SIZE + 65536];
    133                                 /* バッファ本体           */
     121                                /* バッファ本体               */
    134122#if defined(IF_PDU_HDR_PADDING)
    135123        uint8_t         padding[IF_PDU_HDR_PADDING];
    136 #endif                          /* ヘッダの余分           */
     124#endif                          /* ヘッダの余分               */
    137125        } T_NET_BUF4_65536;
    138126
     
    140128
    141129/*
    142  *  再構成キュー用 IPv4 ヘッダの定義
     130 *  再構成キュー用 IPv4 ヘッダの定義
    143131 */
    144132
    145133typedef struct t_qip4_hdr {
    146134        uint8_t         vhl;            /* version << 4 | header length >> 2    */
    147                                         /* length は 4 octets 単位           */
     135                                        /* length は 4 octets 単位         */
    148136        uint8_t         type;           /* type of services                     */
    149137        uint16_t        len;            /* total length                         */
     
    158146        uint32_t        src;            /* source address                       */
    159147
    160         T_NET_BUF       *next;          /* 次の IPv4 フラグメント                       */
     148        T_NET_BUF       *next;          /* 次の IPv4 フラグメント                       */
    161149        } __attribute__((packed, aligned(2))) T_QIP4_HDR;
    162150
     
    171159
    172160/*
    173  *  データグラム再構成用ネットワークバッファ
     161 *  データグラム再構成用ネットワークバッファ
    174162 */
    175163
    176164typedef 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;  /* フラグ          */
    180168#ifdef IF_ETHER_NIC_NET_BUF_ALIGN
    181169        uint8_t         nalign[IF_ETHER_NIC_NET_BUF_ALIGN];
     
    185173#endif
    186174        uint8_t         buf[IP4_CFG_FRAG_REASSM_SIZE];
    187                                 /* バッファ本体           */
     175                                /* バッファ本体               */
    188176        } __attribute__((packed, aligned(2))) T_NET_BUF4_REASSM;
    189177
     
    191179
    192180/*
    193  *  TCP の再構成キューにおける IPv4 ヘッダの定義
     181 *  TCP の再構成キューにおける IPv4 ヘッダの定義
    194182 */
    195183
    196184typedef struct t_ip4_tcp_q_hdr {
    197185        uint8_t         vhl;            /* version << 4 | header length >> 2    */
    198                                         /* length は 4 octets 単位           */
     186                                        /* length は 4 octets 単位         */
    199187        uint8_t         type;           /* type of services                     */
    200188        uint16_t        len;            /* total length                         */
     
    205193        uint8_t         ttl;            /* time to live                         */
    206194        uint8_t         proto;          /* protocol                             */
    207         uint16_t        thoff;          /* TCP ヘッダのオフセット              */
     195        uint16_t        thoff;          /* TCP ヘッダのオフセット                */
    208196
    209197        T_IN4_ADDR      src;            /* source address                       */
     
    214202
    215203/*
    216  *  SNMP の 管理æƒ
    217 å ±ãƒ™ãƒ¼ã‚¹ (MIB)
     204 *  SNMP の 管理情報ベース (MIB)
    218205 */
    219206
     
    257244
    258245/*
    259  *  関数
     246 *  関数
    260247 */
    261248
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/ip6.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    115103
    116104/*
    117  *  IPv6 の定義、RFC2460 参ç
    118 §
     105 *  IPv6 の定義、RFC2460 参照
    119106 */
    120107
     
    122109
    123110/*
    124  *  IPv6 ヘッダの定義
     111 *  IPv6 ヘッダの定義
    125112 */
    126113
     
    139126
    140127/*
    141  *  IPv6 ヘッダ構造体メンバアクセスマクロ
     128 *  IPv6 ヘッダ構造体メンバアクセスマクロ
    142129 */
    143130
     
    149136
    150137/*
    151  *  拡張ヘッダ
     138 *  拡張ヘッダ
    152139 */
    153140
    154141typedef struct t_ip6_ext_hdr {
    155142        uint8_t         next;           /* Next Header                  */
    156         uint8_t         len;            /* 8 オクテット単位の長さ     */
     143        uint8_t         len;            /* 8 オクテット単位の長さ */
    157144        } __attribute__((packed, aligned(2)))T_IP6_EXT_HDR;
    158145
    159146/*
    160  *  中継点 (Hop-by-Hop) オプションヘッダ
     147 *  中継点 (Hop-by-Hop) オプションヘッダ
    161148 */
    162149
    163150typedef struct t_ip6_hbh_hdr {
    164151        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 が入る。
    170155                                         */
    171156        } __attribute__((packed, aligned(2)))T_IP6_HBH_HDR;
    172157
    173158/*
    174  *  終点 (Destination) オプションヘッダ
     159 *  終点 (Destination) オプションヘッダ
    175160 */
    176161
    177162typedef struct t_ip6_dest_hdr {
    178163        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 が入る。
    184167                                         */
    185168        } __attribute__((packed, aligned(2)))T_IP6_DEST_HDR;
    186169
    187 /* 中継点 (Hop-by-Hop) オプション */
     170/* 中継点 (Hop-by-Hop) オプション */
    188171
    189172#define IP6OPT_PAD1             UINT_C(0x00)    /* 00 0 00000 */
     
    194177#define IP6OPT_RTR_ALERT        UINT_C(0x05)    /* 00 0 00101 */
    195178
    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 を返送する。     */
    203186#define IP6OPT_TYPE_ICMP        UINT_C(0xc0)
    204                 /* 破棄して、マルチキャストでなければ ICMP を返送する。  */
     187                /* 破棄して、マルチキャストでなければ ICMP を返送する。        */
    205188
    206189#define IP6OPT_TYPE(o)          ((o)&UINT_C(0xc0))
    207190
    208191/*
    209  *  経路制御ヘッダ
     192 *  経路制御ヘッダ
    210193 */
    211194
    212195typedef struct t_ip6_rt_hdr {
    213196        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;        /* セグメントの残り             */
    222203        } __attribute__((packed, aligned(2)))T_IP6_RT_HDR;
    223204
    224205/*
    225  *  タイプ 0 経路制御ヘッダ
     206 *  タイプ 0 経路制御ヘッダ
    226207 */
    227208
    228209typedef struct t_ip6_rt0_hdr {
    229210        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;       /* 予約                           */
    239218        } __attribute__((packed, aligned(2)))T_IP6_RT0_HDR;
    240219
    241220/*
    242  *  断片ヘッダ
     221 *  断片ヘッダ
    243222 */
    244223
     
    246225        uint8_t         next;           /* Next Header                  */
    247226        uint8_t         reserved;
    248         uint16_t        off_flag;       /* オフセットとフラグ          */
    249         uint32_t        ident;          /* 分割識別子                      */
     227        uint16_t        off_flag;       /* オフセットとフラグ            */
     228        uint32_t        ident;          /* 分割識別子                        */
    250229        } __attribute__((packed, aligned(2)))T_IP6_FRAG_HDR;
    251230
    252 /* 断片ヘッダのオフセットとフラグ */
     231/* 断片ヘッダのオフセットとフラグ */
    253232
    254233#ifdef _NET_CFG_BYTE_ORDER
     
    256235#if _NET_CFG_BYTE_ORDER == _NET_CFG_BIG_ENDIAN
    257236
    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)          /* 中間フラグメント             */
    261240
    262241#elif _NET_CFG_BYTE_ORDER == _NET_CFG_LITTLE_ENDIAN
    263242
    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)          /* 中間フラグメント             */
    267246
    268247#endif  /* #if _NET_CFG_BYTE_ORDER == _NET_CFG_BIG_ENDIAN */
     
    271250
    272251/*
    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 *  ホップリミットの規定値は、ルータ通知により変更されることがある
    288267 */
    289268
    290269#if NUM_ND6_DEF_RTR_ENTRY > 0
    291270
    292 /* ルータ通知を受信する場合は、通知された値 */
     271/* ルータ通知を受信する場合は、通知された値 */
    293272
    294273#define IP6_DEFTTL      ip6_defhlim
     
    296275#else   /* #if NUM_ND6_DEF_RTR_ENTRY > 0 */
    297276
    298 /* ルータ通知を受信しない場合の値は既定値 */
     277/* ルータ通知を受信しない場合の値は既定値 */
    299278
    300279#define IP6_DEFTTL      IPV6_DEFHLIM
     
    302281#endif  /* #if NUM_ND6_DEF_RTR_ENTRY > 0 */
    303282
    304 /* IPv4 と IPv6 をコンパイル時に選択するためのマクロ */
     283/* IPv4 と IPv6 をコンパイル時に選択するためのマクロ */
    305284
    306285#ifdef _IP6_CFG
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/ip_icmp.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    129117
    130118/*
    131  *  変数
     119 *  変数
    132120 */
    133121
     
    135123
    136124/*
    137  *  SNMP の 管理æƒ
    138 å ±ãƒ™ãƒ¼ã‚¹ (MIB)
     125 *  SNMP の 管理情報ベース (MIB)
    139126 */
    140127
     
    144131
    145132/*
    146  *  関数
     133 *  関数
    147134 */
    148135
     
    159146
    160147/*
    161  *  icmp_echo -- エコー要求を受信したときの処理
    162  *
    163  *    input には IF ヘッダと IP ヘッダも含まれている。
     148 *  icmp_echo -- エコー要求を受信したときの処理
     149 *
     150 *    input には IF ヘッダと IP ヘッダも含まれている。
    164151 */
    165152
     
    173160        NET_COUNT_MIB(icmp_stats.icmpInEchos, 1);
    174161
    175         /* IPv4 アドレスが未定義の時は応答しない。*/
     162        /* IPv4 アドレスが未定義の時は応答しない。*/
    176163        if (!IN4_IS_ADDR_ANY(&ifp->in4_ifaddr.addr)) {
    177164
    178165                /*
    179                  *  メッセージの型をエコー要求 (8) から
    180                  *  エコー応答 (0) に変更して送り返す。
     166                 *  メッセージの型をエコー要求 (8) から
     167                 *  エコー応答 (0) に変更して送り返す。
    181168                 */
    182169
     
    185172
    186173                /*
    187                  *  宛å
    188 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ã¯å—信したメッセージの送信å
    189 ƒã‚¢ãƒ‰ãƒ¬ã‚¹ã€‚
    190                  *  送信å
    191 ƒã‚¢ãƒ‰ãƒ¬ã‚¹ã¯è‡ª IPv4 アドレス。
     174                 *  宛先アドレスは受信したメッセージの送信元アドレス。
     175                 *  送信元アドレスは自 IPv4 アドレス。
    192176                 */
    193177                ip4h      = GET_IP4_HDR(input);
     
    195179                ip4h->src = htonl(ifp->in4_ifaddr.addr);
    196180
    197                 /* チェックサムを計算する。*/
     181                /* チェックサムを計算する。*/
    198182                icmp4h->sum = 0;
    199183                icmp4h->sum = in_cksum(icmp4h,
    200184                                       (uint_t)(((input->len - GET_IF_IP4_HDR_SIZE(input)) + 3) >> 2 << 2));
    201185
    202                 /* 送信する。*/
     186                /* 送信する。*/
    203187                NET_COUNT_ICMP4(net_count_icmp4.out_octets,
    204188                               input->len - GET_IF_IP4_HDR_SIZE(input));
     
    211195
    212196/*
    213  *  icmp_unreach -- ICMP4_UNREACH を受信したときの処理
     197 *  icmp_unreach -- ICMP4_UNREACH を受信したときの処理
    214198 */
    215199
     
    246230        error = code2error[code];
    247231
    248         /* 最終ヘッダが TCP/UDP のみ対応する。*/
     232        /* 最終ヘッダが TCP/UDP のみ対応する。*/
    249233        if (ip4h->proto == IPPROTO_TCP || ip4h->proto == IPPROTO_UDP) {
    250234
     
    275259
    276260/*
    277  *  icmp_redirect -- 向け直しメッセージを受信したときの処理
    278  *
    279  *    input には IF ヘッダと IP ヘッダも含まれている。
     261 *  icmp_redirect -- 向け直しメッセージを受信したときの処理
     262 *
     263 *    input には IF ヘッダと IP ヘッダも含まれている。
    280264 */
    281265
     
    291275
    292276        /*
    293          *  å†
    294 å®¹ãƒã‚§ãƒƒã‚¯ã€ä»¥ä¸‹ã®å ´åˆã¯ã‚¨ãƒ©ãƒ¼
     277         *  内容チェック、以下の場合はエラー
    295278         *
    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         *   
    300283         */
    301284        if (icmp4h->code > ICMP4_REDIRECT_PORT_AND_HOST ||
     
    313296
    314297/*
    315  *  icmp_input -- ICMP のå
    316 ¥åŠ›é–¢æ•°
    317  *
    318  *    input には IF ヘッダと IP ヘッダも含まれている。
     298 *  icmp_input -- ICMP の入力関数
     299 *
     300 *    input には IF ヘッダと IP ヘッダも含まれている。
    319301 */
    320302
     
    331313        NET_COUNT_ICMP4(net_count_icmp4.in_packets, 1);
    332314
    333         /* ICMP ヘッダの長さをチェックする。*/
     315        /* ICMP ヘッダの長さをチェックする。*/
    334316        if (input->len < IF_IP4_ICMP4_HDR_SIZE) {
    335317                NET_COUNT_ICMP4(net_count_icmp4.in_err_packets, 1);
     
    340322        icmp4h = (T_ICMP4_HDR *)(input->buf + *offp);
    341323
    342         /* 4 オクテット境界のデータ長 */
     324        /* 4 オクテット境界のデータ長 */
    343325        len   = input->len - *offp;
    344326        align = (len + 3) >> 2 << 2;
    345327
    346         /* 4 オクテット境界までパディングで埋める。*/
     328        /* 4 オクテット境界までパディングで埋める。*/
    347329        if (align > len)
    348330                memset((uint8_t*)input->buf + input->len, 0, (size_t)(align - len));
    349331
    350         /* チェックサムを計算する。*/
     332        /* チェックサムを計算する。*/
    351333        if (in_cksum(icmp4h, align) != 0) {
    352334                NET_COUNT_ICMP4(net_count_icmp4.in_err_packets, 1);
     
    354336                }
    355337
    356         /* メッセージの型により分岐する。*/
     338        /* メッセージの型により分岐する。*/
    357339        switch (icmp4h->type) {
    358340        case ICMP4_ECHO_REQUEST:
     
    409391
    410392/*
    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 *    呼出し側で、開放してから終了する。
    416398 */
    417399
     
    428410        ip4hl = GET_IP4_HDR_SIZE(input);
    429411
    430         /* 送信用の IP データグラムを獲得する。*/
     412        /* 送信用の IP データグラムを獲得する。*/
    431413        if (input->len - ip4hl < 8)
    432414                len = input->len - ip4hl;
     
    440422                return;
    441423
    442         /* ICMP ヘッダを設定する。*/
     424        /* ICMP ヘッダを設定する。*/
    443425        icmp4h          = GET_ICMP4_HDR(output, IF_IP4_ICMP4_HDR_OFFSET);
    444426        icmp4h->type    = ICMP4_UNREACH;
     
    446428        icmp4h->data.addr= 0;
    447429
    448         /* エラーが発生した IP ヘッダと データ 8 オクテットをコピーする。*/
     430        /* エラーが発生した IP ヘッダと データ 8 オクテットをコピーする。*/
    449431        memcpy(GET_ICMP4_SDU(output, IF_IP4_ICMP4_HDR_OFFSET),
    450432               GET_IP4_HDR(input), (size_t)(ip4hl + len));
    451433
    452         /* 4 オクテット境界のデータ長 */
     434        /* 4 オクテット境界のデータ長 */
    453435        align = (len + 3) >> 2 << 2;
    454436
    455         /* 4 オクテット境界までパディングで埋める。*/
     437        /* 4 オクテット境界までパディングで埋める。*/
    456438        if (align > len)
    457439                memset((uint8_t*)GET_ICMP4_SDU(output, IF_IP4_ICMP4_HDR_OFFSET) + ip4hl + len,
    458440                       0, (size_t)(align - len));
    459441
    460         /* チェックサムを計算する。*/
     442        /* チェックサムを計算する。*/
    461443        icmp4h->sum = 0;
    462444        icmp4h->sum = in_cksum(icmp4h, (uint_t)(ICMP4_HDR_SIZE + ip4hl + align));
    463445
    464         /* 送信する。*/
     446        /* 送信する。*/
    465447        NET_COUNT_ICMP4(net_count_icmp4.out_octets,
    466448                       output->len - GET_IF_IP4_HDR_SIZE(output));
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/ip_icmp.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    8674
    8775/*
    88  *  ICMP ヘッダの定義、RFC 792
     76 *  ICMP ヘッダの定義、RFC 792
    8977 */
    9078
    9179typedef 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;            /* チェックサム               */
    9583        union {
    9684                struct id_seq {
     
    116104
    117105/*
    118  *  メッセージの型
     106 *  メッセージの型
    119107 */
    120108
    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)      /* アドレスマスク応答    */
    132120
    133121/*
    134  *  サブ型
     122 *  サブ型
    135123 */
    136124
    137125/* ICMP4_UNREACH (3)    */
    138126
    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)       /* 分離                   */
    148136#define ICMP4_UNREACH_NET_PROHIB        UINT_C(9)       /*                      */
    149137#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   */
    152140#define ICMP4_UNREACH_FILTER_PROHIB     UINT_C(13)      /*                      */
    153141#define ICMP4_UNREACH_HOST_PRECEDENCE   UINT_C(14)      /*                      */
     
    156144/* ICMP4_REDIRECT (5)   */
    157145
    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)       /* ポート番号とホスト    */
    162150
    163151/*
    164  *  å
    165 ¨åŸŸå¤‰æ•°
     152 *  全域変数
    166153 */
    167154
    168155/*
    169  *  関数シミュレーションマクロ
     156 *  関数シミュレーションマクロ
    170157 */
    171158
     
    177164
    178165/*
    179  *  関数
     166 *  関数
    180167 */
    181168
     
    189176
    190177/*
    191  *  TINET 独自 API
     178 *  TINET 独自 API
    192179 */
    193180
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/ip_igmp.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55*                   Tomakomai National College of Technology, JAPAN
    66*
    7 *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9 *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625*
    37 *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26*  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27*  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28*  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29*  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230*
    4331*  @(#) $Id$
     
    239227        NET_COUNT_IGMP(net_count_igmp.in_packets, 1);
    240228
    241         /* ICMP ヘッダの長さをチェックする。*/
     229        /* ICMP ヘッダの長さをチェックする。*/
    242230        if (input->len < IF_IP4_IGMP_HDR_SIZE) {
    243231                NET_COUNT_IGMP(net_count_igmp.in_err_packets, 1);
     
    248236        igmph = (T_IGMPV2_HDR *)(input->buf + *offp);
    249237
    250         /* 4 オクテット境界のデータ長 */
     238        /* 4 オクテット境界のデータ長 */
    251239        len = input->len - *offp;
    252240        align = (len + 3) >> 2 << 2;
    253241
    254         /* 4 オクテット境界までパディングで埋める。*/
     242        /* 4 オクテット境界までパディングで埋める。*/
    255243        if (align > len)
    256244                memset((uint8_t*)input->buf + input->len, 0, (size_t)(align - len));
    257245
    258         /* チェックサムを計算する。*/
     246        /* チェックサムを計算する。*/
    259247        if (in_cksum(igmph, align) != 0) {
    260248                NET_COUNT_IGMP(net_count_igmp.in_err_packets, 1);
     
    262250        }
    263251
    264         /* メッセージの型により分岐する。*/
     252        /* メッセージの型により分岐する。*/
    265253        switch (igmph->type) {
    266254        case IGMP_MEMBERSHIP_QUERY:
     
    268256                ret = false;
    269257
    270                 /* 参加中のグループアドレスからのクエリーの場合 */
     258                /* 参加中のグループアドレスからのクエリーの場合 */
    271259                syscall(wai_sem(SEM_IGMP_GROUP_LOCK));
    272260
     
    283271
    284272                if (ret) {
    285                         /* メンバーシップリポートを送信 */
     273                        /* メンバーシップリポートを送信 */
    286274                        igmp_send_report_v2(ip4h->src);
    287275                }
     
    305293                return false;
    306294
    307         /* IGMP ヘッダを設定する。*/
     295        /* IGMP ヘッダを設定する。*/
    308296        igmph = GET_IGMPV2_HDR(output, IF_IP4_IGMP_HDR_OFFSET);
    309297        igmph->type = IGMP_MEMBERSHIP_REPORT_V2;
     
    311299        igmph->addr = htonl(dst);
    312300
    313         /* 4 オクテット境界のデータ長 */
     301        /* 4 オクテット境界のデータ長 */
    314302        align = (len + 3) >> 2 << 2;
    315303
    316         /* 4 オクテット境界までパディングで埋める。*/
     304        /* 4 オクテット境界までパディングで埋める。*/
    317305        if (align > len)
    318306                memset((uint8_t*)GET_IGMP_SDU(output, IF_IP4_IGMP_HDR_OFFSET) + len,
    319307                        0, (size_t)(align - len));
    320308
    321         /* チェックサムを計算する。*/
     309        /* チェックサムを計算する。*/
    322310        igmph->sum = 0;
    323311        igmph->sum = in_cksum(igmph, (uint_t)(IGMP_HDR_SIZE + align));
    324312
    325         /* 送信する。*/
     313        /* 送信する。*/
    326314        NET_COUNT_IGMP(net_count_igmp.out_octets,
    327315                output->len - GET_IF_IP4_HDR_SIZE(output));
     
    335323
    336324/*
    337 *  igmp_timer -- IGMP å
    338 ±é€šã‚¿ã‚¤ãƒžãƒ¼
     325*  igmp_timer -- IGMP 共通タイマー
    339326*/
    340327static void igmp_timer(void *ignore)
     
    367354
    368355/*
    369 *  igmp_init -- IGMP 機能を初期化する。
     356*  igmp_init -- IGMP 機能を初期化する。
    370357*/
    371358
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/ip_igmp.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  IGMP コンフィギュレーションファイル
     35 *  IGMP コンフィギュレーションファイル
    4836 */
    4937
    5038#if defined(_IP4_CFG) && defined(SUPPORT_IGMP)
    5139
    52 /* IGMP グループ更新用セマフォ */
     40/* IGMP グループ更新用セマフォ */
    5341
    5442CRE_SEM(SEM_IGMP_GROUP_LOCK, { TA_TPRI, 1, 1 });
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/ip_igmp.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4735#define _IP_IGMP_H_
    4836
    49 #define NUM_IGMP_ENTRY                          5       /* マルチキャストグループのエントリ数 */
     37#define NUM_IGMP_ENTRY                          5       /* マルチキャストグループのエントリ数 */
    5038
    5139 /*
    52   *  IGMPv1 ヘッダの定義、RFC 1112
     40  *  IGMPv1 ヘッダの定義、RFC 1112
    5341  */
    5442
    5543typedef struct t_igmpv1_hdr
    5644{
    57         uint8_t         type;           /* メッセージの型        */
    58         uint8_t         unused;         /* 未使用                    */
    59         uint16_t        sum;            /* チェックサム           */
    60         T_IN4_ADDR      addr;           /* グループアドレス */
     45        uint8_t         type;           /* メッセージの型      */
     46        uint8_t         unused;         /* 未使用                  */
     47        uint16_t        sum;            /* チェックサム               */
     48        T_IN4_ADDR      addr;           /* グループアドレス */
    6149}  __attribute__((packed)) T_IGMPV1_HDR;
    6250
    6351/*
    64 *  IGMPv2 ヘッダの定義、RFC 2236
     52*  IGMPv2 ヘッダの定義、RFC 2236
    6553*/
    6654
    6755typedef struct t_igmpv2_hdr
    6856{
    69         uint8_t         type;           /* メッセージの型        */
    70         uint8_t         time;           /* 最大応答時間           */
    71         uint16_t        sum;            /* チェックサム           */
    72         T_IN4_ADDR      addr;           /* グループアドレス */
     57        uint8_t         type;           /* メッセージの型      */
     58        uint8_t         time;           /* 最大応答時間               */
     59        uint16_t        sum;            /* チェックサム               */
     60        T_IN4_ADDR      addr;           /* グループアドレス */
    7361}  __attribute__((packed)) T_IGMPV2_HDR;
    7462
    7563typedef struct t_igmpv3_query_hdr
    7664{
    77         uint8_t         type;           /* メッセージの型        */
    78         uint8_t         time;           /* 最大応答時間           */
    79         uint16_t        sum;            /* チェックサム           */
    80         T_IN4_ADDR      grpaddr;        /* グループアドレス */
    81         uint8_t         sqrv;           /* Sフラグ、Querier Robustness Value */
     65        uint8_t         type;           /* メッセージの型      */
     66        uint8_t         time;           /* 最大応答時間               */
     67        uint16_t        sum;            /* チェックサム               */
     68        T_IN4_ADDR      grpaddr;        /* グループアドレス */
     69        uint8_t         sqrv;           /* Sフラグ、Querier Robustness Value */
    8270        uint8_t         qqic;           /* Qurier's Query Interval Code */
    83         uint16_t        num;            /* 送信å
    84 ƒã®æ•° */
    85         T_IN4_ADDR      sdraddr;        /* 送信å
    86 ƒã‚¢ãƒ‰ãƒ¬ã‚¹ */
     71        uint16_t        num;            /* 送信元の数 */
     72        T_IN4_ADDR      sdraddr;        /* 送信元アドレス */
    8773}  __attribute__((packed)) T_IGMPV3Q_HDR;
    8874
    8975typedef struct t_igmp_group_record
    9076{
    91         uint8_t         type;           /* メッセージの型        */
    92         uint8_t         len;            /* 補助データ長           */
    93         uint16_t        num;            /* 送信å
    94 ƒã®æ•° */
    95         T_IN4_ADDR      grpaddr;        /* グループアドレス */
    96         T_IN4_ADDR      sdraddr;        /* 送信å
    97 ƒã‚¢ãƒ‰ãƒ¬ã‚¹   */
    98                                                         /* 補助データ              */
     77        uint8_t         type;           /* メッセージの型      */
     78        uint8_t         len;            /* 補助データ長               */
     79        uint16_t        num;            /* 送信元の数 */
     80        T_IN4_ADDR      grpaddr;        /* グループアドレス */
     81        T_IN4_ADDR      sdraddr;        /* 送信元アドレス      */
     82                                                        /* 補助データ                */
    9983}  __attribute__((packed)) T_IGMP_GROUP_RECORD;
    10084
    10185typedef struct t_igmpv3_report_hdr
    10286{
    103         uint8_t         type;           /* メッセージの型        */
    104         uint8_t         rsv1;           /* 予約                               */
    105         uint16_t        sum;            /* チェックサム           */
    106         uint16_t        rsv2;           /* 予約                               */
    107         uint16_t        num;            /* グループレコードの数 */
    108         T_IGMP_GROUP_RECORD record;     /* グループレコード */
     87        uint8_t         type;           /* メッセージの型      */
     88        uint8_t         rsv1;           /* 予約                           */
     89        uint16_t        sum;            /* チェックサム               */
     90        uint16_t        rsv2;           /* 予約                           */
     91        uint16_t        num;            /* グループレコードの数 */
     92        T_IGMP_GROUP_RECORD record;     /* グループレコード */
    10993}  __attribute__((packed)) T_IGMPV3R_HDR;
    11094
     
    121105
    122106/*
    123 ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®åž‹
     107メッセージの型
    124108*/
    125109
    126 #define IGMP_MEMBERSHIP_QUERY           0x11    /* メンバーシップクエリー            */
    127 #define IGMP_MEMBERSHIP_REPORT          0x12    /* メンバーシップレポート            */
    128 #define IGMP_MEMBERSHIP_REPORT_V2       0x16    /* メンバーシップレポート            */
    129 #define IGMP_LEAVE_GROUP                        0x17    /* リーブグループ                                */
    130 #define IGMP_MEMBERSHIP_REPORT_V3       0x22    /* メンバーシップレポート            */
     110#define IGMP_MEMBERSHIP_QUERY           0x11    /* メンバーシップクエリー          */
     111#define IGMP_MEMBERSHIP_REPORT          0x12    /* メンバーシップレポート          */
     112#define IGMP_MEMBERSHIP_REPORT_V2       0x16    /* メンバーシップレポート          */
     113#define IGMP_LEAVE_GROUP                        0x17    /* リーブグループ                              */
     114#define IGMP_MEMBERSHIP_REPORT_V3       0x22    /* メンバーシップレポート          */
    131115
    132116/*
    133 *  UDP通信端点オプション
     117*  UDP通信端点オプション
    134118*/
    135119
     
    164148
    165149/*
    166  *  IGMP グループエントリ
     150 *  IGMP グループエントリ
    167151 */
    168152
    169153typedef struct igmp_entry
    170154{
    171         int16_t         timer;          /* 送信までの時間[秒]   */
    172         int16_t         resptime;       /* 最大応答時間[秒]      */
    173         T_IN4_ADDR      ip_addr;        /* IP アドレス                      */
     155        int16_t         timer;          /* 送信までの時間[秒]   */
     156        int16_t         resptime;       /* 最大応答時間[秒]    */
     157        T_IN4_ADDR      ip_addr;        /* IP アドレス                      */
    174158} T_IGMP_ENTRY;
    175159
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/ip_input.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    141129
    142130/*
    143  *  変数
     131 *  変数
    144132 */
    145133
     
    147135
    148136/*
    149  *  SNMP の 管理æƒ
    150 å ±ãƒ™ãƒ¼ã‚¹ (MIB)
     137 *  SNMP の 管理情報ベース (MIB)
    151138 */
    152139
     
    158145
    159146/*
    160  *  データグラム再構成キュー
     147 *  データグラム再構成キュー
    161148 */
    162149
     
    165152
    166153/*
    167  *  関数
     154 *  関数
    168155 */
    169156
     
    172159
    173160/*
    174  *  ip_get_frag_queue -- データグラム再構成キューを獲得する。
     161 *  ip_get_frag_queue -- データグラム再構成キューを獲得する。
    175162 */
    176163
     
    182169
    183170/*
    184  *  ip_freef -- データグラム再構成キューを解放する。
     171 *  ip_freef -- データグラム再構成キューを解放する。
    185172 */
    186173
     
    200187
    201188/*
    202  *  ip_frag_timer -- データグラム再構成管理タイマ
     189 *  ip_frag_timer -- データグラム再構成管理タイマ
    203190 */
    204191
     
    223210
    224211/*
    225  *  ip_reass -- データグラムを再構成する。
     212 *  ip_reass -- データグラムを再構成する。
    226213 */
    227214
     
    247234
    248235        /*
    249          *  ID、IPアドレス、上位プロトコルが異なるフラグメントがキューに有れば破棄する。
     236         *  ID、IPアドレス、上位プロトコルが異なるフラグメントがキューに有れば破棄する。
    250237         */
    251238        frag = ip_frag_queue[ix];
     
    264251                NET_COUNT_IP4(net_count_ip4[NC_IP4_FRAG_IN], 1);
    265252
    266                 /* 新規の ID なら、宛å
    267 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’保存して、キューにつなぐ。*/
     253                /* 新規の ID なら、宛先アドレスを保存して、キューにつなぐ。*/
    268254                frag_dst  [ix] = dst;
    269255                ip_frag_queue[ix] = input;
     
    271257                input = NULL;
    272258
    273                 /* 再構成タイムアウトを設定する。*/
     259                /* 再構成タイムアウトを設定する。*/
    274260                ip4h->ttl = IP4_FRAGTTL;
    275261                }
    276262        else {
    277263
    278                 /* 正しい位置に挿å
    279 ¥ã™ã‚‹ã€‚*/
     264                /* 正しい位置に挿入する。*/
    280265                prev = NULL;
    281266                while (frag != NULL &&
     
    294279                input = NULL;
    295280
    296                 /* å
    297 ¨ã¦ã®ãƒ•ãƒ©ã‚°ãƒ¡ãƒ³ãƒˆãŒæƒã£ã¦ã„るか調べる。*/
     281                /* 全てのフラグメントが揃っているか調べる。*/
    298282                off = 0;
    299283                for (frag = ip_frag_queue[ix]; frag != NULL; frag = GET_QIP4_HDR(frag)->next) {
    300284                        if ((IP4_FLGOFF_OFF(GET_QIP4_HDR(frag)->flg_off) << 3) != off) {
    301                                 /* 途中が抜けていたら終了する。*/
     285                                /* 途中が抜けていたら終了する。*/
    302286                                syscall(sig_sem(SEM_IP4_FRAG_QUEUE));
    303287                                return NULL;
     
    307291                        }
    308292
    309                 /* å
    310 ¨ã¦ã®ãƒ•ãƒ©ã‚°ãƒ¡ãƒ³ãƒˆãŒæƒã£ãŸã‚‰å†æ§‹æˆã™ã‚‹ã€‚*/
     293                /* 全てのフラグメントが揃ったら再構成する。*/
    311294                if ((GET_QIP4_HDR(prev)->flg_off & IP4_MF) == 0) {
    312295
    313                         /* ネットワークバッファを獲得する。*/
     296                        /* ネットワークバッファを獲得する。*/
    314297                        if (tget_net_buf(&input, IF_IP4_HDR_SIZE + off, TMO_IP4_FRAG_GET_NET_BUF) == E_OK) {
    315298                                NET_COUNT_IP4(net_count_ip4[NC_IP4_FRAG_IN_OK], 1);
    316299                                NET_COUNT_MIB(ip_stats.ipReasmOKs, 1);
    317300
    318                                 /* IPv4 ヘッダを設定する。*/
     301                                /* IPv4 ヘッダを設定する。*/
    319302                                frag  = ip_frag_queue[ix];
    320303                                ip4h  = GET_IP4_HDR(input);
     
    326309                                ip4h->flg_off = ip4h->id = 0;
    327310
    328                                 /* データグラムを再構成する。*/
     311                                /* データグラムを再構成する。*/
    329312                                off = IP4_HDR_SIZE;
    330313                                while (frag != NULL) {
     
    340323                                NET_COUNT_MIB(ip_stats.ipReasmFails, 1);
    341324                                }
    342                         /* キューを空にする。*/
     325                        /* キューを空にする。*/
    343326                        ip_freef(ix);
    344327                        }
     
    351334
    352335/*
    353  *  ip_init -- IP の初期化
     336 *  ip_init -- IP の初期化
    354337 */
    355338
     
    361344
    362345/*
    363  *  ip_remove_options -- IPv4 ヘッダのオプションを削除し、以降を前に詰める。
     346 *  ip_remove_options -- IPv4 ヘッダのオプションを削除し、以降を前に詰める。
    364347 */
    365348
     
    385368
    386369/*
    387  *  ip_input -- IP のå
    388 ¥åŠ›é–¢æ•°
     370 *  ip_input -- IP の入力関数
    389371 */
    390372
    391373#if defined(SUPPORT_IPSEC)
    392374/*
    393  * TODO: IPsec SPを検索し、パケットをリジェクトするかどうか判定する処理を実è£
    394 ã™ã‚‹
     375 * TODO: IPsec SPを検索し、パケットをリジェクトするかどうか判定する処理を実装する
    395376 */
    396377#endif /* of defined(SUPPORT_IPSEC) */
     
    408389        NET_COUNT_MIB(ip_stats.ipInReceives, 1);
    409390
    410         /* IP ヘッダの長さをチェックする。*/
     391        /* IP ヘッダの長さをチェックする。*/
    411392        if (input->len < IF_IP4_HDR_SIZE) {
    412393                NET_COUNT_IP4(net_count_ip4[NC_IP4_IN_ERR_SHORT], 1);
     
    418399        hlen = GET_IP4_HDR_SIZE(input);
    419400
    420         /* バージョンをチェックする。*/
     401        /* バージョンをチェックする。*/
    421402        if (IP4_VHL_V(ip4h->vhl) != IPV4_VERSION) {
    422403                NET_COUNT_IP4(net_count_ip4[NC_IP4_IN_ERR_VER], 1);
     
    425406                }
    426407
    427         /* IP ヘッダの長さをチェックし、オプションを解析する。*/
     408        /* IP ヘッダの長さをチェックし、オプションを解析する。*/
    428409        if (hlen > IP4_HDR_SIZE) {
    429410                NET_COUNT_IP4(net_count_ip4[NC_IP4_OPTS], 1);
    430                 /* %%% オプションの解析 %%% */
    431                 }
    432 
    433         /* データグラム長をチェックする。*/
     411                /* %%% オプションの解析 %%% */
     412                }
     413
     414        /* データグラム長をチェックする。*/
    434415        if (ntohs(ip4h->len) > input->len - IF_HDR_SIZE) {
    435416                NET_COUNT_IP4(net_count_ip4[NC_IP4_IN_ERR_SHORT], 1);
     
    438419                }
    439420
    440         /* ネットワークバッファの長さをデータグラム長に調整する。*/
     421        /* ネットワークバッファの長さをデータグラム長に調整する。*/
    441422        input->len = (uint16_t)(ntohs(ip4h->len) + IF_HDR_SIZE);
    442423
    443         /* チェックサムをチェックする。*/
     424        /* チェックサムをチェックする。*/
    444425        if (in_cksum(ip4h, hlen) != 0) {
    445426                NET_COUNT_IP4(net_count_ip4[NC_IP4_IN_ERR_CKSUM], 1);
     
    448429                }
    449430
    450         /* IP ヘッダの長さをチェックし、上位が ICMP 以外はオプションを消去する。*/
     431        /* IP ヘッダの長さをチェックし、上位が ICMP 以外はオプションを消去する。*/
    451432        if (hlen > IP4_HDR_SIZE && ip4h->proto != IPPROTO_ICMP) {
    452433                memset((uint8_t*)ip4h + IP4_HDR_SIZE, 0, hlen - IP4_HDR_SIZE);
    453434                }
    454435
    455         /* 送信å
    456 ƒã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’チェックする。*/
     436        /* 送信元アドレスをチェックする。*/
    457437        src = ntohl(ip4h->src);
    458438        bc  = (ifp->in4_ifaddr.addr & ifp->in4_ifaddr.mask) | ~ifp->in4_ifaddr.mask;
     
    476456#endif  /* of #ifdef SUPPORT_LOOP */
    477457
    478         /* あてå
    479 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’チェックする。*/
     458        /* あて先アドレスをチェックする。*/
    480459        dst = ntohl(ip4h->dst);
    481460
     
    483462
    484463        /*
    485          *  DHCP_CFG が定義されているときは、ローカルアドレスが未定義の
    486          *  場合もデータグラムを受信する。
     464         *  DHCP_CFG が定義されているときは、ローカルアドレスが未定義の
     465         *  場合もデータグラムを受信する。
    487466         */
    488467
     
    529508#ifdef IP4_CFG_FRAGMENT
    530509
    531         /* 分割されているかチェックする。*/
     510        /* 分割されているかチェックする。*/
    532511        if (ntohs(ip4h->flg_off) & (IP4_MF | IP4_OFFMASK)) {
    533512                if ((input = ip_reass(ip4h, input)) == NULL)
     
    537516#else   /* of #ifdef IP4_CFG_FRAGMENT */
    538517
    539         /* 分割されているかチェックする。*/
     518        /* 分割されているかチェックする。*/
    540519        if (ntohs(ip4h->flg_off) & (IP4_MF | IP4_OFFMASK)) {
    541520                T_IN4_ADDR      src;
     
    555534
    556535#if defined(SUPPORT_IPSEC)
    557         /* ここでipsec4_in_rejectを実行する */
     536        /* ここでipsec4_in_rejectを実行する */
    558537        if ((ip4h->proto != IPPROTO_ESP) && ipsec4_in_reject (input)) {
    559538                goto buf_rel;
     
    561540#endif /* of #if defined(SUPPORT_IPSEC) */
    562541
    563         /* プロトコルを選択する */
     542        /* プロトコルを選択する */
    564543        switch (ip4h->proto) {
    565544
     
    607586                NET_COUNT_MIB(ip_stats.ipInUnknownProtos, 1);
    608587
    609                 /* ローカル IP アドレスに届いたデータグラムのみ ICMP エラーを通知する。*/
     588                /* ローカル IP アドレスに届いたデータグラムのみ ICMP エラーを通知する。*/
    610589                if (dst == ifp->in4_ifaddr.addr) {
    611590                        T_IN4_ADDR      src;
     
    616595                        }
    617596                /*
    618                  *  icmp_error では、ネットワークバッファ input を返却しないので
    619                  *  開放してから終了する。
     597                 *  icmp_error では、ネットワークバッファ input を返却しないので
     598                 *  開放してから終了する。
    620599                 */
    621600                break;
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/ip_output.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    123111
    124112/*
    125  *  IP output -- IP の出力関数
    126  *
    127  *    注意: バージョンとヘッダ長は上位層で設定する。
     113 *  IP output -- IP の出力関数
     114 *
     115 *    注意: バージョンとヘッダ長は上位層で設定する。
    128116 */
    129117
     
    144132
    145133#ifdef SUPPORT_IPSEC
    146         /* XXX: IPsecの処理はパケット断片化の前に行われる */
    147 
    148         /* SPDを取得する */
     134        /* XXX: IPsecの処理はパケット断片化の前に行われる */
     135
     136        /* SPDを取得する */
    149137        sp = ipsec4_getpolicybyaddr(output, IPSEC_DIR_OUTBOUND, &ipsec_error);
    150138        if (sp==NULL) {
     
    153141        }
    154142
    155         /* ポリシをチェックする*/
     143        /* ポリシをチェックする*/
    156144#if 0
    157145        switch (sp->policy) {
     
    165153
    166154        case  IPSEC_POLICY_IPSEC:
    167                 /* XXX: SH2ではここでillegal Instructionが発生する。コンパイラのバグ? */
     155                /* XXX: SH2ではここでillegal Instructionが発生する。コンパイラのバグ? */
    168156                if (sp->req == NULL) {
    169                         /* 鍵交換デーモンに対してSAの取得を要求する */
     157                        /* 鍵交換デーモンに対してSAの取得を要求する */
    170158                        goto bad;
    171159                }
     
    173161
    174162        default:
    175                 /* 不正なポリシ */
     163                /* 不正なポリシ */
    176164                goto bad;
    177165                break;
    178166        }
    179167#else /* 0 */
    180         /* XXX: コンパイラの不å
    181 ·åˆå›žé¿ã®ãŸã‚ switchをやめif文で書き直した */
     168        /* XXX: コンパイラの不具合回避のため switchをやめif文で書き直した */
    182169        policy = sp->spinitb->policy;
    183170
     
    188175        else if (policy == IPSEC_POLICY_IPSEC) {
    189176                if (sp->req == NULL)
    190                         /* 鍵交換デーモンに対してSAの取得を要求する */
     177                        /* 鍵交換デーモンに対してSAの取得を要求する */
    191178                        goto bad;
    192179        } else
     
    199186
    200187                        state.m = output;
    201                         /* XXX: ipsec4_output()å†
    202 ã§ã¯ã€ip->{len,off}をネットワークバイトオーダとする */
     188                        /* XXX: ipsec4_output()内では、ip->{len,off}をネットワークバイトオーダとする */
    203189                        error = ipsec4_output (&state, sp, 0 /* flags */ );
    204190                        output = state.m;
    205191
    206192                        if (error) {
    207                                 /* net_buf はipsec4_outputによって既に解放されている */
     193                                /* net_buf はipsec4_outputによって既に解放されている */
    208194                                switch (error) {
    209195                                default:
     
    213199                }
    214200
    215         /* ipsec4_outputに影響を受けた値を更新する */
    216         /* XXX: å¿
    217 è¦ã‹? */
     201        /* ipsec4_outputに影響を受けた値を更新する */
     202        /* XXX: 必要か? */
    218203
    219204skip_ipsec:
     
    227212
    228213        /*
    229          *  データグラムサイズがネットワークの MTU をè¶
    230 ãˆã¦ã„れば、
    231          *  分割して送信する。
     214         *  データグラムサイズがネットワークの MTU を超えていれば、
     215         *  分割して送信する。
    232216         */
    233217        if (ntohs(ip4h->len) > IF_MTU) {
     
    247231                                flen = len - off;
    248232
    249                         /* データ長は 4 オクテット境界に調整する。    */
     233                        /* データ長は 4 オクテット境界に調整する。        */
    250234                        align = (flen + 3) >> 2 << 2;
    251235
    252                         /* ネットワークバッファを獲得する。*/
     236                        /* ネットワークバッファを獲得する。*/
    253237                        if (tget_net_buf(&frag, align + IF_IP4_HDR_SIZE, TMO_IP4_FRAG_GET_NET_BUF) == E_OK) {
    254238
    255                                 /* フラグメントをコピーする。*/
     239                                /* フラグメントをコピーする。*/
    256240                                memcpy(GET_IP4_SDU(frag), (uint8_t *)ip4h + off, flen);
    257241
    258                                 /* ヘッダを埋める。*/
     242                                /* ヘッダを埋める。*/
    259243                                fip4h           = GET_IP4_HDR(frag);
    260244                                *fip4h          = *ip4h;
     
    279263                                }
    280264                        else {
    281                                 /* 獲得できなければ、送信をあきらめる。*/
     265                                /* 獲得できなければ、送信をあきらめる。*/
    282266                                syscall(rel_net_buf(output));
    283267                                NET_COUNT_IP4(net_count_ip4[NC_IP4_OUT_ERR_PACKETS], 1);
     
    294278        else {
    295279
    296                 /* ヘッダを埋める。*/
     280                /* ヘッダを埋める。*/
    297281                ip4h->id  = htons(frag_id);
    298282                frag_id ++;
     
    312296        ip4h = GET_IP4_HDR(output);
    313297
    314         /* データグラムサイズがネットワークの MTU をè¶
    315 ãˆã¦ã„ればエラー */
     298        /* データグラムサイズがネットワークの MTU を超えていればエラー */
    316299        if (ntohs(ip4h->len) > IF_MTU)
    317300                return E_PAR;
    318301
    319         /* ヘッダを埋める。*/
     302        /* ヘッダを埋める。*/
    320303        ip4h->id  = htons(frag_id);
    321304        frag_id ++;
     
    327310
    328311#ifdef ETHER_CFG_MULTICAST
    329         /* マルチキャストアドレスの場合はIPアドレスはそのまま */
     312        /* マルチキャストアドレスの場合はIPアドレスはそのまま */
    330313        gw = ntohl(ip4h->dst);
    331314        if(!IN4_IS_ADDR_MULTICAST(gw))
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/ip_var.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    8775
    8876/*
    89  *  IPv4 と IPv6 をコンパイル時に選択するためのマクロ
     77 *  IPv4 と IPv6 をコンパイル時に選択するためのマクロ
    9078 */
    9179
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/tcp.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  TCP で使用するカーネルオブジェクト
     35 *  TCP で使用するカーネルオブジェクト
    4836 */
    4937
    5038#ifdef SUPPORT_TCP
    5139
    52 /* 出力タスク */
     40/* 出力タスク */
    5341
    5442CRE_TSK(TCP_OUTPUT_TASK, {
     
    6149        });
    6250
    63 /* セマフォ */
     51/* セマフォ */
    6452
    6553CRE_SEM(SEM_TCP_POST_OUTPUT,    { TA_TPRI, 0, 1 });
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/tcp.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    8472
    8573/*
    86  *  TCP ヘッダ、RFC 793 参ç
    87 §
     74 *  TCP ヘッダ、RFC 793 参照
    8875 */
    8976
    9077typedef struct t_tcp_hdr {
    91         uint16_t        sport;          /* 送信å
    92 ƒãƒãƒ¼ãƒˆç•ªå·                        */
    93         uint16_t        dport;          /* 宛å
    94 ˆãƒãƒ¼ãƒˆç•ªå·                        */
     78        uint16_t        sport;          /* 送信元ポート番号                     */
     79        uint16_t        dport;          /* 宛先ポート番号                      */
    9580
    96         uint32_t        seq;            /* SEQ 番号                           */
     81        uint32_t        seq;            /* SEQ 番号                               */
    9782
    98         uint32_t        ack;            /* ACK 番号                           */
     83        uint32_t        ack;            /* ACK 番号                               */
    9984
    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;            /* ウィンドサイズ                      */
    10388
    104         uint16_t        sum;            /* チェックサム                           */
    105         uint16_t        urp;            /* 緊急ポインタ                           */
     89        uint16_t        sum;            /* チェックサム                               */
     90        uint16_t        urp;            /* 緊急ポインタ                               */
    10691        } __attribute__((packed, aligned(2)))T_TCP_HDR;
    10792
     
    10994
    11095/*
    111  *  TCP ヘッダ構造体メンバアクセスマクロ
     96 *  TCP ヘッダ構造体メンバアクセスマクロ
    11297 */
    11398
     
    117102
    118103/*
    119  *  TCP ヘッダのフラグフィールドの値の定義
     104 *  TCP ヘッダのフラグフィールドの値の定義
    120105 */
    121106
    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: 緊急情報            */
    129113
    130114/*
    131  *  TCP オプションの定義
     115 *  TCP オプションの定義
    132116 */
    133117
    134 /* オプションの型 */
     118/* オプションの型 */
    135119
    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)      /* 接続カウント                       */
    146130
    147 /* オプションの長さ */
     131/* オプションの長さ */
    148132
    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               /* 接続カウント                       */
    157141
    158142/*
    159  *  TCP 最大セグメントサイズ
     143 *  TCP 最大セグメントサイズ
    160144 */
    161145
    162146/*
    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 を標準とする。
    166150 */
    167151
     
    169153
    170154/*
    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 を標準とする。
    174158 */
    175159
     
    177161
    178162/*
    179  *  TCP 最小セグメントサイズ
     163 *  TCP 最小セグメントサイズ
    180164 *
    181  *  256(最小リンク MTU)- 40 = 216
     165 *  256(最小リンク MTU)- 40 = 216
    182166 */
    183167
     
    185169
    186170/*
    187  *  TCP 最大ウィンドウサイズ
     171 *  TCP 最大ウィンドウサイズ
    188172 */
    189173
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/tcp_fsm.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    8472
    8573/*
    86  *  TCP FSM 状æ
    87 ‹ã®å®šç¾©ã€RFC 793 参ç
    88 §
     74 *  TCP FSM 状態の定義、RFC 793 参照
    8975 */
    9076
    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 受信済み、時間待ち  */
    10888
    10989/*
    110  *  関数シミュレーションマクロ
     90 *  関数シミュレーションマクロ
    11191 */
    11292
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/tcp_input.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    128116
    129117/*
    130  *  戻り値
     118 *  戻り値
    131119 *
    132  *      RET_OK          正常
    133  *      RET_DROP        エラー、セグメントを破棄する。
    134  *      RET_RST_DROP    エラー、RST を送信し、セグメントを破棄する。
     120 *      RET_OK          正常
     121 *      RET_DROP        エラー、セグメントを破棄する。
     122 *      RET_RST_DROP    エラー、RST を送信し、セグメントを破棄する。
    135123 */
    136124
     
    142130
    143131/*
    144  *  関数
     132 *  関数
    145133 */
    146134
     
    159147
    160148/*
    161  *  parse_option -- TCP ヘッダのオプションを解析する。
     149 *  parse_option -- TCP ヘッダのオプションを解析する。
    162150 */
    163151
     
    214202
    215203/*
    216  *  set_rexmt_timer -- 新しい往復時間を収集し、再送タイマを更新する。
     204 *  set_rexmt_timer -- 新しい往復時間を収集し、再送タイマを更新する。
    217205 */
    218206
     
    225213        if (cep->srtt != 0) {
    226214                /*
    227                  *  srtt: 平滑化された RTT
     215                 *  srtt: 平滑化された RTT
    228216                 *
    229                  *  計測された RTT (rtt) と現在の平滑化された RTT (srtt) の差 (delta) を求める。
     217                 *  計測された RTT (rtt) と現在の平滑化された RTT (srtt) の差 (delta) を求める。
    230218                 *
    231                  *  delta は 2 ビット左シフト ( 4 倍) した値で保持する。
    232                  *  srtt  は 5 ビット左シフト (32 倍) した値で保持されている。
     219                 *  delta は 2 ビット左シフト ( 4 倍) した値で保持する。
     220                 *  srtt  は 5 ビット左シフト (32 倍) した値で保持されている。
    233221                 *
    234222                 *    delta = rtt / 8 - srtt / 8
    235223                 *
    236                  *  新しい srtt は
     224                 *  新しい srtt は
    237225                 *
    238226                 *    srtt = rtt / 8 + srtt * 7 / 8
    239227                 *         = srtt + (rtt / 8 - srtt / 8)
    240228                 *
    241                  *  で計算する。
    242                  *  このため、rtt を 2 ビット左シフトし、srtt を (5 - 2) ビット右シフトして delta を求める。
     229                 *  で計算する。
     230                 *  このため、rtt を 2 ビット左シフトし、srtt を (5 - 2) ビット右シフトして delta を求める。
    243231                 */
    244232                delta = ((rtt - 1) << TCP_DELTA_SHIFT) - (cep->srtt >> (TCP_SRTT_SHIFT - TCP_DELTA_SHIFT));
     
    248236
    249237                /*
    250                  *  delta の絶対値 | delta | を求める。
     238                 *  delta の絶対値 | delta | を求める。
    251239                 */
    252240                if (delta < 0)
     
    254242
    255243                /*
    256                  *  rttvar: 平滑化された分散
     244                 *  rttvar: 平滑化された分散
    257245                 *
    258                  *  rttvar は 4 ビット左シフト (16 倍) した値で保持されている。
     246                 *  rttvar は 4 ビット左シフト (16 倍) した値で保持されている。
    259247                 *
    260248                 *    delta = |delta| / 4 - rttvar / 4
    261249                 *
    262                  *  新しい rttvar は
     250                 *  新しい rttvar は
    263251                 *
    264252                 *    rttvar = |delta|/ 4 + rttvar * 3 /4
    265253                 *           = rttvar + (|delta| / 4 - rttvar / 4)
    266254                 *
    267                  *  で計算する。
     255                 *  で計算する。
    268256                 */
    269257                delta -= cep->rttvar >> (TCP_RTTVAR_SHIFT - TCP_DELTA_SHIFT);
     
    274262        else {
    275263                /*
    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倍) した値。
    279267                 */
    280268                cep->srtt   = rtt <<  TCP_SRTT_SHIFT;
     
    283271
    284272        /*
    285          *  rtt の測定を終了し、再送回数をリセットする。
     273         *  rtt の測定を終了し、再送回数をリセットする。
    286274         */
    287275        cep->rtt = cep->rxtshift = 0;
    288276
    289277        /*
    290          *  RTT に許される最小値 と rtt + 2 の大きな値の方を再送タイムアウトの最小値にする。
     278         *  RTT に許される最小値 と rtt + 2 の大きな値の方を再送タイムアウトの最小値にする。
    291279         */
    292280        if (rtt + 2 < TCP_TVAL_MIN)
     
    301289
    302290/*
    303  *  reassemble -- 受信セグメントを再構成する。順番通りに受信したときの処理
     291 *  reassemble -- 受信セグメントを再構成する。順番通りに受信したときの処理
    304292 */
    305293
     
    313301        if (tcph->sum > cep->rbufsz - cep->rwbuf_count) {
    314302                /*
    315                  *  受信ウィンドバッファに空きがないときは破棄する。
     303                 *  受信ウィンドバッファに空きがないときは破棄する。
    316304                 */
    317305                NET_COUNT_TCP(net_count_tcp[NC_TCP_RECV_DROP_SEGS], 1);
     
    324312                 cep->fsm_state == TCP_FSM_ESTABLISHED) {
    325313                /*
    326                  *  順番通りにセグメントを受信した時の処理
    327                  *  受信セグメントの並べ替えは不要なので
    328                  *  そのまま受信ウィンドバッファに書き込む。
     314                 *  順番通りにセグメントを受信した時の処理
     315                 *  受信セグメントの並べ替えは不要なので
     316                 *  そのまま受信ウィンドバッファに書き込む。
    329317                 */
    330318
     
    341329                qhdr = GET_TCP_Q_HDR(input, thoff);
    342330
    343                 /*  TCP ヘッダの位置を保存する。*/
     331                /*  TCP ヘッダの位置を保存する。*/
    344332                SET_IP_TCP_Q_HDR_OFFSET(input, thoff);
    345333
    346                 /* SDU のオフセット(å
    347 ƒã¯ã‚¦ã‚£ãƒ³ãƒ‰ã‚µã‚¤ã‚ºï¼‰ã‚’リセットする。*/
     334                /* SDU のオフセット(元はウィンドサイズ)をリセットする。*/
    348335                qhdr->soff = 0;
    349336
    350                 /* データを受信ウィンドバッファに書き込む。*/
     337                /* データを受信ウィンドバッファに書き込む。*/
    351338                TCP_WRITE_RWBUF(cep, input, thoff);
    352339                }
     
    359346
    360347/*
    361  *  listening -- 受動オープンして,状æ
    362 ‹ãŒ LISTEN の処理
     348 *  listening -- 受動オープンして,状態が LISTEN の処理
    363349 *
    364  *    戻り値:
    365  *      RET_OK          正常
    366  *      RET_DROP        エラー、セグメントを破棄する。
    367  *      RET_RST_DROP    エラー、RST を送信し、セグメントを破棄する。
     350 *    戻り値:
     351 *      RET_OK          正常
     352 *      RET_DROP        エラー、セグメントを破棄する。
     353 *      RET_RST_DROP    エラー、RST を送信し、セグメントを破棄する。
    368354 */
    369355
     
    376362
    377363        /*
    378          *  フラグに RST がセットされていれば破棄する。
     364         *  フラグに RST がセットされていれば破棄する。
    379365         */
    380366        if (tcph->flags & TCP_FLG_RST)
     
    382368
    383369        /* 
    384          *  フラグに ACK がセットさてれいれば、
    385          *  リセットを送って破棄する。
     370         *  フラグに ACK がセットさてれいれば、
     371         *  リセットを送って破棄する。
    386372         */
    387373        if (tcph->flags & TCP_FLG_ACK)
     
    389375
    390376        /*
    391          *  フラグに SYN がセットされていなければれば破棄する。
     377         *  フラグに SYN がセットされていなければれば破棄する。
    392378         */
    393379        if ((tcph->flags & TCP_FLG_SYN) == 0)
     
    395381
    396382        /*
    397          *  受信可能な IP アドレスとポート番号であることを確認する。
     383         *  受信可能な IP アドレスとポート番号であることを確認する。
    398384         */
    399385        if (!tcp_is_addr_accept(input, thoff))
    400386                return RET_DROP;
    401387
    402         /* 相手のアドレスを記録する。*/
     388        /* 相手のアドレスを記録する。*/
    403389        IN_COPY_TO_HOST(&cep->dstaddr.ipaddr, input);
    404390        cep->dstaddr.portno = tcph->sport;
    405391
    406         /* オプションを処理する。*/
     392        /* オプションを処理する。*/
    407393        parse_option(tcph, cep);
    408394
    409         /* シーケンス番号を初期化する。*/
     395        /* シーケンス番号を初期化する。*/
    410396        if (tcp_iss == 0)
    411397                tcp_init_iss();
    412398
    413         /* 自分のシーケンス番号の初期値を記録する。*/
     399        /* 自分のシーケンス番号の初期値を記録する。*/
    414400        if (iss != 0)
    415401                cep->iss = iss;
     
    419405        tcp_iss += TCP_ISS_INCR() / 4;
    420406
    421         /* 相手のシーケンス番号の初期値を記録する。*/
     407        /* 相手のシーケンス番号の初期値を記録する。*/
    422408        cep->irs = tcph->seq;
    423409
    424         /* 送受信シーケンス番号を初期化する。*/
     410        /* 送受信シーケンス番号を初期化する。*/
    425411        init_send_seq(cep);
    426412        init_receive_seq(cep);
    427413
    428         /* 送信ウインドサイズを設定する。*/
     414        /* 送信ウインドサイズを設定する。*/
    429415        cep->snd_wnd = tcph->win;
    430416
    431         /* 最終設定 */
     417        /* 最終設定 */
    432418        cep->flags    |= TCP_CEP_FLG_ACK_NOW;
    433419        cep->fsm_state = TCP_FSM_SYN_RECVD;
     
    438424
    439425/*
    440  *  syn_sent -- 能動オープンして、状æ
    441 ‹ãŒ SYN 送信済の処理
     426 *  syn_sent -- 能動オープンして、状態が SYN 送信済の処理
    442427 *
    443  *    戻り値:
    444  *      RET_OK          正常
    445  *      RET_DROP        エラー、セグメントを破棄する。
    446  *      RET_RST_DROP    エラー、RST を送信し、セグメントを破棄する。
     428 *    戻り値:
     429 *      RET_OK          正常
     430 *      RET_DROP        エラー、セグメントを破棄する。
     431 *      RET_RST_DROP    エラー、RST を送信し、セグメントを破棄する。
    447432 */
    448433
     
    453438
    454439        /*
    455          *  相手から受信確認が送られて来ても、
     440         *  相手から受信確認が送られて来ても、
    456441         *
    457          *    ACK <= iss && 送信した最大 SEQ (snd_max) < ACK
     442         *    ACK <= iss && 送信した最大 SEQ (snd_max) < ACK
    458443         *
    459          *  なら、リセットを送ってセグメントを破棄する。
     444         *  なら、リセットを送ってセグメントを破棄する。
    460445         */
    461446        if ((tcph->flags & TCP_FLG_ACK) &&
     
    464449
    465450        /*
    466          *  RST/ACK フラグの応答があれば、ポートが開いていない
    467          *  ことを意味している。
     451         *  RST/ACK フラグの応答があれば、ポートが開いていない
     452         *  ことを意味している。
    468453         */
    469454        if (tcph->flags & TCP_FLG_RST) {
     
    476461
    477462        /*
    478          *  SYN フラグがなければセグメントを破棄する。
     463         *  SYN フラグがなければセグメントを破棄する。
    479464         */
    480465        if ((tcph->flags & TCP_FLG_SYN) == 0)
    481466                return RET_DROP;
    482467
    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);          /* 送受信シーケンス番号を初期化する。            */
    486471
    487472        if (tcph->flags & TCP_FLG_ACK) {
    488473                /*
    489                  *  ACK フラグがあるときの処理
     474                 *  ACK フラグがあるときの処理
    490475                 *
    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 オクテット) 進める。*/
    500483                cep->snd_una ++;
    501484
    502485#ifdef TCP_CFG_DELAY_ACK
    503486
    504                 if (tcph->sum != 0)             /* tcph->sum は SDU 長 */
     487                if (tcph->sum != 0)             /* tcph->sum は SDU 長 */
    505488                        cep->flags |= TCP_CEP_FLG_DEL_ACK;
    506489                else
     
    515498                if (cep->flags & TCP_CEP_FLG_NEED_FIN) {
    516499                        /*
    517                          *  CEP で FIN 送信が要求されていれば、
    518                          *  切断処理を開始し、
    519                          *  CEP の状æ
    520 ‹ã‚’ FIN Wait 1 にする。
     500                         *  CEP で FIN 送信が要求されていれば、
     501                         *  切断処理を開始し、
     502                         *  CEP の状態を FIN Wait 1 にする。
    521503                         */
    522504                        cep->fsm_state = TCP_FSM_FIN_WAIT_1;
     
    526508                else {
    527509                        /*
    528                          *  相手から ACK が応答されたので、
    529                          *  CEP の状æ
    530 ‹ã‚’ コネクション開設完了状æ
    531 ‹ã«ã™ã‚‹ã€‚
     510                         *  相手から ACK が応答されたので、
     511                         *  CEP の状態を コネクション開設完了状態にする。
    532512                         */
    533513                        cep->timer[TCP_TIM_KEEP] = TCP_TVAL_KEEP_IDLE;
     
    540520                        if (cep->snd_nblk_tfn == TFN_TCP_CON_CEP) {
    541521
    542                                 /* 相手のアドレスをコピーする。*/
     522                                /* 相手のアドレスをコピーする。*/
    543523
    544524#if defined(_IP6_CFG) && defined(_IP4_CFG)
     
    590570                }
    591571        else {
    592                 /* ACK フラグがないときは、ACK を送って、CEP の状æ
    593 ‹ã‚’ SYN 受信済みにする。*/
     572                /* ACK フラグがないときは、ACK を送って、CEP の状態を SYN 受信済みにする。*/
    594573                cep->flags |= TCP_CEP_FLG_ACK_NOW;
    595574                cep->timer[TCP_TIM_REXMT] = 0;
     
    601580
    602581/*
    603  *  trim_length -- 受信した SDU 長を調整する。
     582 *  trim_length -- 受信した SDU 長を調整する。
    604583 */
    605584
     
    608587{
    609588        tcph->seq ++;
    610         if (tcph->sum > cep->rcv_wnd) {         /* 注意: tcph->sum は SDU 長 */
    611                 /*
    612                  *  SDU 長が受信ウィンドサイズより大きいときは、受信ウィンドサイズ以降は
    613                  *  破棄し、FIN に応答しないことで、破棄したデータを再送させる。
     589        if (tcph->sum > cep->rcv_wnd) {         /* 注意: tcph->sum は SDU 長 */
     590                /*
     591                 *  SDU 長が受信ウィンドサイズより大きいときは、受信ウィンドサイズ以降は
     592                 *  破棄し、FIN に応答しないことで、破棄したデータを再送させる。
    614593                 */
    615594                tcph->sum    = (uint16_t)cep->rcv_wnd;
    616595                tcph->flags &= ~TCP_FLG_FIN;
    617596                }
    618         cep->snd_wl1 = tcph->seq - 1;           /* cep->snd_wl1: ウィンド更新 SEQ 番号  */
     597        cep->snd_wl1 = tcph->seq - 1;           /* cep->snd_wl1: ウィンド更新 SEQ 番号  */
    619598
    620599#ifdef TCP_CFG_EXTENTIONS
    621         cep->rcv_up  = tcph->seq;               /* cep->rcv_up : 受信した緊急ポインタ */
     600        cep->rcv_up  = tcph->seq;               /* cep->rcv_up : 受信した緊急ポインタ     */
    622601#endif
    623602        }
    624603
    625604/*
    626  *  proc_ack2 -- ACK の処理 (2)
     605 *  proc_ack2 -- ACK の処理 (2)
    627606 *
    628  *    戻り値
     607 *    戻り値
    629608 *
    630  *      RET_OK          正常
    631  *      RET_RETURN      正常、リターンする。
    632  *      RET_DROP        エラー、セグメントを破棄する。
    633  *      RET_RST_DROP    エラー、RST を送信し、セグメントを破棄する。
     609 *      RET_OK          正常
     610 *      RET_RETURN      正常、リターンする。
     611 *      RET_DROP        エラー、セグメントを破棄する。
     612 *      RET_RST_DROP    エラー、RST を送信し、セグメントを破棄する。
    634613 */
    635614
     
    645624
    646625        /*
    647          *  相手に受信確認された ACK から、まだ確認されていない
    648          *  最小送信 SEQ (snd_una) を引くと、送信ウィンドバッファから
    649          *  削除してよいオクテット数 (acked) になる。
     626         *  相手に受信確認された ACK から、まだ確認されていない
     627         *  最小送信 SEQ (snd_una) を引くと、送信ウィンドバッファから
     628         *  削除してよいオクテット数 (acked) になる。
    650629         */
    651630        acked = tcph->ack - cep->snd_una;
     
    653632
    654633        /*
    655          *  往復時間計測 (rtt) が設定されていて、計測開始 SEQ より
    656          *  後の ACK を受信したら、タイマバックオフをキャンセルし、
    657          *  再送タイマを再設定する。
     634         *  往復時間計測 (rtt) が設定されていて、計測開始 SEQ より
     635         *  後の ACK を受信したら、タイマバックオフをキャンセルし、
     636         *  再送タイマを再設定する。
    658637         */
    659638        if (cep->rtt && SEQ_GT(tcph->ack, cep->rtseq)) {
     
    662641
    663642        /*
    664          *  å
    665 ¨ã¦ã®æœªç¢ºèªãƒ‡ãƒ¼ã‚¿ãŒ ACK されたら、再送タイマを停止し、
    666          *  再開を記憶する (さらに出力か持続)。
    667          *  もし、ACK すべき、さらに多くのデータがあるなら、再送タイマに
    668          *  現在の再送タイムアウトを設定する。
    669          */
    670         if (tcph->ack == cep->snd_max) {        /* cep->snd_max: 送信した最大 SEQ */
     643         *  全ての未確認データが ACK されたら、再送タイマを停止し、
     644         *  再開を記憶する (さらに出力か持続)。
     645         *  もし、ACK すべき、さらに多くのデータがあるなら、再送タイマに
     646         *  現在の再送タイムアウトを設定する。
     647         */
     648        if (tcph->ack == cep->snd_max) {        /* cep->snd_max: 送信した最大 SEQ */
    671649
    672650#ifdef TCP_CFG_SWBUF_CSAVE
    673651
    674652                /*
    675                  * 送信ウィンドバッファの省コピー機能が有効の場合は、
    676                  * 送信済みで、ACKが完了するまで再送タイマを変更しない。
     653                 * 送信ウィンドバッファの省コピー機能が有効の場合は、
     654                 * 送信済みで、ACKが完了するまで再送タイマを変更しない。
    677655                 */
    678656                if ((cep->flags & TCP_CEP_FLG_WBCS_MASK) == TCP_CEP_FLG_WBCS_ACKED)
     
    688666                }
    689667        else if (cep->timer[TCP_TIM_PERSIST] == 0) {
    690                 cep->timer[TCP_TIM_REXMT] = cep->rxtcur;        /* cep->rxtcur: 現在の再送タイムアウト */
    691                 }
    692 
    693         /* 相手が受信確認したデータがあるときの処理 */
     668                cep->timer[TCP_TIM_REXMT] = cep->rxtcur;        /* cep->rxtcur: 現在の再送タイムアウト */
     669                }
     670
     671        /* 相手が受信確認したデータがあるときの処理 */
    694672        if (acked) {
    695                 uint32_t cw   = cep->snd_cwnd;  /* cep->snd_cwnd: 輻輳ウィンドサイズ   */
    696                 uint32_t incr = cep->maxseg;            /* cep->maxseg:   æœ€å¤§ã‚»ã‚°ãƒ¡ãƒ³ãƒˆã‚µã‚¤ã‚º        */
    697 
    698                 /*
    699                  *  新たに相手が受信確認したデータがあったときは、
    700                  *  輻輳ウィンドサイズを大きくする。
    701                  *  輻輳ウィンドサイズ (snd_cwnd) が
    702                  *  輻輳ウィンドサイズのしきい値 (snd_ssthresh) より大きいときは
    703                  *  輻輳回避制御を行い。
     673                uint32_t cw   = cep->snd_cwnd;  /* cep->snd_cwnd: 輻輳ウィンドサイズ     */
     674                uint32_t incr = cep->maxseg;            /* cep->maxseg:   最大セグメントサイズ    */
     675
     676                /*
     677                 *  新たに相手が受信確認したデータがあったときは、
     678                 *  輻輳ウィンドサイズを大きくする。
     679                 *  輻輳ウィンドサイズ (snd_cwnd) が
     680                 *  輻輳ウィンドサイズのしきい値 (snd_ssthresh) より大きいときは
     681                 *  輻輳回避制御を行い。
    704682                 *
    705683                 *    snd_cwnd = snd_cwnd + maxseg * maxseg / snd_cwnd;
    706684                 *
    707                  *  等しいか小さいときは、スロースタート制御を行う。
     685                 *  等しいか小さいときは、スロースタート制御を行う。
    708686                 *
    709687                 *    snd_cwnd = snd_cwnd + maxseg
     
    711689                 */
    712690                if (cw > cep->snd_ssthresh)
    713                         /* 輻輳回避制御 */
     691                        /* 輻輳回避制御 */
    714692                        incr = incr * incr / cw;
    715693
     
    720698
    721699                /*
    722                  *  送信ウィンドバッファから、相手が受信確認したデータ数 (acked) のデータを削除する。
     700                 *  送信ウィンドバッファから、相手が受信確認したデータ数 (acked) のデータを削除する。
    723701                 */
    724702                if (acked > cep->swbuf_count) {
     
    733711                        }
    734712
    735                 /* 送信ウィンドバッファに空きができたことを知らせる。*/
     713                /* 送信ウィンドバッファに空きができたことを知らせる。*/
    736714                syscall(set_flg(cep->snd_flgid, TCP_CEP_EVT_SWBUF_READY));
    737715
    738716                /*
    739                  *  送達確認されていない最小送信 SEQ (snd_una) を
    740                  *  今回送達確認された ACK まで進め、
    741                  *  次の送信データの SEQ (snd_nxt) も、新しい
    742                  *  送達確認されていない最小送信 SEQ (snd_una)
    743                  *  まで進める。
     717                 *  送達確認されていない最小送信 SEQ (snd_una) を
     718                 *  今回送達確認された ACK まで進め、
     719                 *  次の送信データの SEQ (snd_nxt) も、新しい
     720                 *  送達確認されていない最小送信 SEQ (snd_una)
     721                 *  まで進める。
    744722                 */
    745723                cep->snd_una += acked;
     
    748726
    749727                /*
    750                  *  状æ
    751 ‹ã«ã‚ˆã‚Šåˆ†å²
     728                 *  状態により分岐
    752729                 */
    753730                switch (cep->fsm_state) {
    754                 case TCP_FSM_FIN_WAIT_1:        /* APP が終了、FIN 送信済み、ACK å¾
    755 ã¡ */
     731                case TCP_FSM_FIN_WAIT_1:        /* APP が終了、FIN 送信済み、ACK 待ち */
    756732                        if (ourfinisacked) {
    757733                                cep->fsm_state = TCP_FSM_FIN_WAIT_2;
     
    759735                                }
    760736                        break;
    761                 case TCP_FSM_CLOSING:           /* 同時クローズ、FIN 交換済み、ACK å¾
    762 ã¡ */
     737                case TCP_FSM_CLOSING:           /* 同時クローズ、FIN 交換済み、ACK 待ち */
    763738                        if (ourfinisacked) {
    764739                                /*
    765                                  *  送信した FIN が確認されていれば状æ
    766 ‹ã‚’変更し、
    767                                  *  すべてのタイマをリセットした後、2MSL タイマを設定する。
     740                                 *  送信した FIN が確認されていれば状態を変更し、
     741                                 *  すべてのタイマをリセットした後、2MSL タイマを設定する。
    768742                                 */
    769743                                cep->fsm_state = TCP_FSM_TIME_WAIT;
     
    772746                                }
    773747                        break;
    774                 case TCP_FSM_LAST_ACK:          /* APP が終了、ACK å¾
    775 ã¡ */
     748                case TCP_FSM_LAST_ACK:          /* APP が終了、ACK 待ち */
    776749                        if (ourfinisacked) {
    777750                                /*
    778                                  *  送信した FIN が確認されていれば、cep をクローズし、
    779                                  *  セグメントを破棄する。
     751                                 *  送信した FIN が確認されていれば、cep をクローズし、
     752                                 *  セグメントを破棄する。
    780753                                 */
    781754                                cep = tcp_close(cep);
     
    783756                                }
    784757                        break;
    785                 case TCP_FSM_TIME_WAIT:         /* 相手からの FIN 受信済み、時間å¾
    786 ã¡ */
     758                case TCP_FSM_TIME_WAIT:         /* 相手からの FIN 受信済み、時間待ち */
    787759                        /*
    788                          *  相手から FIN が再送された。もう一度2MSL タイマを設定し、
    789                          *  ACK 送信後、セグメントを破棄する。
     760                         *  相手から FIN が再送された。もう一度2MSL タイマを設定し、
     761                         *  ACK 送信後、セグメントを破棄する。
    790762                         */
    791763                        cep->timer[TCP_TIM_2MSL] = 2 * TCP_TVAL_MSL;
     
    798770
    799771/*
    800  *  proc_ack1 -- ACK の処理 (1)
     772 *  proc_ack1 -- ACK の処理 (1)
    801773 *
    802  *    戻り値:
    803  *      RET_OK          正常
    804  *      RET_RETURN      正常、リターンする。
    805  *      RET_DROP        エラー、セグメントを破棄する。
    806  *      RET_RST_DROP    エラー、RST を送信し、セグメントを破棄する。
     774 *    戻り値:
     775 *      RET_OK          正常
     776 *      RET_RETURN      正常、リターンする。
     777 *      RET_DROP        エラー、セグメントを破棄する。
     778 *      RET_RST_DROP    エラー、RST を送信し、セグメントを破棄する。
    807779 *
    808780 */
     
    814786
    815787        switch (cep->fsm_state) {
    816         case TCP_FSM_SYN_RECVD:         /* SYN を受信し、SYN 送信済み  */
    817 
    818                 /* 状æ
    819 ‹ã‚’変更する。*/
     788        case TCP_FSM_SYN_RECVD:         /* SYN を受信し、SYN 送信済み    */
     789
     790                /* 状態を変更する。*/
    820791                if (cep->flags & TCP_CEP_FLG_NEED_FIN) {
    821792                        cep->fsm_state  = TCP_FSM_FIN_WAIT_1;
     
    826797                        cep->fsm_state  = TCP_FSM_ESTABLISHED;
    827798
    828                         /* TCP 通信端点からTCP 受付口を解放する。*/
     799                        /* TCP 通信端点からTCP 受付口を解放する。*/
    829800                        cep->rep = NULL;
    830801
     
    839810                        if (cep->rcv_nblk_tfn == TFN_TCP_ACP_CEP) {
    840811
    841                                 /* 相手のアドレスをコピーする。*/
     812                                /* 相手のアドレスをコピーする。*/
    842813
    843814#if defined(_IP6_CFG) && defined(_IP4_CFG)
     
    889860                        if (cep->snd_nblk_tfn == TFN_TCP_CON_CEP) {
    890861
    891                                 /* 相手のアドレスをコピーする。*/
     862                                /* 相手のアドレスをコピーする。*/
    892863
    893864#if defined(_IP6_CFG) && defined(_IP4_CFG)
     
    951922
    952923                /*
    953                  *  SDU がなく FIN がついていなければ、tcp_move_ra2rw() を呼出す。
    954                  */
    955                 if (tcph->sum == 0 && (tcph->flags & TCP_FLG_FIN) == 0)         /* tcph->sum は SDU 長 */
     924                 *  SDU がなく FIN がついていなければ、tcp_move_ra2rw() を呼出す。
     925                 */
     926                if (tcph->sum == 0 && (tcph->flags & TCP_FLG_FIN) == 0)         /* tcph->sum は SDU 長 */
    956927                        tcph->flags = tcp_move_ra2rw(cep, tcph->flags);
    957928               
    958                 cep->snd_wl1 = tcph->seq - 1;   /* snd_wl1: ウィンド更新 SEQ */
    959 
    960                 /* break; 下に落ちる。*/
     929                cep->snd_wl1 = tcph->seq - 1;   /* snd_wl1: ウィンド更新 SEQ */
     930
     931                /* break; 下に落ちる。*/
    961932       
    962         case TCP_FSM_ESTABLISHED:       /* コネクション開設完了               */
    963         case TCP_FSM_FIN_WAIT_1:        /* 終了して、FIN 送信済み              */
    964         case TCP_FSM_FIN_WAIT_2:        /* 終了、FIN 伝達確認受信、FINå¾
    965 ã¡*/
    966         case TCP_FSM_CLOSE_WAIT:        /* FIN 受信、クローズå¾
    967 ã¡             */
    968         case TCP_FSM_CLOSING:           /* 終了、FIN 交換済み、ACK å¾
    969 ã¡     */
    970         case TCP_FSM_LAST_ACK:          /* FIN 受信、終了、ACK å¾
    971 ã¡     */
    972         case TCP_FSM_TIME_WAIT:         /* 終了、時間å¾
    973 ã¡             */
     933        case TCP_FSM_ESTABLISHED:       /* コネクション開設完了           */
     934        case TCP_FSM_FIN_WAIT_1:        /* 終了して、FIN 送信済み                */
     935        case TCP_FSM_FIN_WAIT_2:        /* 終了、FIN 伝達確認受信、FIN待ち*/
     936        case TCP_FSM_CLOSE_WAIT:        /* FIN 受信、クローズ待ち                */
     937        case TCP_FSM_CLOSING:           /* 終了、FIN 交換済み、ACK 待ち   */
     938        case TCP_FSM_LAST_ACK:          /* FIN 受信、終了、ACK 待ち     */
     939        case TCP_FSM_TIME_WAIT:         /* 終了、時間待ち              */
    974940
    975941                if (SEQ_LE(tcph->ack, cep->snd_una)) {
    976942
    977943                        /*
    978                          *  受信確認 ACK が 未確認の最小送信 SEQ (snd_una) と同じか以前のときの処理
    979                          *  つまり、多重に ACK を受信したことを意味している。
     944                         *  受信確認 ACK が 未確認の最小送信 SEQ (snd_una) と同じか以前のときの処理
     945                         *  つまり、多重に ACK を受信したことを意味している。
    980946                         */
    981947
    982                         if (tcph->sum == 0 && tcph->win == cep->snd_wnd) {      /* tcph->sum は SDU 長 */
     948                        if (tcph->sum == 0 && tcph->win == cep->snd_wnd) {      /* tcph->sum は SDU 長 */
    983949
    984950                                /*
    985                                  *  SDU がなく、相手のウィンドサイズが変更されていなければ、
    986                                  *  すでに送信したセグメントの中で、ACK (tcph->ack) と
    987                                  *  同じ SEQ から始まるセグメントが、途中で消失した可能性がある。
    988                                  *  この場合は、高速再転送と高速リカバリを行う。
     951                                 *  SDU がなく、相手のウィンドサイズが変更されていなければ、
     952                                 *  すでに送信したセグメントの中で、ACK (tcph->ack) と
     953                                 *  同じ SEQ から始まるセグメントが、途中で消失した可能性がある。
     954                                 *  この場合は、高速再転送と高速リカバリを行う。
    989955                                 */
    990956                                NET_COUNT_TCP(net_count_tcp[NC_TCP_RECV_DUP_ACKS], 1);
     
    993959
    994960                                        /*
    995                                          *  再送タイマがセットされていないとき、
    996                                          *  または、ACK (tcph->ack) と未確認の最小送信 SEQが
    997                                          *  一致しないときは、多重 ACK 数を 0 にする。
     961                                         *  再送タイマがセットされていないとき、
     962                                         *  または、ACK (tcph->ack) と未確認の最小送信 SEQが
     963                                         *  一致しないときは、多重 ACK 数を 0 にする。
    998964                                         */
    999965                                        cep->dupacks = 0;
     
    1003969
    1004970                                        /*
    1005                                          *  多重 ACK 数がしきい値 (標準 3) になったら
    1006                                          *  高速再転送処理を開始する。
     971                                         *  多重 ACK 数がしきい値 (標準 3) になったら
     972                                         *  高速再転送処理を開始する。
    1007973                                         */
    1008974                                        uint_t          win;
    1009975
    1010976                                        /*
    1011                                          *  輻輳ウィンドサイズ(snd_cwnd)のしきい値を設定する。
     977                                         *  輻輳ウィンドサイズ(snd_cwnd)のしきい値を設定する。
    1012978                                         *
    1013                                          *    相手の受信可能ウィンドサイズ (snd_wnd) か
    1014                                          *    輻輳ウィンドサイズ (snd_cwnd) の 1/2。
    1015                                          *    ただし、2 * maxseg 以上。
     979                                         *    相手の受信可能ウィンドサイズ (snd_wnd) か
     980                                         *    輻輳ウィンドサイズ (snd_cwnd) の 1/2。
     981                                         *    ただし、2 * maxseg 以上。
    1016982                                         *
    1017983                                         */
     
    1024990                                        cep->snd_ssthresh = win * cep->maxseg;
    1025991
    1026                                         /* 再送タイマと往復時間をリセットする。*/
     992                                        /* 再送タイマと往復時間をリセットする。*/
    1027993                                        cep->timer[TCP_TIM_REXMT] = 0;
    1028994                                        cep->rtt = 0;
    1029995
    1030                                         /* 消失したセグメントを送信する。*/
     996                                        /* 消失したセグメントを送信する。*/
    1031997                                        cep->snd_old_nxt = cep->snd_nxt;
    1032998                                        cep->snd_nxt     = tcph->ack;
     
    10341000
    10351001                                        /*
    1036                                          *  snd_nxt をå
    1037 ƒã«æˆ»ã™ã‚ˆã†ã«è¨­å®šã—て
    1038                                          *  送信を指示する。
     1002                                         *  snd_nxt を元に戻すように設定して
     1003                                         *  送信を指示する。
    10391004                                         */
    10401005                                        cep->flags |=  TCP_CEP_FLG_POST_OUTPUT |
     
    10441009                                        sig_sem(SEM_TCP_POST_OUTPUT);
    10451010
    1046                                         /* 輻輳ウィンドサイズを更新する。*/
     1011                                        /* 輻輳ウィンドサイズを更新する。*/
    10471012                                        cep->snd_cwnd = (uint16_t)(cep->snd_ssthresh
    10481013                                                           + cep->maxseg * cep->dupacks);
     
    10541019
    10551020                                        /*
    1056                                          *  多重 ACK 数がしきい値 (標準 3) をè¶
    1057 ãˆãŸã‚‰
    1058                                          *  輻輳ウィンドサイズを増加しながら再送する。
     1021                                         *  多重 ACK 数がしきい値 (標準 3) を超えたら
     1022                                         *  輻輳ウィンドサイズを増加しながら再送する。
    10591023                                         */
    10601024                                        cep->snd_cwnd += cep->maxseg;
    10611025
    1062                                         /* 送信を指示する。*/
     1026                                        /* 送信を指示する。*/
    10631027                                        cep->flags |=  TCP_CEP_FLG_POST_OUTPUT;
    10641028                                        sig_sem(SEM_TCP_POST_OUTPUT);
     
    10731037
    10741038                /*
    1075                  *  受信確認 ACK が 未確認の最小送信 SEQ (snd_una) 以降のときの処理
     1039                 *  受信確認 ACK が 未確認の最小送信 SEQ (snd_una) 以降のときの処理
    10761040                 */
    10771041                if (cep->dupacks >= MAX_TCP_REXMT_THRESH && cep->snd_cwnd > cep->snd_ssthresh)
    10781042                        /*
    1079                          *  高速再転送を行っていたときは、輻輳ウィンドサイズをしきい値まで戻す。
     1043                         *  高速再転送を行っていたときは、輻輳ウィンドサイズをしきい値まで戻す。
    10801044                         */
    10811045                        cep->snd_cwnd = (uint16_t)cep->snd_ssthresh;
     
    10851049                if (SEQ_GT(tcph->ack, cep->snd_max))
    10861050                        /*
    1087                          *  受信した ACK が送信した最大 SEQ をè¶
    1088 ãˆã¦ã„たときの処理
     1051                         *  受信した ACK が送信した最大 SEQ を超えていたときの処理
    10891052                         */
    10901053                        return drop_after_ack(input, cep, thoff);
     
    10921055                if (cep->flags & TCP_CEP_FLG_NEED_SYN) {
    10931056                        /*
    1094                          *  SYN 送信要求を取り消して、未確認の最小送信 SEQ を進める。
     1057                         *  SYN 送信要求を取り消して、未確認の最小送信 SEQ を進める。
    10951058                         */
    10961059                        cep->flags &= ~TCP_CEP_FLG_NEED_SYN;
     
    11051068
    11061069/*
    1107  *  update_wnd -- ウィンドサイズを更新する。
     1070 *  update_wnd -- ウィンドサイズを更新する。
    11081071 *
    1109  *    戻り値: 送信がå¿
    1110 è¦ãªã‚‰ true を返す。
     1072 *    戻り値: 送信が必要なら true を返す。
    11111073 */
    11121074
     
    11161078
    11171079        /*
    1118          *  更新条件
     1080         *  更新条件
    11191081         *
    1120          *    ACK フラグがセットされている &&
    1121          *    (前回ウィンドを更新した SEQ (snd_wl1) が SEQ より前 ||
    1122          *     å‰å›žã‚¦ã‚£ãƒ³ãƒ‰ã‚’更新した SEQ (snd_wl1) が SEQ と同じ &&
    1123          *     (前回ウィンドを更新した ACK (snd_wl2) が ACK より前 ||
    1124          *      (前回ウィンドを更新した ACK (snd_wl2) が ACK と同じ &&
    1125          *       WIN が相手の受信可能ウィンドサイズ (snd_wnd) より大きい
     1082         *    ACK フラグがセットされている &&
     1083         *    (前回ウィンドを更新した SEQ (snd_wl1) が SEQ より前 ||
     1084         *     前回ウィンドを更新した SEQ (snd_wl1) が SEQ と同じ &&
     1085         *     (前回ウィンドを更新した ACK (snd_wl2) が ACK より前 ||
     1086         *      (前回ウィンドを更新した ACK (snd_wl2) が ACK と同じ &&
     1087         *       WIN が相手の受信可能ウィンドサイズ (snd_wnd) より大きい
    11261088         *       )
    11271089         *      )
     
    11391101
    11401102                if (cep->snd_wnd > cep->max_sndwnd)
    1141                         /* 今までの最大送信ウィンドサイズを更新する。*/
     1103                        /* 今までの最大送信ウィンドサイズを更新する。*/
    11421104                        cep->max_sndwnd = cep->snd_wnd;
    11431105
     
    11471109
    11481110                        /*
    1149                          *  送信ウィンドバッファ用のネットワークバッファ割り当て中で、
    1150                          *  相手の受信ウィンドが空くのをå¾
    1151 ã£ã¦ã„るときの処理
     1111                         *  送信ウィンドバッファ用のネットワークバッファ割り当て中で、
     1112                         *  相手の受信ウィンドが空くのを待っているときの処理
    11521113                         */
    11531114                        if (cep->snd_wnd > 0) {
    11541115
    11551116                                /*
    1156                                  *  相手の受信ウィンドが空いたときは、
    1157                                  *  送信ウィンドバッファ用のネットワークバッファ割り当てを再開する。
     1117                                 *  相手の受信ウィンドが空いたときは、
     1118                                 *  送信ウィンドバッファ用のネットワークバッファ割り当てを再開する。
    11581119                                 */
    11591120                                cep->flags = (cep->flags & ~TCP_CEP_FLG_WBCS_MASK)
     
    11721133
    11731134/*
    1174  *  proc_urg -- 緊急データつきのセグメントの処理
     1135 *  proc_urg -- 緊急データつきのセグメントの処理
    11751136 */
    11761137
     
    11831144            TCP_FSM_HAVE_RCVD_FIN(cep->fsm_state) == 0) {
    11841145
    1185                 /* 緊急データつきのセグメントの処理 */
     1146                /* 緊急データつきのセグメントの処理 */
    11861147
    11871148                NET_COUNT_TCP(net_count_tcp[NC_TCP_RECV_URG_SEGS], 1);
     
    11891150
    11901151                        /*
    1191                          *  緊急ポインタの位置が受信ウィンドバッファの
    1192                          *  範囲をè¶
    1193 ãˆã‚‹ã¨ãã¯ä½•ã‚‚しない。
     1152                         *  緊急ポインタの位置が受信ウィンドバッファの
     1153                         *  範囲を超えるときは何もしない。
    11941154                         */
    11951155                        tcph->urp    = 0;
     
    11981158
    11991159                if (SEQ_GT(tcph->seq + tcph->urp, cep->rcv_up))
    1200                         /* 緊急ポインタが更新されたときの処理 */
     1160                        /* 緊急ポインタが更新されたときの処理 */
    12011161                        cep->rcv_up = tcph->seq + tcph->urp;
    12021162
    1203                 if ((tcph->flags & TCP_FLG_URG) && (tcph->urp + TCP_CFG_URG_OFFSET) < tcph->sum) {      /* tcph->sum は TCP の SDU 長 */
     1163                if ((tcph->flags & TCP_FLG_URG) && (tcph->urp + TCP_CFG_URG_OFFSET) < tcph->sum) {      /* tcph->sum は TCP の SDU 長 */
    12041164
    12051165                        /*
    1206                          *  緊急ポインタの位置が、今回受信したセグメントå†
    1207 ã®å ´åˆã¯ã€
    1208                          *  コールバック関数を呼び出す。
     1166                         *  緊急ポインタの位置が、今回受信したセグメント内の場合は、
     1167                         *  コールバック関数を呼び出す。
    12091168                         */
    12101169                        cep->urg_tcph = tcph;
     
    12291188
    12301189                        if (cep->urg_tcph != NULL) {
    1231                                 /* コールバック関数å†
    1232 ã§ tcp_rcv_oob() を呼出さなかった。*/
     1190                                /* コールバック関数内で tcp_rcv_oob() を呼出さなかった。*/
    12331191                                cep->urg_tcph = NULL;
    12341192                                tcph->urp = 0;
     
    12361194                        else {
    12371195                                /*
    1238                                  *  コールバック関数å†
    1239 ã§ tcp_rcv_oob() を呼出した時は、
    1240                                  *  SDU 長の補正値を設定する。
     1196                                 *  コールバック関数内で tcp_rcv_oob() を呼出した時は、
     1197                                 *  SDU 長の補正値を設定する。
    12411198                                 */
    12421199                                tcph->urp = 1;
     
    12651222
    12661223/*
    1267  *  drop_after_ack -- 受信セグメントを破棄した後、ACK を返す (注意: 名前とは合っていない)。
     1224 *  drop_after_ack -- 受信セグメントを破棄した後、ACK を返す (注意: 名前とは合っていない)。
    12681225 *
    1269  *    戻り値:
    1270  *      RET_RETURN      正常、リターンする。
    1271  *      RET_RST_DROP    エラー、RST を送信し、セグメントを破棄する。
     1226 *    戻り値:
     1227 *      RET_RETURN      正常、リターンする。
     1228 *      RET_RST_DROP    エラー、RST を送信し、セグメントを破棄する。
    12721229 */
    12731230
     
    12781235
    12791236        /*
    1280          *    SYN 受信状æ
    1281 ‹ã§ã€ACK が送達確認されていない最小送信 SEQ (snd_una) より
    1282          *    前の値か、送信された最大 SEQ (snd_max) より後の値の場合は、相手に RST を
    1283          *    送って終了する。これは、"LAND" DoS 攻撃への防御であり、偽造された SYN
    1284          *    セグメントを送信しつづけるポート間での ACK ストームを防ぐ。
     1237         *    SYN 受信状態で、ACK が送達確認されていない最小送信 SEQ (snd_una) より
     1238         *    前の値か、送信された最大 SEQ (snd_max) より後の値の場合は、相手に RST を
     1239         *    送って終了する。これは、"LAND" DoS 攻撃への防御であり、偽造された SYN
     1240         *    セグメントを送信しつづけるポート間での ACK ストームを防ぐ。
    12851241         */
    12861242        if (cep->fsm_state == TCP_FSM_SYN_RECVD && (tcph->flags & TCP_FLG_ACK) &&
     
    12911247        syscall(rel_net_buf(input));
    12921248
    1293         /* 送信を指示する。*/
     1249        /* 送信を指示する。*/
    12941250        cep->flags |=  TCP_CEP_FLG_ACK_NOW | TCP_CEP_FLG_POST_OUTPUT;
    12951251        sig_sem(SEM_TCP_POST_OUTPUT);
     
    12981254
    12991255/*
    1300  *  close_connection -- コネクション開放処理、相手から FIN を受信した。
     1256 *  close_connection -- コネクション開放処理、相手から FIN を受信した。
    13011257 */
    13021258
     
    13231279
    13241280        switch (cep->fsm_state) {
    1325         case TCP_FSM_SYN_RECVD:         /* SYN を受信し、SYN 送信済み  */
    1326         case TCP_FSM_ESTABLISHED:       /* コネクション開設完了               */
     1281        case TCP_FSM_SYN_RECVD:         /* SYN を受信し、SYN 送信済み    */
     1282        case TCP_FSM_ESTABLISHED:       /* コネクション開設完了           */
    13271283                cep->fsm_state = TCP_FSM_CLOSE_WAIT;
    13281284                syscall(set_flg(cep->snd_flgid, TCP_CEP_EVT_RWBUF_READY));
    13291285                break;
    13301286
    1331         case TCP_FSM_FIN_WAIT_1:        /* APP が終了、FIN 送信済み、ACK å¾
    1332 ã¡ */
     1287        case TCP_FSM_FIN_WAIT_1:        /* APP が終了、FIN 送信済み、ACK 待ち */
    13331288                cep->fsm_state = TCP_FSM_CLOSING;
    13341289                break;
    13351290
    1336         case TCP_FSM_FIN_WAIT_2:        /* 相手からの FIN å¾
    1337 ã¡ */
     1291        case TCP_FSM_FIN_WAIT_2:        /* 相手からの FIN 待ち */
    13381292                cep->fsm_state = TCP_FSM_TIME_WAIT;
    13391293                tcp_cancel_timers(cep);
     
    13411295
    13421296                /*
    1343                  *  FIN WAIT 2 状æ
    1344 ‹ã§ã¯ã€
    1345                  *  受信は可能であるが、すでに送信は終了している。
    1346                  *  相手の送信も終了したので、å
    1347 ¥åŠ›ã‚¿ã‚¹ã‚¯ã®ã¿èµ·åºŠã™ã‚‹ã€‚
     1297                 *  FIN WAIT 2 状態では、
     1298                 *  受信は可能であるが、すでに送信は終了している。
     1299                 *  相手の送信も終了したので、入力タスクのみ起床する。
    13481300                 */
    13491301                syscall(set_flg(cep->snd_flgid, TCP_CEP_EVT_SWBUF_READY));
     
    13511303#if defined(NUM_TCP_TW_CEP_ENTRY) && NUM_TCP_TW_CEP_ENTRY > 0
    13521304
    1353                 /* 相手からの FIN に対して応答を返す。*/
     1305                /* 相手からの FIN に対して応答を返す。*/
    13541306                tcp_respond(NULL, cep, cep->rcv_nxt, cep->snd_una,
    13551307                            cep->rbufsz - cep->rwbuf_count, TCP_FLG_ACK);
     
    13581310
    13591311                /*
    1360                  *  å¿
    1361 è¦ãªæƒ
    1362 å ±ã‚’ Time Wait 用 TCP 通信端点に移して、
    1363                  *  標準の TCP 通信端点を開放する。
     1312                 *  必要な情報を Time Wait 用 TCP 通信端点に移して、
     1313                 *  標準の TCP 通信端点を開放する。
    13641314                 */
    13651315                tcp_move_twcep(cep);
     
    13691319                break;
    13701320
    1371         case TCP_FSM_TIME_WAIT:         /* 相手からの FIN 受信済み、時間å¾
    1372 ã¡ */
     1321        case TCP_FSM_TIME_WAIT:         /* 相手からの FIN 受信済み、時間待ち */
    13731322                cep->timer[TCP_TIM_2MSL] = 2 * TCP_TVAL_MSL;
    13741323                break;
     
    13771326
    13781327/*
    1379  *  tcp_input -- TCP のå
    1380 ¥åŠ›é–¢æ•°
     1328 *  tcp_input -- TCP の入力関数
    13811329 *
    1382  *      注意: input には IF ヘッダと IP ヘッダがå
    1383 ˆé ­ã«ã‚る。
     1330 *      注意: input には IF ヘッダと IP ヘッダが先頭にある。
    13841331 */
    13851332
     
    14071354        NET_COUNT_MIB(tcp_stats.tcpInSegs, 1);
    14081355
    1409         /* ヘッダ長をチェックする。*/
     1356        /* ヘッダ長をチェックする。*/
    14101357        if (input->len < IF_IP_TCP_HDR_SIZE(input)) {
    14111358                NET_COUNT_TCP(net_count_tcp[NC_TCP_RECV_BAD_HEADERS], 1);
     
    14151362        tcph = GET_TCP_HDR(input, *offp);
    14161363
    1417         seglen  = input->len - *offp;                           /* TCP のセグメント長 */
     1364        seglen  = input->len - *offp;                           /* TCP のセグメント長 */
    14181365
    14191366        if (IN_CKSUM(input, IPPROTO_TCP, *offp, (uint_t)seglen) != 0) {
     
    14221369                }
    14231370
    1424         /* TCP ヘッダ長をチェックする。*/
     1371        /* TCP ヘッダ長をチェックする。*/
    14251372        if (TCP_HDR_LEN(tcph->doff) < TCP_HDR_SIZE || TCP_HDR_LEN(tcph->doff) > seglen) {
    14261373                NET_COUNT_TCP(net_count_tcp[NC_TCP_RECV_BAD_HEADERS], 1);
    14271374                goto drop;
    14281375                }
    1429         tcph->sum = seglen - TCP_HDR_LEN(tcph->doff);           /* ここから tcph->sum は TCP の SDU 長 */
     1376        tcph->sum = seglen - TCP_HDR_LEN(tcph->doff);           /* ここから tcph->sum は TCP の SDU 長 */
    14301377
    14311378        /*
    1432          *  SYN と FIN の両ビットがセットされていれば破棄する。nmap 等の対策
    1433          *  ただし、RFC1644 T/TCP 拡張機能と競合する。
     1379         *  SYN と FIN の両ビットがセットされていれば破棄する。nmap 等の対策
     1380         *  ただし、RFC1644 T/TCP 拡張機能と競合する。
    14341381         */
    14351382        if ((tcph->flags & (TCP_FLG_SYN | TCP_FLG_FIN)) == (TCP_FLG_SYN | TCP_FLG_FIN))
    14361383                goto drop;
    14371384
    1438         /* ネットワークオーダーからホストオーダーに変換する。*/
     1385        /* ネットワークオーダーからホストオーダーに変換する。*/
    14391386
    14401387        NTOHL(tcph->seq);
     
    14451392        NTOHS(tcph->dport);
    14461393
    1447         /* SDU 長 より 緊急ポインタが大きい場合 */
     1394        /* SDU 長 より 緊急ポインタが大きい場合 */
    14481395        if (tcph->urp > tcph->sum)
    14491396                goto drop;
     
    14541401
    14551402        /*
    1456          *  状æ
    1457 ‹ãŒ Time Wait 中の CEP を探索する。
     1403         *  状態が Time Wait 中の CEP を探索する。
    14581404         */
    14591405        twcep = tcp_find_twcep(input, *offp);
    14601406        if (twcep != NULL) {
    14611407
    1462                 if (tcph->flags & TCP_FLG_RST)          /* RST フラグを受信したときは無視する。*/
     1408                if (tcph->flags & TCP_FLG_RST)          /* RST フラグを受信したときは無視する。*/
    14631409                        goto drop;
    14641410                else {
    14651411
    14661412                        /*
    1467                          *    TCP 通信端点が Time Wait の時、相手ホストからセグメントが来たときは、
    1468                          *    相手ホストの FIN に対する自ホストの ACK セグメントが途中で
    1469                          *    損失したことを意味しているので、ACK セグメントを再送する。
     1413                         *    TCP 通信端点が Time Wait の時、相手ホストからセグメントが来たときは、
     1414                         *    相手ホストの FIN に対する自ホストの ACK セグメントが途中で
     1415                         *    損失したことを意味しているので、ACK セグメントを再送する。
    14701416                         */
    14711417
    1472                         /* ホストオーダーからネットワークオーダーに戻す。*/
     1418                        /* ホストオーダーからネットワークオーダーに戻す。*/
    14731419                        HTONS(tcph->sport);
    14741420                        HTONS(tcph->dport);
     
    14791425                }
    14801426        else
    1481                 /* 標準の TCP 通信端点を得る。*/
     1427                /* 標準の TCP 通信端点を得る。*/
    14821428                cep = tcp_find_cep(input, *offp);
    14831429
    14841430#else   /* of #if defined(NUM_TCP_TW_CEP_ENTRY) && NUM_TCP_TW_CEP_ENTRY > 0 */
    14851431
    1486         /* TCP 通信端点を得る。*/
     1432        /* TCP 通信端点を得る。*/
    14871433        cep = tcp_find_cep(input, *offp);
    14881434
     
    14901436
    14911437        /*
    1492          *  TCP 通信端点がない場合と CEP の状æ
    1493 ‹ãŒã‚¯ãƒ­ãƒ¼ã‚ºãªã‚‰ç ´æ£„する。
     1438         *  TCP 通信端点がない場合と CEP の状態がクローズなら破棄する。
    14941439         */
    14951440        if (cep == NULL) {
     
    15091454
    15101455        /*
    1511          *  コネクション開設済みでセグメントを受信したときは、
    1512          *  アイドル時間と生存確認タイマをリセットする。
     1456         *  コネクション開設済みでセグメントを受信したときは、
     1457         *  アイドル時間と生存確認タイマをリセットする。
    15131458         */
    15141459        cep->idle = 0;
     
    15171462                }
    15181463
    1519         /* CEP の状æ
    1520 ‹ãŒ LISTEN 以外の時は、オプションを処理する。*/
     1464        /* CEP の状態が LISTEN 以外の時は、オプションを処理する。*/
    15211465        if (cep->fsm_state != TCP_FSM_LISTEN)
    15221466                parse_option(tcph, cep);
    15231467
    15241468        /*
    1525          *  受信可能ウィンドサイズを計算する。
     1469         *  受信可能ウィンドサイズを計算する。
    15261470         *
    1527          *  rcv_nxt:     å—信を期å¾
    1528 ã—ている最小の SEQ(これ以前は受信済み)
    1529          *  rcv_adv:     å—信を期å¾
    1530 ã—ている最大の SEQ
    1531          *  rbufsz:      受信ウィンドバッファサイズ
    1532          *  rwbuf_count:  受信ウィンドバッファにあるデータ量
    1533          *  tcph->sum:   ä»Šå›žå—信した SDU サイズ
     1471         *  rcv_nxt:     受信を期待している最小の SEQ(これ以前は受信済み)
     1472         *  rcv_adv:     受信を期待している最大の SEQ
     1473         *  rbufsz:      受信ウィンドバッファサイズ
     1474         *  rwbuf_count:  受信ウィンドバッファにあるデータ量
     1475         *  tcph->sum:   今回受信した SDU サイズ
    15341476         *
    1535          *  今回受信したセグメントを順序整列キューに連結する
    1536          *  可能性があるので tcph->sum を考æ
    1537 ®ã™ã‚‹ã€‚
     1477         *  今回受信したセグメントを順序整列キューに連結する
     1478         *  可能性があるので tcph->sum を考慮する。
    15381479         *
    15391480         */
     
    15461487                cep->rcv_wnd = cep->rcv_adv - cep->rcv_nxt;
    15471488
    1548         /* CEP の状æ
    1549 ‹ã«ã‚ˆã‚Šå‡¦ç†ã‚’行う。*/
    1550 
    1551         if (cep->fsm_state == TCP_FSM_LISTEN) {         /* 受動オープン (LISTEN) の処理。*/
     1489        /* CEP の状態により処理を行う。*/
     1490
     1491        if (cep->fsm_state == TCP_FSM_LISTEN) {         /* 受動オープン (LISTEN) の処理。*/
    15521492                if ((ret = listening(input, cep, *offp, iss)) == RET_RST_DROP)
    15531493                        goto reset_drop;
    15541494                else if (ret == RET_DROP)
    15551495                        goto drop;
    1556                 trim_length(tcph, cep);                 /* 受信した SDU 長を調整する。*/
    1557 
    1558                 if (tcph->flags & TCP_FLG_ACK) {        /* ACK フラグの処理 */
     1496                trim_length(tcph, cep);                 /* 受信した SDU 長を調整する。*/
     1497
     1498                if (tcph->flags & TCP_FLG_ACK) {        /* ACK フラグの処理 */
    15591499                        if ((ret = proc_ack2(input, cep, *offp, &needoutput)) == RET_DROP)
    15601500                                goto drop;
     
    15651505                        }
    15661506                }
    1567         else if (cep->fsm_state == TCP_FSM_SYN_SENT) {  /* 能動オープン、SYN 送信済み        */
     1507        else if (cep->fsm_state == TCP_FSM_SYN_SENT) {  /* 能動オープン、SYN 送信済み      */
    15681508                if ((ret = syn_sent(tcph, cep)) == RET_RST_DROP)
    15691509                        goto reset_drop;
    15701510                else if (ret == RET_DROP)
    15711511                        goto drop;
    1572                 trim_length(tcph, cep);                 /* 受信した SDU 長を調整する。*/
    1573 
    1574                 if (tcph->flags & TCP_FLG_ACK) {        /* ACK フラグの処理 */
     1512                trim_length(tcph, cep);                 /* 受信した SDU 長を調整する。*/
     1513
     1514                if (tcph->flags & TCP_FLG_ACK) {        /* ACK フラグの処理 */
    15751515                        if ((ret = proc_ack2(input, cep, *offp, &needoutput)) == RET_DROP)
    15761516                                goto drop;
     
    15821522                }
    15831523        else {
    1584                 if (cep->fsm_state == TCP_FSM_SYN_RECVD) {      /* SYN を受信、SYN 送信済み     */
     1524                if (cep->fsm_state == TCP_FSM_SYN_RECVD) {      /* SYN を受信、SYN 送信済み     */
    15851525                        /*
    1586                          *  相手から受信確認が送られて来ても、
     1526                         *  相手から受信確認が送られて来ても、
    15871527                         *
    1588                          *    ACK <= 未確認の最小送信 SEQ (snd_una) &&
    1589                          *           é€ä¿¡ã—た最大     SEQ (snd_max) < ACK
     1528                         *    ACK <= 未確認の最小送信 SEQ (snd_una) &&
     1529                         *           送信した最大     SEQ (snd_max) < ACK
    15901530                         *
    1591                          *  なら、リセットを送ってセグメントを破棄する。
     1531                         *  なら、リセットを送ってセグメントを破棄する。
    15921532                         */
    15931533                        if ((tcph->flags & TCP_FLG_ACK) &&
     
    15981538
    15991539                /*
    1600                  *  RST フラグを受信したときの処理 (異常切断)
     1540                 *  RST フラグを受信したときの処理 (異常切断)
    16011541                 */
    16021542                if (tcph->flags & TCP_FLG_RST) {
     
    16041544                            SEQ_LT(tcph->seq, cep->last_ack_sent + cep->rcv_wnd)) {
    16051545                                /*
    1606                                  *  受信したセグメントの SEQ が、最後に送信した ACK (last_ack_sent)
    1607                                  *  から、受信ウインドウサイズまでの間の処理
     1546                                 *  受信したセグメントの SEQ が、最後に送信した ACK (last_ack_sent)
     1547                                 *  から、受信ウインドウサイズまでの間の処理
    16081548                                 */
    16091549                                switch (cep->fsm_state) {
    1610                                 case TCP_FSM_SYN_RECVD:         /* SYN を受信し、SYN 送信済み          */
    1611 
    1612                                         cep->net_error = EV_CNNRF;      /* 接続不能 */
     1550                                case TCP_FSM_SYN_RECVD:         /* SYN を受信し、SYN 送信済み            */
     1551
     1552                                        cep->net_error = EV_CNNRF;      /* 接続不能 */
    16131553                                        cep->error     = E_CLS;
    16141554                                        NET_COUNT_TCP(net_count_tcp[NC_TCP_RECV_RSTS], 1);
     
    16171557                                        break;
    16181558
    1619                                 case TCP_FSM_ESTABLISHED:       /* コネクション開設完了                       */
    1620                                 case TCP_FSM_CLOSE_WAIT:        /* FIN 受信、クローズå¾
    1621 ã¡             */
     1559                                case TCP_FSM_ESTABLISHED:       /* コネクション開設完了                   */
     1560                                case TCP_FSM_CLOSE_WAIT:        /* FIN 受信、クローズ待ち                */
    16221561                                        NET_COUNT_MIB(tcp_stats.tcpEstabResets, 1);
    16231562                                        /* fallthrough */
    16241563
    1625                                 case TCP_FSM_FIN_WAIT_1:        /* 終了して、FIN 送信済み              */
    1626                                 case TCP_FSM_FIN_WAIT_2:        /* 終了、FIN 伝達確認受信、FINå¾
    1627 ã¡     */
    1628 
    1629                                         cep->net_error = EV_CNRST;      /* 接続リセット */
     1564                                case TCP_FSM_FIN_WAIT_1:        /* 終了して、FIN 送信済み                */
     1565                                case TCP_FSM_FIN_WAIT_2:        /* 終了、FIN 伝達確認受信、FIN待ち  */
     1566
     1567                                        cep->net_error = EV_CNRST;      /* 接続リセット */
    16301568                                        cep->error     = E_CLS;
    16311569                                        NET_COUNT_TCP(net_count_tcp[NC_TCP_RECV_RSTS], 1);
    16321570                                        /* no break; */
    16331571
    1634                                 case TCP_FSM_CLOSING:           /* 終了、FIN 交換済み、ACK å¾
    1635 ã¡     */
    1636                                 case TCP_FSM_LAST_ACK:          /* FIN 受信、終了、ACK å¾
    1637 ã¡     */
     1572                                case TCP_FSM_CLOSING:           /* 終了、FIN 交換済み、ACK 待ち   */
     1573                                case TCP_FSM_LAST_ACK:          /* FIN 受信、終了、ACK 待ち     */
    16381574
    16391575                                        cep = tcp_close(cep);
     
    16451581
    16461582                /*
    1647                  *  CEP の状æ
    1648 ‹ãŒ SYN を受信し、SYN 送信済みの場合は、
    1649                  *  受信ウィンドに収まるようにデータを
    1650                  *  調整する前に、この接続によるパケットかどうかを検証する。
     1583                 *  CEP の状態が SYN を受信し、SYN 送信済みの場合は、
     1584                 *  受信ウィンドに収まるようにデータを
     1585                 *  調整する前に、この接続によるパケットかどうかを検証する。
    16511586                 *
    1652                  *    受信した相手の SEQ < 相手の SEQ の初期値 (irs)
     1587                 *    受信した相手の SEQ < 相手の SEQ の初期値 (irs)
    16531588                 *
    1654                  *  これは、"LAND" DoS 攻撃の防御である。
     1589                 *  これは、"LAND" DoS 攻撃の防御である。
    16551590                 */
    16561591                if (cep->fsm_state == TCP_FSM_SYN_RECVD && SEQ_LT(tcph->seq, cep->irs)) {
     
    16591594
    16601595                /*
    1661                  *  受信を期å¾
    1662 ã—ている最小の SEQ (rcv_nxt) - 受信した相手の SEQ が
    1663                  *  正なら、rcv_nxt 以前のデータはすでに受信しているので、その部分を
    1664                  *  削除する。
     1596                 *  受信を期待している最小の SEQ (rcv_nxt) - 受信した相手の SEQ が
     1597                 *  正なら、rcv_nxt 以前のデータはすでに受信しているので、その部分を
     1598                 *  削除する。
    16651599                 *                           <---------- rcv_wnd --------->
    16661600                 *                           rcv_nxt                      rcv_nxt + rcv_wnd
     
    16741608                 *           ^                      ^
    16751609                 *           seq                    seq + len
    1676                  *           <---------------> 削除する。
     1610                 *           <---------------> 削除する。
    16771611                 */
    16781612                todrop = cep->rcv_nxt - tcph->seq;
     
    16801614
    16811615                        /*
    1682                          *  SYN フラグがついているときは、その分 (1 オクテット)
    1683                          *  SEQ を進め、緊急ポインタと削除する長さを調整する。
     1616                         *  SYN フラグがついているときは、その分 (1 オクテット)
     1617                         *  SEQ を進め、緊急ポインタと削除する長さを調整する。
    16841618                         */
    16851619                        if (tcph->flags & TCP_FLG_SYN) {
     
    16941628
    16951629                        /*
    1696                          *  削除する長さが SDU より長い、つまり、受信を期å¾
    1697 ã—ている
    1698                          *  最小の SEQ (rcv_nxt) に達していないか、
    1699                          *  削除する長さが SDU と同じで、FIN フラグがついてなければ
    1700                          *  å
    1701 ¨ã¦å‰Šé™¤ã™ã‚‹ã€‚
     1630                         *  削除する長さが SDU より長い、つまり、受信を期待している
     1631                         *  最小の SEQ (rcv_nxt) に達していないか、
     1632                         *  削除する長さが SDU と同じで、FIN フラグがついてなければ
     1633                         *  全て削除する。
    17021634                         */
    1703                         if ( todrop >  tcph->sum ||             /* tcph->sum は TCP の SDU 長 */
     1635                        if ( todrop >  tcph->sum ||             /* tcph->sum は TCP の SDU 長 */
    17041636                            (todrop == tcph->sum && (tcph->flags & TCP_FLG_FIN) == 0)) {
    17051637                                tcph->flags &= ~TCP_FLG_FIN;
    17061638                                cep->flags |= TCP_CEP_FLG_ACK_NOW;
    1707                                 todrop = tcph->sum;             /* tcph->sum は TCP の SDU 長 */
     1639                                todrop = tcph->sum;             /* tcph->sum は TCP の SDU 長 */
    17081640                                }
    17091641
    17101642                        /*
    1711                          *  SDU を前に詰める。
     1643                         *  SDU を前に詰める。
    17121644                         */
    1713                         if (todrop < tcph->sum) {               /* tcph->sum は TCP の SDU 長 */
     1645                        if (todrop < tcph->sum) {               /* tcph->sum は TCP の SDU 長 */
    17141646                                memcpy(GET_TCP_SDU(input, *offp),
    17151647                                       GET_TCP_SDU(input, *offp) + todrop, (size_t)(tcph->sum - todrop));
     
    17171649
    17181650                        /*
    1719                          *  SEQ と SDU 長を調整する。
     1651                         *  SEQ と SDU 長を調整する。
    17201652                         */
    17211653                        tcph->seq +=     todrop;
    1722                         tcph->sum -= (uint16_t)todrop;  /* tcph->sum は TCP の SDU 長 */
     1654                        tcph->sum -= (uint16_t)todrop;  /* tcph->sum は TCP の SDU 長 */
    17231655
    17241656                        /*
    1725                          *  緊急ポインタを調整する。
     1657                         *  緊急ポインタを調整する。
    17261658                         */
    17271659                        if (tcph->urp > todrop)
     
    17361668
    17371669                /* 
    1738                  *  もしユーザタスクが終了した後に、データを受信した
    1739                  *  場合は、RST を送る。
    1740                  */
    1741                 if (cep->fsm_state == TCP_FSM_LAST_ACK && tcph->sum > 0) {      /* tcph->sum は TCP の SDU 長 */
     1670                 *  もしユーザタスクが終了した後に、データを受信した
     1671                 *  場合は、RST を送る。
     1672                 */
     1673                if (cep->fsm_state == TCP_FSM_LAST_ACK && tcph->sum > 0) {      /* tcph->sum は TCP の SDU 長 */
    17421674                        cep = tcp_close(cep);
    17431675                        goto reset_drop;
     
    17451677
    17461678                /*
    1747                  *  受信セグメントが受信ウィンドをè¶
    1748 ãˆã‚‹å ´åˆã¯ã€
    1749                  *  è¶
    1750 ãˆãŸåˆ†ã‚’削る。
     1679                 *  受信セグメントが受信ウィンドを超える場合は、
     1680                 *  超えた分を削る。
    17511681                 *
    17521682                 *       <---------- rcv_wnd --------->
     
    17611691                 *                    ^                      ^
    17621692                 *                    seq                    seq + len
    1763                  *                                     <-----> 削除する。
    1764                  */
    1765                 todrop = (tcph->seq + tcph->sum) - (cep->rcv_nxt + cep->rcv_wnd);       /* tcph->sum は TCP の SDU 長 */
     1693                 *                                     <-----> 削除する。
     1694                 */
     1695                todrop = (tcph->seq + tcph->sum) - (cep->rcv_nxt + cep->rcv_wnd);       /* tcph->sum は TCP の SDU 長 */
    17661696                if (todrop > 0) {
    1767                         if (todrop > tcph->sum) {                                       /* tcph->sum は TCP の SDU 長 */
     1697                        if (todrop > tcph->sum) {                                       /* tcph->sum は TCP の SDU 長 */
    17681698                                /*
    1769                                  *  受信した SDU のå
    1770 ¨ã¦ãŒå—信ウィンドをè¶
    1771 ãˆã‚‹å ´åˆã€‚
     1699                                 *  受信した SDU の全てが受信ウィンドを超える場合。
    17721700                                 *
    1773                                  *  TIME_WAIT 中に、新たな接続要求を受信したら
    1774                                  *  古い接続を破棄し、新たな接続を開始する。
    1775                                  *  ただし、SEQ は前より進んでいなければならない。
     1701                                 *  TIME_WAIT 中に、新たな接続要求を受信したら
     1702                                 *  古い接続を破棄し、新たな接続を開始する。
     1703                                 *  ただし、SEQ は前より進んでいなければならない。
    17761704                                 */
    17771705                                if ((tcph->flags & TCP_FLG_SYN) &&
     
    17851713
    17861714                                /*
    1787                                  *  受信ウィンドが 0 で、受信した SEQ と
    1788                                  *  受信を期å¾
    1789 ã—ている最小の SEQ が一致したときは
    1790                                  *  ACK を返す。それ以外はデータを破棄し、ACK を返す。
     1715                                 *  受信ウィンドが 0 で、受信した SEQ と
     1716                                 *  受信を期待している最小の SEQ が一致したときは
     1717                                 *  ACK を返す。それ以外はデータを破棄し、ACK を返す。
    17911718                                 */
    17921719                                if (cep->rcv_wnd == 0 && (tcph->seq == cep->rcv_nxt || tcph->sum == 0)) {
     
    17991726                                        }
    18001727                                }
    1801                         tcph->sum -= (uint16_t)todrop;  /* tcph->sum は TCP の SDU 長 */
     1728                        tcph->sum -= (uint16_t)todrop;  /* tcph->sum は TCP の SDU 長 */
    18021729                        tcph->flags &= ~(TCP_FLG_PUSH | TCP_FLG_FIN);
    18031730                        }
    18041731
    18051732                /*
    1806                  *  もし、SYN がセットされていれば、
    1807                  *  エラーなので RST を送り、接続を破棄する。
     1733                 *  もし、SYN がセットされていれば、
     1734                 *  エラーなので RST を送り、接続を破棄する。
    18081735                 */
    18091736                if (tcph->flags & TCP_FLG_SYN) {
     
    18141741
    18151742                /*
    1816                  *  もし、ACK がセットされていない場合は、
    1817                  *  状æ
    1818 ‹ãŒ SYN 受信済みか
    1819                  *  SYN を送信しようとしていれば、処理を続けるが、
    1820                  *  それ以外はセグメントを破棄して終了する。
     1743                 *  もし、ACK がセットされていない場合は、
     1744                 *  状態が SYN 受信済みか
     1745                 *  SYN を送信しようとしていれば、処理を続けるが、
     1746                 *  それ以外はセグメントを破棄して終了する。
    18211747                 */
    18221748                if ((tcph->flags & TCP_FLG_ACK) == 0) {
     
    18261752                else {
    18271753                        /*
    1828                          * ACK の処理
     1754                         * ACK の処理
    18291755                         */
    18301756                        ret = proc_ack1(input, cep, *offp, &needoutput);
     
    18401766/* step 6 */
    18411767
    1842         /* 送信ウィンドを更新する。*/
     1768        /* 送信ウィンドを更新する。*/
    18431769        if (update_wnd(tcph, cep) == true)
    18441770                needoutput = true;
    18451771
    1846         /* 緊急データを処理する。*/
     1772        /* 緊急データを処理する。*/
    18471773        proc_urg(tcph, cep);
    18481774
     
    18501776
    18511777        /*
    1852          *  SDU があるか、FIN を未受信の状æ
    1853 ‹ã§ã€æœ€åˆã« FIN を受信したとき、
    1854          *  受信セグメントキューに net_buf を追加する。
    1855          *  それ以外の場合は、セグメントを破棄する。
     1778         *  SDU があるか、FIN を未受信の状態で、最初に FIN を受信したとき、
     1779         *  受信セグメントキューに net_buf を追加する。
     1780         *  それ以外の場合は、セグメントを破棄する。
    18561781         */
    18571782        flags = tcph->flags;
    1858         if ((tcph->sum > 0 || (flags & TCP_FLG_FIN)) &&         /* tcph->sum は TCP の SDU 長 */
     1783        if ((tcph->sum > 0 || (flags & TCP_FLG_FIN)) &&         /* tcph->sum は TCP の SDU 長 */
    18591784            TCP_FSM_HAVE_RCVD_FIN(cep->fsm_state) == 0) {
    18601785                flags = reassemble(input, cep, *offp, flags);
     
    18661791
    18671792        /*
    1868          *  FIN を受信したらコネクションをクローズする。
     1793         *  FIN を受信したらコネクションをクローズする。
    18691794         */
    18701795        if (flags & TCP_FLG_FIN)
    18711796                close_connection(cep, &needoutput);
    18721797
    1873         /* 出力を行った後終了する。*/
     1798        /* 出力を行った後終了する。*/
    18741799        if (needoutput == true || (cep->flags & TCP_CEP_FLG_ACK_NOW)) {
    1875                 /* 送信を指示する。*/
     1800                /* 送信を指示する。*/
    18761801                cep->flags |=  TCP_CEP_FLG_POST_OUTPUT;
    18771802                sig_sem(SEM_TCP_POST_OUTPUT);
     
    18821807reset_drop:
    18831808        /*
    1884          *  RST 送信処理
     1809         *  RST 送信処理
    18851810         */
    18861811
     
    18881813                goto drop;
    18891814
    1890         /* ホストオーダーからネットワークオーダーに戻す。*/
     1815        /* ホストオーダーからネットワークオーダーに戻す。*/
    18911816
    18921817        HTONS(tcph->sport);
     
    19021827        else {
    19031828                if (tcph->flags & TCP_FLG_SYN)
    1904                         tcph->sum ++;           /* tcph->sum は SDU 長 */
     1829                        tcph->sum ++;           /* tcph->sum は SDU 長 */
    19051830                tcp_respond(input, cep, tcph->seq + tcph->sum, 0, rbfree, TCP_FLG_RST | TCP_FLG_ACK);
    19061831                }
    19071832
    1908         /* input は tcp_respoond で返却される。*/
     1833        /* input は tcp_respoond で返却される。*/
    19091834        NET_COUNT_TCP(net_count_tcp[NC_TCP_SEND_RSTS], 1);
    19101835        NET_COUNT_MIB(tcp_stats.tcpOutRsts, 1);
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/tcp_output.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    125113
    126114/*
    127  *  関数
     115 *  関数
    128116 */
    129117
     
    132120
    133121/*
    134  *  変数
     122 *  変数
    135123 */
    136124
    137 /* 出力時のフラグを FSM 状æ
    138 ‹ã«ã‚ˆã‚Šé¸æŠžã™ã‚‹ãŸã‚ã®è¡¨ */
     125/* 出力時のフラグを FSM 状態により選択するための表 */
    139126
    140127const 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, 終了、時間待ち                  */
    157139        };
    158140
    159141/*
    160  *  send_segment -- TCP 出力処理
     142 *  send_segment -- TCP 出力処理
    161143 */
    162144
     
    188170
    189171        /*
    190          *  セグメント長を、相手の最大受信セグメント長に調整する。
    191          *  もし、è¶
    192 ãˆã¦ã„る場合は、è¶
    193 ãˆãŸåˆ†ã‚’後で送信する。
    194          *  このため、FIN ビットをクリアする。
     172         *  セグメント長を、相手の最大受信セグメント長に調整する。
     173         *  もし、超えている場合は、超えた分を後で送信する。
     174         *  このため、FIN ビットをクリアする。
    195175         *
    196          *  オリジナルでは、t_maxopd を制限長にしているが、
    197          *  本実è£
    198 ã§ã¯ã€ç›¸æ‰‹ã®æœ€å¤§å—信セグメントにする。
     176         *  オリジナルでは、t_maxopd を制限長にしているが、
     177         *  本実装では、相手の最大受信セグメントにする。
    199178         */
    200179        if (len + optlen > cep->maxseg) {
     
    205184
    206185        /*
    207          *  送信バッファが空になるときは PUSH フラグを設定する。
     186         *  送信バッファが空になるときは PUSH フラグを設定する。
    208187         */
    209188        if (len && doff + len >= cep->swbuf_count)
     
    216195
    217196                /*
    218                  *  送信ウインドバッファが開放されないようにして、
    219                  *  ネットワークバッファを出力に移す。
     197                 *  送信ウインドバッファが開放されないようにして、
     198                 *  ネットワークバッファを出力に移す。
    220199                 */
    221200                cep->swbufq->flags |= NB_FLG_NOREL_IFOUT;
     
    225204
    226205                /*
    227                  *  ACK 完了状æ
    228 ‹ã§ã€ã“の関数が呼び出されることもある。
    229                  *  この時は、len を 0 にして、処理を継続する。
     206                 *  ACK 完了状態で、この関数が呼び出されることもある。
     207                 *  この時は、len を 0 にして、処理を継続する。
    230208                 */
    231209                len = 0;
     
    254232
    255233                /*
    256                  *  送信ウインドバッファが開放されないようにして、
    257                  *  ネットワークバッファを出力に移す。
     234                 *  送信ウインドバッファが開放されないようにして、
     235                 *  ネットワークバッファを出力に移す。
    258236                 */
    259237                cep->swbufq->flags |= NB_FLG_NOREL_IFOUT;
     
    263241
    264242                /*
    265                  *  ACK 完了状æ
    266 ‹ã§ã€ã“の関数が呼び出されることもある。
    267                  *  この時は、len を 0 にして、処理を継続する。
     243                 *  ACK 完了状態で、この関数が呼び出されることもある。
     244                 *  この時は、len を 0 にして、処理を継続する。
    268245                 */
    269246                len = 0;
     
    290267
    291268        /*
    292          *  TCP オプションの設定を行う。
    293          *  本実è£
    294 ã§ã¯ã€æœ€å¤§ã‚»ã‚°ãƒ¡ãƒ³ãƒˆã‚µã‚¤ã‚ºã®ã¿è¨­å®šã™ã‚‹ã€‚
     269         *  TCP オプションの設定を行う。
     270         *  本実装では、最大セグメントサイズのみ設定する。
    295271         */
    296272        hdr_offset = IF_IP_TCP_HDR_OFFSET(output);
     
    309285                }
    310286
    311         /* TCP SDU に送信データをコピーする。*/
     287        /* TCP SDU に送信データをコピーする。*/
    312288
    313289        if (len > 0) {
     
    335311
    336312        /*
    337          * snd_max: 送信した最大 SEQ
    338          * snd_nxt: 次に送信する SEQ
     313         * snd_max: 送信した最大 SEQ
     314         * snd_nxt: 次に送信する SEQ
    339315         *
    340          *  相手から FIN を受信し、まだ FIN を送信していないか、
    341          *  送るデータがないときは、FIN を相手に届けるため、
    342          *  セグメントを送信するが、SEQ は進めない。
     316         *  相手から FIN を受信し、まだ FIN を送信していないか、
     317         *  送るデータがないときは、FIN を相手に届けるため、
     318         *  セグメントを送信するが、SEQ は進めない。
    343319         */
    344320        if ((flags & TCP_FLG_FIN) && (cep->flags & TCP_CEP_FLG_SENT_FIN) &&
     
    350326
    351327        /*
    352          *  SEQ、ACK、フラグの設定。
     328         *  SEQ、ACK、フラグの設定。
    353329         */
    354330        if (len > 0 || (flags & (TCP_FLG_SYN | TCP_FLG_FIN)) || cep->timer[TCP_TIM_PERSIST] != 0)
     
    358334
    359335        /*
    360          *  rcv_nxt: 受信を期å¾
    361 ã—ている最小の SEQ
     336         *  rcv_nxt: 受信を期待している最小の SEQ
    362337         */
    363338        tcph->ack   = htonl(cep->rcv_nxt);
     
    365340
    366341        /*
    367          *  受信ウィンドの計算
     342         *  受信ウィンドの計算
    368343         *
    369          *  rbufsz: 受信用バッファサイズ
    370          *  maxseg: 相手の最大受信セグメントサイズ       
     344         *  rbufsz: 受信用バッファサイズ
     345         *  maxseg: 相手の最大受信セグメントサイズ     
    371346         */
    372347        if (win < (cep->rbufsz / 4) && win < cep->maxseg)
     
    374349
    375350        /*
    376          *  rcv_nxt: 受信を期å¾
    377 ã—ている最小の SEQ
    378          *  rcv_adv: 受信を期å¾
    379 ã—ている最大の SEQ
     351         *  rcv_nxt: 受信を期待している最小の SEQ
     352         *  rcv_adv: 受信を期待している最大の SEQ
    380353         */
    381354        if ((int32_t)win < (int32_t)(cep->rcv_adv - cep->rcv_nxt))
     
    387360
    388361        /*
    389          *  緊急ポインタの設定
     362         *  緊急ポインタの設定
    390363         */
    391364        if (SEQ_GT(cep->snd_up, cep->snd_nxt)) {
     
    404377
    405378        /*
    406          *  チェックサムを設定する。
     379         *  チェックサムを設定する。
    407380         */
    408381        tcph->sum = 0;
    409382        tcph->sum = IN_CKSUM(output, IPPROTO_TCP, hdr_offset, GET_TCP_HDR_SIZE(output, hdr_offset) + len);
    410383
    411         /* ネットワークバッファ長を調整する。*/
     384        /* ネットワークバッファ長を調整する。*/
    412385        output->len = (uint16_t)(GET_IF_IP_TCP_HDR_SIZE(output, hdr_offset) + len);
    413386
    414387        /*
    415          *  タイマの調整
     388         *  タイマの調整
    416389         */
    417390        if ((cep->flags & TCP_CEP_FLG_FORCE) == 0 || cep->timer[TCP_TIM_PERSIST] == 0) {
     
    419392
    420393                /*
    421                  *  次に送信する SEQ (snd_nxt) を今回送信するデータ数分進める。
     394                 *  次に送信する SEQ (snd_nxt) を今回送信するデータ数分進める。
    422395                 */
    423396                if (flags & TCP_FLG_SYN)
     
    431404
    432405                /*
    433                  *  次に送信する SEQ (snd_nxt) が
    434                  *  送信した最大 SEQ (snd_max) より進んでいれば、
    435                  *  送信した最大 SEQ (snd_max) を更新する。
     406                 *  次に送信する SEQ (snd_nxt) が
     407                 *  送信した最大 SEQ (snd_max) より進んでいれば、
     408                 *  送信した最大 SEQ (snd_max) を更新する。
    436409                 */
    437410                if (SEQ_GT(cep->snd_nxt, cep->snd_max)) {
    438411                        cep->snd_max = cep->snd_nxt;
    439412                        /*
    440                          *  もし、往復時間計測を行っていなければ、
    441                          *  この送信に時間を合わせる。
     413                         *  もし、往復時間計測を行っていなければ、
     414                         *  この送信に時間を合わせる。
    442415                         */
    443416                        if (cep->rtt == 0) {
    444417                                cep->rtt   = 1;
    445                                 cep->rtseq = startseq;  /* 更新前の cep->snd_nxt */
    446                                 }
    447                         }
    448 
    449                 /*
    450                  *  もし設定されていないか、ACK または保留が発生していなければ、
    451                  *  再送タイマを設定する。設定する初期値は、
    452                  * 「滑らかな往復時間 + 2 × 往復時間変動」である。
    453                  *  再送時間のバックオフに使われるシフトカウントも初期化する。
     418                                cep->rtseq = startseq;  /* 更新前の cep->snd_nxt */
     419                                }
     420                        }
     421
     422                /*
     423                 *  もし設定されていないか、ACK または保留が発生していなければ、
     424                 *  再送タイマを設定する。設定する初期値は、
     425                 * 「滑らかな往復時間 + 2 × 往復時間変動」である。
     426                 *  再送時間のバックオフに使われるシフトカウントも初期化する。
    454427                 */
    455428                if (cep->timer[TCP_TIM_REXMT] == 0 && cep->snd_nxt != cep->snd_una) {
     
    463436
    464437        /*
    465          *  次に送信する SEQ (snd_nxt) + 今回送信するデータ数 (len) が
    466          *  送信した最大 SEQ (snd_max) より進んでいれば、
    467          *  送信した最大 SEQ (snd_max) を更新する。
     438         *  次に送信する SEQ (snd_nxt) + 今回送信するデータ数 (len) が
     439         *  送信した最大 SEQ (snd_max) より進んでいれば、
     440         *  送信した最大 SEQ (snd_max) を更新する。
    468441         */
    469442        else if (SEQ_GT(cep->snd_nxt + len, cep->snd_max))
     
    483456#endif  /* of #ifdef TCP_CFG_TRACE */
    484457
    485         /* ネットワーク層 (IP) の出力関数を呼び出す。*/
     458        /* ネットワーク層 (IP) の出力関数を呼び出す。*/
    486459        if ((error = IP_OUTPUT(output, TMO_TCP_OUTPUT)) != E_OK)
    487460                goto err_ret;
    488461
    489462        /*
    490          *  相手に伝えたウィンドウサイズ (win) が 0 以上で、
    491          *  受信を期å¾
    492 ã—ている最小の SEQ (rcv_nxt) + win が
    493          *  受信を期å¾
    494 ã—ている最大の SEQ (rcv_adv) より進んでいれば
    495          *  受信を期å¾
    496 ã—ている最大の SEQ を更新する。
     463         *  相手に伝えたウィンドウサイズ (win) が 0 以上で、
     464         *  受信を期待している最小の SEQ (rcv_nxt) + win が
     465         *  受信を期待している最大の SEQ (rcv_adv) より進んでいれば
     466         *  受信を期待している最大の SEQ を更新する。
    497467         */
    498468        if (win > 0 && SEQ_GT(cep->rcv_nxt + win, cep->rcv_adv)) {
     
    501471
    502472        /*
    503          *  最後に送信した ACK (last_ack_sent) を更新する。
     473         *  最後に送信した ACK (last_ack_sent) を更新する。
    504474         */
    505475        cep->last_ack_sent = cep->rcv_nxt;
    506476
    507477        /*
    508          *  フラグの設定を行う。
     478         *  フラグの設定を行う。
    509479         */
    510480        cep->flags &= ~(TCP_CEP_FLG_ACK_NOW | TCP_CEP_FLG_DEL_ACK);
     
    516486err_ret:
    517487        /*
    518          * 以下に関係しないフラグをクリアーする。
    519          * ・送受信ウィンドバッファの省コピー機能
    520          * ・動的な通信端点の生成・削除機能
     488         * 以下に関係しないフラグをクリアーする。
     489         * ・送受信ウィンドバッファの省コピー機能
     490         * ・動的な通信端点の生成・削除機能
    521491         */
    522492        cep->flags &= TCP_CEP_FLG_NOT_CLEAR;
     
    526496
    527497/*
    528  *  tcp_output -- TCP 出力処理
     498 *  tcp_output -- TCP 出力処理
    529499 */
    530500
     
    539509
    540510        /*
    541          *  snd_una: 未確認の最小送信 SEQ        または、確認された最大送信 SEQ
    542          *  snd_max: 送信した最大 SEQ
     511         *  snd_una: 未確認の最小送信 SEQ        または、確認された最大送信 SEQ
     512         *  snd_max: 送信した最大 SEQ
    543513         */
    544514        idle = (cep->snd_max == cep->snd_una);
    545515
    546516        /*
    547          *  idle:   ã‚¢ã‚¤ãƒ‰ãƒ«æ™‚é–“
    548          *  rxtcur: 現在の再送タイムアウト
     517         *  idle:   アイドル時間
     518         *  rxtcur: 現在の再送タイムアウト
    549519         */
    550520        if (idle && cep->idle >= cep->rxtcur)
    551521
    552522                /*
    553                  *  snd_cwnd: 輻輳ウィンドサイズ
    554                  *  maxseg  : 相手の最大受信セグメントサイズ
     523                 *  snd_cwnd: 輻輳ウィンドサイズ
     524                 *  maxseg  : 相手の最大受信セグメントサイズ
    555525                 *
    556                  *  長時間アイドルだったのでスロースタート制御に設定する。
     526                 *  長時間アイドルだったのでスロースタート制御に設定する。
    557527                 */
    558528                cep->snd_cwnd = cep->maxseg;
     
    562532
    563533                /*
    564                  *  snd_nxt: 次に送信する SEQ、この時点では、前回送信した SEQ
    565                  *  snd_una: 未確認の最小送信 SEQ、または確認された最大送信 SEQ
     534                 *  snd_nxt: 次に送信する SEQ、この時点では、前回送信した SEQ
     535                 *  snd_una: 未確認の最小送信 SEQ、または確認された最大送信 SEQ
    566536                 *
    567                  *  doff: 送信を開始するオフセット。
    568                  *                                    swbuf_count (送信バッファにあるオクテット数)
     537                 *  doff: 送信を開始するオフセット。
     538                 *                                    swbuf_count (送信バッファにあるオクテット数)
    569539                 *    0                               V
    570540                 *    +-------------------------------------------+
     
    572542                 *    +-------------------------------------------+
    573543                 *    ^               ^
    574                  *    |<------------->snd_nxt (前回送信した SEQ)
     544                 *    |<------------->snd_nxt (前回送信した SEQ)
    575545                 *    |       doff
    576                  *    snd_una (まだ確認されていない)
     546                 *    snd_una (まだ確認されていない)
    577547                 */
    578548                doff = (uint_t)(cep->snd_nxt - cep->snd_una);
    579549
    580550                /*
    581                  *  snd_wnd:  相手の受信可能ウィンドサイズ
    582                  *  snd_cwnd: 輻輳ウィンドサイズ
     551                 *  snd_wnd:  相手の受信可能ウィンドサイズ
     552                 *  snd_cwnd: 輻輳ウィンドサイズ
    583553                 *
    584                  *  win: どちらか小さいウィンドサイズに設定する。
     554                 *  win: どちらか小さいウィンドサイズに設定する。
    585555                 */
    586556                win   = cep->snd_wnd < cep->snd_cwnd ? cep->snd_wnd : cep->snd_cwnd;
    587557       
    588                 /* 出力フラグの設定 */
     558                /* 出力フラグの設定 */
    589559                flags = tcp_outflags[cep->fsm_state];
    590560                if (cep->flags & TCP_CEP_FLG_NEED_FIN)
     
    595565
    596566                        /*
    597                          *  もし、送信ウインドサイズ (win) が 0 なら 1 オクテット送信する。
    598                          *  そうでなければ、持続タイムアウトをキャンセルし、
    599                          *  再送信回数 (rxtshift) を 0 にする。
     567                         *  もし、送信ウインドサイズ (win) が 0 なら 1 オクテット送信する。
     568                         *  そうでなければ、持続タイムアウトをキャンセルし、
     569                         *  再送信回数 (rxtshift) を 0 にする。
    600570                         */
    601571                        if (win == 0) {
    602572
    603573                                /*
    604                                  *  doff:        送信するオクテット数。
    605                                  *  swbuf_count: 送信バッファの使用中サイズ
     574                                 *  doff:        送信するオクテット数。
     575                                 *  swbuf_count: 送信バッファの使用中サイズ
    606576                                 *
    607                                  *  送信バッファに残っているオクテットが、これから
    608                                  *  送信しようとしているオクテット数より多ければ
    609                                  *  FIN フラグをクリアする。
     577                                 *  送信バッファに残っているオクテットが、これから
     578                                 *  送信しようとしているオクテット数より多ければ
     579                                 *  FIN フラグをクリアする。
    610580                                 */
    611581                                if (doff < cep->swbuf_count)
     
    615585                        else {
    616586                                /*
    617                                  *  TCP_TIM_PERSIST: 持続タイマ
    618                                  *  rxtshift:        再送信回数の log(2)
     587                                 *  TCP_TIM_PERSIST: 持続タイマ
     588                                 *  rxtshift:        再送信回数の log(2)
    619589                                 */
    620590                                cep->timer[TCP_TIM_PERSIST] = 0;
     
    624594
    625595                /*
    626                  *  len: 今回送信するオクテット数
    627                  *        swbuf_count (送信バッファにあるオクテット数)
     596                 *  len: 今回送信するオクテット数
     597                 *        swbuf_count (送信バッファにあるオクテット数)
    628598                 *                                    |
    629599                 *    0                               V
     
    633603                 *    ^               ^<------------->
    634604                 *    |               |      len
    635                  *    |<------------->snd_nxt (前回送信した SEQ)
     605                 *    |<------------->snd_nxt (前回送信した SEQ)
    636606                 *    |       doff
    637                  *    snd_una (まだ確認されていない)
     607                 *    snd_una (まだ確認されていない)
    638608                 */
    639609                if (cep->swbuf_count < win)
     
    643613
    644614                /*
    645                  *  すでに送信されていれば、SYN ビットをオフする。
    646                  *  しかし、以下の条件では送信を控える。
     615                 *  すでに送信されていれば、SYN ビットをオフする。
     616                 *  しかし、以下の条件では送信を控える。
    647617                 *
    648                  *    ・状æ
    649 ‹ãŒ SYN 送信。
    650                  *    ・セグメントがデータを含んでいる。
     618                 *    ・状態が SYN 送信。
     619                 *    ・セグメントがデータを含んでいる。
    651620                 */
    652621                if ((flags & TCP_FLG_SYN) && SEQ_GT(cep->snd_nxt, cep->snd_una)) {
    653622                        flags &= ~TCP_FLG_SYN;
    654                         doff --;                /* -1 は SYN フラグ分 */
    655                         len ++;                 /* +1 は SYN フラグ分 */
     623                        doff --;                /* -1 は SYN フラグ分 */
     624                        len ++;                 /* +1 は SYN フラグ分 */
    656625                        if (len > 0 && cep->fsm_state == TCP_FSM_SYN_SENT)
    657626                                break;
     
    666635
    667636                        /*
    668                          *  len が 0 以下なら、0 に設定する。
    669                          *  もし、送信ウィンドウサイズが 0 なら、
    670                          *  再送信タイマをキャンセルし、
    671                          *  前回送信した SEQ (snd_nxt) を
    672                          *  確認された最大送信 SEQ (snd_una) に戻す。
    673                          *  そして、持続タイマーが止まっていれば、再設定する。
     637                         *  len が 0 以下なら、0 に設定する。
     638                         *  もし、送信ウィンドウサイズが 0 なら、
     639                         *  再送信タイマをキャンセルし、
     640                         *  前回送信した SEQ (snd_nxt) を
     641                         *  確認された最大送信 SEQ (snd_una) に戻す。
     642                         *  そして、持続タイマーが止まっていれば、再設定する。
    674643                         */
    675644                        len = 0;
     
    685654
    686655                /*
    687                  *  今回送信するオクテット数 (len) は、
    688                  *  相手の最大受信セグメントサイズ (maxseg) をè¶
    689 ãˆãªã„ようにする。
     656                 *  今回送信するオクテット数 (len) は、
     657                 *  相手の最大受信セグメントサイズ (maxseg) を超えないようにする。
    690658                 */
    691659                if (len > cep->maxseg) {
     
    695663
    696664                /*
    697                  *        swbuf_count (送信バッファにあるオクテット数)
     665                 *        swbuf_count (送信バッファにあるオクテット数)
    698666                 *                                           |
    699667                 *    0                                      V
     
    703671                 *    ^               ^<------------->
    704672                 *    |               |      len
    705                  *    |<------------->snd_nxt (前回送信した SEQ)
     673                 *    |<------------->snd_nxt (前回送信した SEQ)
    706674                 *    |       doff
    707                  *    snd_una (まだ確認されていない)
     675                 *    snd_una (まだ確認されていない)
    708676                 *
    709                  *  今回送信後も、送信バッファにデータが残っていれば
    710                  *  FIN フラグをクリアする。
     677                 *  今回送信後も、送信バッファにデータが残っていれば
     678                 *  FIN フラグをクリアする。
    711679                 */
    712680                if (SEQ_LT(cep->snd_nxt + len, cep->snd_una + cep->swbuf_count))
     
    714682
    715683                /*
    716                  *  ここから win は、受信ウィンドウサイズ。
    717                  *  受信バッファの空き容量
     684                 *  ここから win は、受信ウィンドウサイズ。
     685                 *  受信バッファの空き容量
    718686                 */
    719687                win = cep->rbufsz - cep->rwbuf_count;
    720688
    721689                /*
    722                  *  愚かなウィンドウ・シンドロームの回避処理 (送信側)
     690                 *  愚かなウィンドウ・シンドロームの回避処理 (送信側)
    723691                 *
    724                  *  以下の条件で、送信を行う。
     692                 *  以下の条件で、送信を行う。
    725693                 *
    726                  *    ・フルサイズ (maxseg) のセグメントを送ることができる。
    727                  *    ・相手の最大の受信ウィンドウサイズの 1/2 のデータを
    728                  *      送ることができる。
    729                  *    ・送信バッファを空にでき、アイドルか非é
    730 å»¶ã‚ªãƒ—ションが有効なとき。
     694                 *    ・フルサイズ (maxseg) のセグメントを送ることができる。
     695                 *    ・相手の最大の受信ウィンドウサイズの 1/2 のデータを
     696                 *      送ることができる。
     697                 *    ・送信バッファを空にでき、アイドルか非遅延オプションが有効なとき。
    731698                 */
    732699                if (len) {
    733700
    734701                        /*
    735                          *  今回送信するオクテット数 (len) が
    736                          *  相手の最大受信セグメントサイズ (maxseg) に
    737                          *  一致するときは送信する。
     702                         *  今回送信するオクテット数 (len) が
     703                         *  相手の最大受信セグメントサイズ (maxseg) に
     704                         *  一致するときは送信する。
    738705                         */
    739706                        if (len == cep->maxseg) {
     
    743710
    744711                        /*
    745                          *  今回の送信で、送信バッファを空にでき、
    746                          *  アイドルか非 PUSH オプションが有効なとき。
     712                         *  今回の送信で、送信バッファを空にでき、
     713                         *  アイドルか非 PUSH オプションが有効なとき。
    747714                         */
    748715                        if ((idle || (cep->flags & TCP_CEP_FLG_NO_DELAY)) &&
     
    754721
    755722                        /*
    756                          *  max_sndwnd: 今までの最大送信ウィンドサイズ
    757                          *  snd_nxt:    次に送信する SEQ
    758                          *  snd_max:    送信した最大 SEQ
     723                         *  max_sndwnd: 今までの最大送信ウィンドサイズ
     724                         *  snd_nxt:    次に送信する SEQ
     725                         *  snd_max:    送信した最大 SEQ
    759726                         *
    760                          *  次の条件では送信を行う。
     727                         *  次の条件では送信を行う。
    761728                         *
    762                          *    ・強制送信フラグがセットされている。
    763                          *    ・データ長が相手の最大の受信ウィンドウサイズの 1/2 以上で、
    764                          *      相手の最大の受信ウィンドウサイズが 0 より大きい。
    765                          *    ・次に送信する SEQ が送信した最大 SEQ より小さい、
    766                          *      つまり、再送するとき。
     729                         *    ・強制送信フラグがセットされている。
     730                         *    ・データ長が相手の最大の受信ウィンドウサイズの 1/2 以上で、
     731                         *      相手の最大の受信ウィンドウサイズが 0 より大きい。
     732                         *    ・次に送信する SEQ が送信した最大 SEQ より小さい、
     733                         *      つまり、再送するとき。
    767734                         */
    768735                        if ((cep->flags & TCP_CEP_FLG_FORCE) ||
     
    776743
    777744                /*
    778                  *  愚かなウィンドウ・シンドロームの回避処理 (受信側)
     745                 *  愚かなウィンドウ・シンドロームの回避処理 (受信側)
    779746                 *
    780                  *  ウィンドウサイズがフルサイズの 2 倍のセグメント、あるいは
    781                  *  受信バッファ容量の 1/2 の、いずれか小さいほうの
    782                  *  サイズで増加される場合は、ウィンドウサイズの更新を行う。
     747                 *  ウィンドウサイズがフルサイズの 2 倍のセグメント、あるいは
     748                 *  受信バッファ容量の 1/2 の、いずれか小さいほうの
     749                 *  サイズで増加される場合は、ウィンドウサイズの更新を行う。
    783750                 */
    784751                if (win > 0) {
     
    786753
    787754                        /*
    788                          *  win:              受信バッファの空き容量
    789                          *  MAX_TCP_WIN_SIZE: TCP ヘッダの win フィールドに設定できる最大値
    790                          *  rcv_adv:          受信を期å¾
    791 ã—ている最大の SEQ
    792                          *  rcv_nxt:          受信を期å¾
    793 ã—ている最小の SEQ
     755                         *  win:              受信バッファの空き容量
     756                         *  MAX_TCP_WIN_SIZE: TCP ヘッダの win フィールドに設定できる最大値
     757                         *  rcv_adv:          受信を期待している最大の SEQ
     758                         *  rcv_nxt:          受信を期待している最小の SEQ
    794759                         */
    795760                        if (win < MAX_TCP_WIN_SIZE)
     
    806771       
    807772                /*
    808                  *  ACK を送信する。
     773                 *  ACK を送信する。
    809774                 */
    810775                if (cep->flags & TCP_CEP_FLG_ACK_NOW) {
     
    829794
    830795                /*
    831                  *  snd_nxt: 次に送信する SEQ
    832                  *  snd_una: 未確認の最小送信 SEQ、または確認された最大送信 SEQ
     796                 *  snd_nxt: 次に送信する SEQ
     797                 *  snd_una: 未確認の最小送信 SEQ、または確認された最大送信 SEQ
    833798                 *
    834                  *  相手から FIN を受信し、まだ FIN を送信していないか、
    835                  *  送るデータがないときは、FIN を相手に届けるため、
    836                  *  セグメントを送信する。
     799                 *  相手から FIN を受信し、まだ FIN を送信していないか、
     800                 *  送るデータがないときは、FIN を相手に届けるため、
     801                 *  セグメントを送信する。
    837802                 */
    838803                if ((flags & TCP_FLG_FIN) &&
     
    843808
    844809                /*
    845                  *  送信すべきデータがあり、再送タイマと持続タイマが切れているときは
    846                  *  持続タイマを設定する。
     810                 *  送信すべきデータがあり、再送タイマと持続タイマが切れているときは
     811                 *  持続タイマを設定する。
    847812                 */
    848813                if (cep->swbuf_count && cep->timer[TCP_TIM_REXMT  ] == 0 &&
     
    859824
    860825/*
    861  *  tcptsk_alloc_swbufq -- 送信ウィンドバッファ割り当て
     826 *  tcptsk_alloc_swbufq -- 送信ウィンドバッファ割り当て
    862827 */
    863828
     
    869834
    870835        /*
    871          *  snd_wnd:  相手の受信可能ウィンドサイズ
    872          *  snd_cwnd: 輻輳ウィンドサイズ
     836         *  snd_wnd:  相手の受信可能ウィンドサイズ
     837         *  snd_cwnd: 輻輳ウィンドサイズ
    873838         *
    874          *  win: どちらか小さいウィンドサイズに設定する。
     839         *  win: どちらか小さいウィンドサイズに設定する。
    875840         */
    876841        win = cep->snd_wnd < cep->snd_cwnd ? cep->snd_wnd : cep->snd_cwnd;
    877842
    878843        /*
    879          *  相手の受信ウィンドが閉じている場合は、開くまでå¾
    880 æ©Ÿã™ã‚‹ã€‚
     844         *  相手の受信ウィンドが閉じている場合は、開くまで待機する。
    881845         */
    882846        if (win == 0) {
     
    887851#ifdef TCP_CFG_NON_BLOCKING
    888852
    889                 /* ノンブロッキングコール */
     853                /* ノンブロッキングコール */
    890854                if (!IS_PTR_DEFINED(cep->callback)) {
    891855                        syslog(LOG_WARNING, "[TCP] no call back, CEP: %d.", GET_TCP_CEPID(cep));
    892856
    893                         /* 記憶されているタスク ID と API 機能コードをクリアーする。*/
     857                        /* 記憶されているタスク ID と API 機能コードをクリアーする。*/
    894858                        cep->snd_tskid = TA_NULL;
    895859                        cep->snd_tfn   = cep->snd_nblk_tfn = TFN_TCP_UNDEF;
     
    906870                                                   (GET_TCP_CEPID(cep) & NBA_ID_MASK)), TMO_POL)) != E_OK) {
    907871
    908                         /* ネットワークバッファを予約する。*/
     872                        /* ネットワークバッファを予約する。*/
    909873                        cep->flags = (cep->flags & ~TCP_CEP_FLG_WBCS_MASK) | TCP_CEP_FLG_WBCS_NBUF_PEND;
    910874                        }
    911875                else {
    912876
    913                         /* 送信ウィンドバッファを初期化する。*/
     877                        /* 送信ウィンドバッファを初期化する。*/
    914878                        tcp_init_swbuf(cep);
    915879
     
    920884                                uint_t len;
    921885
    922                                 /* 送信ウィンドバッファの書き込みアドレスを設定する。*/
     886                                /* 送信ウィンドバッファの書き込みアドレスを設定する。*/
    923887                                len = TCP_GET_SWBUF_ADDR(cep, cep->snd_p_buf);
    924888
    925                                 /* コールバック関数を呼び出す。*/
     889                                /* コールバック関数を呼び出す。*/
    926890#ifdef TCP_CFG_NON_BLOCKING_COMPAT14
    927891                                (*cep->callback)(GET_TCP_CEPID(cep), cep->snd_nblk_tfn, (void*)(uint32_t)len);
     
    931895
    932896
    933                                 /* 記憶されているタスク ID と API 機能コードをクリアーする。*/
     897                                /* 記憶されているタスク ID と API 機能コードをクリアーする。*/
    934898                                cep->snd_tskid = TA_NULL;
    935899                                cep->snd_tfn   = cep->snd_nblk_tfn = TFN_TCP_UNDEF;
     
    941905                                uint_t len;
    942906
    943                                 /* 送信ウィンドバッファにデータを書き込む。*/
     907                                /* 送信ウィンドバッファにデータを書き込む。*/
    944908                                len = TCP_WRITE_SWBUF(cep, cep->snd_data, (uint_t)cep->snd_len);
    945909
    946910#ifdef TCP_CFG_EXTENTIONS
    947911
    948                                 /* 送信緊急ポインタを設定する。*/
     912                                /* 送信緊急ポインタを設定する。*/
    949913                                if (cep->snd_nblk_tfn == TFN_TCP_SND_OOB)
    950914                                        cep->snd_up = cep->snd_una + len;
     
    952916#endif  /* of #ifdef TCP_CFG_EXTENTIONS */
    953917
    954                                 /* フラグを、送信可能に設定し、強制的に送信する。*/
     918                                /* フラグを、送信可能に設定し、強制的に送信する。*/
    955919                                cep->flags |= TCP_CEP_FLG_FORCE | TCP_CEP_FLG_FORCE_CLEAR | TCP_CEP_FLG_POST_OUTPUT;
    956920
    957                                 /* コールバック関数を呼び出す。*/
     921                                /* コールバック関数を呼び出す。*/
    958922#ifdef TCP_CFG_NON_BLOCKING_COMPAT14
    959923                                (*cep->callback)(GET_TCP_CEPID(cep), cep->snd_nblk_tfn, (void*)(uint32_t)len);
     
    963927
    964928
    965                                 /* 記憶されているタスク ID と API 機能コードをクリアーする。*/
     929                                /* 記憶されているタスク ID と API 機能コードをクリアーする。*/
    966930                                cep->snd_tskid = TA_NULL;
    967931                                cep->snd_tfn   = cep->snd_nblk_tfn = TFN_TCP_UNDEF;
     
    975939
    976940/*
    977  *  tcptsk_free_swbufq -- 送信ウィンドバッファ開放
     941 *  tcptsk_free_swbufq -- 送信ウィンドバッファ開放
    978942 */
    979943
     
    982946{
    983947        /*
    984          *  受信確認が完了し、ネットワークインタフェースからの
    985          *  出力も完了したときは、送信ウィンドバッファキューを解放する。
    986          */
    987 
    988         /* 送信ウィンドバッファの使用中サイズをリセットする。*/
     948         *  受信確認が完了し、ネットワークインタフェースからの
     949         *  出力も完了したときは、送信ウィンドバッファキューを解放する。
     950         */
     951
     952        /* 送信ウィンドバッファの使用中サイズをリセットする。*/
    989953        cep->swbuf_count = 0;
    990954
    991         /* 送信ウィンドバッファキューのネットワークバッファを解放する。*/
     955        /* 送信ウィンドバッファキューのネットワークバッファを解放する。*/
    992956        syscall(rel_net_buf(cep->swbufq));
    993957        cep->swbufq = NULL;
    994958
    995         /* フラグを空きに設定する。*/
     959        /* フラグを空きに設定する。*/
    996960        cep->flags = (cep->flags & ~TCP_CEP_FLG_WBCS_MASK) | TCP_CEP_FLG_WBCS_FREE;
    997961
    998         /* 送信ウィンドバッファに空きができたことを知らせる。*/
     962        /* 送信ウィンドバッファに空きができたことを知らせる。*/
    999963        syscall(set_flg(cep->snd_flgid, TCP_CEP_EVT_SWBUF_READY));
    1000964
    1001         /* 送信ウィンドバッファの空きå¾
    1002 ã¡ã®ã¨ãã¯ã€TCP 出力タスクを起動する。*/
     965        /* 送信ウィンドバッファの空き待ちのときは、TCP 出力タスクを起動する。*/
    1003966        if ((cep->flags & TCP_CEP_FLG_WBCS_NBUF_REQ) != 0) {
    1004967                sig_sem(SEM_TCP_POST_OUTPUT);
     
    1009972
    1010973/*
    1011  *  TCP 出力タスク
     974 *  TCP 出力タスク
    1012975 */
    1013976
     
    1028991#ifdef _IP6_CFG
    1029992
    1030         /* IPv6 のステートレス・アドレス自動設定を実行する。*/
     993        /* IPv6 のステートレス・アドレス自動設定を実行する。*/
    1031994        in6_if_up(IF_GET_IFNET());
    1032995
     
    1035998        while (true) {
    1036999
    1037                 /* 出力がポストされるまでå¾
    1038 ã¤ã€‚*/
     1000                /* 出力がポストされるまで待つ。*/
    10391001                syscall(wai_sem(SEM_TCP_POST_OUTPUT));
    10401002
     
    10611023
    10621024                        /*
    1063                          *  ネットワークインタフェースから送信が終わっていないときは、
    1064                          *  送信を予約する。
     1025                         *  ネットワークインタフェースから送信が終わっていないときは、
     1026                         *  送信を予約する。
    10651027                         */
    10661028                        if (cep->flags & TCP_CEP_FLG_POST_OUTPUT &&
     
    10771039
    10781040                        /*
    1079                          *  送信予約中に、ネットワークインタフェースから送信が終了したら、
    1080                          *  送信を開始する。ただし、完å
    1081 ¨ã«é€ä¿¡ãŒçµ‚了したときは何もしない。
     1041                         *  送信予約中に、ネットワークインタフェースから送信が終了したら、
     1042                         *  送信を開始する。ただし、完全に送信が終了したときは何もしない。
    10821043                         */
    10831044                        if (cep->flags & TCP_CEP_FLG_RESERVE_OUTPUT) {
     
    11021063
    11031064                                        /*
    1104                                          *  tcp_con_cep のノンブロッキングコールで、
    1105                                          *  未割当のの場合は、ポート番号を割り当てる。
    1106                                          *  p_myaddr が NADR (-1) か、
    1107                                          *  自ポート番号が TCP_PORTANY なら、自動で割り当てる。
     1065                                         *  tcp_con_cep のノンブロッキングコールで、
     1066                                         *  未割当のの場合は、ポート番号を割り当てる。
     1067                                         *  p_myaddr が NADR (-1) か、
     1068                                         *  自ポート番号が TCP_PORTANY なら、自動で割り当てる。
    11081069                                         */
    11091070                                        if (cep->p_myaddr == NADR || cep->p_myaddr->portno == TCP_PORTANY)
     
    11201081                                                        syslog(LOG_WARNING, "[TCP] no call back, CEP: %d.", GET_TCP_CEPID(cep));
    11211082
    1122                                                 /* 記憶されているタスク ID と API 機能コードをクリアーする。*/
     1083                                                /* 記憶されているタスク ID と API 機能コードをクリアーする。*/
    11231084                                                cep->snd_tfn   = cep->snd_nblk_tfn = TFN_TCP_UNDEF;
    11241085                                                cep->snd_tskid = TA_NULL;
     
    11321093
    11331094                                if (cep->flags & TCP_CEP_FLG_CLOSE_AFTER_OUTPUT) {
    1134                                         /* コネクションを閉じる。*/
     1095                                        /* コネクションを閉じる。*/
    11351096                                        tcp_close(cep);
    11361097                                        cep->flags &= ~TCP_CEP_FLG_CLOSE_AFTER_OUTPUT;
     
    11381099
    11391100                                if (cep->flags & TCP_CEP_FLG_RESTORE_NEXT_OUTPUT) {
    1140                                         /* snd_nxt をå
    1141 ƒã«æˆ»ã™ã€‚*/
     1101                                        /* snd_nxt を元に戻す。*/
    11421102                                        if (SEQ_GT(cep->snd_old_nxt, cep->snd_nxt))
    11431103                                                cep->snd_nxt = cep->snd_old_nxt;
     
    11521112                        } while (ix != last_ix);
    11531113
    1154                 /* 次回は、処理した通信端点を後回しにする。*/
     1114                /* 次回は、処理した通信端点を後回しにする。*/
    11551115                last_ix = sel_ix;
    11561116                }
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/tcp_seq.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    8472
    8573/*
    86  *  SEQ と ACK 番号は、32 ビット符号付整数で比較する。
     74 *  SEQ と ACK 番号は、32 ビット符号付整数で比較する。
    8775 */
    8876
     
    9381
    9482/*
    95  *  関数シミュレーションマクロ
     83 *  関数シミュレーションマクロ
    9684 */
    9785
     
    9987
    10088/*
    101  *  å
    102 ¨åŸŸå¤‰æ•°
     89 *  全域変数
    10390 */
    10491
    105 extern T_TCP_SEQ tcp_iss;               /* TCP の SEQ の初期値 */
     92extern T_TCP_SEQ tcp_iss;               /* TCP の SEQ の初期値 */
    10693
    10794/*
    108  *  インライン関数
     95 *  インライン関数
    10996 */
    11097
    11198/*
    112  *  init_receive_seq -- 受信 SEQ 番号を初期化する。
     99 *  init_receive_seq -- 受信 SEQ 番号を初期化する。
    113100 */
    114101
     
    120107
    121108/*
    122  *  init_send_seq -- 送信 SEQ 番号を初期化する。
     109 *  init_send_seq -- 送信 SEQ 番号を初期化する。
    123110 */
    124111
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/tcp_subr.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    129117
    130118/*
    131  *  å
    132 ¨åŸŸå¤‰æ•°
    133  */
    134 
    135 /*
    136  *  TCP の SEQ の初期値、プログラムが起動して、最初に TCP セグメントを
    137  *  送受信するときに、get_tim() により初期化する。
     119 *  全域変数
     120 */
     121
     122/*
     123 *  TCP の SEQ の初期値、プログラムが起動して、最初に TCP セグメントを
     124 *  送受信するときに、get_tim() により初期化する。
    138125 */
    139126T_TCP_SEQ tcp_iss = 0;
     
    142129
    143130/*
    144  *  SNMP の 管理æƒ
    145 å ±ãƒ™ãƒ¼ã‚¹ (MIB)
     131 *  SNMP の 管理情報ベース (MIB)
    146132 */
    147133
     
    151137
    152138/*
    153  *  局所変数
    154  */
    155 
    156 static uint16_t tcp_port_auto = TCP_PORT_FIRST_AUTO;    /* 自動割り当て番号     */
     139 *  局所変数
     140 */
     141
     142static uint16_t tcp_port_auto = TCP_PORT_FIRST_AUTO;    /* 自動割り当て番号     */
    157143
    158144#if defined(NUM_TCP_TW_CEP_ENTRY) && NUM_TCP_TW_CEP_ENTRY > 0
    159145
    160146/*
    161  *  タスクからの Time Wait 状æ
    162 ‹ CEP 分離機能
    163  */
    164 
    165 /*
    166  *  変数
     147 *  タスクからの Time Wait 状態 CEP 分離機能
     148 */
     149
     150/*
     151 *  変数
    167152 */
    168153
     
    170155
    171156/*
    172  *  tcp_move_twcep -- å¿
    173 è¦ãªæƒ
    174 å ±ã‚’ Time Wait 用 TCP 通信端点に移して、
    175  *                    標準の TCP 通信端点を開放する。
     157 *  tcp_move_twcep -- 必要な情報を Time Wait 用 TCP 通信端点に移して、
     158 *                    標準の TCP 通信端点を開放する。
    176159 */
    177160
     
    181164        T_TCP_TWCEP*    twcep;
    182165
    183         /* 空きの Time Wait 用 TCP 通信端点を探索する。*/
     166        /* 空きの Time Wait 用 TCP 通信端点を探索する。*/
    184167        for (twcep = &tcp_twcep[NUM_TCP_TW_CEP_ENTRY]; twcep -- != tcp_twcep; ) {
    185168                if (twcep->fsm_state != TCP_FSM_TIME_WAIT) {
    186169
    187170                        /*
    188                          *  通信端点をロックし、
    189                          *  å¿
    190 è¦ãªæƒ
    191 å ±ã‚’ Time Wait 用 TCP 通信端点に移す。
     171                         *  通信端点をロックし、
     172                         *  必要な情報を Time Wait 用 TCP 通信端点に移す。
    192173                         */
    193174                        syscall(wai_sem(cep->semid_lock));
     
    202183                        twcep->timer_2msl       = cep->timer[TCP_TIM_2MSL];
    203184
    204                         /* 通信端点をロックを解除する。*/
     185                        /* 通信端点をロックを解除する。*/
    205186                        syscall(sig_sem(cep->semid_lock));
    206187
    207                         /* 標準 TCP 通信端点を開放する。*/
     188                        /* 標準 TCP 通信端点を開放する。*/
    208189                        tcp_close(cep);
    209190
     
    214195
    215196/*
    216  *  tcp_find_twcep -- ポート番号から Time Wait 用 TCP 通信端点を得る。
     197 *  tcp_find_twcep -- ポート番号から Time Wait 用 TCP 通信端点を得る。
    217198 */
    218199
     
    226207       
    227208        /*
    228          *  状æ
    229 ‹ãŒ TIME WAIT で、
    230          *  IP アドレスとポート番号が一致する通信端点を探索する。
     209         *  状態が TIME WAIT で、
     210         *  IP アドレスとポート番号が一致する通信端点を探索する。
    231211         */
    232212        for (twcep = &tcp_twcep[NUM_TCP_TW_CEP_ENTRY]; twcep -- != tcp_twcep; ) {
     
    245225
    246226/*
    247  *  tcp_find_cep -- ポート番号から TCP 通信端点を得る。
     227 *  tcp_find_cep -- ポート番号から TCP 通信端点を得る。
    248228 */
    249229
     
    257237       
    258238        /*
    259          *  状æ
    260 ‹ãŒ SYN 送信済み以後は、
    261          *  IP アドレスとポート番号が一致する TCP 通信端点を探索する。
     239         *  状態が SYN 送信済み以後は、
     240         *  IP アドレスとポート番号が一致する TCP 通信端点を探索する。
    262241         */
    263242        for (cep = &tcp_cep[tmax_tcp_cepid]; cep -- != tcp_cep; ) {
     
    270249                }
    271250
    272         /* IPv4 で受動オープン中の TCP 通信端点をå
    273 ˆã«æŽ¢ç´¢ã™ã‚‹ã€‚*/   
     251        /* IPv4 で受動オープン中の TCP 通信端点を先に探索する。*/   
    274252        for (cep = &tcp_cep[tmax_tcp_cepid]; cep -- != tcp_cep; ) {
    275253                if ((cep->flags & TCP_CEP_FLG_IPV4)                   &&
     
    281259                }
    282260
    283         /* 受動オープン中の TCP 通信端点を探索する。*/       
     261        /* 受動オープン中の TCP 通信端点を探索する。*/   
    284262        for (cep = &tcp_cep[tmax_tcp_cepid]; cep -- != tcp_cep; ) {
    285263
     
    327305
    328306/*
    329  *  tcp_is_addr_accept -- 受信可能な IP アドレスとポート番号であることを確認する。
     307 *  tcp_is_addr_accept -- 受信可能な IP アドレスとポート番号であることを確認する。
    330308 */
    331309
     
    340318
    341319        /*
    342          *  次のときは破棄する。
    343          *    ・ポート番号が同一で、送受信 IP アドレス が同一。
    344          *      ただし、送信å
    345 ƒ IP アドレスがローカルループバックなら良い。
    346          *    ・マルチキャストアドレス
     320         *  次のときは破棄する。
     321         *    ・ポート番号が同一で、送受信 IP アドレス が同一。
     322         *      ただし、送信元 IP アドレスがローカルループバックなら良い。
     323         *    ・マルチキャストアドレス
    347324         */
    348325
     
    354331
    355332        /*
    356          *  次のときは、受信可能ではない。
    357          *    ・ポート番号が同一で、送受信 IP アドレス が同一。
    358          *    ・マルチキャストアドレス
     333         *  次のときは、受信可能ではない。
     334         *    ・ポート番号が同一で、送受信 IP アドレス が同一。
     335         *    ・マルチキャストアドレス
    359336         */
    360337        if (tcph->dport == tcph->sport && IN_ARE_HDR_ADDR_EQUAL(input))
     
    370347
    371348/*
    372  *  tcp_free_reassq -- 受信再構成キューのネットワークバッファを解放する。
     349 *  tcp_free_reassq -- 受信再構成キューのネットワークバッファを解放する。
    373350 *
    374  *    注意:
    375  *      å¿
    376 è¦ã§ã‚れば、この関数を呼び出す前に、通信端点をロックし、
    377  *      戻った後、解除するå¿
    378 è¦ãŒã‚る。
     351 *    注意:
     352 *      必要であれば、この関数を呼び出す前に、通信端点をロックし、
     353 *      戻った後、解除する必要がある。
    379354 */
    380355
     
    393368
    394369/*
    395  *  tcp_alloc_auto_port -- 自動割り当てポート番号を設定する。
     370 *  tcp_alloc_auto_port -- 自動割り当てポート番号を設定する。
    396371 */
    397372
     
    480455
    481456/*
    482  *  tcp_alloc_port -- 指定されたポート番号を設定する。
     457 *  tcp_alloc_port -- 指定されたポート番号を設定する。
    483458 */
    484459
     
    500475
    501476/*
    502  *  tcp_init -- TCP モジュールの初期化
     477 *  tcp_init -- TCP モジュールの初期化
    503478 */
    504479
     
    516491
    517492/*
    518  * tcp_init_iss シーケンス番号を初期化する。
     493 * tcp_init_iss シーケンス番号を初期化する。
    519494 */
    520495
     
    530505
    531506/*
    532  *  tcp_close -- コネクションを開放する。
     507 *  tcp_close -- コネクションを開放する。
    533508 */
    534509
     
    536511tcp_close (T_TCP_CEP *cep)
    537512{
    538         /* タイマーを停止する。*/
     513        /* タイマーを停止する。*/
    539514        tcp_cancel_timers(cep);
    540515
    541516        /*
    542          *  通信端点をロックし、
    543          *  受信再構成キューのネットワークバッファを解放する。
     517         *  通信端点をロックし、
     518         *  受信再構成キューのネットワークバッファを解放する。
    544519         */
    545520        syscall(wai_sem(cep->semid_lock));
     
    547522        syscall(sig_sem(cep->semid_lock));
    548523
    549         /* 状æ
    550 ‹ã‚’未使用にする。*/
     524        /* 状態を未使用にする。*/
    551525        cep->fsm_state = TCP_FSM_CLOSED;
    552526
    553527        /*
    554          * 以下に関係しないフラグをクリアーする。
    555          * ・送受信ウィンドバッファの省コピー機能
    556          * ・動的な通信端点の生成・削除機能
    557          * ・通信端点のネットワーク層プロトコル
     528         * 以下に関係しないフラグをクリアーする。
     529         * ・送受信ウィンドバッファの省コピー機能
     530         * ・動的な通信端点の生成・削除機能
     531         * ・通信端点のネットワーク層プロトコル
    558532         */
    559533        cep->flags &= TCP_CEP_FLG_NOT_CLEAR;
     
    562536
    563537        if (cep->snd_nblk_tfn != TFN_TCP_UNDEF || cep->rcv_nblk_tfn != TFN_TCP_UNDEF) {
    564                 /* ノンブロッキングコール */
     538                /* ノンブロッキングコール */
    565539
    566540#ifdef TCP_CFG_NON_BLOCKING_COMPAT14
     
    575549
    576550                                case TFN_TCP_ACP_CEP:
    577                                         /* TCP 通信端点からTCP 受付口を解放する。*/
     551                                        /* TCP 通信端点からTCP 受付口を解放する。*/
    578552                                        cep->rep = NULL;
    579553
     
    587561                                case TFN_TCP_RCV_BUF:
    588562
    589                                         /* 受信ウィンドバッファの空アドレスを獲得する。*/
     563                                        /* 受信ウィンドバッファの空アドレスを獲得する。*/
    590564                                        len = TCP_GET_RWBUF_ADDR(cep, cep->rcv_p_buf);
    591565
    592                                         /* 異常切断等のエラーを設定する。*/
     566                                        /* 異常切断等のエラーを設定する。*/
    593567                                        if (cep->error == E_TMOUT)
    594568                                                len = E_CLS;
     
    601575                                case TFN_TCP_RCV_DAT:
    602576
    603                                         /* 受信ウィンドバッファからデータを取り出す。*/
     577                                        /* 受信ウィンドバッファからデータを取り出す。*/
    604578                                        len = TCP_READ_RWBUF(cep, cep->rcv_data, (uint_t)cep->rcv_len);
    605579
    606                                         /* 異常切断等のエラーを設定する。*/
     580                                        /* 異常切断等のエラーを設定する。*/
    607581                                        if (cep->error == E_TMOUT)
    608582                                                len = E_CLS;
     
    626600                                        }
    627601
    628                                 /* 記憶されているタスク ID と API 機能コードをクリアーする。*/
     602                                /* 記憶されているタスク ID と API 機能コードをクリアーする。*/
    629603                                cep->rcv_tskid = TA_NULL;
    630604                                cep->rcv_tfn   = cep->rcv_nblk_tfn = TFN_TCP_UNDEF;
     
    636610
    637611                                case TFN_TCP_CON_CEP:
    638                                         /* TCP 通信端点から TCP 受付口を解放する。*/
     612                                        /* TCP 通信端点から TCP 受付口を解放する。*/
    639613                                        cep->rep = NULL;
    640614
     
    659633                                        }
    660634
    661                                 /* 記憶されているタスク ID と API 機能コードをクリアーする。*/
     635                                /* 記憶されているタスク ID と API 機能コードをクリアーする。*/
    662636                                cep->snd_tskid = TA_NULL;
    663637                                cep->snd_tfn   = cep->snd_nblk_tfn = TFN_TCP_UNDEF;
     
    678652                                case TFN_TCP_ACP_CEP:
    679653
    680                                         /* TCP 通信端点からTCP 受付口を解放する。*/
     654                                        /* TCP 通信端点からTCP 受付口を解放する。*/
    681655                                        cep->rep = NULL;
    682656
     
    685659#endif
    686660
    687                                         /* 接続エラーを設定する。*/
     661                                        /* 接続エラーを設定する。*/
    688662                                        len      = E_CLS;
    689663                                        (*cep->callback)(GET_TCP_CEPID(cep), cep->rcv_nblk_tfn, (void*)&len);
     
    692666                                case TFN_TCP_RCV_BUF:
    693667
    694                                         /* 受信ウィンドバッファの空アドレスを獲得する。*/
     668                                        /* 受信ウィンドバッファの空アドレスを獲得する。*/
    695669                                        len = TCP_GET_RWBUF_ADDR(cep, cep->rcv_p_buf);
    696670
    697                                         /* 異常切断等のエラーを設定する。*/
     671                                        /* 異常切断等のエラーを設定する。*/
    698672                                        if (cep->error == E_TMOUT)
    699673                                                len = E_CLS;
     
    706680                                case TFN_TCP_RCV_DAT:
    707681
    708                                         /* 受信ウィンドバッファからデータを取り出す。*/
     682                                        /* 受信ウィンドバッファからデータを取り出す。*/
    709683                                        len = TCP_READ_RWBUF(cep, cep->rcv_data, (uint_t)cep->rcv_len);
    710684
    711                                         /* 異常切断等のエラーを設定する。*/
     685                                        /* 異常切断等のエラーを設定する。*/
    712686                                        if (cep->error == E_TMOUT)
    713687                                                len = E_CLS;
     
    731705                                        }
    732706
    733                                 /* 記憶されているタスク ID と API 機能コードをクリアーする。*/
     707                                /* 記憶されているタスク ID と API 機能コードをクリアーする。*/
    734708                                cep->rcv_tskid = TA_NULL;
    735709                                cep->rcv_tfn   = cep->rcv_nblk_tfn = TFN_TCP_UNDEF;
     
    743717                                case TFN_TCP_CON_CEP:
    744718
    745                                         /* TCP 通信端点からTCP 受付口を解放する。*/
     719                                        /* TCP 通信端点からTCP 受付口を解放する。*/
    746720                                        cep->rep = NULL;
    747721
     
    750724#endif
    751725
    752                                         /* 接続エラーを設定する。*/
     726                                        /* 接続エラーを設定する。*/
    753727                                        len      = E_CLS;
    754728                                        (*cep->callback)(GET_TCP_CEPID(cep), cep->snd_nblk_tfn, (void*)&len);
     
    769743                                        }
    770744
    771                                 /* 記憶されているタスク ID と API 機能コードをクリアーする。*/
     745                                /* 記憶されているタスク ID と API 機能コードをクリアーする。*/
    772746                                cep->snd_tskid = TA_NULL;
    773747                                cep->snd_tfn   = cep->snd_nblk_tfn = TFN_TCP_UNDEF;
     
    779753
    780754                /*
    781                  *  通信端点をロックし、
    782                  *  送受信ウィンドバッファキューのネットワークバッファを解放する。
     755                 *  通信端点をロックし、
     756                 *  送受信ウィンドバッファキューのネットワークバッファを解放する。
    783757                 */
    784758                syscall(wai_sem(cep->semid_lock));
     
    787761                syscall(sig_sem(cep->semid_lock));
    788762
    789                 /* 未使用になったことを知らせる。*/
     763                /* 未使用になったことを知らせる。*/
    790764                syscall(set_flg(cep->est_flgid, TCP_CEP_EVT_CLOSED));
    791765                }
    792         else {  /* 非ノンブロッキングコール */
     766        else {  /* 非ノンブロッキングコール */
    793767
    794768#endif  /* of #ifdef TCP_CFG_NON_BLOCKING */
    795769
    796                 /* 記憶されているタスク ID と API 機能コードをクリアーする。*/
     770                /* 記憶されているタスク ID と API 機能コードをクリアーする。*/
    797771                cep->snd_tskid = cep->rcv_tskid = TA_NULL;
    798772                cep->snd_tfn   = cep->rcv_tfn   = TFN_TCP_UNDEF;
    799773
    800774                /*
    801                  *  通信端点をロックし、
    802                  *  送受信ウィンドバッファキューのネットワークバッファを解放する。
     775                 *  通信端点をロックし、
     776                 *  送受信ウィンドバッファキューのネットワークバッファを解放する。
    803777                 */
    804778                syscall(wai_sem(cep->semid_lock));
     
    807781                syscall(sig_sem(cep->semid_lock));
    808782
    809                 /* 未使用になったことを知らせる。*/
     783                /* 未使用になったことを知らせる。*/
    810784                syscall(set_flg(cep->est_flgid, TCP_CEP_EVT_CLOSED));
    811785
    812786                /*
    813                  * å
    814 ¥å‡ºåŠ›ã‚¿ã‚¹ã‚¯ã‚’起床して、
    815                  * 送受信不可になったことを知らせる。
     787                 * 入出力タスクを起床して、
     788                 * 送受信不可になったことを知らせる。
    816789                 */
    817790                syscall(set_flg(cep->snd_flgid, TCP_CEP_EVT_SWBUF_READY));
     
    828801
    829802/*
    830  *  tcp_drop -- TCP 接続を破棄する。
     803 *  tcp_drop -- TCP 接続を破棄する。
    831804 */
    832805
     
    846819                cep->fsm_state = TCP_FSM_CLOSED;
    847820
    848                 /* 送信と、送信後コネクションの切断を指示する。*/
     821                /* 送信と、送信後コネクションの切断を指示する。*/
    849822                cep->flags |=  TCP_CEP_FLG_POST_OUTPUT | TCP_CEP_FLG_CLOSE_AFTER_OUTPUT;
    850823                sig_sem(SEM_TCP_POST_OUTPUT);
     
    857830
    858831/*
    859  *  tcp_respond -- TCP の単一メッセージを送信する。
     832 *  tcp_respond -- TCP の単一メッセージを送信する。
    860833 */
    861834
     
    872845
    873846        /*
    874          *  output が NULL でなければ、これはå
    875 ¥åŠ›ã—たセグメントの
    876          *  net_buf で、そのまま再利用する。
     847         *  output が NULL でなければ、これは入力したセグメントの
     848         *  net_buf で、そのまま再利用する。
    877849         */
    878850        if (output != NULL) {
     
    880852
    881853                /*
    882                  * IPv4 では、IP ヘッダのオプションを削除する。
    883                  * IPv6 では、拡張ヘッダを削除する。
     854                 * IPv4 では、IP ヘッダのオプションを削除する。
     855                 * IPv6 では、拡張ヘッダを削除する。
    884856                 */
    885857                if (IP_REMOVE_OPTIONS(output) != E_OK) {
     
    892864#if defined(_IP6_CFG)
    893865
    894                 /* トラヒッククラスとフローラベルをクリアする。*/
     866                /* トラヒッククラスとフローラベルをクリアする。*/
    895867                SET_IP_CF(output, 0);
    896868
    897869#endif  /* of #if defined(_IP6_CFG) */
    898870
    899                 /* TCP SDU 長を 0 にする。*/
     871                /* TCP SDU 長を 0 にする。*/
    900872                SET_IP_SDU_SIZE(output, TCP_HDR_SIZE);
    901873
    902874                tcph = GET_TCP_HDR(output, IF_IP_TCP_HDR_OFFSET(output));
    903875
    904                 /* ポート番号を交換する。*/
     876                /* ポート番号を交換する。*/
    905877                portno = tcph->sport;
    906878                tcph->sport = tcph->dport;
    907879                tcph->dport = portno;
    908880
    909                 /* TCP ヘッダにæƒ
    910 å ±ã‚’設定する。*/
     881                /* TCP ヘッダに情報を設定する。*/
    911882                tcph->doff = TCP_MAKE_DATA_OFF(TCP_HDR_SIZE);
    912883                }
    913884       
    914         /* cep が NULL であれば、何もしないで終了する。*/
     885        /* cep が NULL であれば、何もしないで終了する。*/
    915886        else if (cep == NULL)
    916887                return;
     
    931902
    932903        /*
    933          *  チェックサムを設定する。
     904         *  チェックサムを設定する。
    934905         */
    935906        hdr_offset = IF_IP_TCP_HDR_OFFSET(output);
     
    937908                             (uint_t)GET_TCP_HDR_SIZE(output, hdr_offset));
    938909
    939         /* ネットワークバッファ長を調整する。*/
     910        /* ネットワークバッファ長を調整する。*/
    940911        output->len = (uint16_t)GET_IF_IP_TCP_HDR_SIZE(output, hdr_offset);
    941912
     
    946917#endif  /* of #ifdef TCP_CFG_TRACE */
    947918
    948         /* ネットワーク層 (IP) の出力関数を呼び出す。*/
     919        /* ネットワーク層 (IP) の出力関数を呼び出す。*/
    949920        IP_OUTPUT(output, TMO_TCP_OUTPUT);
    950921        }
    951922#if 0
    952923/*
    953  *  tcp_get_segment -- TCP セグメントを獲得し、ヘッダを設定する。
     924 *  tcp_get_segment -- TCP セグメントを獲得し、ヘッダを設定する。
    954925 *
    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 サイズ
    959930 */
    960931
     
    966937        ER              error;
    967938
    968         /* IP データグラムを獲得する。*/
     939        /* IP データグラムを獲得する。*/
    969940        if ((error = IN_GET_DATAGRAM(nbuf,
    970941                                     (uint_t)(TCP_HDR_SIZE + optlen + len),
     
    978949                }
    979950
    980         /* TCP ヘッダにæƒ
    981 å ±ã‚’設定する。*/
    982 
    983         /* TCP ヘッダにæƒ
    984 å ±ã‚’設定する。*/
     951        /* TCP ヘッダに情報を設定する。*/
     952
     953        /* TCP ヘッダに情報を設定する。*/
    985954        tcph = GET_TCP_HDR(*nbuf, IF_IP_TCP_HDR_OFFSET(*nbuf));
    986955        tcph->sport     = htons(cep->myaddr.portno);
     
    993962#endif
    994963/*
    995  *  tcpn_get_segment -- TCP セグメントを獲得し、ヘッダを設定する。
     964 *  tcpn_get_segment -- TCP セグメントを獲得し、ヘッダを設定する。
    996965 *
    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 サイズ
    1001970 */
    1002971
     
    1008977        ER              error;
    1009978
    1010         /* IP データグラムを獲得する。*/
     979        /* IP データグラムを獲得する。*/
    1011980        if ((error = IN_GET_DATAGRAM(nbuf,
    1012981                                     (uint_t)(TCP_HDR_SIZE + optlen + len),
     
    1020989                }
    1021990
    1022         /* TCP ヘッダにæƒ
    1023 å ±ã‚’設定する。*/
    1024 
    1025         /* TCP ヘッダにæƒ
    1026 å ±ã‚’設定する。*/
     991        /* TCP ヘッダに情報を設定する。*/
     992
     993        /* TCP ヘッダに情報を設定する。*/
    1027994        tcph = GET_TCP_HDR(*nbuf, IF_IP_TCP_HDR_OFFSET(*nbuf));
    1028995        tcph->sport     = htons(cep->myaddr.portno);
     
    10351002
    10361003/*
    1037  *  tcp_can_send_more -- 送信できるか、通信端点の状æ
    1038 ‹ã‚’見る。
     1004 *  tcp_can_send_more -- 送信できるか、通信端点の状態を見る。
    10391005 */
    10401006
     
    10441010        ER      error;
    10451011
    1046         /* 送信できるか、CEP の FSM 状æ
    1047 ‹ã‚’見る。*/
     1012        /* 送信できるか、CEP の FSM 状態を見る。*/
    10481013        if (!TCP_FSM_CAN_SEND_MORE(cep->fsm_state)) {
    10491014                if ((error = cep->error) == E_OK)
     
    10521017#ifdef TCP_CFG_NON_BLOCKING
    10531018
    1054                 /* タイムアウトをチェックする。*/
    1055                 if (tmout == TMO_NBLK) {        /* ノンブロッキングコール */
     1019                /* タイムアウトをチェックする。*/
     1020                if (tmout == TMO_NBLK) {        /* ノンブロッキングコール */
    10561021
    10571022                        if (!IS_PTR_DEFINED(cep->callback))
    10581023                                error = E_OBJ;
    10591024                        else {
    1060                                 /* コールバック関数を呼び出す。*/
     1025                                /* コールバック関数を呼び出す。*/
    10611026#ifdef TCP_CFG_NON_BLOCKING_COMPAT14
    10621027                                (*cep->callback)(GET_TCP_CEPID(cep), fncd, (void*)error);
     
    10831048#ifdef TCP_CFG_NON_BLOCKING
    10841049
    1085                         /* タイムアウトをチェックする。*/
    1086                         if (tmout == TMO_NBLK) {        /* ノンブロッキングコール */
     1050                        /* タイムアウトをチェックする。*/
     1051                        if (tmout == TMO_NBLK) {        /* ノンブロッキングコール */
    10871052                                if (!IS_PTR_DEFINED(cep->callback))
    10881053                                        error = E_OBJ;
     
    10901055                                        error = E_OBJ;
    10911056
    1092                                         /* コールバック関数を呼び出す。*/
     1057                                        /* コールバック関数を呼び出す。*/
    10931058#ifdef TCP_CFG_NON_BLOCKING_COMPAT14
    10941059                                        (*cep->callback)(GET_TCP_CEPID(cep), fncd, (void*)error);
     
    11161081
    11171082/*
    1118  *  tcp_can_recv_more -- 受信できるか、通信端点の状æ
    1119 ‹ã‚’見る。
     1083 *  tcp_can_recv_more -- 受信できるか、通信端点の状態を見る。
    11201084 *
    1121  *  注意: 戻り値
     1085 *  注意: 戻り値
    11221086 *
    1123  *      E_OK    受信可能
    1124  *      E_OBJ   ç›¸æ‰‹ã‹ã‚‰åˆ‡æ–­ã•ã‚ŒãŸã‹ã€ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—た。
     1087 *      E_OK    受信可能
     1088 *      E_OBJ   相手から切断されたか、エラーが発生した。
    11251089 */
    11261090
     
    11291093{
    11301094        /*
    1131          *  受信できるか、fsm_state を見る。受信できない場合は
    1132          *  長さ 0、またはエラーを返す。
     1095         *  受信できるか、fsm_state を見る。受信できない場合は
     1096         *  長さ 0、またはエラーを返す。
    11331097         */
    11341098        if (!TCP_FSM_CAN_RECV_MORE(cep->fsm_state) &&
     
    11381102#ifdef TCP_CFG_NON_BLOCKING
    11391103
    1140                 /* タイムアウトをチェックする。*/
    1141                 if (tmout == TMO_NBLK) {        /* ノンブロッキングコール */
     1104                /* タイムアウトをチェックする。*/
     1105                if (tmout == TMO_NBLK) {        /* ノンブロッキングコール */
    11421106
    11431107                        if (!IS_PTR_DEFINED(cep->callback))
    11441108                                *error = E_OBJ;
    11451109                        else {
    1146                                 /* コールバック関数を呼び出す。*/
     1110                                /* コールバック関数を呼び出す。*/
    11471111#ifdef TCP_CFG_NON_BLOCKING_COMPAT14
    11481112                                (*cep->callback)(GET_TCP_CEPID(cep), fncd, (void*)*error);
     
    11571121
    11581122                /*
    1159                  *  通信端点をロックして、
    1160                  *  受信ウィンドバッファキューのネットワークバッファを解放する。
     1123                 *  通信端点をロックして、
     1124                 *  受信ウィンドバッファキューのネットワークバッファを解放する。
    11611125                 */
    11621126                syscall(wai_sem(cep->semid_lock));
     
    11741138#ifdef TCP_CFG_NON_BLOCKING
    11751139
    1176                         /* タイムアウトをチェックする。*/
    1177                         if (tmout == TMO_NBLK) {        /* ノンブロッキングコール */
     1140                        /* タイムアウトをチェックする。*/
     1141                        if (tmout == TMO_NBLK) {        /* ノンブロッキングコール */
    11781142                                if (!IS_PTR_DEFINED(cep->callback))
    11791143                                        *error = E_OBJ;
     
    11811145                                        *error = E_OBJ;
    11821146
    1183                                         /* コールバック関数を呼び出す。*/
     1147                                        /* コールバック関数を呼び出す。*/
    11841148#ifdef TCP_CFG_NON_BLOCKING_COMPAT14
    11851149                                        (*cep->callback)(GET_TCP_CEPID(cep), fncd, (void*)*error);
     
    12061170
    12071171/*
    1208  *  tcp_wait_rwbuf -- 受信ウィンドバッファにデータがå
    1209 ¥ã‚‹ã®ã‚’å¾
    1210 ã¤ã€‚
     1172 *  tcp_wait_rwbuf -- 受信ウィンドバッファにデータが入るのを待つ。
    12111173 */
    12121174
     
    12181180
    12191181        if (cep->rwbuf_count == 0) {
    1220                 /* 受信ウィンドバッファにデータがなければ、å
    1221 ¥åŠ›ãŒã‚るまでå¾
    1222 ã¤ã€‚*/
     1182                /* 受信ウィンドバッファにデータがなければ、入力があるまで待つ。*/
    12231183                while (cep->rwbuf_count == 0) {
    12241184                        if ((error = twai_flg(cep->rcv_flgid, TCP_CEP_EVT_RWBUF_READY, TWF_ORW, &flag, tmout)) != E_OK) {
     
    12281188
    12291189                        /*
    1230                          *  受信できるか、fsm_state を見る。受信できない状æ
    1231 ‹ã§ã€
    1232                          *  受信ウィンドバッファに文字がない場合は終了する。
     1190                         *  受信できるか、fsm_state を見る。受信できない状態で、
     1191                         *  受信ウィンドバッファに文字がない場合は終了する。
    12331192                         */
    12341193                        if (!TCP_FSM_CAN_RECV_MORE(cep->fsm_state) &&
     
    12361195
    12371196                                /*
    1238                                  *  通信端点をロックして、
    1239                                  *  受信ウィンドバッファキューのネットワークバッファを解放する。
     1197                                 *  通信端点をロックして、
     1198                                 *  受信ウィンドバッファキューのネットワークバッファを解放する。
    12401199                                 */
    12411200                                syscall(wai_sem(cep->semid_lock));
     
    12551214
    12561215/*
    1257  *  tcp_move_ra2rw -- 受信再構成キューで再構成したセグメントを受信ウィンドバッファに書き込む。
     1216 *  tcp_move_ra2rw -- 受信再構成キューで再構成したセグメントを受信ウィンドバッファに書き込む。
    12581217 */
    12591218
     
    12651224
    12661225        /*
    1267          *  受信データを受信ウィンドバッファに書き込み、
    1268          *  rcv_nxt を完了した SEQ だけ進める。
     1226         *  受信データを受信ウィンドバッファに書き込み、
     1227         *  rcv_nxt を完了した SEQ だけ進める。
    12691228         */
    12701229        if (TCP_FSM_HAVE_ESTABLISHED(cep->fsm_state)) {
     
    12751234                                break;
    12761235
    1277                         /* 次のセグメントに進む。*/
     1236                        /* 次のセグメントに進む。*/
    12781237                        cep->reassq = qhdr->next;
    12791238
    1280                         /* FIN フラグのみ残す。*/
     1239                        /* FIN フラグのみ残す。*/
    12811240                        flags &= TCP_FLG_FIN;
    12821241
    1283                         /* データを受信ウィンドバッファに書き込む。*/
     1242                        /* データを受信ウィンドバッファに書き込む。*/
    12841243                        TCP_WRITE_RWBUF(cep, q, (uint_t)(GET_IP_TCP_Q_HDR_OFFSET(q)));
    12851244                        }
     
    12931252
    12941253/*
    1295  *  tcp_write_raque -- 受信セグメントを再構成して、受信再構成キューに繋ぐ。
     1254 *  tcp_write_raque -- 受信セグメントを再構成して、受信再構成キューに繋ぐ。
    12961255 */
    12971256
     
    13041263        int32_t         len;
    13051264
    1306         /*  TCP ヘッダの位置を保存する。*/
     1265        /*  TCP ヘッダの位置を保存する。*/
    13071266        SET_IP_TCP_Q_HDR_OFFSET(input, thoff);
    13081267
    13091268        /*
    1310          *  MAX_TCP_REALLOC_SIZE 以下の場合は、新たにネットワークバッファを
    1311          *  割当てて、データをコピーする。
    1312          *  このとき、IP のオプション(拡張ヘッダ)と TCP のオプションは削除する。
     1269         *  MAX_TCP_REALLOC_SIZE 以下の場合は、新たにネットワークバッファを
     1270         *  割当てて、データをコピーする。
     1271         *  このとき、IP のオプション(拡張ヘッダ)と TCP のオプションは削除する。
    13131272         */
    13141273        len  = IF_IP_TCP_HDR_SIZE(input) + inqhdr->slen;
     
    13171276
    13181277                /*
    1319                  *  ネットワークバッファが確保できないときは割当てない。
     1278                 *  ネットワークバッファが確保できないときは割当てない。
    13201279                 */
    13211280                if (tget_net_buf(&new, (uint_t)len, TMO_TCP_GET_NET_BUF) != E_OK)
     
    13421301
    13431302        /*
    1344          *  今回追加するセグメントより前(p)と後(q)のセグメントを探す。
     1303         *  今回追加するセグメントより前(p)と後(q)のセグメントを探す。
    13451304         *
    13461305         *    +-------------------------+
     
    13651324
    13661325        /*
    1367          *  前(p)のセグメントがあれば、既に、今回と同じセグメントが
    1368          *  あることもある。その場合は、その部分またはå
    1369 ¨ã¦ã‚’破棄する。
     1326         *  前(p)のセグメントがあれば、既に、今回と同じセグメントが
     1327         *  あることもある。その場合は、その部分または全てを破棄する。
    13701328         *
    13711329         *    qhdr->seq
     
    13891347
    13901348                        /*
    1391                          *  len が正であれば、前(p) のセグメントと今回の
    1392                          *  セグメントが重なっている。
     1349                         *  len が正であれば、前(p) のセグメントと今回の
     1350                         *  セグメントが重なっている。
    13931351                         */
    13941352                        if (len >= inqhdr->slen) {
    13951353
    13961354                                /*
    1397                                  *  len が今回のセグメントと同じなら
    1398                                  *  まったく同じセグメントなので何もしない。
     1355                                 *  len が今回のセグメントと同じなら
     1356                                 *  まったく同じセグメントなので何もしない。
    13991357                                 */
    14001358                                if (new != NULL) {
     
    14071365
    14081366                        /*
    1409                          *  追加するセグメントの SDU を len 分前に詰める。
     1367                         *  追加するセグメントの SDU を len 分前に詰める。
    14101368                         */
    14111369                        inqhdr->seq  += len;
     
    14161374
    14171375        /*
    1418          *  キューにつなぐ前に、新しいネットワークバッファにデータを移す。
    1419          *  TCP のオプションは削除する。
     1376         *  キューにつなぐ前に、新しいネットワークバッファにデータを移す。
     1377         *  TCP のオプションは削除する。
    14201378         */
    14211379        if (new != NULL) {
     
    14301388
    14311389        /*
    1432          *  重なる後(q)のセグメントを調整する。
     1390         *  重なる後(q)のセグメントを調整する。
    14331391         *
    14341392         *    inqhdr->seq
     
    14501408                len = inqhdr->seq + inqhdr->slen - qhdr->seq;
    14511409                if (len <= 0)
    1452                         /* len が負なら重なっていない。*/
     1410                        /* len が負なら重なっていない。*/
    14531411                        break;
    14541412                else if (len < qhdr->slen) {
    14551413
    14561414                        /*
    1457                          *  後ろで重なっているセグメントの SDU を len 分前に詰める。
     1415                         *  後ろで重なっているセグメントの SDU を len 分前に詰める。
    14581416                         *
    14591417                         *    inqhdr->seq
     
    14991457
    15001458/*
    1501  *  tcp_rexmt_val -- 再送タイムアウト値を返す。
     1459 *  tcp_rexmt_val -- 再送タイムアウト値を返す。
    15021460 */
    15031461
     
    15151473
    15161474/*
    1517  *  tcp_init_cep -- 通信端点を初期化する。
     1475 *  tcp_init_cep -- 通信端点を初期化する。
    15181476 */
    15191477
     
    15241482#ifdef TCP_CFG_RWBUF_CSAVE
    15251483        /*
    1526          * 受信ウィンドバッファの省コピー機能を有効にした場合、
    1527          * 受信ウィンドバッファがå
    1528 ¨ã¦è§£æ”¾ã•ã‚Œãªã„ことがあるので、
    1529          * ここで解放する。
     1484         * 受信ウィンドバッファの省コピー機能を有効にした場合、
     1485         * 受信ウィンドバッファが全て解放されないことがあるので、
     1486         * ここで解放する。
    15301487         */
    15311488        if (cep->rwbufq != NULL) {
     
    15421499        cep->rbuf_rptr  = cep->rbuf_wptr = cep->rbuf;
    15431500
    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;           /* 滑らかな移動平均                     */
    15461503        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)の 制限値     */
    15511508
    15521509        /*
    1553          * 以下に関係しないフラグをクリアーする。
    1554          * ・送受信ウィンドバッファの省コピー機能
    1555          * ・動的な通信端点の生成・削除機能
    1556          * ・通信端点のネットワーク層プロトコル
     1510         * 以下に関係しないフラグをクリアーする。
     1511         * ・送受信ウィンドバッファの省コピー機能
     1512         * ・動的な通信端点の生成・削除機能
     1513         * ・通信端点のネットワーク層プロトコル
    15571514         */
    15581515        cep->flags &= TCP_CEP_FLG_NOT_CLEAR;
    15591516
    1560         /* セマフォを初期化する。*/
     1517        /* セマフォを初期化する。*/
    15611518        sig_sem(cep->semid_lock);
    15621519
    1563         /* フラグを初期化する。*/
     1520        /* フラグを初期化する。*/
    15641521        syscall(set_flg(cep->snd_flgid, TCP_CEP_EVT_SWBUF_READY));
    15651522        syscall(clr_flg(cep->rcv_flgid, TCP_CEP_EVT_RWBUF_READY));
     
    15671524
    15681525/*
    1569  *  tcp_notify -- ICMP エラーの処理
     1526 *  tcp_notify -- ICMP エラーの処理
    15701527 */
    15711528
     
    15781535
    15791536                /*
    1580                  *  コネクション開設済で、ホスト到達不能エラーの場合は、
    1581                  *  再送により処理する。
     1537                 *  コネクション開設済で、ホスト到達不能エラーの場合は、
     1538                 *  再送により処理する。
    15821539                 */
    15831540                if (cep->fsm_state == TCP_FSM_ESTABLISHED &&
     
    15861543
    15871544                /*
    1588                  *  コネクション開設中、同じエラーを何度か受信した場合は、
    1589                  *  å¾
    1590 ã¡çŠ¶æ
    1591 ‹ã‚’解除し、対応する関数にエラーを返させる。
     1545                 *  コネクション開設中、同じエラーを何度か受信した場合は、
     1546                 *  待ち状態を解除し、対応する関数にエラーを返させる。
    15921547                 */
    15931548                if (cep->fsm_state < TCP_FSM_ESTABLISHED && cep->rxtshift > 3 && cep->net_error != E_OK) {
     
    15981553                        cep->net_error = error;
    15991554
    1600                         /* 送信を指示する。*/
     1555                        /* 送信を指示する。*/
    16011556                        cep->flags |=  TCP_CEP_FLG_POST_OUTPUT;
    16021557                        sig_sem(SEM_TCP_POST_OUTPUT);
     
    16061561
    16071562/*
    1608  *  tcp_lock_cep -- TCP 通信端点をロックする。
     1563 *  tcp_lock_cep -- TCP 通信端点をロックする。
    16091564 */
    16101565
     
    16171572        *p_cep = NULL;
    16181573
    1619         /* TCP 通信端点 ID をチェックする。*/
     1574        /* TCP 通信端点 ID をチェックする。*/
    16201575        if (!VALID_TCP_CEPID(cepid))
    16211576                return E_ID;
    16221577
    1623         /* TCP 通信端点を得る。*/
     1578        /* TCP 通信端点を得る。*/
    16241579        cep = GET_TCP_CEP(cepid);
    16251580
    1626         /* TCP 通信端点をロックする。*/
     1581        /* TCP 通信端点をロックする。*/
    16271582        syscall(wai_sem(cep->semid_lock));
    16281583
    1629         /* TCP 通信端点をチェックする。*/
     1584        /* TCP 通信端点をチェックする。*/
    16301585        if (!VALID_TCP_CEP(cep)) {
    16311586                syscall(sig_sem(cep->semid_lock));
     
    16341589
    16351590        /*
    1636          *  API 機能コードとタスク識別子を記録する。
    1637          *  すでに記録されていれば、ペンディング中なのでエラー
     1591         *  API 機能コードとタスク識別子を記録する。
     1592         *  すでに記録されていれば、ペンディング中なのでエラー
    16381593         */
    16391594        if (IS_TFN_TCP_RCV(tfn)) {
     
    16571612                }
    16581613
    1659         /* 通信端点のロックを解除する。*/
     1614        /* 通信端点のロックを解除する。*/
    16601615        syscall(sig_sem(cep->semid_lock));
    16611616
     
    16671622
    16681623/*
    1669  *  トレース出力に用いるシリアルポート番号
     1624 *  トレース出力に用いるシリアルポート番号
    16701625 */
    16711626
     
    16751630
    16761631/*
    1677  *  コネクションの状æ
    1678 ‹
     1632 *  コネクションの状態
    16791633 */
    16801634
     
    16941648
    16951649/*
    1696  *  trace_putchar -- シリアルポートへの文字出力
     1650 *  trace_putchar -- シリアルポートへの文字出力
    16971651 */
    16981652
     
    17051659
    17061660/*
    1707  *  シリアルポートへの書式付文字列出力ライブラリ
    1708  */
    1709 
    1710 /*
    1711  *  数値変換のための変換表
     1661 *  シリアルポートへの書式付文字列出力ライブラリ
     1662 */
     1663
     1664/*
     1665 *  数値変換のための変換表
    17121666 */
    17131667
     
    17161670
    17171671/*
    1718  *  convert -- trace_printf の数値変換
     1672 *  convert -- trace_printf の数値変換
    17191673 */
    17201674
     
    17531707
    17541708/*
    1755  *  trace_printf -- シリアルポートへの書式付文字列出力
     1709 *  trace_printf -- シリアルポートへの書式付文字列出力
    17561710 */
    17571711
     
    17661720        va_start(ap, fmt);
    17671721        while ((ch = *fmt ++) != '\0') {
    1768                 if (ch != '%') {                /* 書式指定以外 */
     1722                if (ch != '%') {                /* 書式指定以外 */
    17691723                        trace_putchar(portid, (char)ch);
    17701724                        continue;
     
    17731727                width = longflag = 0;
    17741728                padchar = ' ';
    1775                 if ((ch = *fmt ++) == '0') {    /* 上位桁の 0 */
     1729                if ((ch = *fmt ++) == '0') {    /* 上位桁の 0 */
    17761730                        padchar = '0';
    17771731                        ch = *fmt ++;
    17781732                        }
    17791733
    1780                 while ('0' <= ch && ch <= '9') {        /* 出力å¹
    1781  */
     1734                while ('0' <= ch && ch <= '9') {        /* 出力幅 */
    17821735                        width = width * 10 + ch - '0';
    17831736                        ch = *fmt ++;
    17841737                        }
    17851738
    1786                 while (ch == 'l') {             /* long (long) の指定 */
     1739                while (ch == 'l') {             /* long (long) の指定 */
    17871740                        longflag ++;
    17881741                        ch = *fmt ++;
     
    18451798
    18461799/*
    1847  *  TCP フラグ文字列
     1800 *  TCP フラグ文字列
    18481801 */
    18491802
     
    18641817
    18651818/*
    1866  *  送信 TCP ヘッダのトレース出力
     1819 *  送信 TCP ヘッダのトレース出力
    18671820 */
    18681821
     
    19251878
    19261879/*
    1927  *  受信 TCP ヘッダのトレース出力
     1880 *  受信 TCP ヘッダのトレース出力
    19281881 *
    1929  *    注意: TCP ヘッダå†
    1930 ã¯ã€ã™ã§ã«ãƒ›ã‚¹ãƒˆãƒã‚¤ãƒˆã‚ªãƒ¼ãƒ€
     1882 *    注意: TCP ヘッダ内は、すでにホストバイトオーダ
    19311883 */
    19321884
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/tcp_subr_cs.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    134122
    135123/*
    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 -- 送信ウィンドバッファから指定されたオクテット分削除する(選択)。
    144132 */
    145133
     
    154142
    155143/*
    156  *  tcp_write_swbuf -- 送信ウィンドバッファにデータを書き込む(選択)。
     144 *  tcp_write_swbuf -- 送信ウィンドバッファにデータを書き込む(選択)。
    157145 */
    158146
     
    167155
    168156/*
    169  *  tcp_read_swbuf -- 送信ウィンドバッファからデータを読み出す(選択)。
     157 *  tcp_read_swbuf -- 送信ウィンドバッファからデータを読み出す(選択)。
    170158 */
    171159
     
    178166
    179167/*
    180  *  tcp_wait_swbuf -- 送信ウィンドバッファと相手の受信ウィンドが開くのをå¾
    181 ã¤ï¼ˆé¸æŠžï¼‰ã€‚
     168 *  tcp_wait_swbuf -- 送信ウィンドバッファと相手の受信ウィンドが開くのを待つ(選択)。
    182169 */
    183170
     
    192179
    193180/*
    194  *  tcp_get_swbuf_addr -- 送信ウィンドバッファの空きアドレスを獲得する(選択)。
     181 *  tcp_get_swbuf_addr -- 送信ウィンドバッファの空きアドレスを獲得する(選択)。
    195182 */
    196183
     
    205192
    206193/*
    207  *  tcp_send_swbuf -- 送信ウィンドバッファのデータを送信可能にする(選択)。
     194 *  tcp_send_swbuf -- 送信ウィンドバッファのデータを送信可能にする(選択)。
    208195 */
    209196
     
    218205
    219206/*
    220  *  tcp_free_swbufq -- 送信ウィンドバッファキューの解放を指示する(選択)。
     207 *  tcp_free_swbufq -- 送信ウィンドバッファキューの解放を指示する(選択)。
    221208 */
    222209
     
    229216
    230217/*
    231  *  tcp_alloc_swbuf -- 送信ウィンドバッファ用のネットワークバッファの割り当てを指示する(選択)。
     218 *  tcp_alloc_swbuf -- 送信ウィンドバッファ用のネットワークバッファの割り当てを指示する(選択)。
    232219 */
    233220
     
    240227
    241228/*
    242  *  tcp_is_swbuf_full -- 送信ウィンドバッファが満杯かチェックする(選択)。
     229 *  tcp_is_swbuf_full -- 送信ウィンドバッファが満杯かチェックする(選択)。
    243230 */
    244231
     
    255242
    256243/*
    257  *  tcp_drop_swbuf_cs -- 送信ウィンドバッファから指定されたオクテット分削除する(専用)。
     244 *  tcp_drop_swbuf_cs -- 送信ウィンドバッファから指定されたオクテット分削除する(専用)。
    258245 */
    259246
     
    262249{
    263250
    264         /*送信ウィンドバッファから指定されたオクテット分削除する。*/
     251        /*送信ウィンドバッファから指定されたオクテット分削除する。*/
    265252        cep->swbuf_count -= (uint16_t)len;
    266253
    267         /* 送信済みで、ACKå¾
    268 ã¡ã®æ™‚は、ACK完了に変更する。*/
     254        /* 送信済みで、ACK待ちの時は、ACK完了に変更する。*/
    269255        if (len > 0 && (cep->flags & TCP_CEP_FLG_WBCS_MASK) == TCP_CEP_FLG_WBCS_SENT) {
    270256                cep->flags = (cep->flags & ~TCP_CEP_FLG_WBCS_MASK) | TCP_CEP_FLG_WBCS_ACKED;
     
    274260
    275261/*
    276  *  tcp_write_swbuf_cs -- 送信ウィンドバッファにデータを書き込む(専用)。
     262 *  tcp_write_swbuf_cs -- 送信ウィンドバッファにデータを書き込む(専用)。
    277263 */
    278264
     
    283269        uint_t  hdr_size = IF_IP_TCP_NET_HDR_SIZE(&cep->dstaddr.ipaddr);
    284270
    285         /* 通信端点をロックする。*/
     271        /* 通信端点をロックする。*/
    286272        syscall(wai_sem(cep->semid_lock));
    287273
     
    295281                 *   <---------------- error --------------->
    296282                 *              ^
    297                  *              net_buf で 4 オクテット境界にアラインされている。
     283                 *              net_buf で 4 オクテット境界にアラインされている。
    298284                 *
    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 オクテット境界に調整する。
    304289                 */
    305290                error = (uint_t)(((error - hdr_size) >> 2 << 2) + hdr_size);
     
    310295                        len = (uint_t)(error - hdr_size);
    311296
    312                 /* 送信ウインドサイズによりサイズを調整する。*/
     297                /* 送信ウインドサイズによりサイズを調整する。*/
    313298                if (len > cep->snd_wnd)
    314299                        len = cep->snd_wnd;
     
    316301                        len = cep->snd_cwnd;
    317302
    318                 /* 相手の最大受信セグメントサイズ (maxseg) をè¶
    319 ãˆãªã„ようにする。*/
     303                /* 相手の最大受信セグメントサイズ (maxseg) を超えないようにする。*/
    320304                if (len > cep->maxseg)
    321305                        len = cep->maxseg;
    322306
    323                 /* データを移す。*/
     307                /* データを移す。*/
    324308                memcpy(cep->sbuf_wptr, (void*)((uint8_t*)data), (size_t)len);
    325309                cep->sbuf_wptr   += len;
     
    327311                error             = len;
    328312
    329                 /* ネットワークバッファ長と IP データグラム長を設定する。*/
     313                /* ネットワークバッファ長と IP データグラム長を設定する。*/
    330314                cep->swbufq->len = (uint16_t)(cep->swbuf_count + hdr_size);
    331315                SET_IP_SDU_SIZE(cep->swbufq, cep->swbuf_count + TCP_HDR_SIZE);
    332316
    333                 /* フラグを、送信可能に設定する。*/
     317                /* フラグを、送信可能に設定する。*/
    334318                cep->flags = (cep->flags & ~TCP_CEP_FLG_WBCS_MASK) | TCP_CEP_FLG_WBCS_SEND_READY;
    335319                }
    336320
    337         else {  /* 送信ウインドバッファが不正 */
     321        else {  /* 送信ウインドバッファが不正 */
    338322                syslog(LOG_WARNING, "[TCP] illegal window buff for send, CEP: %d, %4d < %4d.",
    339323                                    GET_TCP_CEPID(cep), error, hdr_size);
    340324
    341                 /* 送信ウィンドバッファキューのネットワークバッファを解放する。*/
     325                /* 送信ウィンドバッファキューのネットワークバッファを解放する。*/
    342326                tcp_free_swbufq_cs(cep);
    343327                }
    344328
    345         /* 通信端点のロックを解除する。*/
     329        /* 通信端点のロックを解除する。*/
    346330        syscall(sig_sem(cep->semid_lock));
    347331
     
    350334
    351335/*
    352  *  tcp_wait_swbuf_cs -- 送信ウィンドバッファと相手の受信ウィンドが開くのをå¾
    353 ã¤ï¼ˆå°‚用)。
     336 *  tcp_wait_swbuf_cs -- 送信ウィンドバッファと相手の受信ウィンドが開くのを待つ(専用)。
    354337 */
    355338
     
    362345        int_t   win;
    363346
    364         /* 送信ウィンドバッファが割当て済みで、空きがあれば終了する。*/
     347        /* 送信ウィンドバッファが割当て済みで、空きがあれば終了する。*/
    365348        if ((cep->flags & TCP_CEP_FLG_WBCS_MASK) == TCP_CEP_FLG_WBCS_NBUF_READY &&
    366349            (cep->swbuf_count + IF_IP_TCP_NET_HDR_SIZE(&cep->dstaddr.ipaddr)) < net_buf_siz(cep->swbufq))
    367350                return E_OK;
    368351
    369         /* 送信中であれば、終了するまでå¾
    370 æ©Ÿã™ã‚‹ã€‚*/
     352        /* 送信中であれば、終了するまで待機する。*/
    371353        while ((cep->flags & TCP_CEP_FLG_WBCS_MASK) != TCP_CEP_FLG_WBCS_FREE) {
    372354
    373                 /* 送信å¾
    374 ã¡ã®æ™‚é–“ã‚’ tmout から減ずる。*/
     355                /* 送信待ちの時間を tmout から減ずる。*/
    375356                if (!(tmout == TMO_POL || tmout == TMO_FEVR))
    376357                        syscall(get_tim(&before));
     
    381362                syscall(clr_flg(cep->snd_flgid, (FLGPTN)(~TCP_CEP_EVT_SWBUF_READY)));
    382363
    383                 /* 送信å¾
    384 ã¡ã®æ™‚é–“ã‚’ tmout から減ずる。*/
     364                /* 送信待ちの時間を tmout から減ずる。*/
    385365                if (!(tmout == TMO_POL || tmout == TMO_FEVR)) {
    386366                        syscall(get_tim(&after));
     
    391371
    392372                /*
    393                  *  送信できるか、CEP の FSM 状æ
    394 ‹ã‚’見る。
    395                  *  送信ウインドバッファが空くまでå¾
    396 ã¤é–“に、送信不能になった場合は、
    397                  *  コネクションが切断されたことを意味している。
     373                 *  送信できるか、CEP の FSM 状態を見る。
     374                 *  送信ウインドバッファが空くまで待つ間に、送信不能になった場合は、
     375                 *  コネクションが切断されたことを意味している。
    398376                 */
    399377                if (!TCP_FSM_CAN_SEND_MORE(cep->fsm_state))
     
    401379                }
    402380
    403         /* 相手の受信ウィンドが閉じている場合は、開くまでå¾
    404 æ©Ÿã™ã‚‹ã€‚*/
     381        /* 相手の受信ウィンドが閉じている場合は、開くまで待機する。*/
    405382        while (true) {
    406383
    407384                /*
    408                  *  snd_wnd:  相手の受信可能ウィンドサイズ
    409                  *  snd_cwnd: 輻輳ウィンドサイズ
     385                 *  snd_wnd:  相手の受信可能ウィンドサイズ
     386                 *  snd_cwnd: 輻輳ウィンドサイズ
    410387                 *
    411                  *  win: どちらか小さいウィンドサイズに設定する。
     388                 *  win: どちらか小さいウィンドサイズに設定する。
    412389                 */
    413390                win = cep->snd_wnd < cep->snd_cwnd ? cep->snd_wnd : cep->snd_cwnd;
     
    415392                        break;
    416393
    417                 /* 開きå¾
    418 ã¡ã®æ™‚é–“ã‚’ tmout から減ずる。*/
     394                /* 開き待ちの時間を tmout から減ずる。*/
    419395                if (!(tmout == TMO_POL || tmout == TMO_FEVR))
    420396                        syscall(get_tim(&before));
     
    425401                syscall(clr_flg(cep->snd_flgid, (FLGPTN)(~TCP_CEP_EVT_SWBUF_READY)));
    426402
    427                 /* 開きå¾
    428 ã¡ã®æ™‚é–“ã‚’ tmout から減ずる。*/
     403                /* 開き待ちの時間を tmout から減ずる。*/
    429404                if (!(tmout == TMO_POL || tmout == TMO_FEVR)) {
    430405                        syscall(get_tim(&after));
     
    435410
    436411                /*
    437                  *  送信できるか、CEP の FSM 状æ
    438 ‹ã‚’見る。
    439                  *  送信ウインドバッファが空くまでå¾
    440 ã¤é–“に、送信不能になった場合は、
    441                  *  コネクションが切断されたことを意味している。
     412                 *  送信できるか、CEP の FSM 状態を見る。
     413                 *  送信ウインドバッファが空くまで待つ間に、送信不能になった場合は、
     414                 *  コネクションが切断されたことを意味している。
    442415                 */
    443416                if (!TCP_FSM_CAN_SEND_MORE(cep->fsm_state))
     
    445418                }
    446419
    447         /* ネットワークバッファを獲得する。*/
     420        /* ネットワークバッファを獲得する。*/
    448421        if ((error = tcpn_get_segment(&cep->swbufq, cep, 0,
    449422                                     TCP_CFG_SWBUF_CSAVE_MIN_SIZE,
     
    452425                return error;
    453426
    454         /* 送信ウィンドバッファを初期化する。*/
     427        /* 送信ウィンドバッファを初期化する。*/
    455428        tcp_init_swbuf(cep);
    456429
     
    459432
    460433/*
    461  *  tcp_get_swbuf_addr_cs -- 送信ウィンドバッファの空きアドレスを獲得する(専用)。
     434 *  tcp_get_swbuf_addr_cs -- 送信ウィンドバッファの空きアドレスを獲得する(専用)。
    462435 */
    463436
     
    467440        ER_UINT error;
    468441
    469         /* 通信端点をロックする。*/
     442        /* 通信端点をロックする。*/
    470443        syscall(wai_sem(cep->semid_lock));
    471444
     
    479452                 *   <---------------- error --------------->
    480453                 *              ^
    481                  *              net_buf で 4 オクテット境界にアラインされている。
     454                 *              net_buf で 4 オクテット境界にアラインされている。
    482455                 *
    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 オクテット境界に調整する。
    488460                 */
    489461                error = (uint_t)(((error - IF_IP_TCP_NET_HDR_SIZE(&cep->dstaddr.ipaddr)) >> 2 << 2) - cep->swbuf_count);
    490462
    491                 /* 送信ウインドサイズによりサイズを調整する。*/
     463                /* 送信ウインドサイズによりサイズを調整する。*/
    492464                if (error > cep->snd_wnd)
    493465                        error = cep->snd_wnd;
     
    495467                        error = cep->snd_cwnd;
    496468
    497                 /* 相手の最大受信セグメントサイズ (maxseg) をè¶
    498 ãˆãªã„ようにする。*/
     469                /* 相手の最大受信セグメントサイズ (maxseg) を超えないようにする。*/
    499470                if (error > cep->maxseg)
    500471                        error = cep->maxseg;
    501472
    502                 /* 送信ウィンドバッファの空きデータ長を設定し、その値を返す。*/
     473                /* 送信ウィンドバッファの空きデータ長を設定し、その値を返す。*/
    503474                cep->get_buf_len = error;
    504475
    505                 /* 送信ウィンドバッファの空きアドレスのå
    506 ˆé ­ã‚’設定する。*/
     476                /* 送信ウィンドバッファの空きアドレスの先頭を設定する。*/
    507477                *p_buf = cep->sbuf_wptr;
    508478                }
    509479
    510         else {  /* ネットワークバッファが不正 */
    511 
    512                 /* 送信ウィンドバッファキューのネットワークバッファを解放する。*/
     480        else {  /* ネットワークバッファが不正 */
     481
     482                /* 送信ウィンドバッファキューのネットワークバッファを解放する。*/
    513483                tcp_free_swbufq_cs(cep);
    514484                }
    515485
    516         /* 通信端点のロックを解除する。*/
     486        /* 通信端点のロックを解除する。*/
    517487        syscall(sig_sem(cep->semid_lock));
    518488
     
    521491
    522492/*
    523  *  tcp_send_swbuf_cs -- 送信ウィンドバッファのデータを送信可能にする(専用)。
     493 *  tcp_send_swbuf_cs -- 送信ウィンドバッファのデータを送信可能にする(専用)。
    524494 */
    525495
     
    527497tcp_send_swbuf_cs (T_TCP_CEP *cep, uint_t len)
    528498{
    529         /* 通信端点をロックする。*/
     499        /* 通信端点をロックする。*/
    530500        syscall(wai_sem(cep->semid_lock));
    531501
     
    533503        cep->swbuf_count += len;
    534504
    535         /* ネットワークバッファ長と IP データグラム長を設定する。*/
     505        /* ネットワークバッファ長と IP データグラム長を設定する。*/
    536506        cep->swbufq->len = (uint16_t)(cep->swbuf_count + IF_IP_TCP_NET_HDR_SIZE(&cep->dstaddr.ipaddr));
    537507        SET_IP_SDU_SIZE(cep->swbufq, len + TCP_HDR_SIZE);
    538508
    539         /* tcp_get_buf の割当て長をリセットする。*/
     509        /* tcp_get_buf の割当て長をリセットする。*/
    540510        cep->get_buf_len = 0;
    541511
    542         /* 通信端点のロックを解除する。*/
     512        /* 通信端点のロックを解除する。*/
    543513        syscall(sig_sem(cep->semid_lock));
    544514
    545         /* フラグを、送信可能に設定し、強制的に送信する。*/
     515        /* フラグを、送信可能に設定し、強制的に送信する。*/
    546516        cep->flags = (cep->flags & ~TCP_CEP_FLG_WBCS_MASK) | TCP_CEP_FLG_WBCS_SEND_READY
    547517                                                       | TCP_CEP_FLG_FORCE
     
    551521
    552522/*
    553  *  tcp_free_swbufq_cs -- 送信ウィンドバッファキューの解放を指示する(専用)。
     523 *  tcp_free_swbufq_cs -- 送信ウィンドバッファキューの解放を指示する(専用)。
    554524 *
    555  *    注意:
    556  *      å¿
    557 è¦ã§ã‚れば、この関数を呼び出す前に、通信端点をロックし、
    558  *      戻った後、解除するå¿
    559 è¦ãŒã‚る。
     525 *    注意:
     526 *      必要であれば、この関数を呼び出す前に、通信端点をロックし、
     527 *      戻った後、解除する必要がある。
    560528 */
    561529
     
    563531tcp_free_swbufq_cs (T_TCP_CEP *cep)
    564532{
    565         /* 送信ウィンドバッファの空きå¾
    566 ã¡ã‚’取り消す。*/
     533        /* 送信ウィンドバッファの空き待ちを取り消す。*/
    567534        cep->flags &= ~TCP_CEP_FLG_WBCS_NBUF_REQ;
    568535
    569536        if ((cep->flags & TCP_CEP_FLG_WBCS_MASK) != TCP_CEP_FLG_WBCS_FREE) {
    570537                /*
    571                  *  送信ウィンドバッファを削除するために、フラグを ACK 完了に設定し、
    572                  *  TCP 出力タスクを起動する。
     538                 *  送信ウィンドバッファを削除するために、フラグを ACK 完了に設定し、
     539                 *  TCP 出力タスクを起動する。
    573540                 */
    574541                cep->flags = (cep->flags & ~TCP_CEP_FLG_WBCS_MASK) | TCP_CEP_FLG_WBCS_ACKED;
     
    578545
    579546/*
    580  *  tcp_alloc_swbuf_cs -- 送信ウィンドバッファ用のネットワークバッファの割り当てを指示する(専用)。
     547 *  tcp_alloc_swbuf_cs -- 送信ウィンドバッファ用のネットワークバッファの割り当てを指示する(専用)。
    581548 */
    582549
     
    587554
    588555        /*
    589          *  送信ウィンドバッファが未使用の場合のみ、
    590          *  送信ウィンドバッファ用のネットワークバッファの割り当てを指示する。
     556         *  送信ウィンドバッファが未使用の場合のみ、
     557         *  送信ウィンドバッファ用のネットワークバッファの割り当てを指示する。
    591558         */
    592559        if ((cep->flags & TCP_CEP_FLG_WBCS_MASK) == TCP_CEP_FLG_WBCS_FREE)
     
    595562
    596563/*
    597  *  tcp_is_swbuf_full_cs -- 送信ウィンドバッファが満杯かチェックする(専用)。
     564 *  tcp_is_swbuf_full_cs -- 送信ウィンドバッファが満杯かチェックする(専用)。
    598565 */
    599566
     
    606573
    607574/*
    608  *  tcp_init_swbuf -- 送信ウィンドバッファを初期化する(専用)。
     575 *  tcp_init_swbuf -- 送信ウィンドバッファを初期化する(専用)。
    609576 *
    610  *    注意: tcp_get_segment でネットワークバッファを獲得した
    611  *          直後に呼び出すこと。
     577 *    注意: tcp_get_segment でネットワークバッファを獲得した
     578 *          直後に呼び出すこと。
    612579 */
    613580
     
    615582tcp_init_swbuf (T_TCP_CEP *cep)
    616583{
    617         /* 送信ウインドバッファの使用中サイズをリセットする。*/
     584        /* 送信ウインドバッファの使用中サイズをリセットする。*/
    618585        cep->swbuf_count = 0;
    619586
    620         /* 送信ウインドバッファのアドレスを設定する。*/
     587        /* 送信ウインドバッファのアドレスを設定する。*/
    621588        cep->sbuf_wptr = cep->sbuf_rptr = GET_TCP_SDU(cep->swbufq, IF_IP_TCP_NET_HDR_OFFSET(&cep->dstaddr.ipaddr));
    622589
    623         /* フラグを、ネットワークバッファ割当て済みに設定する。*/
     590        /* フラグを、ネットワークバッファ割当て済みに設定する。*/
    624591        cep->flags = (cep->flags & ~(TCP_CEP_FLG_WBCS_NBUF_REQ | TCP_CEP_FLG_WBCS_MASK))
    625592                                 |   TCP_CEP_FLG_WBCS_NBUF_READY;
     
    627594
    628595/*
    629  *  tcp_push_res_nbuf -- ネットワークバッファを予約する(専用)。
     596 *  tcp_push_res_nbuf -- ネットワークバッファを予約する(専用)。
    630597 */
    631598
     
    645612                if ((cep->flags & TCP_CEP_FLG_WBCS_MASK) == TCP_CEP_FLG_WBCS_NBUF_PEND) {
    646613
    647                         /* ネットワークバッファを予約する。*/
     614                        /* ネットワークバッファを予約する。*/
    648615                        cep->swbufq = nbuf;
    649616                        nbuf = NULL;
    650617
    651                         /* フラグを予約に設定する。*/
     618                        /* フラグを予約に設定する。*/
    652619                        cep->flags = (cep->flags & ~TCP_CEP_FLG_WBCS_MASK) | TCP_CEP_FLG_WBCS_NBUF_RSVD;
    653620                        sel_ix = ix;
     
    664631
    665632/*
    666  *  tcp_pull_res_nbuf -- 予約してあるネットワークバッファ返す(専用)。
     633 *  tcp_pull_res_nbuf -- 予約してあるネットワークバッファ返す(専用)。
    667634 */
    668635
     
    676643        if ((cep->flags & TCP_CEP_FLG_WBCS_MASK) == TCP_CEP_FLG_WBCS_NBUF_RSVD) {
    677644
    678                 /* 予約してあるネットワークバッファを返す。*/
     645                /* 予約してあるネットワークバッファを返す。*/
    679646                nbuf = cep->swbufq;
    680647                cep->swbufq = NULL;
    681648
    682                 /* TCP 出力タスクを起動する。*/
     649                /* TCP 出力タスクを起動する。*/
    683650                sig_sem(SEM_TCP_POST_OUTPUT);
    684651                }
     
    698665
    699666/*
    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 -- 受信ウィンドバッファキューの最初のネットワークバッファを解放する。
    708675 */
    709676
     
    718685
    719686/*
    720  *  tcp_read_rwbuf -- 受信ウィンドバッファから指定されたオクテット分読み出す。
     687 *  tcp_read_rwbuf -- 受信ウィンドバッファから指定されたオクテット分読み出す。
    721688 */
    722689
     
    731698
    732699/*
    733  *  tcp_get_rwbuf_addr -- 受信ウィンドバッファの空きアドレスを獲得する。
     700 *  tcp_get_rwbuf_addr -- 受信ウィンドバッファの空きアドレスを獲得する。
    734701 */
    735702
     
    744711
    745712/*
    746  *  tcp_free_rwbufq -- 受信ウィンドバッファキューを解放する。
     713 *  tcp_free_rwbufq -- 受信ウィンドバッファキューを解放する。
    747714 */
    748715
     
    755722
    756723/*
    757  *  tcp_write_rwbuf -- 受信ウィンドバッファにデータを書き込む。
     724 *  tcp_write_rwbuf -- 受信ウィンドバッファにデータを書き込む。
    758725 */
    759726
     
    770737
    771738/*
    772  *  TCP 通信端点の受信ウィンドバッファの省コピー機能が有効
    773  */
    774 
    775 /*
    776  *  tcp_drop_rwbuf -- 受信ウィンドバッファキューの最初のネットワークバッファを解放する。
     739 *  TCP 通信端点の受信ウィンドバッファの省コピー機能が有効
     740 */
     741
     742/*
     743 *  tcp_drop_rwbuf -- 受信ウィンドバッファキューの最初のネットワークバッファを解放する。
    777744 */
    778745
     
    787754                cep->rwbuf_count -= len;
    788755
    789                 /* ネットワークバッファにデータが無くなったら解放する。*/
     756                /* ネットワークバッファにデータが無くなったら解放する。*/
    790757                if (len == qhdr->slen) {
    791758                        T_NET_BUF *next;
     
    809776
    810777/*
    811  *  tcp_read_rwbuf -- 受信ウィンドバッファから指定されたオクテット分読み出す。
     778 *  tcp_read_rwbuf -- 受信ウィンドバッファから指定されたオクテット分読み出す。
    812779 */
    813780
     
    819786        uint8_t         *buf = (uint8_t*)data;
    820787
    821         /* 通信端点をロックする。*/
     788        /* 通信端点をロックする。*/
    822789        syscall(wai_sem(cep->semid_lock));
    823790
    824791        /*
    825          *  受信ウィンドバッファキューにネットワークバッファが無くなるか
    826          *  len が 0 になるまで続ける。
     792         *  受信ウィンドバッファキューにネットワークバッファが無くなるか
     793         *  len が 0 になるまで続ける。
    827794         */
    828795        while (cep->rwbufq != NULL && len > 0) {
     
    830797
    831798                /*
    832                  *  len と受信ウィンドバッファキューのå
    833 ˆé ­ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒãƒƒãƒ•ã‚¡ã®
    834                  *  データ数の小さい方を移すデータ数にする。
     799                 *  len と受信ウィンドバッファキューの先頭ネットワークバッファの
     800                 *  データ数の小さい方を移すデータ数にする。
    835801                 */
    836802                if (len > qhdr->slen)
     
    844810
    845811                /*
    846                  *  受信ウィンドバッファキューのネットワークバッファに
    847                  *  データが無くなったら解放する。
     812                 *  受信ウィンドバッファキューのネットワークバッファに
     813                 *  データが無くなったら解放する。
    848814                 */
    849815                tcp_drop_rwbuf_cs(cep, blen);
     
    854820                }
    855821
    856         /* 通信端点のロックを解除する。*/
     822        /* 通信端点のロックを解除する。*/
    857823        syscall(sig_sem(cep->semid_lock));
    858824
     
    861827
    862828/*
    863  *  tcp_get_rwbuf_addr -- 受信ウィンドバッファの空きアドレスを獲得する。
     829 *  tcp_get_rwbuf_addr -- 受信ウィンドバッファの空きアドレスを獲得する。
    864830 */
    865831
     
    870836        uint_t          len;
    871837
    872         /* 通信端点をロックする。*/
     838        /* 通信端点をロックする。*/
    873839        syscall(wai_sem(cep->semid_lock));
    874840
    875841        if (cep->rwbufq == NULL) {
    876842
    877                 /* 受信ウィンドバッファがå
    878 ¨ã¦é–‹æ”¾ã•ã‚Œã¦ã„るとき。*/
     843                /* 受信ウィンドバッファが全て開放されているとき。*/
    879844                *p_buf = NULL;
    880845                len = 0;
     
    882847        else {
    883848
    884                 /* 受信ウィンドバッファのデータのアドレスのå
    885 ˆé ­ã‚’設定する。*/
     849                /* 受信ウィンドバッファのデータのアドレスの先頭を設定する。*/
    886850                qhdr = GET_TCP_Q_HDR(cep->rwbufq, GET_IP_TCP_Q_HDR_OFFSET(cep->rwbufq));
    887851                *p_buf = GET_TCP_SDU(cep->rwbufq, GET_IP_TCP_Q_HDR_OFFSET(cep->rwbufq)) + qhdr->soff;
    888852
    889                 /* 受信ウィンドバッファのデータ長を計算する。*/
     853                /* 受信ウィンドバッファのデータ長を計算する。*/
    890854                len = qhdr->slen;
    891855                }
    892856
    893         /* 通信端点のロックを解除する。*/
     857        /* 通信端点のロックを解除する。*/
    894858        syscall(sig_sem(cep->semid_lock));
    895859
    896         /* 受信ウィンドバッファのデータ長を設定し、その値を返す。*/
     860        /* 受信ウィンドバッファのデータ長を設定し、その値を返す。*/
    897861        cep->rcv_buf_len = len;
    898862        return len;
     
    900864
    901865/*
    902  *  tcp_free_rwbufq -- 受信ウィンドバッファキューを解放する。
     866 *  tcp_free_rwbufq -- 受信ウィンドバッファキューを解放する。
    903867 *
    904  *    注意:
    905  *      å¿
    906 è¦ã§ã‚れば、この関数を呼び出す前に、通信端点をロックし、
    907  *      戻った後、解除するå¿
    908 è¦ãŒã‚る。
     868 *    注意:
     869 *      必要であれば、この関数を呼び出す前に、通信端点をロックし、
     870 *      戻った後、解除する必要がある。
    909871 */
    910872
     
    928890                        }
    929891
    930                 /* 受信ウィンドバッファの使用中サイズをリセットする。*/
     892                /* 受信ウィンドバッファの使用中サイズをリセットする。*/
    931893                cep->rwbuf_count = 0;
    932894                }
     
    934896
    935897/*
    936  *  tcp_write_rwbuf -- 受信ウィンドバッファにデータを書き込む。
     898 *  tcp_write_rwbuf -- 受信ウィンドバッファにデータを書き込む。
    937899 *
    938  *    注意:
    939  *      å
    940 ¥åŠ› input は、T_TCP_Q_HDR によりリンクされ、
    941  *      並べ替えが終了していなければならない。また、
    942  *      追加するデータは、受信ウィンドバッファに収まること。
     900 *    注意:
     901 *      入力 input は、T_TCP_Q_HDR によりリンクされ、
     902 *      並べ替えが終了していなければならない。また、
     903 *      追加するデータは、受信ウィンドバッファに収まること。
    943904 */
    944905
     
    950911        uint_t          inlen, last;
    951912
    952         /* 通信端点をロックする。*/
     913        /* 通信端点をロックする。*/
    953914        syscall(wai_sem(cep->semid_lock));
    954915
     
    963924
    964925                /*
    965                  *  TCP 通信端点の受信ウィンドバッファの省コピー機能の、
    966                  *  受信ウィンドバッファキューの最大エントリ数をè¶
    967 ãˆã‚‹ã¨ãã¯ã€
    968                  *  受信したセグメントを破棄する。
    969                  *  ただし、SDU 長が 0 のセグメントと FIN セグメントは破棄しない。
    970                  *  なお、正常に受信したセグメントも破棄するため、再送回数が増加する。
     926                 *  TCP 通信端点の受信ウィンドバッファの省コピー機能の、
     927                 *  受信ウィンドバッファキューの最大エントリ数を超えるときは、
     928                 *  受信したセグメントを破棄する。
     929                 *  ただし、SDU 長が 0 のセグメントと FIN セグメントは破棄しない。
     930                 *  なお、正常に受信したセグメントも破棄するため、再送回数が増加する。
    971931                 */
    972932                syscall(rel_net_buf(input));
    973933
    974                 /* 通信端点のロックを解除する。*/
     934                /* 通信端点のロックを解除する。*/
    975935                syscall(sig_sem(cep->semid_lock));
    976936                return;
     
    983943        qhdr  = (T_TCP_Q_HDR*)GET_TCP_HDR(input, thoff);
    984944
    985         /* 受信済みシーケンス番号を更新する。*/
     945        /* 受信済みシーケンス番号を更新する。*/
    986946        cep->rcv_nxt += inlen;
    987947
    988         /* 緊急データの SDU 補正を行う。*/
     948        /* 緊急データの SDU 補正を行う。*/
    989949        if (qhdr->urp > 0 && inlen > 0) {
    990950                inlen      -= qhdr->urp;
     
    995955        last  = cep->rwbuf_count;
    996956
    997         /* ネットワークバッファを受信ウィンドバッファキューの最後に連結する。*/
     957        /* ネットワークバッファを受信ウィンドバッファキューの最後に連結する。*/
    998958        qhdr->next = NULL;
    999959        nextp = &cep->rwbufq;
     
    1003963
    1004964        /*
    1005          *  FIN フラグが付いたセグメントは inlen == 0 になることもある。
    1006          *  これは、アプリケーションに、相手からこれ以上データが送られて
    1007          *  こないことを知らせるためである。
     965         *  FIN フラグが付いたセグメントは inlen == 0 になることもある。
     966         *  これは、アプリケーションに、相手からこれ以上データが送られて
     967         *  こないことを知らせるためである。
    1008968         */
    1009969        if (inlen > 0) {
     
    1013973                }
    1014974
    1015         /* 通信端点のロックを解除する。*/
     975        /* 通信端点のロックを解除する。*/
    1016976        syscall(sig_sem(cep->semid_lock));
    1017977
    1018978#ifdef TCP_CFG_NON_BLOCKING
    1019979
    1020         if (cep->rcv_nblk_tfn == TFN_TCP_RCV_BUF) {     /* ノンブロッキングコール */
     980        if (cep->rcv_nblk_tfn == TFN_TCP_RCV_BUF) {     /* ノンブロッキングコール */
    1021981
    1022982                int_t   len;
     
    1026986
    1027987                /*
    1028                  *  FIN フラグが付いたセグメントは inlen == 0 になることもある。
    1029                  *  これは、アプリケーションに、相手からこれ以上データが送られて
    1030                  *  こないことを知らせるためである。
     988                 *  FIN フラグが付いたセグメントは inlen == 0 になることもある。
     989                 *  これは、アプリケーションに、相手からこれ以上データが送られて
     990                 *  こないことを知らせるためである。
    1031991                 */
    1032992                if (len > 0 || inlen == 0) {
    1033993
    1034                         /* tcp_rcv_buf の割当て長を設定する。*/
     994                        /* tcp_rcv_buf の割当て長を設定する。*/
    1035995                        cep->rcv_buf_len = len;
    1036996
    1037                         /* 受信ウィンドバッファのアドレスを返す。*/
     997                        /* 受信ウィンドバッファのアドレスを返す。*/
    1038998                        *cep->rcv_p_buf = GET_TCP_SDU(cep->rwbufq,
    1039999                                          GET_IP_TCP_Q_HDR_OFFSET(cep->rwbufq)) + qhdr->soff;
     
    10521012
    10531013                                /*
    1054                                  *  通信端点をロックして、
    1055                                  *  受信ウィンドバッファキューのネットワークバッファを解放する。
     1014                                 *  通信端点をロックして、
     1015                                 *  受信ウィンドバッファキューのネットワークバッファを解放する。
    10561016                                 */
    10571017                                syscall(wai_sem(cep->semid_lock));
     
    10611021                        }
    10621022
    1063                 /* 記憶されているタスク ID と API 機能コードをクリアーする。*/
     1023                /* 記憶されているタスク ID と API 機能コードをクリアーする。*/
    10641024                cep->rcv_tskid = TA_NULL;
    10651025                cep->rcv_tfn   = cep->rcv_nblk_tfn = TFN_TCP_UNDEF;
    10661026                }
    10671027
    1068         else if (cep->rcv_nblk_tfn == TFN_TCP_RCV_DAT) {        /* ノンブロッキングコール */
     1028        else if (cep->rcv_nblk_tfn == TFN_TCP_RCV_DAT) {        /* ノンブロッキングコール */
    10691029                int_t   len;
    10701030
    1071                 /* 受信ウィンドバッファからデータを取り出す。*/
     1031                /* 受信ウィンドバッファからデータを取り出す。*/
    10721032                if ((len = tcp_read_rwbuf_cs(cep, cep->rcv_data, (uint_t)cep->rcv_len)) > 0) {
    1073                         /* 相手にウィンドウサイズが変わったことを知らせるため出力をポストする。*/
     1033                        /* 相手にウィンドウサイズが変わったことを知らせるため出力をポストする。*/
    10741034                        cep->flags |= TCP_CEP_FLG_POST_OUTPUT;
    10751035                        sig_sem(SEM_TCP_POST_OUTPUT);
     
    10771037
    10781038                /*
    1079                  *  FIN フラグが付いたセグメントは inlen == 0 になることもある。
    1080                  *  これは、アプリケーションに、相手からこれ以上データが送られて
    1081                  *  こないことを知らせるためである。
     1039                 *  FIN フラグが付いたセグメントは inlen == 0 になることもある。
     1040                 *  これは、アプリケーションに、相手からこれ以上データが送られて
     1041                 *  こないことを知らせるためである。
    10821042                 */
    10831043                if (len > 0 || inlen == 0) {
     
    10941054                        }
    10951055
    1096                 /* 記憶されているタスク ID と API 機能コードをクリアーする。*/
     1056                /* 記憶されているタスク ID と API 機能コードをクリアーする。*/
    10971057                cep->rcv_tskid = TA_NULL;
    10981058                cep->rcv_tfn   = cep->rcv_nblk_tfn = TFN_TCP_UNDEF;
     
    11041064                if (inlen == 0 && cep->rwbuf_count == 0) {
    11051065                        /*
    1106                          *  受信ウィンドバッファå†
    1107 ã®ãƒ‡ãƒ¼ã‚¿æ•°ãŒ 0 で、
    1108                          *  相手から FIN フラグが付いたセグメントを受信したときは、
    1109                          *  通信端点をロックして、
    1110                          *  受信ウィンドバッファキューのネットワークバッファを解放する。
     1066                         *  受信ウィンドバッファ内のデータ数が 0 で、
     1067                         *  相手から FIN フラグが付いたセグメントを受信したときは、
     1068                         *  通信端点をロックして、
     1069                         *  受信ウィンドバッファキューのネットワークバッファを解放する。
    11111070                         */
    11121071                        syscall(wai_sem(cep->semid_lock));
     
    11161075
    11171076                /*
    1118                  *  受信ウィンドバッファにデータがå
    1119 ¥ã‚‹ã‹ã€ inlen == 0 の時、å
    1120 ¥åŠ›ã‚¿ã‚¹ã‚¯ã‚’起床する。
    1121                  *  FIN フラグが付いたセグメントは inlen == 0 になることもある。
    1122                  *  これは、アプリケーションに、相手からこれ以上データが送られて
    1123                  *  こないことを知らせるためである。
     1077                 *  受信ウィンドバッファにデータが入るか、 inlen == 0 の時、入力タスクを起床する。
     1078                 *  FIN フラグが付いたセグメントは inlen == 0 になることもある。
     1079                 *  これは、アプリケーションに、相手からこれ以上データが送られて
     1080                 *  こないことを知らせるためである。
    11241081                 */
    11251082                if ((last == 0 && cep->rwbuf_count > 0) || inlen == 0) {
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/tcp_subr_ncs.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    130118
    131119/*
    132  *  TCP 通信端点の送信ウィンドバッファの省コピー機能が無効
    133  */
    134 
    135 /*
    136  *  tcp_read_swbuf -- 送信ウィンドバッファからデータを読み出す。
     120 *  TCP 通信端点の送信ウィンドバッファの省コピー機能が無効
     121 */
     122
     123/*
     124 *  tcp_read_swbuf -- 送信ウィンドバッファからデータを読み出す。
    137125 */
    138126
     
    144132        uint_t  hdr_offset = IF_IP_TCP_HDR_OFFSET(output);
    145133
    146         /* SDU の大きさをチェックする。*/
     134        /* SDU の大きさをチェックする。*/
    147135        if (sdu_size < GET_TCP_HDR_SIZE(output, hdr_offset) + len) {
    148136                syslog(LOG_INFO, "[TCP] shrink SUD len: %d -> %d",
     
    153141        wptr = GET_TCP_SDU(output, hdr_offset);
    154142
    155         /* 通信端点をロックする。*/
     143        /* 通信端点をロックする。*/
    156144        syscall(wai_sem(cep->semid_lock));
    157145
     
    159147        if (rptr - (uint8_t*)cep->sbuf > cep->sbufsz) {
    160148
    161                 /* 転送開始が送信ウィンドバッファの終わりをè¶
    162 ãˆã‚‹ã¨ãã®å‡¦ç†ã€€*/
     149                /* 転送開始が送信ウィンドバッファの終わりを超えるときの処理 */
    163150                rptr = (uint8_t*)cep->sbuf_rptr - (cep->sbufsz - doff);
    164151                }
     
    166153                uint_t sub;
    167154
    168                 /* 転送範囲がラウンドするときの処理 */
     155                /* 転送範囲がラウンドするときの処理 */
    169156                sub = (uint_t)(cep->sbufsz - (rptr - (uint8_t*)cep->sbuf));
    170157                memcpy((void*)wptr, rptr, (size_t)sub);
     
    178165        NET_COUNT_TCP(net_count_tcp[NC_TCP_SEND_DATA_OCTETS], len);
    179166
    180         /* 通信端点のロックを解除する。*/
     167        /* 通信端点のロックを解除する。*/
    181168        syscall(sig_sem(cep->semid_lock));
    182169        }
    183170
    184171/*
    185  *  tcp_drop_swbuf -- 送信ウィンドバッファから指定されたオクテット分削除する。
     172 *  tcp_drop_swbuf -- 送信ウィンドバッファから指定されたオクテット分削除する。
    186173 */
    187174
     
    191178        uint_t  last;
    192179
    193         /* 通信端点をロックする。*/
     180        /* 通信端点をロックする。*/
    194181        syscall(wai_sem(cep->semid_lock));
    195182
     
    197184
    198185        if (cep->sbuf_rptr + len > (uint8_t*)cep->sbuf + cep->sbufsz)
    199                 /* ラウンドするときの計算 */
     186                /* ラウンドするときの計算 */
    200187                cep->sbuf_rptr -= cep->sbufsz - len;
    201188        else
     
    203190        cep->swbuf_count -= (uint16_t)len;
    204191
    205         /* 通信端点のロックを解除する。*/
     192        /* 通信端点のロックを解除する。*/
    206193        syscall(sig_sem(cep->semid_lock));
    207194
    208195#ifdef TCP_CFG_NON_BLOCKING
    209196
    210         if (cep->snd_nblk_tfn == TFN_TCP_GET_BUF) {     /* ノンブロッキングコール */
    211 
    212                 /* 通信端点をロックする。*/
     197        if (cep->snd_nblk_tfn == TFN_TCP_GET_BUF) {     /* ノンブロッキングコール */
     198
     199                /* 通信端点をロックする。*/
    213200                syscall(wai_sem(cep->semid_lock));
    214201
    215                 /* 送信データ長を計算する。*/
     202                /* 送信データ長を計算する。*/
    216203                if (cep->sbufsz - cep->swbuf_count > cep->sbufsz - (cep->sbuf_wptr - (uint8_t*)cep->sbuf))
    217                         /* 書込みポインタがラウンドするときは、書込みポインタから送信ウィンドバッファの終わりまで */
     204                        /* 書込みポインタがラウンドするときは、書込みポインタから送信ウィンドバッファの終わりまで */
    218205                        len = (uint_t)(cep->sbufsz - (cep->sbuf_wptr - (uint8_t*)cep->sbuf));
    219206                else
    220207                        len = cep->sbufsz - cep->swbuf_count;
    221208
    222                 /* 通信端点のロックを解除する。*/
     209                /* 通信端点のロックを解除する。*/
    223210                syscall(sig_sem(cep->semid_lock));
    224211
    225212                if (len > 0) {
    226213
    227                         /* tcp_get_buf の割当て長を設定する。*/
     214                        /* tcp_get_buf の割当て長を設定する。*/
    228215                        cep->get_buf_len = len;
    229216
    230                         /* 送信ウィンドバッファのアドレスを返す。*/
     217                        /* 送信ウィンドバッファのアドレスを返す。*/
    231218                        *cep->snd_p_buf = cep->sbuf_wptr;
    232219
     
    241228                                syslog(LOG_WARNING, "[TCP] no call back, CEP: %d.", GET_TCP_CEPID(cep));
    242229
    243                         /* 記憶されているタスク ID と API 機能コードをクリアーする。*/
     230                        /* 記憶されているタスク ID と API 機能コードをクリアーする。*/
    244231                        cep->snd_tskid = TA_NULL;
    245232                        cep->snd_tfn   = cep->snd_nblk_tfn = TFN_TCP_UNDEF;
     
    250237
    251238        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) {        /* ノンブロッキングコール */
    253240
    254241#else   /* of #ifdef TCP_CFG_EXTENTIONS */
    255242
    256         else if (cep->snd_nblk_tfn == TFN_TCP_SND_DAT) {        /* ノンブロッキングコール */
     243        else if (cep->snd_nblk_tfn == TFN_TCP_SND_DAT) {        /* ノンブロッキングコール */
    257244
    258245#endif  /* of #ifdef TCP_CFG_EXTENTIONS */
     
    260247                ER_UINT error;
    261248
    262                 /* 送信ウィンドバッファにデータを書き込む。*/
     249                /* 送信ウィンドバッファにデータを書き込む。*/
    263250                error = TCP_WRITE_SWBUF(cep, cep->snd_data, (uint_t)cep->snd_len);
    264251
    265252#ifdef TCP_CFG_EXTENTIONS
    266253
    267                 /* 送信緊急ポインタを設定する。*/
     254                /* 送信緊急ポインタを設定する。*/
    268255                if (cep->snd_nblk_tfn == TFN_TCP_SND_OOB)
    269256                        cep->snd_up = cep->snd_una + error;
     
    281268                        syslog(LOG_WARNING, "[TCP] no call back, CEP: %d.", GET_TCP_CEPID(cep));
    282269
    283                 /* 記憶されているタスク ID と API 機能コードをクリアーする。*/
     270                /* 記憶されているタスク ID と API 機能コードをクリアーする。*/
    284271                cep->snd_tskid = TA_NULL;
    285272                cep->snd_tfn   = cep->snd_nblk_tfn = TFN_TCP_UNDEF;
     
    289276#endif  /* of #ifdef TCP_CFG_NON_BLOCKING */
    290277
    291                 /* 送信ウィンドバッファに空きが出来たら出力タスクを起床する。*/
     278                /* 送信ウィンドバッファに空きが出来たら出力タスクを起床する。*/
    292279                if (last == cep->sbufsz && cep->swbuf_count < cep->sbufsz)
    293280                        syscall(set_flg(cep->snd_flgid, TCP_CEP_EVT_SWBUF_READY));
     
    300287
    301288        if (cep->swbuf_count > 0) {
    302                 /* 送信ウィンドバッファにデータがあれば出力をポストする。*/
     289                /* 送信ウィンドバッファにデータがあれば出力をポストする。*/
    303290                cep->flags |= TCP_CEP_FLG_POST_OUTPUT;
    304291                sig_sem(SEM_TCP_POST_OUTPUT);
     
    307294
    308295/*
    309  *  tcp_write_swbuf -- 送信ウィンドバッファにデータを書き込む。
     296 *  tcp_write_swbuf -- 送信ウィンドバッファにデータを書き込む。
    310297 */
    311298
     
    315302        uint_t  offset;
    316303
    317         /* 通信端点をロックする。*/
     304        /* 通信端点をロックする。*/
    318305        syscall(wai_sem(cep->semid_lock));
    319306
    320         /* len と送信ウィンドバッファの空きの小さい方を移すデータ数にする。*/
     307        /* len と送信ウィンドバッファの空きの小さい方を移すデータ数にする。*/
    321308        if (len > (cep->sbufsz - cep->swbuf_count))
    322309                len = cep->sbufsz - cep->swbuf_count;
    323310
    324         /* 書き込みポインタがラウンドするときの処理 */
     311        /* 書き込みポインタがラウンドするときの処理 */
    325312        if (len > cep->sbufsz - (cep->sbuf_wptr - (uint8_t*)cep->sbuf)) {
    326313                offset = (uint_t)(cep->sbufsz - (cep->sbuf_wptr -(uint8_t*)cep->sbuf));
     
    336323        cep->swbuf_count += len - offset;
    337324
    338         /* 通信端点のロックを解除する。*/
     325        /* 通信端点のロックを解除する。*/
    339326        syscall(sig_sem(cep->semid_lock));
    340327
     
    343330
    344331/*
    345  *  tcp_wait_swbuf -- 送信ウィンドバッファが空くのをå¾
    346 ã¤ã€‚
     332 *  tcp_wait_swbuf -- 送信ウィンドバッファが空くのを待つ。
    347333 */
    348334
     
    355341        while (cep->swbuf_count >= cep->sbufsz) {
    356342                /*
    357                  *  送信ウィンドバッファの空きがなければ、出力をポストして、
    358                  *  送信ウィンドバッファが空くまでå¾
    359 ã¤ã€‚
     343                 *  送信ウィンドバッファの空きがなければ、出力をポストして、
     344                 *  送信ウィンドバッファが空くまで待つ。
    360345                 */
    361346                cep->flags |= TCP_CEP_FLG_POST_OUTPUT;
     
    368353
    369354                /*
    370                  *  送信できるか、CEP の FSM 状æ
    371 ‹ã‚’見る。
    372                  *  送信ウィンドバッファが空くまでå¾
    373 ã¤é–“に、送信不能になった場合は、
    374                  *  コネクションが切断されたことを意味している。
     355                 *  送信できるか、CEP の FSM 状態を見る。
     356                 *  送信ウィンドバッファが空くまで待つ間に、送信不能になった場合は、
     357                 *  コネクションが切断されたことを意味している。
    375358                 */
    376359                if (!TCP_FSM_CAN_SEND_MORE(cep->fsm_state)) {
     
    382365        }
    383366/*
    384  *  tcp_get_swbuf_addr -- 送信ウィンドバッファの空きアドレスを獲得する。
     367 *  tcp_get_swbuf_addr -- 送信ウィンドバッファの空きアドレスを獲得する。
    385368 */
    386369
     
    390373        uint_t  len;
    391374
    392         /* 通信端点をロックする。*/
     375        /* 通信端点をロックする。*/
    393376        syscall(wai_sem(cep->semid_lock));
    394377
    395         /* 送信ウィンドバッファの空きアドレスのå
    396 ˆé ­ã‚’設定する。*/
     378        /* 送信ウィンドバッファの空きアドレスの先頭を設定する。*/
    397379        *p_buf = cep->sbuf_wptr;
    398380
    399         /* 送信ウィンドバッファの空きサイズを計算する。*/
     381        /* 送信ウィンドバッファの空きサイズを計算する。*/
    400382        if (cep->sbufsz - cep->swbuf_count > cep->sbufsz - (cep->sbuf_wptr - (uint8_t*)cep->sbuf))
    401                 /* 書込みポインタがラウンドするときは、書込みポインタから送信ウィンドバッファの終わりまで */
     383                /* 書込みポインタがラウンドするときは、書込みポインタから送信ウィンドバッファの終わりまで */
    402384                len = (uint_t)(cep->sbufsz - (cep->sbuf_wptr - (uint8_t*)cep->sbuf));
    403385        else
    404386                len = cep->sbufsz - cep->swbuf_count;
    405387
    406         /* 通信端点のロックを解除する。*/
     388        /* 通信端点のロックを解除する。*/
    407389        syscall(sig_sem(cep->semid_lock));
    408390
    409         /* 送信ウィンドバッファの空きデータ長を設定し、その値を返す。*/
     391        /* 送信ウィンドバッファの空きデータ長を設定し、その値を返す。*/
    410392        cep->get_buf_len = len;
    411393        return (ER_UINT)len;
     
    413395
    414396/*
    415  *  tcp_send_swbuf -- 送信ウィンドバッファのデータを送信可能にする。
     397 *  tcp_send_swbuf -- 送信ウィンドバッファのデータを送信可能にする。
    416398 */
    417399
     
    419401tcp_send_swbuf_ncs (T_TCP_CEP *cep, uint_t len)
    420402{
    421         /* 通信端点をロックする。*/
     403        /* 通信端点をロックする。*/
    422404        syscall(wai_sem(cep->semid_lock));
    423405
     
    425407        cep->swbuf_count += len;
    426408
    427         /* 書込みポインタがラウンドするときの処理 */
     409        /* 書込みポインタがラウンドするときの処理 */
    428410        if (cep->sbuf_wptr >= (uint8_t*)cep->sbuf + cep->sbufsz)
    429411                cep->sbuf_wptr  = (uint8_t*)cep->sbuf;
    430412
    431         /* tcp_get_buf の割当て長をリセットする。*/
     413        /* tcp_get_buf の割当て長をリセットする。*/
    432414        cep->get_buf_len = 0;
    433415
    434         /* 通信端点のロックを解除する。*/
     416        /* 通信端点のロックを解除する。*/
    435417        syscall(sig_sem(cep->semid_lock));
    436418
    437         /* 送信ウィンドバッファがフルのときは強制的に送信する。*/
     419        /* 送信ウィンドバッファがフルのときは強制的に送信する。*/
    438420        if (cep->swbuf_count >= cep->sbufsz)
    439421                cep->flags |= TCP_CEP_FLG_FORCE | TCP_CEP_FLG_FORCE_CLEAR;
     
    441423
    442424/*
    443  *  tcp_is_swbuf_full -- 送信ウィンドバッファが満杯かチェックする。
     425 *  tcp_is_swbuf_full -- 送信ウィンドバッファが満杯かチェックする。
    444426 */
    445427
     
    455437
    456438/*
    457  *  TCP 通信端点の受信ウィンドバッファの省コピー機能が無効
    458  */
    459 
    460 /*
    461  *  tcp_drop_rwbuf -- 受信ウィンドバッファから指定されたオクテット分削除する。
     439 *  TCP 通信端点の受信ウィンドバッファの省コピー機能が無効
     440 */
     441
     442/*
     443 *  tcp_drop_rwbuf -- 受信ウィンドバッファから指定されたオクテット分削除する。
    462444 */
    463445
     
    468450        cep->rbuf_rptr  += len;
    469451
    470         /* 読み出しポインタがラウンドするときの処理 */
     452        /* 読み出しポインタがラウンドするときの処理 */
    471453        if (cep->rbuf_rptr >= (uint8_t*)cep->rbuf + cep->rbufsz)
    472454                cep->rbuf_rptr  = (uint8_t*)cep->rbuf;
     
    474456
    475457/*
    476  *  tcp_read_rwbuf -- 受信ウィンドバッファから指定されたオクテット分読み出す。
     458 *  tcp_read_rwbuf -- 受信ウィンドバッファから指定されたオクテット分読み出す。
    477459 */
    478460
     
    482464        uint_t  offset;
    483465
    484         /* 通信端点をロックする。*/
     466        /* 通信端点をロックする。*/
    485467        syscall(wai_sem(cep->semid_lock));
    486468
    487         /* len と受信ウィンドバッファのデータ数の小さい方を取り出すデータ数にする。*/
     469        /* len と受信ウィンドバッファのデータ数の小さい方を取り出すデータ数にする。*/
    488470        if (len > cep->rwbuf_count)
    489471                len = cep->rwbuf_count;
    490472
    491         /* 読み出しポインタがラウンドするときの処理 */
     473        /* 読み出しポインタがラウンドするときの処理 */
    492474        if (len > cep->rbufsz - (cep->rbuf_rptr - (uint8_t*)cep->rbuf)) {
    493475                offset = (uint_t)(cep->rbufsz - (cep->rbuf_rptr -(uint8_t*)cep->rbuf));
     
    503485        cep->rbuf_rptr  += len - offset;
    504486
    505         /* 通信端点のロックを解除する。*/
     487        /* 通信端点のロックを解除する。*/
    506488        syscall(sig_sem(cep->semid_lock));
    507489
     
    510492
    511493/*
    512  *  tcp_get_rwbuf_addr -- 受信ウィンドバッファの空きアドレスを獲得する。
     494 *  tcp_get_rwbuf_addr -- 受信ウィンドバッファの空きアドレスを獲得する。
    513495 */
    514496
     
    518500        uint_t  len;
    519501
    520         /* 通信端点をロックする。*/
     502        /* 通信端点をロックする。*/
    521503        syscall(wai_sem(cep->semid_lock));
    522504
    523         /* 受信ウィンドバッファのデータ長を計算する。*/
     505        /* 受信ウィンドバッファのデータ長を計算する。*/
    524506        if (cep->rwbuf_count > cep->rbufsz - (cep->rbuf_rptr - (uint8_t*)cep->rbuf))
    525                 /* ポインタがラウンドするときは受信ウィンドバッファの終わりまで */
     507                /* ポインタがラウンドするときは受信ウィンドバッファの終わりまで */
    526508                len = (uint_t)(cep->rbufsz - (cep->rbuf_rptr - (uint8_t*)cep->rbuf));
    527509        else
    528510                len = cep->rwbuf_count;
    529511
    530         /* 受信ウィンドバッファのデータのアドレスのå
    531 ˆé ­ã‚’設定する。*/
     512        /* 受信ウィンドバッファのデータのアドレスの先頭を設定する。*/
    532513        *p_buf = cep->rbuf_rptr;
    533514
    534         /* 通信端点のロックを解除する。*/
     515        /* 通信端点のロックを解除する。*/
    535516        syscall(sig_sem(cep->semid_lock));
    536517
    537         /* 受信ウィンドバッファのデータ長を設定し、その値を返す。*/
     518        /* 受信ウィンドバッファのデータ長を設定し、その値を返す。*/
    538519        cep->rcv_buf_len = len;
    539520        return len;
     
    541522
    542523/*
    543  *  tcp_write_rwbuf -- 受信ウィンドバッファにデータを書き込む。
     524 *  tcp_write_rwbuf -- 受信ウィンドバッファにデータを書き込む。
    544525 *
    545  *    注意:
    546  *      å
    547 ¥åŠ› input は、T_TCP_Q_HDR によりリンクされ、
    548  *      並べ替えが終了していなければならない。また、
    549  *      追加するデータは、受信ウィンドバッファに収まること。
     526 *    注意:
     527 *      入力 input は、T_TCP_Q_HDR によりリンクされ、
     528 *      並べ替えが終了していなければならない。また、
     529 *      追加するデータは、受信ウィンドバッファに収まること。
    550530 */
    551531
     
    556536        uint_t          offset, inlen, last;
    557537
    558         /* 通信端点をロックする。*/
     538        /* 通信端点をロックする。*/
    559539        syscall(wai_sem(cep->semid_lock));
    560540
    561541        qhdr  = (T_TCP_Q_HDR*)GET_TCP_HDR(input, thoff);
    562542
    563         /* 受信済みシーケンス番号を更新する。*/
     543        /* 受信済みシーケンス番号を更新する。*/
    564544        cep->rcv_nxt += qhdr->slen;
    565545
     
    567547        inlen = qhdr->slen;
    568548
    569         /* 緊急データの SDU 補正を行う。*/
     549        /* 緊急データの SDU 補正を行う。*/
    570550        if (qhdr->urp > 0 && inlen > 0) {
    571551                inlen      -= qhdr->urp;
     
    575555
    576556        /*
    577          *  FIN フラグが付いたセグメントは inlen == 0 になることもある。
    578          *  これは、アプリケーションに、相手からこれ以上データが送られて
    579          *  こないことを知らせるためである。
     557         *  FIN フラグが付いたセグメントは inlen == 0 になることもある。
     558         *  これは、アプリケーションに、相手からこれ以上データが送られて
     559         *  こないことを知らせるためである。
    580560         */
    581561        if (inlen > 0) {
    582562
    583                 /* 書き込みポインタがラウンドするときの処理 */
     563                /* 書き込みポインタがラウンドするときの処理 */
    584564                if (inlen > cep->rbufsz - (cep->rbuf_wptr - (uint8_t*)cep->rbuf)) {
    585565                        offset = (uint_t)(cep->rbufsz - (cep->rbuf_wptr - (uint8_t*)cep->rbuf));
     
    604584#ifdef TCP_CFG_NON_BLOCKING
    605585
    606         if (cep->rcv_nblk_tfn == TFN_TCP_RCV_BUF) {     /* ノンブロッキングコール */
     586        if (cep->rcv_nblk_tfn == TFN_TCP_RCV_BUF) {     /* ノンブロッキングコール */
    607587
    608588                int_t   len;
    609589
    610                 /* 受信ウィンドバッファの空きデータ長を計算する。*/
     590                /* 受信ウィンドバッファの空きデータ長を計算する。*/
    611591                if (cep->rwbuf_count > cep->rbufsz - (cep->rbuf_rptr - (uint8_t*)cep->rbuf)) {
    612                         /* ポインタがラウンドするときは受信ウィンドバッファの終わりまで */
     592                        /* ポインタがラウンドするときは受信ウィンドバッファの終わりまで */
    613593                        len = (uint_t)(cep->rbufsz - (cep->rbuf_rptr - (uint8_t*)cep->rbuf));
    614594                        }
     
    616596                        len = cep->rwbuf_count;
    617597
    618                 /* 通信端点のロックを解除する。*/
     598                /* 通信端点のロックを解除する。*/
    619599                syscall(sig_sem(cep->semid_lock));
    620600
    621601                /*
    622                  *  FIN フラグが付いたセグメントは inlen == 0 になることもある。
    623                  *  これは、アプリケーションに、相手からこれ以上データが送られて
    624                  *  こないことを知らせるためである。
     602                 *  FIN フラグが付いたセグメントは inlen == 0 になることもある。
     603                 *  これは、アプリケーションに、相手からこれ以上データが送られて
     604                 *  こないことを知らせるためである。
    625605                 */
    626606                if (len > 0 || inlen == 0) {
    627607
    628                         /* tcp_rcv_buf の割当て長を設定する。*/
     608                        /* tcp_rcv_buf の割当て長を設定する。*/
    629609                        cep->rcv_buf_len = len;
    630610
    631                         /* 受信ウィンドバッファのアドレスを返す。*/
     611                        /* 受信ウィンドバッファのアドレスを返す。*/
    632612                        *cep->rcv_p_buf = cep->rbuf_rptr;
    633613
     
    646626
    647627                                /*
    648                                  *  通信端点をロックして、
    649                                  *  受信ウィンドバッファキューのネットワークバッファを解放する。
     628                                 *  通信端点をロックして、
     629                                 *  受信ウィンドバッファキューのネットワークバッファを解放する。
    650630                                 */
    651631                                syscall(wai_sem(cep->semid_lock));
     
    655635                        }
    656636
    657                 /* 記憶されているタスク ID と API 機能コードをクリアーする。*/
     637                /* 記憶されているタスク ID と API 機能コードをクリアーする。*/
    658638                cep->rcv_tskid = TA_NULL;
    659639                cep->rcv_tfn   = cep->rcv_nblk_tfn = TFN_TCP_UNDEF;
    660640                }
    661641
    662         else if (cep->rcv_nblk_tfn == TFN_TCP_RCV_DAT) {        /* ノンブロッキングコール */
     642        else if (cep->rcv_nblk_tfn == TFN_TCP_RCV_DAT) {        /* ノンブロッキングコール */
    663643                ER_UINT len;
    664644
    665                 /* 通信端点のロックを解除する。*/
     645                /* 通信端点のロックを解除する。*/
    666646                syscall(sig_sem(cep->semid_lock));
    667647
    668                 /* 受信ウィンドバッファからデータを取り出す。*/
     648                /* 受信ウィンドバッファからデータを取り出す。*/
    669649                if ((len = TCP_READ_RWBUF(cep, cep->rcv_data, (uint_t)cep->rcv_len)) > 0) {
    670                         /* 相手にウィンドウサイズが変わったことを知らせるため出力をポストする。*/
     650                        /* 相手にウィンドウサイズが変わったことを知らせるため出力をポストする。*/
    671651                        cep->flags |= TCP_CEP_FLG_POST_OUTPUT;
    672652                        sig_sem(SEM_TCP_POST_OUTPUT);
     
    674654
    675655                /*
    676                  *  FIN フラグが付いたセグメントは inlen == 0 になることもある。
    677                  *  これは、アプリケーションに、相手からこれ以上データが送られて
    678                  *  こないことを知らせるためである。
     656                 *  FIN フラグが付いたセグメントは inlen == 0 になることもある。
     657                 *  これは、アプリケーションに、相手からこれ以上データが送られて
     658                 *  こないことを知らせるためである。
    679659                 */
    680660                if (len > 0 || inlen == 0) {
     
    691671                        }
    692672
    693                 /* 記憶されているタスク ID と API 機能コードをクリアーする。*/
     673                /* 記憶されているタスク ID と API 機能コードをクリアーする。*/
    694674                cep->rcv_tskid = TA_NULL;
    695675                cep->rcv_tfn   = cep->rcv_nblk_tfn = TFN_TCP_UNDEF;
     
    700680#endif  /* of #ifdef TCP_CFG_NON_BLOCKING */
    701681
    702                 /* 通信端点のロックを解除する。*/
     682                /* 通信端点のロックを解除する。*/
    703683                syscall(sig_sem(cep->semid_lock));
    704684
    705685                if (inlen == 0 && cep->rwbuf_count == 0) {
    706686                        /*
    707                          *  受信ウィンドバッファå†
    708 ã®ãƒ‡ãƒ¼ã‚¿æ•°ãŒ 0 で、
    709                          *  相手から FIN フラグが付いたセグメントを受信したときは、
    710                          *  通信端点をロックして、
    711                          *  受信ウィンドバッファキューのネットワークバッファを解放する。
     687                         *  受信ウィンドバッファ内のデータ数が 0 で、
     688                         *  相手から FIN フラグが付いたセグメントを受信したときは、
     689                         *  通信端点をロックして、
     690                         *  受信ウィンドバッファキューのネットワークバッファを解放する。
    712691                         */
    713692                        syscall(wai_sem(cep->semid_lock));
     
    717696
    718697                /*
    719                  *  受信ウィンドバッファにデータがå
    720 ¥ã‚‹ã‹ã€ inlen == 0 の時、å
    721 ¥åŠ›ã‚¿ã‚¹ã‚¯ã‚’起床する。
    722                  *  FIN フラグが付いたセグメントは inlen == 0 になることもある。
    723                  *  これは、アプリケーションに、相手からこれ以上データが送られて
    724                  *  こないことを知らせるためである。
     698                 *  受信ウィンドバッファにデータが入るか、 inlen == 0 の時、入力タスクを起床する。
     699                 *  FIN フラグが付いたセグメントは inlen == 0 になることもある。
     700                 *  これは、アプリケーションに、相手からこれ以上データが送られて
     701                 *  こないことを知らせるためである。
    725702                 */
    726703                if ((last == 0 && cep->rwbuf_count > 0) || inlen == 0)
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/tcp_timer.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    119107
    120108/*
    121  *  局所関数
     109 *  局所関数
    122110 */
    123111
     
    131119
    132120/*
    133  *  バックオフ時間
     121 *  バックオフ時間
    134122 *
    135  *  再送を行うたびに、タイムアウトの時間を延長する。
     123 *  再送を行うたびに、タイムアウトの時間を延長する。
    136124 */
    137125
     
    143131        };
    144132
    145 #define TCP_TOTAL_BACK_OFF      511     /* バックオフ時間の合計 */
    146 
    147 /*
    148  *  tcp_timers -- タイムアウト処理
     133#define TCP_TOTAL_BACK_OFF      511     /* バックオフ時間の合計 */
     134
     135/*
     136 *  tcp_timers -- タイムアウト処理
    149137 */
    150138
     
    158146
    159147        /*
    160          *  再送タイマ
     148         *  再送タイマ
    161149         */
    162150        case TCP_TIM_REXMT:
    163151       
    164152                /*
    165                  *  最大再送回数 (TCP_MAX_REXMT_SHIFT、標準 12 回) になったときは、
    166                  *  コネクションを切断する。
     153                 *  最大再送回数 (TCP_MAX_REXMT_SHIFT、標準 12 回) になったときは、
     154                 *  コネクションを切断する。
    167155                 */
    168156                if (++ cep->rxtshift > TCP_MAX_REXMT_SHIFT) {
     
    174162
    175163                /*
    176                  *  再送タイムアウトを計算する。
     164                 *  再送タイムアウトを計算する。
    177165                 */
    178166                cep->rxtcur = tcp_range_set((T_TCP_TIME)(tcp_rexmt_val(cep) * tcp_back_off[cep->rxtshift]),
     
    182170
    183171                /*
    184                  *  srtt:   å¹³æ»‘化された RTT
    185                  *  rttvar: 平滑化された分散
     172                 *  srtt:   平滑化された RTT
     173                 *  rttvar: 平滑化された分散
    186174                 *
    187                  *  再送回数が最大再送回数の 1/4 になったときは、
    188                  *  平滑化された分散 (rttvar) に srtt を加算し、
    189                  *  平滑化された RTT を 0 にする。
     175                 *  再送回数が最大再送回数の 1/4 になったときは、
     176                 *  平滑化された分散 (rttvar) に srtt を加算し、
     177                 *  平滑化された RTT を 0 にする。
    190178                 * 
    191179                 */
     
    196184
    197185                /*
    198                  *  snd_nxt: 次に送信する SEQ、この時点では、前回送信した SEQ
    199                  *  snd_una: 未確認の最小送信 SEQ        または、確認された最大送信 SEQ
     186                 *  snd_nxt: 次に送信する SEQ、この時点では、前回送信した SEQ
     187                 *  snd_una: 未確認の最小送信 SEQ        または、確認された最大送信 SEQ
    200188                 *
    201                  *  前回送信した SEQ (snd_nxt) を
    202                  *  確認された最大送信 SEQ (snd_una) まで戻す。
     189                 *  前回送信した SEQ (snd_nxt) を
     190                 *  確認された最大送信 SEQ (snd_una) まで戻す。
    203191                 */
    204192                cep->snd_nxt = cep->snd_una;
     
    206194
    207195                /*
    208                  *  rtt: 往復時間の計測を中止する。
     196                 *  rtt: 往復時間の計測を中止する。
    209197                 */
    210198                cep->rtt     = 0;
    211199
    212200                /*
    213                  *  送信ウインドの設定
     201                 *  送信ウインドの設定
    214202                 *
    215                  *  snd_wnd:  相手の受信可能ウィンドサイズ
    216                  *  snd_cwnd: 輻輳ウィンドサイズ
    217                  *  maxseg  : 相手の最大受信セグメントサイズ
     203                 *  snd_wnd:  相手の受信可能ウィンドサイズ
     204                 *  snd_cwnd: 輻輳ウィンドサイズ
     205                 *  maxseg  : 相手の最大受信セグメントサイズ
    218206                 *
    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 以上
    224212                 */
    225213                if (cep->snd_wnd < cep->snd_cwnd)
     
    232220
    233221                /*
    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                 *  設定する。
    239227                 */
    240228                cep->snd_cwnd     = cep->maxseg;
     
    242230                cep->dupacks      = 0;
    243231
    244                 /* 出力をポストする。*/
     232                /* 出力をポストする。*/
    245233                cep->flags |= TCP_CEP_FLG_POST_OUTPUT;
    246234                sig_sem(SEM_TCP_POST_OUTPUT);
     
    248236
    249237        /*
    250          *  持続タイマ     
     238         *  持続タイマ       
    251239         */
    252240        case TCP_TIM_PERSIST:
    253241
    254242                /*
    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                 *  コネクションを切断する。
    261248                 */
    262249                if (cep->rxtshift > TCP_MAX_REXMT_SHIFT &&
     
    268255                        }
    269256
    270                 /* 持続タイマを再設定し、出力をポストする。*/
     257                /* 持続タイマを再設定し、出力をポストする。*/
    271258                tcp_set_persist_timer(cep);
    272259
     
    276263
    277264        /*
    278          *  保留 (keep alive) タイマ
     265         *  保留 (keep alive) タイマ
    279266         */
    280267        case TCP_TIM_KEEP:
    281268
    282269                /*
    283                  *  コネクションが開設されるまでにタイムアウトしたら
    284                  *  コネクションの開設を中止する。
     270                 *  コネクションが開設されるまでにタイムアウトしたら
     271                 *  コネクションの開設を中止する。
    285272                 */
    286273                if (cep->fsm_state < TCP_FSM_ESTABLISHED) {
     
    316303
    317304        /*
    318          *  2MSL タイマ             
     305         *  2MSL タイマ           
    319306         */
    320307        case TCP_TIM_2MSL:
     
    332319
    333320/*
    334  *  tcp_cancel_timers -- å
    335 ¨ã¦ã®ã‚¿ã‚¤ãƒžã‚’キャンセルする。
     321 *  tcp_cancel_timers -- 全てのタイマをキャンセルする。
    336322 */
    337323
     
    348334
    349335/*
    350  *  tcp_tw_timo -- Time Wait 用 TCP 通信端点のタイムアウト処理
     336 *  tcp_tw_timo -- Time Wait 用 TCP 通信端点のタイムアウト処理
    351337 */
    352338
     
    360346
    361347        /*
    362          *  Time Wait 用 TCP 通信端点でタイムアウトのエントリを探索し、
    363          *  探索したエントリを空きにする。
     348         *  Time Wait 用 TCP 通信端点でタイムアウトのエントリを探索し、
     349         *  探索したエントリを空きにする。
    364350         */
    365351        frees = 0;
     
    371357
    372358        /*
    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 通信端点を開放する。
    379363         */
    380364        if (frees > 0) {
     
    387371
    388372                /*
    389                  *  もっとも長い間 Time Wait している TCP 通信端点を開放する。
     373                 *  もっとも長い間 Time Wait している TCP 通信端点を開放する。
    390374                 */
    391375                while (waits > 0) {
     
    410394
    411395/*
    412  *  tcp_slow_timo -- 500 [ms] 毎に呼出される TCP タイムアウト関数
     396 *  tcp_slow_timo -- 500 [ms] 毎に呼出される TCP タイムアウト関数
    413397 */
    414398
     
    452436
    453437/*
    454  *  tcp_fast_timo -- 200 [ms] 毎に呼出される TCP タイムアウト関数
     438 *  tcp_fast_timo -- 200 [ms] 毎に呼出される TCP タイムアウト関数
    455439 */
    456440
     
    476460
    477461/*
    478  *  tcp_range_set -- 時間を指定した範囲に設定する。
     462 *  tcp_range_set -- 時間を指定した範囲に設定する。
    479463 */
    480464
     
    491475
    492476/*
    493  *  tcp_set_persist_timer -- 持続タイマの設定
     477 *  tcp_set_persist_timer -- 持続タイマの設定
    494478 */
    495479
     
    500484
    501485        /*
    502          *  srtt:   å¹³æ»‘化された RTT
    503          *  rttvar: 平滑化された分散
     486         *  srtt:   平滑化された RTT
     487         *  rttvar: 平滑化された分散
    504488         */
    505489        time = ((cep->srtt >> 2) + cep->rttvar) >> 1;
    506490
    507491        /*
    508          *  再送タイマも設定されていれば回復不能エラー
     492         *  再送タイマも設定されていれば回復不能エラー
    509493         */
    510494        if (cep->timer[TCP_TIM_REXMT])
     
    512496
    513497        /*
    514          *  持続タイマを設定する。
     498         *  持続タイマを設定する。
    515499         */
    516500        cep->timer[TCP_TIM_PERSIST] = tcp_range_set((T_TCP_TIME)(time * tcp_back_off[cep->rxtshift]),
     
    519503
    520504        /*
    521          *  再送回数を更新する。
     505         *  再送回数を更新する。
    522506         */
    523507        if (cep->rxtshift < TCP_MAX_REXMT_SHIFT)
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/tcp_timer.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    8371#define _TCP_TIMER_H_
    8472
    85 /* TCP タイマ変数 */
     73/* TCP タイマ変数 */
    8674
    87 //#define NUM_TCP_TIMERS                4       /* TCP のタイマ数  */
     75//#define NUM_TCP_TIMERS                4       /* TCP のタイマ数    */
    8876
    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 タイマ             */
    9381
    94 /* MSL: Maximum Segment Lifetime, 最大セグメント生存時間             */
     82/* MSL: Maximum Segment Lifetime, 最大セグメント生存時間           */
    9583
    9684/*
    97  *  TCP/IP のタイマの定義
     85 *  TCP/IP のタイマの定義
    9886 */
    9987
     
    10391#define TCP_SLOW_HZ             (ULONG_C(1000000)/TCP_SLOW_TMO/NET_TIMER_CYCLE) /* Hz   */
    10492
    105 /* TCP タイマ値 */
     93/* TCP タイマ値 */
    10694
    10795#define TCP_TVAL_MSL            (TCP_SLOW_HZ * 30)
    108                                         /* 最大セグメント生存時間    */
     96                                        /* 最大セグメント生存時間  */
    10997
    110 #define TCP_TVAL_SRTT_BASE      0       /* 滑らかな往復時間の基準値*/
     98#define TCP_TVAL_SRTT_BASE      0       /* 滑らかな往復時間の基準値*/
    11199
    112100#define TCP_TVAL_RTO_BASE       (TCP_SLOW_HZ * 3)
    113                 /* æƒ
    114 å ±ãŒå¾—られない場合の再送タイムアウトの基準値      */
     101                /* 情報が得られない場合の再送タイムアウトの基準値      */
    115102
    116103#define TCP_TVAL_MIN_PERSIST    (TCP_SLOW_HZ * 5)
    117                                 /* 持続タイムアウトの最小値 */
     104                                /* 持続タイムアウトの最小値 */
    118105#define TCP_TVAL_MAX_PERSIST    (TCP_SLOW_HZ * 60)
    119                                 /* 持続タイムアウトの最大値 */
     106                                /* 持続タイムアウトの最大値 */
    120107
    121108#define TCP_TVAL_KEEP_INIT      (TCP_SLOW_HZ * 75)
    122                                         /* 保留タイマの初期値  */
     109                                        /* 保留タイマの初期値    */
    123110#define TCP_TVAL_KEEP_IDLE      (TCP_SLOW_HZ * 2 * 60 * 60)
    124                                         /* 保留タイマ起動までの標準値*/
     111                                        /* 保留タイマ起動までの標準値*/
    125112#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       /* 保留タイムアウトの最大値*/
    128115
    129116#define TCP_TVAL_MIN            (TCP_SLOW_HZ * 3)
    130                                         /* 時間の最小単位        */
     117                                        /* 時間の最小単位      */
    131118#define TCP_TVAL_MAX_REXMT      (TCP_SLOW_HZ * 64)
    132                                         /* 最大再送時間           */
     119                                        /* 最大再送時間               */
    133120
    134121/*
    135  *  以下の変数の値はマクロで設定する。
     122 *  以下の変数の値はマクロで設定する。
    136123 *
    137124 *  tcp_maixidle   = tcp_keepcnt * tcp_keepintvl
     
    143130
    144131/*
    145  *  その他の定数
     132 *  その他の定数
    146133 */
    147134
    148 #define TCP_MAX_REXMT_SHIFT     12      /* 最大再送回数           */
     135#define TCP_MAX_REXMT_SHIFT     12      /* 最大再送回数               */
    149136
    150137/*
    151  *  関数
     138 *  関数
    152139 */
    153140
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/tcp_usrreq.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    130118
    131119/*
    132  *  TINET をライブラリ化しない場合は、å
    133 ¨ã¦ã®æ©Ÿèƒ½ã‚’
    134  *  オブジェクトファイルに出力するため、マクロを有効にする。
     120 *  TINET をライブラリ化しない場合は、全ての機能を
     121 *  オブジェクトファイルに出力するため、マクロを有効にする。
    135122 */
    136123
     
    160147
    161148/*
    162  *  IPv6 と IPv4 で引数が異なる関数のコンパイル
     149 *  IPv6 と IPv4 で引数が異なる関数のコンパイル
    163150 */
    164151
     
    228215
    229216/*
    230  *  tcp_user_closed -- ユーザからのコネクションの開放
     217 *  tcp_user_closed -- ユーザからのコネクションの開放
    231218 */
    232219
     
    236223        switch (cep->fsm_state) {
    237224
    238         case TCP_FSM_CLOSED:            /* クローズ */
    239         case TCP_FSM_LISTEN:            /* 受動オープン   */
     225        case TCP_FSM_CLOSED:            /* クローズ */
     226        case TCP_FSM_LISTEN:            /* 受動オープン       */
    240227                cep->fsm_state = TCP_FSM_CLOSED;
    241228                cep = tcp_close(cep);
    242229                break;
    243230
    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 送信済み    */
    246233                cep->flags |= TCP_CEP_FLG_NEED_FIN;
    247234                break;
    248235
    249         case TCP_FSM_ESTABLISHED:       /* コネクション開設完了       */
     236        case TCP_FSM_ESTABLISHED:       /* コネクション開設完了   */
    250237                cep->fsm_state = TCP_FSM_FIN_WAIT_1;
    251238                break;
    252239
    253         case TCP_FSM_CLOSE_WAIT:        /* 相手から FIN 受信、APP の終了å¾
    254 ã¡ */
     240        case TCP_FSM_CLOSE_WAIT:        /* 相手から FIN 受信、APP の終了待ち */
    255241                cep->fsm_state = TCP_FSM_LAST_ACK;
    256242                break;
     
    263249
    264250/*
    265  *  tcp_cls_cep -- 通信端点のクローズ【標準機能】
     251 *  tcp_cls_cep -- 通信端点のクローズ【標準機能】
    266252 */
    267253
     
    275261#ifndef TCP_CFG_NON_BLOCKING
    276262
    277         /* tmout が TMO_NBLK ならエラー */
     263        /* tmout が TMO_NBLK ならエラー */
    278264        if (tmout == TMO_NBLK)
    279265                return E_PAR;
     
    282268
    283269        /*
    284          *  CEP をロックし、API 機能コードとタスク識別子を記録する。
    285          *  すでに記録されていれば、ペンディング中なのでエラー
     270         *  CEP をロックし、API 機能コードとタスク識別子を記録する。
     271         *  すでに記録されていれば、ペンディング中なのでエラー
    286272         */
    287273        if ((error = tcp_lock_cep(cepid, &cep, TFN_TCP_CLS_CEP)) != E_OK)
     
    290276#ifdef TCP_CFG_NON_BLOCKING
    291277
    292         /* タイムアウトをチェックする。*/
    293         if (tmout == TMO_NBLK) {                                /* ノンブロッキングコール */
     278        /* タイムアウトをチェックする。*/
     279        if (tmout == TMO_NBLK) {                                /* ノンブロッキングコール */
    294280
    295281                if (!IS_PTR_DEFINED(cep->callback))
    296282                        error = E_OBJ;
    297                 else if (cep->fsm_state == TCP_FSM_CLOSED) {    /* すでにクローズされているとき */
     283                else if (cep->fsm_state == TCP_FSM_CLOSED) {    /* すでにクローズされているとき */
    298284
    299285#ifdef TCP_CFG_NON_BLOCKING_COMPAT14
     
    313299                        }
    314300                else {
    315                         /* NBLK のAPI 機能コードを設定する。*/
     301                        /* NBLK のAPI 機能コードを設定する。*/
    316302                        cep->rcv_nblk_tfn = TFN_TCP_CLS_CEP;
    317303
    318                         if ((cep = tcp_user_closed(cep)) != NULL) {     /* コネクションを切断する。*/
    319                                 /* 切断セグメント出力をポストする。*/
     304                        if ((cep = tcp_user_closed(cep)) != NULL) {     /* コネクションを切断する。*/
     305                                /* 切断セグメント出力をポストする。*/
    320306                                cep->flags |= TCP_CEP_FLG_POST_OUTPUT;
    321307                                sig_sem(SEM_TCP_POST_OUTPUT);
    322308                                }
    323309
    324                         /*  cep が NULL で戻ってきた場合は、
    325                          *  既にコネクションが切断されていることを意味している。
    326                          *  また、この場合コールバック関数が呼び出されている。
     310                        /*  cep が NULL で戻ってきた場合は、
     311                         *  既にコネクションが切断されていることを意味している。
     312                         *  また、この場合コールバック関数が呼び出されている。
    327313                         */
    328314                        return E_WBLK;
    329315                        }
    330316                }
    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                         *  既にコネクションが切断されていることを意味している。
    339325                         */
    340326                        return error;
    341327                        }
    342328                else {
    343                         /* 切断セグメント出力をポストする。*/
     329                        /* 切断セグメント出力をポストする。*/
    344330                        cep->flags |= TCP_CEP_FLG_POST_OUTPUT;
    345331                        sig_sem(SEM_TCP_POST_OUTPUT);
    346332
    347                         /* イベントフラグが CLOSED になるまでå¾
    348 ã¤ã€‚*/
     333                        /* イベントフラグが CLOSED になるまで待つ。*/
    349334                        error = twai_flg(cep->est_flgid, TCP_CEP_EVT_CLOSED, TWF_ORW, &flag, tmout);
    350335                        if (error == E_OK && cep->error != E_OK)
     
    353338                        if (error != E_OK) {
    354339                                if (error == E_RLWAI) {
    355                                         /* tcp_cls_cep がキャンセルされたときは、RST を送信する。*/
     340                                        /* tcp_cls_cep がキャンセルされたときは、RST を送信する。*/
    356341                                        tcp_respond(NULL, cep, cep->rcv_nxt, cep->snd_una - 1,
    357342                                                    cep->rbufsz - cep->rwbuf_count, TCP_FLG_RST);
    358343                                        }
    359344
    360                                 /* タイマーを停止する。*/
     345                                /* タイマーを停止する。*/
    361346                                tcp_cancel_timers(cep);
    362347
    363348                                /*
    364                                  *  通信端点をロックし、
    365                                  *  受信再構成キューのネットワークバッファを解放する。
     349                                 *  通信端点をロックし、
     350                                 *  受信再構成キューのネットワークバッファを解放する。
    366351                                 */
    367352                                syscall(wai_sem(cep->semid_lock));
     
    369354                                syscall(sig_sem(cep->semid_lock));
    370355
    371                                 /* 状æ
    372 ‹ã‚’未使用にする。*/
     356                                /* 状態を未使用にする。*/
    373357                                cep->fsm_state = TCP_FSM_CLOSED;
    374358
    375359                                /*
    376                                  * 以下に関係しないフラグをクリアーする。
    377                                  * ・送受信ウィンドバッファの省コピー機能
    378                                  * ・動的な通信端点の生成・削除機能
     360                                 * 以下に関係しないフラグをクリアーする。
     361                                 * ・送受信ウィンドバッファの省コピー機能
     362                                 * ・動的な通信端点の生成・削除機能
    379363                                 */
    380364                                cep->flags &= TCP_CEP_FLG_NOT_CLEAR;
    381365
    382366                                /*
    383                                  *  通信端点をロックし、
    384                                  *  送受信ウィンドバッファキューのネットワークバッファを解放する。
     367                                 *  通信端点をロックし、
     368                                 *  送受信ウィンドバッファキューのネットワークバッファを解放する。
    385369                                 */
    386370                                cep->rwbuf_count = 0;
     
    410394
    411395/*
    412  *  tcp_sht_cep  -- データ送信の終了【標準機能】
     396 *  tcp_sht_cep  -- データ送信の終了【標準機能】
    413397 */
    414398
     
    420404
    421405        /*
    422          *  CEP をロックし、API 機能コードとタスク識別子を記録する。
    423          *  すでに記録されていれば、ペンディング中なのでエラー
     406         *  CEP をロックし、API 機能コードとタスク識別子を記録する。
     407         *  すでに記録されていれば、ペンディング中なのでエラー
    424408         */
    425409        if ((error = tcp_lock_cep(cepid, &cep, TFN_TCP_SHT_CEP)) != E_OK)
    426410                return error;
    427411
    428         /* TCP 通信端点のコネクションが確立状æ
    429 ‹ã§ãªã‘ればエラー */
     412        /* TCP 通信端点のコネクションが確立状態でなければエラー */
    430413        if (!TCP_FSM_HAVE_ESTABLISHED(cep->fsm_state)) {
    431414                if ((error = cep->error) == E_OK)
     
    433416                }
    434417
    435         else if ((cep = tcp_user_closed(cep)) != NULL) {                /* コネクションを切断する。*/
    436 
    437                 /* 切断セグメント出力をポストする。*/
     418        else if ((cep = tcp_user_closed(cep)) != NULL) {                /* コネクションを切断する。*/
     419
     420                /* 切断セグメント出力をポストする。*/
    438421                cep->flags |= TCP_CEP_FLG_POST_OUTPUT;
    439422                sig_sem(SEM_TCP_POST_OUTPUT);
     
    450433
    451434/*
    452  *  tcp_snd_dat -- パケットの送信【標準機能】
     435 *  tcp_snd_dat -- パケットの送信【標準機能】
    453436 */
    454437
     
    461444#ifdef TCP_CFG_NON_BLOCKING
    462445
    463         /* data が NULL か、len < 0 ならエラー */
     446        /* data が NULL か、len < 0 ならエラー */
    464447        if (data == NULL || len < 0)
    465448                return E_PAR;
     
    467450#else   /* of #ifdef TCP_CFG_NON_BLOCKING */
    468451
    469         /* data が NULL、len < 0 か、tmout が TMO_NBLK ならエラー */
     452        /* data が NULL、len < 0 か、tmout が TMO_NBLK ならエラー */
    470453        if (data == NULL || len < 0 || tmout == TMO_NBLK)
    471454                return E_PAR;
     
    474457
    475458        /*
    476          *  CEP をロックし、API 機能コードとタスク識別子を記録する。
    477          *  すでに記録されていれば、ペンディング中なのでエラー
     459         *  CEP をロックし、API 機能コードとタスク識別子を記録する。
     460         *  すでに記録されていれば、ペンディング中なのでエラー
    478461         */
    479462        if ((error = tcp_lock_cep(cepid, &cep, TFN_TCP_SND_DAT)) != E_OK)
    480463                return error;
    481464
    482         /* 送信できるか、通信端点の状æ
    483 ‹ã‚’見る。*/
     465        /* 送信できるか、通信端点の状態を見る。*/
    484466        if ((error = tcp_can_send_more(cep, TFN_TCP_SND_DAT, tmout)) != E_OK)
    485467                goto err_ret;
     
    487469#ifdef TCP_CFG_NON_BLOCKING
    488470
    489         /* タイムアウトをチェックする。*/
    490         if (tmout == TMO_NBLK) {                /* ノンブロッキングコール */
    491 
    492                 /* 送信ウィンドバッファに空きがあればコールバック関数を呼び出す。*/
     471        /* タイムアウトをチェックする。*/
     472        if (tmout == TMO_NBLK) {                /* ノンブロッキングコール */
     473
     474                /* 送信ウィンドバッファに空きがあればコールバック関数を呼び出す。*/
    493475                if (!TCP_IS_SWBUF_FULL(cep)) {
    494476
    495                         /* 送信ウィンドバッファにデータを書き込む。*/
     477                        /* 送信ウィンドバッファにデータを書き込む。*/
    496478                        error = TCP_WRITE_SWBUF(cep, data, (uint_t)len);
    497479
    498                         /* 出力をポストする。*/
     480                        /* 出力をポストする。*/
    499481                        cep->flags |= TCP_CEP_FLG_POST_OUTPUT;
    500482                        sig_sem(SEM_TCP_POST_OUTPUT);
    501483
    502                         /* コールバック関数を呼び出す。*/
     484                        /* コールバック関数を呼び出す。*/
    503485#ifdef TCP_CFG_NON_BLOCKING_COMPAT14
    504486                        (*cep->callback)(GET_TCP_CEPID(cep), TFN_TCP_SND_DAT, (void*)error);
     
    518500                        }
    519501                }
    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                /* 送信ウィンドバッファが空くのを待つ。*/
    526507                if ((error = TCP_WAIT_SWBUF(cep, tmout)) != E_OK)
    527508                        goto err_ret;
    528509
    529                 /* 送信ウィンドバッファにデータを書き込む。*/
     510                /* 送信ウィンドバッファにデータを書き込む。*/
    530511                if ((error = TCP_WRITE_SWBUF(cep, data, (uint_t)len)) > 0) {
    531512
    532                         /* データを送信する。送信ウィンドバッファがフルのときは強制的に送信する。*/
     513                        /* データを送信する。送信ウィンドバッファがフルのときは強制的に送信する。*/
    533514                        if (TCP_IS_SWBUF_FULL(cep))
    534515                                cep->flags |= TCP_CEP_FLG_FORCE | TCP_CEP_FLG_FORCE_CLEAR;
    535516
    536                         /* 出力をポストする。*/
     517                        /* 出力をポストする。*/
    537518                        cep->flags |= TCP_CEP_FLG_POST_OUTPUT;
    538519                        sig_sem(SEM_TCP_POST_OUTPUT);
     
    556537
    557538/*
    558  *  tcp_get_buf -- 送信用バッファの獲得【標準機能】
     539 *  tcp_get_buf -- 送信用バッファの獲得【標準機能】
    559540 */
    560541
     
    567548#ifdef TCP_CFG_NON_BLOCKING
    568549
    569         /* p_buf が NULL ならエラー */
     550        /* p_buf が NULL ならエラー */
    570551        if (p_buf == NULL)
    571552                return E_PAR;
     
    573554#else   /* of #ifdef TCP_CFG_NON_BLOCKING */
    574555
    575         /* p_buf が NULL か、tmout が TMO_NBLK ならエラー */
     556        /* p_buf が NULL か、tmout が TMO_NBLK ならエラー */
    576557        if (p_buf == NULL || tmout == TMO_NBLK)
    577558                return E_PAR;
     
    580561
    581562        /*
    582          *  CEP をロックし、API 機能コードとタスク識別子を記録する。
    583          *  すでに記録されていれば、ペンディング中なのでエラー
     563         *  CEP をロックし、API 機能コードとタスク識別子を記録する。
     564         *  すでに記録されていれば、ペンディング中なのでエラー
    584565         */
    585566        if ((error = tcp_lock_cep(cepid, &cep, TFN_TCP_GET_BUF)) != E_OK)
    586567                return error;
    587568
    588         /* 送信できるか、通信端点の状æ
    589 ‹ã‚’見る。*/
     569        /* 送信できるか、通信端点の状態を見る。*/
    590570        if ((error = tcp_can_send_more(cep, TFN_TCP_GET_BUF, tmout)) != E_OK)
    591571                goto err_ret;
     
    593573#ifdef TCP_CFG_NON_BLOCKING
    594574
    595         /* タイムアウトをチェックする。*/
    596         if (tmout == TMO_NBLK) {                /* ノンブロッキングコール */
     575        /* タイムアウトをチェックする。*/
     576        if (tmout == TMO_NBLK) {                /* ノンブロッキングコール */
    597577
    598578                if (!TCP_IS_SWBUF_FULL(cep)) {
    599579
    600                         /* 送信ウィンドバッファに空きがあればコールバック関数を呼び出す。*/
     580                        /* 送信ウィンドバッファに空きがあればコールバック関数を呼び出す。*/
    601581                        error = TCP_GET_SWBUF_ADDR(cep, p_buf);
    602582
    603                         /* コールバック関数を呼び出す。*/
     583                        /* コールバック関数を呼び出す。*/
    604584#ifdef TCP_CFG_NON_BLOCKING_COMPAT14
    605585                        (*cep->callback)(GET_TCP_CEPID(cep), TFN_TCP_GET_BUF, (void*)error);
     
    618598                }
    619599
    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                /* 送信ウィンドバッファが空くのを待つ。*/
    626605                if ((error = TCP_WAIT_SWBUF(cep, tmout)) != E_OK)
    627606                        goto err_ret;
    628607
    629                 /* 送信ウィンドバッファの空アドレスを獲得する。*/
     608                /* 送信ウィンドバッファの空アドレスを獲得する。*/
    630609                error = TCP_GET_SWBUF_ADDR(cep, p_buf);
    631610
     
    647626
    648627/*
    649  *  tcp_snd_buf -- バッファå†
    650 ã®ãƒ‡ãƒ¼ã‚¿ã®é€ä¿¡ã€æ¨™æº–機能】
     628 *  tcp_snd_buf -- バッファ内のデータの送信【標準機能】
    651629 */
    652630
     
    657635        ER              error;
    658636
    659         /* 送信する長さ len をチェックする。*/
     637        /* 送信する長さ len をチェックする。*/
    660638        if (len < 0)
    661639                return E_PAR;
    662640
    663         /* 送信する長さlen が 0 であれば、何もしないで戻る。*/
     641        /* 送信する長さlen が 0 であれば、何もしないで戻る。*/
    664642        if (len == 0)
    665643                return E_OK;
    666644
    667645        /*
    668          *  CEP をロックし、API 機能コードとタスク識別子を記録する。
    669          *  すでに記録されていれば、ペンディング中なのでエラー
     646         *  CEP をロックし、API 機能コードとタスク識別子を記録する。
     647         *  すでに記録されていれば、ペンディング中なのでエラー
    670648         */
    671649        if ((error = tcp_lock_cep(cepid, &cep, TFN_TCP_SND_BUF)) != E_OK)
    672650                return error;
    673651
    674         /* 送信する長さ len をチェックする。*/
     652        /* 送信する長さ len をチェックする。*/
    675653        if (len > cep->get_buf_len) {
    676654                error = E_OBJ;
     
    678656                }
    679657
    680         /* 送信できるか、CEP の FSM 状æ
    681 ‹ã‚’見る。*/
     658        /* 送信できるか、CEP の FSM 状態を見る。*/
    682659        if (!TCP_FSM_CAN_SEND_MORE(cep->fsm_state)) {
    683660                if ((error = cep->error) == E_OK)
     
    686663                }
    687664
    688         /* 送信ウィンドバッファのデータを送信可能にする。*/
     665        /* 送信ウィンドバッファのデータを送信可能にする。*/
    689666        TCP_SEND_SWBUF(cep, (uint_t)len);
    690667
    691         /* 出力をポストする。*/
     668        /* 出力をポストする。*/
    692669        cep->flags |= TCP_CEP_FLG_POST_OUTPUT;
    693670        sig_sem(SEM_TCP_POST_OUTPUT);
     
    704681
    705682/*
    706  *  tcp_rcv_dat -- パケットの受信【標準機能】
     683 *  tcp_rcv_dat -- パケットの受信【標準機能】
    707684 */
    708685
     
    715692#ifdef TCP_CFG_NON_BLOCKING
    716693
    717         /* data が NULL か、len < 0 ならエラー */
     694        /* data が NULL か、len < 0 ならエラー */
    718695        if (data == NULL || len < 0)
    719696                return E_PAR;
     
    721698#else   /* of #ifdef TCP_CFG_NON_BLOCKING */
    722699
    723         /* data が NULL、len < 0 か、tmout が TMO_NBLK ならエラー */
     700        /* data が NULL、len < 0 か、tmout が TMO_NBLK ならエラー */
    724701        if (data == NULL || len < 0 || tmout == TMO_NBLK)
    725702                return E_PAR;
     
    728705
    729706        /*
    730          *  CEP をロックし、API 機能コードとタスク識別子を記録する。
    731          *  すでに記録されていれば、ペンディング中なのでエラー
     707         *  CEP をロックし、API 機能コードとタスク識別子を記録する。
     708         *  すでに記録されていれば、ペンディング中なのでエラー
    732709         */
    733710        if ((error = tcp_lock_cep(cepid, &cep, TFN_TCP_RCV_DAT)) != E_OK)
    734711                return error;
    735712
    736         /* 受信できるか、通信端点の状æ
    737 ‹ã‚’見る。*/
     713        /* 受信できるか、通信端点の状態を見る。*/
    738714        if (tcp_can_recv_more(&error, cep, TFN_TCP_RCV_DAT, tmout) != E_OK)
    739715                goto err_ret;
     
    741717#ifdef TCP_CFG_NON_BLOCKING
    742718
    743         /* タイムアウトをチェックする。*/
    744         if (tmout == TMO_NBLK) {                /* ノンブロッキングコール */
    745 
    746                 /* 受信ウィンドバッファにデータがあればコールバック関数を呼び出す。*/
     719        /* タイムアウトをチェックする。*/
     720        if (tmout == TMO_NBLK) {                /* ノンブロッキングコール */
     721
     722                /* 受信ウィンドバッファにデータがあればコールバック関数を呼び出す。*/
    747723                if (cep->rwbuf_count > 0) {
    748724
    749                         /* 受信ウィンドバッファからデータを取り出す。*/
     725                        /* 受信ウィンドバッファからデータを取り出す。*/
    750726                        len = TCP_READ_RWBUF(cep, data, (uint_t)len);
    751727
    752                         /* コールバック関数を呼び出す。*/
     728                        /* コールバック関数を呼び出す。*/
    753729#ifdef TCP_CFG_NON_BLOCKING_COMPAT14
    754730                        (*cep->callback)(GET_TCP_CEPID(cep), TFN_TCP_RCV_DAT, (void*)(uint32_t)len);
     
    766742                        }
    767743                }
    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                /* 受信ウィンドバッファにデータがなければ、入力があるまで待つ。*/
    775749                if ((error = tcp_wait_rwbuf(cep, tmout)) != E_OK)
    776750                        goto err_ret;
    777751
    778                 /* 受信ウィンドバッファからデータを取り出す。*/
     752                /* 受信ウィンドバッファからデータを取り出す。*/
    779753                error = TCP_READ_RWBUF(cep, data, (uint_t)len);
    780754
    781                 /* 相手にウィンドウサイズが変わったことを知らせるため出力をポストする。*/
     755                /* 相手にウィンドウサイズが変わったことを知らせるため出力をポストする。*/
    782756                cep->flags |= TCP_CEP_FLG_POST_OUTPUT;
    783757                sig_sem(SEM_TCP_POST_OUTPUT);
     
    800774
    801775/*
    802  *  tcp_rcv_buf -- 受信したデータのå
    803 ¥ã£ãŸãƒãƒƒãƒ•ã‚¡ã®ç²å¾—【標準機能】
     776 *  tcp_rcv_buf -- 受信したデータの入ったバッファの獲得【標準機能】
    804777 */
    805778
     
    812785#ifdef TCP_CFG_NON_BLOCKING
    813786
    814         /* p_buf が NULL ならエラー */
     787        /* p_buf が NULL ならエラー */
    815788        if (p_buf == NULL)
    816789                return E_PAR;
     
    818791#else   /* of #ifdef TCP_CFG_NON_BLOCKING */
    819792
    820         /* p_buf が NULL か、tmout が TMO_NBLK ならエラー */
     793        /* p_buf が NULL か、tmout が TMO_NBLK ならエラー */
    821794        if (p_buf == NULL || tmout == TMO_NBLK)
    822795                return E_PAR;
     
    825798
    826799        /*
    827          *  CEP をロックし、API 機能コードとタスク識別子を記録する。
    828          *  すでに記録されていれば、ペンディング中なのでエラー
     800         *  CEP をロックし、API 機能コードとタスク識別子を記録する。
     801         *  すでに記録されていれば、ペンディング中なのでエラー
    829802         */
    830803        if ((error = tcp_lock_cep(cepid, &cep, TFN_TCP_RCV_BUF)) != E_OK)
    831804                return error;
    832805
    833         /* 受信できるか、通信端点の状æ
    834 ‹ã‚’見る。*/
     806        /* 受信できるか、通信端点の状態を見る。*/
    835807        if (tcp_can_recv_more(&error, cep, TFN_TCP_RCV_DAT, tmout) != E_OK)
    836808                goto err_ret;
     
    838810#ifdef TCP_CFG_NON_BLOCKING
    839811
    840         /* タイムアウトをチェックする。*/
    841         if (tmout == TMO_NBLK) {                /* ノンブロッキングコール */
    842 
    843                 /* 受信ウィンドバッファにデータがあればコールバック関数を呼び出す。*/
     812        /* タイムアウトをチェックする。*/
     813        if (tmout == TMO_NBLK) {                /* ノンブロッキングコール */
     814
     815                /* 受信ウィンドバッファにデータがあればコールバック関数を呼び出す。*/
    844816                if (cep->rwbuf_count > 0) {
    845817
    846                         /* 受信ウィンドバッファの空アドレスを獲得する。*/
     818                        /* 受信ウィンドバッファの空アドレスを獲得する。*/
    847819                        error = TCP_GET_RWBUF_ADDR(cep, p_buf);
    848820
    849                         /* コールバック関数を呼び出す。*/
     821                        /* コールバック関数を呼び出す。*/
    850822#ifdef TCP_CFG_NON_BLOCKING_COMPAT14
    851823                        (*cep->callback)(GET_TCP_CEPID(cep), TFN_TCP_RCV_BUF, (void*)error);
     
    862834                        }
    863835                }
    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                /* 受信ウィンドバッファにデータがなければ、入力があるまで待つ。*/
    871841                if ((error = tcp_wait_rwbuf(cep, tmout)) != E_OK) {
    872842                        cep->rwbuf_count = 0;
     
    874844                        }
    875845
    876                 /* 受信ウィンドバッファのアドレスを獲得する。*/
     846                /* 受信ウィンドバッファのアドレスを獲得する。*/
    877847                error = TCP_GET_RWBUF_ADDR(cep, p_buf);
    878848
     
    894864
    895865/*
    896  *  tcp_rel_buf -- 受信用バッファの解放【標準機能】
     866 *  tcp_rel_buf -- 受信用バッファの解放【標準機能】
    897867 */
    898868
     
    903873        ER              error;
    904874
    905         /* 解放する長さ len をチェックする。*/
     875        /* 解放する長さ len をチェックする。*/
    906876        if (len < 0)
    907877                return E_PAR;
    908878
    909879        /*
    910          *  CEP をロックし、API 機能コードとタスク識別子を記録する。
    911          *  すでに記録されていれば、ペンディング中なのでエラー
     880         *  CEP をロックし、API 機能コードとタスク識別子を記録する。
     881         *  すでに記録されていれば、ペンディング中なのでエラー
    912882         */
    913883        if ((error = tcp_lock_cep(cepid, &cep, TFN_TCP_REL_BUF)) != E_OK)
    914884                return error;
    915885
    916         /* 解放する長さ len をチェックする。*/
     886        /* 解放する長さ len をチェックする。*/
    917887        if (len > cep->rcv_buf_len) {
    918888                error = E_OBJ;
     
    920890                }
    921891
    922         /* 通信端点をロックする。*/
     892        /* 通信端点をロックする。*/
    923893        syscall(wai_sem(cep->semid_lock));
    924894
    925         /* 受信ウィンドバッファから受信したオクテットを削除する。*/
     895        /* 受信ウィンドバッファから受信したオクテットを削除する。*/
    926896        TCP_DROP_RWBUF(cep, (uint_t)len);
    927897
    928         /* tcp_rcv_buf の割当て長をリセットする。*/
     898        /* tcp_rcv_buf の割当て長をリセットする。*/
    929899        cep->rcv_buf_len -= len;
    930900
    931         /* 通信端点のロックを解除する。*/
     901        /* 通信端点のロックを解除する。*/
    932902        syscall(sig_sem(cep->semid_lock));
    933903
    934         /* 相手にウィンドウサイズが変わったことを知らせるため出力をポストする。*/
     904        /* 相手にウィンドウサイズが変わったことを知らせるため出力をポストする。*/
    935905        cep->flags |= TCP_CEP_FLG_POST_OUTPUT;
    936906        sig_sem(SEM_TCP_POST_OUTPUT);
     
    947917
    948918/*
    949  *  tcp_can_snd -- ペンディングしている送信のキャンセル
     919 *  tcp_can_snd -- ペンディングしている送信のキャンセル
    950920 */
    951921
     
    955925        ER      error = E_OK;
    956926
    957         /* 通信端点をロックする。*/
     927        /* 通信端点をロックする。*/
    958928        syscall(wai_sem(cep->semid_lock));
    959929
    960930        /*
    961          *  snd_tskid が TA_NULL なら、
    962          *  ペンディングしていないのでエラー
     931         *  snd_tskid が TA_NULL なら、
     932         *  ペンディングしていないのでエラー
    963933         */
    964934        if (cep->snd_tskid == TA_NULL)
    965935                error = EV_NOPND;
    966936
    967         /* ペンディング中の API 機能コードと一致しなければエラー */
     937        /* ペンディング中の API 機能コードと一致しなければエラー */
    968938        else if (fncd != TFN_TCP_ALL && fncd != cep->snd_tfn)
    969939                error = E_OBJ;
    970940
    971         /* 処理をキャンセルする。*/
     941        /* 処理をキャンセルする。*/
    972942        else {
    973943
    974                 /* 受信再構成キューのネットワークバッファを解放する。*/
     944                /* 受信再構成キューのネットワークバッファを解放する。*/
    975945                tcp_free_reassq(cep);
    976946
    977                 /* 受信ウィンドバッファキューのネットワークバッファを解放する。*/
     947                /* 受信ウィンドバッファキューのネットワークバッファを解放する。*/
    978948                cep->rwbuf_count = 0;
    979949                TCP_FREE_RWBUFQ(cep);
    980950
    981                 /* 送信ウィンドバッファキューのネットワークバッファを解放する。*/
     951                /* 送信ウィンドバッファキューのネットワークバッファを解放する。*/
    982952                TCP_FREE_SWBUFQ(cep);
    983953
    984954#ifdef TCP_CFG_NON_BLOCKING
    985955
    986                 if (cep->snd_nblk_tfn != TFN_TCP_UNDEF) {       /* ノンブロッキングコール */
     956                if (cep->snd_nblk_tfn != TFN_TCP_UNDEF) {       /* ノンブロッキングコール */
    987957
    988958                        switch (cep->snd_nblk_tfn) {
     
    990960                        case TFN_TCP_CON_CEP:
    991961                                /*
    992                                  *  通信端点から受付口を解放し、
    993                                  *  イベントフラグをクローズに設定する。
     962                                 *  通信端点から受付口を解放し、
     963                                 *  イベントフラグをクローズに設定する。
    994964                                 */
    995965                                cep->rep = NULL;
     
    10381008                }
    10391009
    1040         /* 通信端点のロックを解除する。*/
     1010        /* 通信端点のロックを解除する。*/
    10411011        syscall(sig_sem(cep->semid_lock));
    10421012
     
    10451015
    10461016/*
    1047  *  tcp_can_rcv -- ペンディングしている受信のキャンセル
     1017 *  tcp_can_rcv -- ペンディングしている受信のキャンセル
    10481018 */
    10491019
     
    10531023        ER      error = E_OK;
    10541024
    1055         /* 通信端点をロックする。*/
     1025        /* 通信端点をロックする。*/
    10561026        syscall(wai_sem(cep->semid_lock));
    10571027
    10581028        /*
    1059          *  rcv_tskid が TA_NULL なら、
    1060          *  ペンディングしていないのでエラー
     1029         *  rcv_tskid が TA_NULL なら、
     1030         *  ペンディングしていないのでエラー
    10611031         */
    10621032        if (cep->rcv_tskid == TA_NULL)
    10631033                error = EV_NOPND;
    10641034
    1065         /* ペンディング中の API 機能コードと一致しなければエラー */
     1035        /* ペンディング中の API 機能コードと一致しなければエラー */
    10661036        else if (fncd != TFN_TCP_ALL && fncd != cep->rcv_tfn)
    10671037                error = E_OBJ;
    10681038
    1069         /* 処理をキャンセルする。*/
     1039        /* 処理をキャンセルする。*/
    10701040        else {
    10711041
    1072                 /* 受信再構成キューのネットワークバッファを解放する。*/
     1042                /* 受信再構成キューのネットワークバッファを解放する。*/
    10731043                tcp_free_reassq(cep);
    10741044
    1075                 /* 受信ウィンドバッファキューのネットワークバッファを解放する。*/
     1045                /* 受信ウィンドバッファキューのネットワークバッファを解放する。*/
    10761046                cep->rwbuf_count = 0;
    10771047                TCP_FREE_RWBUFQ(cep);
    10781048
    1079                 /* 送信ウィンドバッファキューのネットワークバッファを解放する。*/
     1049                /* 送信ウィンドバッファキューのネットワークバッファを解放する。*/
    10801050                TCP_FREE_SWBUFQ(cep);
    10811051
    10821052#ifdef TCP_CFG_NON_BLOCKING
    10831053
    1084                 if (cep->rcv_nblk_tfn != TFN_TCP_UNDEF) {       /* ノンブロッキングコール */
     1054                if (cep->rcv_nblk_tfn != TFN_TCP_UNDEF) {       /* ノンブロッキングコール */
    10851055
    10861056                        switch (cep->rcv_nblk_tfn) {
     
    10881058                        case TFN_TCP_ACP_CEP:
    10891059                                /*
    1090                                  *  通信端点から受付口を解放し、
    1091                                  *  イベントフラグをクローズに設定する。
     1060                                 *  通信端点から受付口を解放し、
     1061                                 *  イベントフラグをクローズに設定する。
    10921062                                 */
    10931063                                cep->rep = NULL;
     
    11421112                }
    11431113
    1144         /* 通信端点のロックを解除する。*/
     1114        /* 通信端点のロックを解除する。*/
    11451115        syscall(sig_sem(cep->semid_lock));
    11461116
     
    11491119
    11501120/*
    1151  *  tcp_can_cep -- ペンディングしている処理のキャンセル【標準機能】
     1121 *  tcp_can_cep -- ペンディングしている処理のキャンセル【標準機能】
    11521122 */
    11531123
     
    11581128        ER              error = E_OK, snd_err, rcv_err;
    11591129
    1160         /* API 機能コードをチェックする。*/
     1130        /* API 機能コードをチェックする。*/
    11611131        if (!VALID_TFN_TCP_CAN(fncd))
    11621132                return E_PAR;
    11631133
    1164         /* TCP 通信端点 ID をチェックする。*/
     1134        /* TCP 通信端点 ID をチェックする。*/
    11651135        if (!VALID_TCP_CEPID(cepid))
    11661136                return E_ID;
    11671137
    1168         /* TCP 通信端点を得る。*/
     1138        /* TCP 通信端点を得る。*/
    11691139        cep = GET_TCP_CEP(cepid);
    11701140
    1171         /* TCP 通信端点をチェックする。*/
     1141        /* TCP 通信端点をチェックする。*/
    11721142        if (!VALID_TCP_CEP(cep))
    11731143                return E_NOEXS;
    11741144
    1175         if (fncd == TFN_TCP_ALL) {              /* TFN_TCP_ALL の処理 */
     1145        if (fncd == TFN_TCP_ALL) {              /* TFN_TCP_ALL の処理 */
    11761146                snd_err = tcp_can_snd(cep, fncd);
    11771147                rcv_err = tcp_can_rcv(cep, fncd);
    11781148
    11791149                /*
    1180                  *  snd_err と rcv_err のどちらも EV_NOPND
    1181                  *  なら、ペンディングしていないのでエラー
     1150                 *  snd_err と rcv_err のどちらも EV_NOPND
     1151                 *  なら、ペンディングしていないのでエラー
    11821152                 */
    11831153                if (snd_err == EV_NOPND && rcv_err == EV_NOPND)
     
    11961166                }
    11971167
    1198         else if (IS_TFN_TCP_RCV(fncd)) {        /* 受信処理のキャンセル */
     1168        else if (IS_TFN_TCP_RCV(fncd)) {        /* 受信処理のキャンセル */
    11991169                if ((error = tcp_can_rcv(cep, fncd)) == EV_NOPND)
    12001170                        error = E_OBJ;
    12011171                }
    12021172
    1203         else {                                  /* 送信処理のキャンセル */
     1173        else {                                  /* 送信処理のキャンセル */
    12041174                if ((error = tcp_can_snd(cep, fncd)) == EV_NOPND)
    12051175                        error = E_OBJ;
     
    12161186
    12171187/*
    1218  *  tcp_cre_cep -- TCP 通信端点の生成【拡張機能】
     1188 *  tcp_cre_cep -- TCP 通信端点の生成【拡張機能】
    12191189 */
    12201190
     
    12251195        ER              error;
    12261196
    1227         /* TCP 通信端点 ID をチェックする。*/
     1197        /* TCP 通信端点 ID をチェックする。*/
    12281198        if (!VALID_TCP_CEPID(cepid))
    12291199                return E_ID;
    12301200
    1231         /* pk_ccep が NULL ならエラー */
     1201        /* pk_ccep が NULL ならエラー */
    12321202        if (pk_ccep == NULL)
    12331203                return E_PAR;
    12341204
    1235         /* TCP 通信端点を得る。*/
     1205        /* TCP 通信端点を得る。*/
    12361206        cep = GET_TCP_CEP(cepid);
    12371207
    1238         /* TCP 通信端点が、動的生成用でなければエラー */
     1208        /* TCP 通信端点が、動的生成用でなければエラー */
    12391209        if (!DYNAMIC_TCP_CEP(cep))
    12401210                return E_ID;
    12411211
    1242         /* 通信端点をロックする。*/
     1212        /* 通信端点をロックする。*/
    12431213        syscall(wai_sem(cep->semid_lock));
    12441214
    12451215        /*
    1246          * TCP 通信端点をチェックする。生成済みであればエラー
     1216         * TCP 通信端点をチェックする。生成済みであればエラー
    12471217         */
    12481218        if (VALID_TCP_CEP(cep))
     
    12501220        else {
    12511221
    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 通信端点を生成済みにする。*/
    12621231                cep->flags |= TCP_CEP_FLG_VALID;
    12631232                error = E_OK;
    12641233                }
    12651234
    1266         /* 通信端点のロックを解除する。*/
     1235        /* 通信端点のロックを解除する。*/
    12671236        syscall(sig_sem(cep->semid_lock));
    12681237
     
    12731242
    12741243/*
    1275  *  tcp_del_cep -- TCP 通信端点の削除【拡張機能】
     1244 *  tcp_del_cep -- TCP 通信端点の削除【拡張機能】
    12761245 */
    12771246
     
    12841253        ER              error;
    12851254
    1286         /* TCP 通信端点 ID をチェックする。*/
     1255        /* TCP 通信端点 ID をチェックする。*/
    12871256        if (!VALID_TCP_CEPID(cepid))
    12881257                return E_ID;
    12891258
    1290         /* TCP 通信端点を得る。*/
     1259        /* TCP 通信端点を得る。*/
    12911260        cep = GET_TCP_CEP(cepid);
    12921261
    1293         /* TCP 通信端点が、動的生成用でなければエラー */
     1262        /* TCP 通信端点が、動的生成用でなければエラー */
    12941263        if (!DYNAMIC_TCP_CEP(cep))
    12951264                return E_ID;
    12961265
    1297         /* 通信端点をロックする。*/
     1266        /* 通信端点をロックする。*/
    12981267        syscall(wai_sem(cep->semid_lock));
    12991268
    13001269        /*
    1301          * TCP 通信端点をチェックする。以下の場合はエラー
    1302          * ・未生成。
    1303          * ・使用中。
     1270         * TCP 通信端点をチェックする。以下の場合はエラー
     1271         * ・未生成。
     1272         * ・使用中。
    13041273         */
    13051274        if (!VALID_TCP_CEP(cep))
     
    13091278        else {
    13101279
    1311                 /* TCP 通信端点を未生成にする。*/
     1280                /* TCP 通信端点を未生成にする。*/
    13121281                cep->flags &= ~TCP_CEP_FLG_VALID;
    13131282                error = E_OK;
    13141283                }
    13151284
    1316         /* 通信端点のロックを解除する。*/
     1285        /* 通信端点のロックを解除する。*/
    13171286        syscall(sig_sem(cep->semid_lock));
    13181287
     
    13251294
    13261295/*
    1327  *  tcp_snd_oob -- 緊急データの送信【拡張機能】
     1296 *  tcp_snd_oob -- 緊急データの送信【拡張機能】
    13281297 */
    13291298
     
    13361305#ifdef TCP_CFG_NON_BLOCKING
    13371306
    1338         /* data が NULL か、len < 0 ならエラー */
     1307        /* data が NULL か、len < 0 ならエラー */
    13391308        if (data == NULL || len < 0)
    13401309                return E_PAR;
     
    13421311#else   /* of #ifdef TCP_CFG_NON_BLOCKING */
    13431312
    1344         /* data が NULL、len < 0 か、tmout が TMO_NBLK ならエラー */
     1313        /* data が NULL、len < 0 か、tmout が TMO_NBLK ならエラー */
    13451314        if (data == NULL || len < 0 || tmout == TMO_NBLK)
    13461315                return E_PAR;
     
    13491318
    13501319        /*
    1351          *  CEP をロックし、API 機能コードとタスク識別子を記録する。
    1352          *  すでに記録されていれば、ペンディング中なのでエラー
     1320         *  CEP をロックし、API 機能コードとタスク識別子を記録する。
     1321         *  すでに記録されていれば、ペンディング中なのでエラー
    13531322         */
    13541323        if ((error = tcp_lock_cep(cepid, &cep, TFN_TCP_SND_OOB)) != E_OK)
    13551324                return error;
    13561325
    1357         /* 送信できるか、通信端点の状æ
    1358 ‹ã‚’見る。*/
     1326        /* 送信できるか、通信端点の状態を見る。*/
    13591327        if ((error = tcp_can_send_more(cep, TFN_TCP_SND_OOB, tmout)) != E_OK)
    13601328                goto err_ret;
     
    13621330#ifdef TCP_CFG_NON_BLOCKING
    13631331
    1364         /* タイムアウトをチェックする。*/
    1365         if (tmout == TMO_NBLK) {                /* ノンブロッキングコール */
    1366 
    1367                 /* 送信ウィンドバッファに空きがあればコールバック関数を呼び出す。*/
     1332        /* タイムアウトをチェックする。*/
     1333        if (tmout == TMO_NBLK) {                /* ノンブロッキングコール */
     1334
     1335                /* 送信ウィンドバッファに空きがあればコールバック関数を呼び出す。*/
    13681336                if (!TCP_IS_SWBUF_FULL(cep)) {
    13691337
    1370                         /* 送信ウィンドバッファにデータを書き込む。*/
     1338                        /* 送信ウィンドバッファにデータを書き込む。*/
    13711339                        error = TCP_WRITE_SWBUF(cep, data, (uint_t)len);
    13721340
    1373                         /* 送信緊急ポインタを設定する。*/
     1341                        /* 送信緊急ポインタを設定する。*/
    13741342                        cep->snd_up = cep->snd_una + cep->swbuf_count;
    13751343
    1376                         /* 出力をポストする。*/
     1344                        /* 出力をポストする。*/
    13771345                        cep->flags |= TCP_CEP_FLG_POST_OUTPUT;
    13781346                        sig_sem(SEM_TCP_POST_OUTPUT);
    13791347
    1380                         /* コールバック関数を呼び出す。*/
     1348                        /* コールバック関数を呼び出す。*/
    13811349#ifdef TCP_CFG_NON_BLOCKING_COMPAT14
    13821350                        (*cep->callback)(GET_TCP_CEPID(cep), TFN_TCP_SND_OOB, (void*)error);
     
    13961364                        }
    13971365                }
    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                /* 送信ウィンドバッファが空くのを待つ。*/
    14041371                if ((error = TCP_WAIT_SWBUF(cep, tmout)) != E_OK)
    14051372                        goto err_ret;
    14061373
    1407                 /* 送信ウィンドバッファにデータを書き込む。*/
     1374                /* 送信ウィンドバッファにデータを書き込む。*/
    14081375                if ((error = TCP_WRITE_SWBUF(cep, data, (uint_t)len)) > 0) {
    14091376
    1410                         /* 送信緊急ポインタを設定する。*/
     1377                        /* 送信緊急ポインタを設定する。*/
    14111378                        cep->snd_up = cep->snd_una + cep->swbuf_count;
    14121379
    1413                         /* データを送信する。送信ウィンドバッファがフルのときは強制的に送信する。*/
     1380                        /* データを送信する。送信ウィンドバッファがフルのときは強制的に送信する。*/
    14141381                        if (TCP_IS_SWBUF_FULL(cep))
    14151382                                cep->flags |= TCP_CEP_FLG_FORCE | TCP_CEP_FLG_FORCE_CLEAR;
    14161383
    1417                         /* 出力をポストする。*/
     1384                        /* 出力をポストする。*/
    14181385                        cep->flags |= TCP_CEP_FLG_POST_OUTPUT;
    14191386                        sig_sem(SEM_TCP_POST_OUTPUT);
     
    14371404
    14381405/*
    1439  *  tcp_rcv_oob -- 緊急データの受信【拡張機能】
     1406 *  tcp_rcv_oob -- 緊急データの受信【拡張機能】
    14401407 *
    1441  *    注意: 送信側が複数オクテットのデータを送信しても、
    1442  *          緊急ポインタが指す 1 オクテットのデータのみ受信する。
     1408 *    注意: 送信側が複数オクテットのデータを送信しても、
     1409 *          緊急ポインタが指す 1 オクテットのデータのみ受信する。
    14431410 */
    14441411
     
    14491416        uint8_t         *urg;
    14501417
    1451         /* TCP 通信端点 ID をチェックする。*/
     1418        /* TCP 通信端点 ID をチェックする。*/
    14521419        if (!VALID_TCP_CEPID(cepid))
    14531420                return E_ID;
    14541421
    1455         /* data が NULL か、len < 0 ならエラー */
     1422        /* data が NULL か、len < 0 ならエラー */
    14561423        if (data == NULL || len < 0)
    14571424                return E_PAR;
    14581425
    1459         /* TCP 通信端点を得る。*/
     1426        /* TCP 通信端点を得る。*/
    14601427        cep = GET_TCP_CEP(cepid);
    14611428
    1462         /* 受信できるか、通信端点の状æ
    1463 ‹ã‚’見る。*/
    1464         /* 受信できるか、fsm_state を見る。*/
     1429        /* 受信できるか、通信端点の状態を見る。*/
     1430        /* 受信できるか、fsm_state を見る。*/
    14651431        if (!TCP_FSM_CAN_RECV_MORE(cep->fsm_state))
    14661432                return E_OBJ;
    14671433
    14681434        /*
    1469          *  緊急データå
    1470 ¥ã‚Šã®ã‚»ã‚°ãƒ¡ãƒ³ãƒˆã® TCP ヘッダが
    1471          *  設定されていなければ、緊急データを受信していない。
     1435         *  緊急データ入りのセグメントの TCP ヘッダが
     1436         *  設定されていなければ、緊急データを受信していない。
    14721437         */
    14731438        if (cep->urg_tcph == NULL)
    14741439                return E_OBJ;
    14751440
    1476         /* len == 0 ならバッファオーバーフロー */
     1441        /* len == 0 ならバッファオーバーフロー */
    14771442        if (len == 0)
    14781443                return E_BOVR;
    14791444
    1480         /* 緊急ポインタが指す 1 オクテットのデータを読み取る。*/
     1445        /* 緊急ポインタが指す 1 オクテットのデータを読み取る。*/
    14811446        urg = (uint8_t*)cep->urg_tcph + TCP_DATA_OFF(cep->urg_tcph->doff) + cep->urg_tcph->urp + TCP_CFG_URG_OFFSET;
    14821447        *(uint8_t*)data = *urg;
    14831448
    1484         /* 読み取ったデータから後ろの SDU を前に詰める。*/
     1449        /* 読み取ったデータから後ろの SDU を前に詰める。*/
    14851450        memcpy(urg, urg + 1, cep->urg_tcph->sum - (cep->urg_tcph->urp + TCP_CFG_URG_OFFSET) - 1);
    14861451
    1487         /* tcp_rcv_oob() が呼出されたこと知らせるために、NULL を設定する。*/
     1452        /* tcp_rcv_oob() が呼出されたこと知らせるために、NULL を設定する。*/
    14881453        cep->urg_tcph = NULL;
    14891454
     
    15001465
    15011466/*
    1502  *  tcp_del_rep -- TCP 受付口の削除【拡張機能】
     1467 *  tcp_del_rep -- TCP 受付口の削除【拡張機能】
    15031468 */
    15041469
     
    15121477
    15131478        /*
    1514          *  TCP 受付口 ID をチェックする。
    1515          *  IPv6 用 TCP 受付口であれば、
    1516          *  IPv6 用の「TCP 受付口の削除関数(本体)」を呼出す。
     1479         *  TCP 受付口 ID をチェックする。
     1480         *  IPv6 用 TCP 受付口であれば、
     1481         *  IPv6 用の「TCP 受付口の削除関数(本体)」を呼出す。
    15171482         */
    15181483        //NET_DEBUG_TCP3("tcp_del_rep1[r=%d,n=%d,x=%d]\n",
     
    15241489
    15251490        /*
    1526          *  TCP 受付口 ID をチェックする。
    1527          *  IPv4 用 TCP 受付口であれば、
    1528          *  IPv4 用の「TCP 受付口の削除関数(本体)」を呼出す。
     1491         *  TCP 受付口 ID をチェックする。
     1492         *  IPv4 用 TCP 受付口であれば、
     1493         *  IPv4 用の「TCP 受付口の削除関数(本体)」を呼出す。
    15291494         */
    15301495        else if (VALID_TCP4_REPID(repid))
     
    15411506{
    15421507
    1543         /* TCP 受付口 ID をチェックする。*/
     1508        /* TCP 受付口 ID をチェックする。*/
    15441509        if (VALID_TCP6_REPID(repid))
    15451510                return tcp6_del_rep_body(repid);
     
    15571522{
    15581523
    1559         /* TCP 受付口 ID をチェックする。*/
     1524        /* TCP 受付口 ID をチェックする。*/
    15601525        if (VALID_TCP4_REPID(repid))
    15611526                return tcp4_del_rep_body(repid);
     
    15701535
    15711536/*
    1572  *  tcp_set_opt -- TCP 通信端点オプションの設定【拡張機能】
     1537 *  tcp_set_opt -- TCP 通信端点オプションの設定【拡張機能】
    15731538 *
    1574  *  注意: 設定可能な TCP 通信端点オプションは無いため、E_PAR が返される。
     1539 *  注意: 設定可能な TCP 通信端点オプションは無いため、E_PAR が返される。
    15751540 */
    15761541
     
    15821547        T_TCP_CEP       *cep;
    15831548
    1584         /* TCP 通信端点 ID をチェックする。*/
     1549        /* TCP 通信端点 ID をチェックする。*/
    15851550        if (!VALID_TCP_CEPID(cepid))
    15861551                return E_ID;
    15871552
    1588         /* TCP 通信端点を得る。*/
     1553        /* TCP 通信端点を得る。*/
    15891554        cep = GET_TCP_CEP(cepid);
    15901555
    1591         /* TCP 通信端点をチェックする。*/
     1556        /* TCP 通信端点をチェックする。*/
    15921557        if (!VALID_TCP_CEP(cep))
    15931558                return E_NOEXS;
     
    15991564
    16001565/*
    1601  *  tcp_get_opt -- TCP 通信端点オプションの設定【拡張機能】
     1566 *  tcp_get_opt -- TCP 通信端点オプションの設定【拡張機能】
    16021567 *
    1603  *  注意: 設定可能な TCP 通信端点オプションは無いため、E_PAR が返される。
     1568 *  注意: 設定可能な TCP 通信端点オプションは無いため、E_PAR が返される。
    16041569 */
    16051570
     
    16111576        T_TCP_CEP       *cep;
    16121577
    1613         /* TCP 通信端点 ID をチェックする。*/
     1578        /* TCP 通信端点 ID をチェックする。*/
    16141579        if (!VALID_TCP_CEPID(cepid))
    16151580                return E_ID;
    16161581
    1617         /* TCP 通信端点を得る。*/
     1582        /* TCP 通信端点を得る。*/
    16181583        cep = GET_TCP_CEP(cepid);
    16191584
    1620         /* TCP 通信端点をチェックする。*/
     1585        /* TCP 通信端点をチェックする。*/
    16211586        if (!VALID_TCP_CEP(cep))
    16221587                return E_NOEXS;
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/tcp_var.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    8472
    8573/*
    86  *  TCP ヘッダ・ペイロードアクセスマクロ
     74 *  TCP ヘッダ・ペイロードアクセスマクロ
    8775 */
    8876
     
    10492
    10593/*
    106  *  TINET 1.1 との互換性のための定義
     94 *  TINET 1.1 との互換性のための定義
    10795 */
    10896
     
    117105
    118106/*
    119  *  TINET 1.3 との互換性のための定義
     107 *  TINET 1.3 との互換性のための定義
    120108 */
    121109
     
    127115
    128116/*
    129  *  コールバック関数の定義
     117 *  コールバック関数の定義
    130118 */
    131119
     
    133121
    134122/*
    135  * TCP で使用する変数の型の定義
     123 * TCP で使用する変数の型の定義
    136124 */
    137125
     
    142130
    143131/*
    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 受付口 */
    154142
    155143typedef struct t_tcp6_rep {
    156144
    157145        /*
    158          * ITRON TCP/IP API、TCP 受付口と同じメンバ
     146         * ITRON TCP/IP API、TCP 受付口と同じメンバ
    159147         */
    160         ATR             repatr;         /* 受付口属性              */
    161         T_IPV6EP        myaddr;         /* 自分のアドレス        */
     148        ATR             repatr;         /* 受付口属性                */
     149        T_IPV6EP        myaddr;         /* 自分のアドレス      */
    162150
    163151#ifdef TCP_CFG_EXTENTIONS
    164         uint16_t        flags;          /* 受付口フラグ           */
    165         ID              semid_lock;     /* 受付口ロック           */
     152        uint16_t        flags;          /* 受付口フラグ               */
     153        ID              semid_lock;     /* 受付口ロック               */
    166154#endif  /* of #ifdef TCP_CFG_EXTENTIONS */
    167155
    168156        } T_TCP6_REP;
    169157
    170 /* IPv4 用 TCP 受付口 */
     158/* IPv4 用 TCP 受付口 */
    171159
    172160typedef struct t_tcp4_rep {
    173161
    174162        /*
    175          * ITRON TCP/IP API、TCP 受付口と同じメンバ
     163         * ITRON TCP/IP API、TCP 受付口と同じメンバ
    176164         */
    177         ATR             repatr;         /* 受付口属性              */
    178         T_IPV4EP        myaddr;         /* 自分のアドレス        */
     165        ATR             repatr;         /* 受付口属性                */
     166        T_IPV4EP        myaddr;         /* 自分のアドレス      */
    179167
    180168#ifdef TCP_CFG_EXTENTIONS
    181         uint16_t        flags;          /* 受付口フラグ           */
    182         ID              semid_lock;     /* 受付口ロック           */
     169        uint16_t        flags;          /* 受付口フラグ               */
     170        ID              semid_lock;     /* 受付口ロック               */
    183171#endif  /* of #ifdef TCP_CFG_EXTENTIONS */
    184172
     
    202190
    203191/*
    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 通信端点
    212200 */
    213201
     
    223211
    224212        /*
    225          * ITRON TCP/IP API、TCP 通信端点と同じメンバ
     213         * ITRON TCP/IP API、TCP 通信端点と同じメンバ
    226214         */
    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;       /* コールバック関数             */
    233221
    234222        /*
    235          * TINET 独自のメンバ
     223         * TINET 独自のメンバ
    236224         */
    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;       /* 輻輳ウィンドサイズ            */
    255242
    256243        /*
    257          *  相手の最大受信セグメントサイズ       
     244         *  相手の最大受信セグメントサイズ     
    258245         *
    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 の使用する。
    267252         */
    268253        T_TCP_SEG       maxseg;
    269254
    270         int16_t         snd_tfn;        /* 送信動作中の API 機能コード       */
    271         int16_t         rcv_tfn;        /* 受信動作中の API 機能コード       */
     255        int16_t         snd_tfn;        /* 送信動作中の API 機能コード     */
     256        int16_t         rcv_tfn;        /* 受信動作中の API 機能コード     */
    272257
    273258#ifdef TCP_CFG_NON_BLOCKING
    274259
    275         T_IPEP          *p_dstaddr;     /* 相手のアドレスへのポインタ      */
    276         T_IPEP          *p_myaddr;      /* 自分のアドレスへのポインタ      */
     260        T_IPEP          *p_dstaddr;     /* 相手のアドレスへのポインタ        */
     261        T_IPEP          *p_myaddr;      /* 自分のアドレスへのポインタ        */
    277262
    278263#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;     /* 自分のアドレスへのポインタ        */
    281266#endif
    282267       
    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;    /* 受信バッファへのポインタ */
    293276
    294277#endif  /* of #ifdef TCP_CFG_NON_BLOCKING */
    295278
    296279#ifdef TCP_CFG_SWBUF_CSAVE
    297         T_NET_BUF       *swbufq;        /* 送信ウィンドバッファキュー      */
     280        T_NET_BUF       *swbufq;        /* 送信ウィンドバッファキュー        */
    298281#endif
    299282
    300283        /*
    301          *  これ以降のメンバーは tcp_init_cep() 関数でゼロクリアーされる。
     284         *  これ以降のメンバーは tcp_init_cep() 関数でゼロクリアーされる。
    302285         */
    303286
    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;        /* 受信再構成キュー             */
    308291
    309292#if defined(_IP6_CFG)
     
    311294#if defined(_IP4_CFG)
    312295
    313         T_TCP4_REP      *rep4;          /* IPv4 用受付口            */
     296        T_TCP4_REP      *rep4;          /* IPv4 用受付口            */
    314297
    315298#endif  /* of #if defined(_IP4_CFG) */
    316299
    317         T_TCP6_REP      *rep;           /* IPv6 用受付口            */
     300        T_TCP6_REP      *rep;           /* IPv6 用受付口            */
    318301
    319302#else   /* of #if defined(_IP6_CFG) */
     
    321304#if defined(_IP4_CFG)
    322305
    323         T_TCP4_REP      *rep;           /* IPv4 用受付口            */
     306        T_TCP4_REP      *rep;           /* IPv4 用受付口            */
    324307
    325308#endif  /* of #if defined(_IP4_CFG) */
     
    329312
    330313#ifdef TCP_CFG_RWBUF_CSAVE
    331         T_NET_BUF       *rwbufq;        /* 受信ウィンドバッファキュー      */
     314        T_NET_BUF       *rwbufq;        /* 受信ウィンドバッファキュー        */
    332315#endif
    333316
    334317#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;         /* 受信した緊急ポインタ           */
    339321#endif  /* of #ifdef TCP_CFG_EXTENTIONS */
    340322
    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 数                     */
    373350
    374351#if defined(TCP_CFG_RWBUF_CSAVE) && defined(TCP_CFG_RWBUF_CSAVE_MAX_QUEUES)
    375         uint16_t        rwbufq_entries; /* 受信ウィンドバッファキューのエントリ数    */
     352        uint16_t        rwbufq_entries; /* 受信ウィンドバッファキューのエントリ数  */
    376353#endif
    377354
     
    382359
    383360/*
    384  * Time Wait 用 TCP 通信端点
     361 * Time Wait 用 TCP 通信端点
    385362 */
    386363
    387364typedef 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;                  /* 通信端点フラグ              */
    400375
    401376        } T_TCP_TWCEP;
     
    404379
    405380/*
    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/* 初期化から除外するフラグの定義 */
    446414#define TCP_CEP_FLG_NOT_CLEAR           (TCP_CEP_FLG_WBCS_NBUF_REQ|TCP_CEP_FLG_WBCS_MASK|\
    447415                                         TCP_CEP_FLG_DYNAMIC|TCP_CEP_FLG_VALID|TCP_CEP_FLG_IPV4)
    448416
    449417/*
    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 関係 */
    466432
    467433#define TFN_TCP_UNDEF           (0)
    468434
    469435/*
    470  *  srtt:   å¹³æ»‘化された RTT
    471  *  rttvar: 平滑化された分散
    472  *  rtt:    測定された往復時間
     436 *  srtt:   平滑化された RTT
     437 *  rttvar: 平滑化された分散
     438 *  rtt:    測定された往復時間
    473439 *
    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 ビットを保持する。
    478444 */
    479445
    480446#define TCP_DELTA_SHIFT         2
    481                         /* 差分 = rtt/8 + srtt*7/8 の計算のためのシフト値  */
     447                        /* 差分 = rtt/8 + srtt*7/8 の計算のためのシフト値    */
    482448#define TCP_SRTT_SHIFT          (TCP_DELTA_SHIFT + 3)
    483                                         /* srtt のシフト値、3(+2)ビット        */
     449                                        /* srtt のシフト値、3(+2)ビット  */
    484450#define TCP_RTTVAR_SHIFT        (TCP_DELTA_SHIFT + 2)
    485                                         /* rttvar のシフト値、2(+2)ビット      */
     451                                        /* rttvar のシフト値、2(+2)ビット        */
    486452#define TCP_SRTT_SCALE          (1<<TCP_SRTT_SHIFT)
    487453#define TCP_RTTVAR_SCALE        (1<<TCP_RTTVAR_SHIFT)
    488454
    489455/*
    490  *  高速再転送を開始する再送 ACK 数のしきい値
     456 *  高速再転送を開始する再送 ACK 数のしきい値
    491457 */
    492458
     
    494460
    495461/*
    496  *  受信再構成キューでの TCP ヘッダ
     462 *  受信再構成キューでの TCP ヘッダ
    497463 */
    498464
    499465typedef 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 長補正)              */
    518479        } __attribute__((packed, aligned(2)))T_TCP_Q_HDR;
    519480
     
    521482
    522483/*
    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 *  制御セグメント(データなし)サイズのネットワークバッファ
    538499 */
    539500
     
    541502
    542503typedef 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;  /* フラグ          */
    546507#ifdef IF_ETHER_NIC_NET_BUF_ALIGN
    547508        uint8_t         nalign[IF_ETHER_NIC_NET_BUF_ALIGN];
     
    551512#endif
    552513        uint8_t         buf[IF_HDR_SIZE + IP_HDR_SIZE + TCP_HDR_SIZE];
    553                                 /* バッファ本体           */
     514                                /* バッファ本体               */
    554515        } T_NET_BUF_CSEG;
    555516
     
    557518
    558519/*
    559  *  SNMP の 管理æƒ
    560 å ±ãƒ™ãƒ¼ã‚¹ (MIB)
     520 *  SNMP の 管理情報ベース (MIB)
    561521 */
    562522
     
    575535
    576536/*
    577  *  関数シミュレーションマクロ
    578  */
    579 
    580 /* TCP 受付口 */
     537 *  関数シミュレーションマクロ
     538 */
     539
     540/* TCP 受付口 */
    581541
    582542#define VALID_TCP6_REPID(id)    (TMIN_TCP6_REPID<=(id)&&(id)<=tmax_tcp6_repid)
     
    604564#endif  /* of #ifdef TCP_CFG_EXTENTIONS */
    605565
    606 /* TCP 通信端点 */
     566/* TCP 通信端点 */
    607567
    608568#define VALID_TCP_CEPID(id)     (TMIN_TCP_CEPID<=(id)&&(id)<=tmax_tcp_cepid)
     
    634594
    635595/*
    636  *  å
    637 ¨åŸŸå¤‰æ•°
     596 *  全域変数
    638597 */
    639598
     
    642601extern T_TCP_STATS tcp_stats;
    643602
    644 /* TCP 受付口 */
     603/* TCP 受付口 */
    645604
    646605extern T_TCP6_REP tcp6_rep[];
     
    663622#endif
    664623
    665 /* TCP 通信端点 */
     624/* TCP 通信端点 */
    666625
    667626extern T_TCP_CEP tcp_cep[];
     
    679638
    680639/*
    681  *  Inline 関数
     640 *  Inline 関数
    682641 */
    683642
     
    685644
    686645/*
    687  *  TCP 通信端点の受信ウィンドバッファの省コピー機能が
    688  *  無効の場合は何もしないためのダミーの関数
    689  */
    690 
    691 /*
    692  *  tcp_free_rwbufq -- 受信ウィンドバッファキューを解放する。
     646 *  TCP 通信端点の受信ウィンドバッファの省コピー機能が
     647 *  無効の場合は何もしないためのダミーの関数
     648 */
     649
     650/*
     651 *  tcp_free_rwbufq -- 受信ウィンドバッファキューを解放する。
    693652 */
    694653
     
    703662
    704663/*
    705  *  TCP 通信端点の送信ウィンドバッファの省コピー機能のみが
    706  *  有効の場合は何もしないためのダミーの関数
    707  */
    708 
    709 /*
    710  *  tcp_read_swbuf_cs -- 送信ウィンドバッファからデータを読み出す。
     664 *  TCP 通信端点の送信ウィンドバッファの省コピー機能のみが
     665 *  有効の場合は何もしないためのダミーの関数
     666 */
     667
     668/*
     669 *  tcp_read_swbuf_cs -- 送信ウィンドバッファからデータを読み出す。
    711670 */
    712671
     
    721680
    722681/*
    723  *  TCP 通信端点の送信ウィンドバッファの省コピー機能が
    724  *  無効の場合は何もしないためのダミーの関数
    725  */
    726 
    727 /*
    728  *  tcp_free_swbufq -- 送信ウィンドバッファキューを解放する。
     682 *  TCP 通信端点の送信ウィンドバッファの省コピー機能が
     683 *  無効の場合は何もしないためのダミーの関数
     684 */
     685
     686/*
     687 *  tcp_free_swbufq -- 送信ウィンドバッファキューを解放する。
    729688 */
    730689
     
    735694
    736695/*
    737  *  tcp_alloc_swbuf -- 送信ウィンドバッファ用のネットワークバッファの割り当てを指示する。
     696 *  tcp_alloc_swbuf -- 送信ウィンドバッファ用のネットワークバッファの割り当てを指示する。
    738697 */
    739698
     
    744703
    745704/*
    746  *  tcp_push_res_nbuf -- ネットワークバッファを予約する。
     705 *  tcp_push_res_nbuf -- ネットワークバッファを予約する。
    747706 */
    748707
     
    754713
    755714/*
    756  *  tcp_pull_res_nbuf -- 予約してあるネットワークバッファ返す。
     715 *  tcp_pull_res_nbuf -- 予約してあるネットワークバッファ返す。
    757716 */
    758717
     
    766725
    767726/*
    768  *  TCP 通信端点の受信ウィンドバッファの省コピー機能の切り替えマクロ
     727 *  TCP 通信端点の受信ウィンドバッファの省コピー機能の切り替えマクロ
    769728 */
    770729
     
    800759
    801760/*
    802  *  TCP 通信端点の送信ウィンドバッファの省コピー機能の切り替えマクロ
     761 *  TCP 通信端点の送信ウィンドバッファの省コピー機能の切り替えマクロ
    803762 */
    804763
     
    851810
    852811/*
    853  *  関数
     812 *  関数
    854813 */
    855814
     
    886845
    887846/*
    888  *  TCP 通信端点の受信ウィンドバッファ用関数
    889  */
    890 
    891 /*
    892  *  TCP 通信端点の受信ウィンドバッファの省コピー機能が有効の場合、
    893  *  関数の選択に使用する。
     847 *  TCP 通信端点の受信ウィンドバッファ用関数
     848 */
     849
     850/*
     851 *  TCP 通信端点の受信ウィンドバッファの省コピー機能が有効の場合、
     852 *  関数の選択に使用する。
    894853 */
    895854
     
    901860
    902861/*
    903  *  TCP 通信端点の受信ウィンドバッファの省コピー機能用関数
     862 *  TCP 通信端点の受信ウィンドバッファの省コピー機能用関数
    904863 */
    905864
     
    911870
    912871/*
    913  *  TCP 通信端点の受信ウィンドバッファの【非】省コピー機能用関数
     872 *  TCP 通信端点の受信ウィンドバッファの【非】省コピー機能用関数
    914873 */
    915874
     
    921880
    922881/*
    923  *  TCP 通信端点の送信ウィンドバッファ用関数
    924  */
    925 
    926 /*
    927  *  TCP 通信端点の送信ウィンドバッファの省コピー機能が有効の場合、
    928  *  関数の選択に使用する。
     882 *  TCP 通信端点の送信ウィンドバッファ用関数
     883 */
     884
     885/*
     886 *  TCP 通信端点の送信ウィンドバッファの省コピー機能が有効の場合、
     887 *  関数の選択に使用する。
    929888 */
    930889
     
    943902
    944903/*
    945  *  TCP 通信端点の送信ウィンドバッファの省コピー機能用関数
     904 *  TCP 通信端点の送信ウィンドバッファの省コピー機能用関数
    946905 */
    947906
     
    957916
    958917/*
    959  *  TCP 通信端点の送信ウィンドバッファの【非】省コピー機能用関数
     918 *  TCP 通信端点の送信ウィンドバッファの【非】省コピー機能用関数
    960919 */
    961920
     
    973932
    974933/*
    975  *  TCP ヘッダのトレース出力機能用関数
     934 *  TCP ヘッダのトレース出力機能用関数
    976935 */
    977936extern void tcp_output_trace (T_NET_BUF *output, T_TCP_CEP *cep);
    978937extern void tcp_input_trace  (T_NET_BUF *input,  T_TCP_CEP *cep);
    979938
    980 /* TCP 出力タスク */
     939/* TCP 出力タスク */
    981940
    982941extern void     tcp_output_task(intptr_t exinf);
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/tcpn_usrreq.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    8573
    8674/*
    87  *  tcp_cre_rep -- TCP 受付口の生成【拡張機能】
     75 *  tcp_cre_rep -- TCP 受付口の生成【拡張機能】
    8876 */
    8977
     
    9684        ER              error;
    9785
    98         /* TCP 受付口 ID をチェックする。*/
     86        /* TCP 受付口 ID をチェックする。*/
    9987        if (!VALID_TCP_REPID(repid))
    10088                return E_ID;
    10189
    102         /* pk_crep が NULL ならエラー */
     90        /* pk_crep が NULL ならエラー */
    10391        if (pk_crep == NULL)
    10492                return E_PAR;
     
    10795
    10896        /*
    109          * API が IPv6 で IPv4 射影アドレスが認められていないのにもかかわらず、
    110          * IPv4 射影アドレスが指定されたらエラー
     97         * API が IPv6 で IPv4 射影アドレスが認められていないのにもかかわらず、
     98         * IPv4 射影アドレスが指定されたらエラー
    11199         */
    112100        if (in6_is_addr_ipv4mapped(&pk_crep->myaddr.ipaddr))
     
    115103#endif  /* of #if (API_PROTO == API_PROTO_IPV6) && !defined(DAPI_CFG_IP4MAPPED_ADDR) */
    116104
    117         /* TCP 受付口を得る。*/
     105        /* TCP 受付口を得る。*/
    118106        rep = GET_TCP_REP(repid);
    119107
    120         /* TCP 受付口が、動的生成用でなければエラー */
     108        /* TCP 受付口が、動的生成用でなければエラー */
    121109        if (!DYNAMIC_TCP_REP(rep))
    122110                return E_ID;
    123111
    124         /* 受付口をロックする。*/
     112        /* 受付口をロックする。*/
    125113        syscall(wai_sem(rep->semid_lock));
    126114
    127115        /*
    128          * TCP 受付口をチェックする。生成済みであればエラー
     116         * TCP 受付口をチェックする。生成済みであればエラー
    129117         */
    130118        if (VALID_TCP_REP(rep))
     
    132120        else {
    133121
    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 受付口を生成済みにする。*/
    141128                rep->flags |= TCP_REP_FLG_VALID;
    142129                error = E_OK;
    143130                }
    144131
    145         /* 受付口のロックを解除する。*/
     132        /* 受付口のロックを解除する。*/
    146133        syscall(sig_sem(rep->semid_lock));
    147134
     
    154141
    155142/*
    156  *  tcp_find_cep_rep -- TCP 受付口をリンクしている TCP 通信端点を得る。
     143 *  tcp_find_cep_rep -- TCP 受付口をリンクしている TCP 通信端点を得る。
    157144 */
    158145
     
    176163
    177164/*
    178  *  tcp_del_rep_body -- TCP 受付口の削除【拡張機能】の本体
     165 *  tcp_del_rep_body -- TCP 受付口の削除【拡張機能】の本体
    179166 */
    180167
     
    186173        ER              error = E_OK;
    187174
    188         /* TCP 受付口 ID のチェックは終了している。*/
    189 
    190         /* TCP 受付口を得る。*/
     175        /* TCP 受付口 ID のチェックは終了している。*/
     176
     177        /* TCP 受付口を得る。*/
    191178        rep = GET_TCP_REP(repid);
    192179
    193         /* TCP 受付口が、動的生成用でなければエラー */
     180        /* TCP 受付口が、動的生成用でなければエラー */
    194181        if (!DYNAMIC_TCP_REP(rep))
    195182                return E_ID;
    196183
    197         /* 受付口をロックする。*/
     184        /* 受付口をロックする。*/
    198185        syscall(wai_sem(rep->semid_lock));
    199186
    200         /* TCP 受付口をチェックする。未生成の場合はエラー */
     187        /* TCP 受付口をチェックする。未生成の場合はエラー */
    201188        if (!VALID_TCP_REP(rep))
    202189                error = E_NOEXS;
     
    204191                if ((cep = TCP_FIND_CEP_REP(rep)) != NULL) {
    205192                        /*
    206                          * すでに受動オープンしているとき
    207                          *(tcp_acp_cep が呼ばれているとき)は、
    208                          * tcp_acp_cep を終了させる。
     193                         * すでに受動オープンしているとき
     194                         *(tcp_acp_cep が呼ばれているとき)は、
     195                         * tcp_acp_cep を終了させる。
    209196                         */
    210197
    211                         /* 通信端点をロックする。*/
     198                        /* 通信端点をロックする。*/
    212199                        syscall(wai_sem(cep->semid_lock));
    213200
    214201                        /*
    215                          *  通信端点から受付口を解放し、
    216                          *  イベントフラグをクローズに設定する。
     202                         *  通信端点から受付口を解放し、
     203                         *  イベントフラグをクローズに設定する。
    217204                         */
    218205                        cep->rep = NULL;
     
    254241                        cep->rcv_tfn   = TFN_TCP_UNDEF;
    255242
    256                         /* 通信端点のロックを解除する。*/
     243                        /* 通信端点のロックを解除する。*/
    257244                        syscall(sig_sem(cep->semid_lock));
    258245
     
    261248                        error = E_OK;
    262249
    263                 /* TCP 受付口を未生成にする。*/
     250                /* TCP 受付口を未生成にする。*/
    264251                rep->flags &= ~TCP_REP_FLG_VALID;
    265252                }
    266253
    267         /* 受付口のロックを解除する。*/
     254        /* 受付口のロックを解除する。*/
    268255        syscall(sig_sem(rep->semid_lock));
    269256
     
    280267
    281268/*
    282  *  tcp_acp_cep -- 接続要求å¾
    283 ã¡ (受動オープン)【標準機能】
     269 *  tcp_acp_cep -- 接続要求待ち (受動オープン)【標準機能】
    284270 */
    285271
     
    297283
    298284        /*
    299          * API (tcp6_acp_cep と tcp_acp_cep) と、
    300          * TCP通信端点のプロトコルが矛盾していればエラー
     285         * API (tcp6_acp_cep と tcp_acp_cep) と、
     286         * TCP通信端点のプロトコルが矛盾していればエラー
    301287         */
    302288
     
    317303#endif  /* of #if defined(SUPPORT_INET6) && defined(SUPPORT_INET4) */
    318304
    319         /* TCP 受付口をチェックする。*/
     305        /* TCP 受付口をチェックする。*/
    320306        if (!VALID_TCP_REPID(repid))
    321307                return E_ID;
     
    323309#ifdef TCP_CFG_NON_BLOCKING
    324310
    325         /* p_dstaddr が NULL ならエラー */
     311        /* p_dstaddr が NULL ならエラー */
    326312        if (p_dstaddr == NULL)
    327313                return E_PAR;
     
    329315#else   /* of #ifdef TCP_CFG_NON_BLOCKING */
    330316
    331         /* p_dstaddr が NULL か、tmout が TMO_NBLK ならエラー */
     317        /* p_dstaddr が NULL か、tmout が TMO_NBLK ならエラー */
    332318        if (p_dstaddr == NULL || tmout == TMO_NBLK)
    333319                return E_PAR;
     
    338324
    339325        /*
    340          * API が IPv6 で IPv4 射影アドレスが認められていないのにもかかわらず、
    341          * IPv4 射影アドレスが指定されたらエラー
     326         * API が IPv6 で IPv4 射影アドレスが認められていないのにもかかわらず、
     327         * IPv4 射影アドレスが指定されたらエラー
    342328         */
    343329        if (in6_is_addr_ipv4mapped(&p_dstaddr->ipaddr))
     
    347333
    348334        /*
    349          *  CEP をロックし、API 機能コードとタスク識別子を記録する。
    350          *  すでに記録されていれば、ペンディング中なのでエラー
     335         *  CEP をロックし、API 機能コードとタスク識別子を記録する。
     336         *  すでに記録されていれば、ペンディング中なのでエラー
    351337         */
    352338        if ((error = tcp_lock_cep(cepid, &cep, TFN_TCP_ACP_CEP)) != E_OK)
    353339                return error;
    354340
    355         /* CEP の FSM がクローズ状æ
    356 ‹ã§ãªã‘ればエラー。*/
     341        /* CEP の FSM がクローズ状態でなければエラー。*/
    357342        if (cep->fsm_state != TCP_FSM_CLOSED) {
    358343                error = E_OBJ;
     
    361346        syscall(clr_flg(cep->est_flgid, (FLGPTN)(~TCP_CEP_EVT_CLOSED)));
    362347
    363         /* TCP 通信端点を初期化する。*/
     348        /* TCP 通信端点を初期化する。*/
    364349        tcp_init_cep(cep);
    365350
    366         /* TCP 受付口を得る。*/
     351        /* TCP 受付口を得る。*/
    367352
    368353        rep = GET_TCP_REP(repid);
     
    370355#ifdef TCP_CFG_EXTENTIONS
    371356
    372         /* TCP 受付口をロックする。*/
     357        /* TCP 受付口をロックする。*/
    373358        syscall(wai_sem(rep->semid_lock));
    374359
    375         /* TCP 受付口をチェックする。*/
     360        /* TCP 受付口をチェックする。*/
    376361        if (!VALID_TCP_REP(rep)) {
    377362                syscall(sig_sem(rep->semid_lock));
     
    382367#endif  /* of #ifdef TCP_CFG_EXTENTIONS */
    383368
    384         /* TCP 通信端点にTCP受付口を記録する。*/
     369        /* TCP 通信端点にTCP受付口を記録する。*/
    385370
    386371#if defined(SUPPORT_INET6) && defined(SUPPORT_INET4)
     
    404389#ifdef TCP_CFG_EXTENTIONS
    405390
    406         /* TCP 受付口のロックを解除する。*/
     391        /* TCP 受付口のロックを解除する。*/
    407392        syscall(sig_sem(rep->semid_lock));
    408393
    409394#endif  /* of #ifdef TCP_CFG_EXTENTIONS */
    410395
    411         /* TCP 受付口のアドレスをコピーする。*/
     396        /* TCP 受付口のアドレスをコピーする。*/
    412397
    413398#if defined(SUPPORT_INET6) && defined(SUPPORT_INET4) && (API_PROTO == API_PROTO_IPV4)
     
    428413#if API_PROTO == API_PROTO_IPV4
    429414
    430         /* TCP 通信端点のネットワーク層プロトコルを設定する。*/
     415        /* TCP 通信端点のネットワーク層プロトコルを設定する。*/
    431416        cep->flags |= TCP_CEP_FLG_IPV4;
    432417
    433418#endif  /* of #if API_PROTO == API_PROTO_IPV4 */
    434419
    435         /* 通信端点を設定する。*/
     420        /* 通信端点を設定する。*/
    436421        cep->fsm_state = TCP_FSM_LISTEN;
    437422
    438423#ifdef TCP_CFG_NON_BLOCKING
    439424
    440         /* タイムアウトをチェックする。*/
     425        /* タイムアウトをチェックする。*/
    441426        if (tmout == TMO_NBLK) {
    442                 /* ノンブロッキングコール */
     427                /* ノンブロッキングコール */
    443428
    444429#if defined(SUPPORT_INET6) && defined(SUPPORT_INET4)
     
    470455
    471456                /*
    472                  *  FSM が ESTABLISHED になるまでå¾
    473 ã¤ã€‚
    474                  *  FSM が CLOSED になった場合は、エラーが発生したことを意味している。
     457                 *  FSM が ESTABLISHED になるまで待つ。
     458                 *  FSM が CLOSED になった場合は、エラーが発生したことを意味している。
    475459                 */
    476460                error = twai_flg(cep->est_flgid, (TCP_CEP_EVT_CLOSED |
     
    486470
    487471                if (error == E_OK) {
    488                         /* 相手のアドレスをコピーする。*/
     472                        /* 相手のアドレスをコピーする。*/
    489473#if defined(SUPPORT_INET6) && defined(SUPPORT_INET4) && (API_PROTO == API_PROTO_IPV4)
    490474                        p_dstaddr->ipaddr = ntohl(cep->dstaddr.ipaddr.s6_addr32[3]);
     
    496480                else {
    497481                        /*
    498                          *  通信端点から受付口を解放し、
    499                          *  イベントフラグをクローズに設定する。
     482                         *  通信端点から受付口を解放し、
     483                         *  イベントフラグをクローズに設定する。
    500484                         */
    501485                        cep->rep = NULL;
     
    526510
    527511/*
    528  *  tcp_con_cep -- 接続要求 (能動オープン)【標準機能】
     512 *  tcp_con_cep -- 接続要求 (能動オープン)【標準機能】
    529513 */
    530514
     
    541525
    542526        /*
    543          * API (tcp6_acp_cep と tcp_acp_cep) と、
    544          * TCP通信端点のプロトコルが矛盾していればエラー
     527         * API (tcp6_acp_cep と tcp_acp_cep) と、
     528         * TCP通信端点のプロトコルが矛盾していればエラー
    545529         */
    546530
     
    562546
    563547        /*
    564          *  あてå
    565 ˆãŒãƒžãƒ«ãƒã‚­ãƒ£ã‚¹ãƒˆã‚¢ãƒ‰ãƒ¬ã‚¹ãªã‚‰ã‚¨ãƒ©ãƒ¼
     548         *  あて先がマルチキャストアドレスならエラー
    566549         */
    567550
     
    581564
    582565        /*
    583          * API が IPv6 で IPv4 射影アドレスが認められていないのにもかかわらず、
    584          * IPv4 射影アドレスが指定されたらエラー
     566         * API が IPv6 で IPv4 射影アドレスが認められていないのにもかかわらず、
     567         * IPv4 射影アドレスが指定されたらエラー
    585568         */
    586569        if (in6_is_addr_ipv4mapped(&p_dstaddr->ipaddr))
     
    592575
    593576        /*
    594          *  p_dstaddr または p_myaddr が NULL ならエラー
     577         *  p_dstaddr または p_myaddr が NULL ならエラー
    595578         */
    596579        if (p_myaddr == NULL || p_dstaddr == NULL)
     
    600583
    601584        /*
    602          *  p_dstaddr または p_myaddr が NULL 、
    603          *  tmout が TMO_NBLK ならエラー
     585         *  p_dstaddr または p_myaddr が NULL 、
     586         *  tmout が TMO_NBLK ならエラー
    604587         */
    605588        if (p_myaddr == NULL || p_dstaddr == NULL || tmout == TMO_NBLK)
     
    609592
    610593        /*
    611          *  CEP をロックし、API 機能コードとタスク識別子を記録する。
    612          *  すでに記録されていれば、ペンディング中なのでエラー
     594         *  CEP をロックし、API 機能コードとタスク識別子を記録する。
     595         *  すでに記録されていれば、ペンディング中なのでエラー
    613596         */
    614597        if ((error = tcp_lock_cep(cepid, &cep, TFN_TCP_CON_CEP)) != E_OK)
    615598                return error;
    616599
    617         /* CEP の FSM がクローズ状æ
    618 ‹ã§ãªã‘ればエラー。*/
     600        /* CEP の FSM がクローズ状態でなければエラー。*/
    619601        if (cep->fsm_state != TCP_FSM_CLOSED) {
    620602                error = E_OBJ;
     
    623605        syscall(clr_flg(cep->est_flgid, (FLGPTN)(~TCP_CEP_EVT_CLOSED)));
    624606
    625         /* シーケンス番号を初期化する。*/
     607        /* シーケンス番号を初期化する。*/
    626608        if (tcp_iss == 0)
    627609                tcp_init_iss();
    628610
    629         /* 通信端点を初期化する。*/
     611        /* 通信端点を初期化する。*/
    630612        tcp_init_cep(cep);
    631613
    632614        /*
    633          *  IP アドレスを設定する。
    634          *  p_myaddr が NADR (-1) ではなく、自 IP アドレスが ANY でなければ、
    635          *  指定された IP アドレスを割り当てる。
     615         *  IP アドレスを設定する。
     616         *  p_myaddr が NADR (-1) ではなく、自 IP アドレスが ANY でなければ、
     617         *  指定された IP アドレスを割り当てる。
    636618         */
    637619
     
    663645#if API_PROTO == API_PROTO_IPV4
    664646
    665         /* TCP 通信端点のネットワーク層プロトコルを設定する。*/
     647        /* TCP 通信端点のネットワーク層プロトコルを設定する。*/
    666648        cep->flags |= TCP_CEP_FLG_IPV4;
    667649
    668650#endif  /* of #if API_PROTO == API_PROTO_IPV4 */
    669651
    670         /* 通信端点を設定する。*/
     652        /* 通信端点を設定する。*/
    671653        //NET_DEBUG_TCP5("tcp_con_cep3[c=%d,d=%lI.%d,s=%lI.%d]\n",
    672654        cep->fsm_state = TCP_FSM_SYN_SENT;
     
    678660#ifdef TCP_CFG_NON_BLOCKING
    679661
    680         /* タイムアウトをチェックする。*/
     662        /* タイムアウトをチェックする。*/
    681663        if (tmout == TMO_NBLK) {
    682                 /* ノンブロッキングコール */
     664                /* ノンブロッキングコール */
    683665
    684666#if defined(SUPPORT_INET6) && defined(SUPPORT_INET4)
     
    709691                cep->snd_nblk_tfn = TFN_TCP_CON_CEP;
    710692
    711                 /* コネクションの開設をポストする。*/
     693                /* コネクションの開設をポストする。*/
    712694                cep->flags |= TCP_CEP_FLG_POST_OUTPUT;
    713695                sig_sem(SEM_TCP_POST_OUTPUT);
     
    719701
    720702                /*
    721                  *  p_myaddr が NADR (-1) か、
    722                  *  自ポート番号が TCP_PORTANY なら、自動で割り当てる。
     703                 *  p_myaddr が NADR (-1) か、
     704                 *  自ポート番号が TCP_PORTANY なら、自動で割り当てる。
    723705                 */
    724706                if (p_myaddr == NADR || p_myaddr->portno == TCP_PORTANY)
     
    727709                        goto err_ret;
    728710
    729                 /* コネクションの開設をポストする。*/
     711                /* コネクションの開設をポストする。*/
    730712                cep->flags |= TCP_CEP_FLG_POST_OUTPUT;
    731713                sig_sem(SEM_TCP_POST_OUTPUT);
    732714
    733715                /*
    734                  *  イベントが ESTABLISHED になるまでå¾
    735 ã¤ã€‚
    736                  *  イベントが CLOSED になった場合は、何らかのエラーが発生したか、
    737                  *  接続要求が拒否されたことを意味している。
     716                 *  イベントが ESTABLISHED になるまで待つ。
     717                 *  イベントが CLOSED になった場合は、何らかのエラーが発生したか、
     718                 *  接続要求が拒否されたことを意味している。
    738719                 */
    739720                error = twai_flg(cep->est_flgid, (TCP_CEP_EVT_CLOSED |
     
    750731                if (error != E_OK) {
    751732                        /*
    752                          *  通信端点から受付口を解放し、
    753                          *  イベントフラグをクローズに設定する。
     733                         *  通信端点から受付口を解放し、
     734                         *  イベントフラグをクローズに設定する。
    754735                         */
    755736                        cep->rep = NULL;
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/udp.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  UDP で使用するカーネルオブジェクト
     35 *  UDP で使用するカーネルオブジェクト
    4836 */
    4937
     
    5139
    5240/*
    53  *  ノンブロッキングコールを行う場合に組み込むタスクとセマフォ
     41 *  ノンブロッキングコールを行う場合に組み込むタスクとセマフォ
    5442 */
    5543
     
    6553        });
    6654
    67 /* セマフォ */
     55/* セマフォ */
    6856
    6957CRE_SEM(SEM_UDP_POST_OUTPUT,    { TA_TPRI, 0, 1 });
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/udp.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    8472
    8573/*
    86  *  UDP ヘッダ、RFC768 参ç
    87 §
     74 *  UDP ヘッダ、RFC768 参照
    8875 */
    8976
    9077typedef struct t_udp_hdr {
    91         uint16_t        sport;          /* 送信å
    92 ƒãƒãƒ¼ãƒˆç•ªå·        */
    93         uint16_t        dport;          /* 宛å
    94 ˆãƒãƒ¼ãƒˆç•ªå·        */
     78        uint16_t        sport;          /* 送信元ポート番号     */
     79        uint16_t        dport;          /* 宛先ポート番号      */
    9580
    96         uint16_t        ulen;           /* データグラム長        */
    97         uint16_t        sum;            /* チェックサム           */
     81        uint16_t        ulen;           /* データグラム長      */
     82        uint16_t        sum;            /* チェックサム               */
    9883        } __attribute__((packed, aligned(2)))T_UDP_HDR;
    9984
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/udp4_input.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    7866
    7967/*
    80  *  udp_reply_no_port -- 送信å
    81 ƒã«ãƒãƒ¼ãƒˆãŒå®šç¾©ã•ã‚Œã¦ã„ないことを通知する。
     68 *  udp_reply_no_port -- 送信元にポートが定義されていないことを通知する。
    8269 */
    8370
     
    9178        NET_COUNT_MIB(udp_stats.udpNoPorts, 1);
    9279
    93         /* ローカル IP アドレスに届いたデータグラムのみ ICMP エラーを通知する。*/
     80        /* ローカル IP アドレスに届いたデータグラムのみ ICMP エラーを通知する。*/
    9481        if (ntohl(GET_IP4_HDR(input)->dst) == IF_GET_IFNET()->in4_ifaddr.addr) {
    9582                syslog(LOG_INFO, "[UDP] unexp port: %d.", ntohs(udph->dport));
    9683
    9784                icmp_error(ICMP4_UNREACH_PORT, input);
    98                 /* icmp_error では、ネットワークバッファ input を返却しないので下へ抜ける。*/
     85                /* icmp_error では、ネットワークバッファ input を返却しないので下へ抜ける。*/
    9986       
    10087                }
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/udp4_subr.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    8674#ifdef ETHER_CFG_MULTICAST
    8775/*
    88  *  udp4_is_dstaddr_accept -- UDP のあてå
    89 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ãŒæ­£ã—いかチェックする。
     76 *  udp4_is_dstaddr_accept -- UDP のあて先アドレスが正しいかチェックする。
    9077 *
    91  *    DHCP_CFG が定義されているときは、以下のデータグラムを受信する。
     78 *    DHCP_CFG が定義されているときは、以下のデータグラムを受信する。
    9279 *
    93  *      ・あてå
    94 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ãŒãƒ–ロードキャスト
    95  *      ・ローカルアドレスが未定義
     80 *      ・あて先アドレスがブロードキャスト
     81 *      ・ローカルアドレスが未定義
    9682 */
    9783
     
    116102#else
    117103/*
    118  *  udp4_is_dstaddr_accept -- UDP のあてå
    119 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ãŒæ­£ã—いかチェックする。
     104 *  udp4_is_dstaddr_accept -- UDP のあて先アドレスが正しいかチェックする。
    120105 *
    121  *    DHCP_CFG が定義されているときは、以下のデータグラムを受信する。
     106 *    DHCP_CFG が定義されているときは、以下のデータグラムを受信する。
    122107 *
    123  *      ・あてå
    124 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ãŒãƒ–ロードキャスト
    125  *      ・ローカルアドレスが未定義
     108 *      ・あて先アドレスがブロードキャスト
     109 *      ・ローカルアドレスが未定義
    126110 */
    127111
     
    146130
    147131/*
    148  *  udp_dstaddr_accept -- UDP のあてå
    149 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ãŒæ­£ã—いかチェックする。
     132 *  udp_dstaddr_accept -- UDP のあて先アドレスが正しいかチェックする。
    150133 *
    151  *    以下の場合もデータグラムを受信する。
     134 *    以下の場合もデータグラムを受信する。
    152135 *
    153  *      ・あてå
    154 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ãŒãƒ–ロードキャスト
     136 *      ・あて先アドレスがブロードキャスト
    155137 */
    156138
     
    176158
    177159/*
    178  *  udp4_is_dstaddr_accept -- UDP のあてå
    179 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ãŒæ­£ã—いかチェックする。
     160 *  udp4_is_dstaddr_accept -- UDP のあて先アドレスが正しいかチェックする。
    180161 *
    181  *    以下の場合もデータグラムを受信する。
     162 *    以下の場合もデータグラムを受信する。
    182163 *
    183  *      ・あてå
    184 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ãŒãƒ–ロードキャスト
     164 *      ・あて先アドレスがブロードキャスト
    185165 */
    186166
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/udp_input.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    125113
    126114/*
    127  *  SNMP の 管理æƒ
    128 å ±ãƒ™ãƒ¼ã‚¹ (MIB)
     115 *  SNMP の 管理情報ベース (MIB)
    129116 */
    130117
     
    134121
    135122/*
    136  *  IPv6 と IPv4 で引数が異なる関数のコンパイル
     123 *  IPv6 と IPv4 で引数が異なる関数のコンパイル
    137124 */
    138125
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/udp_output.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    124112
    125113/*
    126  *  IPv6 と IPv4 で引数が異なる関数のコンパイル
     114 *  IPv6 と IPv4 で引数が異なる関数のコンパイル
    127115 */
    128116
     
    166154
    167155/*
    168  *  UDP 出力タスク
    169  *  ノンブロッキングコールを組み込んだとき使用する。
     156 *  UDP 出力タスク
     157 *  ノンブロッキングコールを組み込んだとき使用する。
    170158 */
    171159
     
    182170#if defined(_IP6_CFG) && !defined(SUPPORT_TCP)
    183171
    184         /* IPv6 のステートレス・アドレス自動設定を実行する。*/
     172        /* IPv6 のステートレス・アドレス自動設定を実行する。*/
    185173        in6_if_up(IF_GET_IFNET());
    186174
     
    189177        while (true) {
    190178
    191                 /* 出力がポストされるまでå¾
    192 ã¤ã€‚*/
     179                /* 出力がポストされるまで待つ。*/
    193180                syscall(wai_sem(SEM_UDP_POST_OUTPUT));
    194181
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/udp_subr.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    126114
    127115/*
    128  *  局所変数
     116 *  局所変数
    129117 */
    130118
    131119#if (defined(_IP6_CFG) && TNUM_UDP6_CEPID > 0) || (defined(_IP4_CFG) && TNUM_UDP4_CEPID > 0)
    132120
    133 static uint16_t udp_port_auto = UDP_PORT_FIRST_AUTO;    /* 自動割り当て番号     */
     121static uint16_t udp_port_auto = UDP_PORT_FIRST_AUTO;    /* 自動割り当て番号     */
    134122
    135123#endif  /* of #if (defined(_IP6_CFG) && TNUM_UDP6_CEPID > 0) || (defined(_IP4_CFG) && TNUM_UDP4_CEPID > 0) */
    136124
    137125/*
    138  *  IPv6 と IPv4 で引数が異なる関数のコンパイル
     126 *  IPv6 と IPv4 で引数が異なる関数のコンパイル
    139127 */
    140128
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/udp_usrreq.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    8169
    8270/*
    83  *  ノンブロッキングコールを組込まない場合にリンクされる関数の定義
     71 *  ノンブロッキングコールを組込まない場合にリンクされる関数の定義
    8472 */
    8573
     
    128116
    129117/*
    130  *  TINET をライブラリ化しない場合は、å
    131 ¨ã¦ã®æ©Ÿèƒ½ã‚’
    132  *  オブジェクトファイルに出力するため、マクロを有効にする。
     118 *  TINET をライブラリ化しない場合は、全ての機能を
     119 *  オブジェクトファイルに出力するため、マクロを有効にする。
    133120 */
    134121
     
    149136
    150137/*
    151  *  IPv6 と IPv4 で引数が異なる関数のコンパイル
     138 *  IPv6 と IPv4 で引数が異なる関数のコンパイル
    152139 */
    153140
     
    252239
    253240/*
    254  *  udp_can_cep -- ペンディングしている処理のキャンセル【標準機能】
     241 *  udp_can_cep -- ペンディングしている処理のキャンセル【標準機能】
    255242 */
    256243
     
    260247udp_can_cep (ID cepid, FN fncd)
    261248{
    262         /* IPv6 用の UDP 通信端点 ID をチェックする。*/
     249        /* IPv6 用の UDP 通信端点 ID をチェックする。*/
    263250        if (VALID_UDP6_CEPID(cepid)) {
    264251
    265                 /* UDP 通信端点を得てメイン関数を呼び出す。*/
     252                /* UDP 通信端点を得てメイン関数を呼び出す。*/
    266253                return udp6_cancel_cep(GET_UDP6_CEP(cepid), fncd);
    267254                }
    268255
    269         /* IPv4 用の UDP 通信端点 ID をチェックする。*/
     256        /* IPv4 用の UDP 通信端点 ID をチェックする。*/
    270257        else if (VALID_UDP4_CEPID(cepid)) {
    271258
    272                 /* UDP 通信端点を得てメイン関数を呼び出す。*/
     259                /* UDP 通信端点を得てメイン関数を呼び出す。*/
    273260                return udp4_cancel_cep(GET_UDP4_CEP(cepid), fncd);
    274261                }
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/udp_usrreq_nblk.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    125113
    126114/*
    127  *  TINET をライブラリ化しない場合は、å
    128 ¨ã¦ã®æ©Ÿèƒ½ã‚’
    129  *  オブジェクトファイルに出力するため、マクロを有効にする。
     115 *  TINET をライブラリ化しない場合は、全ての機能を
     116 *  オブジェクトファイルに出力するため、マクロを有効にする。
    130117 */
    131118
     
    142129
    143130/*
    144  *  IPv6 と IPv4 で引数が異なる関数のコンパイル
     131 *  IPv6 と IPv4 で引数が異なる関数のコンパイル
    145132 */
    146133
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/udp_var.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    8472
    8573/*
    86  *  UDP ヘッダ・ペイロードアクセスマクロ
     74 *  UDP ヘッダ・ペイロードアクセスマクロ
    8775 */
    8876
     
    9583
    9684/*
    97  *  TINET 1.1 との互換性のための定義
     85 *  TINET 1.1 との互換性のための定義
    9886 */
    9987
     
    10896
    10997/*
    110  *  コールバック関数の定義
     98 *  コールバック関数の定義
    11199 */
    112100
     
    124112
    125113/*
    126  *  UDP 通信端点
    127  */
    128 
    129 /* IPv6 用 UDP 通信端点 */
     114 *  UDP 通信端点
     115 */
     116
     117/* IPv6 用 UDP 通信端点 */
    130118
    131119typedef struct t_udp6_cep {
    132120
    133121        /*
    134          * ITRON TCP/IP API、TCP 通信端点と同じメンバ
     122         * ITRON TCP/IP API、TCP 通信端点と同じメンバ
    135123         */
    136         ATR             cepatr;         /* UDP 通信端点属性               */
    137         T_IPV6EP        myaddr;         /* 自分のアドレス                */
    138         t_udp_callback  callback;       /* コールバック関数             */
     124        ATR             cepatr;         /* UDP 通信端点属性           */
     125        T_IPV6EP        myaddr;         /* 自分のアドレス              */
     126        t_udp_callback  callback;       /* コールバック関数             */
    139127
    140128        /*
    141          * TINET 独自のメンバ
     129         * TINET 独自のメンバ
    142130         */
    143         uint16_t        flags;          /* 通信端点フラグ                */
    144         ID              semid_lock;     /* 通信端点ロック                */
    145         ID              snd_tskid;      /* 送信タスク識別子             */
    146         ID              rcv_tskid;      /* 受信タスク識別子             */
    147         ID              rcvqid;         /* 非コールバック用受信キュー識別子*/
    148         T_NET_BUF       *cb_netbuf;     /* コールバック用受信ネットワークバッファ*/
     131        uint16_t        flags;          /* 通信端点フラグ              */
     132        ID              semid_lock;     /* 通信端点ロック              */
     133        ID              snd_tskid;      /* 送信タスク識別子             */
     134        ID              rcv_tskid;      /* 受信タスク識別子             */
     135        ID              rcvqid;         /* 非コールバック用受信キュー識別子*/
     136        T_NET_BUF       *cb_netbuf;     /* コールバック用受信ネットワークバッファ*/
    149137
    150138#ifdef UDP_CFG_NON_BLOCKING
    151139
    152         T_IPV6EP        *snd_p_dstaddr; /* 送信相手のアドレスへのポインタ*/
    153         T_IPV6EP        *rcv_p_dstaddr; /* 受信相手のアドレスへのポインタ*/
    154         void            *snd_data;      /* 送信データ領域のå
    155 ˆé ­ã‚¢ãƒ‰ãƒ¬ã‚¹        */
    156         int_t           snd_len;        /* 送信データ領域の長さ               */
    157         void            *rcv_data;      /* 受信データ領域のå
    158 ˆé ­ã‚¢ãƒ‰ãƒ¬ã‚¹        */
    159         int_t           rcv_len;        /* 受信データ領域の長さ               */
     140        T_IPV6EP        *snd_p_dstaddr; /* 送信相手のアドレスへのポインタ*/
     141        T_IPV6EP        *rcv_p_dstaddr; /* 受信相手のアドレスへのポインタ*/
     142        void            *snd_data;      /* 送信データ領域の先頭アドレス       */
     143        int_t           snd_len;        /* 送信データ領域の長さ           */
     144        void            *rcv_data;      /* 受信データ領域の先頭アドレス       */
     145        int_t           rcv_len;        /* 受信データ領域の長さ           */
    160146
    161147#endif  /* of #ifdef UDP_CFG_NON_BLOCKING */
    162148
    163149#ifdef UDP_CFG_EXTENTIONS
    164         ER              error;          /* å¾
    165 ã¡ä¸­ã«ç™ºç”Ÿã—たエラー  */
     150        ER              error;          /* 待ち中に発生したエラー  */
    166151#endif
    167152
     
    174159        } T_UDP6_CEP;
    175160
    176 /* IPv4 用 UDP 通信端点 */
     161/* IPv4 用 UDP 通信端点 */
    177162
    178163typedef struct t_udp4_cep {
    179164
    180165        /*
    181          * ITRON TCP/IP API、TCP 通信端点と同じメンバ
     166         * ITRON TCP/IP API、TCP 通信端点と同じメンバ
    182167         */
    183         ATR             cepatr;         /* UDP 通信端点属性               */
    184         T_IPV4EP        myaddr;         /* 自分のアドレス                */
    185         t_udp_callback  callback;       /* コールバック関数             */
     168        ATR             cepatr;         /* UDP 通信端点属性           */
     169        T_IPV4EP        myaddr;         /* 自分のアドレス              */
     170        t_udp_callback  callback;       /* コールバック関数             */
    186171
    187172        /*
    188          * TINET 独自のメンバ
     173         * TINET 独自のメンバ
    189174         */
    190         uint16_t        flags;          /* 通信端点フラグ                */
    191         ID              semid_lock;     /* 通信端点ロック                */
    192         ID              snd_tskid;      /* 送信タスク識別子             */
    193         ID              rcv_tskid;      /* 受信タスク識別子             */
    194         ID              rcvqid;         /* 非コールバック用受信キュー識別子*/
    195         T_NET_BUF       *cb_netbuf;     /* コールバック用受信ネットワークバッファ*/
     175        uint16_t        flags;          /* 通信端点フラグ              */
     176        ID              semid_lock;     /* 通信端点ロック              */
     177        ID              snd_tskid;      /* 送信タスク識別子             */
     178        ID              rcv_tskid;      /* 受信タスク識別子             */
     179        ID              rcvqid;         /* 非コールバック用受信キュー識別子*/
     180        T_NET_BUF       *cb_netbuf;     /* コールバック用受信ネットワークバッファ*/
    196181
    197182#ifdef UDP_CFG_NON_BLOCKING
    198183
    199         T_IPV4EP        *snd_p_dstaddr; /* 送信相手のアドレスへのポインタ*/
    200         T_IPV4EP        *rcv_p_dstaddr; /* 受信相手のアドレスへのポインタ*/
    201         void            *snd_data;      /* 送信データ領域のå
    202 ˆé ­ã‚¢ãƒ‰ãƒ¬ã‚¹        */
    203         int_t           snd_len;        /* 送信データ領域の長さ               */
    204         void            *rcv_data;      /* 受信データ領域のå
    205 ˆé ­ã‚¢ãƒ‰ãƒ¬ã‚¹        */
    206         int_t           rcv_len;        /* 受信データ領域の長さ               */
     184        T_IPV4EP        *snd_p_dstaddr; /* 送信相手のアドレスへのポインタ*/
     185        T_IPV4EP        *rcv_p_dstaddr; /* 受信相手のアドレスへのポインタ*/
     186        void            *snd_data;      /* 送信データ領域の先頭アドレス       */
     187        int_t           snd_len;        /* 送信データ領域の長さ           */
     188        void            *rcv_data;      /* 受信データ領域の先頭アドレス       */
     189        int_t           rcv_len;        /* 受信データ領域の長さ           */
    207190
    208191#endif  /* of #ifdef UDP_CFG_NON_BLOCKING */
    209192
    210193#ifdef UDP_CFG_EXTENTIONS
    211         ER              error;          /* å¾
    212 ã¡ä¸­ã«ç™ºç”Ÿã—たエラー  */
     194        ER              error;          /* 待ち中に発生したエラー  */
    213195#endif
    214196
     
    236218
    237219/*
    238  *  UDP 通信端点フラグ
    239  */
    240 
    241 #define UDP_CEP_FLG_POST_OUTPUT UINT_C(0x0200)  /* 送信を開始する。             */
    242 #define UDP_CEP_FLG_DYNAMIC     UINT_C(0x0400)  /* 動的生成・削除可能通信端点。   */
    243 #define UDP_CEP_FLG_VALID       UINT_C(0x0800)  /* 生成済みで有効な通信端点。      */
    244 
    245 /*
    246  *  オブジェクト ID の最小値の定義
    247  */
    248 
    249 #define TMIN_UDP_CEPID          1                       /* UDP      通信端点 ID の最小値 */
    250 #define TMIN_UDP6_CEPID         1                       /* UDP/IPv6 通信端点 ID の最小値 */
    251 #define TMIN_UDP4_CEPID         (TNUM_UDP6_CEPID+1)     /* UDP/IPv4 通信端点 ID の最小値 */
    252 
    253 /*
    254  *  SNMP の 管理æƒ
    255 å ±ãƒ™ãƒ¼ã‚¹ (MIB)
     220 *  UDP 通信端点フラグ
     221 */
     222
     223#define UDP_CEP_FLG_POST_OUTPUT UINT_C(0x0200)  /* 送信を開始する。             */
     224#define UDP_CEP_FLG_DYNAMIC     UINT_C(0x0400)  /* 動的生成・削除可能通信端点。       */
     225#define UDP_CEP_FLG_VALID       UINT_C(0x0800)  /* 生成済みで有効な通信端点。        */
     226
     227/*
     228 *  オブジェクト ID の最小値の定義
     229 */
     230
     231#define TMIN_UDP_CEPID          1                       /* UDP      通信端点 ID の最小値 */
     232#define TMIN_UDP6_CEPID         1                       /* UDP/IPv6 通信端点 ID の最小値 */
     233#define TMIN_UDP4_CEPID         (TNUM_UDP6_CEPID+1)     /* UDP/IPv4 通信端点 ID の最小値 */
     234
     235/*
     236 *  SNMP の 管理情報ベース (MIB)
    256237 */
    257238
     
    264245
    265246/*
    266  *  関数シミュレーションマクロ
     247 *  関数シミュレーションマクロ
    267248 */
    268249
     
    286267
    287268/*
    288  *  å
    289 ¨åŸŸå¤‰æ•°
     269 *  全域変数
    290270 */
    291271
    292272extern T_UDP_STATS udp_stats;
    293273
    294 /* UDP 通信端点 */
     274/* UDP 通信端点 */
    295275
    296276extern T_UDP6_CEP udp6_cep[];
     
    314294
    315295/*
    316  *  TINET 1.3 との互換性のための定義
     296 *  TINET 1.3 との互換性のための定義
    317297 */
    318298
     
    321301
    322302/*
    323  *  関数
     303 *  関数
    324304 */
    325305
     
    350330extern void udp4_input_select (T_UDP4_CEP *cep, T_NET_BUF *input, uint_t off);
    351331
    352 /* ノンブロッキングコールを行う場合に組み込むタスク */
     332/* ノンブロッキングコールを行う場合に組み込むタスク */
    353333
    354334extern void     udp_output_task(intptr_t exinf);
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/udpn_input.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    8068
    8169/*
    82  *  udp_input_select -- UDP のå
    83 ¥åŠ›å‡¦ç†ã®é¸æŠž
     70 *  udp_input_select -- UDP の入力処理の選択
    8471 */
    8572
     
    9380        para.len  = (uint_t)(ntohs(udph->ulen) - UDP_HDR_SIZE);
    9481
    95         if (cep->rcv_tskid != TA_NULL) {        /* 非ノンブロッキングコールでペンディング中 */
     82        if (cep->rcv_tskid != TA_NULL) {        /* 非ノンブロッキングコールでペンディング中 */
    9683                if (psnd_dtq(cep->rcvqid, (intptr_t)input) != E_OK) {
    9784                        NET_COUNT_UDP(net_count_udp.in_err_packets, 1);
     
    10390#ifdef UDP_CFG_NON_BLOCKING
    10491
    105         else if (cep->rcv_p_dstaddr != NULL) {  /* ノンブロッキングコールでペンディング中 */
    106 
    107                 /* p_dstaddr を設定する。*/
     92        else if (cep->rcv_p_dstaddr != NULL) {  /* ノンブロッキングコールでペンディング中 */
     93
     94                /* p_dstaddr を設定する。*/
    10895                cep->rcv_p_dstaddr->portno = ntohs(udph->sport);
    10996                IN_COPY_TO_HOST(&cep->rcv_p_dstaddr->ipaddr, input);
    11097
    111                 /* データをバッファに移す。*/
     98                /* データをバッファに移す。*/
    11299                memcpy(cep->rcv_data, GET_UDP_SDU(input, off),
    113100                       (size_t)(para.len < cep->rcv_len ? para.len : cep->rcv_len));
     
    130117        else if (IS_PTR_DEFINED(cep->callback)) {
    131118
    132                 /* コールバック関数を呼び出す。*/
     119                /* コールバック関数を呼び出す。*/
    133120                cep->cb_netbuf = input;
    134121
     
    148135#endif
    149136                /*
    150                  *  ネットワークバッファがそのままであれば、コールバック関数å†
    151 ã§
    152                  *  データを読み出さなかったことになるので、捨てる。
     137                 *  ネットワークバッファがそのままであれば、コールバック関数内で
     138                 *  データを読み出さなかったことになるので、捨てる。
    153139                 */
    154140                if (cep->cb_netbuf != NULL) {
     
    169155
    170156/*
    171  *  udp_input -- UDP のå
    172 ¥åŠ›é–¢æ•°
     157 *  udp_input -- UDP の入力関数
    173158 */
    174159
     
    191176        NET_COUNT_MIB(udp_stats.udpInDatagrams, 1);
    192177
    193         /* ヘッダ長をチェックする。*/
     178        /* ヘッダ長をチェックする。*/
    194179        if (input->len < hlen + UDP_HDR_SIZE)
    195180                goto buf_rel;
     
    197182        udph = (T_UDP_HDR *)(input->buf + *offp);
    198183
    199         /* データグラム長をチェックする */
     184        /* データグラム長をチェックする */
    200185        ulen  = ntohs(udph->ulen);
    201186        if (ulen != input->len - hlen)
    202187                goto buf_rel;
    203188
    204         /* 宛å
    205 ˆãƒãƒ¼ãƒˆãŒ 0 のデータグラムは破棄する。RFC768 */
     189        /* 宛先ポートが 0 のデータグラムは破棄する。RFC768 */
    206190        if (udph->dport == 0)
    207191                goto buf_rel;
     
    209193#ifdef UDP_CFG_IN_CHECKSUM
    210194
    211         /* チェックサムをチェックする */
     195        /* チェックサムをチェックする */
    212196        if (udph->sum && IN_CKSUM(input, IPPROTO_UDP, *offp, ulen) != 0)
    213197                goto buf_rel;
     
    219203#if TNUM_UDP4_CEPID > 0
    220204
    221         /* UDP 通信端点を得る。*/
     205        /* UDP 通信端点を得る。*/
    222206        cep = udp4_find_cep(input, *offp);
    223207
     
    233217#else   /* of #if TNUM_UDP4_CEPID > 0 */
    234218
    235         cep = 0;        /* warning 回避用のダミー */
     219        cep = 0;        /* warning 回避用のダミー */
    236220        if ((cep6 = udp6_find_cep(input, *offp)) != NULL)
    237221                udp6_input_select(cep6, input, *offp);
     
    245229#else   /* of #if defined(_IP6_CFG) && defined(_IP4_CFG) && API_PROTO == API_PROTO_IPV4 */
    246230
    247         /* UDP 通信端点を得る。*/
     231        /* UDP 通信端点を得る。*/
    248232        cep = UDP_FIND_CEP(input, *offp);
    249233
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/udpn_output.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    7866
    7967/*
    80  *  udp_output -- UDP の出力関数
    81  *  ノンブロッキングコールを組み込んだとき使用する。
     68 *  udp_output -- UDP の出力関数
     69 *  ノンブロッキングコールを組み込んだとき使用する。
    8270 */
    8371
     
    9381#endif  /* of #ifdef UDP_CFG_OUT_CHECKSUM */
    9482
    95         /* IP データグラムを割り当てる。*/
     83        /* IP データグラムを割り当てる。*/
    9684        if ((error = IN_GET_DATAGRAM(&output, (uint_t)(UDP_HDR_SIZE + cep->snd_len), 0,
    9785                                     &cep->snd_p_dstaddr->ipaddr,
     
    10290                }
    10391
    104         /* UDP ヘッダにæƒ
    105 å ±ã‚’設定する。*/
     92        /* UDP ヘッダに情報を設定する。*/
    10693        udph            = GET_UDP_HDR(output, IF_IP_UDP_HDR_OFFSET(output));
    10794        udph->sport     = htons(cep->myaddr.portno);
     
    11097        udph->sum       = 0;
    11198
    112         /* データをコピーする。*/
     99        /* データをコピーする。*/
    113100        memcpy((void*)GET_UDP_SDU(output, IF_IP_UDP_HDR_OFFSET(output)),
    114101               cep->snd_data, (size_t)cep->snd_len);
     
    119106                       (uint_t)(UDP_HDR_SIZE + cep->snd_len));
    120107
    121         /* 計算したチェックサムの値が 0 なら 0xffff をå
    122 ¥ã‚Œã‚‹ã€‚*/
     108        /* 計算したチェックサムの値が 0 なら 0xffff を入れる。*/
    123109        if (sum == 0)
    124110                sum = UINT_C(0xffff);
     
    127113#endif/* of #ifdef UDP_CFG_OUT_CHECKSUM */
    128114
    129         /* ネットワークバッファ長を調整する。*/
     115        /* ネットワークバッファ長を調整する。*/
    130116        output->len = (uint16_t)(IF_IP_UDP_HDR_SIZE(output) + cep->snd_len);
    131117
    132         /* ネットワーク層 (IP) の出力関数を呼び出す。*/
     118        /* ネットワーク層 (IP) の出力関数を呼び出す。*/
    133119        if ((error = IP_OUTPUT(output, TMO_UDP_OUTPUT)) != E_OK)
    134120                goto err_ret;
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/udpn_subr.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    7866
    7967/*
    80  *  udp_alloc_auto_port -- 自動割り当てポート番号を設定する。
     68 *  udp_alloc_auto_port -- 自動割り当てポート番号を設定する。
    8169 */
    8270
     
    114102
    115103/*
    116  *  udp_alloc_port -- 指定されたポート番号を設定する。
     104 *  udp_alloc_port -- 指定されたポート番号を設定する。
    117105 */
    118106
     
    134122
    135123/*
    136  *  udp_find_cep -- ポート番号から UDP 通信端点を得る。
     124 *  udp_find_cep -- ポート番号から UDP 通信端点を得る。
    137125 */
    138126
     
    146134       
    147135        /*
    148          *  IP アドレスとポート番号が一致する通信端点を探索する。
     136         *  IP アドレスとポート番号が一致する通信端点を探索する。
    149137         */
    150138        for (cep = &UDP_CEP[TMAX_UDP_CEPID]; cep -- != UDP_CEP; ) {
     
    159147
    160148/*
    161  *  udp_notify -- ICMP エラーの処理
     149 *  udp_notify -- ICMP エラーの処理
    162150 */
    163151
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/udpn_usrreq.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    8371
    8472/*
    85  *  udp_send_data -- パケット送信の主要部
     73 *  udp_send_data -- パケット送信の主要部
    8674 */
    8775
     
    10189        NET_COUNT_UDP(net_count_udp.out_packets, 1);
    10290
    103         /* IP データグラム割り当ての時間を tmout から減ずる。*/
     91        /* IP データグラム割り当ての時間を tmout から減ずる。*/
    10492        if (!(tmout == TMO_POL || tmout == TMO_FEVR))
    10593                syscall(get_tim(&before));
    10694
    107         /* IP データグラムを割り当てる。*/
     95        /* IP データグラムを割り当てる。*/
    10896        if ((error = IN_GET_DATAGRAM(&output, (uint_t)(UDP_HDR_SIZE + len), 0,
    10997                                     &p_dstaddr->ipaddr,
     
    113101                goto err_ret;
    114102
    115         /* IP データグラム割り当ての時間を tmout から減ずる。*/
     103        /* IP データグラム割り当ての時間を tmout から減ずる。*/
    116104        if (!(tmout == TMO_POL || tmout == TMO_FEVR)) {
    117105                syscall(get_tim(&after));
     
    124112                }
    125113
    126         /* UDP ヘッダにæƒ
    127 å ±ã‚’設定する。*/
     114        /* UDP ヘッダに情報を設定する。*/
    128115        udph            = GET_UDP_HDR(output, IF_IP_UDP_HDR_OFFSET(output));
    129116        udph->sport     = htons(cep->myaddr.portno);
     
    132119        udph->sum       = 0;
    133120
    134         /* データをコピーする。*/
     121        /* データをコピーする。*/
    135122        memcpy((void*)GET_UDP_SDU(output, IF_IP_UDP_HDR_OFFSET(output)), data, (size_t)len);
    136123
     
    139126        sum = IN_CKSUM(output, IPPROTO_UDP, IF_IP_UDP_HDR_OFFSET(output), (uint_t)(UDP_HDR_SIZE + len));
    140127
    141         /* 計算したチェックサムの値が 0 なら 0xffff をå
    142 ¥ã‚Œã‚‹ã€‚*/
     128        /* 計算したチェックサムの値が 0 なら 0xffff を入れる。*/
    143129        if (sum == 0)
    144130                sum = 0xffff;
     
    147133#endif  /* of #ifdef UDP_CFG_OUT_CHECKSUM */
    148134
    149         /* ネットワークバッファ長を調整する。*/
     135        /* ネットワークバッファ長を調整する。*/
    150136        output->len = (uint16_t)(IF_IP_UDP_HDR_SIZE(output) + len);
    151137
    152         /* ネットワーク層 (IP) の出力関数を呼び出す。*/
     138        /* ネットワーク層 (IP) の出力関数を呼び出す。*/
    153139        if ((error = IP_OUTPUT(output, tmout)) == E_OK) {
    154140                NET_COUNT_MIB(udp_stats.udpOutDatagrams, 1);
     
    166152
    167153/*
    168  *  udp_cancel_cep -- ペンディングしている処理をキャンセルする。
    169  *
    170  *    udp_can_cep から呼出されるメイン関数
     154 *  udp_cancel_cep -- ペンディングしている処理をキャンセルする。
     155 *
     156 *    udp_can_cep から呼出されるメイン関数
    171157 */
    172158
     
    178164        ER      error = E_OK, snd_err, rcv_err;
    179165
    180         /* UDP 通信端点をチェックする。*/
     166        /* UDP 通信端点をチェックする。*/
    181167        if (!VALID_UDP_CEP(cep))
    182168                return E_NOEXS;
    183169
    184         /* API 機能コードをチェックする。*/
     170        /* API 機能コードをチェックする。*/
    185171        if (!VALID_TFN_UDP_CAN(fncd))
    186172                return E_PAR;
    187173
    188         /* 通信端点をロックする。*/
     174        /* 通信端点をロックする。*/
    189175        syscall(wai_sem(cep->semid_lock));
    190176
    191         if (fncd == TFN_UDP_ALL) {      /* TFN_UDP_ALL の処理 */
     177        if (fncd == TFN_UDP_ALL) {      /* TFN_UDP_ALL の処理 */
    192178
    193179                snd_err = UDP_CAN_SND(cep, E_RLWAI);
     
    195181
    196182                /*
    197                  *  snd_err と rcv_err のどちらも EV_NOPND
    198                  *  なら、ペンディングしていないのでエラー
     183                 *  snd_err と rcv_err のどちらも EV_NOPND
     184                 *  なら、ペンディングしていないのでエラー
    199185                 */
    200186                if (snd_err == EV_NOPND && rcv_err == EV_NOPND)
     
    212198                        }
    213199                }
    214         else if (fncd == TFN_UDP_SND_DAT) {     /* 送信処理のキャンセル */
     200        else if (fncd == TFN_UDP_SND_DAT) {     /* 送信処理のキャンセル */
    215201                if ((error = UDP_CAN_SND(cep, E_RLWAI)) == EV_NOPND)
    216202                        error = E_OBJ;
    217203                }
    218         else if (fncd == TFN_UDP_RCV_DAT) {     /* 受信処理のキャンセル */
     204        else if (fncd == TFN_UDP_RCV_DAT) {     /* 受信処理のキャンセル */
    219205                if ((error = UDP_CAN_RCV(cep, E_RLWAI)) == EV_NOPND)
    220206                        error = E_OBJ;
     
    223209                error = E_PAR;
    224210
    225         /* 通信端点をロックを解除する。*/
     211        /* 通信端点をロックを解除する。*/
    226212        syscall(sig_sem(cep->semid_lock));
    227213
     
    236222
    237223/*
    238  *  udp_can_cep -- ペンディングしている処理のキャンセル【標準機能】
     224 *  udp_can_cep -- ペンディングしている処理のキャンセル【標準機能】
    239225 */
    240226
     
    246232        T_UDP_CEP       *cep;
    247233
    248         /* UDP 通信端点 ID をチェックする。*/
     234        /* UDP 通信端点 ID をチェックする。*/
    249235        if (!VALID_UDP_CEPID(cepid))
    250236                return E_ID;
    251237
    252         /* UDP 通信端点を得る。*/
     238        /* UDP 通信端点を得る。*/
    253239        cep = GET_UDP_CEP(cepid);
    254240
    255         /* メイン関数を呼び出す。*/
     241        /* メイン関数を呼び出す。*/
    256242        return UDP_CANCEL_CEP(cep, fncd);
    257243        }
     
    264250
    265251/*
    266  *  udp_cre_cep -- UDP 通信端点の生成【拡張機能】
     252 *  udp_cre_cep -- UDP 通信端点の生成【拡張機能】
    267253 */
    268254
     
    275261        ER              error;
    276262
    277         /* UDP 通信端点 ID をチェックする。*/
     263        /* UDP 通信端点 ID をチェックする。*/
    278264        if (!VALID_UDP_CEPID(cepid))
    279265                return E_ID;
    280266
    281         /* pk_ccep が NULL ならエラー */
     267        /* pk_ccep が NULL ならエラー */
    282268        if (pk_ccep == NULL)
    283269                return E_PAR;
     
    286272
    287273        /*
    288          * API が IPv6 で IPv4 射影アドレスが認められていないのにもかかわらず、
    289          * IPv4 射影アドレスが指定されたらエラー
     274         * API が IPv6 で IPv4 射影アドレスが認められていないのにもかかわらず、
     275         * IPv4 射影アドレスが指定されたらエラー
    290276         */
    291277        if (in6_is_addr_ipv4mapped(&pk_ccep->myaddr.ipaddr))
     
    294280#endif  /* of #if (API_PROTO == API_PROTO_IPV6) && !defined(DAPI_CFG_IP4MAPPED_ADDR) */
    295281
    296         /* UDP 通信端点を得る。*/
     282        /* UDP 通信端点を得る。*/
    297283        cep = GET_UDP_CEP(cepid);
    298284
    299         /* UDP 通信端点をチェックする。*/
     285        /* UDP 通信端点をチェックする。*/
    300286        if (VALID_UDP_CEP(cep))
    301287                return E_OBJ;
    302288
    303         /* UDP 通信端点が、動的生成用でなければエラー */
     289        /* UDP 通信端点が、動的生成用でなければエラー */
    304290        if (!DYNAMIC_UDP_CEP(cep))
    305291                return E_ID;
    306292
    307         /* 通信端点をロックする。*/
     293        /* 通信端点をロックする。*/
    308294        syscall(wai_sem(cep->semid_lock));
    309295
    310296        /*
    311          * UDP 通信端点をチェックする。生成済みであればエラー
     297         * UDP 通信端点をチェックする。生成済みであればエラー
    312298         */
    313299        if (VALID_UDP_CEP(cep))
     
    316302
    317303                /*
    318                  *  自ポート番号が UDP_PORTANY なら、自動で割り当てる。
     304                 *  自ポート番号が UDP_PORTANY なら、自動で割り当てる。
    319305                 */
    320306                if (pk_ccep->myaddr.portno == UDP_PORTANY)
     
    324310
    325311                        if (error == E_OK) {
    326                                 /* UDP 通信端点生成æƒ
    327 å ±ã‚’コピーする。*/
    328                                 cep->cepatr        = pk_ccep->cepatr;                   /* 通信端点属性           */
    329                                 cep->myaddr.ipaddr = pk_ccep->myaddr.ipaddr;            /* 自分のアドレス        */
    330                                 cep->callback      = (void*)pk_ccep->callback;          /* コールバック           */
    331 
    332                                 /* UDP 通信端点を生成済みにする。*/
     312                                /* UDP 通信端点生成情報をコピーする。*/
     313                                cep->cepatr        = pk_ccep->cepatr;                   /* 通信端点属性               */
     314                                cep->myaddr.ipaddr = pk_ccep->myaddr.ipaddr;            /* 自分のアドレス      */
     315                                cep->callback      = (void*)pk_ccep->callback;          /* コールバック               */
     316
     317                                /* UDP 通信端点を生成済みにする。*/
    333318                                cep->flags |= UDP_CEP_FLG_VALID;
    334319                                }
    335320                        }
    336321
    337         /* 通信端点のロックを解除する。*/
     322        /* 通信端点のロックを解除する。*/
    338323        syscall(sig_sem(cep->semid_lock));
    339324
     
    346331
    347332/*
    348  *  udp_delete_cep -- UDP 通信端点を削除する。
    349  *
    350  *    udp_del_cep から呼出されるメイン関数
     333 *  udp_delete_cep -- UDP 通信端点を削除する。
     334 *
     335 *    udp_del_cep から呼出されるメイン関数
    351336 */
    352337
     
    356341        ER      error;
    357342
    358         /* UDP 通信端点をチェックする。*/
     343        /* UDP 通信端点をチェックする。*/
    359344        if (!VALID_UDP_CEP(cep))
    360345                return E_NOEXS;
    361346
    362         /* UDP 通信端点が、動的生成用でなければエラー */
     347        /* UDP 通信端点が、動的生成用でなければエラー */
    363348        if (!DYNAMIC_UDP_CEP(cep))
    364349                return E_ID;
    365350
    366         /* 通信端点をロックする。*/
     351        /* 通信端点をロックする。*/
    367352        syscall(wai_sem(cep->semid_lock));
    368353
    369354        /*
    370          * UDP 通信端点をチェックする。未生成の場合はエラー
    371          * ・未生成。
     355         * UDP 通信端点をチェックする。未生成の場合はエラー
     356         * ・未生成。
    372357         */
    373358        if (!VALID_UDP_CEP(cep))
     
    377362                UDP_CAN_RCV(cep, E_DLT);
    378363
    379                 /* UDP 通信端点を未生成にする。*/
     364                /* UDP 通信端点を未生成にする。*/
    380365                cep->flags &= ~UDP_CEP_FLG_VALID;
    381366                error = E_OK;
    382367                }
    383368
    384         /* 通信端点のロックを解除する。*/
     369        /* 通信端点のロックを解除する。*/
    385370        syscall(sig_sem(cep->semid_lock));
    386371
     
    389374
    390375/*
    391  *  udp_del_cep -- UDP 通信端点の削除【拡張機能】
     376 *  udp_del_cep -- UDP 通信端点の削除【拡張機能】
    392377 */
    393378
     
    397382        T_UDP_CEP       *cep;
    398383
    399         /* UDP 通信端点 ID をチェックする。*/
     384        /* UDP 通信端点 ID をチェックする。*/
    400385        if (!VALID_UDP_CEPID(cepid))
    401386                return E_ID;
    402387
    403         /* UDP 通信端点を得る。*/
     388        /* UDP 通信端点を得る。*/
    404389        cep = GET_UDP_CEP(cepid);
    405390
    406         /* メイン関数を呼び出す。*/
     391        /* メイン関数を呼び出す。*/
    407392        return UDP_DELETE_CEP(cep);
    408393        }
     
    413398
    414399/*
    415  *  udp_set_option -- UDP 通信端点オプションを設定する。
    416  *
    417  *    udp_set_opt から呼出されるメイン関数
     400 *  udp_set_option -- UDP 通信端点オプションを設定する。
     401 *
     402 *    udp_set_opt から呼出されるメイン関数
    418403 */
    419404
     
    421406UDP_SET_OPTION (T_UDP_CEP *cep, int_t optname, void *optval, int_t optlen)
    422407{
    423         /* UDP 通信端点をチェックする。*/
     408        /* UDP 通信端点をチェックする。*/
    424409        if (!VALID_UDP_CEP(cep))
    425410                return E_NOEXS;
     
    463448
    464449/*
    465  *  udp_set_opt -- UDP 通信端点オプションの設定【拡張機能】
    466  *
    467  *  注意: 設定可能な UDP 通信端点オプションは無いため、E_PAR が返される。
     450 *  udp_set_opt -- UDP 通信端点オプションの設定【拡張機能】
     451 *
     452 *  注意: 設定可能な UDP 通信端点オプションは無いため、E_PAR が返される。
    468453 */
    469454
     
    473458        T_UDP_CEP       *cep;
    474459
    475         /* UDP 通信端点 ID をチェックする。*/
     460        /* UDP 通信端点 ID をチェックする。*/
    476461        if (!VALID_UDP_CEPID(cepid))
    477462                return E_ID;
    478463
    479         /* UDP 通信端点を得る。*/
     464        /* UDP 通信端点を得る。*/
    480465        cep = GET_UDP_CEP(cepid);
    481466
    482         /* メイン関数を呼び出す。*/
     467        /* メイン関数を呼び出す。*/
    483468        return UDP_SET_OPTION(cep, optname, optval, optlen);
    484469        }
     
    489474
    490475/*
    491  *  udp_get_option -- UDP 通信端点オプションを獲得する。
    492  *
    493  *    udp_get_opt から呼出されるメイン関数
     476 *  udp_get_option -- UDP 通信端点オプションを獲得する。
     477 *
     478 *    udp_get_opt から呼出されるメイン関数
    494479 */
    495480
     
    497482UDP_GET_OPTION (T_UDP_CEP *cep, int_t optname, void *optval, int_t optlen)
    498483{
    499         /* UDP 通信端点をチェックする。*/
     484        /* UDP 通信端点をチェックする。*/
    500485        if (!VALID_UDP_CEP(cep))
    501486                return E_NOEXS;
     
    529514
    530515/*
    531  *  udp_get_opt -- UDP 通信端点オプションの獲得【拡張機能】
    532  *
    533  *  注意: 設定可能な UDP 通信端点オプションは無いため、E_PAR が返される。
     516 *  udp_get_opt -- UDP 通信端点オプションの獲得【拡張機能】
     517 *
     518 *  注意: 設定可能な UDP 通信端点オプションは無いため、E_PAR が返される。
    534519 */
    535520
     
    539524        T_UDP_CEP       *cep;
    540525
    541         /* UDP 通信端点 ID をチェックする。*/
     526        /* UDP 通信端点 ID をチェックする。*/
    542527        if (!VALID_UDP_CEPID(cepid))
    543528                return E_ID;
    544529
    545         /* UDP 通信端点を得る。*/
     530        /* UDP 通信端点を得る。*/
    546531        cep = GET_UDP_CEP(cepid);
    547532
    548         /* メイン関数を呼び出す。*/
     533        /* メイン関数を呼び出す。*/
    549534        return UDP_GET_OPTION(cep, optname, optval, optlen);
    550535        }
     
    561546
    562547/*
    563  *  udp_can_snd -- ペンディングしている送信のキャンセル
     548 *  udp_can_snd -- ペンディングしている送信のキャンセル
    564549 */
    565550
     
    567552UDP_CAN_SND (T_UDP_CEP *cep, ER error)
    568553{
    569         if (cep->snd_tskid != TA_NULL) {        /* 非ノンブロッキングコールでペンディング中 */
     554        if (cep->snd_tskid != TA_NULL) {        /* 非ノンブロッキングコールでペンディング中 */
    570555
    571556#ifdef UDP_CFG_EXTENTIONS
    572557
    573                 /* å¾
    574 ã¡ä¸­ã«ç™ºç”Ÿã—たエラーæƒ
    575 å ±ã‚’設定する。*/
     558                /* 待ち中に発生したエラー情報を設定する。*/
    576559                cep->error = error;
    577560
     
    581564                cep->snd_tskid = TA_NULL;
    582565                }
    583         else                                    /* どちらでもないならペンディングしていない */
     566        else                                    /* どちらでもないならペンディングしていない */
    584567                error = EV_NOPND;
    585568
     
    592575
    593576/*
    594  *  udp_can_rcv -- ペンディングしている受信のキャンセル
     577 *  udp_can_rcv -- ペンディングしている受信のキャンセル
    595578 */
    596579
     
    598581UDP_CAN_RCV (T_UDP_CEP *cep, ER error)
    599582{
    600         if (cep->rcv_tskid != TA_NULL) {        /* 非ノンブロッキングコールでペンディング中 */
     583        if (cep->rcv_tskid != TA_NULL) {        /* 非ノンブロッキングコールでペンディング中 */
    601584
    602585#ifdef UDP_CFG_EXTENTIONS
    603586
    604                 /* å¾
    605 ã¡ä¸­ã«ç™ºç”Ÿã—たエラーæƒ
    606 å ±ã‚’設定する。*/
     587                /* 待ち中に発生したエラー情報を設定する。*/
    607588                cep->error = error;
    608589
     
    612593                cep->rcv_tskid = TA_NULL;
    613594                }
    614         else                                    /* どちらでもないならペンディングしていない */
     595        else                                    /* どちらでもないならペンディングしていない */
    615596                error = EV_NOPND;
    616597
     
    623604
    624605/*
    625  *  udp_snd_dat -- パケットの送信【標準機能】
     606 *  udp_snd_dat -- パケットの送信【標準機能】
    626607 */
    627608
     
    632613        ER              error;
    633614
    634         /* p_dstaddr または data が NULL か、tmout が TMO_NBLK ならエラー */
     615        /* p_dstaddr または data が NULL か、tmout が TMO_NBLK ならエラー */
    635616        if (p_dstaddr == NULL || data == NULL || tmout == TMO_NBLK)
    636617                return E_PAR;
    637618
    638         /* データ長をチェックする。*/
     619        /* データ長をチェックする。*/
    639620        if (len < 0 || len + IP_HDR_SIZE + UDP_HDR_SIZE > IF_MTU)
    640621                return E_PAR;
     
    643624
    644625        /*
    645          * API が IPv6 で IPv4 射影アドレスが認められていないのにもかかわらず、
    646          * IPv4 射影アドレスが指定されたらエラー
     626         * API が IPv6 で IPv4 射影アドレスが認められていないのにもかかわらず、
     627         * IPv4 射影アドレスが指定されたらエラー
    647628         */
    648629        if (in6_is_addr_ipv4mapped(&p_dstaddr->ipaddr))
     
    651632#endif  /* of #if (API_PROTO == API_PROTO_IPV6) && !defined(DAPI_CFG_IP4MAPPED_ADDR) */
    652633
    653         /* UDP 通信端点 ID をチェックする。*/
     634        /* UDP 通信端点 ID をチェックする。*/
    654635        if (!VALID_UDP_CEPID(cepid))
    655636                return E_ID;
    656637
    657         /* UDP 通信端点を得る。*/
     638        /* UDP 通信端点を得る。*/
    658639        cep = GET_UDP_CEP(cepid);
    659640
    660         /* UDP 通信端点をチェックする。*/
     641        /* UDP 通信端点をチェックする。*/
    661642        if (!VALID_UDP_CEP(cep))
    662643                return E_NOEXS;
    663644
    664645        /*
    665          *  自ポート番号が UDP_PORTANY なら、自動で割り当てる。
     646         *  自ポート番号が UDP_PORTANY なら、自動で割り当てる。
    666647         */
    667648        if (cep->myaddr.portno == UDP_PORTANY) {
     
    670651                }
    671652       
    672         /* 通信端点をロックする。*/
     653        /* 通信端点をロックする。*/
    673654        syscall(wai_sem(cep->semid_lock));
    674655
    675656        if (cep->snd_tskid != TA_NULL) {
    676657
    677                 /* 非ノンブロッキングコールでペンディング中 */
     658                /* 非ノンブロッキングコールでペンディング中 */
    678659                error = E_QOVR;
    679660
    680                 /* 通信端点をロックを解除する。*/
     661                /* 通信端点をロックを解除する。*/
    681662                syscall(sig_sem(cep->semid_lock));
    682663                }
    683664        else {
    684                 /* 現在のタスク識別子を記録する。*/
     665                /* 現在のタスク識別子を記録する。*/
    685666                get_tid(&(cep->snd_tskid));
    686667
    687668#ifdef UDP_CFG_EXTENTIONS
    688669
    689                 /* å¾
    690 ã¡ä¸­ã«ç™ºç”Ÿã—たエラーæƒ
    691 å ±ã‚’リセットする。*/
     670                /* 待ち中に発生したエラー情報をリセットする。*/
    692671                cep->error = E_OK;
    693672
    694673#endif  /* of #ifdef UDP_CFG_EXTENTIONS */
    695674
    696                 /* 通信端点をロックを解除する。*/
     675                /* 通信端点をロックを解除する。*/
    697676                syscall(sig_sem(cep->semid_lock));
    698677
    699                 /* パケットを送信する。*/
     678                /* パケットを送信する。*/
    700679                error = UDP_SEND_DATA(cep, p_dstaddr, data, len, tmout);
    701680
    702681#ifdef UDP_CFG_EXTENTIONS
    703682
    704                 /* å¾
    705 ã¡ä¸­ã«ç™ºç”Ÿã—たエラーæƒ
    706 å ±ã‚’返す。*/
     683                /* 待ち中に発生したエラー情報を返す。*/
    707684                if (error == E_RLWAI)
    708685                        error = cep->error;
     
    719696
    720697/*
    721  *  udp_rcv_dat -- パケットの受信【標準機能】
     698 *  udp_rcv_dat -- パケットの受信【標準機能】
    722699 */
    723700
     
    731708        uint_t          ulen, uhoff;
    732709
    733         /* p_dstaddr または data が NULL 、len < 0 か、tmout が TMO_NBLK ならエラー */
     710        /* p_dstaddr または data が NULL 、len < 0 か、tmout が TMO_NBLK ならエラー */
    734711        if (p_dstaddr == NULL || data == NULL || len < 0 || tmout == TMO_NBLK)
    735712                return E_PAR;
    736713
    737         /* UDP 通信端点 ID をチェックする。*/
     714        /* UDP 通信端点 ID をチェックする。*/
    738715        if (!VALID_UDP_CEPID(cepid))
    739716                return E_ID;
    740717
    741         /* UDP 通信端点を得る。*/
     718        /* UDP 通信端点を得る。*/
    742719        cep = GET_UDP_CEP(cepid);
    743720
    744         /* UDP 通信端点をチェックする。*/
     721        /* UDP 通信端点をチェックする。*/
    745722        if (!VALID_UDP_CEP(cep))
    746723                return E_NOEXS;
    747724
    748         /* 通信端点をロックする。*/
     725        /* 通信端点をロックする。*/
    749726        syscall(wai_sem(cep->semid_lock));
    750727
    751728        if (cep->rcv_tskid != TA_NULL) {
    752729
    753                 /* 非ノンブロッキングコールでペンディング中 */
     730                /* 非ノンブロッキングコールでペンディング中 */
    754731                error = E_QOVR;
    755732
    756                 /* 通信端点をロックを解除する。*/
     733                /* 通信端点をロックを解除する。*/
    757734                syscall(sig_sem(cep->semid_lock));
    758735                }
    759736        else {
    760737
    761                 /* 現在のタスク識別子を記録する。*/
     738                /* 現在のタスク識別子を記録する。*/
    762739                get_tid(&(cep->rcv_tskid));
    763740
    764741#ifdef UDP_CFG_EXTENTIONS
    765742
    766                 /* å¾
    767 ã¡ä¸­ã«ç™ºç”Ÿã—たエラーæƒ
    768 å ±ã‚’リセットする。*/
     743                /* 待ち中に発生したエラー情報をリセットする。*/
    769744                cep->error = E_OK;
    770745
    771746#endif  /* of #ifdef UDP_CFG_EXTENTIONS */
    772747
    773                 /* 通信端点をロックを解除する。*/
     748                /* 通信端点をロックを解除する。*/
    774749                syscall(sig_sem(cep->semid_lock));
    775750
    776                 /* å
    777 ¥åŠ›ãŒã‚るまでå¾
    778 ã¤ã€‚*/
     751                /* 入力があるまで待つ。*/
    779752                if (cep->cb_netbuf != NULL) {
    780753
    781754                        /*
    782                          *  ここにくる場合は、コールバック関数の中から
    783                          *  udp_rcv_dat を呼び出していることになり、
    784                          *  すでにå
    785 ¥åŠ›æ¸ˆã¿ã§ã‚る。
     755                         *  ここにくる場合は、コールバック関数の中から
     756                         *  udp_rcv_dat を呼び出していることになり、
     757                         *  すでに入力済みである。
    786758                         */
    787759                        input = cep->cb_netbuf;
     
    792764#ifdef UDP_CFG_EXTENTIONS
    793765
    794                         /* å¾
    795 ã¡ä¸­ã«ç™ºç”Ÿã—たエラーæƒ
    796 å ±ã‚’返す。*/
     766                        /* 待ち中に発生したエラー情報を返す。*/
    797767                        if (error == E_RLWAI)
    798768                                error = cep->error;
     
    804774                        }
    805775
    806                 /* p_dstaddr を設定する。*/
     776                /* p_dstaddr を設定する。*/
    807777                uhoff = (uint_t)GET_UDP_HDR_OFFSET(input);
    808778                udph = GET_UDP_HDR(input, uhoff);
     
    810780                IN_COPY_TO_HOST(&p_dstaddr->ipaddr, input);
    811781
    812                 /* データをバッファに移す。*/
     782                /* データをバッファに移す。*/
    813783                ulen = ntohs(udph->ulen);
    814784                if (ulen - UDP_HDR_SIZE > len)
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/udpn_usrreq_nblk.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    8371
    8472/*
    85  *  udp_can_snd -- ペンディングしている送信のキャンセル
     73 *  udp_can_snd -- ペンディングしている送信のキャンセル
    8674 */
    8775
     
    8977UDP_CAN_SND (T_UDP_CEP *cep, ER error)
    9078{
    91         if (cep->snd_p_dstaddr != NULL) {       /* ノンブロッキングコールでペンディング中 */
     79        if (cep->snd_p_dstaddr != NULL) {       /* ノンブロッキングコールでペンディング中 */
    9280                if (IS_PTR_DEFINED(cep->callback))
    9381
     
    10189                cep->snd_p_dstaddr = NULL;
    10290                }
    103         else if (cep->snd_tskid != TA_NULL) {   /* 非ノンブロッキングコールでペンディング中 */
     91        else if (cep->snd_tskid != TA_NULL) {   /* 非ノンブロッキングコールでペンディング中 */
    10492
    10593#ifdef UDP_CFG_EXTENTIONS
    10694
    107                 /* å¾
    108 ã¡ä¸­ã«ç™ºç”Ÿã—たエラーæƒ
    109 å ±ã‚’設定する。*/
     95                /* 待ち中に発生したエラー情報を設定する。*/
    11096                cep->error = error;
    11197
     
    115101                cep->snd_tskid = TA_NULL;
    116102                }
    117         else                                    /* どちらでもないならペンディングしていない */
     103        else                                    /* どちらでもないならペンディングしていない */
    118104                error = EV_NOPND;
    119105
     
    126112
    127113/*
    128  *  udp_can_rcv -- ペンディングしている受信のキャンセル
     114 *  udp_can_rcv -- ペンディングしている受信のキャンセル
    129115 */
    130116
     
    132118UDP_CAN_RCV (T_UDP_CEP *cep, ER error)
    133119{
    134         if (cep->rcv_p_dstaddr != NULL) {       /* ノンブロッキングコールでペンディング中 */
     120        if (cep->rcv_p_dstaddr != NULL) {       /* ノンブロッキングコールでペンディング中 */
    135121                if (IS_PTR_DEFINED(cep->callback))
    136122
     
    144130                cep->rcv_p_dstaddr = NULL;
    145131                }
    146         else if (cep->rcv_tskid != TA_NULL) {   /* 非ノンブロッキングコールでペンディング中 */
     132        else if (cep->rcv_tskid != TA_NULL) {   /* 非ノンブロッキングコールでペンディング中 */
    147133
    148134#ifdef UDP_CFG_EXTENTIONS
    149135
    150                 /* å¾
    151 ã¡ä¸­ã«ç™ºç”Ÿã—たエラーæƒ
    152 å ±ã‚’設定する。*/
     136                /* 待ち中に発生したエラー情報を設定する。*/
    153137                cep->error = error;
    154138
     
    158142                cep->rcv_tskid = TA_NULL;
    159143                }
    160         else                                    /* どちらでもないならペンディングしていない */
     144        else                                    /* どちらでもないならペンディングしていない */
    161145                error = EV_NOPND;
    162146
     
    169153
    170154/*
    171  *  udp_snd_dat -- パケットの送信【標準機能】
     155 *  udp_snd_dat -- パケットの送信【標準機能】
    172156 */
    173157
     
    178162        ER              error;
    179163
    180         /* p_dstaddr または data が NULL ならエラー */
     164        /* p_dstaddr または data が NULL ならエラー */
    181165        if (p_dstaddr == NULL || data == NULL)
    182166                return E_PAR;
    183167
    184         /* データ長をチェックする。*/
     168        /* データ長をチェックする。*/
    185169        if (len < 0 || len + IP_HDR_SIZE + UDP_HDR_SIZE > IF_MTU)
    186170                return E_PAR;
     
    189173
    190174        /*
    191          * API が IPv6 で IPv4 射影アドレスが認められていないのにもかかわらず、
    192          * IPv4 射影アドレスが指定されたらエラー
     175         * API が IPv6 で IPv4 射影アドレスが認められていないのにもかかわらず、
     176         * IPv4 射影アドレスが指定されたらエラー
    193177         */
    194178        if (in6_is_addr_ipv4mapped(&p_dstaddr->ipaddr))
     
    197181#endif  /* of #if (API_PROTO == API_PROTO_IPV6) && !defined(DAPI_CFG_IP4MAPPED_ADDR) */
    198182
    199         /* UDP 通信端点 ID をチェックする。*/
     183        /* UDP 通信端点 ID をチェックする。*/
    200184        if (!VALID_UDP_CEPID(cepid))
    201185                return E_ID;
    202186
    203         /* UDP 通信端点を得る。*/
     187        /* UDP 通信端点を得る。*/
    204188        cep = GET_UDP_CEP(cepid);
    205189
    206         /* UDP 通信端点をチェックする。*/
     190        /* UDP 通信端点をチェックする。*/
    207191        if (!VALID_UDP_CEP(cep))
    208192                return E_NOEXS;
    209193
    210194        /*
    211          *  自ポート番号が UDP_PORTANY なら、自動で割り当てる。
     195         *  自ポート番号が UDP_PORTANY なら、自動で割り当てる。
    212196         */
    213197        if (cep->myaddr.portno == UDP_PORTANY) {
     
    217201
    218202        /*
    219          * タイムアウトをチェックする。
     203         * タイムアウトをチェックする。
    220204         */
    221         if (tmout == TMO_NBLK) {        /* ノンブロッキングコール */
    222 
    223                 /* 通信端点をロックする。*/
     205        if (tmout == TMO_NBLK) {        /* ノンブロッキングコール */
     206
     207                /* 通信端点をロックする。*/
    224208                syscall(wai_sem(cep->semid_lock));
    225209
    226210                if (cep->snd_p_dstaddr != NULL) {
    227211
    228                         /* ノンブロッキングコールでペンディング中 */
     212                        /* ノンブロッキングコールでペンディング中 */
    229213                        error = E_QOVR;
    230214
    231                         /* 通信端点をロックを解除する。*/
     215                        /* 通信端点をロックを解除する。*/
    232216                        syscall(sig_sem(cep->semid_lock));
    233217                        }
    234218                else if (cep->snd_tskid != TA_NULL) {
    235219
    236                         /* 非ノンブロッキングコールでペンディング中 */
    237                         error = E_OBJ;
    238 
    239                         /* 通信端点をロックを解除する。*/
     220                        /* 非ノンブロッキングコールでペンディング中 */
     221                        error = E_OBJ;
     222
     223                        /* 通信端点をロックを解除する。*/
    240224                        syscall(sig_sem(cep->semid_lock));
    241225                        }
     
    246230                        cep->snd_len    = len;
    247231
    248                         /* 通信端点をロックを解除する。*/
     232                        /* 通信端点をロックを解除する。*/
    249233                        syscall(sig_sem(cep->semid_lock));
    250234
     
    254238                        }
    255239                }
    256         else {                          /* 非ノンブロッキングコール */
     240        else {                          /* 非ノンブロッキングコール */
    257241       
    258                 /* 通信端点をロックする。*/
     242                /* 通信端点をロックする。*/
    259243                syscall(wai_sem(cep->semid_lock));
    260244
    261245                if (cep->snd_p_dstaddr != NULL) {
    262246
    263                         /* ノンブロッキングコールでペンディング中 */
    264                         error = E_OBJ;
    265 
    266                         /* 通信端点をロックを解除する。*/
     247                        /* ノンブロッキングコールでペンディング中 */
     248                        error = E_OBJ;
     249
     250                        /* 通信端点をロックを解除する。*/
    267251                        syscall(sig_sem(cep->semid_lock));
    268252                        }
    269253                else if (cep->snd_tskid != TA_NULL) {
    270254
    271                         /* 非ノンブロッキングコールでペンディング中 */
     255                        /* 非ノンブロッキングコールでペンディング中 */
    272256                        error = E_QOVR;
    273257
    274                         /* 通信端点をロックを解除する。*/
     258                        /* 通信端点をロックを解除する。*/
    275259                        syscall(sig_sem(cep->semid_lock));
    276260                        }
    277261                else {
    278262
    279                         /* 現在のタスク識別子を記録する。*/
     263                        /* 現在のタスク識別子を記録する。*/
    280264                        get_tid(&(cep->snd_tskid));
    281265
    282                         /* 通信端点をロックを解除する。*/
    283                         syscall(sig_sem(cep->semid_lock));
    284 
    285                         /* パケットを送信する。*/
     266                        /* 通信端点をロックを解除する。*/
     267                        syscall(sig_sem(cep->semid_lock));
     268
     269                        /* パケットを送信する。*/
    286270                        error = UDP_SEND_DATA(cep, p_dstaddr, data, len, tmout);
    287271                        }
     
    296280
    297281/*
    298  *  udp_rcv_dat -- パケットの受信【標準機能】
     282 *  udp_rcv_dat -- パケットの受信【標準機能】
    299283 */
    300284
     
    308292        uint_t          ulen, uhoff;
    309293
    310         /* p_dstaddr または data が NULL か、len < 0 ならエラー */
     294        /* p_dstaddr または data が NULL か、len < 0 ならエラー */
    311295        if (p_dstaddr == NULL || data == NULL || len < 0)
    312296                return E_PAR;
    313297
    314         /* UDP 通信端点 ID をチェックする。*/
     298        /* UDP 通信端点 ID をチェックする。*/
    315299        if (!VALID_UDP_CEPID(cepid))
    316300                return E_ID;
    317301
    318         /* UDP 通信端点を得る。*/
     302        /* UDP 通信端点を得る。*/
    319303        cep = GET_UDP_CEP(cepid);
    320304
    321         /* UDP 通信端点をチェックする。*/
     305        /* UDP 通信端点をチェックする。*/
    322306        if (!VALID_UDP_CEP(cep))
    323307                return E_NOEXS;
    324308
    325309        /*
    326          * タイムアウトをチェックする。
     310         * タイムアウトをチェックする。
    327311         */
    328312
    329         if (tmout == TMO_NBLK) {        /* ノンブロッキングコール */
    330 
    331                 /* 通信端点をロックする。*/
     313        if (tmout == TMO_NBLK) {        /* ノンブロッキングコール */
     314
     315                /* 通信端点をロックする。*/
    332316                syscall(wai_sem(cep->semid_lock));
    333317
    334318                if (cep->rcv_p_dstaddr != NULL)
    335319
    336                         /* ノンブロッキングコールでペンディング中 */
     320                        /* ノンブロッキングコールでペンディング中 */
    337321                        error = E_QOVR;
    338322
    339323                else if (cep->rcv_tskid != TA_NULL)
    340324
    341                         /* 非ノンブロッキングコールでペンディング中 */
     325                        /* 非ノンブロッキングコールでペンディング中 */
    342326                        error = E_OBJ;
    343327                else {
     
    348332                        }
    349333
    350                 /* 通信端点をロックを解除する。*/
     334                /* 通信端点をロックを解除する。*/
    351335                syscall(sig_sem(cep->semid_lock));
    352336                return error;
    353337                }
    354         else {                          /* 非ノンブロッキングコール */
    355 
    356                 /* 通信端点をロックする。*/
     338        else {                          /* 非ノンブロッキングコール */
     339
     340                /* 通信端点をロックする。*/
    357341                syscall(wai_sem(cep->semid_lock));
    358342
    359343                if (cep->rcv_p_dstaddr != NULL) {
    360344
    361                         /* ノンブロッキングコールでペンディング中 */
    362                         error = E_OBJ;
    363 
    364                         /* 通信端点をロックを解除する。*/
     345                        /* ノンブロッキングコールでペンディング中 */
     346                        error = E_OBJ;
     347
     348                        /* 通信端点をロックを解除する。*/
    365349                        syscall(sig_sem(cep->semid_lock));
    366350                        }
    367351                else if (cep->rcv_tskid != TA_NULL) {
    368352
    369                         /* 非ノンブロッキングコールでペンディング中 */
     353                        /* 非ノンブロッキングコールでペンディング中 */
    370354                        error = E_QOVR;
    371355
    372                         /* 通信端点をロックを解除する。*/
     356                        /* 通信端点をロックを解除する。*/
    373357                        syscall(sig_sem(cep->semid_lock));
    374358                        }
    375359                else {
    376360
    377                         /* 現在のタスク識別子を記録する。*/
     361                        /* 現在のタスク識別子を記録する。*/
    378362                        get_tid(&(cep->rcv_tskid));
    379363
    380                         /* 通信端点をロックを解除する。*/
    381                         syscall(sig_sem(cep->semid_lock));
    382 
    383                         /* å
    384 ¥åŠ›ãŒã‚るまでå¾
    385 ã¤ã€‚*/
     364                        /* 通信端点をロックを解除する。*/
     365                        syscall(sig_sem(cep->semid_lock));
     366
     367                        /* 入力があるまで待つ。*/
    386368                        if (cep->cb_netbuf != NULL) {
    387369
    388370                                /*
    389                                  *  ここにくる場合は、コールバック関数の中から
    390                                  *  udp_rcv_dat を呼び出していることになり、
    391                                  *  すでにå
    392 ¥åŠ›æ¸ˆã¿ã§ã‚る。
     371                                 *  ここにくる場合は、コールバック関数の中から
     372                                 *  udp_rcv_dat を呼び出していることになり、
     373                                 *  すでに入力済みである。
    393374                                 */
    394375                                input = cep->cb_netbuf;
     
    400381                                }
    401382
    402                         /* p_dstaddr を設定する。*/
     383                        /* p_dstaddr を設定する。*/
    403384                        uhoff = (uint_t)GET_UDP_HDR_OFFSET(input);
    404385                        udph = GET_UDP_HDR(input, uhoff);
     
    406387                        IN_COPY_TO_HOST(&p_dstaddr->ipaddr, input);
    407388
    408                         /* データをバッファに移す。*/
     389                        /* データをバッファに移す。*/
    409390                        ulen = ntohs(udph->ulen);
    410391                        if (ulen - UDP_HDR_SIZE > len)
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet6/ah.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    8068
    8169/*
    82  *  RFC2402 認証ヘッダ
     70 *  RFC2402 認証ヘッダ
    8371 */
    8472
     
    8674        uint8_t         next;   /* Next Header                          */
    8775        uint8_t         len;   
    88         /* 4 オクテット単位の長さ。ただし、データ長 + 1 がå
    89 ¥ã‚‹ã€‚ */
     76        /* 4 オクテット単位の長さ。ただし、データ長 + 1 が入る。       */
    9077        uint16_t        reserved;
    9178        uint32_t        spi;    /* Security Parameter Index (SPI)       */
    92         uint32_t        seq;    /* シーケンス番号                        */
     79        uint32_t        seq;    /* シーケンス番号                      */
    9380        } __attribute__((packed, aligned(2))) T_IP6_AH_HDR;
    9481
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet6/ah6.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    8068
    8169/*
    82  *  関数
     70 *  関数
    8371 */
    8472
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet6/ah_input.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    116104
    117105/*
    118  *  ah6_input -- 認証ヘッダのå
    119 ¥åŠ›é–¢æ•°
     106 *  ah6_input -- 認証ヘッダの入力関数
    120107 *
    121  *    本実è£
    122 ã§ã¯ã€ãƒ‡ãƒ¼ã‚¿ã‚°ãƒ©ãƒ ã‚’破棄する。
     108 *    本実装では、データグラムを破棄する。
    123109 */
    124110
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet6/dest6.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    114102
    115103/*
    116  *  dest6_input -- 終点オプションヘッダのå
    117 ¥åŠ›é–¢æ•°
     104 *  dest6_input -- 終点オプションヘッダの入力関数
    118105 *
    119  *    本実è£
    120 ã§ã¯ã€ãƒ‘ディング以外のオプションをå
    121 ¨ã¦æœªçŸ¥ã‚ªãƒ—ションとして処理する。
     106 *    本実装では、パディング以外のオプションを全て未知オプションとして処理する。
    122107 */
    123108
     
    131116        uint8_t         *opt;
    132117
    133         /* ネットワークバッファの残りの長さをチェックする。*/
     118        /* ネットワークバッファの残りの長さをチェックする。*/
    134119        if (input->len - off < sizeof(T_IP6_DEST_HDR))
    135120                goto buf_rel;
     
    138123        len    = (desth->len + 1) << 3;
    139124
    140         /* 終点オプションヘッダの長さをチェックする。*/
     125        /* 終点オプションヘッダの長さをチェックする。*/
    141126        if (input->len < off + len)
    142127                goto buf_rel;
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet6/esp.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    66 *  Copyright (C) 2008-2009 by Hokkaido Industrial Research Institute, JAPAN
    77 *
    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プロジェクトを免責すること.
    3726 *
    38  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    39 ãŠ
    40  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    41  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    42  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     27 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     28 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     29 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     30 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4331 *
    4432 *  @(#) $Id$
     
    8169
    8270/*
    83  *  RFC2406 暗号化ヘッダ
     71 *  RFC2406 暗号化ヘッダ
    8472 */
    8573
    8674typedef struct t_esp_hdr {
    8775        int32_t spi;    /* Security Parameter Index (SPI)       */
    88         int32_t seq;    /* シーケンス番号                        */
     76        int32_t seq;    /* シーケンス番号                      */
    8977        } __attribute__((packed, aligned(2)))T_ESP_HDR;
    9078
    9179typedef struct t_esp_tail {
    92         int8_t  padlen; /* パディング長                           */     
     80        int8_t  padlen; /* パディング長                               */     
    9381        int8_t  next;   /* Next Header                          */
    9482        } __attribute__((packed, aligned(2)))T_ESP_TAIL;
     
    125113
    126114/*
    127  * 関数
     115 * 関数
    128116 */
    129117
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet6/esp6.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    8068
    8169/*
    82  *  関数
     70 *  関数
    8371 */
    8472
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet6/esp_input.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    118106
    119107/*
    120  *  esp6_input -- 暗号化ヘッダのå
    121 ¥åŠ›é–¢æ•°
     108 *  esp6_input -- 暗号化ヘッダの入力関数
    122109 *
    123  *    本実è£
    124 ã§ã¯ã€ãƒ‡ãƒ¼ã‚¿ã‚°ãƒ©ãƒ ã‚’破棄する。
     110 *    本実装では、データグラムを破棄する。
    125111 */
    126112
     
    129115{
    130116#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 からのオフセット)>;
    134119#endif
    135120        syscall(rel_net_buf(*inputp));
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet6/frag6.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    121109
    122110/*
    123  *  データグラム再構成キューé
    124 åˆ—
     111 *  データグラム再構成キュー配列
    125112 */
    126113
     
    129116
    130117/*
    131  *  ip6_get_frag_queue -- データグラム再構成キューを獲得する。
     118 *  ip6_get_frag_queue -- データグラム再構成キューを獲得する。
    132119 */
    133120
     
    139126
    140127/*
    141  *  frag6_free_queue -- データグラム再構成キューを解放する。
     128 *  frag6_free_queue -- データグラム再構成キューを解放する。
    142129 *
    143  *    注意: データグラム再構成キューé
    144 åˆ—をロックしてから呼び出すこと。
     130 *    注意: データグラム再構成キュー配列をロックしてから呼び出すこと。
    145131 */
    146132
     
    162148
    163149/*
    164  *  frag6_timer -- データグラム再構成管理タイマ
     150 *  frag6_timer -- データグラム再構成管理タイマ
    165151 */
    166152
     
    184170
    185171                                        /*
    186                                          *  å
    187 ˆé ­ã®æ–­ç‰‡ã®ã‚ªãƒ•ã‚»ãƒƒãƒˆãŒ 0 の時のみ
    188                                          *  ICMPv6 エラーメッセージを送信する。
     172                                         *  先頭の断片のオフセットが 0 の時のみ
     173                                         *  ICMPv6 エラーメッセージを送信する。
    189174                                         */
    190175
    191                                         /* å
    192 ˆé ­ã®æ–­ç‰‡ã‚’データグラム再構成キューから外す。*/
     176                                        /* 先頭の断片をデータグラム再構成キューから外す。*/
    193177                                        ip6_frag_queue[ix] = qip6h->next_frag;
    194178
    195                                         /* あてå
    196 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’å
    197 ƒã«æˆ»ã™ã€‚*/
     179                                        /* あて先アドレスを元に戻す。*/
    198180                                        GET_IP6_HDR(frag)->dst = ip6_frag_dest[ix];
    199181
    200                                         /* ICMPv6 エラーメッセージを送信する。*/
     182                                        /* ICMPv6 エラーメッセージを送信する。*/
    201183                                        icmp6_error(frag, ICMP6_TIME_EXCEEDED,
    202184                                                          ICMP6_TIME_EXCEED_REASSEMBLY, 0);
    203185                                        }
    204186
    205                                 /* データグラム再構成キューを解放する。*/
     187                                /* データグラム再構成キューを解放する。*/
    206188                                NET_COUNT_IP6(net_count_ip6[NC_IP6_FRAG_IN_TMOUT], 1);
    207189                                NET_COUNT_IP6(net_count_ip6[NC_IP6_FRAG_IN_DROP], 1);
     
    216198
    217199/*
    218  *  frag6_input -- 断片ヘッダのå
    219 ¥åŠ›é–¢æ•°
     200 *  frag6_input -- 断片ヘッダの入力関数
    220201 */
    221202
     
    241222#endif  /* #ifdef IP6_CFG_FRAGMENT */
    242223
    243         /* ネットワークバッファの残りの長さをチェックする。*/
     224        /* ネットワークバッファの残りの長さをチェックする。*/
    244225        if (input->len - off < sizeof(T_IP6_FRAG_HDR))
    245226                goto buf_rel;
    246227
    247228        /*
    248          *  巨大ペイロードオプションと断片ヘッダを同時に使用することは
    249          *  できない。ペイロード長がが 0 なら、巨大ペイロードオプションが
    250          *  指定されていることになるので ICMP でエラーを送信è€
    251 ã«
    252          *  通知する。
     229         *  巨大ペイロードオプションと断片ヘッダを同時に使用することは
     230         *  できない。ペイロード長がが 0 なら、巨大ペイロードオプションが
     231         *  指定されていることになるので ICMP でエラーを送信者に
     232         *  通知する。
    253233         */
    254234        ip6h = GET_IP6_HDR(input);
     
    262242
    263243        /*
    264          *  オフセットが 0 で、最終フラグメントであれば、
    265          *  分割不要のデータグラムなので、
    266          *  次ヘッダを指す変数を調整して終了する。
     244         *  オフセットが 0 で、最終フラグメントであれば、
     245         *  分割不要のデータグラムなので、
     246         *  次ヘッダを指す変数を調整して終了する。
    267247         */
    268248        ip6fh = (T_IP6_FRAG_HDR *)(input->buf + off);
     
    276256
    277257        /*
    278          *  ペイロード長をチェックする。
     258         *  ペイロード長をチェックする。
    279259         */
    280260        if ((ip6fh->off_flag & IP6F_MORE_FRAG) &&
     
    291271
    292272        /*
    293          *  データグラム再構成キューé
    294 åˆ—から、対応するエントリを探す。
     273         *  データグラム再構成キュー配列から、対応するエントリを探す。
    295274         */
    296275        for (ix = NUM_IP6_FRAG_QUEUE; ix -- > 0; ) {
     
    310289
    311290                /*
    312                  *  断片の正当性をチェックする。
     291                 *  断片の正当性をチェックする。
    313292                 */
    314293                unfraglen = 0;
     
    317296
    318297                        /*
    319                          *  å
    320 ¥åŠ›ã—た断片がå
    321 ˆé ­ã®æ–­ç‰‡
    322                          *  分割できない部分の長さ unfraglen を計算する。
     298                         *  入力した断片が先頭の断片
     299                         *  分割できない部分の長さ unfraglen を計算する。
    323300                         */
    324301                        unfraglen = (off - IF_HDR_SIZE) - sizeof(T_IP6_HDR);
     
    352329
    353330                /*
    354                  *  ip6fq == NULL であれば、対応するエントリは無いので、
    355                  *  データグラム再構成キューé
    356 åˆ—に、エントリを追加する。
     331                 *  ip6fq == NULL であれば、対応するエントリは無いので、
     332                 *  データグラム再構成キュー配列に、エントリを追加する。
    357333                 */
    358334                for (ix = NUM_IP6_FRAG_QUEUE; ix -- > 0; ) {
    359335
    360                         /* 空きエントリを探す。*/
     336                        /* 空きエントリを探す。*/
    361337                        if (ip6_frag_queue[ix] == NULL) {
    362338                                ip6fq = &ip6_frag_queue[ix];
     
    366342
    367343                /*
    368                  *  ip6fq == NULL であれば、空きエントリが無いので、
    369                  *  タイムアウト(hlim)が短いエントリを開放する。
     344                 *  ip6fq == NULL であれば、空きエントリが無いので、
     345                 *  タイムアウト(hlim)が短いエントリを開放する。
    370346                 */
    371347                if (ip6fq == NULL) {
     
    385361
    386362                /*
    387                  *  エントリを設定する。
     363                 *  エントリを設定する。
    388364                 */
    389365                *ip6fq = input;
     
    398374
    399375                /*
    400                  *  断片の正当性をチェックする。
     376                 *  断片の正当性をチェックする。
    401377                 */
    402378                unfraglen = 0;
     
    405381
    406382                        /*
    407                          *  データグラム再構成キューの最初の断片がå
    408 ˆé ­ã®æ–­ç‰‡
    409                          *  分割できない部分の長さ unfraglen を計算する。
     383                         *  データグラム再構成キューの最初の断片が先頭の断片
     384                         *  分割できない部分の長さ unfraglen を計算する。
    410385                         */
    411386                        unfraglen = (GET_QIP6_HDR(*ip6fq)->foff - IF_HDR_SIZE) - sizeof(T_IP6_HDR);
     
    416391
    417392                        /*
    418                          *  å
    419 ¥åŠ›ã—た断片がå
    420 ˆé ­ã®æ–­ç‰‡
    421                          *  分割できない部分の長さ unfraglen を計算する。
     393                         *  入力した断片が先頭の断片
     394                         *  分割できない部分の長さ unfraglen を計算する。
    422395                         */
    423396                        unfraglen = (off - IF_HDR_SIZE) - sizeof(T_IP6_HDR);
     
    453426
    454427                        /*
    455                          *  å
    456 ¥åŠ›ã—た断片がå
    457 ˆé ­ã®æ–­ç‰‡
    458                          *  データグラム再構成キューの最後の断片が、
    459                          *  データグラムの最大長をè¶
    460 ãˆã¦ã„ないかチェックする。
    461                          */
    462 
    463                         /* 最後の断片を探索する。*/
     428                         *  入力した断片が先頭の断片
     429                         *  データグラム再構成キューの最後の断片が、
     430                         *  データグラムの最大長を超えていないかチェックする。
     431                         */
     432
     433                        /* 最後の断片を探索する。*/
    464434                        next = *ip6fq;
    465435                        while ((qip6h = GET_QIP6_HDR(next))->next_frag != NULL)
    466436                                next = qip6h->next_frag;
    467437
    468                         /* 最後の断片のオフセットと断片サイズを計算する。*/
     438                        /* 最後の断片のオフセットと断片サイズを計算する。*/
    469439                        qip6fh = (T_IP6_FRAG_HDR *)(next->buf + qip6h->foff);
    470440                        fragoff = ntohs(qip6fh->off_flag & IP6F_OFF_MASK);
     
    473443
    474444                                /*
    475                                  *  データグラムの最大長をè¶
    476 ãˆã¦ã„る場合は、
    477                                  *  データグラム再構成キューå
    478 ¨ä½“を破棄する。
     445                                 *  データグラムの最大長を超えている場合は、
     446                                 *  データグラム再構成キュー全体を破棄する。
    479447                                 */
    480448                                frag6_free_queue(ip6fq);
     
    484452                        }
    485453
    486                 /* ECN の正当性チェックは未実è£
    487  */
    488 
    489                 /*
    490                  *  断片をエントリに挿å
    491 ¥ã™ã‚‹ã€‚
    492                  *  データグラム再構成キューから、å
    493 ¥åŠ›ã—た断片より前の断片を探索する。
     454                /* ECN の正当性チェックは未実装 */
     455
     456                /*
     457                 *  断片をエントリに挿入する。
     458                 *  データグラム再構成キューから、入力した断片より前の断片を探索する。
    494459                 */
    495460                prev = NULL;
     
    505470
    506471                /*
    507                  *  prev は、å
    508 ¥åŠ›ã—た断片より前の断片。ただし NULL の場合は、
    509                  *  å
    510 ¥åŠ›ã—た断片がデータグラム再構成キューの中で最も前の断片。
    511                  *  next は、å
    512 ¥åŠ›ã—た断片より後の断片。ただし NULL の場合は、
    513                  *  å
    514 ¥åŠ›ã—た断片がデータグラム再構成キューの中で最も後の断片。
     472                 *  prev は、入力した断片より前の断片。ただし NULL の場合は、
     473                 *  入力した断片がデータグラム再構成キューの中で最も前の断片。
     474                 *  next は、入力した断片より後の断片。ただし NULL の場合は、
     475                 *  入力した断片がデータグラム再構成キューの中で最も後の断片。
    515476                 */
    516477                fragoff = ntohs(ip6fh->off_flag & IP6F_OFF_MASK);
     
    518479
    519480                        /*
    520                          *  前の断片と、å
    521 ¥åŠ›ã—た断片が重なっていないかチェックする。
     481                         *  前の断片と、入力した断片が重なっていないかチェックする。
    522482                         *
    523483                         *    qfragoff
     
    542502                        if (diff > 0) {
    543503
    544                                 /* 重なっていれば、å
    545 ¥åŠ›ã—た断片を破棄して終了する。*/
     504                                /* 重なっていれば、入力した断片を破棄して終了する。*/
    546505                                syscall(rel_net_buf(input));
    547506                                goto sig_ret;
     
    552511
    553512                        /*
    554                          *  後の断片と、å
    555 ¥åŠ›ã—た断片が重なっていないかチェックする。
     513                         *  後の断片と、入力した断片が重なっていないかチェックする。
    556514                         *
    557515                         *    fragoff
     
    576534                        if (diff > 0) {
    577535
    578                                 /* 重なっていれば、å
    579 ¥åŠ›ã—た断片を破棄して終了する。*/
     536                                /* 重なっていれば、入力した断片を破棄して終了する。*/
    580537                                syscall(rel_net_buf(input));
    581538                                goto sig_ret;
     
    583540                        }
    584541
    585                 /* å
    586 ¥åŠ›ã—た断片を設定する。*/
     542                /* 入力した断片を設定する。*/
    587543                qip6h  = GET_QIP6_HDR(input);
    588544                qip6h->foff = off;
     
    598554
    599555                /*
    600                  *  å
    601 ¨ã¦ã®æ–­ç‰‡ã‚’受信したかチェックする。
     556                 *  全ての断片を受信したかチェックする。
    602557                 */
    603558                plen = 0;
     
    608563                        if (ntohs(qip6fh->off_flag & IP6F_OFF_MASK) != plen) {
    609564
    610                                 /* 断片が連続していない。*/
     565                                /* 断片が連続していない。*/
    611566                                goto sig_ret;
    612567                                }
     
    616571                if (ntohs(qip6fh->off_flag & IP6F_MORE_FRAG) != 0) {
    617572
    618                         /* 最後の断片を受信していない。*/
     573                        /* 最後の断片を受信していない。*/
    619574                        goto sig_ret;
    620575                        }
    621576
    622577                /*
    623                  *  å
    624 ¨ã¦ã®æ–­ç‰‡ã‚’受信したので、再構成する。
    625                  */
    626 
    627                 /* ネットワークバッファを獲得する。*/
     578                 *  全ての断片を受信したので、再構成する。
     579                 */
     580
     581                /* ネットワークバッファを獲得する。*/
    628582                qip6h  = GET_QIP6_HDR(*ip6fq);
    629583                qip6fh = (T_IP6_FRAG_HDR *)((*ip6fq)->buf + qip6h->foff);
     
    631585
    632586                        /*
    633                          *  断片ヘッダの直前のヘッダの NEXT フィールドのアドレスを獲得し、
    634                          *  å
    635 ƒã«æˆ»ã™ã€‚
     587                         *  断片ヘッダの直前のヘッダの NEXT フィールドのアドレスを獲得し、
     588                         *  元に戻す。
    636589                         */
    637590                        if ((prev_next = ip6_get_prev_hdr(*ip6fq, qip6h->foff)) == NULL) {
     
    646599
    647600                        /*
    648                          *  IPv6 ヘッダと分割できない部分を
    649                          *  データグラム再構成キューの中のå
    650 ˆé ­ã®æ–­ç‰‡ã‹ã‚‰ã‚³ãƒ”ーする。
     601                         *  IPv6 ヘッダと分割できない部分を
     602                         *  データグラム再構成キューの中の先頭の断片からコピーする。
    651603                         */
    652604                        memcpy(input->buf, (*ip6fq)->buf, qip6h->foff);
    653605
    654                         /* 送信å
    655 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’å
    656 ƒã«æˆ»ã™ã€‚*/
     606                        /* 送信先アドレスを元に戻す。*/
    657607                        ip6h = GET_IP6_HDR(input);
    658608                        memcpy(&ip6h->dst, &ip6_frag_dest[ip6fq - ip6_frag_queue], sizeof(T_IN6_ADDR));
    659609
    660                         /* offp を、再構成した断片のå
    661 ˆé ­ã«è¨­å®šã™ã‚‹ã€‚*/
     610                        /* offp を、再構成した断片の先頭に設定する。*/
    662611                        *offp = qip6h->foff;
    663612
    664                         /* ネットワークバッファ長を設定する。*/
     613                        /* ネットワークバッファ長を設定する。*/
    665614                        input->len = plen + qip6h->foff;
    666615
    667616                        /*
    668                          *  å
    669 ¨ã¦ã®æ–­ç‰‡ã‚’コピーする。
     617                         *  全ての断片をコピーする。
    670618                         */
    671619                        frag = *ip6fq;
     
    680628                                }
    681629
    682                         /* ペイロード長を設定する。*/
     630                        /* ペイロード長を設定する。*/
    683631                        ip6h->plen = htons(plen);
    684632
     
    692640                        }
    693641
    694                 /* データグラム再構成キューを解放する。*/
     642                /* データグラム再構成キューを解放する。*/
    695643                frag6_free_queue(ip6fq);
    696644                }
     
    703651
    704652        /*
    705          *  データグラムの分割・再構成行わない場合は、å
    706 ¨æ–­ç‰‡ã‚’破棄し、
    707          *  最後の断片を受信したとき、
    708          *  ICMP エラーを送信è€
    709 ã«é€šçŸ¥ã™ã‚‹ã€‚
     653         *  データグラムの分割・再構成行わない場合は、全断片を破棄し、
     654         *  最後の断片を受信したとき、
     655         *  ICMP エラーを送信者に通知する。
    710656         */
    711657        if ((ip6fh->off_flag & IP6F_MORE_FRAG) == 0) {
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet6/icmp6.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    157145
    158146/*
    159  *  変数
     147 *  変数
    160148 */
    161149
     
    163151
    164152/*
    165  *  SNMP の 管理æƒ
    166 å ±ãƒ™ãƒ¼ã‚¹ (MIB)
     153 *  SNMP の 管理情報ベース (MIB)
    167154 */
    168155
     
    172159
    173160/*
    174  *  icmp6_output -- ICMP6 パケットを送信する。
     161 *  icmp6_output -- ICMP6 パケットを送信する。
    175162 */
    176163
     
    184171
    185172        /*
    186          *  宛å
    187 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ã«ãµã•ã‚ã—い送信å
    188 ƒã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’、
    189          *  ネットワークインタフェースから探索して利用する。
     173         *  宛先アドレスにふさわしい送信元アドレスを、
     174         *  ネットワークインタフェースから探索して利用する。
    190175         */
    191176        ip6h = GET_IP6_HDR(output);
     
    199184        icmp6h = GET_ICMP6_HDR(output, off);
    200185
    201         /* チェックサムを計算する。*/
     186        /* チェックサムを計算する。*/
    202187        icmp6h->sum = 0;
    203188        icmp6h->sum = in6_cksum(output, IPPROTO_ICMPV6, (uint8_t*)icmp6h - output->buf,
    204189                                ntohs(ip6h->plen) - (off - IF_IP6_HDR_SIZE));
    205190
    206         /* 送信する。*/
     191        /* 送信する。*/
    207192        NET_COUNT_ICMP6(net_count_icmp6[NC_ICMP6_OUT_OCTETS],
    208193                       output->len - GET_IF_IP6_HDR_SIZE(output));
     
    213198
    214199/*
    215  *  icmp6_echo_request -- エコー要求を受信したときの処理
     200 *  icmp6_echo_request -- エコー要求を受信したときの処理
    216201 */
    217202
     
    231216
    232217        /*
    233          *  IPv6 ヘッダと ICMPv6 ヘッダ間の拡張ヘッダを除去する。
     218         *  IPv6 ヘッダと ICMPv6 ヘッダ間の拡張ヘッダを除去する。
    234219         */
    235220        diff = off - IF_IP6_HDR_SIZE;
    236221        if (diff > 0) {
    237                 /* ICMPv6 ヘッダを前に詰める。*/
     222                /* ICMPv6 ヘッダを前に詰める。*/
    238223                memmove(input->buf + IF_IP6_HDR_SIZE, input->buf + off, input->len - off);
    239224                off = IF_IP6_HDR_SIZE;
    240225
    241                 /* ペイロード長を調整する。*/
     226                /* ペイロード長を調整する。*/
    242227                ip6h->plen  = htons(ntohs(ip6h->plen) - diff);
    243228                input->len -= diff;
     
    252237
    253238        /*
    254          *  メッセージの型をエコー要求 (128) から
    255          *  エコー応答 (129) に変更して送り返す。
     239         *  メッセージの型をエコー要求 (128) から
     240         *  エコー応答 (129) に変更して送り返す。
    256241         */
    257242        icmp6h->type = ICMP6_ECHO_REPLY;
    258243
    259         /* IPv6 ヘッダの発信å
    260 ƒã‚¢ãƒ‰ãƒ¬ã‚¹ã¨å®›å
    261 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’å
    262 ¥æ›¿ãˆã‚‹ã€‚*/
     244        /* IPv6 ヘッダの発信元アドレスと宛先アドレスを入替える。*/
    263245        memcpy(&dst, &ip6h->dst, sizeof(T_IN6_ADDR));
    264246        memcpy(&ip6h->dst, &ip6h->src, sizeof(T_IN6_ADDR));
     
    266248
    267249        /*
    268          *  å
    269 ƒã®å®›å
    270 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ãŒãƒžãƒ«ãƒã‚­ãƒ£ã‚¹ãƒˆã®å ´åˆã¯ã€
    271          *  宛å
    272 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ã«ãµã•ã‚ã—い送信å
    273 ƒã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’、
    274          *  ネットワークインタフェースから探索して利用する。
     250         *  元の宛先アドレスがマルチキャストの場合は、
     251         *  宛先アドレスにふさわしい送信元アドレスを、
     252         *  ネットワークインタフェースから探索して利用する。
    275253         */
    276254        if (IN6_IS_ADDR_MULTICAST(&dst)) {
     
    283261                }
    284262
    285         /* 次ヘッダとホップリミットを設定する。*/
     263        /* 次ヘッダとホップリミットを設定する。*/
    286264        ip6h->next = IPPROTO_ICMPV6;
    287265        ip6h->hlim = IP6_DEFTTL;
    288266
    289         /* チェックサムを計算する。*/
     267        /* チェックサムを計算する。*/
    290268        icmp6h->sum = 0;
    291269        icmp6h->sum = in6_cksum(input, IPPROTO_ICMPV6, (uint8_t*)icmp6h - input->buf,
    292270                                ntohs(ip6h->plen) - (off - IF_IP6_HDR_SIZE));
    293271
    294         /* 送信する。*/
     272        /* 送信する。*/
    295273        NET_COUNT_ICMP6(net_count_icmp6[NC_ICMP6_OUT_OCTETS],
    296274                       input->len - GET_IF_IP6_HDR_SIZE(input));
     
    302280
    303281/*
    304  *  icmp6_notify_error -- エラーを通知する。
     282 *  icmp6_notify_error -- エラーを通知する。
    305283 */
    306284
     
    314292        len  = input->len - poff;
    315293
    316         /* データグラム長が ICMP6 ヘッダ長 + IP6 ヘッダ長以下なら何もしない。*/
     294        /* データグラム長が ICMP6 ヘッダ長 + IP6 ヘッダ長以下なら何もしない。*/
    317295        if (len < ICMP6_HDR_SIZE + IP6_HDR_SIZE)
    318296                return;
     
    320298        icmp6h = GET_ICMP6_HDR(input, poff);
    321299
    322         /* 最終ヘッダを探索する。*/
     300        /* 最終ヘッダを探索する。*/
    323301        loff = ip6_lasthdr(input, poff + ICMP6_HDR_SIZE, IPPROTO_IPV6, &next);
    324302
    325         /* 最終ヘッダが TCP/UDP のみ対応する。*/
     303        /* 最終ヘッダが TCP/UDP のみ対応する。*/
    326304        if (loff >= 0 && (next == IPPROTO_TCP || next == IPPROTO_UDP)) {
    327305
     
    354332
    355333/*
    356  *  icmp6_mtudisc_update -- Path MTU を更新する。
     334 *  icmp6_mtudisc_update -- Path MTU を更新する。
    357335 */
    358336
     
    379357
    380358/*
    381  *  icmp6_redirect_input -- 向け直しメッセージの処理
     359 *  icmp6_redirect_input -- 向け直しメッセージの処理
    382360 */
    383361
     
    398376
    399377        /*
    400          *  IP ヘッダのチェック、以下の場合は破棄する。
    401          *    ・リンクローカル以外から送られてきたメッセージ
    402          *    ・ホップリミットが IPV6_MAXHLIM (255) 以外
     378         *  IP ヘッダのチェック、以下の場合は破棄する。
     379         *    ・リンクローカル以外から送られてきたメッセージ
     380         *    ・ホップリミットが IPV6_MAXHLIM (255) 以外
    403381         */
    404382        if (!IN6_IS_ADDR_LINKLOCAL(&ip6h->src) || ip6h->hlim != IPV6_MAXHLIM)
     
    407385        rdh  = (T_ND_REDIRECT_HDR *)(input->buf + off);
    408386
    409         /* 向け直しの終点アドレスがマルチキャストアドレスの場合は破棄する。*/
     387        /* 向け直しの終点アドレスがマルチキャストアドレスの場合は破棄する。*/
    410388        if (IN6_IS_ADDR_MULTICAST(&rdh->dst))
    411389                goto err_ret;
    412390
    413         /* ターゲットアドレスが経路表に登録されているかチェックする。*/
     391        /* ターゲットアドレスが経路表に登録されているかチェックする。*/
    414392        if ((gw = in6_rtalloc(ifp, &rdh->dst)) != NULL) {
    415                 /* GW アドレスと送信å
    416 ƒã‚¢ãƒ‰ãƒ¬ã‚¹ãŒç•°ãªã£ã¦ã„れば破棄する。*/
     393                /* GW アドレスと送信元アドレスが異なっていれば破棄する。*/
    417394                if (!IN6_ARE_ADDR_EQUAL(gw, &ip6h->src))
    418395                        goto err_ret;
    419396                }
    420         else    /* 経路表になければ破棄する。*/
     397        else    /* 経路表になければ破棄する。*/
    421398                goto err_ret;
    422399
     
    424401
    425402        /*
    426          *  ターゲットアドレスがリンクローカルアドレスであれば、
    427          *  ターゲットはルータ
     403         *  ターゲットアドレスがリンクローカルアドレスであれば、
     404         *  ターゲットはルータ
    428405         */
    429406        if (IN6_IS_ADDR_LINKLOCAL(&rdh->target))
     
    431408
    432409        /*
    433          *  ターゲットアドレスと終点アドレスが同一であれば、オンリンク
     410         *  ターゲットアドレスと終点アドレスが同一であれば、オンリンク
    434411         */
    435412        if (IN6_ARE_ADDR_EQUAL(&rdh->target, &rdh->dst))
     
    437414               
    438415        /*
    439          *  ルータでも、オンリンクでもなければエラー
     416         *  ルータでも、オンリンクでもなければエラー
    440417         */
    441418        if (!router && !onlink)
    442419                goto err_ret;
    443420
    444         /* 近隣探索オプションのオフセットを記録する。*/
     421        /* 近隣探索オプションのオフセットを記録する。*/
    445422        if (nd6_options(nd_opt_off, input->buf +  off + ND_REDIRECT_HDR_SIZE,
    446423                                    input->len - (off + ND_REDIRECT_HDR_SIZE)) != E_OK)
    447424                goto err_ret;
    448425
    449         /* 近隣探索オプション (向け直しのルータのリンクアドレス) */
     426        /* 近隣探索オプション (向け直しのルータのリンクアドレス) */
    450427        if (nd_opt_off[ND_OPT_OFF_ARRAY_IX(ND_OPT_TARGET_LINKADDR)]) {
    451428                opth = (T_ND_OPT_HDR *)((uint8_t *)(input->buf + off + ND_REDIRECT_HDR_SIZE) +
    452429                                        nd_opt_off[ND_OPT_OFF_ARRAY_IX(ND_OPT_TARGET_LINKADDR)] - 8);
    453                 /* 注意: オプションオフセットé
    454 åˆ—には、オフセット + 8 が設定されている。*/
     430                /* 注意: オプションオフセット配列には、オフセット + 8 が設定されている。*/
    455431                lladdr     = (uint8_t *)(opth + 1);
    456432                lladdr_len = (opth->len << 3);
     
    458434
    459435        /*
    460          *  ネットワークインタフェースのアドレス長が一致しなければエラー
     436         *  ネットワークインタフェースのアドレス長が一致しなければエラー
    461437         */
    462438        if (lladdr && lladdr_len != ((sizeof(T_IF_ADDR) + sizeof(T_ND_OPT_HDR) + 7) & ~7))
    463439                goto err_ret;
    464440
    465         /* 向け直しのルータのリンクアドレスを近隣キャッシュに登録する。*/
     441        /* 向け直しのルータのリンクアドレスを近隣キャッシュに登録する。*/
    466442        nd6_cache_lladdr(ifp, &rdh->target, (T_IF_ADDR *)lladdr, ND_REDIRECT,
    467443                         onlink ? ND_REDIRECT_ONLINK : ND_REDIRECT_ROUTER);
    468444
    469         /* ルーティング表に登録する。*/
     445        /* ルーティング表に登録する。*/
    470446        in6_rtredirect(&rdh->target, &rdh->dst, 128, IN_RTF_REDIRECT, TMO_IN_REDIRECT);
    471447
     
    482458
    483459/*
    484  *  icmp6_input -- ICMP6 のå
    485 ¥åŠ›é–¢æ•°
     460 *  icmp6_input -- ICMP6 の入力関数
    486461 */
    487462
     
    500475        NET_COUNT_MIB(icmp6_ifstat.ipv6IfIcmpInMsgs, 1);
    501476
    502         /* ICMP6 ヘッダの長さをチェックする。*/
     477        /* ICMP6 ヘッダの長さをチェックする。*/
    503478        len  = input->len - off;
    504479        if (len < ICMP6_HDR_SIZE) {
     
    511486        icmp6h = GET_ICMP6_HDR(input, off);
    512487
    513         /* チェックサムを計算する。*/
     488        /* チェックサムを計算する。*/
    514489        if ((in6_cksum(input, IPPROTO_ICMPV6, off, ntohs(ip6h->plen) - (off - IF_IP6_HDR_SIZE)) & 0xffff) != 0) {
    515490                NET_COUNT_ICMP6(net_count_icmp6[NC_ICMP6_IN_ERR_PACKETS], 1);
     
    520495        code = icmp6h->code;
    521496
    522         /* メッセージの型により分岐する。*/
     497        /* メッセージの型により分岐する。*/
    523498        switch (icmp6h->type) {
    524499
    525         case ICMP6_DST_UNREACH:                 /* 宛å
    526 ˆåˆ°é”不可能                */
     500        case ICMP6_DST_UNREACH:                 /* 宛先到達不可能              */
    527501                NET_COUNT_MIB(icmp6_ifstat.ipv6IfIcmpInDestUnreachs, 1);
    528502                icmp6_notify_error(input, off);
    529503                break;
    530504
    531         case ICMP6_ECHO_REQUEST:                /* エコー要求                      */
     505        case ICMP6_ECHO_REQUEST:                /* エコー要求                        */
    532506                icmp6_echo_request(input, off);
    533507                return IPPROTO_DONE;
    534508                break;
    535509
    536         case ICMP6_ECHO_REPLY:                  /* エコー応答                      */
     510        case ICMP6_ECHO_REPLY:                  /* エコー応答                        */
    537511
    538512#ifdef ICMP_CFG_CALLBACK_ECHO_REPLY
     
    544518                break;
    545519
    546         case ND_ROUTER_ADVERT:                  /* ルータ通知                      */
     520        case ND_ROUTER_ADVERT:                  /* ルータ通知                        */
    547521                NET_COUNT_MIB(icmp6_ifstat.ipv6IfIcmpInRouterAdvertisements, 1);
    548522                if (code != 0 || len < ROUTER_ADVERT_HDR_SIZE)
     
    552526                break;
    553527
    554         case ND_NEIGHBOR_SOLICIT:               /* 近隣要請                 */
     528        case ND_NEIGHBOR_SOLICIT:               /* 近隣要請                 */
    555529                NET_COUNT_MIB(icmp6_ifstat.ipv6IfIcmpInNeighborSolicits, 1);
    556530                if (code != 0 || len < NEIGHBOR_SOLICIT_HDR_SIZE)
     
    560534                break;
    561535
    562         case ND_NEIGHBOR_ADVERT:                /* 近隣通知                 */
     536        case ND_NEIGHBOR_ADVERT:                /* 近隣通知                 */
    563537                NET_COUNT_MIB(icmp6_ifstat.ipv6IfIcmpInNeighborAdvertisements, 1);
    564538                if (code != 0 || len < NEIGHBOR_ADVERT_HDR_SIZE)
     
    568542                break;
    569543
    570         case ND_REDIRECT:                       /* 向け直し                 */
     544        case ND_REDIRECT:                       /* 向け直し                 */
    571545                NET_COUNT_MIB(icmp6_ifstat.ipv6IfIcmpInRedirects, 1);
    572546
     
    592566                break;
    593567
    594         case ICMP6_PACKET_TOO_BIG:              /* パケットが大きすぎる。    */
     568        case ICMP6_PACKET_TOO_BIG:              /* パケットが大きすぎる。  */
    595569
    596570#if NUM_IN6_HOSTCACHE_ENTRY > 0
     
    603577                break;
    604578
    605         case ICMP6_TIME_EXCEEDED:               /* TTL をè¶
    606 éŽã—た。            */
     579        case ICMP6_TIME_EXCEEDED:               /* TTL を超過した。           */
    607580                NET_COUNT_MIB(icmp6_ifstat.ipv6IfIcmpInTimeExcds, 1);
    608581                break;
    609582
    610         case ICMP6_PARAM_PROB:                  /* IPv6 ヘッダが不正。           */
     583        case ICMP6_PARAM_PROB:                  /* IPv6 ヘッダが不正。         */
    611584                NET_COUNT_MIB(icmp6_ifstat.ipv6IfIcmpInParmProblems, 1);
    612585                break;
    613586
    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 応答                      */
    626594                syslog(LOG_INFO, "[ICMP6] unsupported type: %d.", icmp6h->type);
    627595                break;
     
    640608
    641609/*
    642  *  icmp6_error -- ICMP6 エラー送信関数
     610 *  icmp6_error -- ICMP6 エラー送信関数
    643611 */
    644612
     
    655623
    656624        /*
    657          *  宛å
    658 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ãŒã€ãƒžãƒ«ãƒã‚­ãƒ£ã‚¹ãƒˆã®å ´åˆã¯ã€
    659          *  以下の条件以外のときは処理を行わない。
     625         *  宛先アドレスが、マルチキャストの場合は、
     626         *  以下の条件以外のときは処理を行わない。
    660627         *
    661          *    ・データグラムが大きすぎる。
    662          *    ・IPv6 ヘッダの不正で、オプションが認識できない。
     628         *    ・データグラムが大きすぎる。
     629         *    ・IPv6 ヘッダの不正で、オプションが認識できない。
    663630         */
    664631        if (IN6_IS_ADDR_MULTICAST(&ip6h->dst) &&
     
    668635
    669636        /*
    670          *  始点アドレスが、以下の場合は処理を行わない。
     637         *  始点アドレスが、以下の場合は処理を行わない。
    671638         *
    672          *    ・無指定
    673          *    ・マルチキャスト
     639         *    ・無指定
     640         *    ・マルチキャスト
    674641         */
    675642        if (IN6_IS_ADDR_UNSPECIFIED(&ip6h->src) ||
     
    677644                goto buf_rel;
    678645
    679         /* 最後のヘッダを探索する。*/
     646        /* 最後のヘッダを探索する。*/
    680647        off = ip6_lasthdr(input, 0, IPPROTO_IPV6, &next);
    681648
    682649        /*
    683          *  タイプが、エラーか向け直しの ICMP6 パケットのエラーには返答しない。
     650         *  タイプが、エラーか向け直しの ICMP6 パケットのエラーには返答しない。
    684651         */
    685652        if (off >= 0 && next == IPPROTO_ICMPV6) {
     
    695662                }
    696663
    697         /* DoS 攻撃に対する防御は未実è£
    698  */
    699 
    700         /*
    701          *  送り返すメッセージ長を、ICMPv6 の最大ペイロード長に調整する。
     664        /* DoS 攻撃に対する防御は未実装 */
     665
     666        /*
     667         *  送り返すメッセージ長を、ICMPv6 の最大ペイロード長に調整する。
    702668         *  IPV6_MMTU - (IP6_HDR_SIZE + ICMP6_HDR_SIZE)
    703669         */
     
    707673                len = input->len - IF_HDR_SIZE;
    708674
    709         /* 送信用のネットワークバッファを獲得する。*/
     675        /* 送信用のネットワークバッファを獲得する。*/
    710676        if (in6_get_datagram(&output, len + ICMP6_HDR_SIZE, 0,
    711677                             &ip6h->src, &in6_addr_unspecified,
     
    714680                goto buf_rel;
    715681
    716         /* ICMP6 ヘッダを設定する。*/
     682        /* ICMP6 ヘッダを設定する。*/
    717683        icmp6h = GET_ICMP6_HDR(output, IF_IP6_ICMP6_HDR_OFFSET);
    718684        icmp6h->type       = type;
     
    720686        icmp6h->icmp6_pptr = htonl(param);
    721687 
    722         /* エラーデータを設定する。*/
     688        /* エラーデータを設定する。*/
    723689        memcpy(GET_ICMP6_SDU(output, IF_IP6_ICMP6_HDR_OFFSET), (uint8_t *)ip6h, len);
    724690
     
    741707#endif  /* of #ifdef SUPPORT_MIB */
    742708
    743         /* 送信する。*/
     709        /* 送信する。*/
    744710        icmp6_output(output, IF_IP6_HDR_SIZE);
    745711
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet6/if6_ether.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    117105
    118106/*
    119  *  ether_map_ipv6_multicast -- IPv6 マルチキャストアドレスからイーサネット・マルチキャストアドレスへの変換
     107 *  ether_map_ipv6_multicast -- IPv6 マルチキャストアドレスからイーサネット・マルチキャストアドレスへの変換
    120108 */
    121109
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet6/if6_ether.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    8169
    8270/*
    83  *  関数
     71 *  関数
    8472 */
    8573
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet6/in6.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    156144
    157145/*
    158  *  å
    159 ¨åŸŸå¤‰æ•°
     146 *  全域変数
    160147 */
    161148
     
    170157
    171158/*
    172  *  in6_addmulti -- マルチキャストアドレスを登録する。
     159 *  in6_addmulti -- マルチキャストアドレスを登録する。
    173160 */
    174161
     
    185172
    186173/*
    187  *  in6_ifinit -- インタフェースにアドレスæƒ
    188 å ±ã‚’設定し、初期化する。
     174 *  in6_ifinit -- インタフェースにアドレス情報を設定し、初期化する。
    189175 */
    190176
     
    192178in6_ifinit (T_IFNET *ifp, T_IN6_IFADDR *ia, const T_IN6_ADDR *addr, uint_t prefix_len)
    193179{
    194         /* アドレスとプレフィックス長を設定する。*/
     180        /* アドレスとプレフィックス長を設定する。*/
    195181        ia->addr       = *addr;
    196182        ia->prefix_len = prefix_len;
    197183
    198         /* フラグを初期化する。*/
     184        /* フラグを初期化する。*/
    199185        ia->flags = 0;
    200186
    201187        /*
    202          *  初めてアドレスが設定されたとき、インタフェース独自の初期化を行う。
     188         *  初めてアドレスが設定されたとき、インタフェース独自の初期化を行う。
    203189         */
    204190
     
    207193
    208194/*
    209  *  in6_ifainit -- インタフェースアドレス構造体の初期化
     195 *  in6_ifainit -- インタフェースアドレス構造体の初期化
    210196 */
    211197
     
    226212
    227213/*
    228  *  in6_if2idlen -- インタフェース ID 長を返す。
     214 *  in6_if2idlen -- インタフェース ID 長を返す。
    229215 */
    230216
     
    240226
    241227/*
    242  *  in6_addr2ifaix -- アドレスからインタフェースアドレスæƒ
    243 å ±ã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã«å¤‰æ›ã™ã‚‹ã€‚
     228 *  in6_addr2ifaix -- アドレスからインタフェースアドレス情報のインデックスに変換する。
    244229 */
    245230
     
    262247
    263248/*
    264  *  in6_addr2maix -- アドレスからマルチキャストアドレスのインデックスに変換する。
     249 *  in6_addr2maix -- アドレスからマルチキャストアドレスのインデックスに変換する。
    265250 */
    266251
     
    283268
    284269/*
    285  *  in6_update_ifa -- インタフェースのアドレスæƒ
    286 å ±ã‚’更新する。
     270 *  in6_update_ifa -- インタフェースのアドレス情報を更新する。
    287271 */
    288272
     
    296280        SYSTIM          now;
    297281
    298         /* 引数をチェックする。*/
     282        /* 引数をチェックする。*/
    299283        if (addr == NULL)
    300284                return E_PAR;
    301285
    302286        /*
    303          *  有効時間をチェックする。
    304          *  vltime (有効時間) と pltime (推奨有効時間) の単位は [s]。
     287         *  有効時間をチェックする。
     288         *  vltime (有効時間) と pltime (推奨有効時間) の単位は [s]。
    305289         */
    306290        syscall(get_tim(&now));
     
    313297                return E_PAR;
    314298
    315         /* インタフェースを初期化する。*/
     299        /* インタフェースを初期化する。*/
    316300        if ((error = in6_ifinit(ifp, ia, addr, prefix_len)) != E_OK)
    317301                return error;
     
    319303        if (IN6_IS_ADDR_LINKLOCAL(addr)) {
    320304
    321                 /* 要請マルチキャストアドレスを登録する。*/
     305                /* 要請マルチキャストアドレスを登録する。*/
    322306                llsol.s6_addr32[0] = IPV6_ADDR_INT32_MLL;
    323307                llsol.s6_addr32[1] = 0x00000000;
     
    328312                        return error;
    329313
    330                 /* å
    331 ¨ãƒŽãƒ¼ãƒ‰ãƒ»ãƒªãƒ³ã‚¯ãƒ­ãƒ¼ã‚«ãƒ«ãƒ»ãƒžãƒ«ãƒã‚­ãƒ£ã‚¹ãƒˆã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’登録する。*/
     314                /* 全ノード・リンクローカル・マルチキャストアドレスを登録する。*/
    332315                llsol.s6_addr32[2] = 0x00000000;
    333316                llsol.s6_addr32[3] = IPV6_ADDR_INT32_ONE;
     
    337320                }
    338321
    339         /* ルータインデックスを設定する。*/
     322        /* ルータインデックスを設定する。*/
    340323        ia->router_index = router_index;
    341324
    342         /* プレフィックスインデックスを設定する。*/
     325        /* プレフィックスインデックスを設定する。*/
    343326        ia->prefix_index = prefix_index;
    344327
    345         /* フラグを設定する。*/
     328        /* フラグを設定する。*/
    346329        ia->flags  = flags & ~(IN6_IFF_DUPLICATED | IN6_IFF_NODAD);
    347330        ia->flags |= IN6_IFF_DEFINED;
    348331
    349332        /*
    350          *  アドレス有効時間を設定する。
    351          *  vltime (有効時間) と pltime (推奨有効時間) の単位は [s]。
     333         *  アドレス有効時間を設定する。
     334         *  vltime (有効時間) と pltime (推奨有効時間) の単位は [s]。
    352335         */
    353336        syscall(get_tim(&now));
     
    366349                ia->lifetime.preferred = 0;
    367350
    368         /* 近隣探索の初期設定を行う。*/
     351        /* 近隣探索の初期設定を行う。*/
    369352        nd6_ifattach(ifp);
    370353
    371         /* 重複アドレス検出を行う。*/
     354        /* 重複アドレス検出を行う。*/
    372355        if ((flags & IN6_IFF_NODAD) == 0) {
    373356                ia->flags |= IN6_IFF_TENTATIVE;
     
    379362
    380363/*
    381  * in6ifa_ifpwithix -- インデックス番号から、ネットワークインタフェースに
    382  *                     å‰²ã‚Šå½“てられているアドレスを探索する。
     364 * in6ifa_ifpwithix -- インデックス番号から、ネットワークインタフェースに
     365 *                     割り当てられているアドレスを探索する。
    383366 */
    384367
     
    390373
    391374/*
    392  * in6ifa_ifpwithrtrix -- ルータのインデックス番号から、ネットワークインタフェースに
    393  *                        割り当てられているアドレスを探索する。
     375 * in6ifa_ifpwithrtrix -- ルータのインデックス番号から、ネットワークインタフェースに
     376 *                        割り当てられているアドレスを探索する。
    394377 */
    395378
     
    406389
    407390/*
    408  * in6_ifawithifp -- 宛å
    409 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ã«ãµã•ã‚ã—い送信å
    410 ƒã‚¢ãƒ‰ãƒ¬ã‚¹æƒ
    411 å ±ã‚’、
    412  *                   ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã‹ã‚‰æŽ¢ç´¢ã™ã‚‹ã€‚
     391 * in6_ifawithifp -- 宛先アドレスにふさわしい送信元アドレス情報を、
     392 *                   ネットワークインタフェースから探索する。
    413393 */
    414394
     
    419399        int_t   ix;
    420400
    421         /* 宛å
    422 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ã¨åŒã˜ã‚¹ã‚³ãƒ¼ãƒ—のアドレスを返す。*/
     401        /* 宛先アドレスと同じスコープのアドレスを返す。*/
    423402        if ((ix = in6_addr2ifaix(dst)) != IPV6_IFADDR_IX_INVALID)
    424403                return &ifp->in6_ifaddrs[ix];
     
    440419
    441420/*
    442  * in6_addrwithifp -- 宛å
    443 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ã«ãµã•ã‚ã—い送信å
    444 ƒã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’、
    445  *                    ネットワークインタフェースから探索する。
     421 * in6_addrwithifp -- 宛先アドレスにふさわしい送信元アドレスを、
     422 *                    ネットワークインタフェースから探索する。
    446423 */
    447424
     
    460437
    461438/*
    462  * in6_if_up -- インタフェース起動後の重複アドレス検出を行う。
     439 * in6_if_up -- インタフェース起動後の重複アドレス検出を行う。
    463440 */
    464441
     
    466443in6_if_up (T_IFNET *ifp)
    467444{
    468 #if 0                                           /* 保留 */
     445#if 0                                           /* 保留 */
    469446        int_t dad_delay, ix;
    470447#endif  /* of #if 0 */
     
    472449        in6_ifattach(ifp);
    473450
    474 #if 0                                           /* 保留 */
    475         /* 重複アドレス検出を行う。*/
     451#if 0                                           /* 保留 */
     452        /* 重複アドレス検出を行う。*/
    476453        dad_delay = 0;
    477454        for (ix = NUM_IN6_IFADDR_ENTRY; ix -- > 0; )
     
    483460#if NUM_ND6_RTR_SOL_RETRY > 0
    484461
    485         /* ルータ要請を出力する。*/
     462        /* ルータ要請を出力する。*/
    486463        nd6_rtrsol_ctl();
    487464
     
    490467
    491468/*
    492  *  in6_are_prefix_equal -- プレフィックスが同一か調べる。
     469 *  in6_are_prefix_equal -- プレフィックスが同一か調べる。
    493470 */
    494471
     
    511488
    512489/*
    513  *  in6_ifaddr_timer -- ネットワークインタフェースのアドレスの管理タイマー
     490 *  in6_ifaddr_timer -- ネットワークインタフェースのアドレスの管理タイマー
    514491 */
    515492
     
    530507
    531508                        /*
    532                          *  有効時間を過ぎたので削除する。
     509                         *  有効時間を過ぎたので削除する。
    533510                         */
    534511                        ia->flags &= ~IN6_IFF_DEFINED;
     
    538515
    539516                        /*
    540                          *  推奨有効時間を過ぎたので非推奨にする。
     517                         *  推奨有効時間を過ぎたので非推奨にする。
    541518                         */
    542519                        ia->flags |= IN6_IFF_DEPRECATED;
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet6/in6.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    115103
    116104/*
    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 アドレス
    124112 */
    125113
     
    146134
    147135/*
    148  *  IPv6 アドレスの初期化データ
     136 *  IPv6 アドレスの初期化データ
    149137 */
    150138
     
    168156
    169157/*
    170  *  特別なアドレスのチェック
    171  */
    172 
    173 /* 無指定 */
     158 *  特別なアドレスのチェック
     159 */
     160
     161/* 無指定 */
    174162
    175163#define IN6_IS_ADDR_UNSPECIFIED(a)      \
    176164        (memcmp((void *)(a), (void *)&in6_addr_unspecified, sizeof(T_IN6_ADDR)) == 0)
    177165
    178 /* ループバック */
     166/* ループバック */
    179167
    180168#define IN6_IS_ADDR_LOOPBACK(a)         \
     
    183171
    184172/*
    185  *  スコープ ID
     173 *  スコープ ID
    186174 */
    187175
     
    193181
    194182/*
    195  *  ユニキャスト・スコープ
    196  *
    197  *  注意: 上位 10 ビットのみチェックしなければならない。RFC2373 参ç
    198 §
    199  */
    200 
    201 /* リンクローカル */
     183 *  ユニキャスト・スコープ
     184 *
     185 *  注意: 上位 10 ビットのみチェックしなければならない。RFC2373 参照
     186 */
     187
     188/* リンクローカル */
    202189
    203190#define IN6_IS_ADDR_LINKLOCAL(a)        \
    204191        (((a)->s6_addr8[0] == UINT_C(0xfe)) && (((a)->s6_addr8[1] & UINT_C(0xc0)) == UINT_C(0x80)))
    205192
    206 /* サイトローカル */
     193/* サイトローカル */
    207194
    208195#define IN6_IS_ADDR_SITELOCAL(a)        \
    209196        (((a)->s6_addr8[0] == UINT_C(0xfe)) && (((a)->s6_addr8[1] & UINT_C(0xc0)) == UINT_C(0xc0)))
    210197
    211 /* 集約可能ユニキャスト (グローバル) */
     198/* 集約可能ユニキャスト (グローバル) */
    212199
    213200#define IN6_IS_ADDR_AGGREGATE_UNICAST(a)        \
     
    215202
    216203/*
    217  *  マルチキャスト
     204 *  マルチキャスト
    218205 */
    219206
     
    221208
    222209/*
    223  *  同一のチェック
     210 *  同一のチェック
    224211 */
    225212
     
    227214
    228215/*
    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 アドレス/ポート番号の定義
    243230 */
    244231
    245232typedef struct t_ipv6ep {
    246         T_IN6_ADDR      ipaddr;         /* IPv6 アドレス    */
    247         uint16_t        portno;         /* ポート番号      */
     233        T_IN6_ADDR      ipaddr;         /* IPv6 アドレス    */
     234        uint16_t        portno;         /* ポート番号        */
    248235        } T_IPV6EP;
    249236
     
    251238
    252239/*
    253  *  ITRON/TCP/IP 用 IP アドレスの定義
     240 *  ITRON/TCP/IP 用 IP アドレスの定義
    254241 */
    255242
     
    257244
    258245/*
    259  *  動的生成用 IPv6 TCP 受付口
     246 *  動的生成用 IPv6 TCP 受付口
    260247 */
    261248
    262249typedef struct t_tcp6_crep {
    263         /* 標準 */
    264         ATR             repatr;         /* 受付口属性              */
    265         T_IPV6EP        myaddr;         /* 自分のアドレス        */
    266         /* 実è£
    267 ä¾å­˜ */
     250        /* 標準 */
     251        ATR             repatr;         /* 受付口属性                */
     252        T_IPV6EP        myaddr;         /* 自分のアドレス      */
     253        /* 実装依存 */
    268254        } T_TCP6_CREP;
    269255
    270256/*
    271  *  動的生成用 IPv6 UDP 通信端点
     257 *  動的生成用 IPv6 UDP 通信端点
    272258 */
    273259
    274260typedef 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        /* 実装依存 */
    281266        } T_UDP6_CCEP;
    282267
    283268/*
    284  *  前方参ç
    285 §
     269 *  前方参照
    286270 */
    287271
     
    295279
    296280/*
    297  *  å
    298 ¨åŸŸå¤‰æ•°
     281 *  全域変数
    299282 */
    300283
     
    306289
    307290/*
    308  *  TINET 独自 API
     291 *  TINET 独自 API
    309292 */
    310293
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet6/in6_ifattach.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    114102
    115103/*
    116  * EUI64 の定義
     104 * EUI64 の定義
    117105 */
    118106
     
    122110
    123111/*
    124  * get_mac6_ifid -- MAC (6 オクテット) アドレスで、インタフェース識別子を設定する。
     112 * get_mac6_ifid -- MAC (6 オクテット) アドレスで、インタフェース識別子を設定する。
    125113 */
    126114
     
    145133
    146134/*
    147  * get_rand_ifid -- 乱数により、インタフェース識別子を設定する。
     135 * get_rand_ifid -- 乱数により、インタフェース識別子を設定する。
    148136 */
    149137
     
    159147
    160148/*
    161  *  in6_ifattach_linklocal -- インタフェースにリンクローカル・アドレスを割り当てる。
     149 *  in6_ifattach_linklocal -- インタフェースにリンクローカル・アドレスを割り当てる。
    162150 */
    163151
     
    169157
    170158        /*
    171          *  リンクローカル・プレフィックス fe80::/64 を設定する。
     159         *  リンクローカル・プレフィックス fe80::/64 を設定する。
    172160         */
    173161        addr.s6_addr32[0] = IPV6_ADDR_INT32_ULL;
    174162        addr.s6_addr32[1] = ULONG_C(0);
    175163
    176         /* インタフェース識別子を設定する。*/
     164        /* インタフェース識別子を設定する。*/
    177165        if ((error = IF_IN6_IFID(ifp, &addr)) != E_OK)
    178166                return error;
    179167
    180         /* インタフェースのアドレスæƒ
    181 å ±ã‚’更新する。*/
     168        /* インタフェースのアドレス情報を更新する。*/
    182169        if ((error = in6_update_ifa(ifp, &ifp->in6_ifaddrs[IPV6_IFADDR_IX_LINKLOCAL],
    183170                                    &addr, 64, ND6_INFINITE_LIFETIME,
     
    192179
    193180/*
    194  *  in6_ifattach -- インタフェースにアドレスを割り当てる。
     181 *  in6_ifattach -- インタフェースにアドレスを割り当てる。
    195182 */
    196183
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet6/in6_ifattach.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    8068
    8169/*
    82  *  関数
     70 *  関数
    8371 */
    8472
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet6/in6_rename.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4836
    4937/*
    50  *  TCP/IPv6 プロトコルスタックå†
    51 éƒ¨åã®ãƒªãƒãƒ¼ãƒ 
     38 *  TCP/IPv6 プロトコルスタック内部名のリネーム
    5239 */
    5340
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet6/in6_subr.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    150138
    151139/*
    152  *  in6_make_ipv4mapped -- IPv4 射影アドレスを生成する。
    153  *
    154  *  注意:
    155  *    src はホストバイトオーダー
     140 *  in6_make_ipv4mapped -- IPv4 射影アドレスを生成する。
     141 *
     142 *  注意:
     143 *    src はホストバイトオーダー
    156144 *
    157145 */
     
    173161
    174162/*
    175  *  in6_rtinit -- ルーティング表を初期化する。
     163 *  in6_rtinit -- ルーティング表を初期化する。
    176164 */
    177165
     
    189177
    190178/*
    191  *  in6_rtnewentry -- 新しいエントリを獲得する。
     179 *  in6_rtnewentry -- 新しいエントリを獲得する。
    192180 */
    193181
     
    199187        int_t           ix;
    200188
    201         /* 空きエントリを探す。*/
     189        /* 空きエントリを探す。*/
    202190        for (ix = NUM_IN6_STATIC_ROUTE_ENTRY; ix < NUM_IN6_ROUTE_ENTRY; ix ++) {
    203191                rt = &routing6_tbl[ix];
     
    208196                }
    209197
    210         /* expire の単位は [s]。*/
     198        /* expire の単位は [s]。*/
    211199        syscall(get_tim(&now));
    212200        now /= SYSTIM_HZ;
    213201
    214202        if (frt == NULL) {
    215                 /* 空きがなければ、有効時間がもっとも短いエントリを空きにする。*/
     203                /* 空きがなければ、有効時間がもっとも短いエントリを空きにする。*/
    216204                T_IN6_RTENTRY   *srt = NULL;
    217205                int_t           diff, sdiff = INT_MAX;
     
    222210                        diff = (int_t)(rt->expire - now);
    223211                        if (diff <= 0) {        /* rt->expire <= now */
    224                                 /* 既に、有効時間が過ぎている。*/
     212                                /* 既に、有効時間が過ぎている。*/
    225213                                frt = rt;
    226214                                break;
     
    243231
    244232/*
    245  *  in6_rttimer -- ルーティング表の管理タイマー
     233 *  in6_rttimer -- ルーティング表の管理タイマー
    246234 */
    247235
     
    252240        int_t   ix;
    253241
    254         /* expire の単位は [s]。*/
     242        /* expire の単位は [s]。*/
    255243        syscall(get_tim(&now));
    256244        now /= SYSTIM_HZ;
     
    269257
    270258/*
    271  *  ホストキャッシュ
     259 *  ホストキャッシュ
    272260 */
    273261
     
    277265
    278266/*
    279  *  in6_lookup_ifaddr -- ネットワークインタフェースに割り当てられているアドレスを探索する。
     267 *  in6_lookup_ifaddr -- ネットワークインタフェースに割り当てられているアドレスを探索する。
    280268 */
    281269
     
    294282
    295283/*
    296  *  in6_lookup_multi -- ネットワークインタフェースのマルチキャストアドレスを検索する。
     284 *  in6_lookup_multi -- ネットワークインタフェースのマルチキャストアドレスを検索する。
    297285 */
    298286
     
    309297
    310298/*
    311  *  in6_set_header -- IPv6 ヘッダを設定する。
     299 *  in6_set_header -- IPv6 ヘッダを設定する。
    312300 */
    313301
     
    322310
    323311        /*
    324          *  宛å
    325 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ã«ãµã•ã‚ã—い送信å
    326 ƒã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’、
    327          *  ネットワークインタフェースから探索して利用する。
     312         *  宛先アドレスにふさわしい送信元アドレスを、
     313         *  ネットワークインタフェースから探索して利用する。
    328314         */
    329315        if (srcaddr == NULL || !IN6_IS_ADDR_UNSPECIFIED(srcaddr))
     
    334320                srcaddr = &ia->addr;
    335321
    336         /* IPv6 ヘッダを設定する。*/
     322        /* IPv6 ヘッダを設定する。*/
    337323        ip6h            = GET_IP6_HDR(nbuf);
    338324        ip6h->vcf       = htonl(IP6_MAKE_VCF(IPV6_VERSION, 0));
     
    355341
    356342/*
    357  *  in6_get_datagram -- IPv6 データグラムを獲得し、ヘッダを設定する。
     343 *  in6_get_datagram -- IPv6 データグラムを獲得し、ヘッダを設定する。
    358344 */
    359345
     
    366352        uint_t          align;
    367353
    368         /* データ長は 4 オクテット境界に調整する。    */
     354        /* データ長は 4 オクテット境界に調整する。        */
    369355        align = (len + 3) >> 2 << 2;
    370356
    371         /* ネットワークバッファを獲得する。     */
     357        /* ネットワークバッファを獲得する。     */
    372358        if ((error = tget_net_buf_ex(nbuf, IF_IP6_HDR_SIZE + align,
    373359                                           IF_IP6_HDR_SIZE + maxlen, nbatr, tmout)) != E_OK)
     
    375361
    376362        /*
    377          *  より大きなサイズのネットワークバッファを獲得する場合のみ長さを調整する。
    378          *  より小さなサイズのネットワークバッファの獲得は、送信ウィンドバッファの
    379          *  省コピー機能で使用され、実際に送信するまで、データサイズは決定できない。
     363         *  より大きなサイズのネットワークバッファを獲得する場合のみ長さを調整する。
     364         *  より小さなサイズのネットワークバッファの獲得は、送信ウィンドバッファの
     365         *  省コピー機能で使用され、実際に送信するまで、データサイズは決定できない。
    380366         */
    381367        if ((nbatr & NBA_SEARCH_ASCENT) != 0)
    382368                (*nbuf)->len = IF_IP6_HDR_SIZE + len;
    383369
    384         /* IPv6 ヘッダを設定する。*/
     370        /* IPv6 ヘッダを設定する。*/
    385371        if ((error = in6_set_header(*nbuf, len, dstaddr, srcaddr, next, hlim)) != E_OK) {
    386372                syscall(rel_net_buf(*nbuf));
     
    389375                }
    390376
    391         /* 4 オクテット境界までパディングで埋める。*/
     377        /* 4 オクテット境界までパディングで埋める。*/
    392378        if (align > len)
    393379                memset(GET_IP6_SDU(*nbuf) + len, 0, align - len);
     
    397383
    398384/*
    399  *  in6_get_maxnum_ifaddr -- インタフェースに設定可能な最大アドレス数を返す。
     385 *  in6_get_maxnum_ifaddr -- インタフェースに設定可能な最大アドレス数を返す。
    400386 */
    401387
     
    407393
    408394/*
    409  *  in6_get_ifaddr -- インタフェースに設定されているアドレスを返す。
     395 *  in6_get_ifaddr -- インタフェースに設定されているアドレスを返す。
    410396 */
    411397
     
    423409
    424410/*
    425  *  ipv62str -- IPv6 アドレスを文字列に変換する。
     411 *  ipv62str -- IPv6 アドレスを文字列に変換する。
    426412 */
    427413
     
    493479
    494480/*
    495  *  in6_cksum -- IPv6 のトランスポート層ヘッダのチェックサムを計算する。
    496  *
    497  *  注意: 戻り値はネットワークバイトオーダ
     481 *  in6_cksum -- IPv6 のトランスポート層ヘッダのチェックサムを計算する。
     482 *
     483 *  注意: 戻り値はネットワークバイトオーダ
    498484 */
    499485
     
    504490        uint_t          align;
    505491
    506         /* 4 オクテット境界のデータ長 */
     492        /* 4 オクテット境界のデータ長 */
    507493        align = (len + 3) >> 2 << 2;
    508494
    509         /* 4 オクテット境界までパディングで埋める。*/
     495        /* 4 オクテット境界までパディングで埋める。*/
    510496        if (align > len)
    511497                memset((uint8_t*)nbuf->buf + off + len, 0, align - len);
     
    520506
    521507/*
    522  *  get_ip6_hdr_size -- 拡張ヘッダも含めた IPv6 ヘッダ長を返す。
     508 *  get_ip6_hdr_size -- 拡張ヘッダも含めた IPv6 ヘッダ長を返す。
    523509 */
    524510
     
    533519        while (1) {
    534520                next = *hdr;
    535                 if (curr ==IPPROTO_NONE)                /* 次ヘッダ無し                   */
     521                if (curr ==IPPROTO_NONE)                /* 次ヘッダ無し                       */
    536522                        break;
    537                 else if (curr == IPPROTO_FRAGMENT)      /* 断片化                    */
     523                else if (curr == IPPROTO_FRAGMENT)      /* 断片化                  */
    538524                        hsize = sizeof(T_IP6_FRAG_HDR);
    539                 else if (curr == IPPROTO_AH)            /* IPv6 認証                  */
     525                else if (curr == IPPROTO_AH)            /* IPv6 認証                      */
    540526                        hsize = (((T_IP6_AH_HDR *)hdr)->len + 2) * 4;
    541                 else if (curr == IPPROTO_HOPOPTS ||     /* 中継点 (Hop-by-Hop) オプション       */
    542                          curr == IPPROTO_DSTOPTS ||     /* IPv6 終点オプション           */
    543                          curr == IPPROTO_ROUTING)       /* 経路制御                 */
     527                else if (curr == IPPROTO_HOPOPTS ||     /* 中継点 (Hop-by-Hop) オプション       */
     528                         curr == IPPROTO_DSTOPTS ||     /* IPv6 終点オプション         */
     529                         curr == IPPROTO_ROUTING)       /* 経路制御                 */
    544530                        hsize = (((T_IP6_EXT_HDR *)hdr)->len + 1) * 8;
    545531                else
     
    553539
    554540/*
    555  *  in6_plen2pmask -- プレフィックス長からマスクを生成する。
     541 *  in6_plen2pmask -- プレフィックス長からマスクを生成する。
    556542 */
    557543
     
    571557
    572558/*
    573  *  in6_rtalloc -- ルーティング表を探索する。
     559 *  in6_rtalloc -- ルーティング表を探索する。
    574560 */
    575561
     
    585571
    586572                /*
    587                  *  サイトローカルアドレスか集約可能(グローバル)アドレスの場合は、
    588                  *  同一リンクå†
    589 ã®ãƒŽãƒ¼ãƒ‰ã§ã‚るかをチェックする。
     573                 *  サイトローカルアドレスか集約可能(グローバル)アドレスの場合は、
     574                 *  同一リンク内のノードであるかをチェックする。
    590575                 */
    591576
     
    593578                now /= SYSTIM_HZ;
    594579
    595                 /* 推奨有効時間å†
    596 ã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’探索する。*/
     580                /* 推奨有効時間内のアドレスを探索する。*/
    597581                for (ix = NUM_IN6_IFADDR_ENTRY; ix -- > 0; ) {
    598582                        ia = &ifp->in6_ifaddrs[ix];
     
    605589                        }
    606590
    607                 /* 有効時間å†
    608 ã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’探索する。*/
     591                /* 有効時間内のアドレスを探索する。*/
    609592                for (ix = NUM_IN6_IFADDR_ENTRY; ix -- > 0; ) {
    610593                        ia = &ifp->in6_ifaddrs[ix];
     
    617600
    618601                /*
    619                  *  プレフィックスを探索する。
     602                 *  プレフィックスを探索する。
    620603                 */
    621604                if (nd6_onlink_prefix_lookup (dst) != NULL)
     
    623606
    624607                /*
    625                  *  静的経路表を探索する。
     608                 *  静的経路表を探索する。
    626609                 */
    627610
     
    635618
    636619                                /*
    637                                  *  向け直しによるエントリは、有効時間が切れる時刻を延長する。
    638                                  *  expire の単位は [s]。
    639                                  *  TMO_IN_REDIRECT の単位は [ms]。
     620                                 *  向け直しによるエントリは、有効時間が切れる時刻を延長する。
     621                                 *  expire の単位は [s]。
     622                                 *  TMO_IN_REDIRECT の単位は [ms]。
    640623                                 */
    641624                                if (ix > NUM_IN6_STATIC_ROUTE_ENTRY) {
     
    655638
    656639                /*
    657                  *  ディフォルトルータ・リストを探索する。
     640                 *  ディフォルトルータ・リストを探索する。
    658641                 */
    659642                return nd6_router_lookup();
     
    664647
    665648/*
    666  *  in6_gateway_lookup -- ルーティング表のルータを探索する。
     649 *  in6_gateway_lookup -- ルーティング表のルータを探索する。
    667650 */
    668651
     
    680663
    681664/*
    682  *  in6_rtredirect -- ルーティング表にエントリを登録する。
    683  *
    684  *    注意: 引数 tmo の単位は [us]。
     665 *  in6_rtredirect -- ルーティング表にエントリを登録する。
     666 *
     667 *    注意: 引数 tmo の単位は [us]。
    685668 */
    686669
     
    701684
    702685/*
    703  *  in6_hostcache_lookup -- IPv6 ホストキャッシュを探索する。
     686 *  in6_hostcache_lookup -- IPv6 ホストキャッシュを探索する。
    704687 */
    705688
     
    717700
    718701/*
    719  *  in6_hostcache_update -- IPv6 ホストキャッシュを更新する。
     702 *  in6_hostcache_update -- IPv6 ホストキャッシュを更新する。
    720703 */
    721704
     
    729712        syscall(get_tim(&now));
    730713
    731         /* 既に登録されているか探索する。*/
     714        /* 既に登録されているか探索する。*/
    732715        if ((hc = in6_hostcache_lookup (dst)) == NULL) {
    733716
    734                 /* 空きのホストキャッシュを探す。*/
     717                /* 空きのホストキャッシュを探す。*/
    735718                for (ix = NUM_IN6_HOSTCACHE_ENTRY; ix -- > 0; ) {
    736719                        if (IN6_IS_HOSTCACHE_FREE(&in6_hostcache[ix]))
     
    740723                if (ix < 0) {
    741724                        /*
    742                          *  空きが無い時は、有効時間の切れる時間が、
    743                          *  最も短いホストキャッシュを置換する。
     725                         *  空きが無い時は、有効時間の切れる時間が、
     726                         *  最も短いホストキャッシュを置換する。
    744727                         */
    745728                        old = now - 1;
     
    761744
    762745                /*
    763                  *  既に登録されていて、新しい MTU が、登録されている MTU より大きいとき、
    764                  *  IN6_HOSTCACHE_INCREASE(推奨 10 分)間は更新しない。
     746                 *  既に登録されていて、新しい MTU が、登録されている MTU より大きいとき、
     747                 *  IN6_HOSTCACHE_INCREASE(推奨 10 分)間は更新しない。
    765748                 */
    766749                return;
     
    772755
    773756/*
    774  *  in6_hostcache_getmtu -- IPv6 ホストキャッシュをから MTU を取得する。
    775  *
    776  *    戻り値が 0 であれば、ホストキャッシュに登録されていない。
     757 *  in6_hostcache_getmtu -- IPv6 ホストキャッシュをから MTU を取得する。
     758 *
     759 *    戻り値が 0 であれば、ホストキャッシュに登録されていない。
    777760 */
    778761
     
    782765        T_IN6_HOSTCACHE_ENTRY   *hc;
    783766
    784         /* 既に登録されているか探索する。*/
     767        /* 既に登録されているか探索する。*/
    785768        if ((hc = in6_hostcache_lookup(dst)) == NULL)
    786769                return 0;
     
    790773
    791774/*
    792  *  in6_hostcache_timer -- IPv6 ホストキャッシュ更新タイマー
    793  *
    794  *    1秒周期で起動される。
     775 *  in6_hostcache_timer -- IPv6 ホストキャッシュ更新タイマー
     776 *
     777 *    1秒周期で起動される。
    795778 */
    796779
     
    812795
    813796/*
    814  *  in6_timer -- IPv6 å
    815 ±é€šã‚¿ã‚¤ãƒžãƒ¼
    816  *
    817  *    1秒周期で起動される。
     797 *  in6_timer -- IPv6 共通タイマー
     798 *
     799 *    1秒周期で起動される。
    818800 */
    819801
     
    843825
    844826/*
    845  *  in6_init -- IPv6 å
    846 ±é€šæ©Ÿèƒ½ã‚’初期化する。
     827 *  in6_init -- IPv6 共通機能を初期化する。
    847828 */
    848829
     
    861842
    862843/*
    863  *  in6_is_dstaddr_accept -- 宛å
    864 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ã¨ã—て正しいかチェックする。
     844 *  in6_is_dstaddr_accept -- 宛先アドレスとして正しいかチェックする。
    865845 */
    866846
     
    877857
    878858/*
    879  *  in6_add_ifaddr -- インタフェースに IPv6 アドレスを設定する。
    880  *
    881  *    vltime と pltime の単位は[s]
     859 *  in6_add_ifaddr -- インタフェースに IPv6 アドレスを設定する。
     860 *
     861 *    vltime と pltime の単位は[s]
    882862 */
    883863
     
    890870        int_t           ix;
    891871
    892         /* 空きのエントリーを探す。*/
     872        /* 空きのエントリーを探す。*/
    893873        ix = 0;
    894874        while (true) {
    895875                ia = in6ifa_ifpwithix(ifp, ix ++);
    896876
    897                 /* 空きが無ければエラー */
     877                /* 空きが無ければエラー */
    898878                if (ia == NULL)
    899879                        return E_OBJ;
     
    903883                }
    904884
    905         /* 登録する。*/
     885        /* 登録する。*/
    906886        return in6_update_ifa(ifp, ia, addr, prefix_len, vltime, pltime,
    907887                              IN6_RTR_IX_UNREACH, ND6_PREFIX_IX_INVALID, 0);
     
    909889
    910890/*
    911  *  in6_upd_ifaddr -- インタフェースに設定されている IPv6 アドレスを更新する。
    912  *
    913  *    登録されていなければ、追加する。
    914  *    vltime と pltime の単位は[s]
     891 *  in6_upd_ifaddr -- インタフェースに設定されている IPv6 アドレスを更新する。
     892 *
     893 *    登録されていなければ、追加する。
     894 *    vltime と pltime の単位は[s]
    915895 */
    916896
     
    924904
    925905        /*
    926          *  アドレスが一致するエントリーを探す。
    927          *  無ければ登録する。
     906         *  アドレスが一致するエントリーを探す。
     907         *  無ければ登録する。
    928908         */
    929909        if ((ix = in6_addr2ifaix(addr)) == IPV6_IFADDR_IX_INVALID)
     
    931911
    932912        /*
    933          *  インデックス番号から、エントリーに変換する。
    934          *  エラーにならないはずであるが、確認する。
     913         *  インデックス番号から、エントリーに変換する。
     914         *  エラーにならないはずであるが、確認する。
    935915         */
    936916        if ((ia = in6ifa_ifpwithix (ifp, ix)) == NULL)
    937917                return E_OBJ;
    938918
    939         /* 更新する。*/
     919        /* 更新する。*/
    940920        return in6_update_ifa(ifp, ia, addr, prefix_len, vltime, pltime,
    941921                              IN6_RTR_IX_UNREACH, ND6_PREFIX_IX_INVALID, 0);
     
    943923
    944924/*
    945  *  in6_del_ifaddr -- インタフェースに設定されている IPv6 アドレスを削除する。
     925 *  in6_del_ifaddr -- インタフェースに設定されている IPv6 アドレスを削除する。
    946926 */
    947927
     
    952932        int_t           ix;
    953933
    954         /* アドレスが一致するエントリーを探す。*/
     934        /* アドレスが一致するエントリーを探す。*/
    955935        if ((ix = in6_addr2ifaix(addr)) != IPV6_IFADDR_IX_INVALID) {
    956936
    957                 /* エントリーを無効にする。*/
     937                /* エントリーを無効にする。*/
    958938                ifp->in6_ifaddrs[ix].flags &= ~IN6_IFF_DEFINED;
    959939                return E_OK;
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet6/in6_var.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    115103
    116104/*
    117  *  アドレスの定義
     105 *  アドレスの定義
    118106 */
    119107
     
    149137
    150138/*
    151  *  特別なアドレスのチェック
    152  */
    153 
    154 /* IPv4 互換 */
     139 *  特別なアドレスのチェック
     140 */
     141
     142/* IPv4 互換 */
    155143
    156144#ifdef _NET_CFG_BYTE_ORDER
     
    160148#endif
    161149
    162 /* IPv4 射影 */
     150/* IPv4 射影 */
    163151
    164152#ifdef _NET_CFG_BYTE_ORDER
     
    169157#endif
    170158
    171 /* 要請マルチキャスト */
     159/* 要請マルチキャスト */
    172160
    173161#ifdef _NET_CFG_BYTE_ORDER
     
    182170
    183171/*
    184  *  アドレス有効時間構造体
     172 *  アドレス有効時間構造体
    185173 */
    186174
     
    188176
    189177        /*
    190          * expire と perferred は、システムが起動してからの経過時間
     178         * expire と perferred は、システムが起動してからの経過時間
    191179         */
    192         uint32_t        expire;         /* 有効時間が切れる時刻 [s]   */
    193         uint32_t        preferred;      /* 推奨有効時間が切れる時刻 [s]     */
     180        uint32_t        expire;         /* 有効時間が切れる時刻 [s]       */
     181        uint32_t        preferred;      /* 推奨有効時間が切れる時刻 [s]     */
    194182
    195183        /*
    196          * vltime と pltime は、追加/変更してからの相対時間
     184         * vltime と pltime は、追加/変更してからの相対時間
    197185         */
    198         uint32_t        vltime;         /* 有効時間 [us]                    */
    199         uint32_t        pltime;         /* 推奨有効時間 [us]              */
     186        uint32_t        vltime;         /* 有効時間 [us]                    */
     187        uint32_t        pltime;         /* 推奨有効時間 [us]          */
    200188        } __attribute__((packed, aligned(2)))T_IN6_ADDR_LIFETIME;
    201189
    202190/*
    203  *  インタフェースアドレス構造体
     191 *  インタフェースアドレス構造体
    204192 */
    205193
    206194typedef 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) 要請の出力回数       */
    218204        } __attribute__((packed, aligned(2)))T_IN6_IFADDR;
    219205
    220206/*
    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 *  アドレスの有効性チェック
    236221 */
    237222
     
    248233
    249234/*
    250  *  ルータのインデックス
     235 *  ルータのインデックス
    251236 */
    252237
     
    254239
    255240/*
    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 *  アドレス情報配列のインデックス
    265248 */
    266249
     
    269252
    270253/*
    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       /* 全ノード・リンクローカル・マルチキャストアドレス     */
    278259#define IPV6_MADDR_IX_EXTRA             2
    279260
    280261#define MAX_IN6_MADDR_CNT               MAX_IF_MADDR_CNT
    281                                                 /* IPv6 マルチキャストアドレスé
    282 åˆ—の最大サイズ  */
    283 
    284 /* ルーティング表エントリ構造体 */
     262                                                /* IPv6 マルチキャストアドレス配列の最大サイズ     */
     263
     264/* ルーティング表エントリ構造体 */
    285265
    286266typedef 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;     /* プレフィックス長             */
    292272        } __attribute__((packed, aligned(2)))T_IN6_RTENTRY;
    293273
    294274/*
    295  *  ホストキャッシュ
    296  */
    297 
    298 /* ホストキャッシュ構造体 */
     275 *  ホストキャッシュ
     276 */
     277
     278/* ホストキャッシュ構造体 */
    299279
    300280typedef 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]       */
    303283        uint32_t        mtu;            /* Path MTU                     */
    304284        } __attribute__((packed, aligned(2)))T_IN6_HOSTCACHE_ENTRY;
    305285
    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)       /* 増加する場合の保護時間  */
    309289
    310290#define IN6_IS_HOSTCACHE_FREE(e)        IN6_IS_ADDR_UNSPECIFIED(&((e)->dst))
     
    312292
    313293/*
    314  *  ルーティング表
     294 *  ルーティング表
    315295 */
    316296
     
    318298
    319299/*
    320  *  前方参ç
    321 §
     300 *  前方参照
    322301 */
    323302
     
    331310
    332311/*
    333  *  変数
     312 *  変数
    334313 */
    335314
     
    337316
    338317/*
    339  *  関数シミュレーションマクロ
     318 *  関数シミュレーションマクロ
    340319 */
    341320
     
    345324
    346325/*
    347  *  関数
     326 *  関数
    348327 */
    349328
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet6/ip6.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  IPv6 で使用するカーネルオブジェクト
     35 *  IPv6 で使用するカーネルオブジェクト
    4836 */
    4937
    5038#ifdef _IP6_CFG
    5139
    52 /* 近隣キャッシュ */
     40/* 近隣キャッシュ */
    5341
    5442CRE_SEM(SEM_ND6_CACHE, { TA_TPRI, 1, 1 });
     
    5644#if NUM_ND6_DEF_RTR_ENTRY > 0
    5745
    58 /* ディフォルトルータ・リスト */
     46/* ディフォルトルータ・リスト */
    5947
    6048CRE_SEM(SEM_ND6_DEFRTRLIST, { TA_TPRI, 1, 1 });
     
    6452#ifdef IP6_CFG_FRAGMENT
    6553
    66 /* 分割ヘッダ */
     54/* 分割ヘッダ */
    6755
    6856CRE_SEM(SEM_IP6_FRAG_QUEUE, { TA_TPRI, 1, 1 });
     
    7260#if NUM_IN6_ROUTE_ENTRY > 0
    7361
    74 /* ルーティング表 */
     62/* ルーティング表 */
    7563
    7664CRE_SEM(SEM_IN6_ROUTING_TBL, { TA_TPRI, 1, 1 });
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet6/ip6_input.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    161149
    162150/*
    163  *  関数
     151 *  関数
    164152 */
    165153
     
    167155
    168156/*
    169  *  上位プロトコル選択構造体
     157 *  上位プロトコル選択構造体
    170158 */
    171159
    172160typedef 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;                                           /* プロトコル番号      */
    176163        } T_PROTO_SWITCH;
    177164
    178165static 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 終点オプション */
    184171        { ip6_no_header_input,
    185                         IPPROTO_NONE            },      /* 次ヘッダ無し           */
     172                        IPPROTO_NONE            },      /* 次ヘッダ無し               */
    186173        { icmp6_input,  IPPROTO_ICMPV6          },
    187174
     
    207194
    208195/*
    209  *  get_upper_proto -- 上位プロトコル処理関数を返す。
     196 *  get_upper_proto -- 上位プロトコル処理関数を返す。
    210197 */
    211198
     
    222209
    223210/*
    224  *  ip6_no_header_input -- 次ヘッダが無しの場合のå
    225 ¥åŠ›å‡¦ç†
     211 *  ip6_no_header_input -- 次ヘッダが無しの場合の入力処理
    226212 */
    227213
     
    234220
    235221/*
    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)    エラー、ネットワークバッファは開放されている。
    248231 */
    249232
     
    293276
    294277/*
    295  *  ip6_get_prev_hdr -- 直前の拡張ヘッダの next フィールドのアドレスを返す。
    296  *
    297  *    注意: off には IF_HDR_SIZE も含まれている。
     278 *  ip6_get_prev_hdr -- 直前の拡張ヘッダの next フィールドのアドレスを返す。
     279 *
     280 *    注意: off には IF_HDR_SIZE も含まれている。
    298281 */
    299282
     
    339322
    340323/*
    341  *  ip6_init -- IPv6 の初期化関数
     324 *  ip6_init -- IPv6 の初期化関数
    342325 */
    343326
     
    350333
    351334/*
    352  *  ip6_input -- IPv6 のå
    353 ¥åŠ›é–¢æ•°
     335 *  ip6_input -- IPv6 の入力関数
    354336 */
    355337
     
    368350        NET_COUNT_MIB(in6_ifstat.ipv6IfStatsInReceives, 1);
    369351
    370         /* IP ヘッダの長さをチェックする。*/
     352        /* IP ヘッダの長さをチェックする。*/
    371353        if (input->len < IF_IP6_HDR_SIZE) {
    372354                NET_COUNT_IP6(net_count_ip6[NC_IP6_IN_ERR_SHORT], 1);
     
    377359        ip6h = GET_IP6_HDR(input);
    378360
    379         /* バージョンをチェックする。*/
     361        /* バージョンをチェックする。*/
    380362        if (IP6_VCF_V(ntohl(ip6h->vcf)) != IPV6_VERSION) {
    381363                NET_COUNT_IP6(net_count_ip6[NC_IP6_IN_ERR_VER], 1);
     
    385367
    386368        /*
    387          *  次のデータグラムは破棄する。
     369         *  次のデータグラムは破棄する。
    388370         *
    389          *    ・始点アドレスがマルチキャスト
    390          *    ・終点アドレスが未定義
     371         *    ・始点アドレスがマルチキャスト
     372         *    ・終点アドレスが未定義
    391373         *
    392          *  ネットワークインタフェースがループバックでないとき、
    393          *  次のデータグラムも破棄する。
     374         *  ネットワークインタフェースがループバックでないとき、
     375         *  次のデータグラムも破棄する。
    394376         *
    395          *    ・始点アドレスがループバック
    396          *    ・終点アドレスがループバック
     377         *    ・始点アドレスがループバック
     378         *    ・終点アドレスがループバック
    397379         *
    398          *  悪意のあるユーザが TCP/UDP スタックの混乱や
    399          *  セキュリティチェックをバイパスするため、IPv4
    400          *  マップアドレスを悪用することを防ぐため
    401          *  以下のデータグラムは破棄する。 
     380         *  悪意のあるユーザが TCP/UDP スタックの混乱や
     381         *  セキュリティチェックをバイパスするため、IPv4
     382         *  マップアドレスを悪用することを防ぐため
     383         *  以下のデータグラムは破棄する。 
    402384         *
    403          *    ・始点アドレスが ::ffff:127.0.0.1
    404          *    ・終点アドレスが ::ffff:127.0.0.1
     385         *    ・始点アドレスが ::ffff:127.0.0.1
     386         *    ・終点アドレスが ::ffff:127.0.0.1
    405387         */
    406388
     
    435417
    436418        if (IN6_IS_ADDR_MULTICAST(&ip6h->dst)) {
    437                 /* 宛å
    438 ˆãŒãƒžãƒ«ãƒã‚­ãƒ£ã‚¹ãƒˆã®å ´åˆã®å‡¦ç† */
     419                /* 宛先がマルチキャストの場合の処理 */
    439420                NET_COUNT_MIB(in6_ifstat.ipv6IfStatsInMcastPkts, 1);
    440421                if (!in6_lookup_multi(ifp, &ip6h->dst)) {
     
    451432                        }
    452433
    453                 /*  アドレスが未解決の場合はデータグラムを破棄する。*/
     434                /*  アドレスが未解決の場合はデータグラムを破棄する。*/
    454435                if (IFA6_IS_NOTREADY(ia6)) {
    455436                        NET_COUNT_IP6(net_count_ip6[NC_IP6_IN_ERR_ADDR], 1);
     
    459440                }
    460441
    461         /* オフセットを設定する。*/
     442        /* オフセットを設定する。*/
    462443        offp  = GET_IP6_NEXT_HDR(input) - input->buf;
    463444
    464         /* ペイロード長を取り出す。*/
     445        /* ペイロード長を取り出す。*/
    465446        plen = ntohs(ip6h->plen);
    466447
    467448
    468         /* 次ヘッダの位置を初期化する。*/
     449        /* 次ヘッダの位置を初期化する。*/
    469450        nextp = offsetof(T_IP6_HDR, next);
    470451
    471452        /*
    472          *  中継点 (Hop-by-Hop) オプションヘッダのチェック
     453         *  中継点 (Hop-by-Hop) オプションヘッダのチェック
    473454         */
    474455        if (ip6h->next == IPPROTO_HOPOPTS) {
    475456
    476                 /* 中継点ヘッダの長さをチェックする。*/
     457                /* 中継点ヘッダの長さをチェックする。*/
    477458                if (plen < sizeof(T_IP6_HBH_HDR)) {
    478459                        NET_COUNT_IP6(net_count_ip6[NC_IP6_IN_ERR_SHORT], 1);
     
    495476
    496477                /*
    497                  *  ペイロード長が 0 で、中継点オプションがあるときは、
    498                  *  巨大ペイロード・オプションが含まれなければならない。
    499                  *  このとき、巨大ペイロード・オプションにある
    500                  *  ペイロード長をチェックするå¿
    501 è¦ãŒã‚るが、本実è£
    502 ã§ã¯ã€
    503                  *  巨大ペイロード・オプションを未知のオプションとして
    504                  *  扱うので、何もしない。
     478                 *  ペイロード長が 0 で、中継点オプションがあるときは、
     479                 *  巨大ペイロード・オプションが含まれなければならない。
     480                 *  このとき、巨大ペイロード・オプションにある
     481                 *  ペイロード長をチェックする必要があるが、本実装では、
     482                 *  巨大ペイロード・オプションを未知のオプションとして
     483                 *  扱うので、何もしない。
    505484                 */
    506485                next = ((T_IP6_HBH_HDR *)(ip6h + 1))->next;
     
    509488                next = ip6h->next;
    510489
    511         /* IPv6 データグラム長をチェックする。*/
     490        /* IPv6 データグラム長をチェックする。*/
    512491        if (input->len - IF_IP6_HDR_SIZE < plen) {
    513492                NET_COUNT_IP6(net_count_ip6[NC_IP6_IN_ERR_SHORT], 1);
     
    518497                input->len = IF_IP6_HDR_SIZE + plen;
    519498
    520         /* 上位プロトコル処理関数を呼び出す。*/
     499        /* 上位プロトコル処理関数を呼び出す。*/
    521500        nest = 0;
    522501        while (next != IPPROTO_DONE) {
     
    531510                        NET_COUNT_MIB(in6_ifstat.ipv6IfStatsInUnknownProtos, 1);
    532511
    533                         /* icmp6_error でネットワークバッファを開放する。*/
     512                        /* icmp6_error でネットワークバッファを開放する。*/
    534513                        icmp6_error(input, ICMP6_PARAM_PROB,
    535514                                           ICMP6_PARAMPROB_NEXT_HEADER, nextp);
     
    548527
    549528/*
    550  *  ip6_nexthdr -- 次のヘッダのオフセットを返す。
    551  *
    552  *    戻り値 == -1 : 最後のヘッダ、またはエラー。
    553  *    戻り値 >   0 : さらにヘッダが続く。
     529 *  ip6_nexthdr -- 次のヘッダのオフセットを返す。
     530 *
     531 *    戻り値 == -1 : 最後のヘッダ、またはエラー。
     532 *    戻り値 >   0 : さらにヘッダが続く。
    554533 */
    555534
     
    569548                break;
    570549
    571         case IPPROTO_FRAGMENT:                  /* 断片ヘッダ */
     550        case IPPROTO_FRAGMENT:                  /* 断片ヘッダ */
    572551                if (nbuf->len < off + sizeof(T_IP6_FRAG_HDR))
    573552                        return (ER_UINT)-1;
    574553
    575                 /* 中間のフラグメントの場合は処理をやめる。*/
     554                /* 中間のフラグメントの場合は処理をやめる。*/
    576555                ip6fh = (T_IP6_FRAG_HDR *)(nbuf->buf + off);
    577556                if (ntohs(ip6fh->off_flag) & IP6F_MORE_FRAG)
     
    582561                break;
    583562
    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 終点オプション                 */
    588567                if (nbuf->len < off + sizeof(T_IP6_EXT_HDR))
    589568                        return (ER_UINT)-1;
     
    602581
    603582/*
    604  *  ip6_lasthdr -- 最後のヘッダのオフセットを返す。
     583 *  ip6_lasthdr -- 最後のヘッダのオフセットを返す。
    605584 */
    606585
     
    621600
    622601/*
    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)    エラー、ネットワークバッファは開放されている。
    630609 */
    631610
     
    634613{
    635614        switch (IP6OPT_TYPE(*opt)) {
    636         case IP6OPT_TYPE_SKIP:          /* 無視する。                      */
     615        case IP6OPT_TYPE_SKIP:          /* 無視する。                        */
    637616                return *(opt + 1);
    638617                break;
    639         case IP6OPT_TYPE_ICMP:          /* 破棄して、マルチキャストでなければ ICMP を返送する。  */
     618        case IP6OPT_TYPE_ICMP:          /* 破棄して、マルチキャストでなければ ICMP を返送する。        */
    640619                if (IN6_IS_ADDR_MULTICAST(&GET_IP6_HDR(input)->dst))
    641620                        return IP6_OPT_RET_ERR;
    642621                /* no break; */
    643         case IP6OPT_TYPE_FORCEICMP:     /* 破棄して、ICMP を返送する。       */
     622        case IP6OPT_TYPE_FORCEICMP:     /* 破棄して、ICMP を返送する。     */
    644623                icmp6_error(input, ICMP6_PARAM_PROB,
    645624                                   ICMP6_PARAMPROB_OPTION,
     
    647626                return IP6_OPT_RET_REL;
    648627                break;
    649         /*case IP6OPT_TYPE_DISCARD:     ãƒ‡ãƒ¼ã‚¿ã‚°ãƒ©ãƒ ã‚’破棄する。    */
     628        /*case IP6OPT_TYPE_DISCARD:     データグラムを破棄する。    */
    650629                }
    651630
     
    654633
    655634/*
    656  *  ip6_remove_exthdrs -- IPv6 拡張ヘッダを削除し、以降を前に詰める。
     635 *  ip6_remove_exthdrs -- IPv6 拡張ヘッダを削除し、以降を前に詰める。
    657636 */
    658637
     
    663642        uint_t  next;
    664643
    665         /* 開始オフセットを IP ヘッダに設定する。*/
     644        /* 開始オフセットを IP ヘッダに設定する。*/
    666645        off = ((uint8_t *)GET_IP6_HDR(nbuf)) - nbuf->buf;
    667646
    668         /* 最終ヘッダを探索する。*/
     647        /* 最終ヘッダを探索する。*/
    669648        off = ip6_lasthdr(nbuf, off, IPPROTO_IPV6, &next);
    670649
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet6/ip6_output.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    154142
    155143/*
    156  *  å
    157 ¨åŸŸå¤‰æ•°
    158  */
    159 
    160 /* リンク MTU */
     144 *  全域変数
     145 */
     146
     147/* リンク MTU */
    161148
    162149uint32_t        linkmtu = IF_MTU;
    163150
    164151/*
    165  *  局所変数
     152 *  局所変数
    166153 */
    167154
     
    173160
    174161/*
    175  *  ip6_output -- IPv6 の出力関数
     162 *  ip6_output -- IPv6 の出力関数
    176163 */
    177164
     
    204191
    205192        /*
    206          *  重複アドレス検出要請以外には、送信å
    207 ƒã‚¢ãƒ‰ãƒ¬ã‚¹ã«
    208          *  無指定を指定できない。
     193         *  重複アドレス検出要請以外には、送信元アドレスに
     194         *  無指定を指定できない。
    209195         */
    210196        if (IN6_IS_ADDR_UNSPECIFIED(&ip6h->src) && (flags & IPV6_OUT_FLG_DAD) == 0) {
     
    213199                }
    214200
    215         /* 送信å
    216 ƒã‚¢ãƒ‰ãƒ¬ã‚¹ã«ã¯ãƒžãƒ«ãƒã‚­ãƒ£ã‚¹ãƒˆã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’指定できない。*/
     201        /* 送信元アドレスにはマルチキャストアドレスを指定できない。*/
    217202        if (IN6_IS_ADDR_MULTICAST(&ip6h->src)) {
    218203                error = E_PAR;
     
    221206
    222207        /*
    223          *  経路選択を行う。
     208         *  経路選択を行う。
    224209         */
    225210        if ((gw = in6_rtalloc(ifp, &ip6h->dst)) == NULL) {
     
    229214
    230215        if (!IN6_IS_ADDR_MULTICAST(&ip6h->dst)) {
    231                 /* ユニキャストアドレスの処理 */
     216                /* ユニキャストアドレスの処理 */
    232217                }
    233218        else {
    234                 /* マルチキャストアドレスの処理 */
     219                /* マルチキャストアドレスの処理 */
    235220                NET_COUNT_MIB(in6_ifstat.ipv6IfStatsOutMcastPkts, 1);
    236221                if (flags & IPV6_OUT_FLG_HOP_LIMIT)
     
    240225                }
    241226
    242         /* Traffic Class と Flow Label をサポートしないので 0 に設定する。*/
     227        /* Traffic Class と Flow Label をサポートしないので 0 に設定する。*/
    243228        ip6h->vcf = htonl(IP6_MAKE_VCF(IPV6_VERSION, 0));
    244229
     
    253238
    254239                /*
    255                  *  Path MTU が登録されている場合、
    256                  *  MTU が IPv6 MMTU(1280 オクテット)以下の場合は、
    257                  *  MTU を IPv6 MMTU に設定し分割して送信する。
     240                 *  Path MTU が登録されている場合、
     241                 *  MTU が IPv6 MMTU(1280 オクテット)以下の場合は、
     242                 *  MTU を IPv6 MMTU に設定し分割して送信する。
    258243                 */
    259244                mtu = IPV6_MMTU;
     
    272257        if (plen + IP6_HDR_SIZE <= mtu && !alwaysfrag) {
    273258
    274                 /* 分割するå¿
    275 è¦ãŒãªã„ときの処理 */
     259                /* 分割する必要がないときの処理 */
    276260                if ((error = nd6_output(ifp, output, gw, NULL, tmout)) != E_OK) {
    277261                        NET_COUNT_IP6(net_count_ip6[NC_IP6_OUT_ERR_PACKETS], 1);
     
    281265        else {
    282266
    283                 /* 断片 ID を設定する。*/
     267                /* 断片 ID を設定する。*/
    284268                id = ip6_id ++;
    285269
    286                 /* MTU が IPv6 の最大パケットサイズをè¶
    287 ãˆãªã„ようにする。*/
     270                /* MTU が IPv6 の最大パケットサイズを超えないようにする。*/
    288271                if (mtu > IPV6_MAXPACKET)
    289272                        mtu = IPV6_MAXPACKET;
    290273
    291274                /*
    292                  *  MTU から、分割不能部分(TINET-1.4 では、分割ヘッダ以外の
    293                  *  拡張ヘッダの出力は未実è£
    294 ã®ãŸã‚ 0 オクテット)
    295                  *  と断片ヘッダのサイズを引いたとき、8 オクテット以上なければ
    296                  *  分割して送信できないためエラーにする。
     275                 *  MTU から、分割不能部分(TINET-1.4 では、分割ヘッダ以外の
     276                 *  拡張ヘッダの出力は未実装のため 0 オクテット)
     277                 *  と断片ヘッダのサイズを引いたとき、8 オクテット以上なければ
     278                 *  分割して送信できないためエラーにする。
    297279                 */
    298280                if (((mtu - sizeof(T_IP6_FRAG_HDR)) & ~7) < 8) {
     
    302284
    303285                /*
    304                  *  IPv6 ヘッダの next フィールドに設定する値は、断片ヘッダ。
    305                  *  断片ヘッダの  next フィールドに設定する値は、
    306                  *  å
    307 ƒã®ãƒ‡ãƒ¼ã‚¿ã‚°ãƒ©ãƒ ã® next フィールドの値。
     286                 *  IPv6 ヘッダの next フィールドに設定する値は、断片ヘッダ。
     287                 *  断片ヘッダの  next フィールドに設定する値は、
     288                 *  元のデータグラムの next フィールドの値。
    308289                 */
    309290                nextproto  = ip6h->next;
    310291                ip6h->next = IPPROTO_FRAGMENT;
    311292
    312                 /* 分割して送信する。*/
     293                /* 分割して送信する。*/
    313294                NET_COUNT_IP6(net_count_ip6[NC_IP6_FRAG_OUT], 1);
    314295                for (foff = 0; foff < plen; foff += flen) {
    315296
    316                         /* 断片の長さを計算し、8 オクテット境界に調整する。*/
     297                        /* 断片の長さを計算し、8 オクテット境界に調整する。*/
    317298                        if (foff + (mtu - (IP6_HDR_SIZE + sizeof(T_IP6_FRAG_HDR))) < plen)
    318299                                flen = (mtu - (IP6_HDR_SIZE + sizeof(T_IP6_FRAG_HDR))) >> 3 << 3;
     
    320301                                flen = plen - foff;
    321302
    322                         /* ネットワークバッファを獲得する。*/
     303                        /* ネットワークバッファを獲得する。*/
    323304                        if (tget_net_buf(&frag, flen + IF_IP6_HDR_SIZE + sizeof(T_IP6_FRAG_HDR), TMO_IP6_FRAG_GET_NET_BUF) == E_OK) {
    324305
    325                                 /* IPv6 ヘッダをコピーする。*/
     306                                /* IPv6 ヘッダをコピーする。*/
    326307                                fip6h = GET_IP6_HDR(frag);
    327308                                *fip6h = *ip6h;
    328309
    329                                 /* IPv6 ヘッダを埋める。*/
     310                                /* IPv6 ヘッダを埋める。*/
    330311                                fip6h->plen     = htons(flen + sizeof(T_IP6_FRAG_HDR));
    331312
    332                                 /* 断片ヘッダを埋める。*/
     313                                /* 断片ヘッダを埋める。*/
    333314                                fip6f = (T_IP6_FRAG_HDR *)GET_IP6_NEXT_HDR(frag);
    334315                                fip6f->off_flag = htons((uint16_t)(foff & ~7));
     
    339320                                fip6f->next     = nextproto;
    340321
    341                                 /* SDU をコピーする。*/
     322                                /* SDU をコピーする。*/
    342323                                memcpy((uint8_t*)(fip6f + 1), GET_IP6_NEXT_HDR(output) + foff, flen);
    343324                                NET_COUNT_IP6(net_count_ip6[NC_IP6_FRAG_OUT_FRAGS], 1);
    344325                                NET_COUNT_MIB(in6_ifstat.ipv6IfStatsOutFragCreates, 1);
    345326
    346                                 /* 送信する。*/
     327                                /* 送信する。*/
    347328                                if ((error = nd6_output(ifp, frag, gw, NULL, tmout)) != E_OK) {
    348329                                        NET_COUNT_MIB(in6_ifstat.ipv6IfStatsOutFragFails, 1);
     
    351332                                }
    352333                        else {
    353                                 /* ネットワークバッファが獲得できなければ、送信をあきらめる。*/
     334                                /* ネットワークバッファが獲得できなければ、送信をあきらめる。*/
    354335                                error = E_NOMEM;
    355336                                goto drop;
     
    357338                        }
    358339
    359                 /* IF でネットワークバッファを開放しないフラグをチェックする。*/
     340                /* IF でネットワークバッファを開放しないフラグをチェックする。*/
    360341                if ((output->flags & NB_FLG_NOREL_IFOUT) == 0) {
    361342                        syscall(rel_net_buf(output));
     
    379360
    380361drop:
    381         /* IF でネットワークバッファを開放しないフラグをチェックする。*/
     362        /* IF でネットワークバッファを開放しないフラグをチェックする。*/
    382363        if ((output->flags & NB_FLG_NOREL_IFOUT) == 0) {
    383364                syscall(rel_net_buf(output));
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet6/ip6_var.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    115103
    116104/*
    117  *  IPv6 ヘッダ・ペイロードアクセスマクロ
     105 *  IPv6 ヘッダ・ペイロードアクセスマクロ
    118106 */
    119107
     
    131119#define SET_IP6_SDU_SIZE(nbuf,slen)     (GET_IP6_HDR(nbuf)->plen=htons(slen))
    132120
    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/* ホップリミットフラグが付く時、ホップリミット値を操作するマクロ */
    139127
    140128#define IPV6_OUT_GET_HOP_LIMIT(f)       ((f)&0x00ff)
     
    142130
    143131/*
    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)    エラー、ネットワークバッファは開放されている。
    151139 */
    152140
     
    155143
    156144/*
    157  *  IPv6 の MMTU サイズのネットワークバッファ
     145 *  IPv6 の MMTU サイズのネットワークバッファ
    158146 */
    159147
     
    161149
    162150typedef 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;   /* インタフェース番号    */
    166154#ifdef IF_ETHER_NIC_NET_BUF_ALIGN
    167155        uint8_t         nalign[IF_ETHER_NIC_NET_BUF_ALIGN];
     
    171159#endif
    172160        uint8_t         buf[IF_HDR_SIZE + IPV6_MMTU];
    173                                 /* バッファ本体           */
     161                                /* バッファ本体               */
    174162        } T_NET_BUF_IPV6_MMTU;
    175163
     
    177165
    178166/*
    179  *  65536 オクテットサイズのネットワークバッファ
     167 *  65536 オクテットサイズのネットワークバッファ
    180168 */
    181169
    182170typedef 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;  /* フラグ          */
    186174#ifdef IF_ETHER_NIC_NET_BUF_ALIGN
    187175        uint8_t         nalign[IF_ETHER_NIC_NET_BUF_ALIGN];
     
    191179#endif
    192180        uint8_t         buf[IF_IP6_HDR_SIZE + 65536];
    193                                 /* バッファ本体           */
     181                                /* バッファ本体               */
    194182#if defined(IF_PDU_HDR_PADDING)
    195183        uint8_t         padding[IF_PDU_HDR_PADDING];
    196 #endif                          /* ヘッダの余分           */
     184#endif                          /* ヘッダの余分               */
    197185        } T_NET_BUF6_65536;
    198186
     
    200188
    201189/*
    202  *  再構成キュー用 IPv6 ヘッダの定義
     190 *  再構成キュー用 IPv6 ヘッダの定義
    203191 */
    204192
     
    211199        uint8_t         hlim;           /* Hop Limit                            */
    212200        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;           /* 再構成タイムアウト                    */
    217205        uint16_t        dummy1;
    218206        uint8_t         dummy2[sizeof(T_IN6_ADDR) - (sizeof(T_NET_BUF*) + sizeof(uint16_t) * 4)];
     
    229217
    230218/*
    231  *  データグラム再構成用ネットワークバッファ
     219 *  データグラム再構成用ネットワークバッファ
    232220 */
    233221
    234222typedef 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;  /* フラグ          */
    238226#ifdef IF_ETHER_NIC_NET_BUF_ALIGN
    239227        uint8_t         nalign[IF_ETHER_NIC_NET_BUF_ALIGN];
     
    243231#endif
    244232        uint8_t         buf[IP6_CFG_FRAG_REASSM_SIZE];
    245                                 /* バッファ本体           */
     233                                /* バッファ本体               */
    246234        } T_NET_BUF6_REASSM;
    247235
     
    249237
    250238/*
    251  *  TCP の再構成キューにおける IPv6 ヘッダの定義
     239 *  TCP の再構成キューにおける IPv6 ヘッダの定義
    252240 */
    253241
     
    256244        uint8_t cf;             /* Traffic Class:  8 bit                */
    257245                        /* Flow Label:     4 bit (20 bit)       */
    258         uint16_t thoff; /* TCP ヘッダのオフセット              */
     246        uint16_t thoff; /* TCP ヘッダのオフセット                */
    259247        uint16_t plen;  /* Payload Length                       */
    260248        uint8_t next;   /* Next Header                          */
     
    267255
    268256/*
    269  *  SNMP の 管理æƒ
    270 å ±ãƒ™ãƒ¼ã‚¹ (MIB)
     257 *  SNMP の 管理情報ベース (MIB)
    271258 */
    272259
     
    299286
    300287/*
    301  *  変数
     288 *  変数
    302289 */
    303290
     
    305292
    306293/*
    307  *  関数
     294 *  関数
    308295 */
    309296
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet6/ipsec.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    77 *  Copyright (C) 2008-2009 by Hokkaido Industrial Research Institute, JAPAN
    88 *
    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プロジェクトを免責すること.
    3827 *
    39  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    40 ãŠ
    41  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    42  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    43  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     28 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     29 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     30 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     31 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4432 *
    4533 *  @(#) $Id$
     
    4735
    4836/*
    49  *  IPsec で使用するカーネルオブジェクト
     37 *  IPsec で使用するカーネルオブジェクト
    5038 */
    5139
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet6/nd6.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    132120
    133121/*
    134  *  近隣キャッシュ
     122 *  近隣キャッシュ
    135123 */
    136124
     
    138126
    139127/*
    140  *  nd6_free -- ルータを削除する。
     128 *  nd6_free -- ルータを削除する。
    141129 */
    142130
     
    150138                ln->state = ND6_LLINFO_INCOMPLETE;
    151139
    152                 /* プレフィックス・リストからルータを削除する。*/
     140                /* プレフィックス・リストからルータを削除する。*/
    153141                nd6_defrtrlist_del(dr);
    154142                }
     
    156144
    157145/*
    158  *  nd6_timer -- 近隣探索管理タイマー
     146 *  nd6_timer -- 近隣探索管理タイマー
    159147 */
    160148
     
    167155        int_t           ix;
    168156
    169         /* 近隣キャッシュの処理 */
     157        /* 近隣キャッシュの処理 */
    170158        syscall(wai_sem(SEM_ND6_CACHE));
    171159        syscall(get_tim(&now));
     
    177165                        switch (ln->state) {
    178166
    179                         case ND6_LLINFO_INCOMPLETE:     /* 未解決            */
     167                        case ND6_LLINFO_INCOMPLETE:     /* 未解決          */
    180168                                if (ln->asked < ND6_MAX_MCAST_QUERY) {
    181169                                        /*
    182                                          *  マルチキャストアドレス要請の再送回数以下の場合の処理
     170                                         *  マルチキャストアドレス要請の再送回数以下の場合の処理
    183171                                         */
    184172                                        ln->asked ++;
    185                                         ln->expire = now + ND6_RETRANS_TIME;    /* 近隣探索送信間隔 */
     173                                        ln->expire = now + ND6_RETRANS_TIME;    /* 近隣探索送信間隔 */
    186174                                        nd6_ns_output(ifp, &in6_addr_unspecified, &ln->addr, ln, false);
    187175                                        }
     
    189177                                        if (ln->hold != NULL) {
    190178                                                /*
    191                                                  *  最終的には、保留されているネットワークバッファが
    192                                                  *  あれば、ICMP6 ERROR を自分自身に返したあと、
    193                                                  *  ネットワークバッファを開放する。
    194                                                  *  しかし、現在、icmp6_error の実è£
    195 ãŒä¸å®Œå
    196 ¨ã®ãŸã‚ã€
    197                                                  *  ネットワークバッファの開放のみ行う。
     179                                                 *  最終的には、保留されているネットワークバッファが
     180                                                 *  あれば、ICMP6 ERROR を自分自身に返したあと、
     181                                                 *  ネットワークバッファを開放する。
     182                                                 *  しかし、現在、icmp6_error の実装が不完全のため、
     183                                                 *  ネットワークバッファの開放のみ行う。
    198184                                                 */
    199 #if 0   /* 保留 */
     185#if 0   /* 保留 */
    200186                                                icmp6_error(ln->hold, ICMP6_DST_UNREACH,
    201187                                                                      ICMP6_DST_UNREACH_ADDR, 0);
     
    209195                                break;
    210196
    211                         case ND6_LLINFO_REACHABLE:      /* 到達可能         */
     197                        case ND6_LLINFO_REACHABLE:      /* 到達可能         */
    212198                                if (ln->expire) {
    213199                                        ln->expire = now + ND6_GCOLLECTION_TIME;
     
    216202                                break;
    217203
    218                         case ND6_LLINFO_STALE:          /* 到達可能性は未確認  */
     204                        case ND6_LLINFO_STALE:          /* 到達可能性は未確認    */
    219205                                if (ln->expire) {
    220206                                        if (ln->hold != NULL) {
     
    227213                                break;
    228214
    229                         case ND6_LLINFO_DELAY:          /* 到達可能性の確認å¾
    230 æ©Ÿ     */
     215                        case ND6_LLINFO_DELAY:          /* 到達可能性の確認待機   */
    231216                                ln->asked = 1;
    232                                 ln->expire = now + ND6_RETRANS_TIME;            /* 近隣探索送信間隔 */
     217                                ln->expire = now + ND6_RETRANS_TIME;            /* 近隣探索送信間隔 */
    233218                                ln->state = ND6_LLINFO_PROBE;
    234219                                nd6_ns_output(ifp, &ln->addr, &ln->addr, ln, false);
    235220                                break;
    236221
    237                         case ND6_LLINFO_PROBE:          /* 到達可能性を確認中  */
     222                        case ND6_LLINFO_PROBE:          /* 到達可能性を確認中    */
    238223                                if (ln->asked < ND6_MAX_UCAST_QUERY) {
    239224                                        /*
    240                                          *  ユニキャストアドレス要請の再送回数以下の場合の処理
     225                                         *  ユニキャストアドレス要請の再送回数以下の場合の処理
    241226                                         */
    242227                                        ln->asked ++;
    243                                         ln->expire += ND6_RETRANS_TIME; /* 近隣探索送信間隔 */
     228                                        ln->expire += ND6_RETRANS_TIME; /* 近隣探索送信間隔 */
    244229                                        nd6_ns_output(ifp, &ln->addr, &ln->addr, ln, false);
    245230                                        }
     
    259244        syscall(sig_sem(SEM_ND6_CACHE));
    260245
    261         /* ディフォルトルータ・リストの処理 */
     246        /* ディフォルトルータ・リストの処理 */
    262247        nd6_defrtrlist_timer();
    263248
    264         /* プレフィックス・リストの処理 */
     249        /* プレフィックス・リストの処理 */
    265250        nd6_prelist_timer();
    266251
    267         /* ネットワークインタフェースのアドレスの処理 */
     252        /* ネットワークインタフェースのアドレスの処理 */
    268253        in6_ifaddr_timer(ifp);
    269254
    270255        /*
    271          *  到達可能状æ
    272 ‹ã®æœ‰åŠ¹æ™‚間の更新
     256         *  到達可能状態の有効時間の更新
    273257         */
    274258        if ((int32_t)(nd6_recalc_reachtm_interval - now) < 0) {
     
    281265
    282266/*
    283  *  nd6_get_cache -- 近隣キャッシュを獲得する。
     267 *  nd6_get_cache -- 近隣キャッシュを獲得する。
    284268 */
    285269
     
    291275
    292276/*
    293  *  nd6_ifattach -- 近隣探索の初期設定を行う。
     277 *  nd6_ifattach -- 近隣探索の初期設定を行う。
    294278 */
    295279
     
    300284
    301285/*
    302  *  nd6_output_hold -- 近隣探索キャッシュに保留されている
    303  *                     ã‚¢ãƒ‰ãƒ¬ã‚¹è§£æ±ºå¾
    304 ã¡ã®ãƒ‡ãƒ¼ã‚¿ã‚°ãƒ©ãƒ ãŒã‚れば送信する。
    305  *
    306  *    注意: セマフォ SEM_ND6_CACHE によりロック状æ
    307 ‹ã§å‘¼å‡ºã™ã“と。
     286 *  nd6_output_hold -- 近隣探索キャッシュに保留されている
     287 *                     アドレス解決待ちのデータグラムがあれば送信する。
     288 *
     289 *    注意: セマフォ SEM_ND6_CACHE によりロック状態で呼出すこと。
    308290 */
    309291
     
    313295        SYSTIM now;
    314296
    315         /* アドレス解決å¾
    316 ã¡ã®ãƒ‡ãƒ¼ã‚¿ã‚°ãƒ©ãƒ ãŒã‚れば送信する。*/
     297        /* アドレス解決待ちのデータグラムがあれば送信する。*/
    317298        if (ln->hold) {
    318299
    319                 /* タイムアウトの処理 */
     300                /* タイムアウトの処理 */
    320301                if (ln->tmout != TMO_FEVR) {
    321302
    322303                        /*
    323                          *  タイムアウトの指定が永ä¹
    324 ã§ãªãã€æ™‚間を過ぎていれば、
    325                          *  出力しないで終了する。
     304                         *  タイムアウトの指定が永久でなく、時間を過ぎていれば、
     305                         *  出力しないで終了する。
    326306                         */
    327307                        syscall(get_tim(&now));
     
    341321
    342322/*
    343  *  nd6_lookup -- 近隣探索キャッシュを探索する。
    344  *
    345  *    注意: セマフォ SEM_ND6_CACHE によりロック状æ
    346 ‹ã§å‘¼å‡ºã™ã“と。
     323 *  nd6_lookup -- 近隣探索キャッシュを探索する。
     324 *
     325 *    注意: セマフォ SEM_ND6_CACHE によりロック状態で呼出すこと。
    347326 *
    348327 */
     
    356335        for (ix = NUM_ND6_CACHE_ENTRY; ix -- > 0; ) {
    357336                if (nd6_cache[ix].state == 0) {
    358                         /* 未使用エントリのインデックスを記録する。*/
     337                        /* 未使用エントリのインデックスを記録する。*/
    359338                        if (fix == -1)
    360339                                fix = ix;
     
    364343                        }
    365344                else if ((int32_t)(nd6_cache[ix].expire - min) < 0) {   /* nd6_cache[ix].expire < min */
    366                         /* 有効期限が最短エントリのインデックスを記録する。*/
     345                        /* 有効期限が最短エントリのインデックスを記録する。*/
    367346                        min = nd6_cache[ix].expire;
    368347                        mix = ix;
     
    388367
    389368/*
    390  *  nd6_cache_lladdr -- 近隣探索キャッシュに登録する。
     369 *  nd6_cache_lladdr -- 近隣探索キャッシュに登録する。
    391370 */
    392371
     
    400379        int_t           newstate = ND6_LLINFO_INCOMPLETE;
    401380
    402         /* アドレスが無指定なら何もしない。*/
     381        /* アドレスが無指定なら何もしない。*/
    403382        if (IN6_IS_ADDR_UNSPECIFIED(from))
    404383                return NULL;
    405384
    406         /* 近隣キャッシュに登録する。*/
     385        /* 近隣キャッシュに登録する。*/
    407386        syscall(wai_sem(SEM_ND6_CACHE));
    408387        if ((ln = nd6_lookup(from, false)) == NULL) {
     
    422401
    423402        /*
    424          *  状æ
    425 ‹é·ç§»è¡¨
     403         *  状態遷移表
    426404         *
    427405         *  nd_na_flags
    428          *  newnetry olladdr lladdr llchange 処理 (L: lladdr を登録する)
     406         *  newnetry olladdr lladdr llchange 処理 (L: lladdr を登録する)
    429407         *
    430408         *      F       F       N       -    (1)
     
    437415         */
    438416
    439         /* データリンク層のアドレスが通知されていれば更新する。*/
     417        /* データリンク層のアドレスが通知されていれば更新する。*/
    440418        if (lladdr != NULL) {
    441419                ln->ifaddr = *(T_IF_ADDR *)lladdr;
     
    459437                }
    460438
    461         /* 近隣キャッシュエントリを更新する。*/
     439        /* 近隣キャッシュエントリを更新する。*/
    462440        if (doupdate) {
    463441                ln->state = newstate;
     
    467445                        ln->expire = now + ND6_GCOLLECTION_TIME;
    468446
    469                         /* アドレス解決å¾
    470 ã¡ã®ãƒ‡ãƒ¼ã‚¿ã‚°ãƒ©ãƒ ãŒã‚れば送信する。*/
     447                        /* アドレス解決待ちのデータグラムがあれば送信する。*/
    471448                        nd6_output_hold(ifp, ln);
    472449                        }
     
    477454
    478455
    479         /* ルータ通知の処理 */
     456        /* ルータ通知の処理 */
    480457        switch (type) {
    481458
     
    507484
    508485/*
    509  *  nd6_is_addr_neighbor -- 指定されたアドレスのノードが同一リンクにあるかチェックする。
     486 *  nd6_is_addr_neighbor -- 指定されたアドレスのノードが同一リンクにあるかチェックする。
    510487 */
    511488
     
    526503
    527504/*
    528  *  nd6_output -- 近隣探索の出力関数
    529  *
    530  *    注意: セマフォ SEM_ND6_CACHE によりロック状æ
    531 ‹ã§å‘¼å‡ºã™ã“と。
     505 *  nd6_output -- 近隣探索の出力関数
     506 *
     507 *    注意: セマフォ SEM_ND6_CACHE によりロック状態で呼出すこと。
    532508 */
    533509
     
    539515
    540516        /*
    541          *  あてå
    542 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ãŒãƒžãƒ«ãƒã‚­ãƒ£ã‚¹ãƒˆã‹ã€è¿‘隣キャッシュが
    543          *  不要の場合は直ちに送信する。
     517         *  あて先アドレスがマルチキャストか、近隣キャッシュが
     518         *  不要の場合は直ちに送信する。
    544519         */
    545520        if (!(IN6_IS_ADDR_MULTICAST(dst) || !IF_IN6_NEED_CACHE(ifp))) {
    546521                if (ln == NULL) {
    547                         /* 近隣キャッシュが未定義の場合 */
     522                        /* 近隣キャッシュが未定義の場合 */
    548523                        if (nd6_is_addr_neighbor(ifp, dst)) {
    549524                                /*
    550                                  *  指定されたアドレスのノードが同一リンクにある時は、
    551                                  *  近隣キャッシュを探索し、未定義の場合は登録する。
     525                                 *  指定されたアドレスのノードが同一リンクにある時は、
     526                                 *  近隣キャッシュを探索し、未定義の場合は登録する。
    552527                                 */
    553528                                ln = nd6_lookup(dst, true);
     
    560535
    561536                /*
    562                  *  近隣キャッシュの状æ
    563 ‹ãŒã€ãƒ‡ãƒ¼ã‚¿ãƒªãƒ³ã‚¯å±¤ã®ã‚¢ãƒ‰ãƒ¬ã‚¹ãŒåˆ†ã‹ã£ã¦ã„ても、
    564                  *  到達可能性が確認されていないときは、到達不能通知を開始する。
     537                 *  近隣キャッシュの状態が、データリンク層のアドレスが分かっていても、
     538                 *  到達可能性が確認されていないときは、到達不能通知を開始する。
    565539                 */
    566540                if (ln->state == ND6_LLINFO_STALE) {
     
    572546
    573547                /*
    574                  *  近隣キャッシュの状æ
    575 ‹ãŒã€ãƒ‡ãƒ¼ã‚¿ãƒªãƒ³ã‚¯å±¤ã®ã‚¢ãƒ‰ãƒ¬ã‚¹æœªè§£æ±ºã®å ´åˆã¯
    576                  *  近隣探索を行う。
     548                 *  近隣キャッシュの状態が、データリンク層のアドレス未解決の場合は
     549                 *  近隣探索を行う。
    577550                 */
    578551                if (ln->state <= ND6_LLINFO_INCOMPLETE) {
    579552
    580                         /* タイムアウトの指定がポーリングならタイムアウトで終了する。*/
     553                        /* タイムアウトの指定がポーリングならタイムアウトで終了する。*/
    581554                        if (tmout == TMO_POL) {
    582555                                error = E_TMOUT;
     
    587560                                ln->state = ND6_LLINFO_INCOMPLETE;
    588561
    589                         /* すでに、未解決のネットワークバッファがあれば、開放する。*/
     562                        /* すでに、未解決のネットワークバッファがあれば、開放する。*/
    590563                        if (ln->hold != NULL) {
    591564                                syscall(rel_net_buf(ln->hold));
     
    594567
    595568                        /*
    596                          *  送信をペンディングする。
    597                          *  IF でネットワークバッファを開放しないフラグが設定されているときは、
    598                          *  送信をペンディングしない。
     569                         *  送信をペンディングする。
     570                         *  IF でネットワークバッファを開放しないフラグが設定されているときは、
     571                         *  送信をペンディングしない。
    599572                         */
    600573                        if ((output->flags & NB_FLG_NOREL_IFOUT) == 0) {
    601574                                ln->hold = output;
    602575
    603                                 /* タイムアウトの設定 */
     576                                /* タイムアウトの設定 */
    604577                                if (tmout == TMO_FEVR)
    605578                                        ln->tmout = tmout;
     
    620593                                        if ((int32_t)(ln->expire - now) < 0) {
    621594                                                   /* ln->expire < now */
    622                                                 ln->expire += ND6_RETRANS_TIME; /* 近隣探索送信間隔 */
     595                                                ln->expire += ND6_RETRANS_TIME; /* 近隣探索送信間隔 */
    623596                                                ln->asked ++;
    624597                                                nd6_ns_output(ifp, &in6_addr_unspecified, dst, ln, false);
     
    631604
    632605        /*
    633          *  重複が検出されたインタフェースには出力しない。
     606         *  重複が検出されたインタフェースには出力しない。
    634607         */
    635608        if ((ifp->flags & ND6_IFF_IFDISABLED) != 0) {
     
    647620
    648621/*
    649  *  nd6_storelladdr -- 出力するネットワークインタフェースのアドレスを返す。
     622 *  nd6_storelladdr -- 出力するネットワークインタフェースのアドレスを返す。
    650623 */
    651624
     
    664637
    665638/*
    666  *  nd6_option -- 近隣探索オプションの処理
    667  *
    668  *    注意: オプションオフセットé
    669 åˆ—には、オフセット + 8 が設定されている。
     639 *  nd6_option -- 近隣探索オプションの処理
     640 *
     641 *    注意: オプションオフセット配列には、オフセット + 8 が設定されている。
    670642 */
    671643
     
    675647        T_ND_OPT_HDR    *opth;
    676648        ER              error = E_OK;
    677         int_t           pi_count = 0;   /* プレフィックスæƒ
    678 å ±ã®å€‹æ•° */
     649        int_t           pi_count = 0;   /* プレフィックス情報の個数 */
    679650
    680651        opth = (T_ND_OPT_HDR *)nh;
     
    683654        while (error == E_OK && ((uint8_t *)opth - (uint8_t *)nh) < (256 - 8) && len > 0) {
    684655
    685                 /* オプション長が 0 の時は、不正なオプションとして処理する。*/
     656                /* オプション長が 0 の時は、不正なオプションとして処理する。*/
    686657                if (opth->len == 0) {
    687658                        error = E_PAR;
     
    689660                        }
    690661
    691                 /* オプションのタイプにより分岐する。*/
     662                /* オプションのタイプにより分岐する。*/
    692663                switch (opth->type) {
    693                 case ND_OPT_SOURCE_LINKADDR:            /* 送信å
    694 ˆãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã®ã‚¢ãƒ‰ãƒ¬ã‚¹ */
    695                 case ND_OPT_TARGET_LINKADDR:            /* 対象ネットワークインタフェースのアドレス */
    696                 case ND_OPT_REDIRECTED_HEADER:          /* リダイレクト・ヘッダ                               */
     664                case ND_OPT_SOURCE_LINKADDR:            /* 送信先ネットワークインタフェースのアドレス        */
     665                case ND_OPT_TARGET_LINKADDR:            /* 対象ネットワークインタフェースのアドレス */
     666                case ND_OPT_REDIRECTED_HEADER:          /* リダイレクト・ヘッダ                           */
    697667                case ND_OPT_MTU:                        /* MTU                                          */
    698668                        if (opt[ND_OPT_OFF_ARRAY_IX(opth->type)]) {
    699                                 /* プレフィックスæƒ
    700 å ±ä»¥å¤–の同じオプションが複数指定されている。*/
     669                                /* プレフィックス情報以外の同じオプションが複数指定されている。*/
    701670                                error = E_PAR;
    702671                                }
     
    705674                                }
    706675                        break;
    707                 case ND_OPT_PREFIX_INFORMATION:         /* プレフィックスæƒ
    708 å ±                             */
     676                case ND_OPT_PREFIX_INFORMATION:         /* プレフィックス情報                            */
    709677                        if (!opt[ND_OPT_OFF_ARRAY_IX(ND_OPT_PREFIX_INFORMATION)]) {
    710678                                /*
    711                                  *  プレフィックスæƒ
    712 å ±ã¯æœ€åˆã«ç¾ã‚ŒãŸã‚ªãƒ•ã‚»ãƒƒãƒˆã®ã¿è¨˜éŒ²ã™ã‚‹ã€‚
     679                                 *  プレフィックス情報は最初に現れたオフセットのみ記録する。
    713680                                 */
    714681                                opt[ND_OPT_OFF_ARRAY_IX(opth->type)] = (uint8_t *)opth - (uint8_t *)nh + 8;
     
    718685                default:
    719686                        /*
    720                          *  将来定義されるプロトコルへの拡張に対応するため、
    721                          *  認識できないオプションは単に無視し、処理を続行する。
     687                         *  将来定義されるプロトコルへの拡張に対応するため、
     688                         *  認識できないオプションは単に無視し、処理を続行する。
    722689                         */
    723690                        break;
    724691                        }
    725                 len -= opth->len << 3;          /* オプション長の単位は 8 バイト */
     692                len -= opth->len << 3;          /* オプション長の単位は 8 バイト */
    726693                opth = (T_ND_OPT_HDR *)((uint8_t *)opth + (opth->len << 3));
    727694                }
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet6/nd6.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    8068
    8169/*
    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 *  近隣キャッシュ
    8977 */
    9078
     
    9381        T_NET_BUF       *hold;
    9482        TMO             tmout;
    95         SYSTIM          expire;         /* [us] 有効時間が切れる時刻  */
     83        SYSTIM          expire;         /* [us] 有効時間が切れる時刻      */
    9684        T_IF_ADDR       ifaddr;
    9785        uint8_t         state;
     
    10088        } T_LLINFO_ND6;
    10189
    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       /* 到達可能性を確認中    */
    11499
    115100#define ND6_IS_LLINFO_PROBREACH(n)      ((n)->state > ND6_LLINFO_INCOMPLETE)
    116101
    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/* 近隣探索キャッシュ、有効時間の定義 */
    125109
    126110#define ND6_SLOW_TMO                    ((60*60*1000)/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               /* ユニキャストアドレス要請の再送回数    */
    133117
    134118#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)   /* 最初の重複アドレス検出送信遅延      */
    141122#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)  /* 到達可能状態の有効時間の既定値              */
    156134#define ND6_MAX_REACHABLE_TIME          (60*60*SYSTIM_HZ)
    157                                                         /* 到達可能状æ
    158 ‹ã®æœ‰åŠ¹æ™‚間の既定値            */
     135                                                        /* 到達可能状態の有効時間の既定値              */
    159136#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                 */
    168143#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                  */
    170145#endif
    171146
    172 /* 到達可能状æ
    173 ‹ã®æœ‰åŠ¹æ™‚間の計算マクロ */
     147/* 到達可能状態の有効時間の計算マクロ */
    174148
    175149#define ND6_CALC_REACH_TIME(b)          \
     
    178152
    179153/*
    180  *  近隣探索の送信間隔
     154 *  近隣探索の送信間隔
    181155 */
    182156
     
    184158
    185159/*
    186  *  ルータ通知により変更されることがある値
     160 *  ルータ通知により変更されることがある値
    187161 */
    188162
    189163#if NUM_ND6_DEF_RTR_ENTRY > 0
    190164
    191 /* ルータ通知を受信する場合は、通知された値 */
     165/* ルータ通知を受信する場合は、通知された値 */
    192166
    193167#define ND6_REACHABLE_TIME              nd6_reachable_time
     
    196170#else   /* #if NUM_ND6_DEF_RTR_ENTRY > 0 */
    197171
    198 /* ルータ通知を受信しない場合の値は既定値 */
     172/* ルータ通知を受信しない場合の値は既定値 */
    199173
    200174#define ND6_REACHABLE_TIME              ND6_DEF_REACHABLE_TIME
     
    204178
    205179/*
    206  *  ディフォルトルータ・リスト
     180 *  ディフォルトルータ・リスト
    207181 */
    208182
    209183typedef struct t_def_router {
    210184        T_IN6_ADDR      addr;
    211         SYSTIM          expire;         /* [us] 有効時間が切れる時刻  */
    212         uint32_t        lifetime;       /* [us] 有効時間                    */
    213         uint16_t        plistmap;       /* プレフィックスマップ               */
    214         uint8_t         flags;          /* ルータ通知のフラグ          */
     185        SYSTIM          expire;         /* [us] 有効時間が切れる時刻      */
     186        uint32_t        lifetime;       /* [us] 有効時間                    */
     187        uint16_t        plistmap;       /* プレフィックスマップ           */
     188        uint8_t         flags;          /* ルータ通知のフラグ            */
    215189        uint8_t         state;
    216190        } T_DEF_ROUTER;
    217191
    218 /* ディフォルトルータ・リストの状æ
    219 ‹ */
    220 
    221 #define ND6_DEF_RTR_BUSY                0xff    /* 使用中            */
    222 
    223 /* プレフィックスのインデックス */
     192/* ディフォルトルータ・リストの状態 */
     193
     194#define ND6_DEF_RTR_BUSY                0xff    /* 使用中          */
     195
     196/* プレフィックスのインデックス */
    224197
    225198#define ND6_PREFIX_IX_INVALID           0xff
    226199
    227200/*
    228  *  プレフィックス・リスト
     201 *  プレフィックス・リスト
    229202 */
    230203
    231204typedef 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;     /* プレフィックス長             */
    240213        } T_ND6_PREFIX;
    241214
    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 *  変数
    255226 */
    256227
     
    261232
    262233/*
    263  *  関数
     234 *  関数
    264235 */
    265236
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet6/nd6_nbr.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    124112
    125113/*
    126  *  局所関数
     114 *  局所関数
    127115 */
    128116
     
    134122
    135123/*
    136  *  nd6_dad_duplicated -- 重複アドレスを検出した時の処理
     124 *  nd6_dad_duplicated -- 重複アドレスを検出した時の処理
    137125 */
    138126
     
    147135                ifa->flags |=  IN6_IFF_DUPLICATED;
    148136
    149                 /* タイマーを停止する。*/
     137                /* タイマーを停止する。*/
    150138                untimeout((callout_func)nd6_dad_timer, ifa);
    151139
    152140                /*
    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)。
    158146                 */
    159147                if (IN6_IS_ADDR_LINKLOCAL(&ifa->addr))
     
    163151
    164152/*
    165  *  nd6_dad_ns_output -- 重複アドレス検出 (DAD) 要請を出力する。
     153 *  nd6_dad_ns_output -- 重複アドレス検出 (DAD) 要請を出力する。
    166154 */
    167155
     
    176164
    177165/*
    178  *  nd6_dad_ns_input -- 重複アドレス検出 (DAD) 要請å
    179 ¥åŠ›
     166 *  nd6_dad_ns_input -- 重複アドレス検出 (DAD) 要請入力
    180167 */
    181168
     
    186173
    187174        /*
    188          *  まだ、重複アドレス検出要請を出力していない場合
     175         *  まだ、重複アドレス検出要請を出力していない場合
    189176         */
    190177        if (ifa->ns_ocount == 0)
     
    195182
    196183/*
    197  *  nd6_dad_na_input -- 重複アドレス検出 (DAD) 通知å
    198 ¥åŠ›
     184 *  nd6_dad_na_input -- 重複アドレス検出 (DAD) 通知入力
    199185 */
    200186
     
    208194
    209195/*
    210  *  nd6_dad_timer -- 重複アドレス検出 (DAD) タイマー
     196 *  nd6_dad_timer -- 重複アドレス検出 (DAD) タイマー
    211197 */
    212198
     
    229215                nd6_dad_ns_output(ifp, ifa);
    230216
    231                 /* タイムアウトを近隣探索の送信間隔に設定する。*/
     217                /* タイムアウトを近隣探索の送信間隔に設定する。*/
    232218                timeout((callout_func)nd6_dad_timer, ifa, ND6_RETRANS_TIME * NET_TIMER_HZ / SYSTIM_HZ);
    233219                }
     
    241227
    242228/*
    243  *  nd6_ns_input -- 近隣要請のå
    244 ¥åŠ›å‡¦ç†ã€‚
     229 *  nd6_ns_input -- 近隣要請の入力処理。
    245230 */
    246231
     
    264249
    265250        /*
    266          *  ヘッダのチェック、以下の場合は破棄する。
    267          *    ・ホップリミットが IPV6_MAXHLIM (255) 以外
    268          *    ・ヘッダ長が短い
     251         *  ヘッダのチェック、以下の場合は破棄する。
     252         *    ・ホップリミットが IPV6_MAXHLIM (255) 以外
     253         *    ・ヘッダ長が短い
    269254         */
    270255        if (ip6h->hlim != IPV6_MAXHLIM || input->len - off < NEIGHBOR_SOLICIT_HDR_SIZE)
     
    275260        if (IN6_IS_ADDR_UNSPECIFIED(&ip6h->src)) {
    276261                /*
    277                  *  始点アドレスが無指定なら、重複アドレス検出
    278                  *  あてå
    279 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ã¯ã€è¦è«‹ãƒžãƒ«ãƒã‚­ãƒ£ã‚¹ãƒˆã§ãªã‘ればならない。
     262                 *  始点アドレスが無指定なら、重複アドレス検出
     263                 *  あて先アドレスは、要請マルチキャストでなければならない。
    280264                 */
    281265                if (!IN6_IS_ADDR_NS_MULTICAST(&ip6h->dst))
     
    283267                }
    284268
    285         /* 目的アドレスがマルチキャストならエラー */
     269        /* 目的アドレスがマルチキャストならエラー */
    286270        if (IN6_IS_ADDR_MULTICAST(&nsh->target))
    287271                goto err_ret;
    288272
    289         /* 近隣探索オプションのオフセットを記録する。*/
     273        /* 近隣探索オプションのオフセットを記録する。*/
    290274        if (nd6_options(nd_opt_off, input->buf + (off + NEIGHBOR_SOLICIT_HDR_SIZE),
    291275                                    input->len - (off + NEIGHBOR_SOLICIT_HDR_SIZE)) != E_OK)
    292276                goto err_ret;
    293277
    294         /* 近隣探索オプション (始点リンクアドレス) */
     278        /* 近隣探索オプション (始点リンクアドレス) */
    295279        if (nd_opt_off[ND_OPT_OFF_ARRAY_IX(ND_OPT_SOURCE_LINKADDR)]) {
    296280                opth = (T_ND_OPT_HDR *)((uint8_t *)(input->buf + off + NEIGHBOR_SOLICIT_HDR_SIZE) +
    297281                                        nd_opt_off[ND_OPT_OFF_ARRAY_IX(ND_OPT_SOURCE_LINKADDR)] - 8);
    298                 /* 注意: オプションオフセットé
    299 åˆ—には、オフセット + 8 が設定されている。*/
     282                /* 注意: オプションオフセット配列には、オフセット + 8 が設定されている。*/
    300283                lladdr     = (uint8_t *)(opth + 1);
    301284                lladdr_len = (opth->len << 3);
     
    305288                goto err_ret;
    306289
    307         /* 宛å
    308 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ãŒãƒžãƒ«ãƒã‚­ãƒ£ã‚¹ãƒˆãªã‚‰è¿‘隣通知にデータリンク層のアドレスを付ける。*/
     290        /* 宛先アドレスがマルチキャストなら近隣通知にデータリンク層のアドレスを付ける。*/
    309291        if (IN6_IS_ADDR_MULTICAST(&ip6h->dst))
    310292                tlladdr = true;
     
    313295
    314296        /*
    315          *  目的アドレスが、自分のネットワークインタフェースに
    316          *  割り当てられているアドレスか調べる。
    317          *  なお、代理サービスは実è£
    318 ã—ていない。
     297         *  目的アドレスが、自分のネットワークインタフェースに
     298         *  割り当てられているアドレスか調べる。
     299         *  なお、代理サービスは実装していない。
    319300         */
    320301        ifa = in6_lookup_ifaddr(ifp, &nsh->target);
     
    323304                goto free_ret;
    324305
    325         /* 探索結果アドレスが重複していれば応答しないで終了する。*/
     306        /* 探索結果アドレスが重複していれば応答しないで終了する。*/
    326307        if (ifa->flags & IN6_IFF_DUPLICATED)
    327308                goto err_ret;
    328309
    329310        /*
    330          *  ネットワークインタフェースのアドレス長が一致しなければエラー
     311         *  ネットワークインタフェースのアドレス長が一致しなければエラー
    331312         */
    332313        if (lladdr && lladdr_len != ((sizeof(T_IF_ADDR) + sizeof(T_ND_OPT_HDR) + 7) & ~7))
     
    334315
    335316        /*
    336          *  始点アドレスが自分のアドレスと一致すれば重複している。
     317         *  始点アドレスが自分のアドレスと一致すれば重複している。
    337318         */
    338319        if (IN6_ARE_ADDR_EQUAL(&ifa->addr, &ip6h->src))
    339320                goto free_ret;
    340321
    341         /* 重複検出中に、近隣要請を受信したときの処理 */
     322        /* 重複検出中に、近隣要請を受信したときの処理 */
    342323        if (ifa->flags & IN6_IFF_TENTATIVE) {
    343324                if (IN6_IS_ADDR_UNSPECIFIED(&ip6h->src))
     
    352333
    353334        /*
    354          *  始点アドレスが無指定なら、送信相手は重複アドレス検出中で、
    355          *  直接送信することはできないので、å
    356 ¨ãƒŽãƒ¼ãƒ‰ãƒžãƒ«ãƒã‚­ãƒ£ã‚¹ãƒˆ
    357          *  アドレスに送信する。
     335         *  始点アドレスが無指定なら、送信相手は重複アドレス検出中で、
     336         *  直接送信することはできないので、全ノードマルチキャスト
     337         *  アドレスに送信する。
    358338         */
    359339        if (IN6_IS_ADDR_UNSPECIFIED(&ip6h->src)) {
     
    362342                }
    363343
    364         /* 近隣キャッシュに登録する。*/
     344        /* 近隣キャッシュに登録する。*/
    365345        nd6_cache_lladdr(ifp, &ip6h->src, (T_IF_ADDR *)lladdr, ND_NEIGHBOR_SOLICIT, 0);
    366346
     
    377357
    378358/*
    379  *  nd6_ns_output -- 近隣要請を出力する。
     359 *  nd6_ns_output -- 近隣要請を出力する。
    380360 */
    381361
     
    396376                return;
    397377
    398         /* 近隣要請ペイロード長を計算する。*/
     378        /* 近隣要請ペイロード長を計算する。*/
    399379        if (!dad && IF_SOFTC_TO_IFADDR(ifp->ic))
    400380                len = (NEIGHBOR_SOLICIT_HDR_SIZE + ND_OPT_HDR_SIZE + sizeof(T_IF_ADDR) + 7) >> 3 << 3;
     
    403383
    404384        /*
    405          *  要請マルチキャスト・アドレス宛の近隣探索では、
    406          *  他のリンクからの偽造されたデータグラムを
    407          *  排除するため、ホップリミットに IPV6_MAXHLIM (255) を設定する。
     385         *  要請マルチキャスト・アドレス宛の近隣探索では、
     386         *  他のリンクからの偽造されたデータグラムを
     387         *  排除するため、ホップリミットに IPV6_MAXHLIM (255) を設定する。
    408388         */
    409389        if (IN6_IS_ADDR_UNSPECIFIED(daddr) || IN6_IS_ADDR_MULTICAST(daddr))
    410390                ipflags = IPV6_OUT_SET_HOP_LIMIT(IPV6_OUT_FLG_HOP_LIMIT, IPV6_MAXHLIM);
    411391
    412         /* ネットワークバッファを獲得し、IPv6 ヘッダを設定する。*/
     392        /* ネットワークバッファを獲得し、IPv6 ヘッダを設定する。*/
    413393        if (in6_get_datagram(&output, len, 0, daddr, NULL,
    414394                             IPPROTO_ICMPV6, IPV6_MAXHLIM,
     
    420400        if (IN6_IS_ADDR_UNSPECIFIED(daddr)) {
    421401
    422                 /* 宛å
    423 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ãŒç„¡æŒ‡å®šã®å ´åˆã¯ã€è¦è«‹ãƒžãƒ«ãƒã‚­ãƒ£ã‚¹ãƒˆã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’設定する。*/
     402                /* 宛先アドレスが無指定の場合は、要請マルチキャストアドレスを設定する。*/
    424403                ip6h->dst.s6_addr32[0] = IPV6_ADDR_INT32_MLL;
    425404                ip6h->dst.s6_addr32[2] = IPV6_ADDR_INT32_ONE;
     
    428407                }
    429408
    430         /* 送信å
    431 ƒã‚¢ãƒ‰ãƒ¬ã‚¹ã®è¨­å®š */
     409        /* 送信元アドレスの設定 */
    432410        if (!dad) {
    433411
    434                 /* 重複アドレス検出ではない時の送信å
    435 ƒã‚¢ãƒ‰ãƒ¬ã‚¹æ±ºå®šå‡¦ç†ã€‚*/
     412                /* 重複アドレス検出ではない時の送信元アドレス決定処理。*/
    436413                T_IN6_ADDR *saddr;
    437414
    438415                if (ln && ln->hold) {
    439416                        /*
    440                          * 送信がペンディングされているデータグラムの
    441                          * 送信å
    442 ƒã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’利用する。
     417                         * 送信がペンディングされているデータグラムの
     418                         * 送信元アドレスを利用する。
    443419                         */
    444420                        if (ln->hold->len > IF_IP6_HDR_SIZE)
     
    454430                else {
    455431                        /*
    456                          *  宛å
    457 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ã«ãµã•ã‚ã—い送信å
    458 ƒã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’、
    459                          *  ネットワークインタフェースから探索して利用する。
     432                         *  宛先アドレスにふさわしい送信元アドレスを、
     433                         *  ネットワークインタフェースから探索して利用する。
    460434                         */
    461435                        T_IN6_IFADDR *ifa;
     
    470444        else {
    471445
    472                 /* 重複アドレス検出時の送信å
    473 ƒã‚¢ãƒ‰ãƒ¬ã‚¹ã¯ç„¡æŒ‡å®šã€‚*/
     446                /* 重複アドレス検出時の送信元アドレスは無指定。*/
    474447                memset(&ip6h->src, 0, sizeof(T_IN6_ADDR));
    475448                }
    476449
    477         /* 近隣要請ヘッダを設定する。*/
     450        /* 近隣要請ヘッダを設定する。*/
    478451        nsh = GET_NEIGHBOR_SOLICIT_HDR(output, IF_IP6_NEIGHBOR_SOLICIT_HDR_OFFSET);
    479452        nsh->hdr.type        = ND_NEIGHBOR_SOLICIT;
     
    484457        if (!dad && (mac = IF_SOFTC_TO_IFADDR(ifp->ic)) != NULL) {
    485458
    486                 /* 近隣探索オプションとして、探索目標の MAC アドレスを設定する。*/
     459                /* 近隣探索オプションとして、探索目標の MAC アドレスを設定する。*/
    487460                T_ND_OPT_HDR    *opth;
    488461                uint_t          optlen;
     
    496469                }
    497470
    498         /* チェックサムを計算する。*/
     471        /* チェックサムを計算する。*/
    499472        nsh->hdr.sum = 0;
    500473        nsh->hdr.sum = in6_cksum(output, IPPROTO_ICMPV6, (uint8_t*)nsh - output->buf, len);
    501474
    502         /* 送信する。*/
     475        /* 送信する。*/
    503476        NET_COUNT_ICMP6(net_count_nd6[NC_ICMP6_OUT_OCTETS],
    504477                       output->len - GET_IF_IP6_HDR_SIZE(output));
     
    510483
    511484/*
    512  *  nd6_na_input -- 近隣通知のå
    513 ¥åŠ›å‡¦ç†ã€‚
     485 *  nd6_na_input -- 近隣通知の入力処理。
    514486 */
    515487
     
    534506
    535507        /*
    536          *  ヘッダのチェック、以下の場合は破棄する。
    537          *    ・ホップリミットが IPV6_MAXHLIM (255) 以外
    538          *    ・ヘッダ長が短い
     508         *  ヘッダのチェック、以下の場合は破棄する。
     509         *    ・ホップリミットが IPV6_MAXHLIM (255) 以外
     510         *    ・ヘッダ長が短い
    539511         */
    540512        if (ip6h->hlim != IPV6_MAXHLIM || input->len - off < NEIGHBOR_ADVERT_HDR_SIZE)
     
    543515        nah  = (T_NEIGHBOR_ADVERT_HDR *)(input->buf + off);
    544516
    545         /* 目的アドレスがマルチキャストならエラー */
     517        /* 目的アドレスがマルチキャストならエラー */
    546518        if (IN6_IS_ADDR_MULTICAST(&nah->target))
    547519                goto err_ret;
    548520
    549         /* 近隣要請への応答で、宛å
    550 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ãŒãƒžãƒ«ãƒã‚­ãƒ£ã‚¹ãƒˆãªã‚‰ã‚¨ãƒ©ãƒ¼ */
     521        /* 近隣要請への応答で、宛先アドレスがマルチキャストならエラー */
    551522        if ((nah->nd_na_flags_reserved & ND_NA_FLG_SOLICITED) &&
    552523            IN6_IS_ADDR_MULTICAST(&ip6h->dst))
    553524                goto err_ret;
    554525
    555         /* 近隣探索オプションのオフセットを記録する。*/
     526        /* 近隣探索オプションのオフセットを記録する。*/
    556527        if (nd6_options(nd_opt_off, input->buf + (off + NEIGHBOR_ADVERT_HDR_SIZE),
    557528                                    input->len - (off + NEIGHBOR_ADVERT_HDR_SIZE)) != E_OK)
    558529                goto err_ret;
    559530
    560         /* 近隣探索オプション (目的リンクアドレス) */
     531        /* 近隣探索オプション (目的リンクアドレス) */
    561532        if (nd_opt_off[ND_OPT_OFF_ARRAY_IX(ND_OPT_TARGET_LINKADDR)]) {
    562533                opth = (T_ND_OPT_HDR *)((uint8_t *)(input->buf + off + NEIGHBOR_ADVERT_HDR_SIZE) +
    563534                                        nd_opt_off[ND_OPT_OFF_ARRAY_IX(ND_OPT_TARGET_LINKADDR)] - 8);
    564                 /* 注意: オプションオフセットé
    565 åˆ—には、オフセット + 8 が設定されている。*/
     535                /* 注意: オプションオフセット配列には、オフセット + 8 が設定されている。*/
    566536                lladdr     = (uint8_t *)(opth + 1);
    567537                lladdr_len = (opth->len << 3);
     
    571541
    572542        /*
    573          *  目的アドレスが自分のネットワークインタフェースに割り当てられているアドレスの
    574          *  いずれかに一致したときは、重複していることを意味している。
     543         *  目的アドレスが自分のネットワークインタフェースに割り当てられているアドレスの
     544         *  いずれかに一致したときは、重複していることを意味している。
    575545         */
    576546        if (ifa) {
     
    583553
    584554        /*
    585          *  ネットワークインタフェースのアドレス長が一致しなければエラー
     555         *  ネットワークインタフェースのアドレス長が一致しなければエラー
    586556         */
    587557        if (lladdr && lladdr_len != ((sizeof(T_IF_ADDR) + sizeof(T_ND_OPT_HDR) + 7) & ~7))
    588558                goto err_ret;
    589559
    590         /* 近隣キャッシュを探索する。*/
     560        /* 近隣キャッシュを探索する。*/
    591561        syscall(wai_sem(SEM_ND6_CACHE));
    592562        if ((ln = nd6_lookup(&nah->target, false)) == NULL)
    593563                goto free_ret;
    594564
    595         /* 近隣キャッシュの状æ
    596 ‹ãŒã€ãƒ‡ãƒ¼ã‚¿ãƒªãƒ³ã‚¯å±¤ã®ã‚¢ãƒ‰ãƒ¬ã‚¹æœªè§£æ±ºã®å ´åˆ */
     565        /* 近隣キャッシュの状態が、データリンク層のアドレス未解決の場合 */
    597566        if (ln->state == ND6_LLINFO_INCOMPLETE) {
    598                 /* 通知されたデータリンク層のアドレスの長さが 0 の場合 */
     567                /* 通知されたデータリンク層のアドレスの長さが 0 の場合 */
    599568                if (lladdr == NULL)
    600569                        goto free_ret;
     
    631600
    632601                /*
    633                  *  状æ
    634 ‹é·ç§»è¡¨
     602                 *  状態遷移表
    635603                 *
    636604                 *  nd_na_flags_reserved
    637                  *  OVERRIDE    SOLICTED lladdr llchange 処理 (L: lladdr を登録する)
     605                 *  OVERRIDE    SOLICTED lladdr llchange 処理 (L: lladdr を登録する)
    638606                 *
    639607                 *      F           F       N      -    (2c)
     
    651619                 */
    652620                if ((nah->nd_na_flags_reserved & ND_NA_FLG_OVERRIDE) == 0 && (lladdr != NULL && llchange)) {    /* (1) */
    653                         /* 状æ
    654 ‹ãŒ REACHABLE なら STALE に遷移する。*/
     621                        /* 状態が REACHABLE なら STALE に遷移する。*/
    655622                        if (ln->state == ND6_LLINFO_REACHABLE) {
    656623                                syscall(get_tim(&now));
     
    664631                         lladdr == NULL) {                                                                              /* (2c) */
    665632
    666                         /* データリンク層のアドレスが通知されていれば更新する。*/
     633                        /* データリンク層のアドレスが通知されていれば更新する。*/
    667634                        if (lladdr != NULL)
    668635                                ln->ifaddr = *(T_IF_ADDR *)lladdr;
    669636
    670                         /* 近隣要請への応答なら REACHABLE に遷移する。*/
     637                        /* 近隣要請への応答なら REACHABLE に遷移する。*/
    671638                        if (nah->nd_na_flags_reserved & ND_NA_FLG_SOLICITED) {
    672639                                ln->state = ND6_LLINFO_REACHABLE;
     
    678645                                }
    679646                        /*
    680                          *  データリンク層のアドレスが通知され、
    681                          *  異なるアドレスなら更新する。
     647                         *  データリンク層のアドレスが通知され、
     648                         *  異なるアドレスなら更新する。
    682649                         */
    683650                        else if (lladdr != NULL && llchange) {
     
    688655                        }
    689656
    690                 /* ルータ通知フラグの処理 */
     657                /* ルータ通知フラグの処理 */
    691658                if ((ln->flags        & ND6_LLIF_ROUTER ) != 0 &&
    692659                    (nah->nd_na_flags_reserved & ND_NA_FLG_ROUTER) == 0) {
    693660                        /*
    694                          *  送信相手がルータ通知フラグを無効にした場合。
    695                          *  ディフォルト・ルータリストから対象のルータを削除し、
    696                          *  近隣探索キャッシュを更新する。
     661                         *  送信相手がルータ通知フラグを無効にした場合。
     662                         *  ディフォルト・ルータリストから対象のルータを削除し、
     663                         *  近隣探索キャッシュを更新する。
    697664                         */
    698665                        T_DEF_ROUTER    *dr = NULL;
     
    712679        ln->asked = 0;
    713680
    714         /* アドレス解決å¾
    715 ã¡ã®ãƒ‡ãƒ¼ã‚¿ã‚°ãƒ©ãƒ ãŒã‚れば送信する。*/
     681        /* アドレス解決待ちのデータグラムがあれば送信する。*/
    716682        nd6_output_hold(ifp, ln);
    717683
     
    727693
    728694/*
    729  *  nd6_na_output -- 近隣通知を出力する。
     695 *  nd6_na_output -- 近隣通知を出力する。
    730696 */
    731697
     
    745711
    746712        /*
    747          *  近隣通知ペイロード長を計算する。
    748          *  tlladdr が真ならネットワークインタフェースのアドレスを追加する。
     713         *  近隣通知ペイロード長を計算する。
     714         *  tlladdr が真ならネットワークインタフェースのアドレスを追加する。
    749715         */
    750716        if (tlladdr && IF_SOFTC_TO_IFADDR(ifp->ic))
     
    754720
    755721        /*
    756          *  他のリンクからの偽造されたデータグラムを
    757          *  排除するため、ホップリミットに IPV6_MAXHLIM (255) を設定する。
     722         *  他のリンクからの偽造されたデータグラムを
     723         *  排除するため、ホップリミットに IPV6_MAXHLIM (255) を設定する。
    758724         */
    759725        ipflags = IPV6_OUT_SET_HOP_LIMIT(IPV6_OUT_FLG_HOP_LIMIT, IPV6_MAXHLIM);
    760726
    761         /* ネットワークバッファを獲得し、IPv6 ヘッダを設定する。*/
     727        /* ネットワークバッファを獲得し、IPv6 ヘッダを設定する。*/
    762728        if (in6_get_datagram(&output, len, 0, daddr, NULL,
    763729                             IPPROTO_ICMPV6, IPV6_MAXHLIM,
     
    769735        if (IN6_IS_ADDR_UNSPECIFIED(daddr)) {
    770736                /*
    771                  *  宛å
    772 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ãŒç„¡æŒ‡å®šã®å ´åˆã¯ã€
    773                  *  リンクローカルå
    774 ¨ãƒŽãƒ¼ãƒ‰ãƒ»ãƒžãƒ«ãƒã‚­ãƒ£ã‚¹ãƒˆã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’設定する。
     737                 *  宛先アドレスが無指定の場合は、
     738                 *  リンクローカル全ノード・マルチキャストアドレスを設定する。
    775739                 */
    776740                ip6h->dst.s6_addr32[0] = IPV6_ADDR_INT32_MLL;
     
    784748
    785749        /*
    786          *  宛å
    787 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ã«ãµã•ã‚ã—い送信å
    788 ƒã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’、
    789          *  ネットワークインタフェースから探索して利用する。
     750         *  宛先アドレスにふさわしい送信元アドレスを、
     751         *  ネットワークインタフェースから探索して利用する。
    790752         */
    791753        if ((ifa = in6_ifawithifp(ifp, &ip6h->dst)) == NULL) {
     
    795757        memcpy(&ip6h->src, &ifa->addr, sizeof(T_IN6_ADDR));
    796758
    797         /* 近隣通知ヘッダを設定する。*/
     759        /* 近隣通知ヘッダを設定する。*/
    798760        nah = GET_NEIGHBOR_ADVERT_HDR(output, IF_IP6_NEIGHBOR_ADVERT_HDR_OFFSET);
    799761        nah->hdr.type        = ND_NEIGHBOR_ADVERT;
     
    801763        memcpy(&nah->target, taddr, sizeof(T_IN6_ADDR));
    802764
    803         /* tlladdr が真ならネットワークインタフェースのアドレスを追加する。*/
     765        /* tlladdr が真ならネットワークインタフェースのアドレスを追加する。*/
    804766        if (tlladdr && (mac = IF_SOFTC_TO_IFADDR(ifp->ic)) != NULL) {
    805767
     
    819781        nah->nd_na_flags_reserved = flags;
    820782
    821         /* チェックサムを計算する。*/
     783        /* チェックサムを計算する。*/
    822784        nah->hdr.sum = 0;
    823785        nah->hdr.sum = in6_cksum(output, IPPROTO_ICMPV6, (uint8_t*)nah - output->buf, len);
    824786
    825         /* 送信する。*/
     787        /* 送信する。*/
    826788        NET_COUNT_ICMP6(net_count_nd6[NC_ICMP6_OUT_OCTETS],
    827789                       output->len - GET_IF_IP6_HDR_SIZE(output));
     
    833795
    834796/*
    835  *  nd6_dad_start -- 重複アドレス検出 (DAD) を開始する。
     797 *  nd6_dad_start -- 重複アドレス検出 (DAD) を開始する。
    836798 *
    837  *    第3引数のtick は、インタフェースが起動されてから、重複検出を
    838  *    送信するまでの最小é
    839 å»¶å€¤ã§ã‚る。
     799 *    第3引数のtick は、インタフェースが起動されてから、重複検出を
     800 *    送信するまでの最小遅延値である。
    840801 */
    841802
     
    843804nd6_dad_start (T_IFNET *ifp, T_IN6_IFADDR *ifa, int_t *tick)
    844805{
    845         /* フラグをチェックする。*/
     806        /* フラグをチェックする。*/
    846807        if (!(ifa->flags & IN6_IFF_TENTATIVE))
    847808                return;
     
    860821                return;
    861822
    862         /* 重複アドレス検出カウンタをリセットする。*/
     823        /* 重複アドレス検出カウンタをリセットする。*/
    863824        ifa->ns_icount = ifa->na_icount = ifa->ns_ocount = 0;
    864825
    865826        /*
    866          *  重複アドレス検出要請を送信する。ただし、インタフェースを
    867          *  初期化した直後に、最初に送信する場合は、ランダムなé
    868 å»¶ã‚’行う。
     827         *  重複アドレス検出要請を送信する。ただし、インタフェースを
     828         *  初期化した直後に、最初に送信する場合は、ランダムな遅延を行う。
    869829         */
    870830        if (tick == NULL) {
    871831                nd6_dad_ns_output(ifp, ifa);
    872832
    873                 /* タイムアウトを近隣探索の送信間隔に設定する。*/
     833                /* タイムアウトを近隣探索の送信間隔に設定する。*/
    874834                timeout((callout_func)nd6_dad_timer, ifa, ND6_RETRANS_TIME * NET_TIMER_HZ / SYSTIM_HZ);
    875835                }
     
    877837                int_t ntick;
    878838
    879                 if (*tick == 0) /* 最初の送信 */
     839                if (*tick == 0) /* 最初の送信 */
    880840                        ntick = net_rand() % (ND6_FIRST_DAD_DELAY_TIME * NET_TIMER_HZ / SYSTIM_HZ);
    881841                else
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet6/nd6_rtr.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    123111
    124112/*
    125  *  外部関数の定義
     113 *  外部関数の定義
    126114 */
    127115
     
    133121
    134122/*
    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
     126SYSTIM  nd6_base_reachable_time         = ND6_DEF_REACHABLE_TIME;       /* ルータから通知された値          */
     127SYSTIM  nd6_reachable_time              = ND6_DEF_REACHABLE_TIME;       /* ルータから通知された値の補正値      */
     128SYSTIM  nd6_recalc_reachtm_interval     = ND6_RECALC_REACHTM_INTERVAL;  /* 到達可能状態の有効時間再計算間隔     */
     129SYSTIM  nd6_retrans_time                = ND6_DEF_RETRANS_TIME;         /* 近隣探索の送信間隔                    */
     130uint8_t ip6_defhlim                     = IPV6_DEFHLIM;                 /* ホップリミットの規定値          */
     131
     132/*
     133 *  局所変数
     134 */
     135
     136/*
     137 *  プレフィックス・リスト
    152138 */
    153139
     
    155141
    156142/*
    157  *  ディフォルトルータ・リスト
     143 *  ディフォルトルータ・リスト
    158144 */
    159145
    160146static T_DEF_ROUTER     nd6_def_router[NUM_ND6_DEF_RTR_ENTRY];
    161 static uint_t           def_router_count = 0;                           /* リストにあるルータ数 */
    162 
    163 /*
    164  *  make_mask -- マップ用のマスクを生成する。
     147static uint_t           def_router_count = 0;                           /* リストにあるルータ数 */
     148
     149/*
     150 *  make_mask -- マップ用のマスクを生成する。
    165151 */
    166152
     
    171157        int_t   ix;
    172158
    173         /* マスクを生成する。*/
     159        /* マスクを生成する。*/
    174160        mask = 1;
    175161        for (ix = index; ix -- > 0; )
     
    181167/*
    182168 *  find_pfxlist_reachable_router --
    183  *      指定したプレフィックスを通知したルータがリンク上に存在するかチェックする。
     169 *      指定したプレフィックスを通知したルータがリンク上に存在するかチェックする。
    184170 */
    185171
     
    205191
    206192/*
    207  *  pfxlist_onlink_check -- プレフィックス・リストのオンリンク状æ
    208 ‹ã‚’チェックする。
     193 *  pfxlist_onlink_check -- プレフィックス・リストのオンリンク状態をチェックする。
    209194 *
    210  *    注意: この関数を呼び出すときは、SEM_ND6_DEFRTRLIST で、
    211  *          ロックしてから呼び出すこと。
     195 *    注意: この関数を呼び出すときは、SEM_ND6_DEFRTRLIST で、
     196 *          ロックしてから呼び出すこと。
    212197 */
    213198
     
    230215        if (ix >= 0) {
    231216                /*
    232                  *  オンリンク状æ
    233 ‹ã®ãƒ—レフィックスが最低一つ存在するときの処理。
    234                  *  各プレフィックスのオンリンク状æ
    235 ‹ã‚’、それらを通知してきたルータの
    236                  *  状æ
    237 ‹ã«å¾“って設定する。
     217                 *  オンリンク状態のプレフィックスが最低一つ存在するときの処理。
     218                 *  各プレフィックスのオンリンク状態を、それらを通知してきたルータの
     219                 *  状態に従って設定する。
    238220                 */
    239221
     
    256238        else {
    257239                /*
    258                  *  どのプレフィックスもオンリンクではなく、
    259                  *  ディフォルトルータも存在しないときの処理。
    260                  *  すべてのプレフィックスを使用可能状æ
    261 ‹ã«è¨­å®šã™ã‚‹ã€‚
     240                 *  どのプレフィックスもオンリンクではなく、
     241                 *  ディフォルトルータも存在しないときの処理。
     242                 *  すべてのプレフィックスを使用可能状態に設定する。
    262243                 */
    263244
     
    275256
    276257        /*
    277          *  各プレフィックス毎に、通知してきたルータの状æ
    278 ‹ã¨
    279          *  オンリンクの状æ
    280 ‹ãŒä¸€è‡´ã—なければ、オンリンク状æ
    281 ‹ã‚’更新する。
     258         *  各プレフィックス毎に、通知してきたルータの状態と
     259         *  オンリンクの状態が一致しなければ、オンリンク状態を更新する。
    282260         */
    283261        for (ix = NUM_ND6_PREFIX_ENTRY; ix -- > 0; ) {
     
    302280
    303281        /*
    304          *  リンク上にプレフィックスを通知しているルータが
    305          *  少なくとも 1 台存在するか確認する。
     282         *  リンク上にプレフィックスを通知しているルータが
     283         *  少なくとも 1 台存在するか確認する。
    306284         */
    307285        for (ix = NUM_IN6_IFADDR_ENTRY; ix -- > 0; ) {
     
    317295        if (ix >= 0) {
    318296                /*
    319                  *  リンク上にプレフィックスを通知しているルータが
    320                  *  少なくとも 1 台存在する時の処理。
     297                 *  リンク上にプレフィックスを通知しているルータが
     298                 *  少なくとも 1 台存在する時の処理。
    321299                 */
    322300                for (ix = NUM_IN6_IFADDR_ENTRY; ix -- > 0; ) {
     
    334312        else {
    335313                /*
    336                  *  リンク上にプレフィックスを通知しているルータが
    337                  *  1 台存在しない時はå
    338 ¨ã¦ã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’利用できるようにする。
     314                 *  リンク上にプレフィックスを通知しているルータが
     315                 *  1 台存在しない時は全てのアドレスを利用できるようにする。
    339316                 */
    340317                for (ix = NUM_IN6_IFADDR_ENTRY; ix -- > 0; ) {
     
    347324
    348325/*
    349  *  pfxrtr_add -- プレフィックスエントリとディフォルトルータ・エントリをリンクする。
     326 *  pfxrtr_add -- プレフィックスエントリとディフォルトルータ・エントリをリンクする。
    350327 *
    351  *    注意: この関数を呼び出すときは、SEM_ND6_DEFRTRLIST で、
    352  *          ロックしてから呼び出すこと。
     328 *    注意: この関数を呼び出すときは、SEM_ND6_DEFRTRLIST で、
     329 *          ロックしてから呼び出すこと。
    353330 */
    354331
     
    356333pfxrtr_add (int_t prefix_index, int_t rtr_index)
    357334{
    358         /*  プレフィックスエントリとディフォルトルータ・エントリをリンクする。*/
     335        /*  プレフィックスエントリとディフォルトルータ・エントリをリンクする。*/
    359336        nd6_prefix[prefix_index].routermap |= make_mask(rtr_index);
    360337        nd6_def_router[rtr_index].plistmap |= make_mask(prefix_index);
     
    364341
    365342/*
    366  *  nd6_pfxrtr_lookup -- プレフィックスエントリからルータを探索する。
     343 *  nd6_pfxrtr_lookup -- プレフィックスエントリからルータを探索する。
    367344 */
    368345
     
    374351
    375352/*
    376  *  defrouter_select -- 優å
    377 ˆãƒ‡ã‚£ãƒ•ã‚©ãƒ«ãƒˆãƒ»ãƒ«ãƒ¼ã‚¿ã‚’選択しなおす。
     353 *  defrouter_select -- 優先ディフォルト・ルータを選択しなおす。
    378354 *
    379  *    注意: この関数を呼び出すときは、SEM_ND6_DEFRTRLIST で、
    380  *          ロックしてから呼び出すこと。
     355 *    注意: この関数を呼び出すときは、SEM_ND6_DEFRTRLIST で、
     356 *          ロックしてから呼び出すこと。
    381357 */
    382358
     
    392368                if ((ln = nd6_lookup(&dr->addr, false)) != NULL && ND6_IS_LLINFO_PROBREACH(ln)) {
    393369               
    394                         /* 選択したルータをå
    395 ˆé ­ã«ç§»ã™ã€‚*/
     370                        /* 選択したルータを先頭に移す。*/
    396371                        router = *dr;
    397372                        for (tix = ix; tix > 0; tix --)
     
    404379
    405380/*
    406  *  defrtrlist_update -- ディフォルトルータ・リストを更新する。
     381 *  defrtrlist_update -- ディフォルトルータ・リストを更新する。
    407382 *
    408  *      戻り値は、ルータのインデックス。
    409  *      ただし、値が -1 なら、プレフィックス・リストは更新しない。
     383 *      戻り値は、ルータのインデックス。
     384 *      ただし、値が -1 なら、プレフィックス・リストは更新しない。
    410385 */
    411386
     
    420395        syscall(wai_sem(SEM_ND6_DEFRTRLIST));
    421396
    422         /* 登録済か調べる。*/
     397        /* 登録済か調べる。*/
    423398        if ((fdr = nd6_defrtrlist_lookup(src)) != NULL) {
    424                 /* 登録済みの場合の処理 */
     399                /* 登録済みの場合の処理 */
    425400                if (lifetime == 0) {
    426401                        nd6_defrtrlist_del(fdr);
     
    429404                        }
    430405                else {
    431                         fdr->lifetime = lifetime * SYSTIM_HZ;           /* lifetime の単位は秒 */
     406                        fdr->lifetime = lifetime * SYSTIM_HZ;           /* lifetime の単位は秒 */
    432407                        fdr->flags    = flags;
    433408                        fdr->expire   = now + fdr->lifetime;
     
    443418        if (fdr == NULL && def_router_count < NUM_ND6_DEF_RTR_ENTRY) {
    444419                /*
    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]; が空きエントリ
    447422                 */
    448423                fdr = &nd6_def_router[def_router_count];
    449424                }
    450425
    451         /* 空きエントリがなければ、有効時間が短いエントリを削除する。*/
     426        /* 空きエントリがなければ、有効時間が短いエントリを削除する。*/
    452427        if (fdr == NULL) {
    453428                T_DEF_ROUTER    *sdr = NULL;
     
    458433                        diff = (int32_t)(dr->expire - now);
    459434                        if (diff <= 0) {        /* dr->expire <= now */
    460                                 /* 既に、有効時間が過ぎている。*/
     435                                /* 既に、有効時間が過ぎている。*/
    461436                                sdr = dr;
    462437                                break;
     
    471446                }
    472447
    473         /* 各メンバに値を設定する。*/
     448        /* 各メンバに値を設定する。*/
    474449        fdr->plistmap = 0;
    475450        memcpy(&fdr->addr, src, sizeof(T_IN6_ADDR));
    476         fdr->lifetime = lifetime * SYSTIM_HZ;           /* lifetime の単位は秒 */
     451        fdr->lifetime = lifetime * SYSTIM_HZ;           /* lifetime の単位は秒 */
    477452        fdr->flags    = flags;
    478453        fdr->expire   = now + fdr->lifetime;
     
    481456
    482457        /*
    483          *  ディフォルトルータとして登録するが、
    484          *  既にディフォルトルータがあれば選択しなおさない。
     458         *  ディフォルトルータとして登録するが、
     459         *  既にディフォルトルータがあれば選択しなおさない。
    485460         */
    486461        if (fdr - nd6_def_router != 0)
     
    492467
    493468/*
    494  *  in6_ifadd -- インタフェースにアドレスを追加する。
     469 *  in6_ifadd -- インタフェースにアドレスを追加する。
    495470 */
    496471
     
    506481
    507482        /*
    508          *  リンクローカルアドレスが未登録であれば何もしない。
     483         *  リンクローカルアドレスが未登録であれば何もしない。
    509484         */
    510485        if ((lla->flags & IN6_IFF_DEFINED) == 0)
     
    512487
    513488        /*
    514          *  ルータから通知されたプレフィックス長が、
    515          *  リンクローカルアドレスのプレフィックス長と
    516          *  異なっていればエラー
     489         *  ルータから通知されたプレフィックス長が、
     490         *  リンクローカルアドレスのプレフィックス長と
     491         *  異なっていればエラー
    517492         */
    518493        if (lla->prefix_len != pr->prefix_len)
    519494                return E_PAR;
    520495
    521         /* プレフィックスマスクを生成する。*/
     496        /* プレフィックスマスクを生成する。*/
    522497        in6_plen2pmask(&mask, pr->prefix_len);
    523498
    524         /* アドレスを生成する。*/
     499        /* アドレスを生成する。*/
    525500        for (ix = 0; ix < 4; ix ++)
    526501                addr.s6_addr32[ix] = (pr->prefix.s6_addr32[ix] &  mask.s6_addr32[ix])
    527502                                   | ( lla->addr.s6_addr32[ix] & ~mask.s6_addr32[ix]);
    528503
    529         /* フラグを初期化する。*/
     504        /* フラグを初期化する。*/
    530505        ia->flags = 0;
    531506
     
    536511
    537512/*
    538  *  nd6_prefix_lookup -- プレフィックスを探索する。
     513 *  nd6_prefix_lookup -- プレフィックスを探索する。
    539514 */
    540515
     
    556531
    557532/*
    558  *  prelist_remove -- プレフィックスリストからプレフィックスを削除する。
     533 *  prelist_remove -- プレフィックスリストからプレフィックスを削除する。
    559534 *
    560  *    注意: この関数を呼び出すときは、SEM_ND6_DEFRTRLIST で、
    561  *          ロックしてから呼び出すこと。
     535 *    注意: この関数を呼び出すときは、SEM_ND6_DEFRTRLIST で、
     536 *          ロックしてから呼び出すこと。
    562537 */
    563538
     
    569544        int_t   rix;
    570545
    571         /* 有効時間切れにする。*/
     546        /* 有効時間切れにする。*/
    572547        pr->vltime = 0;
    573548        pr->pltime = 0;
     
    579554                }
    580555
    581         /*  プレフィックスエントリとディフォルトルータ・エントリのリンクを解除する。*/
     556        /*  プレフィックスエントリとディフォルトルータ・エントリのリンクを解除する。*/
    582557        pr->routermap = 0;
    583558        mask = make_mask(pr - nd6_prefix);
     
    585560                nd6_def_router[rix].plistmap &= ~mask;
    586561
    587         /* プレフィックスを無効にする。*/
     562        /* プレフィックスを無効にする。*/
    588563        pr->flags &= ~ND6_PREFIX_STATE_BUSY;
    589564
     
    592567
    593568/*
    594  *  nd6_prefix_onlink -- プレフィックスをオンリンクに設定し、アドレスを使用可能にする。
     569 *  nd6_prefix_onlink -- プレフィックスをオンリンクに設定し、アドレスを使用可能にする。
    595570 *
    596  *    注意: この関数を呼び出すときは、SEM_ND6_DEFRTRLIST で、
    597  *          ロックしてから呼び出すこと。
     571 *    注意: この関数を呼び出すときは、SEM_ND6_DEFRTRLIST で、
     572 *          ロックしてから呼び出すこと。
    598573 */
    599574
     
    605580        int_t           ix;
    606581
    607         /* 既にオンリンク状æ
    608 ‹ã«ãªã£ã¦ã„る場合はエラー。*/
     582        /* 既にオンリンク状態になっている場合はエラー。*/
    609583        if ((pr->flags & ND6_PREFIX_STATE_ONLINK) != 0)
    610584                return E_OBJ;
    611585
    612         /* リンクローカルアドレスが未登録であれば何もしない。*/
     586        /* リンクローカルアドレスが未登録であれば何もしない。*/
    613587        lla = &ifp->in6_ifaddrs[IPV6_IFADDR_IX_LINKLOCAL];
    614588        if ((lla->flags & IN6_IFF_DEFINED) == 0)
     
    616590
    617591        /*
    618          *  指定されたプレフィックスが割り当てられているインタフェースの
    619          *  アドレスæƒ
    620 å ±ã‚’探す。
     592         *  指定されたプレフィックスが割り当てられているインタフェースの
     593         *  アドレス情報を探す。
    621594         */
    622595        for (ix = NUM_IN6_IFADDR_ENTRY; ix --; ) {
     
    628601        if (ix >= 0) {
    629602
    630                 /* アドレスæƒ
    631 å ±ã‚’使用可能にする。*/
     603                /* アドレス情報を使用可能にする。*/
    632604                ia->flags &= ~IN6_IFF_DETACHED;
    633605
    634                 /* プレフィックスをオンリンクに設定する。*/
     606                /* プレフィックスをオンリンクに設定する。*/
    635607                pr->flags |= ND6_PREFIX_STATE_ONLINK;
    636608                }
     
    640612
    641613/*
    642  *  nd6_prefix_offlink -- プレフィックスをオフリンクに設定し、アドレスを使用不可にする。
     614 *  nd6_prefix_offlink -- プレフィックスをオフリンクに設定し、アドレスを使用不可にする。
    643615 *
    644  *    注意: この関数を呼び出すときは、SEM_ND6_DEFRTRLIST で、
    645  *          ロックしてから呼び出すこと。
     616 *    注意: この関数を呼び出すときは、SEM_ND6_DEFRTRLIST で、
     617 *          ロックしてから呼び出すこと。
    646618 */
    647619
     
    653625        int_t           ix;
    654626
    655         /* 既にオフリンク状æ
    656 ‹ã«ãªã£ã¦ã„る場合はエラー。*/
     627        /* 既にオフリンク状態になっている場合はエラー。*/
    657628        if ((pr->flags & ND6_PREFIX_STATE_ONLINK) == 0)
    658629                return E_OBJ;
    659630
    660631        /*
    661          *  指定されたプレフィックスが割り当てられているインタフェースの
    662          *  アドレスæƒ
    663 å ±ã‚’探す。
     632         *  指定されたプレフィックスが割り当てられているインタフェースの
     633         *  アドレス情報を探す。
    664634         */
    665635        for (ix = NUM_IN6_IFADDR_ENTRY; ix --; ) {
     
    671641        if (ix >= 0) {
    672642
    673                 /* アドレスæƒ
    674 å ±ã‚’使用不可にする。*/
     643                /* アドレス情報を使用不可にする。*/
    675644                ia->flags |= IN6_IFF_DETACHED;
    676645
    677                 /* プレフィックスをオフリンクに設定する。*/
     646                /* プレフィックスをオフリンクに設定する。*/
    678647                pr->flags &= ~ND6_PREFIX_STATE_ONLINK;
    679648                }
     
    683652
    684653/*
    685  *  in6_init_prefix_ltimes -- プレフィックスの有効時間を設定する。
     654 *  in6_init_prefix_ltimes -- プレフィックスの有効時間を設定する。
    686655 */
    687656
     
    691660        SYSTIM          now;
    692661
    693         /* 推奨有効時間が有効時間より長いときはエラー */
     662        /* 推奨有効時間が有効時間より長いときはエラー */
    694663        if (pr->pltime > pr->vltime)
    695664                return E_PAR;
     
    712681
    713682/*
    714  *  nd6_prelist_add -- プレフィックスリストにプレフィックスを追加する。
     683 *  nd6_prelist_add -- プレフィックスリストにプレフィックスを追加する。
    715684 *
    716  *    注意: この関数を呼び出すときは、SEM_ND6_DEFRTRLIST で、
    717  *          ロックしてから呼び出すこと。
     685 *    注意: この関数を呼び出すときは、SEM_ND6_DEFRTRLIST で、
     686 *          ロックしてから呼び出すこと。
    718687 */
    719688
     
    724693        int_t           ix;
    725694
    726         /* プレフィックスリストから空きのプレフィックスエントリを探索する。*/
     695        /* プレフィックスリストから空きのプレフィックスエントリを探索する。*/
    727696        for (ix = NUM_ND6_PREFIX_ENTRY; ix --; ) {
    728697                pr = &nd6_prefix[ix];
     
    731700                }
    732701
    733         /* プレフィックスリストに空きがなければエラー */
     702        /* プレフィックスリストに空きがなければエラー */
    734703        if (ix < 0)
    735704                return NULL;
     
    737706        pr->flags |= ND6_PREFIX_STATE_BUSY;
    738707
    739         /* プレフィックスを追加する。*/
     708        /* プレフィックスを追加する。*/
    740709        pr->prefix     = pi->prefix;
    741710        pr->prefix_len = pi->prefix_len;
    742711
    743         /* フラグを設定する。*/
     712        /* フラグを設定する。*/
    744713        if ((pi->flags & ND_OPT_PI_FLAG_ONLINK) != 0)
    745714                pr->flags |= ND6_PREFIX_FLAG_ONLINK;
     
    747716                pr->flags |= ND6_PREFIX_FLAG_AUTO;
    748717
    749         /* プレフィックスの有効時間を設定する。*/
     718        /* プレフィックスの有効時間を設定する。*/
    750719        pr->vltime = ntohl(pi->valid);
    751720        pr->pltime = ntohl(pi->preferred);
     
    757726                }
    758727
    759         /* ルータマップを初期化する。*/
     728        /* ルータマップを初期化する。*/
    760729        pr->routermap = 0;
    761730
    762         /* ルータを追加する。*/
     731        /* ルータを追加する。*/
    763732        pfxrtr_add(pr - nd6_prefix, rtr_index);
    764733
     
    767736
    768737/*
    769  *  prelist_update -- プレフィックス・リストを更新する。
     738 *  prelist_update -- プレフィックス・リストを更新する。
    770739 */
    771740
     
    781750        if ((pr = nd6_prefix_lookup(&pi->prefix, pi->prefix_len)) != NULL) {
    782751                /*
    783                  *  登録済みの場合は、プレフィックスリストを更新する。
     752                 *  登録済みの場合は、プレフィックスリストを更新する。
    784753                 */
    785754
    786755                /*
    787                  *  フラグの更新の注意:
    788                  *    on-link ビットと autonomous ビットは
    789                  *    1 から 0 に変更してはならない。
     756                 *  フラグの更新の注意:
     757                 *    on-link ビットと autonomous ビットは
     758                 *    1 から 0 に変更してはならない。
    790759                 */
    791760
     
    797766                if ((pi->flags & ND_OPT_PI_FLAG_ONLINK) != 0) {
    798767                        /*
    799                          *  通知されたプレフィックスがオンリンクの時は、
    800                          *  有効時間を更新する。
     768                         *  通知されたプレフィックスがオンリンクの時は、
     769                         *  有効時間を更新する。
    801770                         */
    802771                        pr->vltime = ntohl(pi->valid);
     
    808777                    (pr->flags & ND6_PREFIX_STATE_ONLINK) == 0) {
    809778                        /*
    810                          *  オフリンクのプレフィックスがオンリンクになった時の処理を実行する。
     779                         *  オフリンクのプレフィックスがオンリンクになった時の処理を実行する。
    811780                         */
    812781                        if (nd6_prefix_onlink(pr) != E_OK) {
     
    820789                        pfxrtr_add(pr - nd6_prefix, router_index);
    821790                }
    822         else {  /* 未登録の場合 */
    823 
    824                 /* 有効時間 0 のプレフィックスは追加しない。*/
     791        else {  /* 未登録の場合 */
     792
     793                /* 有効時間 0 のプレフィックスは追加しない。*/
    825794                if (pi->valid == 0) {
    826795                        syscall(sig_sem(SEM_ND6_DEFRTRLIST));
     
    828797                        }
    829798
    830                 /* オフリンクでアドレス自動設定に使用しなければ追加しない。*/
     799                /* オフリンクでアドレス自動設定に使用しなければ追加しない。*/
    831800                if ((pi->flags & (ND_OPT_PI_FLAG_ONLINK | ND_OPT_PI_FLAG_AUTO)) !=
    832801                                 (ND_OPT_PI_FLAG_ONLINK | ND_OPT_PI_FLAG_AUTO)) {
     
    835804                        }
    836805
    837                 /* プレフィックスを追加する。*/
     806                /* プレフィックスを追加する。*/
    838807                if ((pr = nd6_prelist_add(pi, router_index)) == NULL) {
    839808                        syslog(LOG_ERROR, "[ND6 RTR] prefix add failed.");
     
    842811                        }
    843812
    844 #if 1           /* プレフィックスが未登録の場合だけ表示する。*/
     813#if 1           /* プレフィックスが未登録の場合だけ表示する。*/
    845814                syslog(LOG_NOTICE, "[ND6 RTR] add prefix: flags[MOH]: %02x, addr: %s\n"
    846815                                   "                                      from: %s.",
     
    851820                if ((pr->flags & ND6_PREFIX_FLAG_ONLINK) == 0) {
    852821                        /*
    853                          *  オフリンク・プレフィックスの場合は、有効時間を 0 に設定する。
    854                          *  あとで有効期限切れとなり、リストから削除される。
     822                         *  オフリンク・プレフィックスの場合は、有効時間を 0 に設定する。
     823                         *  あとで有効期限切れとなり、リストから削除される。
    855824                         */
    856825                        pr->vltime = 0;
     
    861830
    862831        /*
    863          *  ステートレス・アドレス自動設定を行う。
     832         *  ステートレス・アドレス自動設定を行う。
    864833         */
    865834        if ((pr->flags & ND6_PREFIX_FLAG_AUTO) == 0) {
     
    869838
    870839        /*
    871          *  通知されたプレフィックスが割り当てられているインタフェースの
    872          *  アドレスæƒ
    873 å ±ã‚’探す。
     840         *  通知されたプレフィックスが割り当てられているインタフェースの
     841         *  アドレス情報を探す。
    874842         */
    875843        for (ix = NUM_IN6_IFADDR_ENTRY; ix --; ) {
     
    881849                }
    882850
    883         if (ix >= 0) {  /* 登録済みのとき */
     851        if (ix >= 0) {  /* 登録済みのとき */
    884852                if ((ia->flags & IN6_IFF_AUTOCONF) == 0) {
    885853                        /*
    886                          *  ステートレス・アドレス自動設定により
    887                          *  設定されていなければ更新しない。
     854                         *  ステートレス・アドレス自動設定により
     855                         *  設定されていなければ更新しない。
    888856                         */
    889857                        ;
     
    891859                else if (ia->flags & IN6_IFF_TENTATIVE) {
    892860                        /*
    893                          *  重複検出中なら更新しない。
     861                         *  重複検出中なら更新しない。
    894862                         */
    895863                        ;
     
    902870                        int_t           ix;
    903871
    904                         /* 有効時間を設定する。*/
     872                        /* 有効時間を設定する。*/
    905873                        syscall(get_tim(&now));
    906874
     
    914882                        if (pr->vltime > (2 * 60 * 60) || pr->vltime > vltime) {
    915883                                /*
    916                                  *  lifetime.expire、pi->valid (有効時間) と
    917                                  *  pi->preferred (推奨有効時間) の単位は [s]。
    918                                  *  通知された有効時間が 2 時間以上か、現在の残り時間より
    919                                  *  長ければ、新しい有効時間には、通知された有効時間を設定する。
     884                                 *  lifetime.expire、pi->valid (有効時間) と
     885                                 *  pi->preferred (推奨有効時間) の単位は [s]。
     886                                 *  通知された有効時間が 2 時間以上か、現在の残り時間より
     887                                 *  長ければ、新しい有効時間には、通知された有効時間を設定する。
    920888                                 */
    921889                                vltime = pr->vltime;
     
    925893                        else {
    926894                                /*
    927                                  *  IPsec は未実è£
    928 ã®ãŸã‚ã€2 時間を設定する。
     895                                 *  IPsec は未実装のため、2 時間を設定する。
    929896                                 */
    930897                                vltime = 2 * 60 * 60;
     
    933900                        lla = &ifp->in6_ifaddrs[IPV6_IFADDR_IX_LINKLOCAL];
    934901
    935                         /* プレフィックスマスクを生成する。*/
     902                        /* プレフィックスマスクを生成する。*/
    936903                        in6_plen2pmask(&mask, pr->prefix_len);
    937904
    938                         /* アドレスを生成する。*/
     905                        /* アドレスを生成する。*/
    939906                        for (ix = 0; ix < 4; ix ++)
    940907                                addr.s6_addr32[ix] = (pr->prefix.s6_addr32[ix] &  mask.s6_addr32[ix])
     
    947914                }
    948915
    949         else { /* 未登録のとき */
     916        else { /* 未登録のとき */
    950917
    951918                /*
    952                  *  プレフィックス長をチェックする。
    953                  *  もし、プレフィックス長とインタフェース ID の合計が
    954                  *  128 ビットに一致しない時は、プレフィックスæƒ
    955 å ±ã‚’無視する。
     919                 *  プレフィックス長をチェックする。
     920                 *  もし、プレフィックス長とインタフェース ID の合計が
     921                 *  128 ビットに一致しない時は、プレフィックス情報を無視する。
    956922                 */
    957923                if ((ifidlen = in6_if2idlen(ifp)) < 0)
     
    978944
    979945/*
    980  *  nd6_prelist_timer -- プレフィックス・リストの管理タイマー
     946 *  nd6_prelist_timer -- プレフィックス・リストの管理タイマー
    981947 */
    982948
     
    989955
    990956        syscall(get_tim(&now));
    991         now /= SYSTIM_HZ;               /* 有効時間の単位は [s] */
     957        now /= SYSTIM_HZ;               /* 有効時間の単位は [s] */
    992958
    993959        syscall(wai_sem(SEM_ND6_DEFRTRLIST));
     
    1002968
    1003969/*
    1004  *  nd6_rs_output -- ルータ要請を出力する。
     970 *  nd6_rs_output -- ルータ要請を出力する。
    1005971 */
    1006972
     
    1017983
    1018984        /*
    1019          *  送信å
    1020 ƒã‚¢ãƒ‰ãƒ¬ã‚¹ã«ã¯ã€ãƒªãƒ³ã‚¯ãƒ­ãƒ¼ã‚«ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’設定するが、
    1021          *  まだ設定されいなければ、無指定を設定する。
     985         *  送信元アドレスには、リンクローカルアドレスを設定するが、
     986         *  まだ設定されいなければ、無指定を設定する。
    1022987         */
    1023988        if ((ifa = in6ifa_ifpwithix(IF_GET_IFNET(), IPV6_IFADDR_IX_LINKLOCAL)) != NULL && !IFA6_IS_NOTREADY(ifa))
     
    1028993        len = (ROUTER_SOLICIT_HDR_SIZE + 7) >> 3 << 3;
    1029994
    1030         /* ネットワークバッファを獲得し、IPv6 ヘッダを設定する。*/
     995        /* ネットワークバッファを獲得し、IPv6 ヘッダを設定する。*/
    1031996        if (in6_get_datagram(&output, len, 0, &in6_addr_linklocal_allrouters,
    1032997                             saddr, IPPROTO_ICMPV6,
     
    1034999                return;
    10351000
    1036         /* ルータ要請ヘッダを設定する。*/
     1001        /* ルータ要請ヘッダを設定する。*/
    10371002        rsh = GET_ROUTER_SOLICIT_HDR(output, IF_IP6_ROUTER_SOLICIT_HDR_OFFSET);
    10381003        rsh->hdr.type       = ND_ROUTER_SOLICIT;
     
    10401005        rsh->nd_rs_reserved = 0;
    10411006
    1042         /* チェックサムを計算する。*/
     1007        /* チェックサムを計算する。*/
    10431008        rsh->hdr.sum = 0;
    10441009        rsh->hdr.sum = in6_cksum(output, IPPROTO_ICMPV6, (uint8_t*)rsh - output->buf, len);
    10451010
    1046         /* 送信する。*/
     1011        /* 送信する。*/
    10471012        NET_COUNT_ICMP6(net_count_nd6[NC_ICMP6_OUT_OCTETS],
    10481013                       output->len - GET_IF_IP6_HDR_SIZE(output));
     
    10541019
    10551020/*
    1056  *  nd6_defrtrlist_lookup -- ディフォルトルータ・リストを探索する。
     1021 *  nd6_defrtrlist_lookup -- ディフォルトルータ・リストを探索する。
    10571022 */
    10581023
     
    10731038
    10741039/*
    1075  *  nd6_router_lookup -- ルータのアドレスを返す。
     1040 *  nd6_router_lookup -- ルータのアドレスを返す。
    10761041 *
    10771042 */
     
    10871052
    10881053/*
    1089  *  nd6_defrtrlist_del -- ディフォルトルータ・リストからルータを削除する。
     1054 *  nd6_defrtrlist_del -- ディフォルトルータ・リストからルータを削除する。
    10901055 *
    1091  *    注意: この関数を呼び出すときは、SEM_ND6_DEFRTRLIST で、
    1092  *          ロックしてから呼び出すこと。
     1056 *    注意: この関数を呼び出すときは、SEM_ND6_DEFRTRLIST で、
     1057 *          ロックしてから呼び出すこと。
    10931058 */
    10941059
     
    11041069        if ((ia = in6ifa_ifpwithrtrix(ifp, rtrix)) != NULL) {
    11051070                /*
    1106                  *  ネットワークインタフェースのプレフィックスを通知した
    1107                  *  ルータを到達不能にする。
     1071                 *  ネットワークインタフェースのプレフィックスを通知した
     1072                 *  ルータを到達不能にする。
    11081073                 */
    11091074                ia->router_index = IN6_RTR_IX_UNREACH;
    11101075                }
    11111076
    1112         /* プレフィックスリストからルータを削除する。*/
     1077        /* プレフィックスリストからルータを削除する。*/
    11131078        mask = make_mask(rtrix);
    11141079        for (pix = NUM_ND6_PREFIX_ENTRY; pix --; )
    11151080                nd6_prefix[pix].routermap &= ~mask;
    11161081
    1117         /* 削除したルータ以降を前に詰める。*/
     1082        /* 削除したルータ以降を前に詰める。*/
    11181083        for (rix = rtrix + 1; rix < def_router_count; rix ++)
    11191084                nd6_def_router[rix - 1] = nd6_def_router[rix];
    11201085
    1121         /* プレフィックスリストのルータも更新する。*/
     1086        /* プレフィックスリストのルータも更新する。*/
    11221087        if (dr != nd6_def_router) {
    11231088
    1124                 /* マスクを生成する。*/
     1089                /* マスクを生成する。*/
    11251090                mask = 1;
    11261091                for (ix = rtrix - 1; ix -- > 0; )
     
    11341099        def_router_count --;
    11351100
    1136         /* プレフィックスのオンリンク状æ
    1137 ‹ã‚’確認する。*/
     1101        /* プレフィックスのオンリンク状態を確認する。*/
    11381102        pfxlist_onlink_check();
    11391103
    11401104        /*
    1141          *  削除するルータが優å
    1142 ˆãƒ‡ã‚£ãƒ•ã‚©ãƒ«ãƒˆãƒ«ãƒ¼ã‚¿ã®å ´åˆã¯ã€
    1143          *  優å
    1144 ˆãƒ‡ã‚£ãƒ•ã‚©ãƒ«ãƒˆãƒ«ãƒ¼ã‚¿ã‚’選択しなおす。
     1105         *  削除するルータが優先ディフォルトルータの場合は、
     1106         *  優先ディフォルトルータを選択しなおす。
    11451107         */
    11461108        if (rtrix == 0)
     
    11491111
    11501112/*
    1151  *  nd6_defrtrlist_timer -- ディフォルトルータ・リストの管理タイマー
     1113 *  nd6_defrtrlist_timer -- ディフォルトルータ・リストの管理タイマー
    11521114 */
    11531115
     
    11731135
    11741136/*
    1175  *  nd6_get_drl -- ディフォルトルータ・リストを獲得する。
     1137 *  nd6_get_drl -- ディフォルトルータ・リストを獲得する。
    11761138 */
    11771139
     
    11841146
    11851147/*
    1186  *  nd6_get_prl -- プレフィックス・リストを獲得する。
     1148 *  nd6_get_prl -- プレフィックス・リストを獲得する。
    11871149 */
    11881150
     
    11961158
    11971159/*
    1198  *  nd6_ra_input -- ルータ通知のå
    1199 ¥åŠ›å‡¦ç†ã€‚
     1160 *  nd6_ra_input -- ルータ通知の入力処理。
    12001161 */
    12011162
     
    12211182
    12221183        /*
    1223          *  ヘッダのチェック、以下の場合は破棄する。
    1224          *    ・ホップリミットが IPV6_MAXHLIM (255) 以外
    1225          *    ・ヘッダ長が短い
    1226          *    ・始点アドレスが、リンクローカルではない (RFC2461)
     1184         *  ヘッダのチェック、以下の場合は破棄する。
     1185         *    ・ホップリミットが IPV6_MAXHLIM (255) 以外
     1186         *    ・ヘッダ長が短い
     1187         *    ・始点アドレスが、リンクローカルではない (RFC2461)
    12271188         */
    12281189        if (ip6h->hlim != IPV6_MAXHLIM                ||
     
    12331194        rah  = GET_ROUTER_ADVERT_HDR(input, off);
    12341195
    1235         /* 近隣探索オプションのオフセットを記録する。*/
     1196        /* 近隣探索オプションのオフセットを記録する。*/
    12361197        if (nd6_options(nd_opt_off, input->buf + (off + ROUTER_ADVERT_HDR_SIZE),
    12371198                                    input->len - (off + ROUTER_ADVERT_HDR_SIZE)) != E_OK)
    12381199                goto err_ret;
    12391200        /*
    1240          *  到達可能状æ
    1241 ‹ã®æœ‰åŠ¹æ™‚間の更新
     1201         *  到達可能状態の有効時間の更新
    12421202
    12431203         */
    12441204        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 */
    12461206                if (advrea <= ND6_MAX_REACHABLE_TIME &&
    12471207                    advrea != nd6_base_reachable_time) {
     
    12551215                }
    12561216
    1257         /* 近隣探索の送信間隔の更新 */
     1217        /* 近隣探索の送信間隔の更新 */
    12581218        if (rah->retransmit) {
    12591219                nd6_retrans_time = ntohl(rah->retransmit) * SYSTIM_HZ / 1000;
    1260                                                                         /* rah->retransmit の単位は ms */
    1261                 }
    1262 
    1263         /* ホップリミットの規定値の更新 */
     1220                                                                        /* rah->retransmit の単位は ms */
     1221                }
     1222
     1223        /* ホップリミットの規定値の更新 */
    12641224        if (rah->nd_ra_current_hoplimit) {
    12651225                ip6_defhlim = rah->nd_ra_current_hoplimit;
    12661226                }
    12671227
    1268         /* ディフォルトルータリストの更新 */
     1228        /* ディフォルトルータリストの更新 */
    12691229        rix = defrtrlist_update(&ip6h->src,
    12701230                               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        /* プレフィックスリストの更新 */
    12741234        if (nd_opt_off[ND_OPT_OFF_ARRAY_IX(ND_OPT_PREFIX_INFO_COUNT)]) {
    12751235                T_ND_OPT_PREFIX_INFO    *pi;
     
    12791239                pi_off   = off + ROUTER_ADVERT_HDR_SIZE
    12801240                               + nd_opt_off[ND_OPT_OFF_ARRAY_IX(ND_OPT_PREFIX_INFORMATION)] - 8;
    1281                 /* 注意: オプションオフセットé
    1282 åˆ—には、オフセット + 8 が設定されている。*/
     1241                /* 注意: オプションオフセット配列には、オフセット + 8 が設定されている。*/
    12831242                while (pi_count -- > 0) {
    12841243                        pi = (T_ND_OPT_PREFIX_INFO*)(input->buf + pi_off);
    12851244                        if (pi->type != ND_OPT_PREFIX_INFORMATION)
    1286                                 /* オプションタイプがプレフィックスæƒ
    1287 å ±ã§ãªã‘れば何もしない。*/
     1245                                /* オプションタイプがプレフィックス情報でなければ何もしない。*/
    12881246                                ;
    12891247                        else if (pi->len != 4)
    1290                                 /* プレフィックスæƒ
    1291 å ±ã®é•·ã•ãŒ 32 (8×4) でなければ不正 */
     1248                                /* プレフィックス情報の長さが 32 (8×4) でなければ不正 */
    12921249                                syslog(LOG_NOTICE, "[ND6 RTR] prefix opt len: %d.", pi->len);
    12931250                        else if (pi->prefix_len > 128)
    1294                                 /* プレフィックス長は 128 ビット以下 */
     1251                                /* プレフィックス長は 128 ビット以下 */
    12951252                                syslog(LOG_NOTICE, "[ND6 RTR] prefix len: %d.", pi->prefix_len);
    12961253                        else if (IN6_IS_ADDR_MULTICAST(&pi->prefix) ||
    12971254                                 IN6_IS_ADDR_LINKLOCAL(&pi->prefix))
    1298                                 /* マルチキャストとリンクローカルは不正 */
     1255                                /* マルチキャストとリンクローカルは不正 */
    12991256                                syslog(LOG_NOTICE, "[ND6 RTR] invalid addr: %s from %s.",
    13001257                                                   ipv62str(NULL, &pi->prefix), ipv62str(NULL, &ip6h->src));
    1301 #if 0   /* FreeBSD 6.3 で削除されている。*/
     1258#if 0   /* FreeBSD 6.3 で削除されている。*/
    13021259                        else if (IN6_IS_ADDR_AGGREGATE_UNICAST(&pi->prefix) &&         
    13031260                                 (pi->prefix_len != 64)                       )
    1304                                 /* 集約可能ユニキャストで、プレフィックス長が 64 ビット以外は不正 */
     1261                                /* 集約可能ユニキャストで、プレフィックス長が 64 ビット以外は不正 */
    13051262                                syslog(LOG_NOTICE, "[ND6 RTR] invalid prefix len for global: %d.", pi->prefix_len);
    13061263#endif
    13071264                        else if (ntohl(pi->preferred) > ntohl(pi->valid))
    1308                                 /* 推奨有効時間が有効時間より長ければ不正 */
     1265                                /* 推奨有効時間が有効時間より長ければ不正 */
    13091266                                syslog(LOG_NOTICE, "[ND6 RTR] preferred(%d) > valid time(%d).", ntohl(pi->preferred), ntohl(pi->valid));
    13101267                        else {
    1311 #if 0   /* プレフィックスが未登録の場合だけ表示する。*/
     1268#if 0   /* プレフィックスが未登録の場合だけ表示する。*/
    13121269                                syslog(LOG_NOTICE, "[ND6 RTR] update prefix: flags[MOH]: %02x, addr: %s\n"
    13131270                                                   "                                         from: %s.",
     
    13161273                                if (rix >= 0) {
    13171274                                        /*
    1318                                          *  defrtrlist_update の戻り値は、ルータのインデックス。
    1319                                          *  ただし、値が -1 なら、プレフィックス・リストは更新しない。
     1275                                         *  defrtrlist_update の戻り値は、ルータのインデックス。
     1276                                         *  ただし、値が -1 なら、プレフィックス・リストは更新しない。
    13201277                                         */
    1321                                         prelist_update(pi, rix);        /* プレフィックス・リストを更新する。*/
     1278                                        prelist_update(pi, rix);        /* プレフィックス・リストを更新する。*/
    13221279                                        }
    13231280                                }
    1324                         pi_off += pi->len << 3;         /* オプション長の単位は 8 バイト */
    1325                         }
    1326                 }
    1327 
    1328         /* MTU の更新 */
     1281                        pi_off += pi->len << 3;         /* オプション長の単位は 8 バイト */
     1282                        }
     1283                }
     1284
     1285        /* MTU の更新 */
    13291286        if (nd_opt_off[ND_OPT_OFF_ARRAY_IX(ND_OPT_MTU)]) {
    13301287                T_ND_OPT_MTU_HDR        *optmtuh;
     
    13351292
    13361293                /*
    1337                  *  値のチェック
     1294                 *  値のチェック
    13381295                 *
    1339                  *    オプション長: 1
    1340                  *    予約:         0
     1296                 *    オプション長: 1
     1297                 *    予約:         0
    13411298                 */
    13421299                if (optmtuh->len != 1 || optmtuh->reserved != 0)
    13431300                        goto err_ret;
    13441301
    1345                 /* MTU が IPv6 MMTU(1280 オクテット)以下なら無視する。*/
     1302                /* MTU が IPv6 MMTU(1280 オクテット)以下なら無視する。*/
    13461303                mtu = ntohl(optmtuh->mtu);
    13471304                if (mtu >= IPV6_MMTU) {
     
    13521309
    13531310        /*
    1354          *  ルータの始点リンクアドレスを近隣キャッシュに登録する。
     1311         *  ルータの始点リンクアドレスを近隣キャッシュに登録する。
    13551312         */
    13561313        if (nd_opt_off[ND_OPT_OFF_ARRAY_IX(ND_OPT_SOURCE_LINKADDR)]) {
    13571314                opth = (T_ND_OPT_HDR *)((uint8_t *)(input->buf + off + ROUTER_ADVERT_HDR_SIZE) +
    13581315                                        nd_opt_off[ND_OPT_OFF_ARRAY_IX(ND_OPT_SOURCE_LINKADDR)] - 8);
    1359                 /* 注意: オプションオフセットé
    1360 åˆ—には、オフセット + 8 が設定されている。*/
     1316                /* 注意: オプションオフセット配列には、オフセット + 8 が設定されている。*/
    13611317                lladdr     = (uint8_t *)(opth + 1);
    13621318                lladdr_len = (opth->len << 3);
     
    13641320
    13651321        /*
    1366          *  ネットワークインタフェースのアドレス長が一致しなければエラー
     1322         *  ネットワークインタフェースのアドレス長が一致しなければエラー
    13671323         */
    13681324        if (lladdr && lladdr_len != ((sizeof(T_IF_ADDR) + sizeof(T_ND_OPT_HDR) + 7) & ~7))
    13691325                goto err_ret;
    13701326
    1371         /* 近隣キャッシュに登録する。*/
     1327        /* 近隣キャッシュに登録する。*/
    13721328        nd6_cache_lladdr(ifp, &ip6h->src, (T_IF_ADDR *)lladdr, ND_ROUTER_ADVERT, 0);
    13731329
    13741330        /*
    1375          *  ルータの始点リンクアドレスを近隣キャッシュに登録したので、
    1376          *  オンリンク状æ
    1377 ‹ãŒå¤‰åŒ–する可能性があるため、それをチェックする。
     1331         *  ルータの始点リンクアドレスを近隣キャッシュに登録したので、
     1332         *  オンリンク状態が変化する可能性があるため、それをチェックする。
    13781333         */
    13791334        pfxlist_onlink_check();
     
    13891344
    13901345        /*
    1391          *  ルータ通知を受信しない場合は、破棄して終了する。
     1346         *  ルータ通知を受信しない場合は、破棄して終了する。
    13921347         */
    13931348        NET_COUNT_ICMP6(net_count_nd6[NC_ND6_RA_IN_PACKETS], 1);
     
    14001355
    14011356/*
    1402  *  nd6_rtrsol_ctl -- ルータ要請出力の制御
     1357 *  nd6_rtrsol_ctl -- ルータ要請出力の制御
    14031358 */
    14041359
     
    14091364        int_t           try;
    14101365
    1411         /* リンクローカルアドレスのアドレスæƒ
    1412 å ±ã‚’得る。*/
     1366        /* リンクローカルアドレスのアドレス情報を得る。*/
    14131367        if ((ifa = in6ifa_ifpwithix(IF_GET_IFNET(), IPV6_IFADDR_IX_LINKLOCAL)) == NULL)
    14141368                return;
    14151369
    1416         /* リンクローカルアドレスの重複検出終了をå¾
    1417 ã¤ã€‚*/
     1370        /* リンクローカルアドレスの重複検出終了を待つ。*/
    14181371        do {
    1419                 /* リンクローカルアドレスの重複検出終了å¾
    1420 ã¡æ™‚間を設定する。*/
     1372                /* リンクローカルアドレスの重複検出終了待ち時間を設定する。*/
    14211373                syscall(dly_tsk(net_rand() % TMO_ND6_RTR_SOL_DELAY));
    14221374
    1423                 /* å¾
    1424 ã£ã¦ã„る間に重複が検出されたら終了する。*/
     1375                /* 待っている間に重複が検出されたら終了する。*/
    14251376                if (ifa->flags & IN6_IFF_DUPLICATED)
    14261377                        return;
     
    14301381        for (try = 0; try < NUM_ND6_RTR_SOL_RETRY; try ++) {
    14311382
    1432                 /* ディフォルトルータ・リストにエントリがあれば終了 */
     1383                /* ディフォルトルータ・リストにエントリがあれば終了 */
    14331384                if (def_router_count > 0)
    14341385                        return;
    14351386
    1436                 /* ルータ要請を出力する。*/
     1387                /* ルータ要請を出力する。*/
    14371388                nd6_rs_output();
    14381389
    1439                 /* 出力の 2 回目以降のé
    1440 å»¶æ™‚間を設定する。*/
     1390                /* 出力の 2 回目以降の遅延時間を設定する。*/
    14411391                syscall(dly_tsk(TMO_ND6_RTR_SOL_INTERVAL));
    14421392                }
     
    14461396
    14471397/*
    1448  *  nd6_onlink_prefix_lookup -- プレフィックスを探索する。
     1398 *  nd6_onlink_prefix_lookup -- プレフィックスを探索する。
    14491399 */
    14501400
     
    14591409        now /= SYSTIM_HZ;
    14601410
    1461         /* 推奨有効時間å†
    1462 ã®ãƒ—レフィックスを探索する。*/
     1411        /* 推奨有効時間内のプレフィックスを探索する。*/
    14631412        for (ix = NUM_ND6_PREFIX_ENTRY; ix -- > 0; ) {
    14641413                pr = &nd6_prefix[ix];
     
    14721421                }
    14731422
    1474         /* 有効時間å†
    1475 ã®ãƒ—レフィックスを探索する。*/
     1423        /* 有効時間内のプレフィックスを探索する。*/
    14761424        for (ix = NUM_ND6_PREFIX_ENTRY; ix -- > 0; ) {
    14771425                pr = &nd6_prefix[ix];
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet6/route6.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    115103#if 0
    116104/*
    117  *  通信帯域を食いつぶす攻撃への対応のため、
    118  *  タイプ 0 経路制御ヘッダの処理を行わない。
    119  */
    120 
    121 /*
    122  *  ip6_rthdr0 -- タイプ 0 経路制御ヘッダのå
    123 ¥åŠ›é–¢æ•°
     105 *  通信帯域を食いつぶす攻撃への対応のため、
     106 *  タイプ 0 経路制御ヘッダの処理を行わない。
     107 */
     108
     109/*
     110 *  ip6_rthdr0 -- タイプ 0 経路制御ヘッダの入力関数
    124111 */
    125112
     
    128115{
    129116        if (rt0h->segleft == 0) {
    130                 /* 中継ノード数は 0 なので、終点ノード */
     117                /* 中継ノード数は 0 なので、終点ノード */
    131118                return E_OK;
    132119                }
    133120
    134         /* len と segleft の正当性チェック */
     121        /* len と segleft の正当性チェック */
    135122#ifdef IP6_CFG_COMPAT_RFC1883
    136123        if ((rt0h->len % 2) || (rt0h->len > 46)) {
     
    139126#endif
    140127                /*
    141                  *  len は偶数で、(23 * 2) まで。
    142                  *  ただし、(23 * 2) の制限は RFC 2462 で削除されている。
     128                 *  len は偶数で、(23 * 2) まで。
     129                 *  ただし、(23 * 2) の制限は RFC 2462 で削除されている。
    143130                 */
    144131                icmp6_error(input, ICMP6_PARAM_PROB,
     
    148135                }
    149136
    150         /* len が中継ノード数と矛盾していないかチェックする。*/
     137        /* len が中継ノード数と矛盾していないかチェックする。*/
    151138        if ((rt0h->len / 2) < rt0h->segleft) {
    152139                /*
    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 はエラー。
    156143                 */
    157144                icmp6_error(input, ICMP6_PARAM_PROB,
     
    162149
    163150        /*
    164          *  残りの中継ノード数が 1 以上であれば、このノードは最終的な
    165          *  終点ノードではない。本実è£
    166 ã§ã¯ã€ä¸­ç¶™ã‚’しないので、
    167          *  å
    168 ¥åŠ›ãƒ‡ãƒ¼ã‚¿ã‚°ãƒ©ãƒ ã®å‡¦ç†ã‚’終了する。
     151         *  残りの中継ノード数が 1 以上であれば、このノードは最終的な
     152         *  終点ノードではない。本実装では、中継をしないので、
     153         *  入力データグラムの処理を終了する。
    169154         */
    170155        syscall(rel_net_buf(input));
     
    175160
    176161/*
    177  *  route6_input -- 経路制御ヘッダのå
    178 ¥åŠ›é–¢æ•°
     162 *  route6_input -- 経路制御ヘッダの入力関数
    179163 */
    180164
     
    186170        uint_t          len, off = *offp;
    187171
    188         /* ネットワークバッファの残りの長さをチェックする。*/
     172        /* ネットワークバッファの残りの長さをチェックする。*/
    189173        if (input->len - off < sizeof(T_IP6_RT_HDR))
    190174                goto buf_rel;
     
    193177        len = (rth->len + 1) << 3;
    194178
    195         /* 経路制御ヘッダの長さをチェックする。*/
     179        /* 経路制御ヘッダの長さをチェックする。*/
    196180        if (input->len < off + len)
    197181                goto buf_rel;
     
    199183#if 0
    200184        /*
    201          *  通信帯域を食いつぶす攻撃への対応のため、
    202          *  タイプ 0 経路制御ヘッダの処理を行わない。
     185         *  通信帯域を食いつぶす攻撃への対応のため、
     186         *  タイプ 0 経路制御ヘッダの処理を行わない。
    203187         */
    204188        if (rth->type == IPV6_RTHDR_TYPE_0) {
    205189                if (ip6_rthdr0(input, (T_IP6_RT0_HDR*)rth) != E_OK) {
    206190
    207                         /* エラーの場合は、ip6_rthdr0 でバッファを開放している。*/
     191                        /* エラーの場合は、ip6_rthdr0 でバッファを開放している。*/
    208192                        return IPPROTO_DONE;
    209193                        }
     
    212196
    213197                /*
    214                  *  残りの中継ノード数が 1 以上であれば、このノードは最終的な
    215                  *  終点ノードではない。本実è£
    216 ã§ã¯ã€ä¸­ç¶™ã‚’しないので、
    217                  *  ICMP6 エラーを返送して処理を終了する。
     198                 *  残りの中継ノード数が 1 以上であれば、このノードは最終的な
     199                 *  終点ノードではない。本実装では、中継をしないので、
     200                 *  ICMP6 エラーを返送して処理を終了する。
    218201                 */
    219202                icmp6_error(input, ICMP6_PARAM_PROB,
     
    226209
    227210                /*
    228                  *  残りの中継ノード数が 1 以上であれば、このノードは最終的な
    229                  *  終点ノードではない。本実è£
    230 ã§ã¯ã€ä¸­ç¶™ã‚’しないので、
    231                  *  ICMP6 エラーを返送して処理を終了する。
     211                 *  残りの中継ノード数が 1 以上であれば、このノードは最終的な
     212                 *  終点ノードではない。本実装では、中継をしないので、
     213                 *  ICMP6 エラーを返送して処理を終了する。
    232214                 */
    233215                icmp6_error(input, ICMP6_PARAM_PROB,
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet6/scope6.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    147135
    148136/*
    149  *  in6_addrscope -- アドレスのスコープ ID を返す。
     137 *  in6_addrscope -- アドレスのスコープ ID を返す。
    150138 */
    151139
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet6/udp6_input.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    7866
    7967/*
    80  *  udp_reply_no_port -- 送信å
    81 ƒã«ãƒãƒ¼ãƒˆãŒå®šç¾©ã•ã‚Œã¦ã„ないことを通知する。
     68 *  udp_reply_no_port -- 送信元にポートが定義されていないことを通知する。
    8269 */
    8370
     
    9380        if (GET_IP_VER(input)==IPV6_VERSION) {
    9481
    95                 /* マルチキャストアドレスに届いたデータグラムは ICMP エラーを通知しない。*/
     82                /* マルチキャストアドレスに届いたデータグラムは ICMP エラーを通知しない。*/
    9683                if (!IN6_IS_ADDR_MULTICAST(&GET_IP6_HDR(input)->dst)) {
    9784                        syslog(LOG_INFO, "[UDP] unexp port: %d.", ntohs(udph->dport));
    9885
    99                         /* icmp6_error で、ネットワークバッファ input を返却する。*/
     86                        /* icmp6_error で、ネットワークバッファ input を返却する。*/
    10087                        icmp6_error(input, ICMP6_DST_UNREACH, ICMP6_DST_UNREACH_NOPORT, 0);
    10188                        }
     
    10592        else /*if (GET_IP_VER(input)==IPV4_VERSION)*/ {
    10693
    107                 /* ローカル IP アドレスに届いたデータグラムのみ ICMP エラーを通知する。*/
     94                /* ローカル IP アドレスに届いたデータグラムのみ ICMP エラーを通知する。*/
    10895                if (ntohl(GET_IP4_HDR(input)->dst) == IF_GET_IFNET()->in4_ifaddr.addr) {
    10996                        syslog(LOG_INFO, "[UDP] unexp port: %d.", ntohs(udph->dport));
    11097
    11198                        icmp_error(ICMP4_UNREACH_PORT, input);
    112                         /* icmp_error では、ネットワークバッファ input を返却しないので下へ抜ける。*/
     99                        /* icmp_error では、ネットワークバッファ input を返却しないので下へ抜ける。*/
    113100                        }
    114101                syscall(rel_net_buf(input));
     
    119106        NET_COUNT_MIB(udp_stats.udpNoPorts, 1);
    120107
    121         /* マルチキャストアドレスに届いたデータグラムは ICMP エラーを通知しない。*/
     108        /* マルチキャストアドレスに届いたデータグラムは ICMP エラーを通知しない。*/
    122109        if (!IN6_IS_ADDR_MULTICAST(&GET_IP6_HDR(input)->dst)) {
    123110                syslog(LOG_INFO, "[UDP] unexp port: %d.", ntohs(udph->dport));
    124111
    125                 /* icmp6_error で、ネットワークバッファ input を返却する。*/
     112                /* icmp6_error で、ネットワークバッファ input を返却する。*/
    126113                icmp6_error(input, ICMP6_DST_UNREACH, ICMP6_DST_UNREACH_NOPORT, 0);
    127114                }
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet6/udp6_subr.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    7866
    7967/*
    80  *  udp6_is_dstaddr_accept -- UDP のあてå
    81 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ãŒæ­£ã—いかチェックする。
     68 *  udp6_is_dstaddr_accept -- UDP のあて先アドレスが正しいかチェックする。
    8269 *
    83  *    以下の場合もデータグラムを受信する。
     70 *    以下の場合もデータグラムを受信する。
    8471 *
    85  *      ・あてå
    86 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ãŒãƒžãƒ«ãƒã‚­ãƒ£ã‚¹ãƒˆ
     72 *      ・あて先アドレスがマルチキャスト
    8773 */
    8874
     
    10591
    10692/*
    107  *  udpn_is_dstaddr_accept -- UDP のあてå
    108 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ãŒæ­£ã—いかチェックする。
     93 *  udpn_is_dstaddr_accept -- UDP のあて先アドレスが正しいかチェックする。
    10994 *
    110  *    DHCP_CFG が定義されているときは、以下のデータグラムを受信する。
     95 *    DHCP_CFG が定義されているときは、以下のデータグラムを受信する。
    11196 *
    112  *      ・あてå
    113 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ãŒãƒ–ロードキャスト
    114  *      ・ローカルアドレスが未定義
     97 *      ・あて先アドレスがブロードキャスト
     98 *      ・ローカルアドレスが未定義
    11599 */
    116100
     
    139123
    140124/*
    141  *  udpn_is_dstaddr_accept -- UDP のあてå
    142 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ãŒæ­£ã—いかチェックする。
     125 *  udpn_is_dstaddr_accept -- UDP のあて先アドレスが正しいかチェックする。
    143126 *
    144  *    以下の場合もデータグラムを受信する。
     127 *    以下の場合もデータグラムを受信する。
    145128 *
    146  *      ・あてå
    147 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ãŒãƒ–ロードキャスト
     129 *      ・あて先アドレスがブロードキャスト
    148130 */
    149131
  • azure_iot_hub/trunk/asp3_dcre/tinet/tcpip_api.def

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
  • azure_iot_hub/trunk/asp3_dcre/tinet/tcpip_sym.def

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
  • azure_iot_hub/trunk/asp3_dcre/tinet/tinet.trb

    • Property svn:mime-type changed from text/x-ruby to text/x-ruby;charset=UTF-8
    r388 r389  
    66#                    Tomakomai National College of Technology, JAPAN
    77
    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#       免責すること.
    4028
    41 #   æœ¬ã‚½ãƒ•ãƒˆã‚¦ã‚§ã‚¢ã¯ï¼Œç„¡ä¿è¨¼ã§æä¾›ã•ã‚Œã¦ã„るものである.上記著作権è€
    42 ãŠ
    43 #   ã‚ˆã³TOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    44 #   ã«å¯¾ã™ã‚‹é©åˆæ€§ã‚‚含めて,いかなる保証も行わない.また,本ソフトウェ
    45 #   ã‚¢ã®åˆ©ç”¨ã«ã‚ˆã‚Šç›´æŽ¥çš„または間接的に生じたいかなる損害に関しても,そ
    46 #   ã®è²¬ä»»ã‚’負わない.
     29#   本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     30#   よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     31#   に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     32#   アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     33#   の責任を負わない.
    4734#
    4835#   @(#) $Id$
     
    5138
    5239# =====================================================================
    53 # tinet_cfg.h の生成
     40# tinet_cfg.h の生成
    5441# =====================================================================
    5542
     
    119106
    120107# =====================================================================
    121 # tinet_cfg.c の生成
     108# tinet_cfg.c の生成
    122109# =====================================================================
    123110
     
    149136EOS
    150137#
    151 ã‚¤ãƒ³ã‚¯ãƒ«ãƒ¼ãƒ‰ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–(#include)
     138インクルードディレクティブ(#include)
    152139#
    153140$tinetCfgC.add()
     
    187174$tinetCfgC.add("#endif")
    188175
    189 #       // TCP (IPv6) 受付口
     176#       // TCP (IPv6) 受付口
    190177$sem_tcp_rep_lock_id = 0
    191178if $cfgData[:TCP6_CRE_REP].size > 0 || $cfgData[:VRID_TCP6_REP].size > 0
     
    217204end
    218205
    219 #       // TCP (IPv4) 受付口
     206#       // TCP (IPv4) 受付口
    220207if $cfgData[:TCP_CRE_REP].size > 0 || $cfgData[:VRID_TCP_REP].size > 0
    221208        $tinetCfgC.add()
     
    246233end
    247234
    248 #       // TCP 通信端点
     235#       // TCP 通信端点
    249236if $cfgData[:TCP6_CRE_CEP].size > 0 || $cfgData[:VRID_TCP6_CEP].size > 0 || $cfgData[:TCP_CRE_CEP].size > 0 || $cfgData[:VRID_TCP_CEP].size > 0
    250237        $tinetCfgC.add()
     
    313300end
    314301
    315 #       // UDP (IPv6) 通信端点
     302#       // UDP (IPv6) 通信端点
    316303if $cfgData[:UDP6_CRE_CEP].size > 0 || $cfgData[:VRID_UDP6_CEP].size > 0
    317304        $tinetCfgC.add()
     
    344331end
    345332
    346 #       // UDP (IPv4) 通信端点
     333#       // UDP (IPv4) 通信端点
    347334if $cfgData[:UDP_CRE_CEP].size > 0 || $cfgData[:VRID_UDP_CEP].size > 0
    348335        $tinetCfgC.add()
     
    376363
    377364# =====================================================================
    378 # tinet_kern.cfg の生成
    379 # =====================================================================
    380 
    381 #       // TCP (IPv6) 受付口
     365# tinet_kern.cfg の生成
     366# =====================================================================
     367
     368#       // TCP (IPv6) 受付口
    382369$sem_tcp_rep_lock_id = 0
    383370if $cfgData[:TCP6_CRE_REP].size > 0 || $cfgData[:VRID_TCP6_REP].size > 0
     
    404391end
    405392
    406 #       // TCP (IPv4) 受付口
     393#       // TCP (IPv4) 受付口
    407394if $cfgData[:TCP_CRE_REP].size > 0 || $cfgData[:VRID_TCP_REP].size > 0
    408395        $cfgData[:TCP_CRE_REP].each do |key, params|
     
    428415end
    429416
    430 #       // TCP (IPv6) 通信端点
     417#       // TCP (IPv6) 通信端点
    431418if $cfgData[:TCP6_CRE_CEP].size > 0 || $cfgData[:VRID_TCP6_CEP].size > 0
    432419        $cfgData[:TCP6_CRE_CEP].each do |key, params|
     
    484471end
    485472
    486 #       // TCP (IPv4) 通信端点
     473#       // TCP (IPv4) 通信端点
    487474if $cfgData[:TCP_CRE_CEP].size > 0 || $cfgData[:VRID_TCP_CEP].size > 0
    488475        $cfgData[:TCP_CRE_CEP].each do |key, params|
     
    540527end
    541528
    542 #       // UDP (IPv6) 通信端点
     529#       // UDP (IPv6) 通信端点
    543530if $cfgData[:UDP6_CRE_CEP].size > 0 || $cfgData[:VRID_UDP6_CEP].size > 0
    544531        $cfgData[:UDP6_CRE_CEP].each do |key, params|
     
    574561end
    575562
    576 #       // UDP (IPv4) 通信端点
     563#       // UDP (IPv4) 通信端点
    577564if $cfgData[:UDP_CRE_CEP].size > 0 || $cfgData[:VRID_UDP_CEP].size > 0
    578565        $cfgData[:UDP_CRE_CEP].each do |key, params|
  • azure_iot_hub/trunk/asp3_dcre/tinet/tinet_asp.cfg

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/plain to text/plain;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  TINET の標準システムコンフィギュレーションファイル
     35 *  TINET の標準システムコンフィギュレーションファイル
    4836 */
    4937
     
    7563
    7664/*
    77  *  TINET プロトコルスタックå†
    78 éƒ¨ã®ã‚«ãƒ¼ãƒãƒ«ã‚ªãƒ–ジェクトの指定
     65 *  TINET プロトコルスタック内部のカーネルオブジェクトの指定
    7966 */
    8067
  • azure_iot_hub/trunk/asp3_dcre/tinet/tinet_config.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4836
    4937/*
    50  *  TINET 1.2 との互換性のための定義
    51  */
    52 
    53 /* TCPの受動オープンをサポートする【TINET 1.7 以降不要になった】。*/
     38 *  TINET 1.2 との互換性のための定義
     39 */
     40
     41/* TCPの受動オープンをサポートする【TINET 1.7 以降不要になった】。*/
    5442
    5543#if 0
     
    5745#endif
    5846
    59 /* TCPのノンブロッキングコール機能を組込む。*/
     47/* TCPのノンブロッキングコール機能を組込む。*/
    6048
    6149#define TCP_CFG_NON_BLOCKING
    6250
    63 /* UDPのノンブロッキングコール機能を組込む。*/
     51/* UDPのノンブロッキングコール機能を組込む。*/
    6452
    6553#define UDP_CFG_NON_BLOCKING
    6654
    6755/*
    68  *  NIC、システム、CPU、応用プログラムに
    69  *  依存する定義ファイルをインクルードする。
     56 *  NIC、システム、CPU、応用プログラムに
     57 *  依存する定義ファイルをインクルードする。
    7058 */
    7159
     
    9684
    9785/*
    98  *  TINET 1.1 との互換性のための定義
     86 *  TINET 1.1 との互換性のための定義
    9987 */
    10088
     
    10492
    10593/*
    106  *  TINET 1.2 との互換性のための定義
     94 *  TINET 1.2 との互換性のための定義
    10795 */
    10896
     
    112100
    113101/*
    114  *  TINET 1.3 との互換性のための定義
     102 *  TINET 1.3 との互換性のための定義
    115103
    116104#ifdef  NUM_MPF_NET_BUF_REASSM
     
    120108
    121109/*
    122  *  TINET 1.5 との互換性のための定義
    123  */
    124 
    125 /* ルーティング表のエントリ数の定義 */
     110 *  TINET 1.5 との互換性のための定義
     111 */
     112
     113/* ルーティング表のエントリ数の定義 */
    126114
    127115#define NUM_IN6_ROUTE_ENTRY                     \
    128116        (NUM_IN6_STATIC_ROUTE_ENTRY + NUM_IN6_REDIRECT_ROUTE_ENTRY)
    129                                         /* ルーティング表のエントリ数      */
     117                                        /* ルーティング表のエントリ数        */
    130118
    131119#define NUM_IN4_ROUTE_ENTRY             \
    132120        (NUM_IN4_STATIC_ROUTE_ENTRY + NUM_IN4_REDIRECT_ROUTE_ENTRY)
    133                                         /* ルーティング表のエントリ数      */
     121                                        /* ルーティング表のエントリ数        */
    134122
    135123#if defined(SUPPORT_INET6)
     
    175163#endif  /* of #if defined(SUPPORT_INET6) */
    176164
    177 /* DHCP の定義 */
     165/* DHCP の定義 */
    178166
    179167#ifdef  DHCP4_CLI_CFG
     
    182170
    183171/*
    184  *  IPv6/IPv4 に関する定義
    185  */
    186 
    187 /*
    188  *  指定されたマクロに対する TINET å†
    189 éƒ¨ã®ãƒžã‚¯ãƒ­ã®å®šç¾©
     172 *  IPv6/IPv4 に関する定義
     173 */
     174
     175/*
     176 *  指定されたマクロに対する TINET 内部のマクロの定義
    190177 *
    191178 *    SUPPORT_INET6              .   .  ON  ON  ON  ON
     
    211198
    212199/*
    213  *  TCP に関する定義
    214  */
    215 
    216 /*
    217  *  MAX_TCP_RCV_SEG: 受信セグメントサイズの最大値
     200 *  TCP に関する定義
     201 */
     202
     203/*
     204 *  MAX_TCP_RCV_SEG: 受信セグメントサイズの最大値
    218205 *
    219  *    注意: 変更すべきではない。
     206 *    注意: 変更すべきではない。
    220207 */
    221208
     
    225212
    226213/*
    227  *  DEF_TCP_SND_SEG: 送信セグメントサイズの規定値
     214 *  DEF_TCP_SND_SEG: 送信セグメントサイズの規定値
    228215 */
    229216
     
    233220
    234221/*
    235  *  TCP 通信端点の送受信ウィンドバッファの省コピー機能
     222 *  TCP 通信端点の送受信ウィンドバッファの省コピー機能
    236223 */
    237224
     
    249236
    250237/*
    251  *  TCP_CFG_URG_OFFSET: 緊急データの最後のバイトのオフセット
     238 *  TCP_CFG_URG_OFFSET: 緊急データの最後のバイトのオフセット
    252239 *
    253  *    -1: BSD の実è£
    254 ã€ç·Šæ€¥ãƒã‚¤ãƒ³ã‚¿ã¯ã€ç·Šæ€¥ãƒ‡ãƒ¼ã‚¿ã®æœ€å¾Œã®ãƒã‚¤ãƒˆã®æ¬¡ã®ãƒã‚¤ãƒˆã‚’差す。
    255  *     0: RFC1122 の規定、緊急ポインタは、緊急データの最後のバイトを差す。
     240 *    -1: BSD の実装、緊急ポインタは、緊急データの最後のバイトの次のバイトを差す。
     241 *     0: RFC1122 の規定、緊急ポインタは、緊急データの最後のバイトを差す。
    256242 */
    257243
     
    261247
    262248/*
    263  *  ARP に関する定義
     249 *  ARP に関する定義
    264250 */
    265251
    266252#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 *  ループバックインタフェースに関する定義
    272258 */
    273259
    274260#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 アドレス文字列用バッファ数 */
    283269
    284270#if defined(SUPPORT_PPP)
     
    295281
    296282#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 アドレス文字列用バッファ数 */
    301287
    302288#if defined(SUPPORT_INET4) && defined(ETHER_CFG_ACCEPT_ALL) && defined(ETHER_CFG_MCAST_WARNING)
     
    313299
    314300/*
    315  *  TINET å†
    316 éƒ¨ã®ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆå€¤ã®è¨­å®š
     301 *  TINET 内部のタイムアウト値の設定
    317302 */
    318303
    319304#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 データグラム再構成用ネットワークバッファ獲得タイムアウト       */
    321306#endif
    322307
    323308#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 データグラム再構成用ネットワークバッファ獲得タイムアウト       */
    325310#endif
    326311
    327312#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 受信用ネットワークバッファ獲得タイムアウト       */
    329314#endif
    330315
    331316#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 のネットワークバッファ獲得タイムアウト */
    333318#endif
    334319
    335320#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 のネットワークバッファ獲得タイムアウト */
    337322#endif
    338323
    339324#ifndef TMO_TCP_OUTPUT
    340 #define TMO_TCP_OUTPUT                  ULONG_C(1000000)        /* [us]、TCP 出力タイムアウト                          */
     325#define TMO_TCP_OUTPUT                  ULONG_C(1000000)        /* [us]、TCP 出力タイムアウト                            */
    341326#endif
    342327
    343328#ifndef TMO_UDP_OUTPUT
    344 #define TMO_UDP_OUTPUT                  ULONG_C(1000000)        /* [us]、UDP 出力タイムアウト                          */
     329#define TMO_UDP_OUTPUT                  ULONG_C(1000000)        /* [us]、UDP 出力タイムアウト                            */
    345330#endif
    346331
    347332#ifndef TMO_ICMP_OUTPUT
    348 #define TMO_ICMP_OUTPUT                 ULONG_C(1000000)        /* [us]、ICMP 出力タイムアウト                         */
     333#define TMO_ICMP_OUTPUT                 ULONG_C(1000000)        /* [us]、ICMP 出力タイムアウト                           */
    349334#endif
    350335
    351336#ifndef TMO_IGMP_OUTPUT
    352 #define TMO_IGMP_OUTPUT                 ULONG_C(1000000)        /* [us]、IGMP 出力タイムアウト                         */
     337#define TMO_IGMP_OUTPUT                 ULONG_C(1000000)        /* [us]、IGMP 出力タイムアウト                           */
    353338#endif
    354339
    355340#ifndef TMO_ND6_NS_OUTPUT
    356 #define TMO_ND6_NS_OUTPUT               ULONG_C(1000000)        /* [us]、近隣要請出力タイムアウト                  */
     341#define TMO_ND6_NS_OUTPUT               ULONG_C(1000000)        /* [us]、近隣要請出力タイムアウト                    */
    357342#endif
    358343
    359344#ifndef TMO_ND6_NA_OUTPUT
    360 #define TMO_ND6_NA_OUTPUT               ULONG_C(1000000)        /* [us]、近隣通知出力タイムアウト                  */
     345#define TMO_ND6_NA_OUTPUT               ULONG_C(1000000)        /* [us]、近隣通知出力タイムアウト                    */
    361346#endif
    362347
    363348#ifndef TMO_ND6_RS_OUTPUT
    364 #define TMO_ND6_RS_OUTPUT               ULONG_C(1000000)        /* [us]、ルータ要請出力タイムアウト                       */
     349#define TMO_ND6_RS_OUTPUT               ULONG_C(1000000)        /* [us]、ルータ要請出力タイムアウト                   */
    365350#endif
    366351
    367352#ifndef TMO_ARP_OUTPUT
    368 #define TMO_ARP_OUTPUT                  ULONG_C(1000000)        /* [us]、アドレス解決要求出力タイムアウト              */
     353#define TMO_ARP_OUTPUT                  ULONG_C(1000000)        /* [us]、アドレス解決要求出力タイムアウト                */
    369354#endif
    370355
    371356#ifndef TMO_ND6_RTR_SOL_DELAY
    372 #define TMO_ND6_RTR_SOL_DELAY           ULONG_C(1000000)        /* [us]、ルータ要請出力é
    373 å»¶                             */
     357#define TMO_ND6_RTR_SOL_DELAY           ULONG_C(1000000)        /* [us]、ルータ要請出力遅延                               */
    374358#endif
    375359
    376360#ifndef TMO_ND6_RTR_SOL_INTERVAL
    377 #define TMO_ND6_RTR_SOL_INTERVAL        ULONG_C(4000000)        /* [us]、ルータ要請出力間隔                           */
     361#define TMO_ND6_RTR_SOL_INTERVAL        ULONG_C(4000000)        /* [us]、ルータ要請出力間隔                               */
    378362#endif
    379363
    380364#ifndef TMO_IN_REDIRECT
    381                                         /* [s]、向け直しルーティングエントリタイムアウト*/
     365                                        /* [s]、向け直しルーティングエントリタイムアウト*/
    382366#define TMO_IN_REDIRECT                 (10*60*NET_TIMER_HZ)
    383367#endif
    384368
    385369/*
    386  *  TINET å†
    387 éƒ¨ã®ã‚¿ã‚¹ã‚¯ã®ã‚¹ã‚¿ãƒƒã‚¯ã‚µã‚¤ã‚ºã®è¨­å®š
     370 *  TINET 内部のタスクのスタックサイズの設定
    388371 */
    389372
    390373#ifndef TCP_OUT_TASK_STACK_SIZE
    391 #define TCP_OUT_TASK_STACK_SIZE 1024    /* TCP 出力タスクのスタックサイズ          */
     374#define TCP_OUT_TASK_STACK_SIZE 1024    /* TCP 出力タスクのスタックサイズ            */
    392375#endif
    393376
    394377#ifndef UDP_OUT_TASK_STACK_SIZE
    395 #define UDP_OUT_TASK_STACK_SIZE 1024    /* UDP 出力タスクのスタックサイズ                  */
     378#define UDP_OUT_TASK_STACK_SIZE 1024    /* UDP 出力タスクのスタックサイズ                    */
    396379#endif
    397380
    398381#ifndef PPP_INPUT_STACK_SIZE
    399 #define PPP_INPUT_STACK_SIZE    1024    /* PPP タスクのスタックサイズ                */
     382#define PPP_INPUT_STACK_SIZE    1024    /* PPP タスクのスタックサイズ              */
    400383#endif
    401384
    402385#ifndef PPP_OUTPUT_STACK_SIZE
    403 #define PPP_OUTPUT_STACK_SIZE   1024    /* PPP 出力タスクのスタックサイズ          */
     386#define PPP_OUTPUT_STACK_SIZE   1024    /* PPP 出力タスクのスタックサイズ            */
    404387#endif
    405388
    406389#ifndef ETHER_INPUT_STACK_SIZE
    407 #define ETHER_INPUT_STACK_SIZE  1024    /* Ethernet å
    408 ¥åŠ›ã‚¿ã‚¹ã‚¯ã®ã‚¹ã‚¿ãƒƒã‚¯ã‚µã‚¤ã‚º   */
     390#define ETHER_INPUT_STACK_SIZE  1024    /* Ethernet 入力タスクのスタックサイズ       */
    409391#endif
    410392
    411393#ifndef ETHER_OUTPUT_STACK_SIZE
    412 #define ETHER_OUTPUT_STACK_SIZE 1024    /* Ethernet 出力タスクのスタックサイズ     */
     394#define ETHER_OUTPUT_STACK_SIZE 1024    /* Ethernet 出力タスクのスタックサイズ       */
    413395#endif
    414396
    415397#ifndef LOOP_INPUT_STACK_SIZE
    416 #define LOOP_INPUT_STACK_SIZE   1024    /* ループバックå
    417 ¥åŠ›ã‚¿ã‚¹ã‚¯ã®ã‚¹ã‚¿ãƒƒã‚¯ã‚µã‚¤ã‚º   */
     398#define LOOP_INPUT_STACK_SIZE   1024    /* ループバック入力タスクのスタックサイズ  */
    418399#endif
    419400
    420401#ifndef LOOP_OUTPUT_STACK_SIZE
    421 #define LOOP_OUTPUT_STACK_SIZE  1024    /* ループバック出力タスクのスタックサイズ    */
     402#define LOOP_OUTPUT_STACK_SIZE  1024    /* ループバック出力タスクのスタックサイズ  */
    422403#endif
    423404
    424405#ifndef NET_TIMER_STACK_SIZE
    425 #define NET_TIMER_STACK_SIZE    1024    /* ネットワークタイマタスクのスタックサイズ */
    426 #endif
    427 
    428 /*
    429  *  TINET å†
    430 éƒ¨ã®ã‚¿ã‚¹ã‚¯ã®å„ªå
    431 ˆåº¦ã®è¨­å®š
     406#define NET_TIMER_STACK_SIZE    1024    /* ネットワークタイマタスクのスタックサイズ */
     407#endif
     408
     409/*
     410 *  TINET 内部のタスクの優先度の設定
    432411 */
    433412
    434413#ifndef TCP_OUT_TASK_PRIORITY
    435 #define TCP_OUT_TASK_PRIORITY   5       /* TCP 出力タスクの優å
    436 ˆåº¦                    */
     414#define TCP_OUT_TASK_PRIORITY   5       /* TCP 出力タスクの優先度                        */
    437415#endif
    438416
    439417#ifndef UDP_OUT_TASK_PRIORITY
    440 #define UDP_OUT_TASK_PRIORITY   5       /* UDP 出力タスクの優å
    441 ˆåº¦                            */
     418#define UDP_OUT_TASK_PRIORITY   5       /* UDP 出力タスクの優先度                                */
    442419#endif
    443420
    444421#ifndef PPP_INPUT_PRIORITY
    445 #define PPP_INPUT_PRIORITY      5       /* PPP タスクの優å
    446 ˆåº¦                    */
     422#define PPP_INPUT_PRIORITY      5       /* PPP タスクの優先度                  */
    447423#endif
    448424
    449425#ifndef PPP_OUTPUT_PRIORITY
    450 #define PPP_OUTPUT_PRIORITY     5       /* PPP タスクの優å
    451 ˆåº¦                    */
     426#define PPP_OUTPUT_PRIORITY     5       /* PPP タスクの優先度                  */
    452427#endif
    453428
    454429#ifndef ETHER_INPUT_PRIORITY
    455 #define ETHER_INPUT_PRIORITY    5       /* Ethernet å
    456 ¥åŠ›ã‚¿ã‚¹ã‚¯ã®å„ªå
    457 ˆåº¦            */
     430#define ETHER_INPUT_PRIORITY    5       /* Ethernet 入力タスクの優先度           */
    458431#endif
    459432
    460433#ifndef ETHER_OUTPUT_PRIORITY
    461 #define ETHER_OUTPUT_PRIORITY   5       /* Ethernet 出力タスクの優å
    462 ˆåº¦            */
     434#define ETHER_OUTPUT_PRIORITY   5       /* Ethernet 出力タスクの優先度           */
    463435#endif
    464436
    465437#ifndef LOOP_INPUT_PRIORITY
    466 #define LOOP_INPUT_PRIORITY     5       /* ループバックå
    467 ¥åŠ›ã‚¿ã‚¹ã‚¯ã®å„ªå
    468 ˆåº¦            */
     438#define LOOP_INPUT_PRIORITY     5       /* ループバック入力タスクの優先度              */
    469439#endif
    470440
    471441#ifndef LOOP_OUTPUT_PRIORITY
    472 #define LOOP_OUTPUT_PRIORITY    5       /* ループバック出力タスクの優å
    473 ˆåº¦            */
     442#define LOOP_OUTPUT_PRIORITY    5       /* ループバック出力タスクの優先度              */
    474443#endif
    475444
    476445#ifndef NET_TIMER_PRIORITY
    477 #define NET_TIMER_PRIORITY      5       /* ネットワークタイマタスクの優å
    478 ˆåº¦ */
    479 #endif
    480 
    481 /*
    482  *  TINET å†
    483 éƒ¨ã®ãƒ‡ãƒ¼ã‚¿ã‚­ãƒ¥ãƒ¼ã®ã‚¨ãƒ³ãƒˆãƒªæ•°ã®è¨­å®š
    484  */
    485 
    486 /* UDP 受信キューサイズ */
     446#define NET_TIMER_PRIORITY      5       /* ネットワークタイマタスクの優先度 */
     447#endif
     448
     449/*
     450 *  TINET 内部のデータキューのエントリ数の設定
     451 */
     452
     453/* UDP 受信キューサイズ */
    487454
    488455#ifndef NUM_DTQ_UDP_RCVQ
    489 #define NUM_DTQ_UDP_RCVQ        1       /* 非コールバック用     */
     456#define NUM_DTQ_UDP_RCVQ        1       /* 非コールバック用     */
    490457#endif
    491458
    492459#ifndef NUM_DTQ_UDP_OUTPUT
    493 #define NUM_DTQ_UDP_OUTPUT      1       /* UDP 出力データキューサイズ                        */
     460#define NUM_DTQ_UDP_OUTPUT      1       /* UDP 出力データキューサイズ                      */
    494461#endif
    495462
    496463#ifndef NUM_DTQ_PPP_OUTPUT
    497 #define NUM_DTQ_PPP_OUTPUT      2       /* PPP 出力データキューサイズ、2 以上     */
     464#define NUM_DTQ_PPP_OUTPUT      2       /* PPP 出力データキューサイズ、2 以上 */
    498465#endif
    499466
    500467#ifndef NUM_DTQ_ETHER_OUTPUT
    501 #define NUM_DTQ_ETHER_OUTPUT    2       /* Ethernet 出力データキューサイズ   */
     468#define NUM_DTQ_ETHER_OUTPUT    2       /* Ethernet 出力データキューサイズ */
    502469#endif
    503470
    504471#ifndef NUM_DTQ_LOOP_INPUT
    505 #define NUM_DTQ_LOOP_INPUT      0       /* ループバックå
    506 ¥åŠ›ãƒ‡ãƒ¼ã‚¿ã‚­ãƒ¥ãƒ¼ã‚µã‚¤ã‚º */
     472#define NUM_DTQ_LOOP_INPUT      0       /* ループバック入力データキューサイズ    */
    507473#endif
    508474
    509475#ifndef NUM_DTQ_LOOP_OUTPUT
    510 #define NUM_DTQ_LOOP_OUTPUT     0       /* ループバック出力データキューサイズ  */
    511 #endif
    512 
    513 /*
    514  *  TINET プロトコルスタックå†
    515 éƒ¨ã®ãƒªãƒãƒ¼ãƒ 
     476#define NUM_DTQ_LOOP_OUTPUT     0       /* ループバック出力データキューサイズ    */
     477#endif
     478
     479/*
     480 *  TINET プロトコルスタック内部のリネーム
    516481 */
    517482
  • azure_iot_hub/trunk/asp3_dcre/tinet/tinet_defs.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    5644
    5745/*
    58  *  カーネルの識別
     46 *  カーネルの識別
    5947 */
    6048
  • azure_iot_hub/trunk/asp3_dcre/tinet/tinet_kernel_defs.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public 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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  カーネルに関する互換性定義ファイル
     35 *  カーネルに関する互換性定義ファイル
    4836 */
    4937
     
    5644
    5745/*
    58  *  データ型の定義(inttype.h)
     46 *  データ型の定義(inttype.h)
    5947 */
    6048
    6149#ifdef _int8_
    62 typedef _int8_                  int8_t;         /* 符号付き 8 ビット整数 */
    63 typedef unsigned _int8_         uint8_t;        /* 符号無し 8 ビット整数 */
     50typedef _int8_                  int8_t;         /* 符号付き 8 ビット整数 */
     51typedef unsigned _int8_         uint8_t;        /* 符号無し 8 ビット整数 */
    6452#endif  /* of #ifdef _int8_ */
    6553
    6654#ifdef _int16_
    67 typedef _int16_                 int16_t;        /* 符号付き 16 ビット整数 */
    68 typedef unsigned _int16_        uint16_t;       /* 符号無し 16 ビット整数 */
     55typedef _int16_                 int16_t;        /* 符号付き 16 ビット整数 */
     56typedef unsigned _int16_        uint16_t;       /* 符号無し 16 ビット整数 */
    6957#endif  /* of #ifdef _int16_ */
    7058
    7159#ifdef _int32_
    72 typedef _int32_                 int32_t;        /* 符号付き 32 ビット整数 */
    73 typedef unsigned _int32_        uint32_t;       /* 符号無し 32 ビット整数 */
     60typedef _int32_                 int32_t;        /* 符号付き 32 ビット整数 */
     61typedef unsigned _int32_        uint32_t;       /* 符号無し 32 ビット整数 */
    7462#endif  /* of #ifdef _int32_ */
    7563
    7664#ifdef _int64_
    77 typedef unsigned _int64_        uint64_t;       /* 符号無し 64 ビット整数 */
     65typedef unsigned _int64_        uint64_t;       /* 符号無し 64 ビット整数 */
    7866#endif  /* of #ifdef _int64_ */
    7967
    80 typedef signed int              int_t;          /* 自然なサイズの符号付き整数 */
    81 typedef unsigned int            uint_t;         /* 自然なサイズの符号無し整数 */
     68typedef signed int              int_t;          /* 自然なサイズの符号付き整数 */
     69typedef unsigned int            uint_t;         /* 自然なサイズの符号無し整数 */
    8270
    83 typedef signed long             long_t;         /* 長めのサイズの符号付き整数 */
    84 typedef unsigned long           ulong_t;        /* 長めのサイズの符号無し整数 */
     71typedef signed long             long_t;         /* 長めのサイズの符号付き整数 */
     72typedef unsigned long           ulong_t;        /* 長めのサイズの符号無し整数 */
    8573
    8674#ifdef _vp_int_
    87 typedef _vp_int_                intptr_t;       /* ポインタまたは符号付き整数 */
     75typedef _vp_int_                intptr_t;       /* ポインタまたは符号付き整数 */
    8876#else   /* of #ifdef _vp_int_ */
    89 typedef VP                      intptr_t;       /* ポインタまたは符号付き整数 */
     77typedef VP                      intptr_t;       /* ポインタまたは符号付き整数 */
    9078#endif  /* of #ifdef _vp_int_ */
    9179
    92 typedef int                     bool_t;         /* 真偽値 */
     80typedef int                     bool_t;         /* 真偽値 */
    9381
    9482#ifndef true
    95 #define true                    1               /* 真 */
     83#define true                    1               /* */
    9684#endif /* true */
    9785
    9886#ifndef false
    99 #define false                   0               /* 偽 */
     87#define false                   0               /* */
    10088#endif /* false */
    10189
    10290#endif  /* of #ifndef _MACRO_ONLY */
    10391
    104 /* 構造体 structure 中のフィールド field のバイト位置を返すマクロ */
     92/* 構造体 structure 中のフィールド field のバイト位置を返すマクロ */
    10593#ifndef offsetof
    10694#define offsetof(structure, field) ((size_t) &(((structure *) 0)->field))
     
    10896
    10997/*
    110  *  整数定数を作るマクロ
     98 *  整数定数を作るマクロ
    11199 */
    112100#ifndef UINT_C
    113 #define UINT_C(val)             (val ## U)      /* uint_t型の定数を作るマクロ */
     101#define UINT_C(val)             (val ## U)      /* uint_t型の定数を作るマクロ */
    114102#endif /* UINT_C */
    115103
    116104#ifndef ULONG_C
    117 #define ULONG_C(val)            (val ## UL)     /* ulong_t型の定数を作るマクロ */
     105#define ULONG_C(val)            (val ## UL)     /* ulong_t型の定数を作るマクロ */
    118106#endif /* ULONG_C */
    119107
Note: See TracChangeset for help on using the changeset viewer.