Ignore:
Timestamp:
Jul 23, 2017, 2:29:40 PM (7 years ago)
Author:
coas-nagasima
Message:

SVNプロパティを設定

Location:
rubycfg_asp/trunk/asp_dcre/tinet/doc
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • rubycfg_asp/trunk/asp_dcre/tinet/doc/tinet-1.7.txt

    • Property svn:mime-type changed from text/plain to text/plane; charset=UTF-8
    r313 r315  
    1                   TCP/IP プロトコルスタック(TINET)
    2          ãƒªãƒªãƒ¼ã‚¹ 1.5 からリリース 1.7 への移行[2014/11/13ï¼½
    3 
    4 1.  移行方法
    5 
    6   TINET リリース 1.5 から TINET リリース 1.7 へ移行では、 TINET リリー
    7 ã‚¹ 1.7 のé
    8 å¸ƒãƒ•ã‚¡ã‚¤ãƒ«ã‚’ TINET リリース 1.5 に上書きすることは推奨しな
    9 ã„。 これは、TINET リリース 1.7 のé
    10 å¸ƒãƒ•ã‚¡ã‚¤ãƒ«ã«å«ã¾ã‚Œã¦ã„るコンパイル
    11 æ™‚コンフィギュレーションパラメータファイル(tinet_cpu_config.h 等)に
    12 ã‚ˆã‚Šã€ TINET リリース 1.5 用の独自のコンパイル時コンフィギュレーション
    13 ãƒ‘ラメータファイルのå†
    14 å®¹ãŒå¤±ã‚ã‚Œã‚‹å¯èƒ½æ€§ãŒã‚るためである。 従って、
    15 TINET リリース 1.7 のé
    16 å¸ƒãƒ•ã‚¡ã‚¤ãƒ«ã‚’å¿
    17 ãšç•°ãªã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«å±•é–‹ã—てか
    18 ã‚‰ç§»è¡Œã™ã‚‹ã“とを推奨する。
    19   ここでは、 IPv4 による応用プログラムの TINET を、 TINET リリース 1.5
    20 ã‹ã‚‰ TINET リリース 1.7 に移行する例を述べる。
    21 
    22 1. 1  TOPPERS/ASP 環境における移行方法
    23 
    24    (1)   TINET リリース 1.5 の ASP ルートディレクトリを $(DIR_1.5)、
    25          TINET リリース 1.7 の ASP ルートディレクトリを $(DIR_1.7) とする。
    26    (2)   $(DIR_1.7) に、 TINET リリース 1.7 のé
    27 å¸ƒãƒ•ã‚¡ã‚¤ãƒ«
    28          tinet-1.7.tar.gz を展開する。
    29    (3)   $(DIR_1.5) のディレクトリ tinet を削除する。
    30    (4)   $(DIR_1.7) のディレクトリ tinet を $(DIR_1.5) にコピーする。
    31    (5)   ãƒ«ãƒ¼ãƒ†ã‚£ãƒ³ã‚°è¡¨åã®å¤‰æ›´ï¼ˆå¤‰æ›´å¿
    32 é ˆé 
    33 ç›®ï¼‰
    34          ãƒ‡ãƒ¥ã‚¢ãƒ«ã‚¹ã‚¿ãƒƒã‚¯å¯¾å¿œã®ãŸã‚ãƒ«ãƒ¼ãƒ†ã‚£ãƒ³ã‚°è¡¨åã‚’、IPv6 と IPv4 で
    35          å€‹åˆ¥ã«æŒ‡å®šã™ã‚‹å¿
    36 è¦ãŒã‚る。 route_cfg.c で定義しているルーティ
    37          ãƒ³ã‚°è¡¨åã‚’、 以下のように変更する。
    38 
    39          [1]   IPv6 用のルーティング表名 routing_tbl を routing6_tbl
    40                ã«å¤‰æ›´ã™ã‚‹ã€‚
    41          [2]   IPv4 用のルーティング表名 routing_tbl を routing4_tbl
    42                ã«å¤‰æ›´ã™ã‚‹ã€‚
    43 
    44    (6)   ãƒ«ãƒ¼ãƒ†ã‚£ãƒ³ã‚°è¡¨åã®å¤‰æ›´å¾Œã®å¿œç”¨ãƒ—ログラムの生成は TINET リリー
    45          ã‚¹ 1.5 と同じである。
    46 
    47 1. 2  TOPPERS/JSP 環境における移行方法
    48 
    49    (1)   TINET リリース 1.5 の JSP ルートディレクトリを $(DIR_1.5)、
    50          TINET リリース 1.7 の JSP ルートディレクトリを $(DIR_1.7) とする。
    51 
    52    (2)   $(DIR_1.7) に、 TINET リリース 1.7 のé
    53 å¸ƒãƒ•ã‚¡ã‚¤ãƒ«
    54          tinet-1.7.tar.gz を展開する。
    55 
    56    (3)   $(DIR_1.5) のディレクトリ tinet を削除する。
    57 
    58    (4)   $(DIR_1.7) のディレクトリ tinet を $(DIR_1.5) にコピーする。
    59 
    60    (5)   $(DIR_1.5)/tinet/cfg で、 TINET-1.7 の TINET コンフィギュレー
    61          ã‚¿ã‚’生成する。
    62 
    63    (6)   ãƒ«ãƒ¼ãƒ†ã‚£ãƒ³ã‚°è¡¨åã®å¤‰æ›´ï¼ˆå¤‰æ›´å¿
    64 é ˆé 
    65 ç›®ï¼‰
    66          ãƒ‡ãƒ¥ã‚¢ãƒ«ã‚¹ã‚¿ãƒƒã‚¯å¯¾å¿œã®ãŸã‚ãƒ«ãƒ¼ãƒ†ã‚£ãƒ³ã‚°è¡¨åã‚’、IPv6 と IPv4 で
    67          å€‹åˆ¥ã«æŒ‡å®šã™ã‚‹å¿
    68 è¦ãŒã‚る。 route_cfg.c で定義しているルーティ
    69          ãƒ³ã‚°è¡¨åã‚’、 以下のように変更する。
    70 
    71          [1]   IPv6 用のルーティング表名 routing_tbl を routing6_tbl
    72                ã«å¤‰æ›´ã™ã‚‹ã€‚
    73          [2]   IPv4 用のルーティング表名 routing_tbl を routing4_tbl
    74                ã«å¤‰æ›´ã™ã‚‹ã€‚
    75 
    76    (7)   ãƒ«ãƒ¼ãƒ†ã‚£ãƒ³ã‚°è¡¨åã®å¤‰æ›´å¾Œã®å¿œç”¨ãƒ—ログラムの生成は TINET リリー
    77          ã‚¹ 1.5 と同じである。
    78 
    79 1. 3  TOPPERS/JSP 環境→ TOPPERS/ASP 環境への移行方法
    80 
    81   標準的なアプリケーションプログラムの移行方法について述べる。
    82 
    83    (1)   Makefile(Makefile)
    84            TINET 用の定義の変更はないが、 それぞれの環境の Makefile は
    85          å
    86 ¨ãäº’換性がないので、 TINET ユーザズマニュアルの「7.3 アプリ
    87          ã‚±ãƒ¼ã‚·ãƒ§ãƒ³ã® Makefile」を参ç
    88 §ã—て変更すること。
    89    (2)   ã‚µãƒ³ãƒ—ルプログラム本体($(UNAME).c)
    90            TOPPERS/ASP では、データ型およびマクロは C99 に準拠したもの
    91          ã«å¤‰æ›´ã•ã‚Œã¦ã„るので、 これに合わせて変更するå¿
    92 è¦ãŒã‚る。
    93            ã¾ãŸã€ã‚¤ãƒ³ã‚¯ãƒ«ãƒ¼ãƒ‰ãƒ•ã‚¡ã‚¤ãƒ«ãŒç•°ãªã£ã¦ã„る。 TOPPERS/JSP 環境
    94          ã§ã®ã‚¤ãƒ³ã‚¯ãƒ«ãƒ¼ãƒ‰ãƒ•ã‚¡ã‚¤ãƒ«ã®æŒ‡å®š
     1                  TCP/IP プロトコルスタック(TINET)
     2         リリース 1.5 からリリース 1.7 への移行[2014/11/13]
     3
     41.  移行方法
     5
     6  TINET リリース 1.5 から TINET リリース 1.7 へ移行では、 TINET リリー
     7ス 1.7 の配布ファイルを TINET リリース 1.5 に上書きすることは推奨しな
     8い。 これは、TINET リリース 1.7 の配布ファイルに含まれているコンパイル
     9時コンフィギュレーションパラメータファイル(tinet_cpu_config.h 等)に
     10より、 TINET リリース 1.5 用の独自のコンパイル時コンフィギュレーション
     11パラメータファイルの内容が失われる可能性があるためである。 従って、
     12TINET リリース 1.7 の配布ファイルを必ず異なるディレクトリに展開してか
     13ら移行することを推奨する。
     14  ここでは、 IPv4 による応用プログラムの TINET を、 TINET リリース 1.5
     15から TINET リリース 1.7 に移行する例を述べる。
     16
     171. 1  TOPPERS/ASP 環境における移行方法
     18
     19   (1)   TINET リリース 1.5 の ASP ルートディレクトリを $(DIR_1.5)、
     20         TINET リリース 1.7 の ASP ルートディレクトリを $(DIR_1.7) とする。
     21   (2)   $(DIR_1.7) に、 TINET リリース 1.7 の配布ファイル
     22         tinet-1.7.tar.gz を展開する。
     23   (3)   $(DIR_1.5) のディレクトリ tinet を削除する。
     24   (4)   $(DIR_1.7) のディレクトリ tinet を $(DIR_1.5) にコピーする。
     25   (5)   ルーティング表名の変更(変更必須項目)
     26         デュアルスタック対応のためルーティング表名を、IPv6 と IPv4 で
     27         個別に指定する必要がある。 route_cfg.c で定義しているルーティ
     28         ング表名を、 以下のように変更する。
     29
     30         [1]   IPv6 用のルーティング表名 routing_tbl を routing6_tbl
     31               に変更する。
     32         [2]   IPv4 用のルーティング表名 routing_tbl を routing4_tbl
     33               に変更する。
     34
     35   (6)   ルーティング表名の変更後の応用プログラムの生成は TINET リリー
     36         ス 1.5 と同じである。
     37
     381. 2  TOPPERS/JSP 環境における移行方法
     39
     40   (1)   TINET リリース 1.5 の JSP ルートディレクトリを $(DIR_1.5)、
     41         TINET リリース 1.7 の JSP ルートディレクトリを $(DIR_1.7) とする。
     42
     43   (2)   $(DIR_1.7) に、 TINET リリース 1.7 の配布ファイル
     44         tinet-1.7.tar.gz を展開する。
     45
     46   (3)   $(DIR_1.5) のディレクトリ tinet を削除する。
     47
     48   (4)   $(DIR_1.7) のディレクトリ tinet を $(DIR_1.5) にコピーする。
     49
     50   (5)   $(DIR_1.5)/tinet/cfg で、 TINET-1.7 の TINET コンフィギュレー
     51         タを生成する。
     52
     53   (6)   ルーティング表名の変更(変更必須項目)
     54         デュアルスタック対応のためルーティング表名を、IPv6 と IPv4 で
     55         個別に指定する必要がある。 route_cfg.c で定義しているルーティ
     56         ング表名を、 以下のように変更する。
     57
     58         [1]   IPv6 用のルーティング表名 routing_tbl を routing6_tbl
     59               に変更する。
     60         [2]   IPv4 用のルーティング表名 routing_tbl を routing4_tbl
     61               に変更する。
     62
     63   (7)   ルーティング表名の変更後の応用プログラムの生成は TINET リリー
     64         ス 1.5 と同じである。
     65
     661. 3  TOPPERS/JSP 環境→ TOPPERS/ASP 環境への移行方法
     67
     68  標準的なアプリケーションプログラムの移行方法について述べる。
     69
     70   (1)   Makefile(Makefile)
     71           TINET 用の定義の変更はないが、 それぞれの環境の Makefile は
     72         全く互換性がないので、 TINET ユーザズマニュアルの「7.3 アプリ
     73         ケーションの Makefile」を参照して変更すること。
     74   (2)   サンプルプログラム本体($(UNAME).c)
     75           TOPPERS/ASP では、データ型およびマクロは C99 に準拠したもの
     76         に変更されているので、 これに合わせて変更する必要がある。
     77           また、インクルードファイルが異なっている。 TOPPERS/JSP 環境
     78         でのインクルードファイルの指定
    9579
    9680            #include <t_services.h>
     
    9882            #include "tinet_id.h"
    9983
    100          ã‚’、TOPPERS/ASP 環境では、以下のように変更する。
     84         を、TOPPERS/ASP 環境では、以下のように変更する。
    10185
    10286            #include <kernel.h>
     
    10589            #include "tinet_cfg.h"
    10690
    107    (3)   ã‚µãƒ³ãƒ—ルプログラムのヘッダファイル($(UNAME).h)
    108            TOPPERS/ASP では、データ型およびマクロは C99 に準拠したもの
    109          ã«å¤‰æ›´ã•ã‚Œã¦ã„るので、 これに合わせて変更するå¿
    110 è¦ãŒã‚る。
    111            ã¾ãŸã€ã‚¤ãƒ³ã‚¯ãƒ«ãƒ¼ãƒ‰ãƒ•ã‚¡ã‚¤ãƒ«ãŒç•°ãªã£ã¦ã„る。 TOPPERS/JSP 環境
    112          ã§ã®ã‚¤ãƒ³ã‚¯ãƒ«ãƒ¼ãƒ‰ãƒ•ã‚¡ã‚¤ãƒ«ã®æŒ‡å®š
     91   (3)   サンプルプログラムのヘッダファイル($(UNAME).h)
     92           TOPPERS/ASP では、データ型およびマクロは C99 に準拠したもの
     93         に変更されているので、 これに合わせて変更する必要がある。
     94           また、インクルードファイルが異なっている。 TOPPERS/JSP 環境
     95         でのインクルードファイルの指定
    11396
    11497            #include <t_services.h>
    11598
    116          ã‚’、TOPPERS/ASP 環境では、以下のように変更する。
     99         を、TOPPERS/ASP 環境では、以下のように変更する。
    117100
    118101            #include <tinet_defs.h>
    119102
    120    (4)   ã‚µãƒ³ãƒ—ルプログラム用 ASP コンフィギュレーションファイル
    121          ï¼ˆ$(UNAME).cfg)
    122            #include と INCLUDE の取扱いが異なっているので、 これに合わ
    123          ã›ã¦å¤‰æ›´ã™ã‚‹å¿
    124 è¦ãŒã‚る。以下に変更例を示す。 TOPPERS/JSP 環境
    125          ã§ã®æŒ‡å®š
     103   (4)   サンプルプログラム用 ASP コンフィギュレーションファイル
     104         ($(UNAME).cfg)
     105           #include と INCLUDE の取扱いが異なっているので、 これに合わ
     106         せて変更する必要がある。以下に変更例を示す。 TOPPERS/JSP 環境
     107         での指定
    126108
    127109            #include "echos4.h"
     
    133115            INCLUDE("\"echos4.h\"");
    134116
    135          ã‚’、TOPPERS/ASP 環境では、以下のように変更する。
     117         を、TOPPERS/ASP 環境では、以下のように変更する。
    136118
    137119            #include "echos4.h"
     
    141123            INCLUDE("../tinet_asp.cfg");
    142124
    143    (5)   ã‚µãƒ³ãƒ—ルプログラム用 TINET コンフィギュレーションファイル
    144          ï¼ˆtinet_$(UNAME).cfg)
    145            #include と INCLUDE の取扱いが異なっているので、 これに合わ
    146          ã›ã¦å¤‰æ›´ã™ã‚‹å¿
    147 è¦ãŒã‚る。以下に変更例を示す。 TOPPERS/JSP 環境
    148          ã§ã®æŒ‡å®š
     125   (5)   サンプルプログラム用 TINET コンフィギュレーションファイル
     126         (tinet_$(UNAME).cfg)
     127           #include と INCLUDE の取扱いが異なっているので、 これに合わ
     128         せて変更する必要がある。以下に変更例を示す。 TOPPERS/JSP 環境
     129         での指定
    149130
    150131            #include "echos4.h"
    151132            INCLUDE("\"echos4.h\"");
    152133
    153          ã‚’、TOPPERS/ASP 環境では、以下のように変更する。
    154 
    155             #include "echos4.h"
    156 
    157    (6)   ã‚µãƒ³ãƒ—ルプログラム用ルーティング表(route_cfg.c)
    158            ã‚¤ãƒ³ã‚¯ãƒ«ãƒ¼ãƒ‰ãƒ•ã‚¡ã‚¤ãƒ«ãŒç•°ãªã£ã¦ã„る。 TOPPERS/JSP 環境でのイ
    159          ãƒ³ã‚¯ãƒ«ãƒ¼ãƒ‰ãƒ•ã‚¡ã‚¤ãƒ«ã®æŒ‡å®š
     134         を、TOPPERS/ASP 環境では、以下のように変更する。
     135
     136            #include "echos4.h"
     137
     138   (6)   サンプルプログラム用ルーティング表(route_cfg.c)
     139           インクルードファイルが異なっている。 TOPPERS/JSP 環境でのイ
     140         ンクルードファイルの指定
    160141
    161142            #include <s_services.h>
    162143            #include <t_services.h>
    163144
    164          ã‚’、TOPPERS/ASP 環境では、以下のように変更する。
     145         を、TOPPERS/ASP 環境では、以下のように変更する。
    165146
    166147            #include <kernel.h>
    167148
    168    (7)   ã‚µãƒ³ãƒ—ルプログラム用コンパイル時指定コンフィギュレーション
    169          ï¼ˆtinet_app_config.h)
    170            å¤‰æ›´ç‚¹ã¯ãªã„。
    171 
    172 2.  変更å¿
    173 é ˆé 
    174 ç›®
    175 
    176   以下に、TINET リリース 1.7 で変更され、変更がå¿
    177 é ˆã®é 
    178 ç›®ã‚’示す。
    179 
    180    (1)   ãƒ«ãƒ¼ãƒ†ã‚£ãƒ³ã‚°è¡¨ï¼ˆroute_cfg.c)
    181 
    182          [1]   ãƒ«ãƒ¼ãƒ†ã‚£ãƒ³ã‚°è¡¨å
    183                ãƒ‡ãƒ¥ã‚¢ãƒ«ã‚¹ã‚¿ãƒƒã‚¯å¯¾å¿œã®ãŸã‚ãƒ«ãƒ¼ãƒ†ã‚£ãƒ³ã‚°è¡¨åã‚’、 IPv6 と
    184                IPv4 で個別に指定するå¿
    185 è¦ãŒã‚る。route_cfg.c で定義して
    186                ã„るルーティング表名を、 以下のように変更する。
    187 
    188                [1]   IPv6 用のルーティング表名 routing_tbl を
    189                      routing6_tbl に変更する。
    190                [2]   IPv4 用のルーティング表名 routing_tbl を
    191                      routing4_tbl に変更する。
    192 
    193          [2]   IPv4 用ルーティング表の構造体名(TINET リリース 1.1)
    194                T_RT_ENTRY を T_IN4_RTENTRY に変更する。
    195 
    196    (2)   ãƒ«ãƒ¼ãƒ†ã‚£ãƒ³ã‚°ã«é–¢ã™ã‚‹ã‚³ãƒ³ãƒ‘イル時コンフィギュレーションパラメー
    197          ã‚¿
    198            ãƒ‡ãƒ¥ã‚¢ãƒ«ã‚¹ã‚¿ãƒƒã‚¯ï¼ˆSUPPORT_INET6 と SUPPORT_INET4 の両方)を
    199          é¸æŠžã—た場合、 以下のé 
    200 ç›®ã‚’個別に指定するå¿
    201 è¦ãŒã‚る。
     149   (7)   サンプルプログラム用コンパイル時指定コンフィギュレーション
     150         (tinet_app_config.h)
     151           変更点はない。
     152
     1532.  変更必須項目
     154
     155  以下に、TINET リリース 1.7 で変更され、変更が必須の項目を示す。
     156
     157   (1)   ルーティング表(route_cfg.c)
     158
     159         [1]   ルーティング表名
     160               デュアルスタック対応のためルーティング表名を、 IPv6 と
     161               IPv4 で個別に指定する必要がある。route_cfg.c で定義して
     162               いるルーティング表名を、 以下のように変更する。
     163
     164               [1]   IPv6 用のルーティング表名 routing_tbl を
     165                     routing6_tbl に変更する。
     166               [2]   IPv4 用のルーティング表名 routing_tbl を
     167                     routing4_tbl に変更する。
     168
     169         [2]   IPv4 用ルーティング表の構造体名(TINET リリース 1.1)
     170               T_RT_ENTRY を T_IN4_RTENTRY に変更する。
     171
     172   (2)   ルーティングに関するコンパイル時コンフィギュレーションパラメー
     173         タ
     174           デュアルスタック(SUPPORT_INET6 と SUPPORT_INET4 の両方)を
     175         選択した場合、 以下の項目を個別に指定する必要がある。
    202176
    203177         [1]   NUM_STATIC_ROUTE_ENTRY
    204                NUM_IN6_STATIC_ROUTE_ENTRY(IPv6 用)と
    205                NUM_IN4_STATIC_ROUTE_ENTRY(IPv4 用)
     178               NUM_IN6_STATIC_ROUTE_ENTRY(IPv6 用)と
     179               NUM_IN4_STATIC_ROUTE_ENTRY(IPv4 用)
    206180         [2]   NUM_REDIRECT_ROUTE_ENTRY
    207                NUM_IN6_REDIRECT_ROUTE_ENTRY(IPv6 用)と
    208                NUM_IN4_REDIRECT_ROUTE_ENTRY(IPv4 用)
    209 
    210    (3)   TINET リリース 1.1 との互換性のためのコンパイル時コンフィギュ
    211          ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ãƒ‘ラメータ
     181               NUM_IN6_REDIRECT_ROUTE_ENTRY(IPv6 用)と
     182               NUM_IN4_REDIRECT_ROUTE_ENTRY(IPv4 用)
     183
     184   (3)   TINET リリース 1.1 との互換性のためのコンパイル時コンフィギュ
     185         レーションパラメータ
    212186
    213187         [1]   NUM_ROUTE_ENTRY
    214                NUM_IN4_STATIC_ROUTE_ENTRY に変更する。
     188               NUM_IN4_STATIC_ROUTE_ENTRY に変更する。
    215189         [2]   NUM_IN4_REDIRECT_ROUTE_ENTRY
    216                æ–°ãŸã«è¿½åŠ ã™ã‚‹ã€‚
    217 
    218 3.  変更推奨é 
    219 ç›®
    220 
    221   以下に、TINET リリース 1.7 で変更され、TINET リリース 1.5 から TINET
    222 ãƒªãƒªãƒ¼ã‚¹ 1.7 へ移行において、変更または新たに定義すべき推奨é 
    223 ç›®ã‚’示す。
    224 
    225    (1)   ãƒ«ãƒ¼ãƒ†ã‚£ãƒ³ã‚°ã«é–¢ã™ã‚‹ã‚³ãƒ³ãƒ‘イル時コンフィギュレーションパラメー
    226          ã‚¿
    227            ä»¥ä¸‹ã®é 
    228 ç›®ã‚’個別に指定する事を推奨する。 ただし、デュアルス
    229          ã‚¿ãƒƒã‚¯ï¼ˆSUPPORT_INET6 と SUPPORT_INET4 の両方)を選択した場合
    230          ã¯å¤‰æ›´å¿
    231 é ˆé 
    232 ç›®ã§ã‚る。
     190               新たに追加する。
     191
     1923.  変更推奨項目
     193
     194  以下に、TINET リリース 1.7 で変更され、TINET リリース 1.5 から TINET
     195リリース 1.7 へ移行において、変更または新たに定義すべき推奨項目を示す。
     196
     197   (1)   ルーティングに関するコンパイル時コンフィギュレーションパラメー
     198         タ
     199           以下の項目を個別に指定する事を推奨する。 ただし、デュアルス
     200         タック(SUPPORT_INET6 と SUPPORT_INET4 の両方)を選択した場合
     201         は変更必須項目である。
    233202
    234203         [1]   NUM_STATIC_ROUTE_ENTRY
    235                NUM_IN6_STATIC_ROUTE_ENTRY(IPv6 用)と
    236                NUM_IN4_STATIC_ROUTE_ENTRY(IPv4 用)
     204               NUM_IN6_STATIC_ROUTE_ENTRY(IPv6 用)と
     205               NUM_IN4_STATIC_ROUTE_ENTRY(IPv4 用)
    237206         [2]   NUM_REDIRECT_ROUTE_ENTRY
    238                NUM_IN6_REDIRECT_ROUTE_ENTRY(IPv6 用)と
    239                NUM_IN4_REDIRECT_ROUTE_ENTRY(IPv4 用)
     207               NUM_IN6_REDIRECT_ROUTE_ENTRY(IPv6 用)と
     208               NUM_IN4_REDIRECT_ROUTE_ENTRY(IPv4 用)
  • rubycfg_asp/trunk/asp_dcre/tinet/doc/tinet.txt

    • Property svn:mime-type changed from text/plain to text/plane; charset=UTF-8
    r313 r315  
    1                   TCP/IP プロトコルスタック(TINET)
    2             ユーザズマニュアル(リリース 1.7)[2017/4/5ï¼½
    3 
    4 1.  TCP/IP プロトコルスタック(TINET)の概要
    5 
    6   TINET は、TOPPERS/ASP と TOPPERS/JSP 用の IPv6/IPv4 デュアルスタック
    7 ã® TCP/IP プロトコルスタックである。
    8 
    9 1. 1  機能一覧
    10 
    11   以下に、TINET リリース 1.7 の機能一覧を示す。
     1                  TCP/IP プロトコルスタック(TINET)
     2            ユーザズマニュアル(リリース 1.7)[2017/4/5]
     3
     41.  TCP/IP プロトコルスタック(TINET)の概要
     5
     6  TINET は、TOPPERS/ASP と TOPPERS/JSP 用の IPv6/IPv4 デュアルスタック
     7の TCP/IP プロトコルスタックである。
     8
     91. 1  機能一覧
     10
     11  以下に、TINET リリース 1.7 の機能一覧を示す。
    1212
    1313   (1)   API
    1414
    15          ãƒ»ITRON TCP/IP API 仕様の標準機能
    16          ãƒ»æš«å®šçš„な ITRON TCP/IP(バージョン 6)API 仕様の標準機能
    17          ãƒ»ITRON TCP/IP API 仕様の拡張機能
     15         ・ITRON TCP/IP API 仕様の標準機能
     16         ・暫定的な ITRON TCP/IP(バージョン 6)API 仕様の標準機能
     17         ・ITRON TCP/IP API 仕様の拡張機能
    1818
    1919   (2)   TCP
    2020
    21          ãƒ»BSD の通信機能
    22          ãƒ»æœ€å¤§ã‚»ã‚°ãƒ¡ãƒ³ãƒˆã‚µã‚¤ã‚ºï¼ˆMSS)オプション
    23          ãƒ»çœã‚³ãƒ”ー API
    24          ãƒ»ãƒŽãƒ³ãƒ–ロッキングコール(組込み選択可)
    25          ãƒ»ã‚¿ã‚¹ã‚¯ã‹ã‚‰ã® Time Wait 状æ
    26 ‹ã® TCP 通信端点分離機能(組込み
    27            é¸æŠžå¯ï¼‰
    28          ãƒ»é€å—信ウィンドバッファの省コピー機能(組込み選択可)
    29          ãƒ»TCP ヘッダのトレース出力機能(組込み選択可)
     21         ・BSD の通信機能
     22         ・最大セグメントサイズ(MSS)オプション
     23         ・省コピー API
     24         ・ノンブロッキングコール(組込み選択可)
     25         ・タスクからの Time Wait 状態の TCP 通信端点分離機能(組込み
     26           選択可)
     27         ・送受信ウィンドバッファの省コピー機能(組込み選択可)
     28         ・TCP ヘッダのトレース出力機能(組込み選択可)
    3029
    3130   (3)   UDP
    3231
    33          ãƒ»ãƒŽãƒ³ãƒ–ロッキングコール(組込み選択可)
    34 
    35    (4)   è¿‘隣探索
    36 
    37          ãƒ»è¿‘隣探索要請の送受信
    38          ãƒ»è¿‘隣探索通知の送受信
    39          ãƒ»ãƒ«ãƒ¼ã‚¿é€šçŸ¥ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®å—ä¿¡
    40          ãƒ»ãƒ«ãƒ¼ã‚¿è¦è«‹ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®é€ä¿¡
    41          ãƒ»ã‚¢ãƒ‰ãƒ¬ã‚¹é‡è¤‡æ¤œå‡ºæ©Ÿèƒ½
     32         ・ノンブロッキングコール(組込み選択可)
     33
     34   (4)   近隣探索
     35
     36         ・近隣探索要請の送受信
     37         ・近隣探索通知の送受信
     38         ・ルータ通知メッセージの受信
     39         ・ルータ要請メッセージの送信
     40         ・アドレス重複検出機能
    4241
    4342   (5)   ICMPv6
    4443
    45          ãƒ»ã‚¨ã‚³ãƒ¼è¦æ±‚・応答の送受信
    46          ãƒ»ã‚¨ãƒ©ãƒ¼ã®é€ä¿¡ï¼ˆçµ„込み選択可)
    47          ãƒ»å‘け直しメッセージの受信(組込み選択可)
    48          ãƒ»Path MTU
     44         ・エコー要求・応答の送受信
     45         ・エラーの送信(組込み選択可)
     46         ・向け直しメッセージの受信(組込み選択可)
     47         Path MTU
    4948
    5049   (6)   ICMPv4
    5150
    52          ãƒ»ã‚¨ã‚³ãƒ¼è¦æ±‚・応答の送受信
    53          ãƒ»ã‚¨ãƒ©ãƒ¼ã®é€ä¿¡ï¼ˆçµ„込み選択可)
    54          ãƒ»å‘け直しメッセージの受信(組込み選択可)
     51         ・エコー要求・応答の送受信
     52         ・エラーの送信(組込み選択可)
     53         ・向け直しメッセージの受信(組込み選択可)
    5554
    5655   (7)   IPv6
    5756
    58          ãƒ»ã‚¢ãƒ‰ãƒ¬ã‚¹ã®è‡ªå‹•è¨­å®š
    59          ãƒ»é™çš„経路表
    60          ãƒ»éž PC 系ディジタル機器への適用に向けた IPv6 最小要求仕様の
    61            IPv6 最小ホスト仕様に準拠
    62          ãƒ»æ‹¡å¼µãƒ˜ãƒƒãƒ€ã®ã‚¨ãƒ©ãƒ¼ã®é€šçŸ¥
    63          ãƒ»æ–­ç‰‡ãƒ˜ãƒƒãƒ€ï¼ˆçµ„込み選択可)
    64          ãƒ»ãƒ›ã‚¹ãƒˆæƒ
    65 å ±ã‚­ãƒ£ãƒƒã‚·ãƒ¥ï¼ˆçµ„込み選択可)
    66          ãƒ»IPv6/IPv4 完å
    67 ¨ãƒ‡ãƒ¥ã‚¢ãƒ«ã‚¹ã‚¿ãƒƒã‚¯ã€ãƒªãƒªãƒ¼ã‚¹ 1.7 新規】
    68          ãƒ»IPv4 射影アドレス(組込み選択可)【リリース 1.7 新規】
     57         ・アドレスの自動設定
     58         ・静的経路表
     59         ・非 PC 系ディジタル機器への適用に向けた IPv6 最小要求仕様の
     60           IPv6 最小ホスト仕様に準拠
     61         ・拡張ヘッダのエラーの通知
     62         ・断片ヘッダ(組込み選択可)
     63         ・ホスト情報キャッシュ(組込み選択可)
     64         ・IPv6/IPv4 完全デュアルスタック【リリース 1.7 新規】
     65         ・IPv4 射影アドレス(組込み選択可)【リリース 1.7 新規】
    6966
    7067   (8)   IPv4
    7168
    72          ãƒ»é™çš„経路表
    73          ãƒ»IP データグラムの分割・再構成(組込み選択可)
    74          ãƒ»IPSEC(組込み選択可、フックのみ実è£
    75 ï¼‰
    76 
    77    (9)   ãã®ä»–
    78 
    79          ãƒ»ARP 要求・応答の送受信
    80          ãƒ»ARP での IPv4 アドレス重複検出機能
    81          ãƒ»DHCP への対応
    82          ãƒ»SNMP 用管理æƒ
    83 å ±ãƒ™ãƒ¼ã‚¹ï¼ˆMIB)の提供
    84 
    85 1. 2  制限事é 
    86 
    87 
    88   以下に、TINET リリース 1.7 の制約事é 
    89 ã‚’述べる。
    90 
    91    (1)   IPv6 では、ネットワークインタフェースはイーサネットのみ選択できる。
    92    (2)   IPv6 では、TCP と UDP の両方を選択するか、 どちらか一つを選択
    93          ã—なければならない。 また、UDP のみを選択した場合は、ノンブロッ
    94          ã‚­ãƒ³ã‚°æ©Ÿèƒ½ã‚’組み込むå¿
    95 è¦ãŒã‚る。
    96    (3)   ãƒŽãƒ³ãƒ–ロッキングコールにおいても、 通信端点の排他制御のため、
    97          çŸ­æ™‚間であるがブロックすることがある。
    98    (4)   IPv6 に関する ITRON TCP/IP API 2.0 仕様には未対応である。
    99          TINET リリース 1.2 からの暫定的な ITRON TCP/IP(バージョン 6)
    100          API 仕様にのみ対応している。
    101    (5)   ITRON TCP/IP API 部分のライブラリ化は行われているが、ライブラ
    102          ãƒªã¨ã‚¢ãƒ—リケーションプログラムを別ã€
    103 ã«æ§‹ç¯‰ã—ておき、 後でリン
    104          ã‚¯ã™ã‚‹æ–¹æ³•ã¯ã‚µãƒãƒ¼ãƒˆã—ていない。
    105    (6)   è¨­å®šã¨èª­å‡ºã—可能な TCP 通信端点オプションは無いため、TCP 通信
    106          ç«¯ç‚¹ã‚ªãƒ—ションの設定 API と読出し API の戻り値は E_PAR である。
    107    (7)   è¨­å®šã¨èª­å‡ºã—可能な UDP 通信端点オプションは無いため、UDP 通信
    108          ç«¯ç‚¹ã‚ªãƒ—ションの設定 API と読出し API の戻り値は E_PAR である。
    109 
    110 1. 3  ディレクトリ構成
    111 
    112   TINET のディレクトリは、 TOPPERS/ASP または TOPPERS/JSP のルートディ
    113 ãƒ¬ã‚¯ãƒˆãƒªã®ä¸‹ã«ç½®ãã“とを想定しており、以下のディレクトリから構成されて
    114 ã„る。
    115 
    116    tinet                   TINET のルートディレクトリ
    117    tinet/cfg               TINET コンフィギュレータ(TOPPERS/JSP 用のみ)
    118    tinet/doc               ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆé¡ž
    119    tinet/net               æ±Žç”¨ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯
    120    tinet/netapp            サンプルのネットワークプログラム
    121    tinet/netdev            ネットワークインタフェースのドライバ
     69         ・静的経路表
     70         ・IP データグラムの分割・再構成(組込み選択可)
     71         ・IPSEC(組込み選択可、フックのみ実装)
     72
     73   (9)   その他
     74
     75         ・ARP 要求・応答の送受信
     76         ・ARP での IPv4 アドレス重複検出機能
     77         ・DHCP への対応
     78         ・SNMP 用管理情報ベース(MIB)の提供
     79
     801. 2  制限事項
     81
     82  以下に、TINET リリース 1.7 の制約事項を述べる。
     83
     84   (1)   IPv6 では、ネットワークインタフェースはイーサネットのみ選択できる。
     85   (2)   IPv6 では、TCP と UDP の両方を選択するか、 どちらか一つを選択
     86         しなければならない。 また、UDP のみを選択した場合は、ノンブロッ
     87         キング機能を組み込む必要がある。
     88   (3)   ノンブロッキングコールにおいても、 通信端点の排他制御のため、
     89         短時間であるがブロックすることがある。
     90   (4)   IPv6 に関する ITRON TCP/IP API 2.0 仕様には未対応である。
     91         TINET リリース 1.2 からの暫定的な ITRON TCP/IP(バージョン 6)
     92         API 仕様にのみ対応している。
     93   (5)   ITRON TCP/IP API 部分のライブラリ化は行われているが、ライブラ
     94         リとアプリケーションプログラムを別々に構築しておき、 後でリン
     95         クする方法はサポートしていない。
     96   (6)   設定と読出し可能な TCP 通信端点オプションは無いため、TCP 通信
     97         端点オプションの設定 API と読出し API の戻り値は E_PAR である。
     98   (7)   設定と読出し可能な UDP 通信端点オプションは無いため、UDP 通信
     99         端点オプションの設定 API と読出し API の戻り値は E_PAR である。
     100
     1011. 3  ディレクトリ構成
     102
     103  TINET のディレクトリは、 TOPPERS/ASP または TOPPERS/JSP のルートディ
     104レクトリの下に置くことを想定しており、以下のディレクトリから構成されて
     105いる。
     106
     107   tinet                   TINET のルートディレクトリ
     108   tinet/cfg               TINET コンフィギュレータ(TOPPERS/JSP 用のみ)
     109   tinet/doc               ドキュメント類
     110   tinet/net               汎用ネットワーク
     111   tinet/netapp            サンプルのネットワークプログラム
     112   tinet/netdev            ネットワークインタフェースのドライバ
    122113   tinet/netinet           IPv4/TCP/UDP/ICMP
    123114   tinet/netinet6          IPv6/ICMPv6/NDP
    124115
    125 1. 4  ドキュメント類
    126 
    127   ドキュメント類を以下に示す。å
    128 ¨ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ«ã¯ PDF でも提供している。
    129 
    130    tinet.txt               ãƒ¦ãƒ¼ã‚¶ã‚ºãƒžãƒ‹ãƒ¥ã‚¢ãƒ«
    131    tinet_gcc.txt           ãƒ¦ãƒ¼ã‚¶ã‚ºãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ã€GCC 環境】
    132    tinet_cs.txt            ユーザズマニュアル【CS+ 環境(参考)】
    133    tinet_sample.txt        サンプルアプリケーション
    134    tinet_config.txt        コンパイル時コンフィギュレーション
    135    tinet_defs.txt          プロセッサ、システム依存定義
    136 
    137 
    138 
    139 
    140 
    141 è‹«å°ç‰§å·¥æ¥­é«˜ç­‰å°‚門学校          - 2 -                       æƒ
    142 å ±å·¥å­¦ç§‘
    143 
    144 
    145 
    146 
    147 TINET ユーザズマニュアル                          1. 4  ドキュメント類
    148 
    149    tinet_chg.txt           å¤‰æ›´ãƒ¡ãƒ¢
    150    tinet_ether.pdf         TINET-1.4 におけるイーサネットの実è£
    151 ï¼ˆPDFのみ)
    152 
    153 2.  TINET コンフィギュレータと TINET コンフィグレーションファイル
     1161. 4  ドキュメント類
     117
     118  ドキュメント類を以下に示す。全てのファイルは PDF でも提供している。
     119
     120   tinet.txt               ユーザズマニュアル
     121   tinet_gcc.txt           ユーザズマニュアル【GCC 環境】
     122   tinet_cs.txt            ユーザズマニュアル【CS+ 環境(参考)】
     123   tinet_sample.txt        サンプルアプリケーション
     124   tinet_config.txt        コンパイル時コンフィギュレーション
     125   tinet_defs.txt          プロセッサ、システム依存定義
     126
     127
     128
     129
     130
     131苫小牧工業高等専門学校          - 2 -                       情報工学科
     132
     133
     134
     135
     136TINET ユーザズマニュアル                          1. 4  ドキュメント類
     137
     138   tinet_chg.txt           変更メモ
     139   tinet_ether.pdf         TINET-1.4 におけるイーサネットの実装(PDFのみ)
     140
     1412.  TINET コンフィギュレータと TINET コンフィグレーションファイル
    154142
    1551432. 1  TOPPERS/ASP
    156144
    157   TOPPERS/ASP では、 TOPPERS/ASP 用コンフィギュレータを流用するため、
    158 TINET 独自のコンフィギュレータはない。
    159   TOPPERS/ASP 用コンフィギュレータを流用して、TINET コンフィギュレーショ
    160 ãƒ³ãƒ•ã‚¡ã‚¤ãƒ«ï¼ˆæ¨™æº–は tinet_$(APPLNAME).cfg)から以下のファイルを生成する。
     145  TOPPERS/ASP では、 TOPPERS/ASP 用コンフィギュレータを流用するため、
     146TINET 独自のコンフィギュレータはない。
     147  TOPPERS/ASP 用コンフィギュレータを流用して、TINET コンフィギュレーショ
     148ンファイル(標準は tinet_$(APPLNAME).cfg)から以下のファイルを生成する。
    161149
    162150   (1)   tinet_cfg.c
    163          TINET カーネル構成ファイルで、 アプリケーションプログラム、
    164          TINET とå
    165 ±ã«ã‚³ãƒ³ãƒ‘イルしてリンクする。
     151         TINET カーネル構成ファイルで、 アプリケーションプログラム、
     152         TINET と共にコンパイルしてリンクする。
    166153
    167154   (2)   tinet_kern.cfg
    168          TINET å†
    169 éƒ¨ã§ä½¿ç”¨ã™ã‚‹ã‚«ãƒ¼ãƒãƒ«ã‚ªãƒ–ジェクトの静的 API が生成され、
    170          TOPPERS/ASP システムコンフィギュレーションファイル(標準は
    171          $(APPLNAME).cfg)にインクルードする。
     155         TINET 内部で使用するカーネルオブジェクトの静的 API が生成され、
     156         TOPPERS/ASP システムコンフィギュレーションファイル(標準は
     157         $(APPLNAME).cfg)にインクルードする。
    172158
    173159   (3)   tinet_cfg.h
    174          TINET å†
    175 éƒ¨ã§ä½¿ç”¨ã™ã‚‹ã‚«ãƒ¼ãƒãƒ«ã‚ªãƒ–ジェクトの ID 自動割付結果ファ
    176          ã‚¤ãƒ«ã§ã‚る。
     160         TINET 内部で使用するカーネルオブジェクトの ID 自動割付結果ファ
     161         イルである。
    177162
    1781632. 2  TOPPERS/JSP
    179164
    180   TINET コンフィギュレータは tinet/cfg/tinet_cfg (cygwin では
    181 tinet_cfg.exe) であり、ターゲットには依存していない。 TINET コンフィグ
    182 ãƒ¬ãƒ¼ã‚¿ã®ç”Ÿæˆã«ã¤ã„ては「8. TOPPERS/JSP 環境におけるインストールとファ
    183 ã‚¤ãƒ«ã®ä½œæˆãƒ»å¤‰æ›´ 」を参ç
    184 §ã™ã‚‹ã“と。
    185   TOPPERS/JSP 用 TINET コンフィギュレータは TINET コンフィギュレーショ
    186 ãƒ³ãƒ•ã‚¡ã‚¤ãƒ«ï¼ˆæ¨™æº–は tinet_$(UNAME).cfg)から以下のファイルを生成する。
     165  TINET コンフィギュレータは tinet/cfg/tinet_cfg (cygwin では
     166tinet_cfg.exe) であり、ターゲットには依存していない。 TINET コンフィグ
     167レータの生成については「8. TOPPERS/JSP 環境におけるインストールとファ
     168イルの作成・変更 」を参照すること。
     169  TOPPERS/JSP 用 TINET コンフィギュレータは TINET コンフィギュレーショ
     170ンファイル(標準は tinet_$(UNAME).cfg)から以下のファイルを生成する。
    187171
    188172   (1)   tinet_cfg.c
    189          TINET カーネル構成ファイルで、 アプリケーションプログラム、
    190          TINET とå
    191 ±ã«ã‚³ãƒ³ãƒ‘イルしてリンクする。
     173         TINET カーネル構成ファイルで、 アプリケーションプログラム、
     174         TINET と共にコンパイルしてリンクする。
    192175
    193176   (2)   tinet_kern.cfg
    194          TINET å†
    195 éƒ¨ã§ä½¿ç”¨ã™ã‚‹ã‚«ãƒ¼ãƒãƒ«ã‚ªãƒ–ジェクトの静的 API が生成され、
    196          TOPPERS/JSP システムコンフィギュレーションファイル(標準は
    197          $(UNAME).cfg)にインクルードする。
     177         TINET 内部で使用するカーネルオブジェクトの静的 API が生成され、
     178         TOPPERS/JSP システムコンフィギュレーションファイル(標準は
     179         $(UNAME).cfg)にインクルードする。
    198180
    199181   (3)   tinet_id.h
    200          TINET å†
    201 éƒ¨ã§ä½¿ç”¨ã™ã‚‹ã‚«ãƒ¼ãƒãƒ«ã‚ªãƒ–ジェクトの ID 自動割付結果ファ
    202          ã‚¤ãƒ«ã§ã‚る。
    203 
    204 3.  ITRON TCP/IP API仕様
    205 
    206 3. 1  暫定的なITRON TCP/IP(バージョン6)API仕様
    207 
    208   IPv6 に関する ITRON TCP/IP API 2.0 仕様には未対応である。 TINET リリー
    209 ã‚¹ 1.2 からの暫定的な ITRON TCP/IP(バージョン 6)API 仕様にのみ対応し
    210 ã¦ã„る。
    211 
    212    (1)   1.5.1 データ構造/データ型 (1) IP アドレス/ポート番号をå
    213 ¥ã‚Œ
    214          ã‚‹ãƒ‡ãƒ¼ã‚¿æ§‹é€ 
    215 
    216             /* IPv6 アドレス */
     182         TINET 内部で使用するカーネルオブジェクトの ID 自動割付結果ファ
     183         イルである。
     184
     1853.  ITRON TCP/IP API仕様
     186
     1873. 1  暫定的なITRON TCP/IP(バージョン6)API仕様
     188
     189  IPv6 に関する ITRON TCP/IP API 2.0 仕様には未対応である。 TINET リリー
     190ス 1.2 からの暫定的な ITRON TCP/IP(バージョン 6)API 仕様にのみ対応し
     191ている。
     192
     193   (1)   1.5.1 データ構造/データ型 (1) IP アドレス/ポート番号を入れ
     194         るデータ構造
     195
     196            /* IPv6 アドレス */
    217197            struct t_in6_addr {
    218198                union {
     
    224204           
    225205            typedef struct t_ipv6ep {
    226                 T_IN6_ADDR    ipaddr;        /* IPv6 アドレス */
    227                 uint16_t      portno;        /* ポート番号    */
     206                T_IN6_ADDR    ipaddr;        /* IPv6 アドレス */
     207                uint16_t      portno;        /* ポート番号    */
    228208                } T_IPV6EP;
    229209
    230    (2)   1.5.1 データ構造/データ型 (2) オブジェクト生成用のデータ構造
     210   (2)   1.5.1 データ構造/データ型 (2) オブジェクト生成用のデータ構造
    231211
    232212            typedef struct t_tcp6_crep {
    233                 /* 標準 */
    234                 ATR         repatr;        /* 受付口属性        */
    235                 T_IPV6EP    myaddr;        /* 自分のアドレス    */
    236                 /* 実è£
    237 ä¾å­˜ */
     213                /* 標準 */
     214                ATR         repatr;        /* 受付口属性        */
     215                T_IPV6EP    myaddr;        /* 自分のアドレス    */
     216                /* 実装依存 */
    238217                } T_TCP6_CREP;
    239218
    240    (3)   1.5.1 データ構造/データ型 (5) 特殊な IP アドレスとポート番号
     219   (3)   1.5.1 データ構造/データ型 (5) 特殊な IP アドレスとポート番号
    241220
    242221            #define IPV6_ADDR_UNSPECIFIED_INIT    \
     
    245224            #define IPV6_ADDRANY        IPV6_ADDR_UNSPECIFIED_INIT
    246225
    247    (4)   2.2 TCP 受付口の生成/削除
    248          ã€é™çš„ API】
     226   (4)   2.2 TCP 受付口の生成/削除
     227         【静的 API】
    249228               TCP6_CRE_REP(ID repid, { ATR repatr,
    250229                                      { T_IN6_ADDR myipaddr, uint16_t myportno } } );
    251230
    252          ã€API の機能】
    253                  myipaddr の型が T_IN6_ADDR になった以外は、 ITRON
    254                TCP/IP API 仕様と同じである。myipaddr には IPV6_ADDRANY
    255                ã‚’指定できる。
    256 
    257    (5)   2.4 接続/切断「接続要求å¾
    258 ã¡ï¼ˆå—動オープン)」
    259          ã€C 言語 API】
     231         【API の機能】
     232                 myipaddr の型が T_IN6_ADDR になった以外は、 ITRON
     233               TCP/IP API 仕様と同じである。myipaddr には IPV6_ADDRANY
     234               を指定できる。
     235
     236   (5)   2.4 接続/切断「接続要求待ち(受動オープン)」
     237         【C 言語 API】
    260238               ER ercd = tcp6_acp_cep(ID cepid, ID repid,
    261239                                      T_IPV6EP *p_dstaddr, TMO tmout);
    262240
    263          ã€API の機能】
    264                  p_dstaddr の型が、 T_IPV6EP* になった以外は、 ITRON
    265                TCP/IP API 仕様と同じである。
    266 
    267    (6)   2.4 接続/切断「接続要求(能動オープン)」
    268          ã€C 言語 API】
     241         【API の機能】
     242                 p_dstaddr の型が、 T_IPV6EP* になった以外は、 ITRON
     243               TCP/IP API 仕様と同じである。
     244
     245   (6)   2.4 接続/切断「接続要求(能動オープン)」
     246         【C 言語 API】
    269247               ER ercd = tcp6_con_cep(ID cepid, T_IPV6EP *p_myaddr,
    270248                                      T_IPV6EP *p_dstaddr, TMO tmout);
    271249
    272          ã€æ©Ÿèƒ½ã€‘
    273                  p_myaddr と p_dstaddr の型が、 T_IPV6EP* になった以外
    274                ã¯ã€ITRON TCP/IP API 仕様と同じである。
    275 
    276    (7)   3.2 UDP 通信端点の生成/削除
    277          ã€é™çš„ API】
     250         【機能】
     251                 p_myaddr と p_dstaddr の型が、 T_IPV6EP* になった以外
     252               は、ITRON TCP/IP API 仕様と同じである。
     253
     254   (7)   3.2 UDP 通信端点の生成/削除
     255         【静的 API】
    278256               UDP6_CRE_CEP(ID cepid, { ATR cepatr,
    279257                                      { T_IN6_ADDR myipaddr, uint16_t myportno },
    280258                                        FP callback } );
    281259
    282          ã€æ©Ÿèƒ½ã€‘
    283                  myipaddr の型が T_IN6_ADDR になった以外は、 ITRON
    284                TCP/IP API 仕様と同じである。myipaddr には IPV6_ADDRANY
    285                ã‚’指定できる。
    286 
    287    (8)   3.3 データの送受信「パケットの送信」
    288          ã€C 言語 API】
     260         【機能】
     261                 myipaddr の型が T_IN6_ADDR になった以外は、 ITRON
     262               TCP/IP API 仕様と同じである。myipaddr には IPV6_ADDRANY
     263               を指定できる。
     264
     265   (8)   3.3 データの送受信「パケットの送信」
     266         【C 言語 API】
    289267               ER ercd = udp6_snd_dat(ID cepid, T_IPV6EP *p_dstaddr,
    290268                                      void *data, int_t len, TMO tmout);
    291269
    292          ã€æ©Ÿèƒ½ã€‘
    293                  p_dstaddr の型が、 T_IPV6EP* になった以外は、 ITRON
    294                TCP/IP API 仕様と同じである。
    295 
    296    (9)   3.4 データの送受信「パケットの受信」
    297          ã€C 言語 API】
     270         【機能】
     271                 p_dstaddr の型が、 T_IPV6EP* になった以外は、 ITRON
     272               TCP/IP API 仕様と同じである。
     273
     274   (9)   3.4 データの送受信「パケットの受信」
     275         【C 言語 API】
    298276               ER ercd = udp6_rcv_dat(ID cepid, T_IPV6EP *p_dstaddr,
    299277                                      void *data, int_t len, TMO tmout);
    300278
    301          ã€æ©Ÿèƒ½ã€‘
    302                  p_dstaddr の型が、 T_IPV6EP* になった以外は、 ITRON
    303                TCP/IP API 仕様と同じである。
    304 
    305 3. 2  サポートするオブジェクトの定義
    306 
    307   サポートするオブジェクトの定義は、以下に示す ITRON TCP/IP API 仕様の
    308 é™çš„ API、 暫定的な ITRON TCP/IP(バージョン 6)API 仕様の静的 API、
    309 TINET 独自の静的 API、ファイルのインクルードである。
    310 
    311    (1)   TCP 受付口(IPv4)
    312          ã€é™çš„ API】
     279         【機能】
     280                 p_dstaddr の型が、 T_IPV6EP* になった以外は、 ITRON
     281               TCP/IP API 仕様と同じである。
     282
     2833. 2  サポートするオブジェクトの定義
     284
     285  サポートするオブジェクトの定義は、以下に示す ITRON TCP/IP API 仕様の
     286静的 API、 暫定的な ITRON TCP/IP(バージョン 6)API 仕様の静的 API、
     287TINET 独自の静的 API、ファイルのインクルードである。
     288
     289   (1)   TCP 受付口(IPv4)
     290         【静的 API】
    313291               TCP_CRE_REP(ID repid, { ATR repatr,
    314292                                     { uint32_t myipaddr, uint16_t myportno } } );
    315293
    316          ã€ãƒ‘ラメータ】
    317                  ãƒ‘ラメータについては、ITRON TCP/IP API 仕様と同じであ
    318                ã‚Šã€å®Ÿè£
    319 ä¾å­˜ã® TCP 受付口属性はない。
    320          ã€TCP 受付口数の定義】
    321                  TCP 受付口数を定義するプリプロセッサディレクティブで
    322                ã‚り、tinet_cfg.c に出力される。
    323                      #define TNUM_TCP_REPID <TCP受付口数>
    324 
    325          ã€TCP 受付口 ID の最大値の変数の定義】
    326                  TCP 受付口 ID の最大値の変数の定義であり、tinet_cfg.c
    327                ã«å‡ºåŠ›ã•ã‚Œã‚‹ã€‚
     294         【パラメータ】
     295                 パラメータについては、ITRON TCP/IP API 仕様と同じであ
     296               り、実装依存の TCP 受付口属性はない。
     297         【TCP 受付口数の定義】
     298                 TCP 受付口数を定義するプリプロセッサディレクティブで
     299               あり、tinet_cfg.c に出力される。
     300                     #define TNUM_TCP_REPID <TCP受付口数>
     301
     302         【TCP 受付口 ID の最大値の変数の定義】
     303                 TCP 受付口 ID の最大値の変数の定義であり、tinet_cfg.c
     304               に出力される。
    328305                     const ID tmax_tcp_repid =
    329306                              (TMIN_TCP_REPID + TNUM_TCP_REPID - 1);
    330307
    331    (2)   TCP 通信端点(IPv4)
    332          ã€é™çš„ API】
     308   (2)   TCP 通信端点(IPv4)
     309         【静的 API】
    333310               TCP_CRE_CEP(ID cepid, { ATR cepatr, void *sbuf, int_t sbufsz,
    334311                                                   void *rbuf, int_t rbufsz,
    335312                                                   FP callback } );
    336313
    337          ã€ãƒ‘ラメータ】
    338                  ãƒ‘ラメータについては、ITRON TCP/IP API 仕様と同じであ
    339                ã‚Šã€å®Ÿè£
    340 ä¾å­˜ã® TCP 通信端点属性はない。
    341          ã€TCP 通信端点数の定義】
    342                  TCP 通信端点数を定義するプリプロセッサディレクティブ
    343                ã§ã‚り、tinet_cfg.c に出力される。
    344                      #define TNUM_TCP_CEPID <TCP通信端点数>
    345 
    346          ã€TCP 通信端点 ID の最大値の変数の定義】
    347                  TCP 通信端点 ID の最大値の変数の定義であり、
    348                tinet_cfg.c に出力される。
     314         【パラメータ】
     315                 パラメータについては、ITRON TCP/IP API 仕様と同じであ
     316               り、実装依存の TCP 通信端点属性はない。
     317         【TCP 通信端点数の定義】
     318                 TCP 通信端点数を定義するプリプロセッサディレクティブ
     319               であり、tinet_cfg.c に出力される。
     320                     #define TNUM_TCP_CEPID <TCP通信端点数>
     321
     322         【TCP 通信端点 ID の最大値の変数の定義】
     323                 TCP 通信端点 ID の最大値の変数の定義であり、
     324               tinet_cfg.c に出力される。
    349325                     const ID tmax_tcp_cepid =
    350326                              (TMIN_TCP_CEPID + TNUM_TCP_CEPID - 1);
    351327
    352    (3)   UDP 通信端点(IPv4)
    353          ã€é™çš„ API】
     328   (3)   UDP 通信端点(IPv4)
     329         【静的 API】
    354330               UDP_CRE_CEP(ID cepid, { ATR cepatr,
    355331                                     { uint32_t myipaddr, uint16_t myportno },
    356332                                       FP callback } );
    357333
    358          ã€ãƒ‘ラメータ】
    359                  ãƒ‘ラメータについては、ITRON UDP/IP API 仕様と同じであ
    360                ã‚Šã€å®Ÿè£
    361 ä¾å­˜ã® UDP 通信端点属性はない。
    362          ã€UDP 通信端点数の定義】
    363                  UDP 通信端点数を定義するプリプロセッサディレクティブ
    364                ã§ã‚り、tinet_cfg.c に出力される。
    365                      #define TNUM_UDP_CEPID <UDP通信端点数>
    366 
    367          ã€UDP 通信端点 ID の最大値の変数の定義】
    368                  UDP 通信端点 ID の最大値の変数を定義であり、
    369                tinet_cfg.c に出力される。
     334         【パラメータ】
     335                 パラメータについては、ITRON UDP/IP API 仕様と同じであ
     336               り、実装依存の UDP 通信端点属性はない。
     337         【UDP 通信端点数の定義】
     338                 UDP 通信端点数を定義するプリプロセッサディレクティブ
     339               であり、tinet_cfg.c に出力される。
     340                     #define TNUM_UDP_CEPID <UDP通信端点数>
     341
     342         【UDP 通信端点 ID の最大値の変数の定義】
     343                 UDP 通信端点 ID の最大値の変数を定義であり、
     344               tinet_cfg.c に出力される。
    370345                     const ID tmax_udp_cepid =
    371346                              (TMIN_UDP_CEPID + TNUM_UDP_CEPID - 1);
    372347
    373    (4)   TCP 受付口(IPv6)
    374          ã€é™çš„ API】
     348   (4)   TCP 受付口(IPv6)
     349         【静的 API】
    375350               TCP6_CRE_REP(ID repid, { ATR repatr,
    376351                                      { T_IN6_ADDR myipaddr, uint16_t myportno } } );
    377352
    378          ã€ãƒ‘ラメータ】
    379                  ãƒ‘ラメータについては、myipaddr で指定する IP アドレス
    380                ã¯ IPv6 であり、 IPv4 の IP_ADDRANY の代わりに、IPv6 で
    381                ã¯ IPV6_ADDRANY を指定できる。これ以外は、 ITRON TCP/IP
    382                API 仕様と同じであり、実è£
    383 ä¾å­˜ã® TCP 受付口属性はない。
    384          ã€TCP 受付口数の定義】
    385                  TCP 受付口数を定義するプリプロセッサディレクティブで
    386                ã‚り、tinet_cfg.c に出力される。
    387                      #define TNUM_TCP_REPID <TCP受付口数>
    388 
    389          ã€TCP 受付口 ID の最大値の変数の定義】
    390                  TCP 受付口 ID の最大値の変数を定義であり、tinet_cfg.c
    391                ã«å‡ºåŠ›ã•ã‚Œã‚‹ã€‚
     353         【パラメータ】
     354                 パラメータについては、myipaddr で指定する IP アドレス
     355               は IPv6 であり、 IPv4 の IP_ADDRANY の代わりに、IPv6 で
     356               は IPV6_ADDRANY を指定できる。これ以外は、 ITRON TCP/IP
     357               API 仕様と同じであり、実装依存の TCP 受付口属性はない。
     358         【TCP 受付口数の定義】
     359                 TCP 受付口数を定義するプリプロセッサディレクティブで
     360               あり、tinet_cfg.c に出力される。
     361                     #define TNUM_TCP_REPID <TCP受付口数>
     362
     363         【TCP 受付口 ID の最大値の変数の定義】
     364                 TCP 受付口 ID の最大値の変数を定義であり、tinet_cfg.c
     365               に出力される。
    392366                     const ID tmax_tcp_repid =
    393367                              (TMIN_TCP_REPID + TNUM_TCP_REPID - 1);
    394368
    395    (5)   TCP 通信端点(IPv6)
    396          ã€é™çš„ API】
     369   (5)   TCP 通信端点(IPv6)
     370         【静的 API】
    397371               TCP6_CRE_CEP(ID cepid, { ATR cepatr, void *sbuf, int_t sbufsz,
    398372                                                    void *rbuf, int_t rbufsz,
    399373                                                    FP callback } );
    400374
    401          ã€ãƒ‘ラメータ】
    402                  ãƒ‘ラメータについては、ITRON TCP/IP API 仕様と同じであ
    403                ã‚Šã€å®Ÿè£
    404 ä¾å­˜ã® TCP 通信端点属性はない。
    405 
    406          ã€TCP 通信端点数の定義】
    407                  TCP 通信端点数を定義するプリプロセッサディレクティブ
    408                ã§ã‚り、tinet_cfg.c に出力される。
    409                      #define TNUM_TCP_CEPID <TCP通信端点数>
    410 
    411          ã€TCP 通信端点 ID の最大値の変数の定義】
    412                  æœ€å¤§ã® TCP 通信端点 ID の最大値の変数を定義であり、
    413                tinet_cfg.c に出力される。
     375         【パラメータ】
     376                 パラメータについては、ITRON TCP/IP API 仕様と同じであ
     377               り、実装依存の TCP 通信端点属性はない。
     378
     379         【TCP 通信端点数の定義】
     380                 TCP 通信端点数を定義するプリプロセッサディレクティブ
     381               であり、tinet_cfg.c に出力される。
     382                     #define TNUM_TCP_CEPID <TCP通信端点数>
     383
     384         【TCP 通信端点 ID の最大値の変数の定義】
     385                 最大の TCP 通信端点 ID の最大値の変数を定義であり、
     386               tinet_cfg.c に出力される。
    414387                     const ID tmax_tcp_cepid =
    415388                              (TMIN_TCP_CEPID + TNUM_TCP_CEPID - 1);
    416389
    417    (6)   UDP 通信端点(IPv6)
    418          ã€é™çš„ API】
     390   (6)   UDP 通信端点(IPv6)
     391         【静的 API】
    419392               UDP6_CRE_CEP(ID cepid, { ATR cepatr,
    420393                                      { T_IN6_ADDR myipaddr, uint16_t myportno },
    421394                                        FP callback } );
    422395
    423          ã€ãƒ‘ラメータ】
    424                  ãƒ‘ラメータについては、myipaddr で指定する IP アドレス
    425                ã¯ IPv6 であり、 IPv4 の IP_ADDRANY の代わりに、IPv6 で
    426                ã¯ IPV6_ADDRANY を指定できる。これ以外は、 ITRON TCP/IP
    427                API 仕様と同じであり、実è£
    428 ä¾å­˜ã® TCP 受付口属性はない。
    429          ã€UDP 通信端点数の定義】
    430                  UDP 通信端点数を定義するプリプロセッサディレクティブ
    431                ã§ã‚り、tinet_cfg.c に出力される。
    432                      #define TNUM_UDP_CEPID <UDP通信端点数>
    433 
    434          ã€UDP 通信端点 ID の最大値の変数の定義】
    435                  UDP 通信端点 ID の最大値の変数を定義であり、
    436                tinet_cfg.c に出力される。
     396         【パラメータ】
     397                 パラメータについては、myipaddr で指定する IP アドレス
     398               は IPv6 であり、 IPv4 の IP_ADDRANY の代わりに、IPv6 で
     399               は IPV6_ADDRANY を指定できる。これ以外は、 ITRON TCP/IP
     400               API 仕様と同じであり、実装依存の TCP 受付口属性はない。
     401         【UDP 通信端点数の定義】
     402                 UDP 通信端点数を定義するプリプロセッサディレクティブ
     403               であり、tinet_cfg.c に出力される。
     404                     #define TNUM_UDP_CEPID <UDP通信端点数>
     405
     406         【UDP 通信端点 ID の最大値の変数の定義】
     407                 UDP 通信端点 ID の最大値の変数を定義であり、
     408               tinet_cfg.c に出力される。
    437409                     const ID tmax_udp_cepid =
    438410                              (TMIN_UDP_CEPID + TNUM_UDP_CEPID - 1);
    439411
    440    (7)   TCP 受付口の予約 ID(IPv4、TINET 独自)
    441          ã€é™çš„ API】
     412   (7)   TCP 受付口の予約 ID(IPv4、TINET 独自)
     413         【静的 API】
    442414               VRID_TCP_REP(ID repid);
    443415
    444          ã€ãƒ‘ラメータ】
    445                ID        repid     äºˆç´„するTCP受付口ID
    446 
    447    (8)   TCP 通信端点の予約 ID(IPv4、TINET 独自)
    448          ã€é™çš„ API】
     416         【パラメータ】
     417               ID        repid     予約するTCP受付口ID
     418
     419   (8)   TCP 通信端点の予約 ID(IPv4、TINET 独自)
     420         【静的 API】
    449421               VRID_TCP_CEP(ID cepid);
    450422
    451          ã€ãƒ‘ラメータ】
    452                ID        repid     äºˆç´„するTCP通信端点ID
    453 
    454    (9)   UDP 通信端点の予約 ID(IPv4、TINET 独自)
    455          ã€é™çš„ API】
     423         【パラメータ】
     424               ID        repid     予約するTCP通信端点ID
     425
     426   (9)   UDP 通信端点の予約 ID(IPv4、TINET 独自)
     427         【静的 API】
    456428               VRID_UDP_CEP(ID cepid);
    457429
    458          ã€ãƒ‘ラメータ】
    459                ID        repid     äºˆç´„するUDP通信端点ID
    460 
    461    (10)  TCP 受付口の予約 ID(IPv6、TINET 独自)
    462          ã€é™çš„ API】
     430         【パラメータ】
     431               ID        repid     予約するUDP通信端点ID
     432
     433   (10)  TCP 受付口の予約 ID(IPv6、TINET 独自)
     434         【静的 API】
    463435               VRID_TCP6_REP(ID repid);
    464436
    465          ã€ãƒ‘ラメータ】
    466                ID        repid     äºˆç´„するTCP受付口ID
    467 
    468    (11)  TCP 通信端点の予約 ID(IPv6、TINET 独自)
    469          ã€é™çš„ API】
     437         【パラメータ】
     438               ID        repid     予約するTCP受付口ID
     439
     440   (11)  TCP 通信端点の予約 ID(IPv6、TINET 独自)
     441         【静的 API】
    470442               VRID_TCP6_CEP(ID cepid);
    471443
    472          ã€ãƒ‘ラメータ】
    473                ID        repid     äºˆç´„するTCP通信端点ID
    474 
    475    (12)  UDP 通信端点の予約 ID(IPv6、TINET 独自)
    476          ã€é™çš„ API】
     444         【パラメータ】
     445               ID        repid     予約するTCP通信端点ID
     446
     447   (12)  UDP 通信端点の予約 ID(IPv6、TINET 独自)
     448         【静的 API】
    477449               VRID_UDP6_CEP(ID cepid);
    478450
    479          ã€ãƒ‘ラメータ】
    480                ID        repid     äºˆç´„するUDP通信端点ID
    481 
    482 4.  ITRON TCP/IP API 拡張機能
    483 
    484   TINET リリース 1.3 までは、ITRON TCP/IP API の標準機能のみに対応して
    485 ã„たが、 リリース 1.4 からは、拡張機能にも対応した。ただし、応用プログ
    486 ãƒ©ãƒ ã‹ã‚‰ä½¿ç”¨ã™ã‚‹å ´åˆã¯ã€ä»¥ä¸‹ã«ç¤ºã™ã‚³ãƒ³ãƒ‘イル時コンフィギュレーションパ
    487 ãƒ©ãƒ¡ãƒ¼ã‚¿ã‚’指定しなければならない。
     451         【パラメータ】
     452               ID        repid     予約するUDP通信端点ID
     453
     4544.  ITRON TCP/IP API 拡張機能
     455
     456  TINET リリース 1.3 までは、ITRON TCP/IP API の標準機能のみに対応して
     457いたが、 リリース 1.4 からは、拡張機能にも対応した。ただし、応用プログ
     458ラムから使用する場合は、以下に示すコンパイル時コンフィギュレーションパ
     459ラメータを指定しなければならない。
    488460
    489461   (1)   TCP_CFG_EXTENTIONS
    490          ITRON TCP/IP API の TCP の拡張機能を有効にする。
     462         ITRON TCP/IP API の TCP の拡張機能を有効にする。
    491463
    492464   (2)   UDP_CFG_EXTENTIONS
    493          ITRON TCP/IP API の UDP の拡張機能を有効にする。
    494 
    495 4. 1  TCP の ITRON TCP/IP API 拡張機能
    496 
    497   TCP_CFG_EXTENTIONS を指定することにより使用可能となる API を以下に示
    498 ã™ã€‚
    499 
    500    ãƒ»TCP 受付口の予約 ID【静的 API、VRID_TCP_REP】(IPv4、TINET 独自)
    501    ãƒ»TCP 受付口の予約 ID【静的 API、VRID_TCP6_REP】(IPv6、TINET 独自)
    502    ãƒ»TCP 通信端点の予約 ID【静的 API、VRID_TCP_CEP】(IPv4、TINET 独自)
    503    ãƒ»TCP 通信端点の予約 ID【静的 API、 VRID_TCP6_CEP】(IPv6、TINET 独自)
    504    ãƒ»TCP 受付口の生成【動的 API、tcp_cre_rep】(IPv4)
    505    ãƒ»TCP 受付口の生成【動的 API、tcp6_cre_rep】(IPv6、TINET 独自)
    506    ãƒ»TCP 受付口の削除【動的 API、tcp_del_rep】
    507    ãƒ»TCP 通信端点の生成【動的 API、tcp_cre_cep】
    508    ãƒ»TCP 通信端点の削除【動的 API、tcp_del_cep】
    509    ãƒ»ç·Šæ€¥ãƒ‡ãƒ¼ã‚¿ã®é€ä¿¡ã€tcp_snd_oob】
    510    ãƒ»ç·Šæ€¥ãƒ‡ãƒ¼ã‚¿ã®å—信【tcp_rcv_oob】
    511    ãƒ»TCP 通信端点オプションの設定【tcp_set_opt】
    512    ãƒ»TCP 通信端点オプションの読出し【tcp_get_opt】
    513    ãƒ»ç·Šæ€¥ãƒ‡ãƒ¼ã‚¿å—信【コールバック、TEV_TCP_RCV_OOB】
    514 
    515    (1)   TCP 受付口の生成と削除
    516            ã“の機能により、1 個の TCP 受付口を複数のタスクでå
    517 ±æœ‰ã™ã‚‹ã“
    518          ã¨ãŒã§ãã‚‹ã€‚ただし、1 回に使用できるのは 1 個のタスクに限定さ
    519          ã‚Œã‚‹ã€‚ 以下に標準的な使用方法を述べる。 なお、 ç
    520 ©é›‘になるため
    521          IPv6 に関しての説明は、一部省略している。
    522 
    523          [1]   TCP 受付口の予約 ID【静的 API、 VRID_TCP_REP、
    524                VRID_TCP6_REP】により、TCP 受付口 ID を予約する。
    525 
    526                VRID_TCP_REP の書式を以下に示す。
     465         ITRON TCP/IP API の UDP の拡張機能を有効にする。
     466
     4674. 1  TCP の ITRON TCP/IP API 拡張機能
     468
     469  TCP_CFG_EXTENTIONS を指定することにより使用可能となる API を以下に示
     470す。
     471
     472   ・TCP 受付口の予約 ID【静的 API、VRID_TCP_REP】(IPv4、TINET 独自)
     473   ・TCP 受付口の予約 ID【静的 API、VRID_TCP6_REP】(IPv6、TINET 独自)
     474   ・TCP 通信端点の予約 ID【静的 API、VRID_TCP_CEP】(IPv4、TINET 独自)
     475   ・TCP 通信端点の予約 ID【静的 API、 VRID_TCP6_CEP】(IPv6、TINET 独自)
     476   ・TCP 受付口の生成【動的 API、tcp_cre_rep】(IPv4)
     477   ・TCP 受付口の生成【動的 API、tcp6_cre_rep】(IPv6、TINET 独自)
     478   ・TCP 受付口の削除【動的 API、tcp_del_rep】
     479   ・TCP 通信端点の生成【動的 API、tcp_cre_cep】
     480   ・TCP 通信端点の削除【動的 API、tcp_del_cep】
     481   ・緊急データの送信【tcp_snd_oob】
     482   ・緊急データの受信【tcp_rcv_oob】
     483   ・TCP 通信端点オプションの設定【tcp_set_opt】
     484   ・TCP 通信端点オプションの読出し【tcp_get_opt】
     485   ・緊急データ受信【コールバック、TEV_TCP_RCV_OOB】
     486
     487   (1)   TCP 受付口の生成と削除
     488           この機能により、1 個の TCP 受付口を複数のタスクで共有するこ
     489         とができる。ただし、1 回に使用できるのは 1 個のタスクに限定さ
     490         れる。 以下に標準的な使用方法を述べる。 なお、 煩雑になるため
     491         IPv6 に関しての説明は、一部省略している。
     492
     493         [1]   TCP 受付口の予約 ID【静的 API、 VRID_TCP_REP、
     494               VRID_TCP6_REP】により、TCP 受付口 ID を予約する。
     495
     496               VRID_TCP_REP の書式を以下に示す。
    527497
    528498                  VRID_TCP_REP(ID repid);
    529499
    530                ãƒ‘ラメータ repid は予約する TCP 受付口 ID であり、 一般
    531                çš„には、 TINET コンフィグレーションファイルに以下のよう
    532                ã«æŒ‡å®šã™ã‚‹ã€‚
     500               パラメータ repid は予約する TCP 受付口 ID であり、 一般
     501               的には、 TINET コンフィグレーションファイルに以下のよう
     502               に指定する。
    533503
    534504                  VRID_TCP_REP (TCP_RSV_REPID1);
    535505
    536                ã“れにより、 TCP 受付口用のメモリ領域が確保され、 TINET
    537                å†
    538 éƒ¨ã§ä½¿ç”¨ã™ã‚‹ã‚«ãƒ¼ãƒãƒ«ã‚ªãƒ–ジェクトの ID 自動割付結果ファ
    539                ã‚¤ãƒ«ï¼ˆTOPPERS/ASP は tinet_cfg.h、 TOPPERS/JSP は
    540                tinet_id.h)に、 対応するマクロ定義が以下のように出力される。
     506               これにより、 TCP 受付口用のメモリ領域が確保され、 TINET
     507               内部で使用するカーネルオブジェクトの ID 自動割付結果ファ
     508               イル(TOPPERS/ASP は tinet_cfg.h、 TOPPERS/JSP は
     509               tinet_id.h)に、 対応するマクロ定義が以下のように出力される。
    541510
    542511                  #define TCP_RSV_REPID1  1
    543512
    544          [2]   TCP 受付口の生成【動的 API、tcp_cre_rep、tcp6_cre_rep】
    545                ã«ã‚ˆã‚Šã€TCP 受付口を生成する。
    546 
    547                ã¾ãšã€TCP 受付口生成æƒ
    548 å ±æ§‹é€ ä½“にæƒ
    549 å ±ã‚’設定する。IPv4 の
    550                å ´åˆã®ä¾‹ã‚’以下に示す。
     513         [2]   TCP 受付口の生成【動的 API、tcp_cre_rep、tcp6_cre_rep】
     514               により、TCP 受付口を生成する。
     515
     516               まず、TCP 受付口生成情報構造体に情報を設定する。IPv4 の
     517               場合の例を以下に示す。
    551518
    552519                  T_TCP_CREP crep;
     
    555522                  crep.myaddr.ipaddr = IPV4_ADDRANY;
    556523
    557                ã¾ãŸ IPv6 の場合の例を以下に示す。
     524               また IPv6 の場合の例を以下に示す。
    558525
    559526                  T_TCP6_CREP crep;
     
    562529                  memcpy(&crep.myaddr.ipaddr, &ipv6_addrany, sizeof(T_IN6_ADDR));
    563530
    564                ã„ずれも、 受付ける自分の IP アドレスは規定値(å
    565 ¨ã¦ï¼‰ã§ã‚る。
    566                  æ¬¡ã«ã€tcp_cre_rep の書式を示す。
     531               いずれも、 受付ける自分の IP アドレスは規定値(全て)である。
     532                 次に、tcp_cre_rep の書式を示す。
    567533
    568534                  ER ercd = tcp_cre_rep(ID repid, T_TCP_CREP *pk_crep);
    569535
    570                ãƒ‘ラメータ repid には [1] で予約した TCP 受付口 ID を指
    571                å®šã—、pk_crep には上記で設定済みの TCP 受付口生成æƒ
    572 å ±ã¸
    573                ã®ãƒã‚¤ãƒ³ã‚¿ã‚’指定する。一般的な例を以下に示す。
     536               パラメータ repid には [1] で予約した TCP 受付口 ID を指
     537               定し、pk_crep には上記で設定済みの TCP 受付口生成情報へ
     538               のポインタを指定する。一般的な例を以下に示す。
    574539
    575540                  ercd = tcp_cre_rep(TCP_RSV_REPID1, &crep);
    576541
    577                ã“れにより、 VRID_TCP_REP で確保された TCP 受付口用のメ
    578                ãƒ¢ãƒªé ˜åŸŸã« TCP 受付口生成æƒ
    579 å ±ãŒæ›¸è¾¼ã¾ã‚Œã‚‹ã€‚
    580 
    581          [3]   æŽ¥ç¶šè¦æ±‚å¾
    582 ã¡ï¼ˆå—動オープン)【tcp_acp_cep、tcp6_acp_cep】
    583                ã«ã‚ˆã‚Šã€æŽ¥ç¶šè¦æ±‚å¾
    584 ã¡ï¼ˆå—動オープン)する。
    585 
    586                tcp_acp_cep の書式を示す。
     542               これにより、 VRID_TCP_REP で確保された TCP 受付口用のメ
     543               モリ領域に TCP 受付口生成情報が書込まれる。
     544
     545         [3]   接続要求待ち(受動オープン)【tcp_acp_cep、tcp6_acp_cep】
     546               により、接続要求待ち(受動オープン)する。
     547
     548               tcp_acp_cep の書式を示す。
    587549
    588550                  ER ercd = tcp_acp_cep(ID cepid, ID repid,
    589551                                        T_IPV4EP *p_dstaddr, TMO tmout);
    590552
    591                ãƒ‘ラメータ repid に [1] で予約した TCP 受付口 ID を指定
    592                ã™ã‚‹ä»¥å¤–は、 通常の呼び出しと同じである。
    593 
    594          [4]   TCP 受付口の削除【動的 API、tcp_del_rep】により、TCP 受
    595                ä»˜å£ã‚’削除する。
    596 
    597                  é€šå¸¸ã¯ã€ 接続要求å¾
    598 ã¡ï¼ˆå—動オープン)が終了した後に、
    599                TCP 受付口を削除するが、 接続要求å¾
    600 ã¡ï¼ˆå—動オープン)中
    601                ã«ã€tcp_del_cep により、 TCP 通信端点を削除することも可
    602                èƒ½ã§ã‚る。 この場合、tcp_acp_cep の戻り値には、E_DLT が
    603                è¿”される。TCP 受付口を削除すると、 他のタスクが同じ TCP
    604                å—付口 ID を利用できる。tcp_del_rep の書式を示す。
     553               パラメータ repid に [1] で予約した TCP 受付口 ID を指定
     554               する以外は、 通常の呼び出しと同じである。
     555
     556         [4]   TCP 受付口の削除【動的 API、tcp_del_rep】により、TCP 受
     557               付口を削除する。
     558
     559                 通常は、 接続要求待ち(受動オープン)が終了した後に、
     560               TCP 受付口を削除するが、 接続要求待ち(受動オープン)中
     561               に、tcp_del_cep により、 TCP 通信端点を削除することも可
     562               能である。 この場合、tcp_acp_cep の戻り値には、E_DLT が
     563               返される。TCP 受付口を削除すると、 他のタスクが同じ TCP
     564               受付口 ID を利用できる。tcp_del_rep の書式を示す。
    605565
    606566                  ER ercd = tcp_del_rep(ID cepid);
    607567
    608                ãƒ‘ラメータ repid には [1] で予約した TCP 受付口 ID を指
    609                å®šã™ã‚‹ã€‚
    610 
    611    (2)   TCP 通信端点の生成と削除
    612            ã“の機能により、1 個の TCP 通信端点を複数のタスクでå
    613 ±æœ‰ã™ã‚‹
    614          ã“とができる。ただし、1 回に使用できるのは 1 個のタスクに限定
    615          ã•ã‚Œã‚‹ã€‚ 以下に標準的な使用方法を述べる。なお、ç
    616 ©é›‘になるため
    617          IPv6 に関しての説明は、一部省略している。
    618 
    619          [1]   TCP 通信端点の予約 ID【静的 API、 VRID_TCP_CEP、
    620                VRID_TCP6_CEP】により、TCP 通信端点 ID を予約する。
    621 
    622                VRID_TCP_CEP の書式を以下に示す。
     568               パラメータ repid には [1] で予約した TCP 受付口 ID を指
     569               定する。
     570
     571   (2)   TCP 通信端点の生成と削除
     572           この機能により、1 個の TCP 通信端点を複数のタスクで共有する
     573         ことができる。ただし、1 回に使用できるのは 1 個のタスクに限定
     574         される。 以下に標準的な使用方法を述べる。なお、煩雑になるため
     575         IPv6 に関しての説明は、一部省略している。
     576
     577         [1]   TCP 通信端点の予約 ID【静的 API、 VRID_TCP_CEP、
     578               VRID_TCP6_CEP】により、TCP 通信端点 ID を予約する。
     579
     580               VRID_TCP_CEP の書式を以下に示す。
    623581
    624582                  VRID_TCP_CEP(ID cepid);
    625583
    626                ãƒ‘ラメータ cepid は予約する TCP 通信端点 ID であり、 一
    627                èˆ¬çš„には、 TINET コンフィグレーションファイルに以下のよ
    628                ã†ã«æŒ‡å®šã™ã‚‹ã€‚
     584               パラメータ cepid は予約する TCP 通信端点 ID であり、 一
     585               般的には、 TINET コンフィグレーションファイルに以下のよ
     586               うに指定する。
    629587
    630588                  VRID_TCP_CEP (TCP_RSV_CEPID1);
    631589
    632                ã“れにより、TCP 通信端点用のメモリ領域が確保され、TINET
    633                å†
    634 éƒ¨ã§ä½¿ç”¨ã™ã‚‹ã‚«ãƒ¼ãƒãƒ«ã‚ªãƒ–ジェクトの ID 自動割付結果ファ
    635                ã‚¤ãƒ«ï¼ˆTOPPERS/ASP は tinet_cfg.h、 TOPPERS/JSP は
    636                tinet_id.h)に、 対応するマクロ定義が以下のように出力される。
     590               これにより、TCP 通信端点用のメモリ領域が確保され、TINET
     591               内部で使用するカーネルオブジェクトの ID 自動割付結果ファ
     592               イル(TOPPERS/ASP は tinet_cfg.h、 TOPPERS/JSP は
     593               tinet_id.h)に、 対応するマクロ定義が以下のように出力される。
    637594
    638595                  #define TCP_RSV_CEPID1  1
    639596
    640          [2]   TCP 通信端点の生成【動的 API、 tcp_cre_cep】により、TCP
    641                é€šä¿¡ç«¯ç‚¹ã‚’生成する。
    642 
    643                ã¾ãšã€TCP 通信端点生成æƒ
    644 å ±æ§‹é€ ä½“にæƒ
    645 å ±ã‚’設定する。 一般
    646                çš„な例を以下に示す。
     597         [2]   TCP 通信端点の生成【動的 API、 tcp_cre_cep】により、TCP
     598               通信端点を生成する。
     599
     600               まず、TCP 通信端点生成情報構造体に情報を設定する。 一般
     601               的な例を以下に示す。
    647602
    648603                  T_TCP_CCEP ccep;
     
    654609                  ccep.callback = (FP)callback_nblk_tcp_echo_srv;
    655610
    656                æ¬¡ã«ã€tcp_cre_cep の書式を示す。
     611               次に、tcp_cre_cep の書式を示す。
    657612
    658613                  ER ercd = tcp_cre_cep(ID cepid, T_TCP_CCEP *pk_ccep);
    659614
    660                ãƒ‘ラメータ cepid には [1] で予約した TCP 通信端点 ID を
    661                æŒ‡å®šã—、pk_ccep には上記で設定済みの TCP 通信端点生成æƒ
    662 
    663                å ±ã¸ã®ãƒã‚¤ãƒ³ã‚¿ã‚’指定する。 一般的な例を以下に示す。
     615               パラメータ cepid には [1] で予約した TCP 通信端点 ID を
     616               指定し、pk_ccep には上記で設定済みの TCP 通信端点生成情
     617               報へのポインタを指定する。 一般的な例を以下に示す。
    664618
    665619                  ercd = tcp_cre_cep(TCP_RSV_CEPID1, &ccep);
    666620
    667                ã“れにより、 VRID_TCP_CEP で確保された TCP 通信端点用の
    668                ãƒ¡ãƒ¢ãƒªé ˜åŸŸã« TCP 通信端点生成æƒ
    669 å ±ãŒæ›¸è¾¼ã¾ã‚Œã‚‹ã€‚
    670                  ã“の後、TCP の各 API のパラメータ cepid に [1] で予約
    671                ã—た TCP 通信端点 ID を指定する以外は、 通常の TCP 通信
    672                ç«¯ç‚¹ã¨åŒã˜ã‚ˆã†ã«ä½¿ç”¨ã§ãã‚‹ã€‚
    673 
    674          [3]   TCP 通信端点の削除【動的 API、tcp_del_cep】により、 TCP
    675                é€šä¿¡ç«¯ç‚¹ã‚’削除する。
    676 
    677                  tcp_cls_cep を呼び出すまでは、 TCP 通信端点を削除でき
    678                ãªã„が、tcp_cls_cep の後は TCP 通信端点を削除でき、他の
    679                ã‚¿ã‚¹ã‚¯ãŒåŒã˜ TCP 通信端点 ID を利用できる。 tcp_del_cep
    680                ã®æ›¸å¼ã‚’示す。
     621               これにより、 VRID_TCP_CEP で確保された TCP 通信端点用の
     622               メモリ領域に TCP 通信端点生成情報が書込まれる。
     623                 この後、TCP の各 API のパラメータ cepid に [1] で予約
     624               した TCP 通信端点 ID を指定する以外は、 通常の TCP 通信
     625               端点と同じように使用できる。
     626
     627         [3]   TCP 通信端点の削除【動的 API、tcp_del_cep】により、 TCP
     628               通信端点を削除する。
     629
     630                 tcp_cls_cep を呼び出すまでは、 TCP 通信端点を削除でき
     631               ないが、tcp_cls_cep の後は TCP 通信端点を削除でき、他の
     632               タスクが同じ TCP 通信端点 ID を利用できる。 tcp_del_cep
     633               の書式を示す。
    681634
    682635                  ER ercd = tcp_del_cep(ID cepid);
    683636
    684                ãƒ‘ラメータ cepid には [1] で予約した TCP 通信端点 ID を
    685                æŒ‡å®šã™ã‚‹ã€‚
    686 
    687    (3)   ç·Šæ€¥ãƒ‡ãƒ¼ã‚¿ã®é€å—ä¿¡
    688 
    689          [1]   ç·Šæ€¥ãƒ‡ãƒ¼ã‚¿ã®é€ä¿¡ã€tcp_snd_oob】
    690 
    691                tcp_snd_oob の書式を以下に示す。
     637               パラメータ cepid には [1] で予約した TCP 通信端点 ID を
     638               指定する。
     639
     640   (3)   緊急データの送受信
     641
     642         [1]   緊急データの送信【tcp_snd_oob】
     643
     644               tcp_snd_oob の書式を以下に示す。
    692645
    693646                  ER_UINT ercd = tcp_snd_oob(ID cepid, void *data, int_t len, TMO tmout);
    694647
    695                ãªãŠã€ 以下に示すような制約がある。
    696 
    697                ãƒ»ç·Šæ€¥ãƒ‡ãƒ¼ã‚¿ã ã‹ã‚‰ã¨ã„って、 すでに送信ウィンドバッファ
    698                  ã«ã‚る通常のデータよりå
    699 ˆã«é€ä¿¡ã•ã‚Œã‚‹ã‚ã‘ではない。
    700                ãƒ»tcp_snd_oob で、複数バイトのデータを送信しても(len >
    701                  1)、受信側で受信できるのは、送信した data の最後の 1
    702                  ãƒã‚¤ãƒˆã®ã¿ã§ã‚る。また、 これより前のデータは通常のデー
    703                  ã‚¿ã¨ã—て受信される。
    704 
    705          [2]   ç·Šæ€¥ãƒ‡ãƒ¼ã‚¿ã®å—信【tcp_rcv_oob】
    706 
    707                tcp_rcv_oob の書式を以下に示す。
     648               なお、 以下に示すような制約がある。
     649
     650               ・緊急データだからといって、 すでに送信ウィンドバッファ
     651                 にある通常のデータより先に送信されるわけではない。
     652               ・tcp_snd_oob で、複数バイトのデータを送信しても(len >
     653                 1)、受信側で受信できるのは、送信した data の最後の 1
     654                 バイトのみである。また、 これより前のデータは通常のデー
     655                 タとして受信される。
     656
     657         [2]   緊急データの受信【tcp_rcv_oob】
     658
     659               tcp_rcv_oob の書式を以下に示す。
    708660
    709661                  ER_UINT ercd = tcp_rcv_oob(ID cepid, void *data, int_t len);
    710662
    711                ãªãŠã€ 以下に示すような制約がある。
    712 
    713                ãƒ»ç·Šæ€¥ãƒ‡ãƒ¼ã‚¿å—信のコールバック関数å†
    714 ã§å‘¼ã³å‡ºã™ã“とを想
    715                  å®šã—ている。
    716                ãƒ»å—信できるのは、緊急データの最後の 1 バイトのみである。
    717                  å¾“って、正常に tcp_rcv_oob から戻ってきた時の戻り値は、
    718                  å¸¸ã« 1 である。
    719 
    720          [3]   ç·Šæ€¥ãƒ‡ãƒ¼ã‚¿å—信【コールバック、TEV_TCP_RCV_OOB】
    721                  ç·Šæ€¥ãƒ‡ãƒ¼ã‚¿ã‚’受信した時、 TCP 通信端点に指定されている
    722                ã‚³ãƒ¼ãƒ«ãƒãƒƒã‚¯é–¢æ•°ã‚’呼び出す。 この時の事象の種類が
    723                TEV_TCP_RCV_OOB である。ただし、 TCP 通信端点にコールバッ
    724                ã‚¯é–¢æ•°ãŒæŒ‡å®šã•ã‚Œã¦ã„ない場合、 または、コールバック関数
    725                å†
    726 ã§ tcp_rcv_oob が呼び出されなければ、受信した緊急デー
    727                ã‚¿ã¯é€šå¸¸ã®ãƒ‡ãƒ¼ã‚¿ã¨ã—て受信する。
    728 
    729          [4]   ã‚³ãƒ³ãƒ‘イル時コンフィギュレーションパラメータ
     663               なお、 以下に示すような制約がある。
     664
     665               ・緊急データ受信のコールバック関数内で呼び出すことを想
     666                 定している。
     667               ・受信できるのは、緊急データの最後の 1 バイトのみである。
     668                 従って、正常に tcp_rcv_oob から戻ってきた時の戻り値は、
     669                 常に 1 である。
     670
     671         [3]   緊急データ受信【コールバック、TEV_TCP_RCV_OOB】
     672                 緊急データを受信した時、 TCP 通信端点に指定されている
     673               コールバック関数を呼び出す。 この時の事象の種類が
     674               TEV_TCP_RCV_OOB である。ただし、 TCP 通信端点にコールバッ
     675               ク関数が指定されていない場合、 または、コールバック関数
     676               内で tcp_rcv_oob が呼び出されなければ、受信した緊急デー
     677               タは通常のデータとして受信する。
     678
     679         [4]   コンパイル時コンフィギュレーションパラメータ
    730680
    731681                  TCP_CFG_URG_OFFSET
    732682
    733                ç·Šæ€¥ãƒ‡ãƒ¼ã‚¿ã®æœ€å¾Œã®ãƒã‚¤ãƒˆã®ã‚ªãƒ•ã‚»ãƒƒãƒˆã€ 値が -1 の場合は
    734                BSD の実è£
    735 ã¨åŒã˜ã§ã€ 緊急ポインタは、緊急データの最後の
    736                ãƒã‚¤ãƒˆã®æ¬¡ã®ãƒã‚¤ãƒˆã‚’差す。 値が 0 の場合は RFC1122 の規
    737                å®šã¨åŒã˜ã§ã€ 緊急ポインタは、緊急データの最後のバイトを
    738                å·®ã™ã€‚既定値は -1 である。
    739 
    740    (4)   TCP 通信端点オプションの設定と読出し
    741            è¨­å®šå¯èƒ½ãª TCP 通信端点オプションは無いため、どちらの関数も
    742          æˆ»ã‚Šå€¤ã¨ã—て E_PAR が返される。
    743 
    744 4. 2  UDP の ITRON TCP/IP API 拡張機能
    745 
    746   UDP_CFG_EXTENTIONS を指定することにより使用可能となる API を以下に示
    747 ã™ã€‚
    748 
    749    ãƒ»UDP 通信端点の予約 ID【静的 API、VRID_UDP_CEP】(IPv4、TINET 独自)
    750    ãƒ»UDP 通信端点の予約 ID【静的 API、VRID_UDP6_CEP】(IPv6、TINET 独自)
    751    ãƒ»UDP 通信端点の生成【動的 API、udp_cre_cep】(IPv4)
    752    ãƒ»UDP 通信端点の生成【動的 API、udp6_cre_cep】(IPv6、TINET 独自)
    753    ãƒ»UDP 通信端点の削除【動的 API、udp_del_cep】
    754    ãƒ»UDP 通信端点オプションの設定【udp_set_opt】
    755    ãƒ»UDP 通信端点オプションの読出し【udp_get_opt】
    756 
    757    (1)   UDP 通信端点の生成と削除
    758            ã“の機能により、1 個の UDP 通信端点を複数のタスクでå
    759 ±æœ‰ã™ã‚‹
    760          ã“とができる。ただし、1 回に使用できるのは 1 個のタスクに限定
    761          ã•ã‚Œã‚‹ã€‚ 以下に標準的な使用方法を述べる。なお、ç
    762 ©é›‘になるため
    763          IPv6 に関しての説明は、一部省略している。
    764 
    765          [1]   UDP 通信端点の予約 ID【静的 API、 VRID_UDP_CEP、
    766                VRID_UDP6_CEP】により、UDP 通信端点 ID を予約する。
    767 
    768                VRID_UDP_CEP の書式を以下に示す。
     683               緊急データの最後のバイトのオフセット、 値が -1 の場合は
     684               BSD の実装と同じで、 緊急ポインタは、緊急データの最後の
     685               バイトの次のバイトを差す。 値が 0 の場合は RFC1122 の規
     686               定と同じで、 緊急ポインタは、緊急データの最後のバイトを
     687               差す。既定値は -1 である。
     688
     689   (4)   TCP 通信端点オプションの設定と読出し
     690           設定可能な TCP 通信端点オプションは無いため、どちらの関数も
     691         戻り値として E_PAR が返される。
     692
     6934. 2  UDP の ITRON TCP/IP API 拡張機能
     694
     695  UDP_CFG_EXTENTIONS を指定することにより使用可能となる API を以下に示
     696す。
     697
     698   ・UDP 通信端点の予約 ID【静的 API、VRID_UDP_CEP】(IPv4、TINET 独自)
     699   ・UDP 通信端点の予約 ID【静的 API、VRID_UDP6_CEP】(IPv6、TINET 独自)
     700   ・UDP 通信端点の生成【動的 API、udp_cre_cep】(IPv4)
     701   ・UDP 通信端点の生成【動的 API、udp6_cre_cep】(IPv6、TINET 独自)
     702   ・UDP 通信端点の削除【動的 API、udp_del_cep】
     703   ・UDP 通信端点オプションの設定【udp_set_opt】
     704   ・UDP 通信端点オプションの読出し【udp_get_opt】
     705
     706   (1)   UDP 通信端点の生成と削除
     707           この機能により、1 個の UDP 通信端点を複数のタスクで共有する
     708         ことができる。ただし、1 回に使用できるのは 1 個のタスクに限定
     709         される。 以下に標準的な使用方法を述べる。なお、煩雑になるため
     710         IPv6 に関しての説明は、一部省略している。
     711
     712         [1]   UDP 通信端点の予約 ID【静的 API、 VRID_UDP_CEP、
     713               VRID_UDP6_CEP】により、UDP 通信端点 ID を予約する。
     714
     715               VRID_UDP_CEP の書式を以下に示す。
    769716
    770717                  VRID_UDP_CEP(ID cepid);
    771718
    772                ãƒ‘ラメータ cepid は予約する UDP 通信端点 ID であり、 一
    773                èˆ¬çš„には、 TINET コンフィグレーションファイルに以下のよ
    774                ã†ã«æŒ‡å®šã™ã‚‹ã€‚
     719               パラメータ cepid は予約する UDP 通信端点 ID であり、 一
     720               般的には、 TINET コンフィグレーションファイルに以下のよ
     721               うに指定する。
    775722
    776723                  VRID_UDP_CEP (UDP_RSV_CEPID1);
    777724
    778                ã“れにより、UDP 通信端点用のメモリ領域が確保され、TINET
    779                å†
    780 éƒ¨ã§ä½¿ç”¨ã™ã‚‹ã‚«ãƒ¼ãƒãƒ«ã‚ªãƒ–ジェクトの ID 自動割付結果ファ
    781                ã‚¤ãƒ«ï¼ˆTOPPERS/ASP は tinet_cfg.h、 TOPPERS/JSP は
    782                tinet_id.h)に、 対応するマクロ定義が以下のように出力される。
     725               これにより、UDP 通信端点用のメモリ領域が確保され、TINET
     726               内部で使用するカーネルオブジェクトの ID 自動割付結果ファ
     727               イル(TOPPERS/ASP は tinet_cfg.h、 TOPPERS/JSP は
     728               tinet_id.h)に、 対応するマクロ定義が以下のように出力される。
    783729
    784730                  #define UDP_RSV_CEPID1  1
    785731
    786          [2]   UDP 通信端点の生成【動的 API、 udp_cre_cep】により、UDP
    787                é€šä¿¡ç«¯ç‚¹ã‚’生成する。
    788 
    789                ã¾ãšã€UDP 通信端点生成æƒ
    790 å ±æ§‹é€ ä½“にæƒ
    791 å ±ã‚’設定する。 通信
    792                ç›¸æ‰‹ã‹ã‚‰ã®ãƒ‡ãƒ¼ã‚¿ã®å—ä¿¡ã‚’å¾
    793 ã¤å¿œç”¨ã‚¢ãƒ—リケーションで、
    794                IPv4 の場合の例を以下に示す。
     732         [2]   UDP 通信端点の生成【動的 API、 udp_cre_cep】により、UDP
     733               通信端点を生成する。
     734
     735               まず、UDP 通信端点生成情報構造体に情報を設定する。 通信
     736               相手からのデータの受信を待つ応用アプリケーションで、
     737               IPv4 の場合の例を以下に示す。
    795738
    796739                  T_UDP_CCEP ccep;
     
    799742                  ccep.myaddr.ipaddr = IPV4_ADDRANY;
    800743
    801                ã¾ãŸ IPv6 の場合の例を以下に示す。
     744               また IPv6 の場合の例を以下に示す。
    802745
    803746                  T_UDP_CCEP ccep;
     
    806749                  memcpy(&ccep.myaddr.ipaddr, &ipv6_addrany, sizeof(T_IN6_ADDR));
    807750
    808                ã„ずれも、 受付ける自分の IP アドレスは規定値(å
    809 ¨ã¦ï¼‰ã§ã‚る。
    810                  æ¬¡ã«ã€udp_cre_cep の書式を示す。
     751               いずれも、 受付ける自分の IP アドレスは規定値(全て)である。
     752                 次に、udp_cre_cep の書式を示す。
    811753
    812754                  ER ercd = udp_cre_cep(ID cepid, T_UDP_CCEP *pk_ccep);
    813755
    814                ãƒ‘ラメータ cepid には [1] で予約した UDP 通信端点 ID を
    815                æŒ‡å®šã—、pk_ccep には上記で設定済みの UDP 通信端点生成æƒ
    816 
    817                å ±ã¸ã®ãƒã‚¤ãƒ³ã‚¿ã‚’指定する。 一般的な例を以下に示す。
     756               パラメータ cepid には [1] で予約した UDP 通信端点 ID を
     757               指定し、pk_ccep には上記で設定済みの UDP 通信端点生成情
     758               報へのポインタを指定する。 一般的な例を以下に示す。
    818759
    819760                  ercd = udp_cre_cep(UDP_RSV_CEPID1, &ccep);
    820761
    821                ã“れにより、 VRID_UDP_CEP で確保された UDP 通信端点用の
    822                ãƒ¡ãƒ¢ãƒªé ˜åŸŸã« UDP 通信端点生成æƒ
    823 å ±ãŒæ›¸è¾¼ã¾ã‚Œã‚‹ã€‚
    824                  ã“の後、UDP の各 API のパラメータ cepid に [1] で予約
    825                ã—た UDP 通信端点 ID を指定する以外は、 通常の UDP 通信
    826                ç«¯ç‚¹ã¨åŒã˜ã‚ˆã†ã«ä½¿ç”¨ã§ãã‚‹ã€‚
    827 
    828          [3]   UDP 通信端点の削除【動的 API、 udp_del_cep】により、UDP
    829                é€šä¿¡ç«¯ç‚¹ã‚’削除する。
    830 
    831                  UDP 通信端点はいつでも削除でき、 他のタスクが同じ UDP
    832                é€šä¿¡ç«¯ç‚¹ ID を利用できる。 なお、udp_snd_dat で送信å¾
    833 ã¡
    834                ã®æ™‚、または、udp_rcv_dat で受信å¾
    835 ã¡ã®æ™‚に、udp_del_cep
    836                ã«ã‚ˆã‚Šã€UDP 通信端点を削除すると、 それぞれの関数の戻り
    837                å€¤ã«ã¯ã€E_DLT が返される。
    838                  æ¬¡ã«ã€udp_del_cep の書式を示す。
     762               これにより、 VRID_UDP_CEP で確保された UDP 通信端点用の
     763               メモリ領域に UDP 通信端点生成情報が書込まれる。
     764                 この後、UDP の各 API のパラメータ cepid に [1] で予約
     765               した UDP 通信端点 ID を指定する以外は、 通常の UDP 通信
     766               端点と同じように使用できる。
     767
     768         [3]   UDP 通信端点の削除【動的 API、 udp_del_cep】により、UDP
     769               通信端点を削除する。
     770
     771                 UDP 通信端点はいつでも削除でき、 他のタスクが同じ UDP
     772               通信端点 ID を利用できる。 なお、udp_snd_dat で送信待ち
     773               の時、または、udp_rcv_dat で受信待ちの時に、udp_del_cep
     774               により、UDP 通信端点を削除すると、 それぞれの関数の戻り
     775               値には、E_DLT が返される。
     776                 次に、udp_del_cep の書式を示す。
    839777
    840778                  ER ercd = udp_del_cep(ID cepid);
    841779
    842                ãƒ‘ラメータ cepid には [1] で予約した UDP 通信端点 ID を
    843                æŒ‡å®šã™ã‚‹ã€‚
    844 
    845    (2)   UDP 通信端点オプションの設定と読出し
    846            è¨­å®šå¯èƒ½ãª TCP 通信端点オプションは無いため、どちらの関数も
    847          æˆ»ã‚Šå€¤ã¨ã—て E_PAR が返される。
    848 
    849 5.  ルーティングの設定
    850 
    851   ルーティングエントリには、静的ルーティングエントリと向け直し(ICMP)
    852 ã«ã‚ˆã‚‹ãƒ«ãƒ¼ãƒ†ã‚£ãƒ³ã‚°ã‚¨ãƒ³ãƒˆãƒªãŒã‚る。
    853   静的ルーティングエントリは、予め決められたルーティングæƒ
    854 å ±ã§ã‚り、ルー
    855 ãƒ†ã‚£ãƒ³ã‚°è¨­å®šãƒ•ã‚¡ã‚¤ãƒ« route_cfg.c のルーティング表エントリé
    856 åˆ—に設定す
    857 ã‚‹ã€‚なお、ディフォルトゲートウェイのみのシンプルなネットワークでは、サ
    858 ãƒ³ãƒ—ルアプリケーション echos の route_cfg.c をそのまま流用できる。
    859   向け直し(ICMP)によるルーティングエントリは、TINET コンフィギュレー
    860 ã‚·ãƒ§ãƒ³ãƒ»ãƒ‘ラメータ定義ファイルで、ルーティング表で予め確保するエントリ
    861 æ•°ã‚’定義し、 ルーティング設定ファイル route_cfg.c のルーティング表エン
    862 ãƒˆãƒªé
    863 åˆ—に、 空のエントリとして確保する。
    864 
    865    (1)   ãƒ«ãƒ¼ãƒ†ã‚£ãƒ³ã‚°è¡¨ã®ã‚¨ãƒ³ãƒˆãƒªæ•°ã®è¨­å®š
    866            ã‚¨ãƒ³ãƒˆãƒªæ•°ã®è¨­å®šã™ã‚‹ãƒžã‚¯ãƒ­ã¯ã€ TINET コンフィギュレーション・
    867          ãƒ‘ラメータ定義ファイルで定義する。
     780               パラメータ cepid には [1] で予約した UDP 通信端点 ID を
     781               指定する。
     782
     783   (2)   UDP 通信端点オプションの設定と読出し
     784           設定可能な TCP 通信端点オプションは無いため、どちらの関数も
     785         戻り値として E_PAR が返される。
     786
     7875.  ルーティングの設定
     788
     789  ルーティングエントリには、静的ルーティングエントリと向け直し(ICMP)
     790によるルーティングエントリがある。
     791  静的ルーティングエントリは、予め決められたルーティング情報であり、ルー
     792ティング設定ファイル route_cfg.c のルーティング表エントリ配列に設定す
     793る。なお、ディフォルトゲートウェイのみのシンプルなネットワークでは、サ
     794ンプルアプリケーション echos の route_cfg.c をそのまま流用できる。
     795  向け直し(ICMP)によるルーティングエントリは、TINET コンフィギュレー
     796ション・パラメータ定義ファイルで、ルーティング表で予め確保するエントリ
     797数を定義し、 ルーティング設定ファイル route_cfg.c のルーティング表エン
     798トリ配列に、 空のエントリとして確保する。
     799
     800   (1)   ルーティング表のエントリ数の設定
     801           エントリ数の設定するマクロは、 TINET コンフィギュレーション・
     802         パラメータ定義ファイルで定義する。
    868803
    869804         [1]   NUM_IN6_STATIC_ROUTE_ENTRY
    870                IPv6 用のルーティング表の静的ルーティングエントリ数を指
    871                å®šã™ã‚‹ã€‚
     805               IPv6 用のルーティング表の静的ルーティングエントリ数を指
     806               定する。
    872807         [2]   NUM_IN6_REDIRECT_ROUTE_ENTRY
    873                IPv6 用のルーティング表で予め確保する、向け直し(ICMP)
    874                ã«ã‚ˆã‚‹ãƒ«ãƒ¼ãƒ†ã‚£ãƒ³ã‚°ã‚¨ãƒ³ãƒˆãƒªæ•°ã‚’指定する。 0 を指定すると、
    875                å‘け直し(ICMPv6)を無視する。
     808               IPv6 用のルーティング表で予め確保する、向け直し(ICMP)
     809               によるルーティングエントリ数を指定する。 0 を指定すると、
     810               向け直し(ICMPv6)を無視する。
    876811         [3]   NUM_IN4_STATIC_ROUTE_ENTRY
    877                IPv4 用のルーティング表の静的ルーティングエントリ数を指
    878                å®šã™ã‚‹ã€‚
     812               IPv4 用のルーティング表の静的ルーティングエントリ数を指
     813               定する。
    879814         [4]   NUM_IN4_REDIRECT_ROUTE_ENTRY
    880                IPv4 用のルーティング表で予め確保する、向け直し(ICMP)
    881                ã«ã‚ˆã‚‹ãƒ«ãƒ¼ãƒ†ã‚£ãƒ³ã‚°ã‚¨ãƒ³ãƒˆãƒªæ•°ã‚’指定する。 0 を指定すると、
    882                å‘け直し(ICMP)を無視する。
    883 
    884    (2)   ãƒ«ãƒ¼ãƒ†ã‚£ãƒ³ã‚°è¡¨ã‚¨ãƒ³ãƒˆãƒªæ§‹é€ ä½“(IPv6)
    885            IPv6 では、#include <netinet6/in6_var.h> で定義されている。
    886          å„フィールドの意味を以下に示す。
    887 
    888             T_IN6_ADDR      target          目標ネットワークアドレス
    889             T_IN6_ADDR      gateway         ã‚²ãƒ¼ãƒˆã‚¦ã‚§ã‚¤ã® IP アドレス
    890             uint32_t        expire          有効時間が切れる時刻、0xffffffff を指定すること。
    891             uint8_t         flags           ãƒ•ãƒ©ã‚°ã€0x01 を指定すること。
    892             uint8_t         prefix_len      プレフィックス長
    893 
    894          IP アドレスは、{{{ と }}} で囲み、 1 オクテット単位で指定する。
    895          ä¾‹ã‚’以下に示す。
     815               IPv4 用のルーティング表で予め確保する、向け直し(ICMP)
     816               によるルーティングエントリ数を指定する。 0 を指定すると、
     817               向け直し(ICMP)を無視する。
     818
     819   (2)   ルーティング表エントリ構造体(IPv6)
     820           IPv6 では、#include <netinet6/in6_var.h> で定義されている。
     821         各フィールドの意味を以下に示す。
     822
     823            T_IN6_ADDR      target          目標ネットワークアドレス
     824            T_IN6_ADDR      gateway         ゲートウェイの IP アドレス
     825            uint32_t        expire          有効時間が切れる時刻、0xffffffff を指定すること。
     826            uint8_t         flags           フラグ、0x01 を指定すること。
     827            uint8_t         prefix_len      プレフィックス長
     828
     829         IP アドレスは、{{{ と }}} で囲み、 1 オクテット単位で指定する。
     830         例を以下に示す。
    896831
    897832            { { { 0xfe, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x41,
    898833                  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } }
    899834
    900    (3)   ãƒ«ãƒ¼ãƒ†ã‚£ãƒ³ã‚°è¡¨ã‚¨ãƒ³ãƒˆãƒªæ§‹é€ ä½“(IPv4)
    901            IPv4 では、#include <netinet/in_var.h> で定義されている。各
    902          ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã®æ„å‘³ã‚’以下に示す。
    903 
    904             T_IN4_ADDR      targe           ç›®æ¨™ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã®IPアドレス、
    905                                             ディフォルトゲートウェイでは0を指定する。
    906             T_IN4_ADDR      mask            目標ネットワークのサブネットマスク、
    907                                             ディフォルトゲートウェイでは0を指定する。
    908             T_IN4_ADDR      gateway         ã‚²ãƒ¼ãƒˆã‚¦ã‚§ã‚¤ã® IP アドレス、
    909                                             自ネットワークå†
    910 ã§ã¯0を指定する。
    911 
    912    (4)   ã‚¤ãƒ³ã‚¯ãƒ«ãƒ¼ãƒ‰ãƒ•ã‚¡ã‚¤ãƒ«
    913            ä»¥ä¸‹ã®ã‚¤ãƒ³ã‚¯ãƒ«ãƒ¼ãƒ‰ãƒ•ã‚¡ã‚¤ãƒ«ã‚’指定すること。
     835   (3)   ルーティング表エントリ構造体(IPv4)
     836           IPv4 では、#include <netinet/in_var.h> で定義されている。各
     837         フィールドの意味を以下に示す。
     838
     839            T_IN4_ADDR      targe           目標ネットワークのIPアドレス、
     840                                            ディフォルトゲートウェイでは0を指定する。
     841            T_IN4_ADDR      mask            目標ネットワークのサブネットマスク、
     842                                            ディフォルトゲートウェイでは0を指定する。
     843            T_IN4_ADDR      gateway         ゲートウェイの IP アドレス、
     844                                            自ネットワーク内では0を指定する。
     845
     846   (4)   インクルードファイル
     847           以下のインクルードファイルを指定すること。
    914848
    915849         [1]   TOPPERS/ASP
     
    930864                  #include <netinet/in_var.h>
    931865
    932    (5)   ãƒ«ãƒ¼ãƒ†ã‚£ãƒ³ã‚°è¡¨ã‚¨ãƒ³ãƒˆãƒªé
    933 åˆ—(IPv6)
    934            ä»¥ä¸‹ã®ã‚ˆã†ã«æŒ‡å®šã™ã‚‹ã“と。
     866   (5)   ルーティング表エントリ配列(IPv6)
     867           以下のように指定すること。
    935868
    936869            T_IN6_RTENTRY routing6_tbl[NUM_ROUTE_ENTRY] = {
    937                 <ルーティング表エントリ構造体 1>,
    938                 <ルーティング表エントリ構造体 2>,
     870                <ルーティング表エントリ構造体 1>,
     871                <ルーティング表エントリ構造体 2>,
    939872                ...
    940                 <ルーティング表エントリ構造体 n>,
     873                <ルーティング表エントリ構造体 n>,
    941874                };
    942875
    943    (6)   ãƒ«ãƒ¼ãƒ†ã‚£ãƒ³ã‚°è¡¨ã‚¨ãƒ³ãƒˆãƒªé
    944 åˆ—(IPv4)
    945            ä»¥ä¸‹ã®ã‚ˆã†ã«æŒ‡å®šã™ã‚‹ã“と。
     876   (6)   ルーティング表エントリ配列(IPv4)
     877           以下のように指定すること。
    946878
    947879            T_IN4_RTENTRY routing4_tbl[NUM_ROUTE_ENTRY] = {
    948                 <ルーティング表エントリ構造体 1>,
    949                 <ルーティング表エントリ構造体 2>,
     880                <ルーティング表エントリ構造体 1>,
     881                <ルーティング表エントリ構造体 2>,
    950882                ...
    951                 <ルーティング表エントリ構造体 n>,
     883                <ルーティング表エントリ構造体 n>,
    952884                };
    953885
    954    (7)   æŽ¢ç´¢é †åº
    955            æŽ¢ç´¢ã¯ã€ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ãŒå¤§ããªé †ã€ã¤ã¾ã‚Šã€ ルーティング表エン
    956          ãƒˆãƒªé
    957 åˆ—の最後の <ルーティング表エントリ構造体 n> から、 最初
    958          ã® <ルーティング表エントリ構造体 1> に向って行われる。
    959 
    960 6.  TINET 独自機能
    961 
    962 6. 1  タスクからの Time Wait 状æ
    963 ‹ã® TCP 通信端点分離機能
    964 
    965   TCP 通信端点は、ソケットインタフェースにおけるファイルディスクリプタ
    966 ã¨ç•°ãªã‚Šã€ TCP の接続状æ
    967 ‹ãŒå®Œå
    968 ¨ã«çµ‚了するまで再利用可能とはならない。
    969 TCP/IP プロトコルの仕様に従うと、 接続状æ
    970 ‹ãŒå®Œå
    971 ¨ã«çµ‚了するまで数分かか
    972 ã‚‹å ´åˆãŒã‚る。問題になるのは、å
    973 ˆã«ã€TCP 通信端点のコネクション切断 API
    974 ã® tcp_sht_cep を呼出し、 コネクションを切断する場合である。 この時、
    975 tcp_sht_cep で指定された TCP 通信端点は、最終的に Time Wait 状æ
    976 ‹ã«ãªã‚Šã€
    977 TCP 通信端点のクローズ API の tcp_cls_cep を呼出したタスクも、タイムア
    978 ã‚¦ãƒˆå¾
    979 ã¡çŠ¶æ
    980 ‹ã«ãªã‚‹ã€‚従って、サーバ側から切断する応用プログラム(WWW な
    981 ã©ï¼‰ã®ã‚¿ã‚¹ã‚¯ã§ã¯ã€ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆã™ã‚‹ã¾ã§ã€æ¬¡ã®æŽ¥ç¶šè¦æ±‚を受信することがで
    982 ããªã„。
    983   これに対応するため、 TINET は、終了å¾
    984 ã¡ã® TCP 通信端点をタスクから切
    985 ã‚Šé›¢ã™ã“とにより、タスクがå¾
    986 ã¡çŠ¶æ
    987 ‹ã«ãªã‚‰ãªã„ようにする機能を持っており、
    988 æœ‰åŠ¹ã«ã™ã‚‹ãŸã‚ã«ã¯ã€ コンパイル時コンフィギュレーションパラメータ
    989 NUM_TCP_TW_CEP_ENTRY を tinet_app_config.h 等に指定し、 確保する TW 用
    990 TCP 通信端点の数(1 以上の値)を定義する。
    991   TCP 通信端点が Time Wait になると、TCP 通信端点から、 Time Wait にå¿
    992 
    993 è¦ãªé€šä¿¡ç®¡ç†ãƒ‡ãƒ¼ã‚¿ã‚’ TW 用 TCP 通信端点にコピーし、å
    994 ƒã® TCP 通信端点を
    995 é–‹æ”¾ã™ã‚‹ã€‚ これに伴って、 タスクもå¾
    996 ã¡çŠ¶æ
    997 ‹ã‹ã‚‰é–‹æ”¾ã•ã‚Œã‚‹ã€‚ また、TW 用
    998 TCP 通信端点には Time Wait にå¿
    999 è¦ãªé€šä¿¡ç®¡ç†ãƒ‡ãƒ¼ã‚¿ã®ã¿ã‚’コピーすること
    1000 ã§ã€ãƒ¡ãƒ¢ãƒªã®æ¶ˆè²»ã‚’抑えている。
    1001   ただし、この機能を有効にしていても、コネクションの同時切断のタイミン
    1002 ã‚°ã«ã‚ˆã£ã¦ã¯ã€åˆ†é›¢ã•ã‚Œãªã„場合がある。
    1003 
    1004 6. 2  受信ウィンドバッファの省コピー機能
    1005 
    1006   ITRON TCP/IP API 仕様では、TCP 通信端点を生成する静的 API で、受信ウ
    1007 ã‚¤ãƒ³ãƒ‰ãƒãƒƒãƒ•ã‚¡ã®å
    1008 ˆé ­ã‚¢ãƒ‰ãƒ¬ã‚¹ã®æŒ‡å®šã«ã€ NADR を指定すると、プロトコルス
    1009 ã‚¿ãƒƒã‚¯ã§ã€ 受信ウインドバッファを確保することになっている。
    1010   TINET では、ネットワークバッファを、受信ウインドバッファとすることで、
    1011 NADR の指定に対応している。 さらに、ネットワークインタフェースで受信し
    1012 ãŸãƒ—ロトルコデータを保持するネットワークバッファを、そのまま受信ウイン
    1013 ãƒ‰ãƒãƒƒãƒ•ã‚¡ã¨ã™ã‚‹ã“とで、ネットワークインタフェースと、TINET å†
    1014 éƒ¨ã§ã€ãƒ‡ãƒ¼
    1015 ã‚¿ã®ã‚³ãƒ”ーを省いている。特に、 省コピー API を使用することにより、 API
    1016 ã«ãŠã‘るデータのコピーも行わないことも可能である。
    1017   この機能に関係するコンパイル時コンフィギュレーションパラメータを、以
    1018 ä¸‹ã«ç¤ºã™ã€‚
     886   (7)   探索順序
     887           探索は、インデックスが大きな順、つまり、 ルーティング表エン
     888         トリ配列の最後の <ルーティング表エントリ構造体 n> から、 最初
     889         の <ルーティング表エントリ構造体 1> に向って行われる。
     890
     8916.  TINET 独自機能
     892
     8936. 1  タスクからの Time Wait 状態の TCP 通信端点分離機能
     894
     895  TCP 通信端点は、ソケットインタフェースにおけるファイルディスクリプタ
     896と異なり、 TCP の接続状態が完全に終了するまで再利用可能とはならない。
     897TCP/IP プロトコルの仕様に従うと、 接続状態が完全に終了するまで数分かか
     898る場合がある。問題になるのは、先に、TCP 通信端点のコネクション切断 API
     899の tcp_sht_cep を呼出し、 コネクションを切断する場合である。 この時、
     900tcp_sht_cep で指定された TCP 通信端点は、最終的に Time Wait 状態になり、
     901TCP 通信端点のクローズ API の tcp_cls_cep を呼出したタスクも、タイムア
     902ウト待ち状態になる。従って、サーバ側から切断する応用プログラム(WWW な
     903ど)のタスクでは、タイムアウトするまで、次の接続要求を受信することがで
     904きない。
     905  これに対応するため、 TINET は、終了待ちの TCP 通信端点をタスクから切
     906り離すことにより、タスクが待ち状態にならないようにする機能を持っており、
     907有効にするためには、 コンパイル時コンフィギュレーションパラメータ
     908NUM_TCP_TW_CEP_ENTRY を tinet_app_config.h 等に指定し、 確保する TW 用
     909TCP 通信端点の数(1 以上の値)を定義する。
     910  TCP 通信端点が Time Wait になると、TCP 通信端点から、 Time Wait に必
     911要な通信管理データを TW 用 TCP 通信端点にコピーし、元の TCP 通信端点を
     912開放する。 これに伴って、 タスクも待ち状態から開放される。 また、TW 用
     913TCP 通信端点には Time Wait に必要な通信管理データのみをコピーすること
     914で、メモリの消費を抑えている。
     915  ただし、この機能を有効にしていても、コネクションの同時切断のタイミン
     916グによっては、分離されない場合がある。
     917
     9186. 2  受信ウィンドバッファの省コピー機能
     919
     920  ITRON TCP/IP API 仕様では、TCP 通信端点を生成する静的 API で、受信ウ
     921インドバッファの先頭アドレスの指定に、 NADR を指定すると、プロトコルス
     922タックで、 受信ウインドバッファを確保することになっている。
     923  TINET では、ネットワークバッファを、受信ウインドバッファとすることで、
     924NADR の指定に対応している。 さらに、ネットワークインタフェースで受信し
     925たプロトルコデータを保持するネットワークバッファを、そのまま受信ウイン
     926ドバッファとすることで、ネットワークインタフェースと、TINET 内部で、デー
     927タのコピーを省いている。特に、 省コピー API を使用することにより、 API
     928におけるデータのコピーも行わないことも可能である。
     929  この機能に関係するコンパイル時コンフィギュレーションパラメータを、以
     930下に示す。
    1019931
    1020932   (1)   TCP_CFG_RWBUF_CSAVE_ONLY
    1021          TCP 通信端点の受信ウィンドバッファの省コピー機能を組込み、 こ
    1022          ã®æ©Ÿèƒ½ã®ã¿ä½¿ç”¨ã™ã‚‹ã€‚TCP 通信端点を生成する静的 API で、受信ウ
    1023          ã‚¤ãƒ³ãƒ‰ãƒãƒƒãƒ•ã‚¡ã®å
    1024 ˆé ­ã‚¢ãƒ‰ãƒ¬ã‚¹ã®æŒ‡å®šã«ã€ 応用プログラムが用意し
    1025          ãŸãƒãƒƒãƒ•ã‚¡ã‚’指定しても無視する。
     933         TCP 通信端点の受信ウィンドバッファの省コピー機能を組込み、 こ
     934         の機能のみ使用する。TCP 通信端点を生成する静的 API で、受信ウ
     935         インドバッファの先頭アドレスの指定に、 応用プログラムが用意し
     936         たバッファを指定しても無視する。
    1026937
    1027938   (2)   TCP_CFG_RWBUF_CSAVE
    1028          TCP 通信端点の受信ウィンドバッファの省コピー機能を組込む。TCP
    1029          é€šä¿¡ç«¯ç‚¹ã‚’生成する静的 API で、受信ウインドバッファのå
    1030 ˆé ­ã‚¢ãƒ‰
    1031          ãƒ¬ã‚¹ã®æŒ‡å®šã«ã€NADR を指定した場合は、受信ウィンドバッファの省
    1032          ã‚³ãƒ”ー機能を使用するが、 応用プログラムが用意したバッファを指
    1033          å®šã—た場合は、 受信ウィンドバッファの省コピー機能を使用しない。
     939         TCP 通信端点の受信ウィンドバッファの省コピー機能を組込む。TCP
     940         通信端点を生成する静的 API で、受信ウインドバッファの先頭アド
     941         レスの指定に、NADR を指定した場合は、受信ウィンドバッファの省
     942         コピー機能を使用するが、 応用プログラムが用意したバッファを指
     943         定した場合は、 受信ウィンドバッファの省コピー機能を使用しない。
    1034944
    1035945   (3)   TCP_CFG_RWBUF_CSAVE_MAX_QUEUES
    1036          TCP 通信端点の受信ウィンドバッファの省コピー機能の、 受信ウィ
    1037          ãƒ³ãƒ‰ãƒãƒƒãƒ•ã‚¡ã‚­ãƒ¥ãƒ¼ã®æœ€å¤§ã‚¨ãƒ³ãƒˆãƒªæ•°ã§ã‚る。 ただし、正常に受信
    1038          ã—たセグメントも破棄するため、再送回数が増加する。また、 指定
    1039          ã—ないと制限しない。
    1040 
    1041 ãªãŠã€TCP_CFG_RWBUF_CSAVE_ONLY と TCP_CFG_RWBUF_CSAVE の、いずれも指定
    1042 ã—ない場合は、 TCP 通信端点を生成する静的 API で、受信ウインドバッファ
    1043 ã®å
    1044 ˆé ­ã‚¢ãƒ‰ãƒ¬ã‚¹ã®æŒ‡å®šã«ã€NADR を指定することができない。
    1045 
    1046 6. 3  送信ウィンドバッファの省コピー機能
    1047 
    1048   ITRON TCP/IP API 仕様では、TCP 通信端点を生成する静的 API で、受信ウ
    1049 ã‚¤ãƒ³ãƒ‰ãƒãƒƒãƒ•ã‚¡ã¨åŒæ§˜ã«ã€ 送信ウインドバッファのå
    1050 ˆé ­ã‚¢ãƒ‰ãƒ¬ã‚¹ã®æŒ‡å®šã«ã€
    1051 NADR を指定すると、 プロトコルスタックで、送信ウインドバッファを確保す
    1052 ã‚‹ã“とになっている。
    1053   TINET では、ネットワークバッファを、送信ウインドバッファとすることで、
    1054 NADR の指定に対応している。さらに、 書込まれたデータの前にå¿
    1055 è¦ãªãƒ˜ãƒƒãƒ€
    1056 ã‚’付加して、そのままネットワークインタフェースに渡すことにより、ネット
    1057 ãƒ¯ãƒ¼ã‚¯ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã¨ã€TINET å†
    1058 éƒ¨ã§ã€ãƒ‡ãƒ¼ã‚¿ã®ã‚³ãƒ”ーを省いている。特に、
    1059 çœã‚³ãƒ”ー API を使用することで、 API におけるデータのコピーも行わないこ
    1060 ã¨ã‚‚可能である。
    1061   ただし、 イーサネット出力時に、 NIC でネットワークバッファを開放する
    1062 ï¼ˆã‚³ãƒ³ãƒ‘イル時コンフィギュレーションパラメータ
    1063 ETHER_NIC_CFG_RELEASE_NET_BUF を、指定するå¿
    1064 è¦ãŒã‚る)ディバイスドライ
    1065 ãƒã§ã¯ã€ この送信ウィンドバッファの省コピー機能を利用することはできない。
    1066   この機能に関係するコンパイル時コンフィギュレーションパラメータを、以
    1067 ä¸‹ã«ç¤ºã™ã€‚
     946         TCP 通信端点の受信ウィンドバッファの省コピー機能の、 受信ウィ
     947         ンドバッファキューの最大エントリ数である。 ただし、正常に受信
     948         したセグメントも破棄するため、再送回数が増加する。また、 指定
     949         しないと制限しない。
     950
     951なお、TCP_CFG_RWBUF_CSAVE_ONLY と TCP_CFG_RWBUF_CSAVE の、いずれも指定
     952しない場合は、 TCP 通信端点を生成する静的 API で、受信ウインドバッファ
     953の先頭アドレスの指定に、NADR を指定することができない。
     954
     9556. 3  送信ウィンドバッファの省コピー機能
     956
     957  ITRON TCP/IP API 仕様では、TCP 通信端点を生成する静的 API で、受信ウ
     958インドバッファと同様に、 送信ウインドバッファの先頭アドレスの指定に、
     959NADR を指定すると、 プロトコルスタックで、送信ウインドバッファを確保す
     960ることになっている。
     961  TINET では、ネットワークバッファを、送信ウインドバッファとすることで、
     962NADR の指定に対応している。さらに、 書込まれたデータの前に必要なヘッダ
     963を付加して、そのままネットワークインタフェースに渡すことにより、ネット
     964ワークインタフェースと、TINET 内部で、データのコピーを省いている。特に、
     965省コピー API を使用することで、 API におけるデータのコピーも行わないこ
     966とも可能である。
     967  ただし、 イーサネット出力時に、 NIC でネットワークバッファを開放する
     968(コンパイル時コンフィギュレーションパラメータ
     969ETHER_NIC_CFG_RELEASE_NET_BUF を、指定する必要がある)ディバイスドライ
     970バでは、 この送信ウィンドバッファの省コピー機能を利用することはできない。
     971  この機能に関係するコンパイル時コンフィギュレーションパラメータを、以
     972下に示す。
    1068973
    1069974   (1)   TCP_CFG_SWBUF_CSAVE_ONLY
    1070          TCP 通信端点の送信ウィンドバッファの省コピー機能を組込み、 こ
    1071          ã®æ©Ÿèƒ½ã®ã¿ä½¿ç”¨ã™ã‚‹ã€‚TCP 通信端点を生成する静的 API で、送信ウ
    1072          ã‚¤ãƒ³ãƒ‰ãƒãƒƒãƒ•ã‚¡ã®å
    1073 ˆé ­ã‚¢ãƒ‰ãƒ¬ã‚¹ã®æŒ‡å®šã«ã€ 応用プログラムが用意し
    1074          ãŸãƒãƒƒãƒ•ã‚¡ã‚’指定しても無視する。
     975         TCP 通信端点の送信ウィンドバッファの省コピー機能を組込み、 こ
     976         の機能のみ使用する。TCP 通信端点を生成する静的 API で、送信ウ
     977         インドバッファの先頭アドレスの指定に、 応用プログラムが用意し
     978         たバッファを指定しても無視する。
    1075979
    1076980   (2)   TCP_CFG_SWBUF_CSAVE
    1077          TCP 通信端点の送信ウィンドバッファの省コピー機能を組込む。TCP
    1078          é€šä¿¡ç«¯ç‚¹ã‚’生成する静的 API で、送信ウインドバッファのå
    1079 ˆé ­ã‚¢ãƒ‰
    1080          ãƒ¬ã‚¹ã®æŒ‡å®šã«ã€NADR を指定した場合は、送信ウィンドバッファの省
    1081          ã‚³ãƒ”ー機能を使用するが、 応用プログラムが用意したバッファを指
    1082          å®šã—た場合は、 送信ウィンドバッファの省コピー機能を使用しない。
     981         TCP 通信端点の送信ウィンドバッファの省コピー機能を組込む。TCP
     982         通信端点を生成する静的 API で、送信ウインドバッファの先頭アド
     983         レスの指定に、NADR を指定した場合は、送信ウィンドバッファの省
     984         コピー機能を使用するが、 応用プログラムが用意したバッファを指
     985         定した場合は、 送信ウィンドバッファの省コピー機能を使用しない。
    1083986
    1084987   (3)   TCP_CFG_SWBUF_CSAVE_MAX_SIZE
    1085          TCP 通信端点の送信ウィンドバッファの省コピー機能で、 送信ウィ
    1086          ãƒ³ãƒ‰ãƒãƒƒãƒ•ã‚¡ã«ä½¿ç”¨ã™ã‚‹ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒãƒƒãƒ•ã‚¡ã®æœ€å¤§ã‚µã‚¤ã‚ºã§ã‚り、
    1087          æ¨™æº–値は IF_PDU_SIZE である。
     988         TCP 通信端点の送信ウィンドバッファの省コピー機能で、 送信ウィ
     989         ンドバッファに使用するネットワークバッファの最大サイズであり、
     990         標準値は IF_PDU_SIZE である。
    1088991
    1089992   (4)   TCP_CFG_SWBUF_CSAVE_MIN_SIZE
    1090          TCP 通信端点の送信ウィンドバッファの省コピー機能で、 送信ウィ
    1091          ãƒ³ãƒ‰ãƒãƒƒãƒ•ã‚¡ã«ä½¿ç”¨ã™ã‚‹ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒãƒƒãƒ•ã‚¡ã®æœ€å°ã‚µã‚¤ã‚ºã§ã‚り、
    1092          æ¨™æº–値は 0 である。
    1093 
    1094 ãªãŠã€TCP_CFG_SWBUF_CSAVE_ONLY と TCP_CFG_SWBUF_CSAVE の、いずれも指定
    1095 ã—ない場合は、TCP 通信端点を生成する静的 API で、 送信ウインドバッファ
    1096 ã®å
    1097 ˆé ­ã‚¢ãƒ‰ãƒ¬ã‚¹ã®æŒ‡å®šã«ã€NADR を指定することができない。
    1098 
    1099 6. 4  ノンブロッキングコールの無効化
    1100 
    1101   応用プロクラムで、 ノンブロッキングコールを使用しない場合は、 TCP と
    1102 UDP のノンブロッキングコール機能を組込まないで、メモリを節約することが
    1103 ã§ãã‚‹ã€‚
    1104   この機能に関係するコンパイル時コンフィギュレーションパラメータを、以
    1105 ä¸‹ã«ç¤ºã™ã€‚
     993         TCP 通信端点の送信ウィンドバッファの省コピー機能で、 送信ウィ
     994         ンドバッファに使用するネットワークバッファの最小サイズであり、
     995         標準値は 0 である。
     996
     997なお、TCP_CFG_SWBUF_CSAVE_ONLY と TCP_CFG_SWBUF_CSAVE の、いずれも指定
     998しない場合は、TCP 通信端点を生成する静的 API で、 送信ウインドバッファ
     999の先頭アドレスの指定に、NADR を指定することができない。
     1000
     10016. 4  ノンブロッキングコールの無効化
     1002
     1003  応用プロクラムで、 ノンブロッキングコールを使用しない場合は、 TCP と
     1004UDP のノンブロッキングコール機能を組込まないで、メモリを節約することが
     1005できる。
     1006  この機能に関係するコンパイル時コンフィギュレーションパラメータを、以
     1007下に示す。
    11061008
    11071009   (1)   TCP_CFG_NON_BLOCKING
    1108          TCP のノンブロッキングコール機能を組込む。
     1010         TCP のノンブロッキングコール機能を組込む。
    11091011
    11101012   (2)   UDP_CFG_NON_BLOCKING
    1111          UDP のノンブロッキングコール機能を組込む。
    1112 
    1113 ãŸã ã—、 過去のリリースとの互換性のため、 どちらのパラメータも、
    1114 tinet/tinet_config.h に指定されており、 既定では、ノンブロッキングコー
    1115 ãƒ«æ©Ÿèƒ½ãŒçµ„込まれるようになっている。 なお、 サンプルアプリケーションの
    1116 tinet_app_config.h には、 指定を解除するマクロが定義されている。組込ま
    1117 ãªã„場合は、以下のマクロを Makefile に定義する。
     1013         UDP のノンブロッキングコール機能を組込む。
     1014
     1015ただし、 過去のリリースとの互換性のため、 どちらのパラメータも、
     1016tinet/tinet_config.h に指定されており、 既定では、ノンブロッキングコー
     1017ル機能が組込まれるようになっている。 なお、 サンプルアプリケーションの
     1018tinet_app_config.h には、 指定を解除するマクロが定義されている。組込ま
     1019ない場合は、以下のマクロを Makefile に定義する。
    11181020
    11191021   UNDEF_TCP_CFG_NON_BLOCKING
    11201022   UNDEF_UDP_CFG_NON_BLOCKING
    11211023
    1122 6. 5  TINETのライブラリ化
    1123 
    1124   TINET のライブラリ化は、メモリ使用量を削減することを目的に実è£
    1125 ã—てい
    1126 ã‚‹ã€‚このため、ライブラリ化されているのは ITRON TCP/IP API 部分のみであ
    1127 ã‚Šã€TINET のコア部分のライブラリ化は行われていない。また、コンパイル時
    1128 ã‚ªãƒ—ションにより、処理å†
    1129 å®¹ãŒå¤‰ã‚ã‚‹ãŸã‚ã€ãƒ©ã‚¤ãƒ–ラリも再構築するå¿
    1130 è¦ãŒã‚
    1131 ã‚‹ã€‚従って、ライブラリとアプリケーションプログラムを別ã€
    1132 ã«æ§‹ç¯‰ã—ておき、
    1133 å¾Œã§ãƒªãƒ³ã‚¯ã™ã‚‹æ–¹æ³•ã¯ã‚µãƒãƒ¼ãƒˆã—ていない。
    1134   ITRON TCP/IP API 部分もライブラリ化させないためには、 アプリケーショ
    1135 ãƒ³ã® Makefile に NO_USE_TINET_LIBRARY = true を指定する。
    1136 
    1137 6. 6  TCP ヘッダのトレース出力機能
    1138 
    1139   送受信する TCP セグメントの TCP ヘッダと TCP 通信端点のæƒ
    1140 å ±ã‚’出力す
    1141 ã‚‹æ©Ÿèƒ½ã§ã‚る。なお、 CONSOLE_PORTID で指定されるシリアルポートに直接出
    1142 åŠ›ã™ã‚‹ã®ã§ã€ SYSLOG 出力が乱れることがある。受信時の出力例と意味を以下
    1143 ã«ç¤ºã™ã€‚
     10246. 5  TINETのライブラリ化
     1025
     1026  TINET のライブラリ化は、メモリ使用量を削減することを目的に実装してい
     1027る。このため、ライブラリ化されているのは ITRON TCP/IP API 部分のみであ
     1028り、TINET のコア部分のライブラリ化は行われていない。また、コンパイル時
     1029オプションにより、処理内容が変わるため、ライブラリも再構築する必要があ
     1030る。従って、ライブラリとアプリケーションプログラムを別々に構築しておき、
     1031後でリンクする方法はサポートしていない。
     1032  ITRON TCP/IP API 部分もライブラリ化させないためには、 アプリケーショ
     1033ンの Makefile に NO_USE_TINET_LIBRARY = true を指定する。
     1034
     10356. 6  TCP ヘッダのトレース出力機能
     1036
     1037  送受信する TCP セグメントの TCP ヘッダと TCP 通信端点の情報を出力す
     1038る機能である。なお、 CONSOLE_PORTID で指定されるシリアルポートに直接出
     1039力するので、 SYSLOG 出力が乱れることがある。受信時の出力例と意味を以下
     1040に示す。
    11441041
    11451042   <I 329.599=c: 4 s:CW f:60c00:--A---- a: 74461 s: 76082 w:58400 l:   0=
    11461043
    1147    329.599       å—信した時間、1/1000 秒単位、または 1 秒単位
    1148    c: 4          TCP 通信端点 ID
    1149    s:CW          TCP FSM 状æ
    1150 ‹ï¼ˆtinet/netinet/tcp_fsm.h 参ç
    1151 §ï¼‰
    1152    f:60c00       TCP 通信端点の状æ
    1153 ‹ãƒ•ãƒ©ã‚°ï¼ˆ16 進数、
    1154                  tinet/netinet/tcp_var.h 参ç
    1155 §ï¼‰
    1156    :--A----      TCP ヘッダのフラグフィールドの値(tinet/netinet/tcp.h
    1157                  å‚ç
    1158 §ï¼‰
    1159    a: 74461      TCP ヘッダの確認応答番号(コネクション確立時からの相
    1160                  å¯¾å€¤ï¼‰
    1161    s: 76082      TCP ヘッダのシーケンス番号(コネクション確立時からの
    1162                  ç›¸å¯¾å€¤ï¼‰
    1163    w:58400       TCP ヘッダのウインドサイズ
    1164    l:0           å—信ペイロードデータ数
    1165 
    1166   送信時の出力例と意味を以下に示す。
     1044   329.599       受信した時間、1/1000 秒単位、または 1 秒単位
     1045   c: 4          TCP 通信端点 ID
     1046   s:CW          TCP FSM 状態(tinet/netinet/tcp_fsm.h 参照)
     1047   f:60c00       TCP 通信端点の状態フラグ(16 進数、
     1048                 tinet/netinet/tcp_var.h 参照)
     1049   :--A----      TCP ヘッダのフラグフィールドの値(tinet/netinet/tcp.h
     1050                 参照)
     1051   a: 74461      TCP ヘッダの確認応答番号(コネクション確立時からの相
     1052                 対値)
     1053   s: 76082      TCP ヘッダのシーケンス番号(コネクション確立時からの
     1054                 相対値)
     1055   w:58400       TCP ヘッダのウインドサイズ
     1056   l:0           受信ペイロードデータ数
     1057
     1058  送信時の出力例と意味を以下に示す。
    11671059
    11681060   =O 329.627=c: 4 s:CW f:60d20:--AP--- s: 74461 a: 76082 w: 2920 l:1460>
    11691061
    1170    329.627       é€ä¿¡ã—た時間、1/1000 秒単位、または 1 秒単位
    1171    c: 4          TCP 通信端点 ID
    1172    s:CW          TCP FSM 状æ
    1173 ‹ï¼ˆtinet/netinet/tcp_fsm.h 参ç
    1174 §ï¼‰
    1175    f:60d20       TCP 通信端点の状æ
    1176 ‹ãƒ•ãƒ©ã‚°ï¼ˆ16 進数、
    1177                  tinet/netinet/tcp_var.h 参ç
    1178 §ï¼‰
    1179    :--AP---      TCP ヘッダのフラグフィールドの値(tinet/netinet/tcp.h
    1180                  å‚ç
    1181 §ï¼‰
    1182    s: 74461      TCP ヘッダのシーケンス番号(コネクション確立時からの
    1183                  ç›¸å¯¾å€¤ï¼‰
    1184    a: 76082      TCP ヘッダの確認応答番号(コネクション確立時からの相
    1185                  å¯¾å€¤ï¼‰
    1186    w: 2920       TCP ヘッダのウインドサイズ
    1187    l:1460        送信ペイロードデータ数
    1188 
    1189   この機能に関係するコンパイル時コンフィギュレーションパラメータを、以
    1190 ä¸‹ã«ç¤ºã™ã€‚
     1062   329.627       送信した時間、1/1000 秒単位、または 1 秒単位
     1063   c: 4          TCP 通信端点 ID
     1064   s:CW          TCP FSM 状態(tinet/netinet/tcp_fsm.h 参照)
     1065   f:60d20       TCP 通信端点の状態フラグ(16 進数、
     1066                 tinet/netinet/tcp_var.h 参照)
     1067   :--AP---      TCP ヘッダのフラグフィールドの値(tinet/netinet/tcp.h
     1068                 参照)
     1069   s: 74461      TCP ヘッダのシーケンス番号(コネクション確立時からの
     1070                 相対値)
     1071   a: 76082      TCP ヘッダの確認応答番号(コネクション確立時からの相
     1072                 対値)
     1073   w: 2920       TCP ヘッダのウインドサイズ
     1074   l:1460        送信ペイロードデータ数
     1075
     1076  この機能に関係するコンパイル時コンフィギュレーションパラメータを、以
     1077下に示す。
    11911078
    11921079   (1)   TCP_CFG_TRACE
    1193          TCP ヘッダのトレース出力機能を組込む。
     1080         TCP ヘッダのトレース出力機能を組込む。
    11941081
    11951082   (2)   TCP_CFG_TRACE_IPV4_RADDR
    1196          ãƒˆãƒ¬ãƒ¼ã‚¹å‡ºåŠ›å¯¾è±¡ã®ãƒªãƒ¢ãƒ¼ãƒˆãƒ›ã‚¹ãƒˆã® IPv4 アドレスを指定する。
    1197          IPV4_ADDRANY を指定すると、å
    1198 ¨ã¦ã®ãƒ›ã‚¹ãƒˆã‚’対象とする。
     1083         トレース出力対象のリモートホストの IPv4 アドレスを指定する。
     1084         IPV4_ADDRANY を指定すると、全てのホストを対象とする。
    11991085
    12001086   (3)   TCP_CFG_TRACE_LPORTNO
    1201          ãƒˆãƒ¬ãƒ¼ã‚¹å‡ºåŠ›å¯¾è±¡ã®ãƒ­ãƒ¼ã‚«ãƒ«ãƒ›ã‚¹ãƒˆã®ãƒãƒ¼ãƒˆç•ªå·ã‚’指定する。
    1202          TCP_PORTANY を指定すると、å
    1203 ¨ã¦ã®ãƒãƒ¼ãƒˆç•ªå·ã‚’対象にする。
     1087         トレース出力対象のローカルホストのポート番号を指定する。
     1088         TCP_PORTANY を指定すると、全てのポート番号を対象にする。
    12041089
    12051090   (4)   TCP_CFG_TRACE_RPORTNO
    1206          ãƒˆãƒ¬ãƒ¼ã‚¹å‡ºåŠ›å¯¾è±¡ã®ãƒªãƒ¢ãƒ¼ãƒˆãƒ›ã‚¹ãƒˆã®ãƒãƒ¼ãƒˆç•ªå·ã‚’指定する。
    1207          TCP_PORTANY を指定すると、å
    1208 ¨ã¦ã®ãƒãƒ¼ãƒˆç•ªå·ã‚’対象にする。
    1209 
    1210 6. 7  IPv6におけるアドレス管理とPath MTUへの対応
    1211 
    1212   TINET リリース 1.3 まで、IPv6 におけるアドレス管理は限定的な対応のみ
    1213 ã§ã‚り、 Path MTU にも対応していなかったが、ホストæƒ
    1214 å ±ã®ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã‚’実
    1215 è£
    1216 ã™ã‚‹ã“とにより、TINET リリース 1.4 からは、ほぼ完å
    1217 ¨ã«å¯¾å¿œã—た。
    1218   この機能に関係するコンパイル時コンフィギュレーションパラメータを、以
    1219 ä¸‹ã«ç¤ºã™ã€‚
     1091         トレース出力対象のリモートホストのポート番号を指定する。
     1092         TCP_PORTANY を指定すると、全てのポート番号を対象にする。
     1093
     10946. 7  IPv6におけるアドレス管理とPath MTUへの対応
     1095
     1096  TINET リリース 1.3 まで、IPv6 におけるアドレス管理は限定的な対応のみ
     1097であり、 Path MTU にも対応していなかったが、ホスト情報のキャッシュを実
     1098装することにより、TINET リリース 1.4 からは、ほぼ完全に対応した。
     1099  この機能に関係するコンパイル時コンフィギュレーションパラメータを、以
     1100下に示す。
    12201101
    12211102   (1)   NUM_IN6_IFADDR_ENTRY
    1222          ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã®ã‚¢ãƒ‰ãƒ¬ã‚¹ãƒªã‚¹ãƒˆï¼ˆIPv6)のエントリ数である。
     1103         インタフェースのアドレスリスト(IPv6)のエントリ数である。
    12231104
    12241105   (2)   NUM_ND6_DEF_RTR_ENTRY
    1225          ãƒ‡ã‚£ãƒ•ã‚©ãƒ«ãƒˆãƒ«ãƒ¼ã‚¿ãƒªã‚¹ãƒˆã®ã‚¨ãƒ³ãƒˆãƒªæ•°ã§ã€æœ€å¤§å€¤ã¯ 16 である。0
    1226          ã‚’指定するとルータ通知を受信しない。ただし、現在は、 ルータ通
    1227          çŸ¥ã®å—信以外にサイトローカルアドレス等を設定する方法がない。
     1106         ディフォルトルータリストのエントリ数で、最大値は 16 である。0
     1107         を指定するとルータ通知を受信しない。ただし、現在は、 ルータ通
     1108         知の受信以外にサイトローカルアドレス等を設定する方法がない。
    12281109
    12291110   (3)   NUM_ND6_PREFIX_ENTRY
    1230          ãƒ—レフィックスリストのエントリ数で、最大値は 16 である。
     1111         プレフィックスリストのエントリ数で、最大値は 16 である。
    12311112
    12321113   (4)   NUM_IN6_HOSTCACHE_ENTRY
    1233          IPv6 用ホストæƒ
    1234 å ±ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã®ã‚¨ãƒ³ãƒˆãƒªæ•°ã§ã€ 0 を指定すると
    1235          IPv6 用ホストæƒ
    1236 å ±ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã‚’組込まない。また、この場合、Path
    1237          MTU への対応も限定的になる。
    1238 
    1239 6. 8  IPv6/IPv4完å
    1240 ¨ãƒ‡ãƒ¥ã‚¢ãƒ«ã‚¹ã‚¿ãƒƒã‚¯
    1241 
    1242   TINET リリース 1.5 まで、 組込み可能なネットワーク層は IPv6 か IPv4
    1243 ã®ã„ずれかであったが、 TINET リリース 1.7 からは両方を組込むことがが可
    1244 èƒ½ã«ãªã£ãŸã€‚
    1245   ネットワーク層として IPv6 を選択した場合は、 IPv6 の API における
    1246 IPv6 アドレスとして IPv4 射影アドレスを使用することが可能である。
    1247   この機能を有効にするコンパイル時コンフィギュレーションパラメータを、
    1248 ä»¥ä¸‹ã«ç¤ºã™ã€‚
     1114         IPv6 用ホスト情報キャッシュのエントリ数で、 0 を指定すると
     1115         IPv6 用ホスト情報キャッシュを組込まない。また、この場合、Path
     1116         MTU への対応も限定的になる。
     1117
     11186. 8  IPv6/IPv4完全デュアルスタック
     1119
     1120  TINET リリース 1.5 まで、 組込み可能なネットワーク層は IPv6 か IPv4
     1121のいずれかであったが、 TINET リリース 1.7 からは両方を組込むことがが可
     1122能になった。
     1123  ネットワーク層として IPv6 を選択した場合は、 IPv6 の API における
     1124IPv6 アドレスとして IPv4 射影アドレスを使用することが可能である。
     1125  この機能を有効にするコンパイル時コンフィギュレーションパラメータを、
     1126以下に示す。
    12491127   API_CFG_IP4MAPPED_ADDR
    1250 ã“のコンパイル時コンフィギュレーションパラメータをしない時は、以下の示
    1251 ã™ API の引数として IPv4 射影アドレスを指定すると、 戻り値として E_PAR
    1252 ãŒè¿”される。
     1128このコンパイル時コンフィギュレーションパラメータをしない時は、以下の示
     1129す API の引数として IPv4 射影アドレスを指定すると、 戻り値として E_PAR
     1130が返される。
    12531131
    12541132   [1]   tcp_cre_rep
     
    12581136   [5]   udp_snd_dat
    12591137
    1260 7.  TINET 独自 API
    1261 
    1262 7. 1  ネットワーク統計æƒ
    1263 å ±
    1264 
    1265   送受信オクテット数、 送受信パケット数等の統計æƒ
    1266 å ±ã®ã‚«ã‚¦ãƒ³ã‚¿
    1267 ï¼ˆnet_count)が、単純変数、構造体、é
    1268 åˆ—により組込まれている。
    1269 
    1270    (1)   ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯çµ±è¨ˆæƒ
    1271 å ±ã®æœ‰åŠ¹åŒ–
    1272            ã‚³ãƒ³ãƒ‘イル時コンフィギュレーション・ファイルのいずれかで、
    1273          ãƒ—ロトコル毎にネットワーク統計æƒ
    1274 å ±ã‚’有効にする事がå¿
    1275 è¦ã§ã‚る。
    1276          æœ‰åŠ¹ã«ã™ã‚‹ãŸã‚ã«ã¯ã€ãƒžã‚¯ãƒ­ NET_COUNT_ENABLE に、 プロトコル識
    1277          åˆ¥ãƒ•ãƒ©ã‚°ï¼ˆã‚¤ãƒ³ã‚¯ãƒ«ãƒ¼ãƒ‰ãƒ•ã‚¡ã‚¤ãƒ« net/net.h で定義されている)を
    1278          ãƒ“ット論理和により設定する。
    1279 
    1280    (2)   ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯çµ±è¨ˆæƒ
    1281 å ±ã®æ¨™æº–データ型と標準構造体
    1282            ã„ずれもインクルードファイル net/net_count.h に定義されている。
     11387.  TINET 独自 API
     1139
     11407. 1  ネットワーク統計情報
     1141
     1142  送受信オクテット数、 送受信パケット数等の統計情報のカウンタ
     1143(net_count)が、単純変数、構造体、配列により組込まれている。
     1144
     1145   (1)   ネットワーク統計情報の有効化
     1146           コンパイル時コンフィギュレーション・ファイルのいずれかで、
     1147         プロトコル毎にネットワーク統計情報を有効にする事が必要である。
     1148         有効にするためには、マクロ NET_COUNT_ENABLE に、 プロトコル識
     1149         別フラグ(インクルードファイル net/net.h で定義されている)を
     1150         ビット論理和により設定する。
     1151
     1152   (2)   ネットワーク統計情報の標準データ型と標準構造体
     1153           いずれもインクルードファイル net/net_count.h に定義されている。
    12831154
    12841155            typedef UD T_NET_COUNT_VAL;
    12851156           
    12861157            typedef struct t_net_count {
    1287                   T_NET_COUNT_VAL   in_octets;        /* 受信オクテット数     */
    1288                   T_NET_COUNT_VAL   out_octets;       /* 送信オクテット数     */
    1289                   T_NET_COUNT_VAL   in_packets;       /* 受信バケット数 */
    1290                   T_NET_COUNT_VAL   out_packets;      /* 送信バケット数 */
    1291                   T_NET_COUNT_VAL   in_err_packets;   /* 受信エラーバケット数 */
    1292                   T_NET_COUNT_VAL   out_err_packets;  /* 送信エラーバケット数 */
     1158                  T_NET_COUNT_VAL   in_octets;        /* 受信オクテット数     */
     1159                  T_NET_COUNT_VAL   out_octets;       /* 送信オクテット数     */
     1160                  T_NET_COUNT_VAL   in_packets;       /* 受信バケット数 */
     1161                  T_NET_COUNT_VAL   out_packets;      /* 送信バケット数 */
     1162                  T_NET_COUNT_VAL   in_err_packets;   /* 受信エラーバケット数 */
     1163                  T_NET_COUNT_VAL   out_err_packets;  /* 送信エラーバケット数 */
    12931164                  } T_NET_COUNT;
    12941165
    1295    (3)   ãƒ—ロトコル毎のネットワーク統計æƒ
    1296 å ±
    1297            ä»¥ä¸‹ã«ã€ プロトコル毎のネットワーク統計æƒ
    1298 å ±ã®å¤‰æ•°ã¾ãŸã¯é
    1299 åˆ—
    1300          ã‚’示す。()å†
    1301 ã¯ã‚¤ãƒ³ã‚¯ãƒ«ãƒ¼ãƒ‰ãƒ•ã‚¡ã‚¤ãƒ« net/net.h に定義されてい
    1302          ã‚‹ãƒ—ロトコル識別フラグである。また、é
    1303 åˆ—変数の場合、 é
    1304 åˆ—のå†
    1305 
    1306          å®¹ã¯ã€ã‚¤ãƒ³ã‚¯ãƒ«ãƒ¼ãƒ‰ãƒ•ã‚¡ã‚¤ãƒ« net/net_count.h を参ç
    1307 §ã™ã‚‹ã“と。
    1308 
    1309          [1]   PPP の HDLC(PROTO_FLG_PPP_HDLC)
    1310                  æ¨™æº–構造体変数で、変数名は net_count_hdlc である。
    1311 
    1312          [2]   PPP の認証プロトコル(PROTO_FLG_PPP_PAP)
    1313                  æ¨™æº–データ型変数で、 変数名は、受信オクテット数が
     1166   (3)   プロトコル毎のネットワーク統計情報
     1167           以下に、 プロトコル毎のネットワーク統計情報の変数または配列
     1168         を示す。()内はインクルードファイル net/net.h に定義されてい
     1169         るプロトコル識別フラグである。また、配列変数の場合、 配列の内
     1170         容は、インクルードファイル net/net_count.h を参照すること。
     1171
     1172         [1]   PPP の HDLC(PROTO_FLG_PPP_HDLC)
     1173                 標準構造体変数で、変数名は net_count_hdlc である。
     1174
     1175         [2]   PPP の認証プロトコル(PROTO_FLG_PPP_PAP)
     1176                 標準データ型変数で、 変数名は、受信オクテット数が
    13141177
    13151178                  net_count_ppp_upap_in_octets
    13161179
    1317                é€ä¿¡ã‚ªã‚¯ãƒ†ãƒƒãƒˆæ•°ãŒ
     1180               送信オクテット数が
    13181181
    13191182                  net_count_ppp_upap_out_octets
    13201183
    1321          [3]   PPP のリンク制御プロトコル(PROTO_FLG_PPP_LCP)
    1322                  æ¨™æº–データ型変数で、変数名は、 受信オクテット数が
     1184         [3]   PPP のリンク制御プロトコル(PROTO_FLG_PPP_LCP)
     1185                 標準データ型変数で、変数名は、 受信オクテット数が
    13231186
    13241187                  net_count_ppp_lcp_in_octets
    13251188
    1326                é€ä¿¡ã‚ªã‚¯ãƒ†ãƒƒãƒˆæ•°ãŒ
     1189               送信オクテット数が
    13271190
    13281191                  net_count_ppp_lcp_out_octets
    13291192
    1330          [4]   PPP の IP 依存制御プロトコル(PROTO_FLG_PPP_IPCP)
    1331                  æ¨™æº–データ型変数で、 変数名は、受信オクテット数が
     1193         [4]   PPP の IP 依存制御プロトコル(PROTO_FLG_PPP_IPCP)
     1194                 標準データ型変数で、 変数名は、受信オクテット数が
    13321195
    13331196                  net_count_ppp_ipcp_in_octets
    13341197
    1335                é€ä¿¡ã‚ªã‚¯ãƒ†ãƒƒãƒˆæ•°ãŒ
     1198               送信オクテット数が
    13361199
    13371200                  net_count_ppp_ipcp_out_octets
    13381201
    1339          [5]   PPP å
    1340 ¨ä½“(PROTO_FLG_PPP)
    1341                  PPP å
    1342 ¨ä½“のネットワーク統計æƒ
    1343 å ±ã¯ã€ 標準構造体変数で、
    1344                å¤‰æ•°åã¯ net_count_ppp である。 また、 PPP での net_buf
    1345                ã®å‰²å½“て失敗数は、 標準データ型変数で、 変数名は
    1346                net_count_ppp_no_buf である。
    1347 
    1348          [6]   ãƒ«ãƒ¼ãƒ—バックインタフェース(PROTO_FLG_LOOP)
    1349                  æ¨™æº–構造体変数で、変数名は net_count_loop である。
    1350 
    1351          [7]   ã‚¤ãƒ¼ã‚µãƒãƒƒãƒˆãƒ‡ã‚£ãƒã‚¤ã‚¹ãƒ‰ãƒ©ã‚¤ãƒ NIC(PROTO_FLG_ETHER_NIC)
    1352                  æ¨™æº–データ型é
    1353 åˆ—変数で、 変数名は net_count_ether_nic
    1354                ã§ã‚る。
    1355 
    1356          [8]   ï¼ˆPROTO_FLG_ETHER)
    1357                  æ¨™æº–構造体変数で、変数名は net_count_ether である。
    1358 
    1359          [9]   ï¼ˆPROTO_FLG_ARP)
    1360                  æ¨™æº–構造体変数で、変数名は net_count_arp である。
    1361 
    1362          [10]  (PROTO_FLG_IP4)
    1363                  æ¨™æº–データ型é
    1364 åˆ—変数で、変数名は net_count_ip4 である。
    1365 
    1366          [11]  (PROTO_FLG_IP6)
    1367                  æ¨™æº–データ型é
    1368 åˆ—変数で、変数名は net_count_ip6 である。
    1369 
    1370          [12]  (PROTO_FLG_ICMP4)
    1371                  æ¨™æº–構造体変数で、変数名は net_count_icmp4 である。
    1372 
    1373          [13]  (PROTO_FLG_ICMP6)
    1374                  æ¨™æº–データ型é
    1375 åˆ—変数で、変数名は net_count_icmp6 である。
    1376 
    1377          [14]  (PROTO_FLG_ND6)
    1378                  æ¨™æº–データ型é
    1379 åˆ—変数で、変数名は net_count_nd6 である。
    1380 
    1381          [15]  (PROTO_FLG_UDP)
    1382                  æ¨™æº–構造体変数で、変数名は net_count_udp である。
    1383 
    1384          [16]  (PROTO_FLG_TCP)
    1385                  æ¨™æº–データ型é
    1386 åˆ—変数で、変数名は net_count_tcp である。
    1387 
    1388          [17]  (PROTO_FLG_NET_BUF)
    1389                  net_buf に関しては、 特殊であるためサンプルアプリケー
    1390                ã‚·ãƒ§ãƒ³ nserv で使用している netapp/dbg_cons.c の関数
    1391                net_count を参ç
    1392 §ã™ã‚‹ã“と。
    1393 
    1394 7. 2  SNMP 用管理æƒ
    1395 å ±ãƒ™ãƒ¼ã‚¹ï¼ˆMIB)
    1396 
    1397   コンパイル時コンフィギュレーション・ファイルのいずれかで、 マクロ
    1398 SUPPORT_MIB を定義することにより、SNMP 用管理æƒ
    1399 å ±ãƒ™ãƒ¼ã‚¹ï¼ˆMIB)に準拠し
    1400 ãŸãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯çµ±è¨ˆã®å–得が可能である。ただし、TINET 自体は、管理æƒ
    1401 å ±ãƒ™ãƒ¼
    1402 ã‚¹ï¼ˆMIB)に準拠したネットワーク統計を提供するだけで,SNMP をサポートし
    1403 ã¦ã„ない。また、RFC1213、RFC2465、RFC2466 に定義されているå
    1404 ¨ã¦ã®æƒ
    1405 å ±ãŒ
    1406 å–得できるわけではない。取得できるæƒ
    1407 å ±ã¯ã€é–¢ä¿‚するインクルードファイル
    1408 ã®æ§‹é€ ä½“の定義を参ç
    1409 §ã™ã‚‹ã“と。
    1410   以下に、グループ、構造体を定義しているインクルードファイル、構造体名、
    1411 æ§‹é€ ä½“変数名を示す。
    1412 
    1413    (1)   TCP グループ
    1414 
    1415             インクルードファイル    netinet/tcp_var.h
    1416             構造体名                T_TCP_STATS
    1417             変数名                  tcp_stats
    1418 
    1419    (2)   UDP グループ
    1420 
    1421             インクルードファイル    netinet/udp_var.h
    1422             構造体名                T_UDP_STATS
    1423             変数名                  udp_stats
    1424 
    1425    (3)   ICMPv4 グループ
    1426 
    1427             インクルードファイル    netinet/icmp_var.h
    1428             構造体名                T_ICMP_STATS
    1429             変数名                  icmp_stats
    1430 
    1431    (4)   IPv4 グループ
    1432 
    1433             インクルードファイル    netinet/ip_var.h
    1434             構造体名                T_IP_STATS
    1435             変数名                  ip_stats
    1436 
    1437    (5)   ICMPv6 グループ
    1438 
    1439             インクルードファイル    netinet/icmp6.h
    1440             構造体名                T_ICMP6_IFSTAT
    1441             変数名                  icmp6_ifstat
    1442 
    1443    (6)   IPv6 グループ
    1444 
    1445             インクルードファイル    netinet6/ip6_var.h
    1446             構造体名                T_IN6_IFSTAT
    1447             変数名                  in6_ifstat
    1448 
    1449    (7)   ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ï¼ˆã‚¤ãƒ¼ã‚µãƒãƒƒãƒˆï¼‰ã‚°ãƒ«ãƒ¼ãƒ—
    1450 
    1451             インクルードファイル    net/if_var.h
    1452             構造体名                T_IF_STATS
    1453             変数名                  if_stats
    1454 
    1455 7. 3  TINET å†
    1456 éƒ¨ã‚¢ã‚¯ã‚»ã‚¹é–¢æ•°ã€ã‚µãƒãƒ¼ãƒˆé–¢æ•°ã€å
    1457 ¨åŸŸå¤‰æ•°ã¨ãƒžã‚¯ãƒ­
    1458 
    1459   応用プログラムから TINET å†
    1460 éƒ¨ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ãŸã‚ã®é–¢æ•°ã€ サポート関数、
    1461 å
    1462 ¨åŸŸå¤‰æ•°ã¨ãƒžã‚¯ãƒ­ã§ã‚る。
    1463 
    1464    (1)   IPv6 アドレスをリテラル表現(文字列)に変換する関数
    1465          ã€C 言語 API】
     1202         [5]   PPP 全体(PROTO_FLG_PPP)
     1203                 PPP 全体のネットワーク統計情報は、 標準構造体変数で、
     1204               変数名は net_count_ppp である。 また、 PPP での net_buf
     1205               の割当て失敗数は、 標準データ型変数で、 変数名は
     1206               net_count_ppp_no_buf である。
     1207
     1208         [6]   ループバックインタフェース(PROTO_FLG_LOOP)
     1209                 標準構造体変数で、変数名は net_count_loop である。
     1210
     1211         [7]   イーサネットディバイスドライバ NIC(PROTO_FLG_ETHER_NIC)
     1212                 標準データ型配列変数で、 変数名は net_count_ether_nic
     1213               である。
     1214
     1215         [8]   (PROTO_FLG_ETHER)
     1216                 標準構造体変数で、変数名は net_count_ether である。
     1217
     1218         [9]   (PROTO_FLG_ARP)
     1219                 標準構造体変数で、変数名は net_count_arp である。
     1220
     1221         [10]  (PROTO_FLG_IP4)
     1222                 標準データ型配列変数で、変数名は net_count_ip4 である。
     1223
     1224         [11]  (PROTO_FLG_IP6)
     1225                 標準データ型配列変数で、変数名は net_count_ip6 である。
     1226
     1227         [12]  (PROTO_FLG_ICMP4)
     1228                 標準構造体変数で、変数名は net_count_icmp4 である。
     1229
     1230         [13]  (PROTO_FLG_ICMP6)
     1231                 標準データ型配列変数で、変数名は net_count_icmp6 である。
     1232
     1233         [14]  (PROTO_FLG_ND6)
     1234                 標準データ型配列変数で、変数名は net_count_nd6 である。
     1235
     1236         [15]  (PROTO_FLG_UDP)
     1237                 標準構造体変数で、変数名は net_count_udp である。
     1238
     1239         [16]  (PROTO_FLG_TCP)
     1240                 標準データ型配列変数で、変数名は net_count_tcp である。
     1241
     1242         [17]  (PROTO_FLG_NET_BUF)
     1243                 net_buf に関しては、 特殊であるためサンプルアプリケー
     1244               ション nserv で使用している netapp/dbg_cons.c の関数
     1245               net_count を参照すること。
     1246
     12477. 2  SNMP 用管理情報ベース(MIB)
     1248
     1249  コンパイル時コンフィギュレーション・ファイルのいずれかで、 マクロ
     1250SUPPORT_MIB を定義することにより、SNMP 用管理情報ベース(MIB)に準拠し
     1251たネットワーク統計の取得が可能である。ただし、TINET 自体は、管理情報ベー
     1252ス(MIB)に準拠したネットワーク統計を提供するだけで,SNMP をサポートし
     1253ていない。また、RFC1213、RFC2465、RFC2466 に定義されている全ての情報が
     1254取得できるわけではない。取得できる情報は、関係するインクルードファイル
     1255の構造体の定義を参照すること。
     1256  以下に、グループ、構造体を定義しているインクルードファイル、構造体名、
     1257構造体変数名を示す。
     1258
     1259   (1)   TCP グループ
     1260
     1261            インクルードファイル    netinet/tcp_var.h
     1262            構造体名                T_TCP_STATS
     1263            変数名                  tcp_stats
     1264
     1265   (2)   UDP グループ
     1266
     1267            インクルードファイル    netinet/udp_var.h
     1268            構造体名                T_UDP_STATS
     1269            変数名                  udp_stats
     1270
     1271   (3)   ICMPv4 グループ
     1272
     1273            インクルードファイル    netinet/icmp_var.h
     1274            構造体名                T_ICMP_STATS
     1275            変数名                  icmp_stats
     1276
     1277   (4)   IPv4 グループ
     1278
     1279            インクルードファイル    netinet/ip_var.h
     1280            構造体名                T_IP_STATS
     1281            変数名                  ip_stats
     1282
     1283   (5)   ICMPv6 グループ
     1284
     1285            インクルードファイル    netinet/icmp6.h
     1286            構造体名                T_ICMP6_IFSTAT
     1287            変数名                  icmp6_ifstat
     1288
     1289   (6)   IPv6 グループ
     1290
     1291            インクルードファイル    netinet6/ip6_var.h
     1292            構造体名                T_IN6_IFSTAT
     1293            変数名                  in6_ifstat
     1294
     1295   (7)   ネットワークインタフェース(イーサネット)グループ
     1296
     1297            インクルードファイル    net/if_var.h
     1298            構造体名                T_IF_STATS
     1299            変数名                  if_stats
     1300
     13017. 3  TINET 内部アクセス関数、サポート関数、全域変数とマクロ
     1302
     1303  応用プログラムから TINET 内部にアクセスするための関数、 サポート関数、
     1304全域変数とマクロである。
     1305
     1306   (1)   IPv6 アドレスをリテラル表現(文字列)に変換する関数
     1307         【C 言語 API】
    14661308               char *p_retbuf = ipv62str (char *p_buf, const T_IN6_ADDR *p_addr);
    14671309
    1468          ã€ãƒ‘ラメータ】
    1469                char           buf       ãƒªãƒ†ãƒ©ãƒ«è¡¨ç¾ã®IPv6アドレスを格納するバッファ
    1470                const T_IN6_ADDR         addr      IPv6アドレス
    1471 
    1472          ã€ãƒªã‚¿ãƒ¼ãƒ³ãƒ‘ラメータ】
    1473                char           retbuf    リテラル表現の IPv6 アドレスが格納されたバッファ
    1474 
    1475          ã€ã‚¤ãƒ³ã‚¯ãƒ«ãƒ¼ãƒ‰ãƒ•ã‚¡ã‚¤ãƒ«ã€‘
     1310         【パラメータ】
     1311               char           buf       リテラル表現のIPv6アドレスを格納するバッファ
     1312               const T_IN6_ADDR         addr      IPv6アドレス
     1313
     1314         【リターンパラメータ】
     1315               char           retbuf    リテラル表現の IPv6 アドレスが格納されたバッファ
     1316
     1317         【インクルードファイル】
    14761318               <netinet/in.h>
    14771319
    1478          ã€æ©Ÿèƒ½ã€‘
    1479                  IPv6 アドレスをリテラル表現(文字列)に変換する。パラ
    1480                ãƒ¡ãƒ¼ã‚¿ buf には、最低 46 バイトの領域がå¿
    1481 è¦ã§ã‚る。また、
    1482                ãƒ‘ラメータ buf に、 NULL を指定すると、TINET å†
    1483 éƒ¨ã§ç¢ºä¿
    1484                ã—てあるバッファに IPv6 アドレスをリテラル表現に変換し
    1485                ã¦æ›¸ãè¾¼ã¿ã€ãã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’返す。 コンパイル時コンフィギュ
    1486                ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ãƒ‘ラメータ NUM_IPADDR_STR_BUFF によりバッファ
    1487                æ•°ã‚’指定することが出来る。 ただし、バッファ数をè¶
    1488 ãˆã¦é€£
    1489                ç¶šçš„に呼出すとバッファを上書きする。
    1490 
    1491    (2)   è¨­å®šå¯èƒ½ãªæœ€å¤§ IPv6 アドレス数を返す関数
    1492          ã€C 言語 API】
     1320         【機能】
     1321                 IPv6 アドレスをリテラル表現(文字列)に変換する。パラ
     1322               メータ buf には、最低 46 バイトの領域が必要である。また、
     1323               パラメータ buf に、 NULL を指定すると、TINET 内部で確保
     1324               してあるバッファに IPv6 アドレスをリテラル表現に変換し
     1325               て書き込み、そのアドレスを返す。 コンパイル時コンフィギュ
     1326               レーションパラメータ NUM_IPADDR_STR_BUFF によりバッファ
     1327               数を指定することが出来る。 ただし、バッファ数を超えて連
     1328               続的に呼出すとバッファを上書きする。
     1329
     1330   (2)   設定可能な最大 IPv6 アドレス数を返す関数
     1331         【C 言語 API】
    14931332               u_int num = in6_get_maxnum_ifaddr (void);
    14941333
    1495          ã€ãƒªã‚¿ãƒ¼ãƒ³ãƒ‘ラメータ】
    1496                u_int          num       è¨­å®šå¯èƒ½ãªæœ€å¤§IPv6アドレス数
    1497 
    1498          ã€ã‚¤ãƒ³ã‚¯ãƒ«ãƒ¼ãƒ‰ãƒ•ã‚¡ã‚¤ãƒ«ã€‘
     1334         【リターンパラメータ】
     1335               u_int          num       設定可能な最大IPv6アドレス数
     1336
     1337         【インクルードファイル】
    14991338               <netinet/in.h>
    15001339
    1501          ã€æ©Ÿèƒ½ã€‘
    1502                  ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã«è¨­å®šå¯èƒ½ãªæœ€å¤§ IPv6 アド
    1503                ãƒ¬ã‚¹æ•°ã‚’返す関数である。 なお、 現在設定されている IPv6
    1504                ã‚¢ãƒ‰ãƒ¬ã‚¹æ•°ã¨ã¯ç•°ãªã‚‹ã€‚
    1505 
    1506    (3)   è¨­å®šã•ã‚Œã¦ã„ã‚‹ IPv6 アドレスを返す関数
    1507          ã€C 言語 API】
     1340         【機能】
     1341                 ネットワークインタフェースに設定可能な最大 IPv6 アド
     1342               レス数を返す関数である。 なお、 現在設定されている IPv6
     1343               アドレス数とは異なる。
     1344
     1345   (3)   設定されている IPv6 アドレスを返す関数
     1346         【C 言語 API】
    15081347               const T_IN6_ADDR *p_addr = in6_get_ifaddr (int_t index);
    15091348
    1510          ã€ãƒ‘ラメータ】
    1511                int_t     index     IPv6アドレスのインデックス値
    1512 
    1513          ã€ãƒªã‚¿ãƒ¼ãƒ³ãƒ‘ラメータ】
    1514                T_IN6_ADDR     addr      設定されているIPv6アドレスが格納されたバッファ
    1515 
    1516          ã€ã‚¤ãƒ³ã‚¯ãƒ«ãƒ¼ãƒ‰ãƒ•ã‚¡ã‚¤ãƒ«ã€‘
     1349         【パラメータ】
     1350               int_t     index     IPv6アドレスのインデックス値
     1351
     1352         【リターンパラメータ】
     1353               T_IN6_ADDR     addr      設定されているIPv6アドレスが格納されたバッファ
     1354
     1355         【インクルードファイル】
    15171356               <netinet/in.h>
    15181357
    1519          ã€æ©Ÿèƒ½ã€‘
    1520                  ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã«è¨­å®šã•ã‚Œã¦ã„ã‚‹ IPv6 アド
    1521                ãƒ¬ã‚¹ã‚’返す関数である。ただし、 未定義の場合は NULL を返
    1522                ã™ã€‚ index には 0 ~ ( 設定可能な最大 IPv6 アドレス数
    1523                -1) を指定できる。
    1524 
    1525    (4)   è¨­å®šã•ã‚Œã¦ã„ã‚‹ IPv6 アドレスを更新する関数
    1526          ã€C 言語 API】
     1358         【機能】
     1359                 ネットワークインタフェースに設定されている IPv6 アド
     1360               レスを返す関数である。ただし、 未定義の場合は NULL を返
     1361               す。 index には 0 ~ ( 設定可能な最大 IPv6 アドレス数
     1362               -1) を指定できる。
     1363
     1364   (4)   設定されている IPv6 アドレスを更新する関数
     1365         【C 言語 API】
    15271366               ER ercd = in6_upd_ifaddr (T_IN6_ADDR *p_addr,
    15281367                                         uint_t prefixlen,
     
    15301369                                         uint32_t pltime);
    15311370
    1532          ã€ãƒ‘ラメータ】
    1533                T_IN6_ADDR          addr      更新するIPv6アドレス
    1534                int_t     prefixlen プレフィックス長
    1535                int32_t   vltime    有効時間(単位は秒)
    1536                int32_t   pltime    推奨有効時間(単位は秒)
    1537 
    1538          ã€ãƒªã‚¿ãƒ¼ãƒ³ãƒ‘ラメータ】
    1539                ER        ercd      エラーコード
    1540 
    1541          ã€ã‚¨ãƒ©ãƒ¼ã‚³ãƒ¼ãƒ‰ã€‘
    1542                E_OBJ               ç©ºããŒãªã„。
    1543                E_PAR               ãƒ‘ラメータエラー(p_addrがNULL等)。
    1544 
    1545          ã€ã‚¤ãƒ³ã‚¯ãƒ«ãƒ¼ãƒ‰ãƒ•ã‚¡ã‚¤ãƒ«ã€‘
     1371         【パラメータ】
     1372               T_IN6_ADDR          addr      更新するIPv6アドレス
     1373               int_t     prefixlen プレフィックス長
     1374               int32_t   vltime    有効時間(単位は秒)
     1375               int32_t   pltime    推奨有効時間(単位は秒)
     1376
     1377         【リターンパラメータ】
     1378               ER        ercd      エラーコード
     1379
     1380         【エラーコード】
     1381               E_OBJ               空きがない。
     1382               E_PAR               パラメータエラー(p_addrがNULL等)。
     1383
     1384         【インクルードファイル】
    15461385               <netinet/in.h>
    15471386
    1548          ã€æ©Ÿèƒ½ã€‘
    1549                  ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã«è¨­å®šã•ã‚Œã¦ã„ã‚‹ IPv6 アド
    1550                ãƒ¬ã‚¹ã®ãƒ—レフィックス長、有効時間、 推奨有効時間を更新す
    1551                ã‚‹ã€‚ ただし、未定義の場合は追加する。
    1552 
    1553    (5)   è¨­å®šã•ã‚Œã¦ã„ã‚‹ IPv6 アドレスを削除する関数
    1554          ã€C 言語 API】
     1387         【機能】
     1388                 ネットワークインタフェースに設定されている IPv6 アド
     1389               レスのプレフィックス長、有効時間、 推奨有効時間を更新す
     1390               る。 ただし、未定義の場合は追加する。
     1391
     1392   (5)   設定されている IPv6 アドレスを削除する関数
     1393         【C 言語 API】
    15551394               ER ercd = in6_del_ifaddr (T_IN6_ADDR *p_addr);
    15561395
    1557          ã€ãƒ‘ラメータ】
    1558                T_IN6_ADDR          addr      削除するIPv6アドレス
    1559 
    1560          ã€ãƒªã‚¿ãƒ¼ãƒ³ãƒ‘ラメータ】
    1561                ER        ercd      エラーコード
    1562 
    1563          ã€ã‚¨ãƒ©ãƒ¼ã‚³ãƒ¼ãƒ‰ã€‘
    1564                E_PAR               ãƒ‘ラメータエラー(指定されたアドレスがない等)。
    1565 
    1566          ã€ã‚¤ãƒ³ã‚¯ãƒ«ãƒ¼ãƒ‰ãƒ•ã‚¡ã‚¤ãƒ«ã€‘
     1396         【パラメータ】
     1397               T_IN6_ADDR          addr      削除するIPv6アドレス
     1398
     1399         【リターンパラメータ】
     1400               ER        ercd      エラーコード
     1401
     1402         【エラーコード】
     1403               E_PAR               パラメータエラー(指定されたアドレスがない等)。
     1404
     1405         【インクルードファイル】
    15671406               <netinet/in.h>
    15681407
    1569          ã€æ©Ÿèƒ½ã€‘
    1570                  ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã«è¨­å®šã•ã‚Œã¦ã„ã‚‹ IPv6 アド
    1571                ãƒ¬ã‚¹ã‚’削除する。
    1572 
    1573    (6)   è¨­å®šå¯èƒ½ãªæœ€å¤§ IPv4 アドレス数を返す関数
    1574          ã€C 言語 API】
     1408         【機能】
     1409                 ネットワークインタフェースに設定されている IPv6 アド
     1410               レスを削除する。
     1411
     1412   (6)   設定可能な最大 IPv4 アドレス数を返す関数
     1413         【C 言語 API】
    15751414               uint_t num = in4_get_maxnum_ifaddr (void);
    15761415
    15771416
    1578          ã€ãƒªã‚¿ãƒ¼ãƒ³ãƒ‘ラメータ】
    1579                uint_t         num       è¨­å®šå¯èƒ½ãªæœ€å¤§IPv4アドレス数を返す関数
    1580 
    1581          ã€ã‚¤ãƒ³ã‚¯ãƒ«ãƒ¼ãƒ‰ãƒ•ã‚¡ã‚¤ãƒ«ã€‘
     1417         【リターンパラメータ】
     1418               uint_t         num       設定可能な最大IPv4アドレス数を返す関数
     1419
     1420         【インクルードファイル】
    15821421               <netinet/in.h>
    15831422
    1584          ã€æ©Ÿèƒ½ã€‘
    1585                  ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã«è¨­å®šå¯èƒ½ãªæœ€å¤§ IPv4 アド
    1586                ãƒ¬ã‚¹æ•°ã‚’返す関数である。なお、現在は常に 1 を返す。
    1587 
    1588    (7)   ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã« IPv4 アドレスを設定する関数
    1589          ã€C 言語 API】
     1423         【機能】
     1424                 ネットワークインタフェースに設定可能な最大 IPv4 アド
     1425               レス数を返す関数である。なお、現在は常に 1 を返す。
     1426
     1427   (7)   インタフェースに IPv4 アドレスを設定する関数
     1428         【C 言語 API】
    15901429               ER ercd = in4_add_ifaddr (T_IN4_ADDR addr, T_IN4_ADDR mask);
    15911430
    1592          ã€ãƒ‘ラメータ】
    1593                T_IN4_ADDR          addr      IPアドレス
    1594                T_IN4_ADDR          mask      サブネットマスク
    1595 
    1596          ã€ãƒªã‚¿ãƒ¼ãƒ³ãƒ‘ラメータ】
    1597                ER        ercd      エラーコード(現在は常にE_OK)
    1598 
    1599          ã€ã‚¨ãƒ©ãƒ¼ã‚³ãƒ¼ãƒ‰ã€‘
    1600                E_OK                現在は常にE_OK
    1601 
    1602          ã€ã‚¤ãƒ³ã‚¯ãƒ«ãƒ¼ãƒ‰ãƒ•ã‚¡ã‚¤ãƒ«ã€‘
     1431         【パラメータ】
     1432               T_IN4_ADDR          addr      IPアドレス
     1433               T_IN4_ADDR          mask      サブネットマスク
     1434
     1435         【リターンパラメータ】
     1436               ER        ercd      エラーコード(現在は常にE_OK)
     1437
     1438         【エラーコード】
     1439               E_OK                現在は常にE_OK
     1440
     1441         【インクルードファイル】
    16031442               <netinet/in.h>
    16041443
    1605          ã€æ©Ÿèƒ½ã€‘
    1606                  ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã« IPv4 アドレスを設定する。
    1607 
    1608    (8)   IPv4 用静的経路表に経路æƒ
    1609 å ±ã‚’設定する関数
    1610          ã€C 言語 API】
     1444         【機能】
     1445                 インタフェースに IPv4 アドレスを設定する。
     1446
     1447   (8)   IPv4 用静的経路表に経路情報を設定する関数
     1448         【C 言語 API】
    16111449               ER ercd = in4_add_route (int index, T_IN4_ADDR target,
    16121450                                                   T_IN4_ADDR mask,
    16131451                                                   T_IN4_ADDR gateway);
    16141452
    1615          ã€ãƒ‘ラメータ】
    1616                int       index     ã‚¨ãƒ³ãƒˆãƒªã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹
    1617                T_IN4_ADDR          target    目標ネットワークのIPアドレス
    1618                T_IN4_ADDR          mask      目標ネットワークのサブネットマスク
    1619                T_IN4_ADDR          gateway   ã‚²ãƒ¼ãƒˆã‚¦ã‚§ã‚¤ã®IPアドレス
    1620 
    1621          ã€ãƒªã‚¿ãƒ¼ãƒ³ãƒ‘ラメータ】
    1622                ER        ercd      エラーコード
    1623 
    1624          ã€ã‚¨ãƒ©ãƒ¼ã‚³ãƒ¼ãƒ‰ã€‘
    1625                E_PAR               å¼•æ•°indexの値が負か、コンパイル時コンフィギュレーション
    1626                                    ãƒ‘ラメータNUM_ROUTE_ENTRY以上のときE_PAR
    1627 
    1628          ã€ã‚¤ãƒ³ã‚¯ãƒ«ãƒ¼ãƒ‰ãƒ•ã‚¡ã‚¤ãƒ«ã€‘
     1453         【パラメータ】
     1454               int       index     エントリのインデックス
     1455               T_IN4_ADDR          target    目標ネットワークのIPアドレス
     1456               T_IN4_ADDR          mask      目標ネットワークのサブネットマスク
     1457               T_IN4_ADDR          gateway   ゲートウェイのIPアドレス
     1458
     1459         【リターンパラメータ】
     1460               ER        ercd      エラーコード
     1461
     1462         【エラーコード】
     1463               E_PAR               引数indexの値が負か、コンパイル時コンフィギュレーション
     1464                                   パラメータNUM_ROUTE_ENTRY以上のときE_PAR
     1465
     1466         【インクルードファイル】
    16291467               <netinet/in.h>
    16301468
    1631          ã€æ©Ÿèƒ½ã€‘
    1632                  IPv4 用静的経路表に経路æƒ
    1633 å ±ã‚’設定する。
    1634 
    1635    (9)   IPv4 アドレスをリテラル表現(文字列)に変換する関数
    1636          ã€C 言語 API】
     1469         【機能】
     1470                 IPv4 用静的経路表に経路情報を設定する。
     1471
     1472   (9)   IPv4 アドレスをリテラル表現(文字列)に変換する関数
     1473         【C 言語 API】
    16371474               char *p_retbuf = ip2str (char *p_buf, const T_IN4_ADDR *p_ipaddr);
    16381475
    1639          ã€ãƒ‘ラメータ】
    1640                char           buf       ãƒªãƒ†ãƒ©ãƒ«è¡¨ç¾ã®IPv4アドレスを格納するバッファ
    1641                const T_IN4_ADDR         ipaddr    IPv4アドレス
    1642 
    1643          ã€ãƒªã‚¿ãƒ¼ãƒ³ãƒ‘ラメータ】
    1644                char           retbuf    リテラル表現の IPv4 アドレスが格納されたバッファ
    1645 
    1646          ã€ã‚¤ãƒ³ã‚¯ãƒ«ãƒ¼ãƒ‰ãƒ•ã‚¡ã‚¤ãƒ«ã€‘
     1476         【パラメータ】
     1477               char           buf       リテラル表現のIPv4アドレスを格納するバッファ
     1478               const T_IN4_ADDR         ipaddr    IPv4アドレス
     1479
     1480         【リターンパラメータ】
     1481               char           retbuf    リテラル表現の IPv4 アドレスが格納されたバッファ
     1482
     1483         【インクルードファイル】
    16471484               <netinet/in.h>
    16481485
    1649          ã€æ©Ÿèƒ½ã€‘
    1650                  IPv4 アドレスをリテラル表現(文字列)に変換する。パラ
    1651                ãƒ¡ãƒ¼ã‚¿ buf には、最低 16 バイトの領域がå¿
    1652 è¦ã§ã‚る。また、
    1653                ãƒ‘ラメータ buf に、 NULL を指定すると、TINET å†
    1654 éƒ¨ã§ç¢ºä¿
    1655                ã—てあるバッファに IPv4 アドレスをリテラル表現に変換し
    1656                ã¦æ›¸ãè¾¼ã¿ã€ãã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’返す。 コンパイル時コンフィギュ
    1657                ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ãƒ‘ラメータ NUM_IPADDR_STR_BUFF によりバッファ
    1658                æ•°ã‚’指定することが出来る。 ただし、バッファ数をè¶
    1659 ãˆã¦é€£
    1660                ç¶šçš„に呼出すとバッファを上書きする。
    1661 
    1662    (10)  ITRON TCP/IP API 機能コードを文字表現に変換する関数
    1663          ã€C 言語 API】
     1486         【機能】
     1487                 IPv4 アドレスをリテラル表現(文字列)に変換する。パラ
     1488               メータ buf には、最低 16 バイトの領域が必要である。また、
     1489               パラメータ buf に、 NULL を指定すると、TINET 内部で確保
     1490               してあるバッファに IPv4 アドレスをリテラル表現に変換し
     1491               て書き込み、そのアドレスを返す。 コンパイル時コンフィギュ
     1492               レーションパラメータ NUM_IPADDR_STR_BUFF によりバッファ
     1493               数を指定することが出来る。 ただし、バッファ数を超えて連
     1494               続的に呼出すとバッファを上書きする。
     1495
     1496   (10)  ITRON TCP/IP API 機能コードを文字表現に変換する関数
     1497         【C 言語 API】
    16641498               const char *p_str = in_strtfn (FN fncd);
    16651499
    1666          ã€ãƒ‘ラメータ】
    1667                FN        fncd      ITRON TCP/IP API 機能コード
    1668 
    1669          ã€ãƒªã‚¿ãƒ¼ãƒ³ãƒ‘ラメータ】
    1670                const char          str       ITRON TCP/IP API 機能コードの文字表現
    1671 
    1672          ã€ã‚¤ãƒ³ã‚¯ãƒ«ãƒ¼ãƒ‰ãƒ•ã‚¡ã‚¤ãƒ«ã€‘
     1500         【パラメータ】
     1501               FN        fncd      ITRON TCP/IP API 機能コード
     1502
     1503         【リターンパラメータ】
     1504               const char          str       ITRON TCP/IP API 機能コードの文字表現
     1505
     1506         【インクルードファイル】
    16731507               <netinet/in.h>
    16741508
    1675          ã€æ©Ÿèƒ½ã€‘
    1676                  ITRON TCP/IP API 機能コードを文字表現に変換する。
    1677 
    1678    (11)  MAC アドレスをリテラル表現(文字列)に変換する関数
    1679          ã€C 言語 API】
     1509         【機能】
     1510                 ITRON TCP/IP API 機能コードを文字表現に変換する。
     1511
     1512   (11)  MAC アドレスをリテラル表現(文字列)に変換する関数
     1513         【C 言語 API】
    16801514               char *p_retbuf = mac2str (char *p_buf, uint8_t *p_macaddr);
    16811515
    1682          ã€ãƒ‘ラメータ】
    1683                char      buf       ãƒªãƒ†ãƒ©ãƒ«è¡¨ç¾ã®MACアドレスを格納するバッファ
    1684                uint8_t   macaddr   MACアドレス
    1685 
    1686          ã€ãƒªã‚¿ãƒ¼ãƒ³ãƒ‘ラメータ】
    1687                char      retbuf    リテラル表現の MAC アドレスが格納されたバッファ
    1688 
    1689          ã€ã‚¤ãƒ³ã‚¯ãƒ«ãƒ¼ãƒ‰ãƒ•ã‚¡ã‚¤ãƒ«ã€‘
    1690                <sil.h>   TOPPERS/ASP ではå¿
    1691 è¦
     1516         【パラメータ】
     1517               char      buf       リテラル表現のMACアドレスを格納するバッファ
     1518               uint8_t   macaddr   MACアドレス
     1519
     1520         【リターンパラメータ】
     1521               char      retbuf    リテラル表現の MAC アドレスが格納されたバッファ
     1522
     1523         【インクルードファイル】
     1524               <sil.h>   TOPPERS/ASP では必要
    16921525               <net/net.h>
    16931526
    1694          ã€æ©Ÿèƒ½ã€‘
    1695                  MAC アドレスをリテラル表現(文字列)に変換する。 パラ
    1696                ãƒ¡ãƒ¼ã‚¿ buf には、最低 18 バイトの領域がå¿
    1697 è¦ã§ã‚る。また、
    1698                ãƒ‘ラメータ buf に、NULL を指定すると、 TINET å†
    1699 éƒ¨ã§ç¢ºä¿
    1700                ã—てあるバッファに MAC アドレスをリテラル表現に変換して
    1701                æ›¸ãè¾¼ã¿ã€ そのアドレスを返す。コンパイル時コンフィギュ
    1702                ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ãƒ‘ラメータ NUM_MACADDR_STR_BUFF によりバッファ
    1703                æ•°ã‚’指定することが出来る。ただし、 バッファ数をè¶
    1704 ãˆã¦é€£
    1705                ç¶šçš„に呼出すとバッファを上書きする。
    1706 
    1707    (12)  IPv4 アドレスを IPv6 の IPv4 射影アドレスに変換する関数
    1708          ã€C 言語 API】
     1527         【機能】
     1528                 MAC アドレスをリテラル表現(文字列)に変換する。 パラ
     1529               メータ buf には、最低 18 バイトの領域が必要である。また、
     1530               パラメータ buf に、NULL を指定すると、 TINET 内部で確保
     1531               してあるバッファに MAC アドレスをリテラル表現に変換して
     1532               書き込み、 そのアドレスを返す。コンパイル時コンフィギュ
     1533               レーションパラメータ NUM_MACADDR_STR_BUFF によりバッファ
     1534               数を指定することが出来る。ただし、 バッファ数を超えて連
     1535               続的に呼出すとバッファを上書きする。
     1536
     1537   (12)  IPv4 アドレスを IPv6 の IPv4 射影アドレスに変換する関数
     1538         【C 言語 API】
    17091539               T_IN6_ADDR *p_dstaddr = in6_make_ipv4mapped (T_IN6_ADDR *dst,
    17101540                                                            T_IN4_ADDR src);
    17111541
    1712          ã€ãƒ‘ラメータ】
    1713                T_IN6_ADDR          *dst      格納å
    1714 ˆã®IPv6アドレス変数へのポインタ
    1715                T_IN4_ADDR          src       å¤‰æ›ã™ã‚‹IPv4アドレス
    1716 
    1717          ã€ãƒªã‚¿ãƒ¼ãƒ³ãƒ‘ラメータ】
    1718                T_IN6_ADDR          *p_dstaddr                                        格納å
    1719 ˆã®IPv6アドレス変数へのポインタ
    1720 
    1721          ã€ã‚¤ãƒ³ã‚¯ãƒ«ãƒ¼ãƒ‰ãƒ•ã‚¡ã‚¤ãƒ«ã€‘
     1542         【パラメータ】
     1543               T_IN6_ADDR          *dst      格納先のIPv6アドレス変数へのポインタ
     1544               T_IN4_ADDR          src       変換するIPv4アドレス
     1545
     1546         【リターンパラメータ】
     1547               T_IN6_ADDR          *p_dstaddr                                        格納先のIPv6アドレス変数へのポインタ
     1548
     1549         【インクルードファイル】
    17221550               <netinet/in.h>
    17231551
    1724          ã€æ©Ÿèƒ½ã€‘
    1725                  IPv4 アドレスを IPv6 の IPv4 射影アドレスに変換する。
    1726 
    1727    (13)  指定した IPv6 アドレスが IPv4 射影アドレスかを判定する関数
    1728          ã€C 言語 API】
     1552         【機能】
     1553                 IPv4 アドレスを IPv6 の IPv4 射影アドレスに変換する。
     1554
     1555   (13)  指定した IPv6 アドレスが IPv4 射影アドレスかを判定する関数
     1556         【C 言語 API】
    17291557               bool_t ret = in6_is_addr_ipv4mapped (const T_IN6_ADDR *addr);
    17301558
    1731          ã€ãƒ‘ラメータ】
    1732                T_IN6_ADDR          *p_dstaddr                                        判定するIPv6アドレス変数へのポインタ
    1733 
    1734          ã€ãƒªã‚¿ãƒ¼ãƒ³ãƒ‘ラメータ】
    1735                bool_t    ret       IPv6アドレスがIPv4射影アドレスであればtrueが返される。
    1736 
    1737          ã€ã‚¤ãƒ³ã‚¯ãƒ«ãƒ¼ãƒ‰ãƒ•ã‚¡ã‚¤ãƒ«ã€‘
     1559         【パラメータ】
     1560               T_IN6_ADDR          *p_dstaddr                                        判定するIPv6アドレス変数へのポインタ
     1561
     1562         【リターンパラメータ】
     1563               bool_t    ret       IPv6アドレスがIPv4射影アドレスであればtrueが返される。
     1564
     1565         【インクルードファイル】
    17381566               <netinet/in.h>
    17391567
    1740          ã€æ©Ÿèƒ½ã€‘
    1741                  æŒ‡å®šã—た IPv6 アドレスが IPv4 射影アドレスかを判定す
    1742                ã‚‹ã€‚IPv6 アドレスが IPv4 射影アドレスであれば true が返
    1743                ã•ã‚Œã‚‹ã€‚
    1744 
    1745    (14)  IPv6 の特殊なアドレスに対応するå
    1746 ¨åŸŸå¤‰æ•°
    1747          ã€C 言語 API】
     1568         【機能】
     1569                 指定した IPv6 アドレスが IPv4 射影アドレスかを判定す
     1570               る。IPv6 アドレスが IPv4 射影アドレスであれば true が返
     1571               される。
     1572
     1573   (14)  IPv6 の特殊なアドレスに対応する全域変数
     1574         【C 言語 API】
    17481575               const T_IN6_ADDR in6_addr_unspecified;
    17491576               const T_IN6_ADDR in6_addr_linklocal_allnodes;
    17501577               const T_IN6_ADDR in6_addr_linklocal_allrouters;
    17511578
    1752          ã€æ©Ÿèƒ½ã€‘
    1753                  IPv6 では、アドレス長が 128 ビット(16 バイト)で、値
    1754                ã‚’マクロで定義することができないために用意したå
    1755 ¨åŸŸå¤‰æ•°
    1756                ã§ã‚り、以下のように、 メモリ操作関数を呼び出してコピーする。
     1579         【機能】
     1580                 IPv6 では、アドレス長が 128 ビット(16 バイト)で、値
     1581               をマクロで定義することができないために用意した全域変数
     1582               であり、以下のように、 メモリ操作関数を呼び出してコピーする。
    17571583                  memcpy(&myaddr.ipaddr, &in6_addr_unspecified, sizeof(T_IN6_ADDR));
    17581584
    1759    (15)  IPv6 の IPV6_ADDRANY に対応するå
    1760 ¨åŸŸå¤‰æ•°
    1761          ã€C 言語 API】
     1585   (15)  IPv6 の IPV6_ADDRANY に対応する全域変数
     1586         【C 言語 API】
    17621587               const T_IN6_ADDR ipv6_addrany;
    17631588
    1764          ã€æ©Ÿèƒ½ã€‘
    1765                  T_IPV6EP の ipaddr フィールドに、値 IPV4_ADDRANY を代
    1766                å
    1767 ¥ã™ã‚‹ã¨ãã€IPv4 では、
     1589         【機能】
     1590                 T_IPV6EP の ipaddr フィールドに、値 IPV4_ADDRANY を代
     1591               入するとき、IPv4 では、
    17681592                  myaddr.ipaddr = IPV4_ADDRANY;
    17691593
    1770                ã¨æŒ‡å®šã§ãã‚‹ãŒã€IPv6 では、同様の指定ができないために用
    1771                æ„ã—たå
    1772 ¨åŸŸå¤‰æ•°ã§ã‚り、 以下のように、メモリ操作関数を呼
    1773                ã³å‡ºã—てコピーする。
     1594               と指定できるが、IPv6 では、同様の指定ができないために用
     1595               意した全域変数であり、 以下のように、メモリ操作関数を呼
     1596               び出してコピーする。
    17741597                  memcpy(&myaddr.ipaddr, &ipv6_addrany, sizeof(T_IN6_ADDR));
    17751598
    1776                ãªãŠã€ã“のå
    1777 ¨åŸŸå¤‰æ•°ã¯ãƒžã‚¯ãƒ­ã§å®šç¾©ã—ている。
    1778 
    1779    (16)  TINET のバージョンæƒ
    1780 å ±ãƒžã‚¯ãƒ­
    1781          ã€C 言語 API】
     1599               なお、この全域変数はマクロで定義している。
     1600
     1601   (16)  TINET のバージョン情報マクロ
     1602         【C 言語 API】
    17821603               TINET_PRVER
    17831604
    1784          ã€ãƒ“ットé
    1785 åˆ†ã€‘
    1786                ãƒ“ット12~15        メジャーリリース(現在の値は1)
    1787                ãƒ“ット4~11         ãƒžã‚¤ãƒŠãƒ¼ãƒªãƒªãƒ¼ã‚¹ï¼ˆç¾åœ¨ã®å€¤ã¯7)
    1788                ãƒ“ット3~0          パッチレベル(現在の値は0)
    1789 
    1790          ã€ã‚¤ãƒ³ã‚¯ãƒ«ãƒ¼ãƒ‰ãƒ•ã‚¡ã‚¤ãƒ«ã€‘
     1605         【ビット配分】
     1606               ビット12~15        メジャーリリース(現在の値は1)
     1607               ビット4~11         マイナーリリース(現在の値は7)
     1608               ビット3~0          パッチレベル(現在の値は0)
     1609
     1610         【インクルードファイル】
    17911611               <net/net.h>
    17921612
    1793    (17)  8 ビット毎に指定した IPv4 アドレスを 32 ビットにするマクロ
    1794          ã€C 言語 API】
     1613   (17)  8 ビット毎に指定した IPv4 アドレスを 32 ビットにするマクロ
     1614         【C 言語 API】
    17951615               T_IN4_ADDR addr = MAKE_IPV4_ADDR(uint8_t a, uint8_t b,
    17961616                                                uint8_t c, uint8_t d);
    17971617
    1798          ã€ãƒ‘ラメータ】
    1799                uint8_t   a         IPv4アドレスのビット24~31
    1800                uint8_t   b         IPv4アドレスのビット16~23
    1801                uint8_t   c         IPv4アドレスのビット8~15
    1802                uint8_t   d         IPv4アドレスのビット0~7
    1803 
    1804          ã€ãƒªã‚¿ãƒ¼ãƒ³ãƒ‘ラメータ】
    1805                T_IN4_ADDR          addr      32ビットのIPv4アドレス
    1806 
    1807          ã€ã‚¤ãƒ³ã‚¯ãƒ«ãƒ¼ãƒ‰ãƒ•ã‚¡ã‚¤ãƒ«ã€‘
     1618         【パラメータ】
     1619               uint8_t   a         IPv4アドレスのビット24~31
     1620               uint8_t   b         IPv4アドレスのビット16~23
     1621               uint8_t   c         IPv4アドレスのビット8~15
     1622               uint8_t   d         IPv4アドレスのビット0~7
     1623
     1624         【リターンパラメータ】
     1625               T_IN4_ADDR          addr      32ビットのIPv4アドレス
     1626
     1627         【インクルードファイル】
    18081628               <netinet/in.h>
    18091629
    1810          ã€æ©Ÿèƒ½ã€‘
    1811                  å„オクテットの値から IPv4 アドレスを生成する。
    1812 
    1813    (18)  一般定数マクロ
    1814 
    1815          TCP_REP_NONE        該当する TCP 受付口が無い。値は(0)。
    1816          TCP_CEP_NONE        該当する TCP 通信端点が無い。値は(0)。
    1817          UDP_CEP_NONE        該当する UDP 通信端点が無い。値は(0)。
    1818 
    1819 7. 4  応用プログラムコールバック関数
    1820 
    1821   TINET から呼出される応用プログラムコールバック関数であり、応用プログ
    1822 ãƒ©ãƒ å´ã§ç”¨æ„ã™ã‚‹å¿
    1823 è¦ãŒã‚る。
    1824 
    1825    (1)   IPv4 アドレス重複検出時のコールバック関数
    1826          ã€C 言語 API】
     1630         【機能】
     1631                 各オクテットの値から IPv4 アドレスを生成する。
     1632
     1633   (18)  一般定数マクロ
     1634
     1635         TCP_REP_NONE        該当する TCP 受付口が無い。値は(0)。
     1636         TCP_CEP_NONE        該当する TCP 通信端点が無い。値は(0)。
     1637         UDP_CEP_NONE        該当する UDP 通信端点が無い。値は(0)。
     1638
     16397. 4  応用プログラムコールバック関数
     1640
     1641  TINET から呼出される応用プログラムコールバック関数であり、応用プログ
     1642ラム側で用意する必要がある。
     1643
     1644   (1)   IPv4 アドレス重複検出時のコールバック関数
     1645         【C 言語 API】
    18271646               boot_t reply = arp_callback_duplicated(uint8_t *shost);
    18281647
    1829          ã€ãƒ‘ラメータ】
    1830                uint8_t   shost     é‡è¤‡ç›¸æ‰‹ã®MACアドレス
    1831 
    1832          ã€ãƒªã‚¿ãƒ¼ãƒ³ãƒ‘ラメータ】
    1833                bool_t    reply     é‡è¤‡ã®é€šçŸ¥
    1834 
    1835          ã€ã‚¤ãƒ³ã‚¯ãƒ«ãƒ¼ãƒ‰ãƒ•ã‚¡ã‚¤ãƒ«ã€‘
     1648         【パラメータ】
     1649               uint8_t   shost     重複相手のMACアドレス
     1650
     1651         【リターンパラメータ】
     1652               bool_t    reply     重複の通知
     1653
     1654         【インクルードファイル】
    18361655               <netinet/if_ether.h>
    18371656
    1838          ã€ã‚³ãƒ³ãƒ‘イル時コンフィギュレーションパラメータ】
     1657         【コンパイル時コンフィギュレーションパラメータ】
    18391658               ARP_CFG_CALLBACK_DUPLICATED
    18401659
    1841          ã€æ©Ÿèƒ½ã€‘
    1842                  æˆ»ã‚Šå€¤ã« TRUE を指定すると、TINET で重複相手の MAC ア
    1843                ãƒ‰ãƒ¬ã‚¹ã‚’ syslog に出力し、 重複相手にも重複したことを伝
    1844                ãˆã‚‹ã€‚FALSE を指定すると何もしない。
    1845 
    1846 8.  謝辞
    1847 
    1848   本 TCP/IP プロトコルスタックは、次の組織の皆様の御支援により研究・開
    1849 ç™ºã‚’行いました。関係各位に感謝いたします。
    1850 
    1851    (1)   è²¡å›£æ³•äººé“央産業技術振興機構様
    1852 
    1853          [1]   äº‹æ¥­åï¼ˆå®Ÿæ–½å¹´åº¦ï¼‰
    1854                é«˜åº¦æŠ€è¡“開発委託事業(平成 12 年度)
    1855          [2]   ãƒ†ãƒ¼ãƒžå
    1856                çµ„込み型制御システム用 TCP/IP プロトコルスタックの開発
    1857 
    1858    (2)   æ ªå¼ä¼šç¤¾ NTT ドコモ北海道苫小牧支店様
    1859    (3)   çµŒæ¸ˆç”£æ¥­çœæ±åŒ—経済産業局(委託å
    1860 ˆç®¡ç†æ³•äºº: 財団法人みやぎ産業
    1861          æŒ¯èˆˆæ©Ÿæ§‹ï¼‰æ§˜
    1862 
    1863          [1]   äº‹æ¥­åï¼ˆå®Ÿæ–½å¹´åº¦ï¼‰
    1864                åœ°åŸŸæ–°ç”Ÿã‚³ãƒ³ã‚½ãƒ¼ã‚·ã‚¢ãƒ ç ”究開発事業(平成14年度~15年度)
    1865          [2]   ãƒ†ãƒ¼ãƒžå
    1866                çµ„込みシステム・オープンプラットホームの構築とその実用化開発
    1867 
    1868    (4)   å®®åŸŽçœŒç”£æ¥­æŠ€è¡“総合センター様
    1869    (5)   TOPPERS プロジェクト様
    1870    (6)   æ ªå¼ä¼šç¤¾ãƒ´ã‚£ãƒƒãƒ„様
    1871    (7)   è²¡å›£æ³•äººé›»æ°—・電子æƒ
    1872 å ±å­¦è¡“振興財団様
    1873 
    1874          [1]   ç¬¬ 6 回 LSI IP デザイン・アワード IP 受賞
    1875               (2004 年、 平成 16 å¹´ 5 月 20 日)
    1876                ã‚ªãƒ¼ãƒ—ンソースの組込みシステム用 TCP/IP
    1877                ãƒ—ロトコルスタック : TINET
    1878          [2]   ç¬¬ 7 回 LSI IP デザイン・アワード IP 受賞
    1879               (2005 年、 平成 17 å¹´ 5 月 19 日)
    1880                çµ„込みシステム用 IP バージョン 6 対応 TCP/IP
    1881                ãƒ—ロトコルスタック : TINET-1.2
    1882 
    1883    (8)   æ ªå¼ä¼šç¤¾åŒ—斗電子様
    1884    (9)   æœ‰é™ä¼šç¤¾å“å·é€šä¿¡è¨ˆè£
    1885 ã‚µãƒ¼ãƒ“ス様
    1886    (10)  北海道立工業試験場様
    1887 
    1888          [1]   äº‹æ¥­åï¼ˆå®Ÿæ–½å¹´åº¦ï¼‰
    1889                é‡ç‚¹é ˜åŸŸç‰¹åˆ¥ç ”究(平成 17 年度~ 18 年度)
    1890          [2]   ãƒ†ãƒ¼ãƒžå
    1891                çµ„込みシステム向けネットワーク接続ソフトウェア群の開発
    1892 
    1893    (11)  総務省北海道総合通信局様
    1894 
    1895          [1]   äº‹æ¥­åï¼ˆå®Ÿæ–½å¹´åº¦ï¼‰
    1896                æˆ¦ç•¥çš„æƒ
    1897 å ±é€šä¿¡ç ”究開発推進制度【SCOPE】「地域 ICT 振興
    1898                åž‹ç ”究開発」(平成 22 年度~平成 23 年度)
    1899          [2]   ãƒ†ãƒ¼ãƒžå
    1900                ãƒ¦ãƒ“キタスサービスプラットフォームに対応した組込みシス
    1901                ãƒ†ãƒ ç”¨ TCP/IP プロトコルスタックとサポートシステムの研究開発
    1902 
    1903    (12)  ルネサスエレクトロニクス株式会社様
    1904 
    1905    (13)  経済産業省北海道経済産業局様
    1906 
    1907          [1]   äº‹æ¥­åï¼ˆå®Ÿæ–½å¹´åº¦ï¼‰
    1908                ä¸­å°ä¼æ¥­çµŒå–¶æ”¯æ´ç­‰å¯¾ç­–費補助金「戦略的基盤技術高度化支援事業」
    1909                ï¼ˆå¹³æˆ 26 年度~平成 28 年度)
    1910          [2]   ãƒ†ãƒ¼ãƒžå
    1911                è¾²æ¥­æ©Ÿæ¢°ã®ã•ã‚‰ãªã‚‹é«˜åº¦åŒ–と海外進出に資する
    1912                æ¬¡ä¸–代電子制御ソフトウェア基盤の開発
    1913 
    1914 9.  ライセンス
    1915 
    1916   TINET は FreeBSD をå
    1917 ƒã«é–‹ç™ºã‚’行ったため、 TINET を含むソフトウェアを、
    1918 ä»–のソフトウェア開発に使用できない形で再é
    1919 å¸ƒã™ã‚‹å ´åˆï¼ˆTOPPERS ライセン
    1920 ã‚¹ (3) に規程されている形æ
    1921 ‹ï¼‰ã¯ã€ TOPPERS ライセンス (3) の (b) の報告
    1922 ã ã‘では不十分で、(a) による方法がå¿
    1923 è¦ã§ã‚る。
    1924   以下に示す TOPPERS、 FreeBSD および FreeBSD へのソフトウェアの寄贈è€
    1925 
    1926 ã®ãƒ©ã‚¤ã‚»ãƒ³ã‚¹è¦å®šã«å¾“って、再é
    1927 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€
    1928 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãª
    1929 ã©ï¼‰ã«ã€ãƒ©ã‚¤ã‚»ãƒ³ã‚¹è¡¨ç¤ºã‚’行うと。
     1660         【機能】
     1661                 戻り値に TRUE を指定すると、TINET で重複相手の MAC ア
     1662               ドレスを syslog に出力し、 重複相手にも重複したことを伝
     1663               える。FALSE を指定すると何もしない。
     1664
     16658.  謝辞
     1666
     1667  本 TCP/IP プロトコルスタックは、次の組織の皆様の御支援により研究・開
     1668発を行いました。関係各位に感謝いたします。
     1669
     1670   (1)   財団法人道央産業技術振興機構様
     1671
     1672         [1]   事業名(実施年度)
     1673               高度技術開発委託事業(平成 12 年度)
     1674         [2]   テーマ名
     1675               組込み型制御システム用 TCP/IP プロトコルスタックの開発
     1676
     1677   (2)   株式会社 NTT ドコモ北海道苫小牧支店様
     1678   (3)   経済産業省東北経済産業局(委託先管理法人: 財団法人みやぎ産業
     1679         振興機構)様
     1680
     1681         [1]   事業名(実施年度)
     1682               地域新生コンソーシアム研究開発事業(平成14年度~15年度)
     1683         [2]   テーマ名
     1684               組込みシステム・オープンプラットホームの構築とその実用化開発
     1685
     1686   (4)   宮城県産業技術総合センター様
     1687   (5)   TOPPERS プロジェクト様
     1688   (6)   株式会社ヴィッツ様
     1689   (7)   財団法人電気・電子情報学術振興財団様
     1690
     1691         [1]   第 6 回 LSI IP デザイン・アワード IP 受賞
     1692              (2004 年、 平成 16 年 5 月 20 日)
     1693               オープンソースの組込みシステム用 TCP/IP
     1694               プロトコルスタック : TINET
     1695         [2]   第 7 回 LSI IP デザイン・アワード IP 受賞
     1696              (2005 年、 平成 17 年 5 月 19 日)
     1697               組込みシステム用 IP バージョン 6 対応 TCP/IP
     1698               プロトコルスタック : TINET-1.2
     1699
     1700   (8)   株式会社北斗電子様
     1701   (9)   有限会社品川通信計装サービス様
     1702   (10)  北海道立工業試験場様
     1703
     1704         [1]   事業名(実施年度)
     1705               重点領域特別研究(平成 17 年度~ 18 年度)
     1706         [2]   テーマ名
     1707               組込みシステム向けネットワーク接続ソフトウェア群の開発
     1708
     1709   (11)  総務省北海道総合通信局様
     1710
     1711         [1]   事業名(実施年度)
     1712               戦略的情報通信研究開発推進制度【SCOPE】「地域 ICT 振興
     1713               型研究開発」(平成 22 年度~平成 23 年度)
     1714         [2]   テーマ名
     1715               ユビキタスサービスプラットフォームに対応した組込みシス
     1716               テム用 TCP/IP プロトコルスタックとサポートシステムの研究開発
     1717
     1718   (12)  ルネサスエレクトロニクス株式会社様
     1719
     1720   (13)  経済産業省北海道経済産業局様
     1721
     1722         [1]   事業名(実施年度)
     1723               中小企業経営支援等対策費補助金「戦略的基盤技術高度化支援事業」
     1724               (平成 26 年度~平成 28 年度)
     1725         [2]   テーマ名
     1726               農業機械のさらなる高度化と海外進出に資する
     1727               次世代電子制御ソフトウェア基盤の開発
     1728
     17299.  ライセンス
     1730
     1731  TINET は FreeBSD を元に開発を行ったため、 TINET を含むソフトウェアを、
     1732他のソフトウェア開発に使用できない形で再配布する場合(TOPPERS ライセン
     1733ス (3) に規程されている形態)は、 TOPPERS ライセンス (3) の (b) の報告
     1734だけでは不十分で、(a) による方法が必要である。
     1735  以下に示す TOPPERS、 FreeBSD および FreeBSD へのソフトウェアの寄贈者
     1736のライセンス規定に従って、再配布に伴うドキュメント(利用者マニュアルな
     1737ど)に、ライセンス表示を行うと。
    19301738
    19311739(1)FreeBSD
     
    19951803    */
    19961804
    1997 (3)イーサネット・ディバイスドライバ
     1805(3)イーサネット・ディバイスドライバ
    19981806
    19991807   /*
     
    20911899    *              Graduate School of Information Science, Nagoya Univ., JAPAN
    20921900    *
    2093     *  上記著作権è€
    2094 ã¯ï¼Œä»¥ä¸‹ã®(1)~(4)の条件を満たす場合に限り,本ソフトウェ
    2095     *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
    2096     *  変・再é
    2097 å¸ƒï¼ˆä»¥ä¸‹ï¼Œåˆ©ç”¨ã¨å‘¼ã¶ï¼‰ã™ã‚‹ã“とを無償で許諾する.
    2098     *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
    2099     *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
    2100     *      スコード中に含まれていること.
    2101     *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
    2102     *      用できる形で再é
    2103 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é
    2104 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
    2105     *      è€
    2106 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—作権表示,この利用条件および下記
    2107     *      の無保証規定を掲載すること.
    2108     *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
    2109     *      用できない形で再é
    2110 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
    2111     *      と.
    2112     *    (a) 再é
    2113 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€
    2114 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—
    2115     *        作権表示,この利用条件および下記の無保証規定を掲載すること.
    2116     *    (b) 再é
    2117 å¸ƒã®å½¢æ
    2118 ‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
    2119     *        報告すること.
    2120     *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
    2121     *      害からも,上記著作権è€
    2122 ãŠã‚ˆã³TOPPERSプロジェクトをå
    2123 è²¬ã™ã‚‹ã“と.
    2124     *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
    2125     *      由に基づく請求からも,上記著作権è€
    2126 ãŠã‚ˆã³TOPPERSプロジェクトを
    2127     *      å
    2128 è²¬ã™ã‚‹ã“と.
     1901    *  上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
     1902    *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
     1903    *  変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
     1904    *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
     1905    *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
     1906    *      スコード中に含まれていること.
     1907    *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
     1908    *      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
     1909    *      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
     1910    *      の無保証規定を掲載すること.
     1911    *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
     1912    *      用できない形で再配布する場合には,次のいずれかの条件を満たすこ
     1913    *      と.
     1914    *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
     1915    *        作権表示,この利用条件および下記の無保証規定を掲載すること.
     1916    *    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
     1917    *        報告すること.
     1918    *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
     1919    *      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
     1920    *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
     1921    *      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
     1922    *      免責すること.
    21291923    *
    2130     *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    2131 ãŠ
    2132     *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    2133     *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    2134     *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    2135     *  の責任を負わない.
     1924    *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     1925    *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     1926    *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     1927    *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     1928    *  の責任を負わない.
    21361929    *
    21371930    *  $Id$
     
    21501943    *              Graduate School of Information Science, Nagoya Univ., JAPAN
    21511944    *
    2152     *  上記著作権è€
    2153 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    2154     *  によってå
    2155 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public License の Version 2 に記
    2156     *  述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア
    2157     *  を改変したものを含む.以下同じ)を使用・複製・改変・再é
    2158 å¸ƒï¼ˆä»¥ä¸‹ï¼Œ
    2159     *  利用と呼ぶ)することを無償で許諾する.
    2160     *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
    2161     *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
    2162     *      スコード中に含まれていること.
    2163     *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
    2164     *      用できる形で再é
    2165 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é
    2166 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
    2167     *      è€
    2168 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—作権表示,この利用条件および下記
    2169     *      の無保証規定を掲載すること.
    2170     *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
    2171     *      用できない形で再é
    2172 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
    2173     *      と.
    2174     *    (a) 再é
    2175 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€
    2176 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—
    2177     *        作権表示,この利用条件および下記の無保証規定を掲載すること.
    2178     *    (b) 再é
    2179 å¸ƒã®å½¢æ
    2180 ‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
    2181     *        報告すること.
    2182     *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
    2183     *      害からも,上記著作権è€
    2184 ãŠã‚ˆã³TOPPERSプロジェクトをå
    2185 è²¬ã™ã‚‹ã“と.
     1945    *  上記著作権者は,以下の (1)~(4) の条件か,Free Software Foundation
     1946    *  によって公表されている GNU General Public License の Version 2 に記
     1947    *  述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア
     1948    *  を改変したものを含む.以下同じ)を使用・複製・改変・再配布(以下,
     1949    *  利用と呼ぶ)することを無償で許諾する.
     1950    *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
     1951    *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
     1952    *      スコード中に含まれていること.
     1953    *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
     1954    *      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
     1955    *      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
     1956    *      の無保証規定を掲載すること.
     1957    *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
     1958    *      用できない形で再配布する場合には,次のいずれかの条件を満たすこ
     1959    *      と.
     1960    *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
     1961    *        作権表示,この利用条件および下記の無保証規定を掲載すること.
     1962    *    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
     1963    *        報告すること.
     1964    *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
     1965    *      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
    21861966    *
    2187     *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    2188 ãŠ
    2189     *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    2190     *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    2191     *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     1967    *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     1968    *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     1969    *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     1970    *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    21921971    *
    21931972    *  @(#) $Id$
     
    22021981    *  Copyright (C) 2007-2012 by TAKAGI Nobuhisa
    22031982    *
    2204     *  上記著作権è€
    2205 ã¯ï¼Œä»¥ä¸‹ã®(1)~(4)の条件を満たす場合に限り,本ソフトウェ
    2206     *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
    2207     *  変・再é
    2208 å¸ƒï¼ˆä»¥ä¸‹ï¼Œåˆ©ç”¨ã¨å‘¼ã¶ï¼‰ã™ã‚‹ã“とを無償で許諾する.
    2209     *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
    2210     *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
    2211     *      スコード中に含まれていること.
    2212     *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
    2213     *      用できる形で再é
    2214 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é
    2215 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
    2216     *      è€
    2217 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—作権表示,この利用条件および下記
    2218     *      の無保証規定を掲載すること.
    2219     *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
    2220     *      用できない形で再é
    2221 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
    2222     *      と.
    2223     *    (a) 再é
    2224 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€
    2225 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—
    2226     *        作権表示,この利用条件および下記の無保証規定を掲載すること.
    2227     *    (b) 再é
    2228 å¸ƒã®å½¢æ
    2229 ‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
    2230     *        報告すること.
    2231     *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
    2232     *      害からも,上記著作権è€
    2233 ãŠã‚ˆã³TOPPERSプロジェクトをå
    2234 è²¬ã™ã‚‹ã“と.
    2235     *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
    2236     *      由に基づく請求からも,上記著作権è€
    2237 ãŠã‚ˆã³TOPPERSプロジェクトを
    2238     *      å
    2239 è²¬ã™ã‚‹ã“と.
     1983    *  上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
     1984    *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
     1985    *  変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
     1986    *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
     1987    *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
     1988    *      スコード中に含まれていること.
     1989    *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
     1990    *      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
     1991    *      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
     1992    *      の無保証規定を掲載すること.
     1993    *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
     1994    *      用できない形で再配布する場合には,次のいずれかの条件を満たすこ
     1995    *      と.
     1996    *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
     1997    *        作権表示,この利用条件および下記の無保証規定を掲載すること.
     1998    *    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
     1999    *        報告すること.
     2000    *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
     2001    *      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
     2002    *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
     2003    *      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
     2004    *      免責すること.
    22402005    *
    2241     *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    2242 ãŠ
    2243     *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    2244     *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    2245     *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    2246     *  の責任を負わない.
     2006    *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     2007    *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     2008    *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     2009    *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     2010    *  の責任を負わない.
    22472011    *
    22482012    */
     
    22562020    *                   Tomakomai National College of Technology, JAPAN
    22572021    *
    2258     *  上記著作権è€
    2259 ã¯ï¼Œä»¥ä¸‹ã®(1)~(4)の条件を満たす場合に限り,本ソフトウェ
    2260     *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
    2261     *  変・再é
    2262 å¸ƒï¼ˆä»¥ä¸‹ï¼Œåˆ©ç”¨ã¨å‘¼ã¶ï¼‰ã™ã‚‹ã“とを無償で許諾する.
    2263     *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
    2264     *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
    2265     *      スコード中に含まれていること.
    2266     *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
    2267     *      用できる形で再é
    2268 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é
    2269 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
    2270     *      è€
    2271 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—作権表示,この利用条件および下記
    2272     *      の無保証規定を掲載すること.
    2273     *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
    2274     *      用できない形で再é
    2275 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
    2276     *      と.
    2277     *    (a) 再é
    2278 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€
    2279 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—
    2280     *        作権表示,この利用条件および下記の無保証規定を掲載すること.
    2281     *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
    2282     *      害からも,上記著作権è€
    2283 ãŠã‚ˆã³TOPPERSプロジェクトをå
    2284 è²¬ã™ã‚‹ã“と.
    2285     *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
    2286     *      由に基づく請求からも,上記著作権è€
    2287 ãŠã‚ˆã³TOPPERSプロジェクトを
    2288     *      å
    2289 è²¬ã™ã‚‹ã“と.
     2022    *  上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
     2023    *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
     2024    *  変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
     2025    *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
     2026    *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
     2027    *      スコード中に含まれていること.
     2028    *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
     2029    *      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
     2030    *      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
     2031    *      の無保証規定を掲載すること.
     2032    *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
     2033    *      用できない形で再配布する場合には,次のいずれかの条件を満たすこ
     2034    *      と.
     2035    *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
     2036    *        作権表示,この利用条件および下記の無保証規定を掲載すること.
     2037    *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
     2038    *      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
     2039    *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
     2040    *      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
     2041    *      免責すること.
    22902042    *
    2291     *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    2292 ãŠ
    2293     *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    2294     *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    2295     *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    2296     *  の責任を負わない.
     2043    *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     2044    *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     2045    *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     2046    *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     2047    *  の責任を負わない.
    22972048    *
    22982049    *  @(#) $Id$
  • rubycfg_asp/trunk/asp_dcre/tinet/doc/tinet_chg.txt

    • Property svn:mime-type changed from text/plain to text/plane; charset=UTF-8
    r313 r315  
    1                       TINET 変更メモ  [2017/4/5]
    2 
    3 1.  リリース 1.5.x から 1.7 までの変更
    4 
    5    (1)   IPv6/IPv4 デュアルスタック化を行った。リリース 1.7 以前では、
    6          Makefile で、 ネットワーク層の選択は SUPPORT_INET6 と
    7          SUPPORT_INET4 の指定は何れか一つのみ選択できたが、 リリース
    8          1.7 からは SUPPORT_INET6 と SUPPORT_INET4 の両方を指定できる
    9          ã‚ˆã†ã«ãªã£ãŸã€‚
    10 
    11    (2)   IPv6 に対応するアプリケーションで IPv4 射影アドレスを利用して、
    12          IPv4 データグラムを扱う場合に指定するコンパイル時コンフィギュ
    13          ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ãƒ‘ラメータ API_CFG_IP4MAPPED_ADDR を追加した。
    14 
    15    (3)   IPv6/IPv4 デュアルスタック化のため、Makefile.tinet では、IPv6
    16          å°‚用モジュールと IPv4 専用モジュールの区別をせず、 å
    17 ¨ã¦ã‚³ãƒ³ãƒ‘
    18          ã‚¤ãƒ«ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ã—た。
    19 
    20    (4)   IPv6/IPv4 デュアルスタック化のため、 IPv6 専用モジュールと
    21          IPv4 専用モジュールのコンパイルの有効・無効をソースコードで行
    22          ã†ã‚ˆã†ã«å¤‰æ›´ã—た。
    23 
    24    (5)   IPv6/IPv4 デュアルスタック化と IPv4 射影アドレスの実è£
    25 ã®ãŸã‚ã€
    26          IPv6 専用モジュールのコンパイルを有効にするマクロ _IP6_CFG と、
    27          IPv4 専用モジュールのコンパイルを有効にするマクロ _IP4_CFG を
    28          è¿½åŠ ã—た。以下に設定する条件を示す。
     1                      TINET 変更メモ  [2017/4/5]
     2
     31.  リリース 1.5.x から 1.7 までの変更
     4
     5   (1)   IPv6/IPv4 デュアルスタック化を行った。リリース 1.7 以前では、
     6         Makefile で、 ネットワーク層の選択は SUPPORT_INET6 と
     7         SUPPORT_INET4 の指定は何れか一つのみ選択できたが、 リリース
     8         1.7 からは SUPPORT_INET6 と SUPPORT_INET4 の両方を指定できる
     9         ようになった。
     10
     11   (2)   IPv6 に対応するアプリケーションで IPv4 射影アドレスを利用して、
     12         IPv4 データグラムを扱う場合に指定するコンパイル時コンフィギュ
     13         レーションパラメータ API_CFG_IP4MAPPED_ADDR を追加した。
     14
     15   (3)   IPv6/IPv4 デュアルスタック化のため、Makefile.tinet では、IPv6
     16         専用モジュールと IPv4 専用モジュールの区別をせず、 全てコンパ
     17         イルするように変更した。
     18
     19   (4)   IPv6/IPv4 デュアルスタック化のため、 IPv6 専用モジュールと
     20         IPv4 専用モジュールのコンパイルの有効・無効をソースコードで行
     21         うように変更した。
     22
     23   (5)   IPv6/IPv4 デュアルスタック化と IPv4 射影アドレスの実装のため、
     24         IPv6 専用モジュールのコンパイルを有効にするマクロ _IP6_CFG と、
     25         IPv4 専用モジュールのコンパイルを有効にするマクロ _IP4_CFG を
     26         追加した。以下に設定する条件を示す。
    2927
    3028         SUPPORT_INET6              .   .  ON  ON  ON  ON
     
    3533         _IP4_CFG                  ON  ON   .  ON  ON  ON
    3634
    37    (6)   çµŒè·¯é¸æŠžã«é–¢ã™ã‚‹å¤‰æ›´ã‚’以下に示す。
    38 
    39          [1]   route_cfg.c の IPv6 用の routing_tbl を routing6_tbl に
    40                å¤‰æ›´ã—た。
    41          [2]   route_cfg.c の IPv4 用の routing_tbl を routing4_tbl に
    42                å¤‰æ›´ã—た。
    43          [3]   NUM_STATIC_ROUTE_ENTRY を、 IPv6 では
    44                NUM_IN6_STATIC_ROUTE_ENTRY、 IPv4 では
    45                NUM_IN4_STATIC_ROUTE_ENTRY と個別に定義するように変更した。
    46          [4]   NUM_REDIRECT_ROUTE_ENTRY を、 IPv6 では
    47                NUM_IN6_REDIRECT_ROUTE_ENTRY、 IPv4 では
    48                NUM_IN4_REDIRECT_ROUTE_ENTRY と個別に定義するように変更した。
    49 
    50    (7)   if_ed.c で、受信するフレーム形式に関する変更を以下に示す。
    51 
    52          [1]   SUPPORT_INET6 と SUPPORT_INET4 を指定したときは、自分の
    53                ä»–に、 ブロードキャストとマルチキャストを受信するように
    54                è¨­å®šã™ã‚‹ã€‚
    55          [2]   SUPPORT_INET6 のみ指定した時は、自分の他に、 マルチキャ
    56                ã‚¹ãƒˆã®ã¿å—信するように設定する。
    57          [3]   SUPPORT_INET4 のみ指定した時は、 自分の他に、ブロードキャ
    58                ã‚¹ãƒˆã®ã¿å—信するように設定する。
    59 
    60    (8)   TCP 通信端点に関する変更を以下に示す。
    61 
    62          [1]   TCP 通信端点の定義は、TINET å†
    63 éƒ¨ã®å®Ÿè£
    64 ä¸Šã€ IPv6 と IPv4
    65                ã§åŒºåˆ¥ã—ないように変更した。
    66          [2]   TCP 通信端点構造体の大å
    67 ƒã®å®šç¾©ã¯ã€ t_tcp_cep と
    68                T_TCP_CEP である。
    69          [3]   TCP 通信端点構造体の定義である IPv6 用の T_TCP6_CEP と
    70                IPv4 用の T_TCP4_CEP は、マクロで定義している。
    71          [4]   é™çš„ API の CRE6_TCP_CEP と CRE_TCP_CEP によって定義す
    72                ã‚‹ TCP 通信端点は、定義上別のオブジェクトとして識別する
    73                ãŒã€TCP 通信端点 ID の値は連続して割当てる。 TCP 通信端
    74                ç‚¹ ID の値の割当て順番を以下に示す。
    75 
    76                ãƒ»IPv6 用の TCP 通信端点を割当てる静的 API の
    77                  TCP6_CRE_CEP。
    78                ãƒ»IPv6 用の TCP 通信端点の予約 ID を割当てる静的 API の
    79                  VRID_TCP6_CEP。
    80                ãƒ»IPv4 用の TCP 通信端点を割当てる静的 API の
    81                  TCP_CRE_CEP。
    82                ãƒ»IPv4 用の TCP 通信端点の予約 ID を割当てる静的 API の
    83                  VRID_TCP_CEP。
    84 
    85          [5]   TCP 通信端点é
    86 åˆ— tcp_cep では、 IPv6 用と IPv4 用を区別
    87                ã—ない。なお、IPv4 用の T_TCP4_CEP によって定義する TCP
    88                é€šä¿¡ç«¯ç‚¹ã®ã‚¨ãƒ³ãƒˆãƒªã®ãƒ¡ãƒ³ãƒ flags(通信端点フラグ、
    89                netinet/tcp_var.h 参ç
    90 §ï¼‰ã«ã¯ TCP_CEP_FLG_IPV4 を付加する。
    91          [6]   TCP 通信端点 ID の最大値を表す変数 tmax_tcp_cep は IPv6
    92                ã¨ IPv4 の合計(正確には tinet_cfg.c の定義を参ç
    93 §ï¼‰ã§ã‚
    94                ã‚‹ã€‚ また、 IPv6 用の tmax_tcp6_cep と IPv4 用の
    95                tmax_tcp4_cep も tinet_cfg.c に出力し、SUPPORT_INET6 と
    96                SUPPORT_INET4 の両方を指定した場合に有効になる。
    97          [7]   TCP 通信端点数を表すマクロ TNUM_TCP_CEPID に関して、
    98                IPv6 用の TNUM_TCP6_CEPID と IPv4 用の TNUM_TCP4_CEPID
    99                ã®å®šç¾©ã‚‚追加し、 tinet_cfg.h(TOPPERS/ASP)、tinet_id.h
    100                ï¼ˆTOPPERS/JSP)に出力する。
    101          [8]   ä»¥ä¸‹ã® API では、IPv6 用の TCP 通信端点 ID と IPv4 用の
    102                TCP 通信端点 ID を区別して指定しなければならない。 異な
    103                ã‚‹ TCP 通信端点 ID が指定された場合は、エラー E_ID を返す。
    104 
    105                ãƒ»tcp_acp_cep
    106                ãƒ»tcp_con_cep
    107                ãƒ»tcp6_acp_cep
    108                ãƒ»tcp6_con_cep
    109 
    110    (9)   TCP 受付口に関する変更を以下に示す。
    111 
    112          [1]   TCP 受付口é
    113 åˆ— tcp_rep は、 SUPPORT_INET6 と
    114                SUPPORT_INET4 の指定により、 マクロで定義し、 IPv6 用の
    115                tcp6_rep と IPv4 用の tcp4_rep を個別に割当てる。
    116          [2]   TCP 受付口 ID の最大値を表す変数 tmax_tcp_rep は IPv6
    117                ã¨ IPv4 の合計(正確には tinet_cfg.c の定義を参ç
    118 §ï¼‰ã§ã‚
    119                ã‚‹ã€‚ また、 IPv6 用の tmax_tcp6_rep と IPv4 用の
    120                tmax_tcp4_rep も tinet_cfg.c に出力し、SUPPORT_INET6 と
    121                SUPPORT_INET4 の両方を指定した場合に有効になる。 マクロ
    122                ã§å®šç¾©ã™ã‚‹ã€‚
    123          [3]   TCP 通信端点数を表すマクロ TNUM_TCP_REPID に関して、
    124                IPv6 用の TNUM_TCP6_REPID と IPv4 用の TNUM_TCP4_REPID
    125                ã®å®šç¾©ã‚‚追加し、 tinet_cfg.h(TOPPERS/ASP)、tinet_id.h
    126                ï¼ˆTOPPERS/JSP)に出力する。 これに伴い、
    127                TCP_CFG_PASSIVE_OPEN の指定は不要になった。
    128 
    129    (10)  UDP 通信端点に関する変更を以下に示す。
    130 
    131          [1]   UDP 通信端点é
    132 åˆ— udp_cep は、 SUPPORT_INET6 と
    133                SUPPORT_INET4 の指定により、 マクロで定義し、 IPv6 用の
    134                udp6_cep と IPv4 用の udp4_cep を個別に割当てる。
    135          [2]   UDP 通信端点 ID の最大値を表す変数 tmax_tcp_rep は IPv6
    136                ã¨ IPv4 の合計(正確には tinet_cfg.c の定義を参ç
    137 §ï¼‰ã§ã‚
    138                ã‚‹ã€‚ また、 IPv6 用の tmax_udp6_cep と IPv4 用の
    139                tmax_udp4_cep も tinet_cfg.c に出力し、SUPPORT_INET6 と
    140                SUPPORT_INET4 の両方を指定した場合に有効になる。 マクロ
    141                ã§å®šç¾©ã™ã‚‹ã€‚
    142          [3]   UDP 通信端点数を表すマクロ TNUM_UDP_REPID に関して、
    143                IPv6 用の TNUM_UDP6_REPID と IPv4 用の TNUM_UDP4_REPID
    144                ã®å®šç¾©ã‚‚追加し、 tinet_cfg.h(TOPPERS/ASP)、tinet_id.h
    145                ï¼ˆTOPPERS/JSP)に出力する。
    146          [4]   SEM_UDP_CEP_LOCK<n> に関して、
    147                IPv6 用の SEM_UDP6_CEP_LOCK<n> と IPv4 用の
    148                SEM_UDP4_CEP_LOCK<n> に変更した。
    149          [5]   DTQ_UDP_RCVQ<n> に関して、
    150                IPv6 用の DTQ_UDP6_RCVQ<n> と IPv4 用の
    151                DTQ_UDP4_RCVQ<n> に変更した。
    152          [6]   IPv6/IPv4 デュアルスタック化に伴い、IPv6 と IPv4 でå
    153 ±é€š
    154                ã«ä½¿ç”¨ã•ã‚Œã‚‹é–¢æ•°ç­‰ã‚’マクロの設定で切り替えるソースファ
    155                ã‚¤ãƒ«ã‚’追加した。 以下にソースファイルの一覧を示す。
     35   (6)   経路選択に関する変更を以下に示す。
     36
     37         [1]   route_cfg.c の IPv6 用の routing_tbl を routing6_tbl に
     38               変更した。
     39         [2]   route_cfg.c の IPv4 用の routing_tbl を routing4_tbl に
     40               変更した。
     41         [3]   NUM_STATIC_ROUTE_ENTRY を、 IPv6 では
     42               NUM_IN6_STATIC_ROUTE_ENTRY、 IPv4 では
     43               NUM_IN4_STATIC_ROUTE_ENTRY と個別に定義するように変更した。
     44         [4]   NUM_REDIRECT_ROUTE_ENTRY を、 IPv6 では
     45               NUM_IN6_REDIRECT_ROUTE_ENTRY、 IPv4 では
     46               NUM_IN4_REDIRECT_ROUTE_ENTRY と個別に定義するように変更した。
     47
     48   (7)   if_ed.c で、受信するフレーム形式に関する変更を以下に示す。
     49
     50         [1]   SUPPORT_INET6 と SUPPORT_INET4 を指定したときは、自分の
     51               他に、 ブロードキャストとマルチキャストを受信するように
     52               設定する。
     53         [2]   SUPPORT_INET6 のみ指定した時は、自分の他に、 マルチキャ
     54               ストのみ受信するように設定する。
     55         [3]   SUPPORT_INET4 のみ指定した時は、 自分の他に、ブロードキャ
     56               ストのみ受信するように設定する。
     57
     58   (8)   TCP 通信端点に関する変更を以下に示す。
     59
     60         [1]   TCP 通信端点の定義は、TINET 内部の実装上、 IPv6 と IPv4
     61               で区別しないように変更した。
     62         [2]   TCP 通信端点構造体の大元の定義は、 t_tcp_cep と
     63               T_TCP_CEP である。
     64         [3]   TCP 通信端点構造体の定義である IPv6 用の T_TCP6_CEP と
     65               IPv4 用の T_TCP4_CEP は、マクロで定義している。
     66         [4]   静的 API の CRE6_TCP_CEP と CRE_TCP_CEP によって定義す
     67               る TCP 通信端点は、定義上別のオブジェクトとして識別する
     68               が、TCP 通信端点 ID の値は連続して割当てる。 TCP 通信端
     69               点 ID の値の割当て順番を以下に示す。
     70
     71               ・IPv6 用の TCP 通信端点を割当てる静的 API の
     72                 TCP6_CRE_CEP。
     73               ・IPv6 用の TCP 通信端点の予約 ID を割当てる静的 API の
     74                 VRID_TCP6_CEP。
     75               ・IPv4 用の TCP 通信端点を割当てる静的 API の
     76                 TCP_CRE_CEP。
     77               ・IPv4 用の TCP 通信端点の予約 ID を割当てる静的 API の
     78                 VRID_TCP_CEP。
     79
     80         [5]   TCP 通信端点配列 tcp_cep では、 IPv6 用と IPv4 用を区別
     81               しない。なお、IPv4 用の T_TCP4_CEP によって定義する TCP
     82               通信端点のエントリのメンバ flags(通信端点フラグ、
     83               netinet/tcp_var.h 参照)には TCP_CEP_FLG_IPV4 を付加する。
     84         [6]   TCP 通信端点 ID の最大値を表す変数 tmax_tcp_cep は IPv6
     85               と IPv4 の合計(正確には tinet_cfg.c の定義を参照)であ
     86               る。 また、 IPv6 用の tmax_tcp6_cep と IPv4 用の
     87               tmax_tcp4_cep も tinet_cfg.c に出力し、SUPPORT_INET6 と
     88               SUPPORT_INET4 の両方を指定した場合に有効になる。
     89         [7]   TCP 通信端点数を表すマクロ TNUM_TCP_CEPID に関して、
     90               IPv6 用の TNUM_TCP6_CEPID と IPv4 用の TNUM_TCP4_CEPID
     91               の定義も追加し、 tinet_cfg.h(TOPPERS/ASP)、tinet_id.h
     92               (TOPPERS/JSP)に出力する。
     93         [8]   以下の API では、IPv6 用の TCP 通信端点 ID と IPv4 用の
     94               TCP 通信端点 ID を区別して指定しなければならない。 異な
     95               る TCP 通信端点 ID が指定された場合は、エラー E_ID を返す。
     96
     97               ・tcp_acp_cep
     98               ・tcp_con_cep
     99               ・tcp6_acp_cep
     100               ・tcp6_con_cep
     101
     102   (9)   TCP 受付口に関する変更を以下に示す。
     103
     104         [1]   TCP 受付口配列 tcp_rep は、 SUPPORT_INET6 と
     105               SUPPORT_INET4 の指定により、 マクロで定義し、 IPv6 用の
     106               tcp6_rep と IPv4 用の tcp4_rep を個別に割当てる。
     107         [2]   TCP 受付口 ID の最大値を表す変数 tmax_tcp_rep は IPv6
     108               と IPv4 の合計(正確には tinet_cfg.c の定義を参照)であ
     109               る。 また、 IPv6 用の tmax_tcp6_rep と IPv4 用の
     110               tmax_tcp4_rep も tinet_cfg.c に出力し、SUPPORT_INET6 と
     111               SUPPORT_INET4 の両方を指定した場合に有効になる。 マクロ
     112               で定義する。
     113         [3]   TCP 通信端点数を表すマクロ TNUM_TCP_REPID に関して、
     114               IPv6 用の TNUM_TCP6_REPID と IPv4 用の TNUM_TCP4_REPID
     115               の定義も追加し、 tinet_cfg.h(TOPPERS/ASP)、tinet_id.h
     116               (TOPPERS/JSP)に出力する。 これに伴い、
     117               TCP_CFG_PASSIVE_OPEN の指定は不要になった。
     118
     119   (10)  UDP 通信端点に関する変更を以下に示す。
     120
     121         [1]   UDP 通信端点配列 udp_cep は、 SUPPORT_INET6 と
     122               SUPPORT_INET4 の指定により、 マクロで定義し、 IPv6 用の
     123               udp6_cep と IPv4 用の udp4_cep を個別に割当てる。
     124         [2]   UDP 通信端点 ID の最大値を表す変数 tmax_tcp_rep は IPv6
     125               と IPv4 の合計(正確には tinet_cfg.c の定義を参照)であ
     126               る。 また、 IPv6 用の tmax_udp6_cep と IPv4 用の
     127               tmax_udp4_cep も tinet_cfg.c に出力し、SUPPORT_INET6 と
     128               SUPPORT_INET4 の両方を指定した場合に有効になる。 マクロ
     129               で定義する。
     130         [3]   UDP 通信端点数を表すマクロ TNUM_UDP_REPID に関して、
     131               IPv6 用の TNUM_UDP6_REPID と IPv4 用の TNUM_UDP4_REPID
     132               の定義も追加し、 tinet_cfg.h(TOPPERS/ASP)、tinet_id.h
     133               (TOPPERS/JSP)に出力する。
     134         [4]   SEM_UDP_CEP_LOCK<n> に関して、
     135               IPv6 用の SEM_UDP6_CEP_LOCK<n> と IPv4 用の
     136               SEM_UDP4_CEP_LOCK<n> に変更した。
     137         [5]   DTQ_UDP_RCVQ<n> に関して、
     138               IPv6 用の DTQ_UDP6_RCVQ<n> と IPv4 用の
     139               DTQ_UDP4_RCVQ<n> に変更した。
     140         [6]   IPv6/IPv4 デュアルスタック化に伴い、IPv6 と IPv4 で共通
     141               に使用される関数等をマクロの設定で切り替えるソースファ
     142               イルを追加した。 以下にソースファイルの一覧を示す。
    156143
    157144               netinet/tcpn_usrreq.c
     
    162149               netinet/udpn_usrreq_nblk.c
    163150
    164    (11)  バグフィックス(toppers-users 関係)
    165 
    166          [1]   ãƒªãƒˆãƒ«ã‚¨ãƒ³ãƒ‡ã‚£ã‚¢ãƒ³ã®ãƒ—ロセッサで、ICMP エラーの宛å
    167 ˆã‚¢ãƒ‰
    168                ãƒ¬ã‚¹ã®ãƒã‚¤ãƒˆã‚ªãƒ¼ãƒ€ãƒ¼ãŒé€†ã«ãªã‚‹å•é¡Œã‚’修正した。
    169          [2]   ICMP のエコー応答で、送信å
    170 ƒã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’受信したメッセージ
    171                ã®å®›å
    172 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ã§ã¯ãªãã€ 自 IPv4 アドレスを設定するよう
    173                ã«ä¿®æ­£ã—た(toppers-users 4113)。
    174          [3]   tcp_rcv_dat() をブロッキングして呼出し、 受信å¾
    175 ã¡ã®çŠ¶æ
    176 ‹
    177                ã§ã€ç›¸æ‰‹ã‹ã‚‰ FIN セグメントを受信しても復帰しない事があ
    178                ã‚‹å•é¡Œã‚’修正した(toppers-users 4351)。
    179          [4]   tcp_cls_cep() をブロッキングして呼出し、切断しても、 コー
    180                ãƒ«ãƒãƒƒã‚¯ã•ã‚Œãªã„問題を修正した(toppers-users 4612)。
    181 
    182    (12)  送信ウィンドバッファの省コピー機能を有効にした時、 TCP の再送
    183          åˆ¶å¾¡ãŒæ­£ã—く動作しないことがある問題を修正した。
    184 
    185    (13)  データリンク層のフレーム最短長を定義する IF_MIN_LEN を追加した。
    186 
    187    (14)  イーサネットのフレーム最短長を定義する ETHER_MIN_LEN を追加した。
    188 
    189    (15)  net/net.h からバイトオーダー関係の定義を net/net_endian.h に
    190          åˆ†é›¢ã—した。
    191 
    192    (16)  受動オープンしていないポートに接続要求があった場合、 環境によっ
    193          ã¦ã¯ä¾‹å¤–が発生することがある問題を修正した。
    194 
    195    (17)  ip_output.c で、SUPPORT_IPSEC の条件 if 文の表記を修正した。
    196 
    197    (18)  TCP_CFG_RWBUF_CSAVE_MAX_QUEUES を既定値では未定義にした。
    198 
    199    (19)  TCP のコネクションの確立時のタイムアウトを BSD と同じ約 75 秒
    200          ã«è¨­å®šã—た。
    201 
    202    (20)  TCP のコネクションの確立時においてネットワークバッファに空き
    203          ãŒãªã„時に、 再送を行わない問題を修正した。
    204 
    205    (21)  TCP の処理をキャンセルした時、 受信再構成キューとウィンドバッ
    206          ãƒ•ã‚¡ã‚­ãƒ¥ãƒ¼ãŒæ­£ã—く解放されない問題を修正した。
    207 
    208    (22)  リトルエンディアンのプロセッサおいて、同一 LAN å†
    209 ã¸ã®ãƒ–ロード
    210          ã‚­ãƒ£ã‚¹ãƒˆã‚¢ãƒ‰ãƒ¬ã‚¹ã® UDP の受信ができない問題を修正した。
    211 
    212    (23)  DHCP_CFG を指定した時、 IPV4_ADDR_DEFAULT_GW が未定義なる問題
    213          ã«é–¢ã—て、 サンプルプログラムの tinet_app_config.h に
    214          IPV4_ADDR_DEFAULT_GW の定義を追加した。
    215 
    216    (24)  UDP で ICMP/ICMPv6 通知メッセージを処理するように変更した。た
    217          ã ã—、通知メッセージは UDP で受信するが、その後の処理は未定である。
    218 
    219    (25)  in_strtfn() で表示される TFN_TCP_CRE_REP を TEV_TCP_RCV_OOB
    220          ã«å¤‰æ›´ã—た。
    221 
    222    (26)  in_strtfn() で表示される TFN_UDP_CRE_CEP を TEV_UDP_RCV_DAT
    223          ã«å¤‰æ›´ã—た。
    224 
    225    (27)  tinet の独自 API として、 IPv6 アドレスを更新(登録されていな
    226          ã‘れば追加)する関数 in6_upd_ifaddr を追加した。
    227 
    228    (28)  乱数の更新に使用するため ETHER_CFG_COLLECT_ADDR を定義した。
    229          æŒ‡å®šã™ã‚‹ã¨ä¸€å®šå‘¨æœŸï¼ˆ256 回のフレーム受信毎)に送信å
    230 ƒã® MAC ア
    231          ãƒ‰ãƒ¬ã‚¹ã«ã‚ˆã‚Šä¹±æ•°ã‚’更新する。
    232 
    233    (29)  DHCP を使用するときに定義する DHCP_CFG を DHCP4_CLI_CFG に変
    234          æ›´ã—た。 なお、DHCP_CFG を指定すると DHCP4_CLI_CFG も定義される。
    235 
    236    (30)  DHCPv6 を使用するときに定義する DHCP6_CLI_CFG を追加した。
    237 
    238    (31)  ppp_ccp.c から #include <net/net_debug.h> を削除した。
    239 
    240    (32)  TINET リリース 1.2 の tinet/doc/tinet-1.2.txt((リリース
    241          1.1.1 からリリース 1.2 への移行[2004/7/27])の、「3. 変更推
    242          å¥¨é 
    243 ç›®ã€ã€(1) から (3) に述べられている以下のコンパイル時コン
    244          ãƒ•ã‚£ã‚®ãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ãƒ‘ラメータと構造体名は「変更å¿
    245 é ˆé 
    246 ç›®ã€ã«ãªã£ãŸã€‚
     151   (11)  バグフィックス(toppers-users 関係)
     152
     153         [1]   リトルエンディアンのプロセッサで、ICMP エラーの宛先アド
     154               レスのバイトオーダーが逆になる問題を修正した。
     155         [2]   ICMP のエコー応答で、送信元アドレスを受信したメッセージ
     156               の宛先アドレスではなく、 自 IPv4 アドレスを設定するよう
     157               に修正した(toppers-users 4113)。
     158         [3]   tcp_rcv_dat() をブロッキングして呼出し、 受信待ちの状態
     159               で、相手から FIN セグメントを受信しても復帰しない事があ
     160               る問題を修正した(toppers-users 4351)。
     161         [4]   tcp_cls_cep() をブロッキングして呼出し、切断しても、 コー
     162               ルバックされない問題を修正した(toppers-users 4612)。
     163
     164   (12)  送信ウィンドバッファの省コピー機能を有効にした時、 TCP の再送
     165         制御が正しく動作しないことがある問題を修正した。
     166
     167   (13)  データリンク層のフレーム最短長を定義する IF_MIN_LEN を追加した。
     168
     169   (14)  イーサネットのフレーム最短長を定義する ETHER_MIN_LEN を追加した。
     170
     171   (15)  net/net.h からバイトオーダー関係の定義を net/net_endian.h に
     172         分離しした。
     173
     174   (16)  受動オープンしていないポートに接続要求があった場合、 環境によっ
     175         ては例外が発生することがある問題を修正した。
     176
     177   (17)  ip_output.c で、SUPPORT_IPSEC の条件 if 文の表記を修正した。
     178
     179   (18)  TCP_CFG_RWBUF_CSAVE_MAX_QUEUES を既定値では未定義にした。
     180
     181   (19)  TCP のコネクションの確立時のタイムアウトを BSD と同じ約 75 秒
     182         に設定した。
     183
     184   (20)  TCP のコネクションの確立時においてネットワークバッファに空き
     185         がない時に、 再送を行わない問題を修正した。
     186
     187   (21)  TCP の処理をキャンセルした時、 受信再構成キューとウィンドバッ
     188         ファキューが正しく解放されない問題を修正した。
     189
     190   (22)  リトルエンディアンのプロセッサおいて、同一 LAN 内へのブロード
     191         キャストアドレスの UDP の受信ができない問題を修正した。
     192
     193   (23)  DHCP_CFG を指定した時、 IPV4_ADDR_DEFAULT_GW が未定義なる問題
     194         に関して、 サンプルプログラムの tinet_app_config.h に
     195         IPV4_ADDR_DEFAULT_GW の定義を追加した。
     196
     197   (24)  UDP で ICMP/ICMPv6 通知メッセージを処理するように変更した。た
     198         だし、通知メッセージは UDP で受信するが、その後の処理は未定である。
     199
     200   (25)  in_strtfn() で表示される TFN_TCP_CRE_REP を TEV_TCP_RCV_OOB
     201         に変更した。
     202
     203   (26)  in_strtfn() で表示される TFN_UDP_CRE_CEP を TEV_UDP_RCV_DAT
     204         に変更した。
     205
     206   (27)  tinet の独自 API として、 IPv6 アドレスを更新(登録されていな
     207         ければ追加)する関数 in6_upd_ifaddr を追加した。
     208
     209   (28)  乱数の更新に使用するため ETHER_CFG_COLLECT_ADDR を定義した。
     210         指定すると一定周期(256 回のフレーム受信毎)に送信元の MAC ア
     211         ドレスにより乱数を更新する。
     212
     213   (29)  DHCP を使用するときに定義する DHCP_CFG を DHCP4_CLI_CFG に変
     214         更した。 なお、DHCP_CFG を指定すると DHCP4_CLI_CFG も定義される。
     215
     216   (30)  DHCPv6 を使用するときに定義する DHCP6_CLI_CFG を追加した。
     217
     218   (31)  ppp_ccp.c から #include <net/net_debug.h> を削除した。
     219
     220   (32)  TINET リリース 1.2 の tinet/doc/tinet-1.2.txt((リリース
     221         1.1.1 からリリース 1.2 への移行[2004/7/27])の、「3. 変更推
     222         奨項目」、(1) から (3) に述べられている以下のコンパイル時コン
     223         フィギュレーションパラメータと構造体名は「変更必須項目」になった。
    247224
    248225         [1]   NUM_ROUTE_ENTRY
    249                NUM_IN4_STATIC_ROUTE_ENTRY に変更する。
     226               NUM_IN4_STATIC_ROUTE_ENTRY に変更する。
    250227         [2]   NUM_IN4_REDIRECT_ROUTE_ENTRY
    251                æ–°ãŸã«å®šç¾©ã™ã‚‹ã€‚
     228               新たに定義する。
    252229         [3]   T_RT_ENTRY
    253                T_IN4_RTENTRY に変更する。
    254 
    255    (33)  NUM_IN4_ROUTE_ENTRY を定義するファイルを、 以下のように変更した。
    256          tinet/netinet/in4_var.h → tinet/tinet_config.h
    257 
    258    (34)  NUM_IN6_ROUTE_ENTRY を定義するファイルを、 以下のように変更した。
    259          tinet/netinet6/in6_var.h → tinet/tinet_config.h
    260 
    261    (35)  ARP の重複検出で、 自分と相手のアドレスが未定義の時は何もしな
    262          ã„ように変更した。
    263 
    264    (36)  in6.h に定義されているバイトオーダーに依存し、 特別なアドレス
    265          ã®ãƒã‚§ãƒƒã‚¯ã™ã‚‹ãƒžã‚¯ãƒ­ï¼ˆIN6_IS_ADDR_V4COMPAT 等)を in6_var.h
    266          ã«ç§»ã—た。
    267 
    268    (37)  IPv6 ルータ通知を受信した時のログæƒ
    269 å ±ã‚’初めて受信した時のみ表
    270          ç¤ºã™ã‚‹ã‚ˆã†ã«ã«å¤‰æ›´ã—た。
    271 
    272    (38)  ICMPv6 でサポートしていないタイプのデータ蔵を受信した時の表示
    273          ã®ãƒ­ã‚°æƒ
    274 å ±ã®é‡è¦åº¦ã‚’ LOG_NOTICE から LOG_INFO に変更した。
    275 
    276    (39)  tinet.pdf、 「7.2 ファイルの作成、 設定」で、 $(APP_DIR) を
    277          $(APPLDIR) に変更した。
    278 
    279    (40)  tinet.pdf、 「8.2 ファイルの作成、設定」で、$(APP_DIR) の記述
    280          å†
    281 å®¹ã‚’変更した。
    282 
    283    (41)  tinet_sample.pdf、「3. TINET コンフィギュレーションスクリプト
    284          ã®ã‚ªãƒ—ション」の記述をå
    285 ¨é¢çš„に見直した。
    286 
    287    (42)  Makefile に
     230               T_IN4_RTENTRY に変更する。
     231
     232   (33)  NUM_IN4_ROUTE_ENTRY を定義するファイルを、 以下のように変更した。
     233         tinet/netinet/in4_var.h → tinet/tinet_config.h
     234
     235   (34)  NUM_IN6_ROUTE_ENTRY を定義するファイルを、 以下のように変更した。
     236         tinet/netinet6/in6_var.h → tinet/tinet_config.h
     237
     238   (35)  ARP の重複検出で、 自分と相手のアドレスが未定義の時は何もしな
     239         いように変更した。
     240
     241   (36)  in6.h に定義されているバイトオーダーに依存し、 特別なアドレス
     242         のチェックするマクロ(IN6_IS_ADDR_V4COMPAT 等)を in6_var.h
     243         に移した。
     244
     245   (37)  IPv6 ルータ通知を受信した時のログ情報を初めて受信した時のみ表
     246         示するようにに変更した。
     247
     248   (38)  ICMPv6 でサポートしていないタイプのデータ蔵を受信した時の表示
     249         のログ情報の重要度を LOG_NOTICE から LOG_INFO に変更した。
     250
     251   (39)  tinet.pdf、 「7.2 ファイルの作成、 設定」で、 $(APP_DIR) を
     252         $(APPLDIR) に変更した。
     253
     254   (40)  tinet.pdf、 「8.2 ファイルの作成、設定」で、$(APP_DIR) の記述
     255         内容を変更した。
     256
     257   (41)  tinet_sample.pdf、「3. TINET コンフィギュレーションスクリプト
     258         のオプション」の記述を全面的に見直した。
     259
     260   (42)  Makefile に
    288261         NO_USE_TINET_LIBRARY = true
    289          ã‚’指定して、 TINET のライブラリを作成しないようにした場合、リ
    290          ãƒ³ã‚¯ãŒã§ããªã„問題を修正した。
    291 
    292    (43)  NE2000 互換 NIC(if_ed) 用イーサネットインタフェースドライバで、
    293          é€ä¿¡ã™ã‚‹ãƒ•ãƒ¬ãƒ¼ãƒ ã®ãƒ‡ãƒ¼ã‚¿éƒ¨ã®é•·ã•ãŒ 46 オクテット未満の場合は、
    294          ãƒ‡ãƒ¼ã‚¿ã®çµ‚りからフレームの終わり(CRC を除く)まで 0 で埋める
    295          ã‚ˆã†ã«å¤‰æ›´ã—た。
    296 
    297    (44)  ASP への対応に関する変更を以下に示す。
    298 
    299          [1]   ASP 用 TINET において TCP ヘッダのトレース出力機能で、
    300                TCP_CFG_TRACE を指定するとコンパイルできない問題を修正した。
    301          [2]   ã‚¿ãƒ¼ã‚²ãƒƒãƒˆ OS が ASP、ネットワーク層が IPv4 で、 データ
    302                ã‚°ãƒ©ãƒ ã®åˆ†å‰²ãƒ»å†æ§‹æˆè¡Œã†ã“とを指定する IP4_CFG_FRAGMENT
    303                ã‚’定義した時、SEM_IP4_FRAG_QUEUE が未定義のエラーとなる
    304                å•é¡Œã‚’修正した。
    305          [3]   if_loop.c を ASP に対応させた。
    306          [4]   TINET のサンプルアプリケーションの Makefile を ASP のテ
    307                ãƒ³ãƒ—レートディレクトリ sample の Makefile から生成する
    308                ã‚ˆã†ã«å¤‰æ›´ã—た。
    309          [5]   ASP テンプレートディレクトリを指定するオプション
    310                -m <asptemplatedir> を tinet_asp_configure に追加した。
    311          [6]   ã‚³ãƒ³ãƒ•ã‚£ã‚®ãƒ¥ãƒ¬ãƒ¼ã‚¿ï¼ˆcfg)のパス名を指定するオプション
    312                -g <cfg> を tinet_asp_configure に追加した。
    313          [7]   ASP-1.7 以降の cfg1_out.c への対応を行った。
    314          [8]   ASP-1.8 以降の Makefile への対応を行うため、 。
    315                Makefile.tinet の ASP 用 TINET コンフィギュレーションファ
    316                ã‚¤ãƒ«ã«é–¢ä¿‚するルール・変数等を変更した。 ASP-1.8 から
    317                $(LDFLAGS) と $(CFG1_OUT_LDFLAGS) の定義が別になった。
    318                $(CFG1_OUT_LDFLAGS) が未定義であれば、 ASP-1.7 以前の処
    319                ç†ã‚’行うように変更した。
    320          [9]   tinet/tinet_asp.cfg に #include "target_sil.h" を追加した。
    321          [10]  tinet/net/net.h のバイトオーダーの定義に関して、 ターゲッ
    322                ãƒˆãŒ ASP の場合、SIL_ENDIAN_BIG と SIL_ENDIAN_LITTLE の
    323                å®šç¾©ã‚’変更しないように修正した。
    324                ã“れに対応して、 _NET_CFG_BYTE_ORDER、
    325                _NET_CFG_LITTLE_ENDIAN、
    326                _NET_CFG_BIG_ENDIAN を定義し、 TINET のå†
    327 éƒ¨ã§ã€
    328                SIL_ENDIAN、 SIL_ENDIAN_BIG、SIL_ENDIAN_LITTLE を参ç
    329 §ã—
    330                ãªã„ように修正した。
    331 
    332    (45)  JSP への対応に関する変更を以下に示す。
    333 
    334          [1]   JSP リリース 1.4.4 でコンパイルできない問題(Makefile
    335                ã®ä¸æ•´åˆï¼‰ã‚’修正した。
    336          [2]   JSP テンプレートディレクトリを指定するオプション
    337                -m <jsptemplatedir> を tinet_jsp_configure に追加した。
    338          [3]   tinet_sample.pdf、「2. サンプルアプリケーションの構築」、
    339                ã€Œ(1) TINET コンフィギュレーションスクリプトの実行」、
    340                ã€Œ[2] TOPPERS/JSP 用 TINET コンフィギュレーションスクリ
    341                ãƒ—トの実行」から、オプション -d を削除した。
    342 
    343 2.  リリース 1.4.x から 1.5 までの変更
    344 
    345    (1)   ãƒ‡ãƒ¼ã‚¿ã‚°ãƒ©ãƒ å†æ§‹æˆç”¨ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒãƒƒãƒ•ã‚¡ã®å®šç¾©ã«ã€
    346          IF_ETHER_NIC_NET_BUF_ALIGN が不足していた問題を修正した。
    347 
    348    (2)   TINET プロトコルスタックの記述を、 TOPPERS/ASP カーネルで規定
    349          ã•ã‚Œã¦ã„ã‚‹ TOPPERS å
    350 ±é€šãƒ‡ãƒ¼ã‚¿åž‹ã«å¤‰æ›´ã—た。
    351 
    352    (3)   UDP で、 ノンブロッキングコール機能を組み込まず、UDP 通信端点
    353          ã« UDP_PORTANY を指定したとき、ポート番号が自動的に割り当てら
    354          ã‚Œãªã„問題を修正した。
    355 
    356    (4)   ã‚³ãƒ³ãƒ‘イル時コンフィギュレーションパラメータ SUPPORT_IPSEC を
    357          æ–°è¨­ã—た。これは、IPSEC を処理するための指定である。 ただし、
    358          TINET は、 IPSEC を処理するためのフックのみを ip_input.c と
    359          ip_output.c 用意しているたけで、 IPSEC 自体は実è£
    360 ã—ていないの
    361          ã§ã€åˆ¥ã«çµ„み込むå¿
    362 è¦ãŒã‚る。
    363 
    364    (5)   TOPPERS/ASP に対応した。
    365 
    366    (6)   ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã® PPP とループバックを参考実è£
    367 ã¨ã—た。
    368 
    369    (7)   IPv4/IPv4 データグラムの設定の、 4 オクテット境界までパディン
    370          ã‚°ã§åŸ‹ã‚ã‚‹å‡¦ç†ã§ã€ ネットワークバッファの領域外にパディングを
    371          æ›¸ãè¾¼ã‚€ã“とがある問題を修正した。
    372 
    373    (8)   PPP で、 サーバからの IP アドレス自動取得ができない問題を修正した。
    374 
    375    (9)   IPv4 のå
    376 ¥åŠ›å‡¦ç†ã§ã€ä¸Šä½å±¤ãŒ ICMP 以外の場合に行うオプションの
    377          æ¶ˆåŽ»ã‚’ヘッダチェックサムの検査の後に変更した。
    378 
    379    (10)  IPv4 のå
    380 ¥åŠ›å‡¦ç†ã§ã€åˆ†å‰²ã®ãƒã‚§ãƒƒã‚¯ã‹ã‚‰ RF ビットを外した。
    381 
    382    (11)  IPv6 で、通信帯域を食いつぶす攻撃への対応のため、 タイプ 0 経
    383          è·¯åˆ¶å¾¡ãƒ˜ãƒƒãƒ€ã®å‡¦ç†ã‚’行わないように変更した。
    384 
    385    (12)  TCP の出力で、 送信サイズを通信相手の最大セグメントサイズに調
    386          æ•´ã™ã‚‹å ´åˆã€ 誤ったサイズに調整することがある問題を修正した。
    387 
    388    (13)  通信相手の TCP の MSS オプションの処理で、 記録する値を、
    389          TCP_MINMSS(216)から MAX_TCP_SND_SEG(標準は、 IPv4 が 512、
    390          IPv6 が 1024)に制限するように変更した。
    391 
    392    (14)  IPv6 で、リンクローカルアドレスの重複を検出した場合、それ以降
    393          ã®è¿‘隣探索パケットを出力しなように変更した。
    394 
    395    (15)  IPv6 で、ルータ通知のプレフィックス長が不正でも処理を継続し、
    396          ãƒ—レフィックスリストに登録する。 また、オンリンク・フラグが有
    397          åŠ¹ã§ã‚れば、同一 LAN å†
    398 ã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã¨ã—て有効となるように変更した。
    399 
    400    (16)  ITRON TCP/IP API の仕様に定義されているコールバック関数の引数
    401          p_parblk に関して、アドレス渡しが正しいが、値渡しとしていた実
    402          è£
    403 ä¸Šã®èª¤ã‚Šã‚’修正した。また、TINET リリース 1.4 以前と互換性を
    404          ç¶­æŒã™ã‚‹ãŸã‚ã«å€¤æ¸¡ã—にするコンパイル時コンフィギュレーション
    405          ãƒ‘ラメータ TCP_CFG_NON_BLOCKING_COMPAT14 と
    406          UDP_CFG_NON_BLOCKING_COMPAT14 を新設した。
    407 
    408    (17)  能動オープン(TCP_CON_CEP 呼出し)でノンブロッキングコールを
    409          è¡Œã£ãŸæ™‚に、同時オープン(TCP の状æ
    410 ‹é·ç§»ãŒã€ŒSYN 送信」→「SYN
    411          å—信」→「コネクション確立」)が発生した場合、 コールバック関
    412          æ•°ãŒå‘¼å‡ºã•ã‚Œãªã„問題を修正した。
    413 
    414    (18)  タスクからの Time Wait 状æ
    415 ‹ã® TCP 通信単点分離機能を組込んだ
    416          å ´åˆã«ã€ ACK セグメントを再送する時、ポート番号のバイトオーダー
    417          ã®å¤‰æ›ãŒèª¤ã£ã¦ã„た問題を修正した。
    418 
    419    (19)  TCP で Keep Alive を有効にした時、ウィンドサイズが 0 のセグメ
    420          ãƒ³ãƒˆãŒé€ä¿¡ã•ã‚Œã‚‹å•é¡Œã‚’修正した。
    421 
    422    (20)  Makefile に NO_USE_TINET_LIBRARY = true を指定して、 ライブラ
    423          ãƒªåŒ–させない方法における問題を修正した。
    424 
    425    (21)  TOPPERS/ASP の実行環境、 GCC 3.x 系の開発環境でアプリケーショ
    426          ãƒ³ãƒ—ログラムを構築した時、ethernet ヘッダ構造体のサイズが不一
    427          è‡´ã«ãªã‚Šã€ 動作が不安定になることがある問題を修正した。
    428 
    429    (22)  H8 依存部で、 tinet_sys_config.h に指定されている ED_IPM の設
    430          å®šã‚’、IPM_LEVEL1 から IPM_LEVEL0 に変更した。
    431 
    432 3.  リリース 1.3.x から 1.4 までの変更
    433 
    434    (1)   tinet コンフィギュレーションに TCP/IPv4 受付口の予約 ID を定
    435          ç¾©ã™ã‚‹ VRID_TCP_REP を追加した。
    436 
    437    (2)   tinet コンフィギュレーションに TCP/IPv4 通信端点の予約 ID を
    438          å®šç¾©ã™ã‚‹ VRID_TCP_CEP を追加した。
    439 
    440    (3)   tinet コンフィギュレーションに UDP/IPv4 通信端点の予約 ID を
    441          å®šç¾©ã™ã‚‹ VRID_UDP_CEP を追加した。
    442 
    443    (4)   tinet コンフィギュレーションに TCP/IPv6 受付口の予約 ID を定
    444          ç¾©ã™ã‚‹ VRID_TCP6_REP を追加した。
    445 
    446    (5)   tinet コンフィギュレーションに TCP/IPv6 通信端点の予約 ID を
    447          å®šç¾©ã™ã‚‹ VRID_TCP6_CEP を追加した。
    448 
    449    (6)   tinet コンフィギュレーションに UDP/IPv6 通信端点の予約 ID を
    450          å®šç¾©ã™ã‚‹ VRID_UDP6_CEP を追加した。
    451 
    452    (7)   ITRON TCP/IP API の TCP の拡張機能を有効にするコンパイル時コ
    453          ãƒ³ãƒ•ã‚£ã‚®ãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ãƒ‘ラメータ TCP_CFG_EXTENTIONS を追加した。
    454 
    455    (8)   ITRON TCP/IP API の UDP の拡張機能を有効にするコンパイル時コ
    456          ãƒ³ãƒ•ã‚£ã‚®ãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ãƒ‘ラメータ UDP_CFG_EXTENTIONS を追加した。
    457 
    458    (9)   ä¸€èˆ¬å®šæ•°ãƒžã‚¯ãƒ­ TCP_REP_NONE を追加した。値は(0)。
    459 
    460    (10)  一般定数マクロ TCP_CEP_NONE を追加した。値は(0)。
    461 
    462    (11)  一般定数マクロ UDP_CEP_NONE を追加した。値は(0)。
    463 
    464    (12)  å
    465 ¨åŸŸå¤‰æ•°ã¨ã—て、 ipv6_addrany をマクロで定義した。 実体は、
    466          in6_addr_unspecified であり、これに伴って、プロトコルスタック
    467          å†
    468 éƒ¨åã®ãƒªãƒãƒ¼ãƒ ã‹ã‚‰ã€in6_addr_unspecified を外した。
    469 
    470    (13)  UDP の通信端点の myportno に UDP_PORTANY を指定できない問題を
    471          ä¿®æ­£ã—た。
    472 
    473    (14)  ITRON TCP/IP API の TCP/IPv4 受付口を動的に生成する API の
    474          cre_tcp_rep を追加した。
    475 
    476    (15)  ITRON TCP/IP API の TCP 通信端点を動的に生成する API の
    477          cre_tcp_cep を追加した。
    478 
    479    (16)  ITRON TCP/IP API の UDP/IPv4 通信端点を動的に生成する API の
    480          cre_udp_cep を追加した。
    481 
    482    (17)  ITRON TCP/IP API の TCP 受付口を動的に削除する API の
    483          del_tcp_rep を追加した。
    484 
    485    (18)  ITRON TCP/IP API の TCP 通信端点を動的に削除する API の
    486          del_tcp_cep を追加した。
    487 
    488    (19)  ITRON TCP/IP API の UDP 通信端点を動的に削除する API の
    489          del_udp_cep を追加した。
    490 
    491    (20)  ITRON TCP/IP API の TCP/IPv6 受付口を動的に生成する API の
    492          cre_tcp6_rep を追加した。
    493 
    494    (21)  ITRON TCP/IP API の UDP/IPv6 通信端点を動的に生成する API の
    495          cre_udp6_cep を追加した。
    496 
    497    (22)  ITRON TCP/IP API の TCP 通信端点オプションを設定する API の
    498          tcp_set_opt を追加した。
    499 
    500    (23)  ITRON TCP/IP API の TCP 通信端点オプションを読出す API の
    501          tcp_get_opt を追加した。
    502 
    503    (24)  ITRON TCP/IP API の UDP 通信端点オプションを設定する API の
    504          udp_set_opt を追加した。
    505 
    506    (25)  ITRON TCP/IP API の UDP 通信端点オプションを読出す API の
    507          udp_get_opt を追加した。
    508 
    509    (26)  å†
    510 éƒ¨çš„に使用している構造体名を変更した。
    511 
    512          [1]   struct t_tcp4_ccep → struct t_tcp4_cep
    513          [2]   struct t_tcp6_ccep → struct t_tcp6_cep
    514          [3]   T_TCP_CCEP → T_TCP_IN_CCEP → T_TCP_CEP
    515          [4]   T_TCP_TW_CCEP → T_TCP_TWCEP
    516          [5]   T_TCP4_CCEP → T_TCP4_CEP
    517          [6]   T_TCP4_TW_CCEP → T_TCP4_TWCEP
    518          [7]   T_TCP6_CCEP → T_TCP6_CEP
    519          [8]   T_TCP4_TW_CCEP → T_TCP4_TWCEP
    520          [9]   T_TCP_CREP → T_TCP_IN_CREP → T_TCP_REP
    521          [10]  T_TCP4_CREP → T_TCP4_REP
    522          [11]  T_TCP6_CREP → T_TCP6_REP
    523          [12]  T_UDP_CCEP → T_UDP_IN_CCEP → T_UDP_CEP
    524          [13]  T_UDP4_CCEP → T_UDP4_CEP
    525          [14]  T_UDP6_CCEP → T_UDP6_CEP
    526 
    527    (27)  å†
    528 éƒ¨çš„に使用している変数・é
    529 åˆ—名を変更した。
    530 
    531          [1]   tcp_crep → tcp_rep
    532          [2]   tcp_ccep → tcp_cep
    533          [3]   tcp_tw_ccep → tcp_twcep
    534          [4]   udp_ccep → udp_cep
    535          [5]   tmax_tcp_crepid → tmax_tcp_repid
    536          [6]   tmax_tcp_ccepid → tmax_tcp_cepid
    537          [7]   tmax_udp_ccepid → tmax_udp_cepid
    538 
    539    (28)  å†
    540 éƒ¨çš„に使用しているマクロ名を変更した。
    541 
    542          [1]   VAID_TCP_CREPID → VAID_TCP_REPID
    543          [2]   VAID_TCP_CCEPID → VAID_TCP_CEPID
    544          [3]   VAID_UDP_CCEPID → VAID_UDP_CEPID
    545          [4]   INDEX_TCP_CREP → INDEX_TCP_REP
    546          [5]   INDEX_TCP_CCEP → INDEX_TCP_CEP
    547          [6]   INDEX_UDP_CCEP → INDEX_UDP_CEP
    548          [7]   GET_TCP_CREP → GET_TCP_REP
    549          [8]   GET_TCP_CCEP → GET_TCP_CEP
    550          [9]   GET_UDP_CCEP → GET_UDP_CEP
    551          [10]  GET_TCP_CREPID → GET_TCP_REPID
    552          [11]  GET_TCP_CCEPID → GET_TCP_CEPID
    553          [12]  GET_UDP_CCEPID → GET_UDP_CEPID
    554          [13]  GET_TCP_TW_CCEPID → GET_TCP_TWCEPID
    555          [14]  TMIN_TCP_RCEPID → TMIN_TCP_REPID
    556          [15]  TMIN_TCP_CCEPID → TMIN_TCP_CEPID
    557          [16]  TMIN_UDP_CCEPID → TMIN_UDP_CEPID
    558          [17]  TMIN_TCP_TW_CCEPID → TMIN_TCP_TWCEPID
    559          [18]  TNUM_TCP_RCEPID → TNUM_TCP_REPID
    560          [19]  TNUM_TCP_CCEPID → TNUM_TCP_CEPID
    561          [20]  TNUM_UDP_CCEPID → TNUM_UDP_CEPID
    562 
    563    (29)  å†
    564 éƒ¨çš„に使用しているカーネルオブジェクト名を変更した。
    565 
    566          [1]   SEM_TCP_CCEP → SEM_TCP_CEP
    567          [2]   SEM_UDP_CCEP → SEM_UDP_CEP
    568 
    569    (30)  TW 用 TCP 通信端点で、不要なメンバを削除した。
    570 
    571    (31)  緊急データの最後のバイトのオフセットを規定するコンパイル時コ
    572          ãƒ³ãƒ•ã‚£ã‚®ãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ãƒ‘ラメータ TCP_CFG_URG_OFFSET を追加した。
    573 
    574    (32)  ITRON TCP/IP API の緊急データ受信 API の tcp_rcv_oob を追加した。
    575 
    576    (33)  ITRON TCP/IP API の緊急データ送信 API の tcp_snd_oob を追加した。
    577 
    578    (34)  UDP のコールバック用受信データキューを使用しないようにした。
    579 
    580    (35)  ノンブロッキングコールを組込む場合にリンクされる関数の定義を、
    581          udp_usrreq.c から分離し、 udp_usrreq_nblk.c に移動した。
    582          udp_usrreq_nblk.c は、udp_usrreq.c にインクルードする。
    583 
    584    (36)  TCP で、再送を 12 回行なっても、通信が回復しないとき、 コネク
    585          ã‚·ãƒ§ãƒ³ã‚’破棄するリセットセグメントが送信されない問題を修正した。
    586 
    587    (37)  TCP で、ACK を正常に送信しないことがある問題を修正した。
    588 
    589    (38)  TCP で、 高速再転送と高速リカバリが正常に行なわれないことがあ
    590          ã‚‹å•é¡Œã‚’修正した。
    591 
    592    (39)  受信ウィンドバッファの省コピー機能を使用したとき、 TCP のハー
    593          ãƒ•ã‚¯ãƒ­ãƒ¼ã‚ºçŠ¶æ
    594 ‹ã§ã€ データをå
    595 ¨ã¦å—信できないことがある問題を修
    596          æ­£ã—た。
    597 
    598    (40)  ビッグエンディアンのプロセッサにおいて、 TCP ヘッダのトレース
    599          å‡ºåŠ›ã§ã€ 正しい値を表示しない問題を修正した。
    600 
    601    (41)  TCP ヘッダのトレース出力で、 送受信が混ざる場合がある問題を修
    602          æ­£ã—た。
    603 
    604    (42)  コールバック用 UDP 受信キューサイズを指定する
    605          NUM_DTQ_UDP_CB_RCVQ は、アルゴリズムの変更により不要になった。
    606 
    607    (43)  TCP 受付口が tinet_$(UNAME).cfg に指定されていない場合、
    608          TCP_CFG_PASSIVE_OPEN を未定義にしなければ、リンク時に未定義エ
    609          ãƒ©ãƒ¼ã«ãªã‚‹å•é¡Œã‚’修正した。
    610 
    611    (44)  T_NET_BUF_IF_PDU で、フレームの終わりの境界の調整量を指定する
    612          ã‚¤ãƒ¼ã‚µãƒãƒƒãƒˆã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ä¾å­˜ãƒ‘ラメータ定義
    613          IF_PDU_HDR_PADDING を追加した。
    614 
    615    (45)  å†
    616 éƒ¨çš„に使用している構造体名を変更した。
    617 
    618          [1]   t_net_buf_reassm → t_net_buf4_reassm
    619          [2]   T_NET_BUF_REASSM → T_NET_BUF4_REASSM
    620 
    621    (46)  再構成バッファサイズのネットワークバッファ数を指定するコンパ
    622          ã‚¤ãƒ«æ™‚コンフィギュレーションパラメータ NUM_MPF_NET_BUF_REASSM
    623          ã‚’ NUM_MPF_NET_BUF4_REASSM に変更し、 IPv4 用の再構成バッファ
    624          ã‚µã‚¤ã‚ºã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒãƒƒãƒ•ã‚¡æ•°ã‚’指定するパラメータとした。
    625 
    626    (47)  ICMP6 エラーの出力時に、IPv6 MMTU(1,280 オクテット)をè¶
    627 ãˆã‚‹
    628          ãƒ‡ãƒ¼ã‚¿ã‚°ãƒ©ãƒ ã‚’出力する問題を修正した。
    629 
    630    (48)  IPv6 データグラム再構成用ネットワークバッファ獲得タイムアウト
    631          ã‚’指定するコンパイル時コンフィギュレーションパラメータ
    632          TMO_IP6_FRAG_GET_NET_BUF を追加した。
    633 
    634    (49)  IPv6 データグラムの分割・再構成行う場合に指定するコンパイル時
    635          ã‚³ãƒ³ãƒ•ã‚£ã‚®ãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ãƒ‘ラメータ IP6_CFG_FRAGMENT を追加した。
    636 
    637    (50)  IPv6 データグラム再構成キューサイズを指定するコンパイル時コン
    638          ãƒ•ã‚£ã‚®ãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ãƒ‘ラメータ NUM_IP6_FRAG_QUEUE を追加した。
    639          æ¨™æº–値は 2 である。
    640 
    641    (51)  IPv6 データグラム再構成用ネットワークバッファのサイズを指定す
    642          ã‚‹ã‚³ãƒ³ãƒ‘イル時コンフィギュレーションパラメータ
    643          IP6_CFG_FRAG_REASSM_SIZE を追加した。標準値は 4096 である。
    644 
    645    (52)  ICMPv6 で、受信したチェックサムの計算を誤ることがある問題を修
    646          æ­£ã—た。
    647 
    648    (53)  IPv6 で、 認識できない次ヘッダコードをå
    649 ¥åŠ›ã—たとき、 送信する
    650          ICMPv6 エラーメッセージに誤りがある問題を修正した。
    651 
    652    (54)  IPv6 の Traffic Class と Flow Label をサポートしないが、 これ
    653          ã‚‰ã« 0 以外の値を設定して送信することがある問題を修正した。
    654 
    655    (55)  IPv6 で、 ホップリミットが 0 の ICMPv6 エコー要求パケットを受
    656          ä¿¡ã—たとき、 送信する ICMPv6 エコーメッセージに誤りがある問題
    657          ã‚’修正した。
    658 
    659    (56)  IPv6 で、重複アドレス検出時に、誤ったあてå
    660 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ã®ãƒ‡ãƒ¼ã‚¿ã‚°
    661          ãƒ©ãƒ ã‚’受信したとき、 誤って自アドレスが重複していると認識して
    662          ã—まうことがある問題を修正した。
    663 
    664    (57)  IPv6 で、生存期間が切れたプレフィックスのアドレスが有効になる
    665          äº‹ãŒã‚る問題を修正した。
    666 
    667    (58)  IPv6 で、近隣探索キャッシュの状æ
    668 ‹é·ç§»ã«ä¸€éƒ¨èª¤ã‚ŠãŒã‚った問題を
    669          ä¿®æ­£ã—た。
    670 
    671    (59)  IPv6 で、近隣探索要請マルチキャストデータグラムの送信å
    672 ƒã‚¢ãƒ‰ãƒ¬
    673          ã‚¹ã¨ã—て誤ったアドレスを設定する事がある問題を修正した。
    674 
    675    (60)  IPv6 で、ルータ要請の再送時間間隔が、誤っていた問題(3 秒→ 4
    676          ç§’)を修正した。
    677 
    678    (61)  セグメントの異なるホストに送信するとき、 ディフォルトルータの
    679          æ¤œç´¢ã«å¤±æ•—することがある問題を修正した。
    680 
    681    (62)  認識できない近隣探索オプションの処理に関する問題を修正した。
    682 
    683    (63)  IPv6 で、ルータから通知されたホップリミットを正しく処理してい
    684          ãªã„問題を修正した。
    685 
    686    (64)  IPv6 で、重複アドレス検出中に E_QOVR エラーが発生することがあ
    687          ã‚‹å•é¡Œã‚’修正した。
    688 
    689    (65)  IPv6 の近隣通知で、誤ったフラグを設定していた問題を修正した。
    690 
    691    (66)  IPv6 で、 次ヘッダが 0 の IPv6 データグラムを受信したとき、送
    692          ä¿¡ã™ã‚‹ ICMPv6 エコーメッセージに誤りがある問題を修正した。
    693 
    694    (67)  IPv6 で、近隣通知のルータフラグを正しく処理しない問題を修正した。
    695 
    696    (68)  IPv6 で、近隣要請の再送時間間隔が、標準より長くなることがある
    697          å•é¡Œã‚’修正した。
    698 
    699    (69)  プレフィックスリストのエントリ数を指定するコンパイル時コンフィ
    700          ã‚®ãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ãƒ‘ラメータ NUM_ND6_PREFIX_ENTRY を追加した。
    701 
    702    (70)  インタフェースのアドレスリスト(IPv6)のエントリ数を指定する
    703          ã‚³ãƒ³ãƒ‘イル時コンフィギュレーションパラメータ
    704          NUM_IN6_IFADDR_ENTRY を追加した。
    705 
    706    (71)  次ヘッダ無しの IP データグラムを受信したとき、誤った ICMP6 エ
    707          ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’出力していた問題を修正した。
    708 
    709    (72)  ディフォルトルータの有効時間が切れた時に、 別のディフォルトルー
    710          ã‚¿ã«æŽ¥ç¶šã§ããªã„問題を修正した。
    711 
    712    (73)  IPv6 で、ルータから通知された到達可能状æ
    713 ‹ã®æœ‰åŠ¹æ™‚間を正しく処
    714          ç†ã—ていない問題を修正した。
    715 
    716    (74)  IPv6 で、ルータから通知されたルータ有効時間を正しく処理してい
    717          ãªã„問題を修正した。
    718 
    719    (75)  マルチキャスト宛の ICMPv6 エコーリクエストへの応答で、 送信å
    720 ƒ
    721          ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’正しく設定していない問題を修正した。
    722 
    723    (76)  Path MTU とホストæƒ
    724 å ±ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã‚’実è£
    725 ã—た。
    726 
    727    (77)  IPv6 用ホストキャッシュのエントリ数を指定するコンパイル時コン
    728          ãƒ•ã‚£ã‚®ãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ãƒ‘ラメータ NUM_IN6_HOSTCACHE_ENTRY を追加した。
    729 
    730    (78)  ネットワークインタフェースに PPP を選択したとき、コンパイルエ
    731          ãƒ©ãƒ¼ã«ãªã‚‹å•é¡Œã‚’修正した。
    732 
    733    (79)  リトルエンディアンのプロセッサで、 ルータ通知を正しく処理しな
    734          ã„問題を修正した。
    735 
    736    (80)  リトルエンディアンのプロセッサで、 断片ヘッダを正しく処理しな
    737          ã„問題を修正した。
    738 
    739    (81)  ESP 用として、 ネットワークバッファのフラグに NB_FLG_DECRYPED
    740          ã‚’追加した。ただし、TINET は、IPSec を直接サポートしない。
    741 
    742    (82)  if_ed.c で、IF_ETHER_NIC_HDR_ALIGN 分のアドレスを調節するよう
    743          ã«å¤‰æ›´ã—た。
    744 
    745    (83)  if_ed.c の NIC 割り込みハンドラ if_ed_handler で、 ターゲット
    746          ä¾å­˜éƒ¨ã®å‰²è¾¼ã¿ã‚¯ãƒªã‚¢é–¢æ•° ed_inter_clear を呼出すように変更した。
    747 
    748    (84)  config/h8 に、tinet_cpu_config.c を新設し、ターゲット依存部の
    749          å‰²è¾¼ã¿ã‚¯ãƒªã‚¢é–¢æ•° ed_inter_clear を追加した。ただし、H8 では、
    750          æ˜Žç¤ºçš„にプロセッサの割り込みをクリアするå¿
    751 è¦ã¯ãªã„ため、 何も
    752          ã—ない関数になっている。
    753 
    754    (85)  config/h8 の tinet_cpu_config.h に、 ターゲット依存部の割込み
    755          ã‚¯ãƒªã‚¢é–¢æ•° ed_inter_clear のプロトタイプ宣言を追加した。
    756 
    757    (86)  config/h8 に、 tinet_cpu_config.c を新設したことに伴い、
    758          Makefile.tinet も追加した。
    759 
    760    (87)  IPv6 で、 ルータから通知された到達可能状æ
    761 ‹ã®æœ‰åŠ¹æ™‚é–“
    762          ï¼ˆReachable Time)の再計算は、仕様上は、0.5 ~ 1.5 倍の範囲で
    763          ãƒ©ãƒ³ãƒ€ãƒ ãªå€¤ã«è¨­å®šã™ã‚‹ãŒã€ タイマーの起動間隔を考æ
    764 ®ã—て、 0.5
    765          ï½ž 1.45 の範囲になるよう調整した。
    766 
    767    (88)  イーサネットディバイスドライバにより、 ネットワークバッファで、
    768          ã‚¢ãƒ©ã‚¤ãƒ³èª¿æ•´ã‚’行う IF_ETHER_NIC_NET_BUF_ALIGN を追加した。
    769 
    770    (89)  IPv6 で、ルータから通知されたプレフィックスの有効時間が過ぎた
    771          ç›´å¾Œã«ã€ 有効なアドレスとして処理することがある問題を修正した。
    772 
    773    (90)  リトルエンディアンのプロセッサのチェックサム計算の処理効率を
    774          æ”¹å–„した。
    775 
    776 4.  リリース 1.2.x からリリース 1.3 までの変更
    777 
    778    (1)   IPv6 で、ネットワークインタフェースにループバックインタフェー
    779          ã‚¹ã‚’指定したとき、 コンパイルエラーが発生する問題を修正した。
    780 
    781    (2)   ãƒã‚§ãƒƒã‚¯ã‚µãƒ è¨ˆç®—でエラーになる問題を修正した(TOPPERS/TINET
    782          ãƒã‚°ãƒˆãƒ©ãƒƒã‚¯ã‚·ã‚¹ãƒ†ãƒ  ID:1)。
    783 
    784    (3)   echos で、 TCP_ECHO_SRV_STACK_SIZE の二重定義警告が出る問題を
    785          ä¿®æ­£ã—た(TOPPERS/TINET バグトラックシステム ID:2)。
    786 
    787    (4)   ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒãƒƒãƒ•ã‚¡ã®å–得失敗の時、 常に警告を出力するように
    788          å¤‰æ›´ã—た(TOPPERS/TINET バグトラックシステム ID:3)。
    789 
    790    (5)   echos/echos の問題を修正した(toppers-users 1724)。
    791 
    792    (6)   IP4_CFG_FRAGMENT を指定したとき、 tinet/netapp/dbg_cons.c と
    793          tinet/netinet/ip_output.c で、 コンパイルエラーになる問題を修
    794          æ­£ã—た。
    795 
    796    (7)   æ‹¡å¼µãƒ˜ãƒƒãƒ€ã®ä»˜ã„た ICMPv6 エコーリクエストに対する応答の問題
    797          ã‚’修正した。
    798 
    799    (8)   è¿‘隣探索の到達可能性の確認でタイムアウトした後、 アドレス解決
    800          ãŒå‡ºæ¥ãªã„問題を修正した。
    801 
    802    (9)   TCP のå
    803 ¥åŠ›ã‚»ã‚°ãƒ¡ãƒ³ãƒˆã®å†æ§‹æˆé–¢æ•°ã®æ½œåœ¨çš„な問題点を修正した。
    804 
    805    (10)  UDP のみ使用するときの icmp6.c で、_tinet_tcp_notify の参ç
    806 §ã‚¨
    807          ãƒ©ãƒ¼ãŒç™ºç”Ÿã™ã‚‹å•é¡Œã‚’修正した。
    808 
    809    (11)  UDP の送信で、 タイムアウトしたとき、ネットワークバッファを開
    810          æ”¾ã—ない問題を修正した。
    811 
    812    (12)  TCP の応答で、 IP のペイロードサイズを誤る問題を修正した
    813          ï¼ˆTOPPERS/TINET バグトラックシステム ID:5)。
    814 
    815    (13)  udp_rcv_dat で、 タイムアウトに時間を指定したとき、タスクの実
    816          è¡ŒãŒãƒ–ロックされる問題を修正した。
    817 
    818    (14)  ネットワーク統計æƒ
    819 å ±ã®è¨ˆæ¸¬ã®å¤‰æ•°ã‚µã‚¤ã‚ºã‚’、 _int64_ が定義され
    820          ã¦ã„る場合のみ UD となるように変更した。
    821 
    822    (15)  JSP リリース 1.4.2 に暫定対応した。変更å†
    823 å®¹ã‚’以下に示す。
    824 
    825          [1]   H8 依存部の割込みレベル導å
    826 ¥ã«ä¼´ã„。if_ed イーサネット・
    827                ãƒ‡ã‚£ãƒã‚¤ã‚¹ãƒ‰ãƒ©ã‚¤ãƒã®å‰²è¾¼ã¿å‡¦ç†ã‚’実è£
    828 ã™ã‚‹
    829                config/h8/akih8_3069f/tinet_sys_config.c を追加した。
    830          [2]   ed_ena_inter、ed_dis_inter の引数と戻り値を変更した。
    831          [3]   ed_ena_inter、ed_dis_inter の引数と戻り値の変更に伴い、
    832                tinet/netdev/if_ed/if_ed.c も変更した。
    833          [4]   ed_ena_inter、 ed_dis_inter の定義を、
    834                tinet/netdev/if_ed/if_edreg.h から、
    835                config/h8/akih8_3069f/tinet_sys_config.c に変更した。
    836 
    837    (16)  tcp_cls_cep で、 タイムアウトした後、tcp_acp_cep がエラーにな
    838          ã‚‹å•é¡Œã‚’修正した。
    839 
    840    (17)  誤った IP SDU 長の TCP リセットセグメントを送信する問題を修正した。
    841 
    842    (18)  TCP のシーケンス番号がランダムに初期化されない問題を修正した。
    843 
    844    (19)  リトルエンディアンのプロセッサで、IPv6 ヘッダのバージョン、ト
    845          ãƒ©ãƒ’ッククラス、 フローラベルフィールドを誤って参ç
    846 §ãƒ»å¤‰æ›´ã™ã‚‹
    847          å•é¡Œã‚’修正した。
    848 
    849    (20)  リトルエンディアンのプロセッサにおける問題に対応するための変
    850          æ›´å†
    851 å®¹ã‚’以下に示す。
    852 
    853          [1]   tinet/net/net.h で、 コンフィギュレーション時にエラーが
    854                ç™ºç”Ÿã™ã‚‹å•é¡Œã‚’修正した。
    855          [2]   ãƒ«ãƒ¼ã‚¿é€šçŸ¥ã®å—信で、有効時間を誤る問題を修正した。
    856 
    857    (21)  JSP リリース 1.4.2 に対応した。変更å†
    858 å®¹ã‚’以下に示す。
    859 
    860          [1]   å‰²è¾¼ã¿ãƒ™ã‚¯ã‚¿ã®ç”Ÿæˆã§ã‚¨ãƒ©ãƒ¼ã¨ãªã‚‹å•é¡Œã‚’修正した。
    861          [2]   NE2000 互換 NIC のディバイスドライバ if_ed において、シ
    862                ã‚¹ãƒ†ãƒ ä¾å­˜ã§ãƒã‚¹ã®åˆæœŸåŒ–を行う ed_bus_init と、割込みの
    863                ã®åˆæœŸåŒ–を行う ed_inter_init を新設した。
    864          [3]   å“å·é€šä¿¡è¨ˆè£
    865 ã‚µãƒ¼ãƒ“ス製 NKEV-010H8(H8/3069F)をサポートした。
    866 
    867    (22)  TCP において、送信側で再構成され、 前後と重なりがあるセグメン
    868          ãƒˆã®å†æ§‹æˆãŒæ­£ã—く行われない問題を修正した(TOPPERS/TINET バ
    869          ã‚°ãƒˆãƒ©ãƒƒã‚¯ã‚·ã‚¹ãƒ†ãƒ  ID:8)。
    870 
    871    (23)  以下のコンパイル時コンフィギュレーションパラメータを変更した。
     262         を指定して、 TINET のライブラリを作成しないようにした場合、リ
     263         ンクができない問題を修正した。
     264
     265   (43)  NE2000 互換 NIC(if_ed) 用イーサネットインタフェースドライバで、
     266         送信するフレームのデータ部の長さが 46 オクテット未満の場合は、
     267         データの終りからフレームの終わり(CRC を除く)まで 0 で埋める
     268         ように変更した。
     269
     270   (44)  ASP への対応に関する変更を以下に示す。
     271
     272         [1]   ASP 用 TINET において TCP ヘッダのトレース出力機能で、
     273               TCP_CFG_TRACE を指定するとコンパイルできない問題を修正した。
     274         [2]   ターゲット OS が ASP、ネットワーク層が IPv4 で、 データ
     275               グラムの分割・再構成行うことを指定する IP4_CFG_FRAGMENT
     276               を定義した時、SEM_IP4_FRAG_QUEUE が未定義のエラーとなる
     277               問題を修正した。
     278         [3]   if_loop.c を ASP に対応させた。
     279         [4]   TINET のサンプルアプリケーションの Makefile を ASP のテ
     280               ンプレートディレクトリ sample の Makefile から生成する
     281               ように変更した。
     282         [5]   ASP テンプレートディレクトリを指定するオプション
     283               -m <asptemplatedir> を tinet_asp_configure に追加した。
     284         [6]   コンフィギュレータ(cfg)のパス名を指定するオプション
     285               -g <cfg> を tinet_asp_configure に追加した。
     286         [7]   ASP-1.7 以降の cfg1_out.c への対応を行った。
     287         [8]   ASP-1.8 以降の Makefile への対応を行うため、 。
     288               Makefile.tinet の ASP 用 TINET コンフィギュレーションファ
     289               イルに関係するルール・変数等を変更した。 ASP-1.8 から
     290               $(LDFLAGS) と $(CFG1_OUT_LDFLAGS) の定義が別になった。
     291               $(CFG1_OUT_LDFLAGS) が未定義であれば、 ASP-1.7 以前の処
     292               理を行うように変更した。
     293         [9]   tinet/tinet_asp.cfg に #include "target_sil.h" を追加した。
     294         [10]  tinet/net/net.h のバイトオーダーの定義に関して、 ターゲッ
     295               トが ASP の場合、SIL_ENDIAN_BIG と SIL_ENDIAN_LITTLE の
     296               定義を変更しないように修正した。
     297               これに対応して、 _NET_CFG_BYTE_ORDER、
     298               _NET_CFG_LITTLE_ENDIAN、
     299               _NET_CFG_BIG_ENDIAN を定義し、 TINET の内部で、
     300               SIL_ENDIAN、 SIL_ENDIAN_BIG、SIL_ENDIAN_LITTLE を参照し
     301               ないように修正した。
     302
     303   (45)  JSP への対応に関する変更を以下に示す。
     304
     305         [1]   JSP リリース 1.4.4 でコンパイルできない問題(Makefile
     306               の不整合)を修正した。
     307         [2]   JSP テンプレートディレクトリを指定するオプション
     308               -m <jsptemplatedir> を tinet_jsp_configure に追加した。
     309         [3]   tinet_sample.pdf、「2. サンプルアプリケーションの構築」、
     310               「(1) TINET コンフィギュレーションスクリプトの実行」、
     311               「[2] TOPPERS/JSP 用 TINET コンフィギュレーションスクリ
     312               プトの実行」から、オプション -d を削除した。
     313
     3142.  リリース 1.4.x から 1.5 までの変更
     315
     316   (1)   データグラム再構成用ネットワークバッファの定義に、
     317         IF_ETHER_NIC_NET_BUF_ALIGN が不足していた問題を修正した。
     318
     319   (2)   TINET プロトコルスタックの記述を、 TOPPERS/ASP カーネルで規定
     320         されている TOPPERS 共通データ型に変更した。
     321
     322   (3)   UDP で、 ノンブロッキングコール機能を組み込まず、UDP 通信端点
     323         に UDP_PORTANY を指定したとき、ポート番号が自動的に割り当てら
     324         れない問題を修正した。
     325
     326   (4)   コンパイル時コンフィギュレーションパラメータ SUPPORT_IPSEC を
     327         新設した。これは、IPSEC を処理するための指定である。 ただし、
     328         TINET は、 IPSEC を処理するためのフックのみを ip_input.c と
     329         ip_output.c 用意しているたけで、 IPSEC 自体は実装していないの
     330         で、別に組み込む必要がある。
     331
     332   (5)   TOPPERS/ASP に対応した。
     333
     334   (6)   ネットワークインタフェースの PPP とループバックを参考実装とした。
     335
     336   (7)   IPv4/IPv4 データグラムの設定の、 4 オクテット境界までパディン
     337         グで埋める処理で、 ネットワークバッファの領域外にパディングを
     338         書き込むことがある問題を修正した。
     339
     340   (8)   PPP で、 サーバからの IP アドレス自動取得ができない問題を修正した。
     341
     342   (9)   IPv4 の入力処理で、上位層が ICMP 以外の場合に行うオプションの
     343         消去をヘッダチェックサムの検査の後に変更した。
     344
     345   (10)  IPv4 の入力処理で、分割のチェックから RF ビットを外した。
     346
     347   (11)  IPv6 で、通信帯域を食いつぶす攻撃への対応のため、 タイプ 0 経
     348         路制御ヘッダの処理を行わないように変更した。
     349
     350   (12)  TCP の出力で、 送信サイズを通信相手の最大セグメントサイズに調
     351         整する場合、 誤ったサイズに調整することがある問題を修正した。
     352
     353   (13)  通信相手の TCP の MSS オプションの処理で、 記録する値を、
     354         TCP_MINMSS(216)から MAX_TCP_SND_SEG(標準は、 IPv4 が 512、
     355         IPv6 が 1024)に制限するように変更した。
     356
     357   (14)  IPv6 で、リンクローカルアドレスの重複を検出した場合、それ以降
     358         の近隣探索パケットを出力しなように変更した。
     359
     360   (15)  IPv6 で、ルータ通知のプレフィックス長が不正でも処理を継続し、
     361         プレフィックスリストに登録する。 また、オンリンク・フラグが有
     362         効であれば、同一 LAN 内のアドレスとして有効となるように変更した。
     363
     364   (16)  ITRON TCP/IP API の仕様に定義されているコールバック関数の引数
     365         p_parblk に関して、アドレス渡しが正しいが、値渡しとしていた実
     366         装上の誤りを修正した。また、TINET リリース 1.4 以前と互換性を
     367         維持するために値渡しにするコンパイル時コンフィギュレーション
     368         パラメータ TCP_CFG_NON_BLOCKING_COMPAT14 と
     369         UDP_CFG_NON_BLOCKING_COMPAT14 を新設した。
     370
     371   (17)  能動オープン(TCP_CON_CEP 呼出し)でノンブロッキングコールを
     372         行った時に、同時オープン(TCP の状態遷移が「SYN 送信」→「SYN
     373         受信」→「コネクション確立」)が発生した場合、 コールバック関
     374         数が呼出されない問題を修正した。
     375
     376   (18)  タスクからの Time Wait 状態の TCP 通信単点分離機能を組込んだ
     377         場合に、 ACK セグメントを再送する時、ポート番号のバイトオーダー
     378         の変換が誤っていた問題を修正した。
     379
     380   (19)  TCP で Keep Alive を有効にした時、ウィンドサイズが 0 のセグメ
     381         ントが送信される問題を修正した。
     382
     383   (20)  Makefile に NO_USE_TINET_LIBRARY = true を指定して、 ライブラ
     384         リ化させない方法における問題を修正した。
     385
     386   (21)  TOPPERS/ASP の実行環境、 GCC 3.x 系の開発環境でアプリケーショ
     387         ンプログラムを構築した時、ethernet ヘッダ構造体のサイズが不一
     388         致になり、 動作が不安定になることがある問題を修正した。
     389
     390   (22)  H8 依存部で、 tinet_sys_config.h に指定されている ED_IPM の設
     391         定を、IPM_LEVEL1 から IPM_LEVEL0 に変更した。
     392
     3933.  リリース 1.3.x から 1.4 までの変更
     394
     395   (1)   tinet コンフィギュレーションに TCP/IPv4 受付口の予約 ID を定
     396         義する VRID_TCP_REP を追加した。
     397
     398   (2)   tinet コンフィギュレーションに TCP/IPv4 通信端点の予約 ID を
     399         定義する VRID_TCP_CEP を追加した。
     400
     401   (3)   tinet コンフィギュレーションに UDP/IPv4 通信端点の予約 ID を
     402         定義する VRID_UDP_CEP を追加した。
     403
     404   (4)   tinet コンフィギュレーションに TCP/IPv6 受付口の予約 ID を定
     405         義する VRID_TCP6_REP を追加した。
     406
     407   (5)   tinet コンフィギュレーションに TCP/IPv6 通信端点の予約 ID を
     408         定義する VRID_TCP6_CEP を追加した。
     409
     410   (6)   tinet コンフィギュレーションに UDP/IPv6 通信端点の予約 ID を
     411         定義する VRID_UDP6_CEP を追加した。
     412
     413   (7)   ITRON TCP/IP API の TCP の拡張機能を有効にするコンパイル時コ
     414         ンフィギュレーションパラメータ TCP_CFG_EXTENTIONS を追加した。
     415
     416   (8)   ITRON TCP/IP API の UDP の拡張機能を有効にするコンパイル時コ
     417         ンフィギュレーションパラメータ UDP_CFG_EXTENTIONS を追加した。
     418
     419   (9)   一般定数マクロ TCP_REP_NONE を追加した。値は(0)。
     420
     421   (10)  一般定数マクロ TCP_CEP_NONE を追加した。値は(0)。
     422
     423   (11)  一般定数マクロ UDP_CEP_NONE を追加した。値は(0)。
     424
     425   (12)  全域変数として、 ipv6_addrany をマクロで定義した。 実体は、
     426         in6_addr_unspecified であり、これに伴って、プロトコルスタック
     427         内部名のリネームから、in6_addr_unspecified を外した。
     428
     429   (13)  UDP の通信端点の myportno に UDP_PORTANY を指定できない問題を
     430         修正した。
     431
     432   (14)  ITRON TCP/IP API の TCP/IPv4 受付口を動的に生成する API の
     433         cre_tcp_rep を追加した。
     434
     435   (15)  ITRON TCP/IP API の TCP 通信端点を動的に生成する API の
     436         cre_tcp_cep を追加した。
     437
     438   (16)  ITRON TCP/IP API の UDP/IPv4 通信端点を動的に生成する API の
     439         cre_udp_cep を追加した。
     440
     441   (17)  ITRON TCP/IP API の TCP 受付口を動的に削除する API の
     442         del_tcp_rep を追加した。
     443
     444   (18)  ITRON TCP/IP API の TCP 通信端点を動的に削除する API の
     445         del_tcp_cep を追加した。
     446
     447   (19)  ITRON TCP/IP API の UDP 通信端点を動的に削除する API の
     448         del_udp_cep を追加した。
     449
     450   (20)  ITRON TCP/IP API の TCP/IPv6 受付口を動的に生成する API の
     451         cre_tcp6_rep を追加した。
     452
     453   (21)  ITRON TCP/IP API の UDP/IPv6 通信端点を動的に生成する API の
     454         cre_udp6_cep を追加した。
     455
     456   (22)  ITRON TCP/IP API の TCP 通信端点オプションを設定する API の
     457         tcp_set_opt を追加した。
     458
     459   (23)  ITRON TCP/IP API の TCP 通信端点オプションを読出す API の
     460         tcp_get_opt を追加した。
     461
     462   (24)  ITRON TCP/IP API の UDP 通信端点オプションを設定する API の
     463         udp_set_opt を追加した。
     464
     465   (25)  ITRON TCP/IP API の UDP 通信端点オプションを読出す API の
     466         udp_get_opt を追加した。
     467
     468   (26)  内部的に使用している構造体名を変更した。
     469
     470         [1]   struct t_tcp4_ccep → struct t_tcp4_cep
     471         [2]   struct t_tcp6_ccep → struct t_tcp6_cep
     472         [3]   T_TCP_CCEP → T_TCP_IN_CCEP → T_TCP_CEP
     473         [4]   T_TCP_TW_CCEP → T_TCP_TWCEP
     474         [5]   T_TCP4_CCEP → T_TCP4_CEP
     475         [6]   T_TCP4_TW_CCEP → T_TCP4_TWCEP
     476         [7]   T_TCP6_CCEP → T_TCP6_CEP
     477         [8]   T_TCP4_TW_CCEP → T_TCP4_TWCEP
     478         [9]   T_TCP_CREP → T_TCP_IN_CREP → T_TCP_REP
     479         [10]  T_TCP4_CREP → T_TCP4_REP
     480         [11]  T_TCP6_CREP → T_TCP6_REP
     481         [12]  T_UDP_CCEP → T_UDP_IN_CCEP → T_UDP_CEP
     482         [13]  T_UDP4_CCEP → T_UDP4_CEP
     483         [14]  T_UDP6_CCEP → T_UDP6_CEP
     484
     485   (27)  内部的に使用している変数・配列名を変更した。
     486
     487         [1]   tcp_crep → tcp_rep
     488         [2]   tcp_ccep → tcp_cep
     489         [3]   tcp_tw_ccep → tcp_twcep
     490         [4]   udp_ccep → udp_cep
     491         [5]   tmax_tcp_crepid → tmax_tcp_repid
     492         [6]   tmax_tcp_ccepid → tmax_tcp_cepid
     493         [7]   tmax_udp_ccepid → tmax_udp_cepid
     494
     495   (28)  内部的に使用しているマクロ名を変更した。
     496
     497         [1]   VAID_TCP_CREPID → VAID_TCP_REPID
     498         [2]   VAID_TCP_CCEPID → VAID_TCP_CEPID
     499         [3]   VAID_UDP_CCEPID → VAID_UDP_CEPID
     500         [4]   INDEX_TCP_CREP → INDEX_TCP_REP
     501         [5]   INDEX_TCP_CCEP → INDEX_TCP_CEP
     502         [6]   INDEX_UDP_CCEP → INDEX_UDP_CEP
     503         [7]   GET_TCP_CREP → GET_TCP_REP
     504         [8]   GET_TCP_CCEP → GET_TCP_CEP
     505         [9]   GET_UDP_CCEP → GET_UDP_CEP
     506         [10]  GET_TCP_CREPID → GET_TCP_REPID
     507         [11]  GET_TCP_CCEPID → GET_TCP_CEPID
     508         [12]  GET_UDP_CCEPID → GET_UDP_CEPID
     509         [13]  GET_TCP_TW_CCEPID → GET_TCP_TWCEPID
     510         [14]  TMIN_TCP_RCEPID → TMIN_TCP_REPID
     511         [15]  TMIN_TCP_CCEPID → TMIN_TCP_CEPID
     512         [16]  TMIN_UDP_CCEPID → TMIN_UDP_CEPID
     513         [17]  TMIN_TCP_TW_CCEPID → TMIN_TCP_TWCEPID
     514         [18]  TNUM_TCP_RCEPID → TNUM_TCP_REPID
     515         [19]  TNUM_TCP_CCEPID → TNUM_TCP_CEPID
     516         [20]  TNUM_UDP_CCEPID → TNUM_UDP_CEPID
     517
     518   (29)  内部的に使用しているカーネルオブジェクト名を変更した。
     519
     520         [1]   SEM_TCP_CCEP → SEM_TCP_CEP
     521         [2]   SEM_UDP_CCEP → SEM_UDP_CEP
     522
     523   (30)  TW 用 TCP 通信端点で、不要なメンバを削除した。
     524
     525   (31)  緊急データの最後のバイトのオフセットを規定するコンパイル時コ
     526         ンフィギュレーションパラメータ TCP_CFG_URG_OFFSET を追加した。
     527
     528   (32)  ITRON TCP/IP API の緊急データ受信 API の tcp_rcv_oob を追加した。
     529
     530   (33)  ITRON TCP/IP API の緊急データ送信 API の tcp_snd_oob を追加した。
     531
     532   (34)  UDP のコールバック用受信データキューを使用しないようにした。
     533
     534   (35)  ノンブロッキングコールを組込む場合にリンクされる関数の定義を、
     535         udp_usrreq.c から分離し、 udp_usrreq_nblk.c に移動した。
     536         udp_usrreq_nblk.c は、udp_usrreq.c にインクルードする。
     537
     538   (36)  TCP で、再送を 12 回行なっても、通信が回復しないとき、 コネク
     539         ションを破棄するリセットセグメントが送信されない問題を修正した。
     540
     541   (37)  TCP で、ACK を正常に送信しないことがある問題を修正した。
     542
     543   (38)  TCP で、 高速再転送と高速リカバリが正常に行なわれないことがあ
     544         る問題を修正した。
     545
     546   (39)  受信ウィンドバッファの省コピー機能を使用したとき、 TCP のハー
     547         フクローズ状態で、 データを全て受信できないことがある問題を修
     548         正した。
     549
     550   (40)  ビッグエンディアンのプロセッサにおいて、 TCP ヘッダのトレース
     551         出力で、 正しい値を表示しない問題を修正した。
     552
     553   (41)  TCP ヘッダのトレース出力で、 送受信が混ざる場合がある問題を修
     554         正した。
     555
     556   (42)  コールバック用 UDP 受信キューサイズを指定する
     557         NUM_DTQ_UDP_CB_RCVQ は、アルゴリズムの変更により不要になった。
     558
     559   (43)  TCP 受付口が tinet_$(UNAME).cfg に指定されていない場合、
     560         TCP_CFG_PASSIVE_OPEN を未定義にしなければ、リンク時に未定義エ
     561         ラーになる問題を修正した。
     562
     563   (44)  T_NET_BUF_IF_PDU で、フレームの終わりの境界の調整量を指定する
     564         イーサネットインタフェース依存パラメータ定義
     565         IF_PDU_HDR_PADDING を追加した。
     566
     567   (45)  内部的に使用している構造体名を変更した。
     568
     569         [1]   t_net_buf_reassm → t_net_buf4_reassm
     570         [2]   T_NET_BUF_REASSM → T_NET_BUF4_REASSM
     571
     572   (46)  再構成バッファサイズのネットワークバッファ数を指定するコンパ
     573         イル時コンフィギュレーションパラメータ NUM_MPF_NET_BUF_REASSM
     574         を NUM_MPF_NET_BUF4_REASSM に変更し、 IPv4 用の再構成バッファ
     575         サイズのネットワークバッファ数を指定するパラメータとした。
     576
     577   (47)  ICMP6 エラーの出力時に、IPv6 MMTU(1,280 オクテット)を超える
     578         データグラムを出力する問題を修正した。
     579
     580   (48)  IPv6 データグラム再構成用ネットワークバッファ獲得タイムアウト
     581         を指定するコンパイル時コンフィギュレーションパラメータ
     582         TMO_IP6_FRAG_GET_NET_BUF を追加した。
     583
     584   (49)  IPv6 データグラムの分割・再構成行う場合に指定するコンパイル時
     585         コンフィギュレーションパラメータ IP6_CFG_FRAGMENT を追加した。
     586
     587   (50)  IPv6 データグラム再構成キューサイズを指定するコンパイル時コン
     588         フィギュレーションパラメータ NUM_IP6_FRAG_QUEUE を追加した。
     589         標準値は 2 である。
     590
     591   (51)  IPv6 データグラム再構成用ネットワークバッファのサイズを指定す
     592         るコンパイル時コンフィギュレーションパラメータ
     593         IP6_CFG_FRAG_REASSM_SIZE を追加した。標準値は 4096 である。
     594
     595   (52)  ICMPv6 で、受信したチェックサムの計算を誤ることがある問題を修
     596         正した。
     597
     598   (53)  IPv6 で、 認識できない次ヘッダコードを入力したとき、 送信する
     599         ICMPv6 エラーメッセージに誤りがある問題を修正した。
     600
     601   (54)  IPv6 の Traffic Class と Flow Label をサポートしないが、 これ
     602         らに 0 以外の値を設定して送信することがある問題を修正した。
     603
     604   (55)  IPv6 で、 ホップリミットが 0 の ICMPv6 エコー要求パケットを受
     605         信したとき、 送信する ICMPv6 エコーメッセージに誤りがある問題
     606         を修正した。
     607
     608   (56)  IPv6 で、重複アドレス検出時に、誤ったあて先アドレスのデータグ
     609         ラムを受信したとき、 誤って自アドレスが重複していると認識して
     610         しまうことがある問題を修正した。
     611
     612   (57)  IPv6 で、生存期間が切れたプレフィックスのアドレスが有効になる
     613         事がある問題を修正した。
     614
     615   (58)  IPv6 で、近隣探索キャッシュの状態遷移に一部誤りがあった問題を
     616         修正した。
     617
     618   (59)  IPv6 で、近隣探索要請マルチキャストデータグラムの送信元アドレ
     619         スとして誤ったアドレスを設定する事がある問題を修正した。
     620
     621   (60)  IPv6 で、ルータ要請の再送時間間隔が、誤っていた問題(3 秒→ 4
     622         秒)を修正した。
     623
     624   (61)  セグメントの異なるホストに送信するとき、 ディフォルトルータの
     625         検索に失敗することがある問題を修正した。
     626
     627   (62)  認識できない近隣探索オプションの処理に関する問題を修正した。
     628
     629   (63)  IPv6 で、ルータから通知されたホップリミットを正しく処理してい
     630         ない問題を修正した。
     631
     632   (64)  IPv6 で、重複アドレス検出中に E_QOVR エラーが発生することがあ
     633         る問題を修正した。
     634
     635   (65)  IPv6 の近隣通知で、誤ったフラグを設定していた問題を修正した。
     636
     637   (66)  IPv6 で、 次ヘッダが 0 の IPv6 データグラムを受信したとき、送
     638         信する ICMPv6 エコーメッセージに誤りがある問題を修正した。
     639
     640   (67)  IPv6 で、近隣通知のルータフラグを正しく処理しない問題を修正した。
     641
     642   (68)  IPv6 で、近隣要請の再送時間間隔が、標準より長くなることがある
     643         問題を修正した。
     644
     645   (69)  プレフィックスリストのエントリ数を指定するコンパイル時コンフィ
     646         ギュレーションパラメータ NUM_ND6_PREFIX_ENTRY を追加した。
     647
     648   (70)  インタフェースのアドレスリスト(IPv6)のエントリ数を指定する
     649         コンパイル時コンフィギュレーションパラメータ
     650         NUM_IN6_IFADDR_ENTRY を追加した。
     651
     652   (71)  次ヘッダ無しの IP データグラムを受信したとき、誤った ICMP6 エ
     653         ラーメッセージを出力していた問題を修正した。
     654
     655   (72)  ディフォルトルータの有効時間が切れた時に、 別のディフォルトルー
     656         タに接続できない問題を修正した。
     657
     658   (73)  IPv6 で、ルータから通知された到達可能状態の有効時間を正しく処
     659         理していない問題を修正した。
     660
     661   (74)  IPv6 で、ルータから通知されたルータ有効時間を正しく処理してい
     662         ない問題を修正した。
     663
     664   (75)  マルチキャスト宛の ICMPv6 エコーリクエストへの応答で、 送信元
     665         アドレスを正しく設定していない問題を修正した。
     666
     667   (76)  Path MTU とホスト情報キャッシュを実装した。
     668
     669   (77)  IPv6 用ホストキャッシュのエントリ数を指定するコンパイル時コン
     670         フィギュレーションパラメータ NUM_IN6_HOSTCACHE_ENTRY を追加した。
     671
     672   (78)  ネットワークインタフェースに PPP を選択したとき、コンパイルエ
     673         ラーになる問題を修正した。
     674
     675   (79)  リトルエンディアンのプロセッサで、 ルータ通知を正しく処理しな
     676         い問題を修正した。
     677
     678   (80)  リトルエンディアンのプロセッサで、 断片ヘッダを正しく処理しな
     679         い問題を修正した。
     680
     681   (81)  ESP 用として、 ネットワークバッファのフラグに NB_FLG_DECRYPED
     682         を追加した。ただし、TINET は、IPSec を直接サポートしない。
     683
     684   (82)  if_ed.c で、IF_ETHER_NIC_HDR_ALIGN 分のアドレスを調節するよう
     685         に変更した。
     686
     687   (83)  if_ed.c の NIC 割り込みハンドラ if_ed_handler で、 ターゲット
     688         依存部の割込みクリア関数 ed_inter_clear を呼出すように変更した。
     689
     690   (84)  config/h8 に、tinet_cpu_config.c を新設し、ターゲット依存部の
     691         割込みクリア関数 ed_inter_clear を追加した。ただし、H8 では、
     692         明示的にプロセッサの割り込みをクリアする必要はないため、 何も
     693         しない関数になっている。
     694
     695   (85)  config/h8 の tinet_cpu_config.h に、 ターゲット依存部の割込み
     696         クリア関数 ed_inter_clear のプロトタイプ宣言を追加した。
     697
     698   (86)  config/h8 に、 tinet_cpu_config.c を新設したことに伴い、
     699         Makefile.tinet も追加した。
     700
     701   (87)  IPv6 で、 ルータから通知された到達可能状態の有効時間
     702         (Reachable Time)の再計算は、仕様上は、0.5 ~ 1.5 倍の範囲で
     703         ランダムな値に設定するが、 タイマーの起動間隔を考慮して、 0.5
     704         ~ 1.45 の範囲になるよう調整した。
     705
     706   (88)  イーサネットディバイスドライバにより、 ネットワークバッファで、
     707         アライン調整を行う IF_ETHER_NIC_NET_BUF_ALIGN を追加した。
     708
     709   (89)  IPv6 で、ルータから通知されたプレフィックスの有効時間が過ぎた
     710         直後に、 有効なアドレスとして処理することがある問題を修正した。
     711
     712   (90)  リトルエンディアンのプロセッサのチェックサム計算の処理効率を
     713         改善した。
     714
     7154.  リリース 1.2.x からリリース 1.3 までの変更
     716
     717   (1)   IPv6 で、ネットワークインタフェースにループバックインタフェー
     718         スを指定したとき、 コンパイルエラーが発生する問題を修正した。
     719
     720   (2)   チェックサム計算でエラーになる問題を修正した(TOPPERS/TINET
     721         バグトラックシステム ID:1)。
     722
     723   (3)   echos で、 TCP_ECHO_SRV_STACK_SIZE の二重定義警告が出る問題を
     724         修正した(TOPPERS/TINET バグトラックシステム ID:2)。
     725
     726   (4)   ネットワークバッファの取得失敗の時、 常に警告を出力するように
     727         変更した(TOPPERS/TINET バグトラックシステム ID:3)。
     728
     729   (5)   echos/echos の問題を修正した(toppers-users 1724)。
     730
     731   (6)   IP4_CFG_FRAGMENT を指定したとき、 tinet/netapp/dbg_cons.c と
     732         tinet/netinet/ip_output.c で、 コンパイルエラーになる問題を修
     733         正した。
     734
     735   (7)   拡張ヘッダの付いた ICMPv6 エコーリクエストに対する応答の問題
     736         を修正した。
     737
     738   (8)   近隣探索の到達可能性の確認でタイムアウトした後、 アドレス解決
     739         が出来ない問題を修正した。
     740
     741   (9)   TCP の入力セグメントの再構成関数の潜在的な問題点を修正した。
     742
     743   (10)  UDP のみ使用するときの icmp6.c で、_tinet_tcp_notify の参照エ
     744         ラーが発生する問題を修正した。
     745
     746   (11)  UDP の送信で、 タイムアウトしたとき、ネットワークバッファを開
     747         放しない問題を修正した。
     748
     749   (12)  TCP の応答で、 IP のペイロードサイズを誤る問題を修正した
     750         (TOPPERS/TINET バグトラックシステム ID:5)。
     751
     752   (13)  udp_rcv_dat で、 タイムアウトに時間を指定したとき、タスクの実
     753         行がブロックされる問題を修正した。
     754
     755   (14)  ネットワーク統計情報の計測の変数サイズを、 _int64_ が定義され
     756         ている場合のみ UD となるように変更した。
     757
     758   (15)  JSP リリース 1.4.2 に暫定対応した。変更内容を以下に示す。
     759
     760         [1]   H8 依存部の割込みレベル導入に伴い。if_ed イーサネット・
     761               ディバイスドライバの割込み処理を実装する
     762               config/h8/akih8_3069f/tinet_sys_config.c を追加した。
     763         [2]   ed_ena_inter、ed_dis_inter の引数と戻り値を変更した。
     764         [3]   ed_ena_inter、ed_dis_inter の引数と戻り値の変更に伴い、
     765               tinet/netdev/if_ed/if_ed.c も変更した。
     766         [4]   ed_ena_inter、 ed_dis_inter の定義を、
     767               tinet/netdev/if_ed/if_edreg.h から、
     768               config/h8/akih8_3069f/tinet_sys_config.c に変更した。
     769
     770   (16)  tcp_cls_cep で、 タイムアウトした後、tcp_acp_cep がエラーにな
     771         る問題を修正した。
     772
     773   (17)  誤った IP SDU 長の TCP リセットセグメントを送信する問題を修正した。
     774
     775   (18)  TCP のシーケンス番号がランダムに初期化されない問題を修正した。
     776
     777   (19)  リトルエンディアンのプロセッサで、IPv6 ヘッダのバージョン、ト
     778         ラヒッククラス、 フローラベルフィールドを誤って参照・変更する
     779         問題を修正した。
     780
     781   (20)  リトルエンディアンのプロセッサにおける問題に対応するための変
     782         更内容を以下に示す。
     783
     784         [1]   tinet/net/net.h で、 コンフィギュレーション時にエラーが
     785               発生する問題を修正した。
     786         [2]   ルータ通知の受信で、有効時間を誤る問題を修正した。
     787
     788   (21)  JSP リリース 1.4.2 に対応した。変更内容を以下に示す。
     789
     790         [1]   割込みベクタの生成でエラーとなる問題を修正した。
     791         [2]   NE2000 互換 NIC のディバイスドライバ if_ed において、シ
     792               ステム依存でバスの初期化を行う ed_bus_init と、割込みの
     793               の初期化を行う ed_inter_init を新設した。
     794         [3]   品川通信計装サービス製 NKEV-010H8(H8/3069F)をサポートした。
     795
     796   (22)  TCP において、送信側で再構成され、 前後と重なりがあるセグメン
     797         トの再構成が正しく行われない問題を修正した(TOPPERS/TINET バ
     798         グトラックシステム ID:8)。
     799
     800   (23)  以下のコンパイル時コンフィギュレーションパラメータを変更した。
    872801
    873802            NUM_MPF_NET_BUF_4096
    874             ↓
     803           
    875804            NUM_MPF_NET_BUF_REASSM
    876805
    877          ãŸã ã—、 tinet_config.h で、リリース 1.2 との互換性を確保してある。
    878 
    879    (24)  ネットワークバッファの各長さの指定で、無指定または 0 を指定し
    880          ãŸå ´åˆã¯ã€ 対応する固定メモリプールを割当てないように変更した。
    881 
    882    (25)  コンパイル時コンフィギュレーションパラメータに、 再構成バッファ
    883          ã‚µã‚¤ã‚ºã‚’指定する IP4_CFG_FRAG_REASSM_SIZE を新設した。
    884 
    885    (26)  ネットワークバッファに新しいサイズを追加した。
    886 
    887          [1]   T_NET_BUF_IPV6_CSEG、サイズはネットワークインタフェース
    888                ã®ãƒ˜ãƒƒãƒ€ã‚µã‚¤ã‚º + IP ヘッダサイズ + TCP ヘッダサイズ
    889          [2]   T_NET_BUF_IP_MSS で、 サイズは IP_MSS(ネットワークイン
    890                ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã®ãƒ˜ãƒƒãƒ€ã‚µã‚¤ã‚º + 576 オクテット)。
    891          [3]   T_NET_BUF_IPV6_MMTU、サイズは IPV6_MMTU(ネットワークイ
    892                ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã®ãƒ˜ãƒƒãƒ€ã‚µã‚¤ã‚º + 1280 オクテット)。
    893 
    894    (27)  TINET å†
    895 éƒ¨ã®ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆå€¤ã€ タスクのスタックサイズ、å†
    896 éƒ¨ã®ã‚¿
    897          ã‚¹ã‚¯ã®å„ªå
    898 ˆåº¦ã€ãƒ‡ãƒ¼ã‚¿ã‚­ãƒ¥ãƒ¼ã®ã‚¨ãƒ³ãƒˆãƒªæ•°ã€ 及び以下のコンパイル
    899          æ™‚コンフィギュレーションパラメータは、tinet/tinet_config.h で
    900          å®šç¾©ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ã—た。
     806         ただし、 tinet_config.h で、リリース 1.2 との互換性を確保してある。
     807
     808   (24)  ネットワークバッファの各長さの指定で、無指定または 0 を指定し
     809         た場合は、 対応する固定メモリプールを割当てないように変更した。
     810
     811   (25)  コンパイル時コンフィギュレーションパラメータに、 再構成バッファ
     812         サイズを指定する IP4_CFG_FRAG_REASSM_SIZE を新設した。
     813
     814   (26)  ネットワークバッファに新しいサイズを追加した。
     815
     816         [1]   T_NET_BUF_IPV6_CSEG、サイズはネットワークインタフェース
     817               のヘッダサイズ + IP ヘッダサイズ + TCP ヘッダサイズ
     818         [2]   T_NET_BUF_IP_MSS で、 サイズは IP_MSS(ネットワークイン
     819               タフェースのヘッダサイズ + 576 オクテット)。
     820         [3]   T_NET_BUF_IPV6_MMTU、サイズは IPV6_MMTU(ネットワークイ
     821               ンタフェースのヘッダサイズ + 1280 オクテット)。
     822
     823   (27)  TINET 内部のタイムアウト値、 タスクのスタックサイズ、内部のタ
     824         スクの優先度、データキューのエントリ数、 及び以下のコンパイル
     825         時コンフィギュレーションパラメータは、tinet/tinet_config.h で
     826         定義するように変更した。
    901827
    902828            MAX_TCP_RCV_SEG
     
    905831            LOMTU
    906832
    907    (28)  TCP の受動オープンをサポートする場合に指定する
    908          SUPPORT_TCP_POPEN を追加した。
    909 
    910    (29)  コンパイル時コンフィギュレーションパラメータに、
    911          NUM_TCP_TW_CEP_ENTRY を追加した。これは、タスクから Time Wait
    912          çŠ¶æ
    913 ‹ã® TCP 通信端点を分離する機能で、 Time Wait 状æ
    914 ‹ã® TCP 通
    915          ä¿¡ç«¯ç‚¹ã®ã‚¨ãƒ³ãƒˆãƒªæ•°ã‚’指定する。指定しないか、 0 を指定するとタ
    916          ã‚¹ã‚¯ã‹ã‚‰ Time Wait 状æ
    917 ‹ã® TCP 通信端点を分離する機能を組込まない。
    918 
    919    (30)  TCP の受動オープンをサポートする場合に指定する
    920          SUPPORT_TCP_POPEN は TCP_CFG_PASSIVE_OPEN のドキュメント誤り。
    921 
    922    (31)  tinet コンフィギュレータが生成する tinet_cfg.c の TCP_CRE_CEP
    923          ã«å¯¾å¿œã™ã‚‹æ§‹é€ ä½“ T_TCP_CCEP のフィールド sbuf と rbuf の値の
    924          å‰ã« (VP) を、 フィールド callback の値の前に (FP) を出力する
    925          ã‚ˆã†ã«å¤‰æ›´ã—た。
    926 
    927    (32)  tinet コンフィギュレータが生成する tinet_cfg.c の
    928          TCP6_CRE_CEP に対応する構造体 T_TCP6_CCEP のフィールド sbuf
    929          ã¨ rbuf の値の前に (VP) を、 フィールド callback の値の前に
    930          (FP) を出力するように変更した。
    931 
    932    (33)  tinet コンフィギュレータが生成する tinet_cfg.c に
     833   (28)  TCP の受動オープンをサポートする場合に指定する
     834         SUPPORT_TCP_POPEN を追加した。
     835
     836   (29)  コンパイル時コンフィギュレーションパラメータに、
     837         NUM_TCP_TW_CEP_ENTRY を追加した。これは、タスクから Time Wait
     838         状態の TCP 通信端点を分離する機能で、 Time Wait 状態の TCP 通
     839         信端点のエントリ数を指定する。指定しないか、 0 を指定するとタ
     840         スクから Time Wait 状態の TCP 通信端点を分離する機能を組込まない。
     841
     842   (30)  TCP の受動オープンをサポートする場合に指定する
     843         SUPPORT_TCP_POPEN は TCP_CFG_PASSIVE_OPEN のドキュメント誤り。
     844
     845   (31)  tinet コンフィギュレータが生成する tinet_cfg.c の TCP_CRE_CEP
     846         に対応する構造体 T_TCP_CCEP のフィールド sbuf と rbuf の値の
     847         前に (VP) を、 フィールド callback の値の前に (FP) を出力する
     848         ように変更した。
     849
     850   (32)  tinet コンフィギュレータが生成する tinet_cfg.c の
     851         TCP6_CRE_CEP に対応する構造体 T_TCP6_CCEP のフィールド sbuf
     852         と rbuf の値の前に (VP) を、 フィールド callback の値の前に
     853         (FP) を出力するように変更した。
     854
     855   (33)  tinet コンフィギュレータが生成する tinet_cfg.c に
    933856
    934857            #include <netinet/in_itron.h>
    935858
    936          ã‚’出力するように変更した。
    937 
    938    (34)  TCP 通信端点で、 送受信用の二つのセマフォをイベントフラグによ
    939          ã‚Šå®Ÿè£
    940 ã—た。
    941 
    942    (35)  TCP 通信端点の送受信ウィンドバッファの省コピー機能を実è£
    943 ã—た。
    944 
    945    (36)  TCP 通信端点の送受信ウィンドバッファの省コピー機能用に、 以下
    946          ã«ç¤ºã™ã‚³ãƒ³ãƒ‘イル時コンフィギュレーションパラメータを追加した。
    947 
    948          [1]   TCP_CFG_RWBUF_CSAVE_ONLY、 TCP 通信端点の受信ウィンドバッ
    949                ãƒ•ã‚¡ã®çœã‚³ãƒ”ー機能を組込み、 この機能のみ使用する。
    950          [2]   TCP_CFG_RWBUF_CSAVE、TCP 通信端点の受信ウィンドバッファ
    951                ã®çœã‚³ãƒ”ー機能を組込む。
    952          [3]   TCP_CFG_SWBUF_CSAVE_ONLY、 TCP 通信端点の送信ウィンドバッ
    953                ãƒ•ã‚¡ã®çœã‚³ãƒ”ー機能を組込み、 この機能のみ使用する。
    954          [4]   TCP_CFG_SWBUF_CSAVE、TCP 通信端点の送信ウィンドバッファ
    955                ã®çœã‚³ãƒ”ー機能を組込む。
    956          [5]   TCP_CFG_RWBUF_CSAVE_MAX_QUEUES、 TCP 通信端点の受信ウィ
    957                ãƒ³ãƒ‰ãƒãƒƒãƒ•ã‚¡ã®çœã‚³ãƒ”ー機能の、 受信ウィンドバッファキュー
    958                ã®æœ€å¤§ã‚¨ãƒ³ãƒˆãƒªæ•°ã€‚ただし、 正常に受信したセグメントも破
    959                æ£„するため、 再送回数が増加する。また、指定しないと制限
    960                ã—ない。標準値は 2 である。
    961          [6]   TCP_CFG_SWBUF_CSAVE_MAX_SIZE、 TCP 通信端点の送信ウィン
    962                ãƒ‰ãƒãƒƒãƒ•ã‚¡ã®çœã‚³ãƒ”ー機能で、 送信ウィンドバッファに使用
    963                ã™ã‚‹ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒãƒƒãƒ•ã‚¡ã®æœ€å¤§ã‚µã‚¤ã‚ºã€‚ 標準値は
    964                IF_PDU_SIZE である。
    965          [7]   TCP_CFG_SWBUF_CSAVE_MIN_SIZE、 TCP 通信端点の送信ウィン
    966                ãƒ‰ãƒãƒƒãƒ•ã‚¡ã®çœã‚³ãƒ”ー機能で、 送信ウィンドバッファに使用
    967                ã™ã‚‹ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒãƒƒãƒ•ã‚¡ã®æœ€å¤§ã‚µã‚¤ã‚ºã€‚ 標準値は 0 である。
    968 
    969    (37)  TCP と UDP のノンブロッキングコール機能の組込みを指定するコン
    970          ãƒ‘イル時コンフィギュレーションパラメータを追加した。
    971 
    972          [1]   TCP_CFG_NON_BLOCKING、 TCP のノンブロッキングコール機能
    973                ã‚’組込む。
    974          [2]   UDP_CFG_NON_BLOCKING、 UDP のノンブロッキングコール機能
    975                ã‚’組込む。
    976 
    977    (38)  netinet/in.h に、 TINET のバージョンæƒ
    978 å ± TINET_PRVER を定義した。
    979 
    980    (39)  netinet/in.h に、8 ビット毎に指定した IPv4 アドレスを 32 ビッ
    981          ãƒˆã«ã™ã‚‹ãƒžã‚¯ãƒ­ MAKE_IPV4_ADDR を追加した。
    982 
    983    (40)  TCP と UDP の一部をライブラリ化した。
    984 
    985    (41)  アプリケーションの Makefile にインクルードする TINET の
    986          Makefile.config を Makefile.tinet に変更した。
    987 
    988    (42)  int のサイズが 16 ビットの処理系に対応した(動作確認は、 ( æ ª
    989          ) ルネサス製コンパイラ H8C で行った)。変更å†
    990 å®¹ã‚’以下に示す。
    991 
    992          [1]   tcp_seq.h のインライン関数の記述を変更した。
    993          [2]   é–¢æ•° timeout と関数 untimeout の第 1 引数を (FP) 型に明
    994                ç¤ºçš„にキャストした。
    995          [3]   ãƒžã‚¯ãƒ­å†
    996 ã§ã‚·ãƒ•ãƒˆæ¼”算のオペランドとして使用されている引
    997                æ•°ã®æ–¹ã‚’明示的にキャストした。
    998          [4]   ãƒžã‚¯ãƒ­ GET_TCP_CREPID、 GET_TCP_CCEPID、
    999                GET_TCP_TW_CCEPID、
    1000                GET_UDP_CCEPID の戻り値を ID 型に明示的にキャストした。
    1001          [5]   tinet/net/net_buf.h、ネットワークバッファのテンプレート
    1002                ã®å®šç¾© struct t_net_buf で、 バッファ本体の大きさを
    1003                buf[4] に変更した。
    1004          [6]   ä¹±æ•°é–¢æ•° rand() の関数名を net_rand() に変更し、 戻り値
    1005                ã®åž‹ã‚’ UW に変更した。
    1006          [7]   ä¹±æ•°åˆæœŸåŒ–関数 srand() の関数名を net_srand() に変更し、
    1007                å¼•æ•°ã®åž‹ã‚’ UW に変更した。
    1008          [8]   tcp_read_rwbuf_cs() のコンパイルエラー((UB*)data +=
    1009                blen)の問題を修正した。
    1010          [9]   MAKE_IPV4_ADDR の各引数へのキャストを UB から UW に変更した。
    1011          [10]  SYSTIM_HZ の定義で、定数にキャスト (SYSTIM) を追加した。
    1012          [11]  IS_PTR_DEFINED の定義で、(a) にキャスト (VP) を追加した。
    1013          [12]  UB 型変数、UH 型変数への代å
    1014 ¥ã§ã®è­¦å‘Šã®å•é¡Œã‚’修正した。
    1015          [13]  32 ビットå¹
    1016 ãŒå¿
    1017 è¦ãªå¤‰æ•°ã®åž‹ã«ã¯ã€ 明示的に W または UW
    1018                ã‚’使用した。
    1019          [14]  syslog の引数の型を明確にした。
    1020          [15]  警告が出る関数の引数をキャストした。
    1021          [16]  警告が出る関数の戻り値をキャストした。
    1022          [17]  精度に関する警告が出る代å
    1023 ¥ã®å³è¾ºã‚’キャストした。
    1024 
    1025    (43)  マクロ ntohs と htons の定義で、 ビッグエンディアンのプロセッ
    1026          ã‚µã§ã¯ã€UH の戻り値を返すように変更した。
    1027 
    1028    (44)  マクロ ntohl と htonl の定義で、 ビッグエンディアンのプロセッ
    1029          ã‚µã§ã¯ã€UW の戻り値を返すように変更した。
    1030 
    1031    (45)  TCP ヘッダのトレース出力機能の組込みを指定するコンパイル時コ
    1032          ãƒ³ãƒ•ã‚£ã‚®ãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ãƒ‘ラメータを追加した。
    1033 
    1034          [1]   TCP_CFG_TRACE、TCP ヘッダのトレース出力機能を組込む。
    1035          [2]   TCP_CFG_TRACE_IPV4_RADDR、 トレース出力対象のリモートホ
    1036                ã‚¹ãƒˆã® IPv4 アドレスを指定する。IPV4_ADDRANY を指定する
    1037                ã¨ã€å
    1038 ¨ã¦ã®ãƒ›ã‚¹ãƒˆã‚’対象とする。
    1039          [3]   TCP_CFG_TRACE_LPORTNO、トレース出力対象のローカルホスト
    1040                ã®ãƒãƒ¼ãƒˆç•ªå·ã‚’指定する。 TCP_PORTANY を指定すると、å
    1041 ¨ã¦
    1042                ã®ãƒãƒ¼ãƒˆç•ªå·ã‚’対象にする。
    1043          [4]   TCP_CFG_TRACE_RPORTNO、トレース出力対象のリモートホスト
    1044                ã®ãƒãƒ¼ãƒˆç•ªå·ã‚’指定する。TCP_PORTANY を指定すると、 å
    1045 ¨ã¦
    1046                ã®ãƒãƒ¼ãƒˆç•ªå·ã‚’対象にする。
    1047 
    1048    (46)  サポート関数 ip2str で、 第 1 引数に NULL を指定すると、TINET
    1049          å†
    1050 éƒ¨ã§ç¢ºä¿ã—てあるバッファに文字列を書き込み、 そのアドレスを
    1051          è¿”すように変更した。 これに伴い、バッファ数を指定するコンパイ
    1052          ãƒ«æ™‚コンフィギュレーションパラメータ NUM_IPV4ADDR_STR_BUFF を
    1053          è¿½åŠ ã—た。
    1054 
    1055    (47)  サポート関数 ipv62str で、 第 1 引数に NULL を指定すると、
    1056          TINET å†
    1057 éƒ¨ã§ç¢ºä¿ã—てあるバッファに文字列を書き込み、 そのアド
    1058          ãƒ¬ã‚¹ã‚’返すように変更した。これに伴い、 バッファ数を指定するコ
    1059          ãƒ³ãƒ‘イル時コンフィギュレーションパラメータ
    1060          NUM_IPV6ADDR_STR_BUFF を追加した。
    1061 
    1062    (48)  サポート関数 mac2str で、第 1 引数に NULL を指定すると、TINET
    1063          å†
    1064 éƒ¨ã§ç¢ºä¿ã—てあるバッファに文字列を書き込み、 そのアドレスを
    1065          è¿”すように変更した。これに伴い、 バッファ数を指定するコンパイ
    1066          ãƒ«æ™‚コンフィギュレーションパラメータ NUM_MACADDR_STR_BUFF を
    1067          è¿½åŠ ã—た。
    1068 
    1069    (49)  tinet と tinet/netdev/if_ed における Makefile のインクルード
    1070          ãƒ•ã‚¡ã‚¤ãƒ«ã‚’ Makefile.tinet に変更した。
    1071 
    1072    (50)  送信ウィンドバッファの省コピー機能で、TCP_CFG_SWBUF_SAVE を指
    1073          å®šã—、TCP 通信端点を生成する静的 API においても、送信ウィンド
    1074          ãƒãƒƒãƒ•ã‚¡ã‚’指定した場合、 誤ったデータを送信する問題を修正した。
    1075 
    1076    (51)  tinet/Makefile.tinet における TINET_KERNEL_CFG の定義を、
    1077          tinet_cfg.c から、tinet_kern.cfg、tinet.cfg、TINET å†
    1078 éƒ¨ã§ä½¿ç”¨
    1079          ã™ã‚‹ã‚«ãƒ¼ãƒãƒ«ã‚ªãƒ–ジェクトを定義しているコンフィギュレーション
    1080          ãƒ•ã‚¡ã‚¤ãƒ«ã«å¤‰æ›´ã—た。
    1081 
    1082    (52)  8 ビット毎に指定した IPv4 アドレスを 32 ビットにするマクロ
    1083          MAKE_IPV4_ADDR を追加した(TOPPERS/TINET バグトラックシステム
    1084          ID:4)。
    1085 
    1086    (53)  各ソースコードのコピーライトを修正した(TOPPERS/TINET バグト
    1087          ãƒ©ãƒƒã‚¯ã‚·ã‚¹ãƒ†ãƒ  ID:6)。
    1088 
    1089 5.  リリース 1.1.x から 1.2 までの変更
    1090 
    1091    (1)   TINET コンフィギュレーションファイルで、 TCP 受付口を指定しな
    1092          ã‹ã£ãŸã¨ãã®å•é¡Œã¯ã€ tinet/cfg/tinet_parser.cpp で、
    1093          tinet_cfg.c にダミーの TCP 受付口変数を出力するように修正した。
    1094 
    1095    (2)   UDP のみ使用するときの kernel_cfg.c で、 コンパイルエラーが発
    1096          ç”Ÿã™ã‚‹å•é¡Œã¯ã€tinet/netinet/tcp.cfg から
     859         を出力するように変更した。
     860
     861   (34)  TCP 通信端点で、 送受信用の二つのセマフォをイベントフラグによ
     862         り実装した。
     863
     864   (35)  TCP 通信端点の送受信ウィンドバッファの省コピー機能を実装した。
     865
     866   (36)  TCP 通信端点の送受信ウィンドバッファの省コピー機能用に、 以下
     867         に示すコンパイル時コンフィギュレーションパラメータを追加した。
     868
     869         [1]   TCP_CFG_RWBUF_CSAVE_ONLY、 TCP 通信端点の受信ウィンドバッ
     870               ファの省コピー機能を組込み、 この機能のみ使用する。
     871         [2]   TCP_CFG_RWBUF_CSAVE、TCP 通信端点の受信ウィンドバッファ
     872               の省コピー機能を組込む。
     873         [3]   TCP_CFG_SWBUF_CSAVE_ONLY、 TCP 通信端点の送信ウィンドバッ
     874               ファの省コピー機能を組込み、 この機能のみ使用する。
     875         [4]   TCP_CFG_SWBUF_CSAVE、TCP 通信端点の送信ウィンドバッファ
     876               の省コピー機能を組込む。
     877         [5]   TCP_CFG_RWBUF_CSAVE_MAX_QUEUES、 TCP 通信端点の受信ウィ
     878               ンドバッファの省コピー機能の、 受信ウィンドバッファキュー
     879               の最大エントリ数。ただし、 正常に受信したセグメントも破
     880               棄するため、 再送回数が増加する。また、指定しないと制限
     881               しない。標準値は 2 である。
     882         [6]   TCP_CFG_SWBUF_CSAVE_MAX_SIZE、 TCP 通信端点の送信ウィン
     883               ドバッファの省コピー機能で、 送信ウィンドバッファに使用
     884               するネットワークバッファの最大サイズ。 標準値は
     885               IF_PDU_SIZE である。
     886         [7]   TCP_CFG_SWBUF_CSAVE_MIN_SIZE、 TCP 通信端点の送信ウィン
     887               ドバッファの省コピー機能で、 送信ウィンドバッファに使用
     888               するネットワークバッファの最大サイズ。 標準値は 0 である。
     889
     890   (37)  TCP と UDP のノンブロッキングコール機能の組込みを指定するコン
     891         パイル時コンフィギュレーションパラメータを追加した。
     892
     893         [1]   TCP_CFG_NON_BLOCKING、 TCP のノンブロッキングコール機能
     894               を組込む。
     895         [2]   UDP_CFG_NON_BLOCKING、 UDP のノンブロッキングコール機能
     896               を組込む。
     897
     898   (38)  netinet/in.h に、 TINET のバージョン情報 TINET_PRVER を定義した。
     899
     900   (39)  netinet/in.h に、8 ビット毎に指定した IPv4 アドレスを 32 ビッ
     901         トにするマクロ MAKE_IPV4_ADDR を追加した。
     902
     903   (40)  TCP と UDP の一部をライブラリ化した。
     904
     905   (41)  アプリケーションの Makefile にインクルードする TINET の
     906         Makefile.config を Makefile.tinet に変更した。
     907
     908   (42)  int のサイズが 16 ビットの処理系に対応した(動作確認は、 ( 株
     909         ) ルネサス製コンパイラ H8C で行った)。変更内容を以下に示す。
     910
     911         [1]   tcp_seq.h のインライン関数の記述を変更した。
     912         [2]   関数 timeout と関数 untimeout の第 1 引数を (FP) 型に明
     913               示的にキャストした。
     914         [3]   マクロ内でシフト演算のオペランドとして使用されている引
     915               数の方を明示的にキャストした。
     916         [4]   マクロ GET_TCP_CREPID、 GET_TCP_CCEPID、
     917               GET_TCP_TW_CCEPID、
     918               GET_UDP_CCEPID の戻り値を ID 型に明示的にキャストした。
     919         [5]   tinet/net/net_buf.h、ネットワークバッファのテンプレート
     920               の定義 struct t_net_buf で、 バッファ本体の大きさを
     921               buf[4] に変更した。
     922         [6]   乱数関数 rand() の関数名を net_rand() に変更し、 戻り値
     923               の型を UW に変更した。
     924         [7]   乱数初期化関数 srand() の関数名を net_srand() に変更し、
     925               引数の型を UW に変更した。
     926         [8]   tcp_read_rwbuf_cs() のコンパイルエラー((UB*)data +=
     927               blen)の問題を修正した。
     928         [9]   MAKE_IPV4_ADDR の各引数へのキャストを UB から UW に変更した。
     929         [10]  SYSTIM_HZ の定義で、定数にキャスト (SYSTIM) を追加した。
     930         [11]  IS_PTR_DEFINED の定義で、(a) にキャスト (VP) を追加した。
     931         [12]  UB 型変数、UH 型変数への代入での警告の問題を修正した。
     932         [13]  32 ビット幅が必要な変数の型には、 明示的に W または UW
     933               を使用した。
     934         [14]  syslog の引数の型を明確にした。
     935         [15]  警告が出る関数の引数をキャストした。
     936         [16]  警告が出る関数の戻り値をキャストした。
     937         [17]  精度に関する警告が出る代入の右辺をキャストした。
     938
     939   (43)  マクロ ntohs と htons の定義で、 ビッグエンディアンのプロセッ
     940         サでは、UH の戻り値を返すように変更した。
     941
     942   (44)  マクロ ntohl と htonl の定義で、 ビッグエンディアンのプロセッ
     943         サでは、UW の戻り値を返すように変更した。
     944
     945   (45)  TCP ヘッダのトレース出力機能の組込みを指定するコンパイル時コ
     946         ンフィギュレーションパラメータを追加した。
     947
     948         [1]   TCP_CFG_TRACE、TCP ヘッダのトレース出力機能を組込む。
     949         [2]   TCP_CFG_TRACE_IPV4_RADDR、 トレース出力対象のリモートホ
     950               ストの IPv4 アドレスを指定する。IPV4_ADDRANY を指定する
     951               と、全てのホストを対象とする。
     952         [3]   TCP_CFG_TRACE_LPORTNO、トレース出力対象のローカルホスト
     953               のポート番号を指定する。 TCP_PORTANY を指定すると、全て
     954               のポート番号を対象にする。
     955         [4]   TCP_CFG_TRACE_RPORTNO、トレース出力対象のリモートホスト
     956               のポート番号を指定する。TCP_PORTANY を指定すると、 全て
     957               のポート番号を対象にする。
     958
     959   (46)  サポート関数 ip2str で、 第 1 引数に NULL を指定すると、TINET
     960         内部で確保してあるバッファに文字列を書き込み、 そのアドレスを
     961         返すように変更した。 これに伴い、バッファ数を指定するコンパイ
     962         ル時コンフィギュレーションパラメータ NUM_IPV4ADDR_STR_BUFF を
     963         追加した。
     964
     965   (47)  サポート関数 ipv62str で、 第 1 引数に NULL を指定すると、
     966         TINET 内部で確保してあるバッファに文字列を書き込み、 そのアド
     967         レスを返すように変更した。これに伴い、 バッファ数を指定するコ
     968         ンパイル時コンフィギュレーションパラメータ
     969         NUM_IPV6ADDR_STR_BUFF を追加した。
     970
     971   (48)  サポート関数 mac2str で、第 1 引数に NULL を指定すると、TINET
     972         内部で確保してあるバッファに文字列を書き込み、 そのアドレスを
     973         返すように変更した。これに伴い、 バッファ数を指定するコンパイ
     974         ル時コンフィギュレーションパラメータ NUM_MACADDR_STR_BUFF を
     975         追加した。
     976
     977   (49)  tinet と tinet/netdev/if_ed における Makefile のインクルード
     978         ファイルを Makefile.tinet に変更した。
     979
     980   (50)  送信ウィンドバッファの省コピー機能で、TCP_CFG_SWBUF_SAVE を指
     981         定し、TCP 通信端点を生成する静的 API においても、送信ウィンド
     982         バッファを指定した場合、 誤ったデータを送信する問題を修正した。
     983
     984   (51)  tinet/Makefile.tinet における TINET_KERNEL_CFG の定義を、
     985         tinet_cfg.c から、tinet_kern.cfg、tinet.cfg、TINET 内部で使用
     986         するカーネルオブジェクトを定義しているコンフィギュレーション
     987         ファイルに変更した。
     988
     989   (52)  8 ビット毎に指定した IPv4 アドレスを 32 ビットにするマクロ
     990         MAKE_IPV4_ADDR を追加した(TOPPERS/TINET バグトラックシステム
     991         ID:4)。
     992
     993   (53)  各ソースコードのコピーライトを修正した(TOPPERS/TINET バグト
     994         ラックシステム ID:6)。
     995
     9965.  リリース 1.1.x から 1.2 までの変更
     997
     998   (1)   TINET コンフィギュレーションファイルで、 TCP 受付口を指定しな
     999         かったときの問題は、 tinet/cfg/tinet_parser.cpp で、
     1000         tinet_cfg.c にダミーの TCP 受付口変数を出力するように修正した。
     1001
     1002   (2)   UDP のみ使用するときの kernel_cfg.c で、 コンパイルエラーが発
     1003         生する問題は、tinet/netinet/tcp.cfg から
    10971004
    10981005            INCLUDE("<netinet/in.h>");
    10991006
    1100          ã‚’削除し、tinet/netinet/ip.cfg に
     1007         を削除し、tinet/netinet/ip.cfg に
    11011008
    11021009            INCLUDE("<netinet/in.h>");
    11031010
    1104          ã‚’追加した。
    1105 
    1106    (3)   UDP のみ使用するときの ip_icmp.c で、_tinet_tcp_notify の参ç
    1107 §
    1108          ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã™ã‚‹å•é¡Œã¯ã€ tinet/netinet/ip_icmp.c で、 ICMP
    1109          UNREACH メッセージを無視するように修正した。
    1110 
    1111    (4)   ãƒ«ãƒ¼ãƒ—バック・インタフェースの IP アドレスマスク、 ローカルブ
    1112          ãƒ­ãƒ¼ãƒ‰ã‚­ãƒ£ã‚¹ãƒˆã‚¢ãƒ‰ãƒ¬ã‚¹ã®å®šç¾©èª¤ã‚Šã‚’修正した。
    1113 
    1114    (5)   tinet/netdev/if_ed/if_ed.c で、 レジスタを SIL 経由でアクセス
    1115          ã™ã‚‹ã‚ˆã†ã«ä¿®æ­£ã—た。
    1116 
    1117    (6)   IPv6 に対応した。
    1118 
    1119    (7)   ã‚³ãƒ³ãƒ‘イル時コンフィギュレーションパラメータに、 ディフォルト・
    1120          ã‚²ãƒ¼ãƒˆã‚¦ã‚§ã‚¤ã® IP アドレスを指定する
    1121          IPV4_ADDR_LOCAL_DEFAULT_GW を新設した。これにより、ディフォル
    1122          ãƒˆãƒ»ã‚²ãƒ¼ãƒˆã‚¦ã‚§ã‚¤ã®ã¿ã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã§ã¯ã€ 静的ルーティングæƒ
    1123 å ±
    1124          è¨­å®šãƒ•ã‚¡ã‚¤ãƒ« route_cfg.c の変更を不要にした。
    1125 
    1126    (8)   UDP の受信時、 受信ポート番号が未定義の場合、ネットワークバッ
    1127          ãƒ•ã‚¡ã‚’正しく解放しない問題と、ICMP のエラー通知を正しく行わな
    1128          ã„問題を修正した。
    1129 
    1130    (9)   TCP の受信時、受信ポート番号が未定義の場合、 リセットセグメン
    1131          ãƒˆã‚’正しく返送しない問題を修正した。
    1132 
    1133    (10)  ネットワーク統計æƒ
    1134 å ±ï¼ˆnet_count)の各変数を _tinet_ でリネー
    1135          ãƒ ã—ないように変更した。
    1136 
    1137    (11)  バイトオーダ変換の定義を netinet/in.h から、 net/net.h に集約
    1138          ã—、 リトルエンディアン用のマクロを追加した。
    1139 
    1140    (12)  コンパイル時コンフィギュレーション・ファイルのいずれかで、 マ
    1141          ã‚¯ãƒ­ SUPPORT_MIB を定義することにより、 SNMP 用管理æƒ
    1142 å ±ãƒ™ãƒ¼ã‚¹
    1143          ï¼ˆMIB)に準拠したネットワーク統計の取得が可能となった。ただし、
    1144          TINET 自体は、管理æƒ
    1145 å ±ãƒ™ãƒ¼ã‚¹ï¼ˆMIB)に準拠したネットワーク統計
    1146          ã‚’提供するだけで,SNMP をサポートしていない。また、 RFC1213、
    1147          RFC2465、RFC2466 に定義されているå
    1148 ¨ã¦ã®æƒ
    1149 å ±ãŒå–得できるわけで
    1150          ã¯ãªã„。 取得できるæƒ
    1151 å ±ã¯ã€é–¢ä¿‚するインクルードファイルの構造
    1152          ä½“の定義を参ç
    1153 §ã™ã‚‹ã“と。
    1154 
    1155    (13)  PPP の HDLC å
    1156 ¥åŠ›ã«ãŠã‘る問題を修正した。
    1157 
    1158    (14)  認識できない上位プロトコルまたは拡張ヘッダを受信したとき、 コー
    1159          ãƒ‰ç•ªå· ICMP6_PARAMPROB_NEXTHEADER(1)の ICMP6_PARAM_PROB(4)
    1160          ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’返送するよう変更した。
    1161 
    1162 6.  リリース 1.0 から 1.1 までの変更
    1163 
    1164    (1)   TINET コンフィグレータの生成で、リンクを不要にした。
    1165 
    1166    (2)   ãƒ•ã‚¡ã‚¤ãƒ«ã®ã‚¤ãƒ³ã‚¯ãƒ«ãƒ¼ãƒ‰ã‚’見直し、 cpu_config.h から
    1167          tinet_config.h、cpu_defs.h から tinet_defs.h を削除した。
    1168 
    1169    (3)   ã‚¢ãƒ—リケーションの Makefile の指定å†
    1170 å®¹ã‚’一部変更した。
    1171 
    1172          [1]   TCP の組込み、SUPPORT_TCP の指定。
    1173          [2]   UDP の組込み、SUPPORT_UDP の指定。
    1174 
    1175    (4)   ã‚µãƒ³ãƒ—ル nserv.c から WWW サーバ機能を tinet/netapp/wwws.c に
    1176          ç§»ã—た。
    1177 
    1178    (5)   JSP システムコンフィギュレーションファイル $(UNAME).cfg では、
    1179          tinet/tinet.cfg を指定するだけで、 プロトコルスタックå†
    1180 éƒ¨ã®ã‚«ãƒ¼
    1181          ãƒãƒ«ã‚ªãƒ–ジェクトを取り込めるように変更した。
    1182 
    1183    (6)   TINET プロトコルスタックå†
    1184 éƒ¨ã§ä½¿ç”¨ã™ã‚‹ã‚«ãƒ¼ãƒãƒ«ã‚ªãƒ–ジェクトの
    1185          æŒ‡å®šãƒ•ã‚¡ã‚¤ãƒ« tinet/tinet.cfg での「INCLUDE」静的 API を、各モ
    1186          ã‚¸ãƒ¥ãƒ¼ãƒ«ã® JSP システムコンフィギュレーションファイルに移動した。
    1187 
    1188    (7)   tinet/include は廃止し、 インクルードファイルを以下のように移
    1189          å‹•ã—た。
    1190 
    1191          [1]   tinet/include/net → tinet/net。
    1192          [2]   tinet/include/netdev → tinet/netdev。
    1193          [3]   tinet/include/netinet → tinet/netinet。
    1194          [4]   tinet/include/netapp → tinet/netapp。
    1195          [5]   tinet/include/tinet_config.h → tinet/tinet_config.h。
    1196          [6]   tinet/include/tinet_defs.h → tinet/tinet_defs.h。
    1197 
    1198    (8)   ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã®ãƒ‡ã‚£ãƒã‚¤ã‚¹ä¾å­˜éƒ¨ã‚’独立するための
    1199          å¤‰æ›´ã‚’行った。
    1200 
    1201          [1]   tinet/netdev に、ネットワークインタフェース依存部をé
    1202 ç½®
    1203                ã™ã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’新設した。 NE2000 互換 NIC では if_ed
    1204                ã§ã‚り、以下この NIC の設定について述べる。
    1205          [2]   æ±Žç”¨ã® JSP システムコンフィギュレーションファイル
    1206                nic.cfg を新設した。 現在は、if_ed.cfg をインクルードす
    1207                ã‚‹ã‚ˆã†ã«ãªã£ã¦ã„る。
    1208          [3]   æ±Žç”¨ã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ãƒ»ã‚³ãƒ³ãƒ•ã‚£ã‚®ãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§
    1209                ãƒ³ãƒ•ã‚¡ã‚¤ãƒ« tinet_nic_config.h を新設した。現在は、 汎用
    1210                ã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ãƒ»åˆ¥ååŒ–ファイル
    1211                nic_rename.h と if_ed.h をインクルードするようになっている。
    1212          [4]   æ±Žç”¨ã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ãƒ»åˆ¥ååŒ–ファイル
    1213                nic_rename.h を新設した。
    1214          [5]   if_ed.c と if_ed.cfg 以外のファイルから if_ed.h と
    1215                if_edreg.h を削除した。
    1216          [6]   tinet/tinet_config.h の変更
    1217                #include <tinet_nic_config.h> を追加し、 インクルードの
    1218                é †ç•ªã‚’見直した。
     1011         を追加した。
     1012
     1013   (3)   UDP のみ使用するときの ip_icmp.c で、_tinet_tcp_notify の参照
     1014         エラーが発生する問題は、 tinet/netinet/ip_icmp.c で、 ICMP
     1015         UNREACH メッセージを無視するように修正した。
     1016
     1017   (4)   ループバック・インタフェースの IP アドレスマスク、 ローカルブ
     1018         ロードキャストアドレスの定義誤りを修正した。
     1019
     1020   (5)   tinet/netdev/if_ed/if_ed.c で、 レジスタを SIL 経由でアクセス
     1021         するように修正した。
     1022
     1023   (6)   IPv6 に対応した。
     1024
     1025   (7)   コンパイル時コンフィギュレーションパラメータに、 ディフォルト・
     1026         ゲートウェイの IP アドレスを指定する
     1027         IPV4_ADDR_LOCAL_DEFAULT_GW を新設した。これにより、ディフォル
     1028         ト・ゲートウェイのみのネットワークでは、 静的ルーティング情報
     1029         設定ファイル route_cfg.c の変更を不要にした。
     1030
     1031   (8)   UDP の受信時、 受信ポート番号が未定義の場合、ネットワークバッ
     1032         ファを正しく解放しない問題と、ICMP のエラー通知を正しく行わな
     1033         い問題を修正した。
     1034
     1035   (9)   TCP の受信時、受信ポート番号が未定義の場合、 リセットセグメン
     1036         トを正しく返送しない問題を修正した。
     1037
     1038   (10)  ネットワーク統計情報(net_count)の各変数を _tinet_ でリネー
     1039         ムしないように変更した。
     1040
     1041   (11)  バイトオーダ変換の定義を netinet/in.h から、 net/net.h に集約
     1042         し、 リトルエンディアン用のマクロを追加した。
     1043
     1044   (12)  コンパイル時コンフィギュレーション・ファイルのいずれかで、 マ
     1045         クロ SUPPORT_MIB を定義することにより、 SNMP 用管理情報ベース
     1046         (MIB)に準拠したネットワーク統計の取得が可能となった。ただし、
     1047         TINET 自体は、管理情報ベース(MIB)に準拠したネットワーク統計
     1048         を提供するだけで,SNMP をサポートしていない。また、 RFC1213、
     1049         RFC2465、RFC2466 に定義されている全ての情報が取得できるわけで
     1050         はない。 取得できる情報は、関係するインクルードファイルの構造
     1051         体の定義を参照すること。
     1052
     1053   (13)  PPP の HDLC 入力における問題を修正した。
     1054
     1055   (14)  認識できない上位プロトコルまたは拡張ヘッダを受信したとき、 コー
     1056         ド番号 ICMP6_PARAMPROB_NEXTHEADER(1)の ICMP6_PARAM_PROB(4)
     1057         メッセージを返送するよう変更した。
     1058
     10596.  リリース 1.0 から 1.1 までの変更
     1060
     1061   (1)   TINET コンフィグレータの生成で、リンクを不要にした。
     1062
     1063   (2)   ファイルのインクルードを見直し、 cpu_config.h から
     1064         tinet_config.h、cpu_defs.h から tinet_defs.h を削除した。
     1065
     1066   (3)   アプリケーションの Makefile の指定内容を一部変更した。
     1067
     1068         [1]   TCP の組込み、SUPPORT_TCP の指定。
     1069         [2]   UDP の組込み、SUPPORT_UDP の指定。
     1070
     1071   (4)   サンプル nserv.c から WWW サーバ機能を tinet/netapp/wwws.c に
     1072         移した。
     1073
     1074   (5)   JSP システムコンフィギュレーションファイル $(UNAME).cfg では、
     1075         tinet/tinet.cfg を指定するだけで、 プロトコルスタック内部のカー
     1076         ネルオブジェクトを取り込めるように変更した。
     1077
     1078   (6)   TINET プロトコルスタック内部で使用するカーネルオブジェクトの
     1079         指定ファイル tinet/tinet.cfg での「INCLUDE」静的 API を、各モ
     1080         ジュールの JSP システムコンフィギュレーションファイルに移動した。
     1081
     1082   (7)   tinet/include は廃止し、 インクルードファイルを以下のように移
     1083         動した。
     1084
     1085         [1]   tinet/include/net → tinet/net。
     1086         [2]   tinet/include/netdev → tinet/netdev。
     1087         [3]   tinet/include/netinet → tinet/netinet。
     1088         [4]   tinet/include/netapp → tinet/netapp。
     1089         [5]   tinet/include/tinet_config.h → tinet/tinet_config.h。
     1090         [6]   tinet/include/tinet_defs.h → tinet/tinet_defs.h。
     1091
     1092   (8)   ネットワークインタフェースのディバイス依存部を独立するための
     1093         変更を行った。
     1094
     1095         [1]   tinet/netdev に、ネットワークインタフェース依存部を配置
     1096               するディレクトリを新設した。 NE2000 互換 NIC では if_ed
     1097               であり、以下この NIC の設定について述べる。
     1098         [2]   汎用の JSP システムコンフィギュレーションファイル
     1099               nic.cfg を新設した。 現在は、if_ed.cfg をインクルードす
     1100               るようになっている。
     1101         [3]   汎用のネットワークインタフェース・コンフィギュレーショ
     1102               ンファイル tinet_nic_config.h を新設した。現在は、 汎用
     1103               のネットワークインタフェース・別名化ファイル
     1104               nic_rename.h と if_ed.h をインクルードするようになっている。
     1105         [4]   汎用のネットワークインタフェース・別名化ファイル
     1106               nic_rename.h を新設した。
     1107         [5]   if_ed.c と if_ed.cfg 以外のファイルから if_ed.h と
     1108               if_edreg.h を削除した。
     1109         [6]   tinet/tinet_config.h の変更
     1110               #include <tinet_nic_config.h> を追加し、 インクルードの
     1111               順番を見直した。
    12191112
    12201113                  #include "tinet_app_config.h"
    12211114                  #include "tinet_sys_config.h"
    12221115                  #include "tinet_cpu_config.h"
    1223                   ↓
     1116                 
    12241117                  #ifdef SUPPORT_ETHER
    12251118                  #include "tinet_nic_config.h"
     
    12291122                  #include "tinet_app_config.h"
    12301123
    1231          [7]   tinet/net/ethernet.h の変更
    1232 
    1233                ãƒ»tinet/netdev/if_ed/if_ed.h の t_ed_softc から、ディバ
    1234                  ã‚¤ã‚¹éžä¾å­˜éƒ¨ã‚’ t_if_softc として独立して定義した。
     1124         [7]   tinet/net/ethernet.h の変更
     1125
     1126               ・tinet/netdev/if_ed/if_ed.h の t_ed_softc から、ディバ
     1127                 イス非依存部を t_if_softc として独立して定義した。
    12351128
    12361129                    struct t_if_softc {
     
    12431136                    typedef struct t_if_softc T_IF_SOFTC;
    12441137
    1245                ãƒ»ãƒ¡ãƒ³ãƒ timer は、ディバイス非依存部に移動した。
    1246                ãƒ»ã€Œã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹é¸æŠžãƒžã‚¯ãƒ­ã€ã‹ã‚‰ T_IF_SOFTC を削除した。
    1247 
    1248          [8]   tinet/net/ethernet.c、 tinet/net/if.c、
    1249                tinet/netinet/tcp_subr.c の変更
    1250                #include <netdev/if_ed.h> を削除し、T_IF_ETHER_SOFTC か
    1251                ã‚‰ã€T_IF_SOFTC に変更した。
     1138               ・メンバ timer は、ディバイス非依存部に移動した。
     1139               ・「インタフェース選択マクロ」から T_IF_SOFTC を削除した。
     1140
     1141         [8]   tinet/net/ethernet.c、 tinet/net/if.c、
     1142               tinet/netinet/tcp_subr.c の変更
     1143               #include <netdev/if_ed.h> を削除し、T_IF_ETHER_SOFTC か
     1144               ら、T_IF_SOFTC に変更した。
    12521145
    12531146                  T_IF_ETHER_SOFTC *sc;
    1254                   ↓
     1147                 
    12551148                  T_IF_SOFTC *ic;
    12561149
    1257          [9]   tinet/netdev/if_ed/if_ed.h の変更
    1258 
    1259                ãƒ»t_ed_softc 定義を tinet/netdev/if_ed/if_ed.c に移動した。
    1260                ãƒ»ã€ŒNIC 選択マクロ」の T_IF_ETHER_SOFTC を T_ED_SOFTC
    1261                  ã‹ã‚‰ struct t_ed_softc に変更した。
    1262                ãƒ»ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã®é–¢æ•°ã®å¼•æ•°ã‚’ T_ED_SOFTC
    1263                  ã‹ã‚‰ T_IF_SOFTC に変更した。
    1264                ãƒ»é–¢æ•° ed_watchdog の引数に、T_IF_SOFTC* を指定するよう
    1265                  ã«å¤‰æ›´ã—た。
    1266 
    1267          [10]  tinet/netdev/if_ed/if_ed.c の変更
    1268 
    1269                ãƒ»#include <netdev/if_ed.h> を削除した。
    1270                ãƒ»if_edreg.h のインクルード指定の変更
     1150         [9]   tinet/netdev/if_ed/if_ed.h の変更
     1151
     1152               ・t_ed_softc 定義を tinet/netdev/if_ed/if_ed.c に移動した。
     1153               ・「NIC 選択マクロ」の T_IF_ETHER_SOFTC を T_ED_SOFTC
     1154                 から struct t_ed_softc に変更した。
     1155               ・ネットワークインタフェースの関数の引数を T_ED_SOFTC
     1156                 から T_IF_SOFTC に変更した。
     1157               ・関数 ed_watchdog の引数に、T_IF_SOFTC* を指定するよう
     1158                 に変更した。
     1159
     1160         [10]  tinet/netdev/if_ed/if_ed.c の変更
     1161
     1162               ・#include <netdev/if_ed.h> を削除した。
     1163               ・if_edreg.h のインクルード指定の変更
    12711164
    12721165                    #include <netdev/if_edreg.h>
    1273                     ↓
     1166                   
    12741167                    #include "if_edreg.h"
    12751168
    1276                ãƒ»t_ed_softc の定義を、 tinet/netdev/if_ed/if_ed.h から
    1277                  ç§»å‹•ã—た。
    1278                ãƒ»t_ed_softc は、ディバイス依存部のみ定義するように変更した。
    1279                ãƒ»ä»¥ä¸‹ã®å±€æ‰€é–¢æ•°ã®å¼•æ•°ã‚’ T_ED_SOFTC から T_IF_SOFTC に
    1280                  å¤‰æ›´ã—た。
     1169               ・t_ed_softc の定義を、 tinet/netdev/if_ed/if_ed.h から
     1170                 移動した。
     1171               ・t_ed_softc は、ディバイス依存部のみ定義するように変更した。
     1172               ・以下の局所関数の引数を T_ED_SOFTC から T_IF_SOFTC に
     1173                 変更した。
    12811174
    12821175                    ed_xmit
    12831176                    ed_init_sub
    12841177
    1285                ãƒ»é–¢æ•°ã®å¼•æ•°ãŒ T_ED_SOFTC から T_IF_SOFTC に代わったが、
     1178               ・関数の引数が T_ED_SOFTC から T_IF_SOFTC に代わったが、
    12861179
    12871180                    T_ED_SOFTC *sc = ic->sc;
    12881181
    1289                  ã§ã€T_ED_SOFTC を取り出すことが出来る。
    1290 
    1291          [11]  tinet/netdev/if_ed/if_ed.cfg の変更
     1182                 で、T_ED_SOFTC を取り出すことが出来る。
     1183
     1184         [11]  tinet/netdev/if_ed/if_ed.cfg の変更
    12921185
    12931186                  INCLUDE("<netdev/if_ed.h>");
    12941187                  INCLUDE("<netdev/if_edreg.h>");
    1295                   ↓
     1188                 
    12961189                  INCLUDE("\"if_edreg.h\"");
    12971190
    1298          [12]  tinet/net_rename.h の変更
    1299                if_ed の関数のリネーム定義を、
    1300                tinet/netdev/if_ed/nic_rename.h に移動した。
    1301          [13]  tinet/tinet.cfg の変更
     1191         [12]  tinet/net_rename.h の変更
     1192               if_ed の関数のリネーム定義を、
     1193               tinet/netdev/if_ed/nic_rename.h に移動した。
     1194         [13]  tinet/tinet.cfg の変更
    13021195
    13031196                  #ifdef IF_ETHER_CFG_ED
    13041197                  #include "netdev/if_ed.cfg"
    13051198                  #endif   /* of #ifdef IF_ETHER_CFG_ED */
    1306                   ↓
     1199                 
    13071200                  #include "nic.cfg"
    13081201
    1309          [14]  tinet_cpu_config.h と tinet_sys_config.h の変更
    1310                ã€ŒNIC (NE2000 互換 ) に関する定義」を
    1311                tinet_sys_config.h に移動した。
    1312          [15]  $(CPU)/$(SYS)/Makefile.config の変更
    1313 
    1314                ãƒ»ã€Œã‚³ãƒ³ãƒ‘イルオプション」の変更
    1315                  ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’含めるため、
    1316                  INCLUDES の定義の後に追加した。
     1202         [14]  tinet_cpu_config.h と tinet_sys_config.h の変更
     1203               「NIC (NE2000 互換 ) に関する定義」を
     1204               tinet_sys_config.h に移動した。
     1205         [15]  $(CPU)/$(SYS)/Makefile.config の変更
     1206
     1207               ・「コンパイルオプション」の変更
     1208                 ネットワークインタフェースのディレクトリを含めるため、
     1209                 INCLUDES の定義の後に追加した。
    13171210
    13181211                    ifdef TINET_ROOT
     
    13201213                    endif
    13211214
    1322                ãƒ»ã€Œã‚«ãƒ¼ãƒãƒ«ã«é–¢ã™ã‚‹å®šç¾©ã€ã®å¤‰æ›´
    1323                  ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã¨ãƒãƒƒãƒˆãƒ¯ãƒ¼
    1324                  ã‚¯ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã®ã‚ªãƒ–ジェクトを含めるため、
    1325                  KERNEL_COBJS の定義の後に追加した。
     1215               ・「カーネルに関する定義」の変更
     1216                 ネットワークインタフェースのディレクトリとネットワー
     1217                 クインタフェースのオブジェクトを含めるため、
     1218                 KERNEL_COBJS の定義の後に追加した。
    13261219
    13271220                    ifdef TINET_ROOT
     
    13301223                    endif
    13311224
    1332          [16]  各ソースから IF_ETHER_CFG_ED を削除した。
    1333          [17]  if_ed.h と if_edreg.h で、SUPPORT_ETHER を削除した。
    1334          [18]  各ソースの PROTO_FLG_ETHER_ED を PROTO_FLG_ETHER_NIC に
    1335                å¤‰æ›´ã—た。
    1336          [19]  各ソースの net_count_ether_ed 及び net_count_ether_ed* を
    1337                net_count_ether_nic 及び net_count_ether_nic* に変更した。
    1338          [20]  各ソースの NET_COUNT_ETHER_ED 及び NET_COUNT_ETHER_ED* を
    1339                NET_COUNT_ETHER_NIC 及び NET_COUNT_ETHER_NIC* に変更した。
    1340          [21]  各ソースの IF_ETHER_CFG_ACCEPT_ALL を
    1341                ETHER_CFG_ACCEPT_ALL に変更した。
    1342          [22]  各ソースの IF_ETHER_* を IF_ETHER_NIC_* に変更した。
    1343 
    1344    (9)   tinet/cfg/tinet_parser.cpp の変更
    1345 
    1346          [1]   tinet_cfg.c に出力する標準のインクルードファイルに
    1347                tinet_config.h を追加した。
    1348          [2]   tinet_cfg.c に出力する標準のインクルードファイルのイン
    1349                ã‚¯ãƒ«ãƒ¼ãƒ‰é †ç•ªã‚’以下のように変更した。
     1225         [16]  各ソースから IF_ETHER_CFG_ED を削除した。
     1226         [17]  if_ed.h と if_edreg.h で、SUPPORT_ETHER を削除した。
     1227         [18]  各ソースの PROTO_FLG_ETHER_ED を PROTO_FLG_ETHER_NIC に
     1228               変更した。
     1229         [19]  各ソースの net_count_ether_ed 及び net_count_ether_ed* を
     1230               net_count_ether_nic 及び net_count_ether_nic* に変更した。
     1231         [20]  各ソースの NET_COUNT_ETHER_ED 及び NET_COUNT_ETHER_ED* を
     1232               NET_COUNT_ETHER_NIC 及び NET_COUNT_ETHER_NIC* に変更した。
     1233         [21]  各ソースの IF_ETHER_CFG_ACCEPT_ALL を
     1234               ETHER_CFG_ACCEPT_ALL に変更した。
     1235         [22]  各ソースの IF_ETHER_* を IF_ETHER_NIC_* に変更した。
     1236
     1237   (9)   tinet/cfg/tinet_parser.cpp の変更
     1238
     1239         [1]   tinet_cfg.c に出力する標準のインクルードファイルに
     1240               tinet_config.h を追加した。
     1241         [2]   tinet_cfg.c に出力する標準のインクルードファイルのイン
     1242               クルード順番を以下のように変更した。
    13501243
    13511244                  tinet_defs.h
    13521245                  tinet_config.h
    13531246
    1354          [3]   tinet_cfg.c に出力する標準のインクルードファイルで、 以
    1355                ä¸‹ã®ãƒ•ã‚¡ã‚¤ãƒ«æŒ‡å®šã‚’削除した。
     1247         [3]   tinet_cfg.c に出力する標準のインクルードファイルで、 以
     1248               下のファイル指定を削除した。
    13561249
    13571250                  #include <netinet/in_rename.h>
    13581251
    1359    (10)  tinet/tinet_defs.h に tinet_nic_defs.h を追加した。
    1360 
    1361    (11)  tinet/netdev/if_ed に tinet_nic_defs.h を追加した。
    1362 
    1363    (12)  各ソースファイルに、tinet_defs.h、tinet_config.h を追加した。
    1364 
    1365    (13)  各ソースファイルで、tinet_defs.h、tinet_config.h の順番にイン
    1366          ã‚¯ãƒ«ãƒ¼ãƒ‰ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ã—た。
    1367 
    1368    (14)  tinet_nic_defs.h に IF_ETHER_NIC_HDR_ALIGN を追加した。これは、
    1369          ä»¥ä¸‹ã®ãƒ•ã‚¡ã‚¤ãƒ«ã«ã‚るイーサネットヘッダの定義で、 最初にアライ
    1370          ãƒ³ã‚’調整する場合に、 調整量を指定する。
     1252   (10)  tinet/tinet_defs.h に tinet_nic_defs.h を追加した。
     1253
     1254   (11)  tinet/netdev/if_ed に tinet_nic_defs.h を追加した。
     1255
     1256   (12)  各ソースファイルに、tinet_defs.h、tinet_config.h を追加した。
     1257
     1258   (13)  各ソースファイルで、tinet_defs.h、tinet_config.h の順番にイン
     1259         クルードするように変更した。
     1260
     1261   (14)  tinet_nic_defs.h に IF_ETHER_NIC_HDR_ALIGN を追加した。これは、
     1262         以下のファイルにあるイーサネットヘッダの定義で、 最初にアライ
     1263         ンを調整する場合に、 調整量を指定する。
    13711264
    13721265            tinet/net/ethernet.h
    13731266
    1374    (15)  TINET プロトコルスタックå†
    1375 éƒ¨ã®ãƒªãƒãƒ¼ãƒ æŒ‡å®šãƒ•ã‚¡ã‚¤ãƒ«
    1376          tinet/net/net_rename.h と tinet/netinet/in_rename.h のインク
    1377          ãƒ«ãƒ¼ãƒ‰ã‚’、tinet/tinet_config.h で指定するように変更し、各ソー
    1378          ã‚¹ãƒ•ã‚¡ã‚¤ãƒ«ã‹ã‚‰ä»¥ä¸‹ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’削除した。
     1267   (15)  TINET プロトコルスタック内部のリネーム指定ファイル
     1268         tinet/net/net_rename.h と tinet/netinet/in_rename.h のインク
     1269         ルードを、tinet/tinet_config.h で指定するように変更し、各ソー
     1270         スファイルから以下のファイルを削除した。
    13791271
    13801272            #include <net/net_rename.h>
    13811273            #include <netinet/in_rename.h>
    13821274
    1383    (16)  TINET の標準 Makefile.config を作成し、 アプリケーションの
    1384          Makefile からインクルードするように変更した。
    1385 
    1386    (17)  tinet/netdev/if_ed/if_ed.c の以下の関数で、ディスパッチ禁止状
    1387          æ
    1388 ‹ã«ãªã‚‰ãªã„ように変更した。
     1275   (16)  TINET の標準 Makefile.config を作成し、 アプリケーションの
     1276         Makefile からインクルードするように変更した。
     1277
     1278   (17)  tinet/netdev/if_ed/if_ed.c の以下の関数で、ディスパッチ禁止状
     1279         態にならないように変更した。
    13891280
    13901281            ed_pio_readmem
    13911282            ed_pio_writemem
    13921283
    1393    (18)  システム時刻 (SYSTIM) の周波数、SYSTIM_HZ を定義した。
    1394 
    1395    (19)  cygwin で g++ のバージョンによって、 TINET コンフィギュレータ
    1396          ã®ç”Ÿæˆæ™‚にエラーが発生する問題を修正した。
    1397 
    1398    (20)  Makefile.config における指定の変更
    1399 
    1400          [1]   tinet/netdev/if_ed/if_ed.c に Makefile.config を作成し、
    1401                TINET の標準 Makefile.config からインクルードするように
    1402                å¤‰æ›´ã—た。
    1403          [2]   JSP のシステム依存部の $(CPU)/$(SYS)/Makefile.config か
    1404                ã‚‰ã€ TINET のネットワーク・ディバイスの依存部の定義を削
    1405                é™¤ã—た。
    1406          [3]   ã‚¢ãƒ—リケーションの Makefile には、
    1407 
    1408                   #  イーサネット・ディバイスドライバの選択
     1284   (18)  システム時刻 (SYSTIM) の周波数、SYSTIM_HZ を定義した。
     1285
     1286   (19)  cygwin で g++ のバージョンによって、 TINET コンフィギュレータ
     1287         の生成時にエラーが発生する問題を修正した。
     1288
     1289   (20)  Makefile.config における指定の変更
     1290
     1291         [1]   tinet/netdev/if_ed/if_ed.c に Makefile.config を作成し、
     1292               TINET の標準 Makefile.config からインクルードするように
     1293               変更した。
     1294         [2]   JSP のシステム依存部の $(CPU)/$(SYS)/Makefile.config か
     1295               ら、 TINET のネットワーク・ディバイスの依存部の定義を削
     1296               除した。
     1297         [3]   アプリケーションの Makefile には、
     1298
     1299                  #  イーサネット・ディバイスドライバの選択
    14091300                  NET_DEV = if_ed
    14101301
    1411                ã‚’指定するå¿
    1412 è¦ãŒã‚る。
    1413 
    1414    (21)  tinet/netapp/netapp.h に、 コンソールに用いるシリアルポート番
    1415          å·ã®å®šç¾©ã‚’追加した。
     1302               を指定する必要がある。
     1303
     1304   (21)  tinet/netapp/netapp.h に、 コンソールに用いるシリアルポート番
     1305         号の定義を追加した。
    14161306
    14171307            /*
    1418              *  コンソールに用いるシリアルポート番号
     1308             *  コンソールに用いるシリアルポート番号
    14191309             */
    14201310            #ifndef CONSOLE_PORTID
     
    14221312            #endif   /* of #ifndef CONSOLE_PORTID */
    14231313
    1424    (22)  tcp_cls_cep() で、仕様では、 FIN を送ってコネクションを切断す
    1425          ã‚‹ã“とになっているが、 正しく実è£
    1426 ã—ていない問題を修正した。
    1427 
    1428    (23)  tinet_cpu_config.h で定義している受信セグメントサイズの最大値
    1429          ï¼ˆMAX_TCP_RCV_SEG)、 送信セグメントサイズの最大値
    1430          ï¼ˆMAX_TCP_SND_SEG)、 送信セグメントサイズの規定値
    1431          ï¼ˆDEF_TCP_SND_SEG)、 受信セグメントサイズの規定値
    1432          ï¼ˆDEF_TCP_RCV_SEG)の値に関して、イーサネットを使用する場合、
    1433          å
    1434 ¨ã¦ã®å€¤ã‚’ 1,460 に変更した。
    1435 
    1436    (24)  サンプルアプリケーションとして、 TCP ディスカードクライアント
    1437          ã‚’追加した。
    1438 
    1439    (25)  TCP の MSS (TCP_MSS) に関して、
     1314   (22)  tcp_cls_cep() で、仕様では、 FIN を送ってコネクションを切断す
     1315         ることになっているが、 正しく実装していない問題を修正した。
     1316
     1317   (23)  tinet_cpu_config.h で定義している受信セグメントサイズの最大値
     1318         (MAX_TCP_RCV_SEG)、 送信セグメントサイズの最大値
     1319         (MAX_TCP_SND_SEG)、 送信セグメントサイズの規定値
     1320         (DEF_TCP_SND_SEG)、 受信セグメントサイズの規定値
     1321         (DEF_TCP_RCV_SEG)の値に関して、イーサネットを使用する場合、
     1322         全ての値を 1,460 に変更した。
     1323
     1324   (24)  サンプルアプリケーションとして、 TCP ディスカードクライアント
     1325         を追加した。
     1326
     1327   (25)  TCP の MSS (TCP_MSS) に関して、
    14401328
    14411329            #define TCP_MSS (IP4_MSS - (IP4_HDR_SIZE + TCP_HDR_SIZE))
    14421330
    1443          ã‹ã‚‰ã€BSD の標準値
     1331         から、BSD の標準値
    14441332
    14451333            #define TCP_MSS 512
    14461334
    1447          ã«å¤‰æ›´ã—た。
    1448 
    1449    (26)  tcp_con_cep で、 タイムアウトにノンブロッキング以外を指定した
    1450          å ´åˆã€ タイムアウト前にエラーになる可能性がある問題を修正した。
    1451 
    1452    (27)  ネットワークタイマで、 複数のエントリが同時にタイムアウトして
    1453          ã‚‚、 登録されているå
    1454 ¨ã¦ã®é–¢æ•°ã‚’呼び出さない問題を修正した。
    1455 
    1456    (28)  ブロードキャスト送信を正しく処理していなかった問題を修正した。
    1457          æ¬¡ã®å ´åˆã¯ã€ã‚¤ãƒ¼ã‚µãƒãƒƒãƒˆã®é€ä¿¡å
    1458 ˆ MAC にはブロードキャストアド
    1459          ãƒ¬ã‚¹ã‚’設定する。
    1460 
    1461          ãƒ»IP アドレスのå
    1462 ¨ãƒ“ットが 1
    1463          ãƒ»IP アドレスのホスト部のå
    1464 ¨ãƒ“ットが 1 で、 ネットワーク部がロー
    1465            ã‚«ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹
    1466 
    1467          åŒæ™‚に、 IP アドレスのå
    1468 ¨ãƒ“ットが 1 のブロードキャストに対応す
    1469          ã‚‹ãŸã‚ã€é™çš„経路表 (route_cfg.c) には、最後のエントリとして以
    1470          ä¸‹ã®è¡Œã‚’追加した。
     1335         に変更した。
     1336
     1337   (26)  tcp_con_cep で、 タイムアウトにノンブロッキング以外を指定した
     1338         場合、 タイムアウト前にエラーになる可能性がある問題を修正した。
     1339
     1340   (27)  ネットワークタイマで、 複数のエントリが同時にタイムアウトして
     1341         も、 登録されている全ての関数を呼び出さない問題を修正した。
     1342
     1343   (28)  ブロードキャスト送信を正しく処理していなかった問題を修正した。
     1344         次の場合は、イーサネットの送信先 MAC にはブロードキャストアド
     1345         レスを設定する。
     1346
     1347         ・IP アドレスの全ビットが 1
     1348         ・IP アドレスのホスト部の全ビットが 1 で、 ネットワーク部がロー
     1349           カルアドレス
     1350
     1351         同時に、 IP アドレスの全ビットが 1 のブロードキャストに対応す
     1352         るため、静的経路表 (route_cfg.c) には、最後のエントリとして以
     1353         下の行を追加した。
    14711354
    14721355            { 0xffffffff, 0xffffffff, 0 },
    14731356
    1474          ã¾ãŸã€ コンパイル時コンフィギュレーションパラメータ
    1475          NUM_ROUTE_ENTRY を 1 増加した。
    1476 
    1477    (29)  関数 ntohl() を使うべきところで関数 ntohs() を使っていた問題
    1478          ã‚’修正した。
    1479 
    1480    (30)  IP 及び UDP のチェックサムの値を関数 htons() を使って、代å
    1481 ¥ã—
    1482          ã¦ã„た問題を修正した。
    1483 
    1484    (31)  (SIL_ENDIAN == SIL_ENDIAN_LITTLE の、HTONL() HTONS() の定義誤
    1485          ã‚Šã‚’修正した。
    1486 
    1487    (32)  UDP のå
    1488 ¥åŠ›é–¢æ•° udp_input で、宛å
    1489 ˆã‚¢ãƒ‰ãƒ¬ã‚¹ã¨ã—て正しいかチェッ
    1490          ã‚¯ã™ã‚‹é–¢æ•° dstaddr_accept を呼出す前に、 ネットワークバイトオー
    1491          ãƒ€ã‹ã‚‰ãƒ›ã‚¹ãƒˆãƒã‚¤ãƒˆã‚ªãƒ¼ãƒ€ã«å¤‰æ›ã—ていない問題を修正した。
    1492 
    1493    (33)  NE2000 互換 NIC の送受信バッファページサイズの定義誤りを修正した。
    1494 
    1495    (34)  NE2000 互換 NIC で、 NIC のå†
    1496 è”µ SRAM へのデータの書込み終了後、
    1497          ä¸è¦ã®ãŸã‚æ›¸è¾¼ã¿å®Œäº†ã‚’å¾
    1498 ãŸãªã„ように変更した。
    1499 
    1500    (35)  UDP で、 ブロードキャスト・データグラムも受信するように修正した。
    1501 
    1502    (36)  コンパイル時コンフィギュレーションパラメータ DHCP_CFG を新設
    1503          ã—た。これは、DHCP メッセージを受信する場合に指定する。ただし、
    1504          TINET は、DHCP を実è£
    1505 ã—ていない。応用プログラムで、 DHCP メッ
    1506          ã‚»ãƒ¼ã‚¸ã‚’受信するための定義である。 DHCP_CFG を指定すると、
    1507          IPV4_ADDR_LOCAL が未定義(å
    1508 ¨ã¦ 0)でも、UDP に限り、DHCP メッ
    1509          ã‚»ãƒ¼ã‚¸ã‚’受信することが可能になる。
    1510 
    1511    (37)  コンパイル時コンフィギュレーションパラメータ
    1512          IPV4_ADDR_LOCAL_BC を削除し、自分の IP アドレスのサブネットマ
    1513          ã‚¹ã‚¯ã‚’指定する IPV4_ADDR_LOCAL_MASK を新設した。
    1514 
    1515    (38)  ネットワークインタフェースに IPv4 アドレスを追加する関数
    1516          in4_add_ifaddr を新設した。 ただし、 この関数は ITRON TCP/IP
    1517          API 非互換であり、 ネットワークインタフェースがイーサネットの
    1518          ã¨ãã®ã¿æœ‰åŠ¹ã§ã‚る。
    1519 
    1520    (39)  経路表にエントリを追加する関数 in4_add_route を新設した。ただ
    1521          ã—、 この関数は ITRON TCP/IP API 非互換であり、ネットワークイ
    1522          ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ãŒã‚¤ãƒ¼ã‚µãƒãƒƒãƒˆã®ã¨ãã®ã¿æœ‰åŠ¹ã§ã‚る。
    1523 
    1524    (40)  ARP キャッシュで、 空きがなかった場合、タイムアウトまで時間が
    1525          æœ€çŸ­ã®ã‚¨ãƒ³ãƒˆãƒªãƒ¼ã‚’探索する部分の問題を修正した。
    1526 
    1527    (41)  コンパイル時コンフィギュレーションパラメータ
    1528          ETHER_NIC_CFG_RELEASE_NET_BUF を新設した。 これはイーサネット
    1529          å‡ºåŠ›æ™‚に、NIC で net_buf を開放する場合に指定する。
    1530 
    1531    (42)  ARP å
    1532 ¥åŠ›ã§ã€IP アドレスの重複検出を行うように変更した。検出し
    1533          ãŸå ´åˆã¯ã€é‡è¤‡ç›¸æ‰‹ã® MAC アドレスを syslog に出力し、重複相手
    1534          ã«ã‚‚重複したことを伝える。
    1535 
    1536    (43)  コンパイル時コンフィギュレーションパラメータ
    1537          ARP_CFG_CALLBACK_DUPLICATED を新設した。これを指定すると、ARP
    1538          å
    1539 ¥åŠ›ã§ IP アドレスの重複を検出した時に、 応用プログラムで用意
    1540          ã—たコールバック関数 arp_callback_duplicated を呼び出す。
    1541 
    1542    (44)  IP 出力時に、ARP キャッシュのタイムアウト値を更新していたが、
    1543          FreeBSD の実è£
    1544 ã«ã‚わせて、 更新しないように変更した。ARP キャッ
    1545          ã‚·ãƒ¥ã®ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆå€¤ã¯ ARP å
    1546 ¥åŠ›ã§ã®ã¿æ›´æ–°ã•ã‚Œã‚‹ã€‚
    1547 
    1548    (45)  tinet/net/net.h でもバイトオーダの定義を行っているが、
    1549          tinet/net/net.h をインクルードしないアプリケーションプログラ
    1550          ãƒ ç”¨ã«ã‚¿ãƒ¼ã‚²ãƒƒãƒˆä¾å­˜ã—ないバイトオーダ関数を
    1551          tinet/netinet/in.h と tinet/netinet/in_subr.c に定義した。
     1357         また、 コンパイル時コンフィギュレーションパラメータ
     1358         NUM_ROUTE_ENTRY を 1 増加した。
     1359
     1360   (29)  関数 ntohl() を使うべきところで関数 ntohs() を使っていた問題
     1361         を修正した。
     1362
     1363   (30)  IP 及び UDP のチェックサムの値を関数 htons() を使って、代入し
     1364         ていた問題を修正した。
     1365
     1366   (31)  (SIL_ENDIAN == SIL_ENDIAN_LITTLE の、HTONL() HTONS() の定義誤
     1367         りを修正した。
     1368
     1369   (32)  UDP の入力関数 udp_input で、宛先アドレスとして正しいかチェッ
     1370         クする関数 dstaddr_accept を呼出す前に、 ネットワークバイトオー
     1371         ダからホストバイトオーダに変換していない問題を修正した。
     1372
     1373   (33)  NE2000 互換 NIC の送受信バッファページサイズの定義誤りを修正した。
     1374
     1375   (34)  NE2000 互換 NIC で、 NIC の内蔵 SRAM へのデータの書込み終了後、
     1376         不要のため書込み完了を待たないように変更した。
     1377
     1378   (35)  UDP で、 ブロードキャスト・データグラムも受信するように修正した。
     1379
     1380   (36)  コンパイル時コンフィギュレーションパラメータ DHCP_CFG を新設
     1381         した。これは、DHCP メッセージを受信する場合に指定する。ただし、
     1382         TINET は、DHCP を実装していない。応用プログラムで、 DHCP メッ
     1383         セージを受信するための定義である。 DHCP_CFG を指定すると、
     1384         IPV4_ADDR_LOCAL が未定義(全て 0)でも、UDP に限り、DHCP メッ
     1385         セージを受信することが可能になる。
     1386
     1387   (37)  コンパイル時コンフィギュレーションパラメータ
     1388         IPV4_ADDR_LOCAL_BC を削除し、自分の IP アドレスのサブネットマ
     1389         スクを指定する IPV4_ADDR_LOCAL_MASK を新設した。
     1390
     1391   (38)  ネットワークインタフェースに IPv4 アドレスを追加する関数
     1392         in4_add_ifaddr を新設した。 ただし、 この関数は ITRON TCP/IP
     1393         API 非互換であり、 ネットワークインタフェースがイーサネットの
     1394         ときのみ有効である。
     1395
     1396   (39)  経路表にエントリを追加する関数 in4_add_route を新設した。ただ
     1397         し、 この関数は ITRON TCP/IP API 非互換であり、ネットワークイ
     1398         ンタフェースがイーサネットのときのみ有効である。
     1399
     1400   (40)  ARP キャッシュで、 空きがなかった場合、タイムアウトまで時間が
     1401         最短のエントリーを探索する部分の問題を修正した。
     1402
     1403   (41)  コンパイル時コンフィギュレーションパラメータ
     1404         ETHER_NIC_CFG_RELEASE_NET_BUF を新設した。 これはイーサネット
     1405         出力時に、NIC で net_buf を開放する場合に指定する。
     1406
     1407   (42)  ARP 入力で、IP アドレスの重複検出を行うように変更した。検出し
     1408         た場合は、重複相手の MAC アドレスを syslog に出力し、重複相手
     1409         にも重複したことを伝える。
     1410
     1411   (43)  コンパイル時コンフィギュレーションパラメータ
     1412         ARP_CFG_CALLBACK_DUPLICATED を新設した。これを指定すると、ARP
     1413         入力で IP アドレスの重複を検出した時に、 応用プログラムで用意
     1414         したコールバック関数 arp_callback_duplicated を呼び出す。
     1415
     1416   (44)  IP 出力時に、ARP キャッシュのタイムアウト値を更新していたが、
     1417         FreeBSD の実装にあわせて、 更新しないように変更した。ARP キャッ
     1418         シュのタイムアウト値は ARP 入力でのみ更新される。
     1419
     1420   (45)  tinet/net/net.h でもバイトオーダの定義を行っているが、
     1421         tinet/net/net.h をインクルードしないアプリケーションプログラ
     1422         ム用にターゲット依存しないバイトオーダ関数を
     1423         tinet/netinet/in.h と tinet/netinet/in_subr.c に定義した。
  • rubycfg_asp/trunk/asp_dcre/tinet/doc/tinet_config.txt

    • Property svn:mime-type changed from text/plain to text/plane; charset=UTF-8
    r313 r315  
    1     リリース 1.7、コンパイル時コンフィギュレーション[2014/11/13ï¼½
    2 
    3 1.  コンパイル時コンフィギュレーションについて
    4 
    5   TCP/IP プロトコルスタック(以下 TINET)の各種タイミングやパラメータ
    6 ã‚’、 コンパイル時に指定するためのコンフィギュレーションを解説する。
    7   TINET を、多様なターゲットに対応するため、以下のファイルを使用してい
    8 ã‚‹ã€‚ 指定するパラメータは、 いずれのファイルで指定してもよい。 また、
    9 Makefile で指定することも可能である。
     1    リリース 1.7、コンパイル時コンフィギュレーション[2014/11/13]
     2
     31.  コンパイル時コンフィギュレーションについて
     4
     5  TCP/IP プロトコルスタック(以下 TINET)の各種タイミングやパラメータ
     6を、 コンパイル時に指定するためのコンフィギュレーションを解説する。
     7  TINET を、多様なターゲットに対応するため、以下のファイルを使用してい
     8る。 指定するパラメータは、 いずれのファイルで指定してもよい。 また、
     9Makefile で指定することも可能である。
    1010
    1111   (1)   tinet_config.h
    12            TINET å
    13 ¨ä½“パラメータを定義し、 以下のファイルをインクルード
    14          ã—ている。TINET のルートディレクトリに置く。
    15 
    16    (2)   tinet_target_config.h(TOPPERS/ASP)
    17            ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã«ä¾å­˜ã™ã‚‹ãƒ‘ラメータを定義する。 各システムのター
    18          ã‚²ãƒƒãƒˆä¾å­˜éƒ¨ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ç½®ãã€‚
    19 
    20    (3)   tinet_cpu_config.h(TOPPERS/JSP)
    21            ãƒ—ロセッサに依存するパラメータを定義する。config のプロセッ
    22          ã‚µç•¥ç§°ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ç½®ãã€‚
    23 
    24    (4)   tinet_sys_config.h(TOPPERS/JSP)
    25            ã‚·ã‚¹ãƒ†ãƒ ã«ä¾å­˜ã™ã‚‹ãƒ‘ラメータを定義する。config のシステム略
    26          ç§°ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ç½®ãã€‚
     12           TINET 全体パラメータを定義し、 以下のファイルをインクルード
     13         している。TINET のルートディレクトリに置く。
     14
     15   (2)   tinet_target_config.h(TOPPERS/ASP)
     16           ターゲットに依存するパラメータを定義する。 各システムのター
     17         ゲット依存部のディレクトリに置く。
     18
     19   (3)   tinet_cpu_config.h(TOPPERS/JSP)
     20           プロセッサに依存するパラメータを定義する。config のプロセッ
     21         サ略称のディレクトリに置く。
     22
     23   (4)   tinet_sys_config.h(TOPPERS/JSP)
     24           システムに依存するパラメータを定義する。config のシステム略
     25         称のディレクトリに置く。
    2726
    2827   (5)   tinet_app_config.h
    29            ã‚¢ãƒ—リケーションプログラムに依存するパラメータを定義する。
    30          ã‚¢ãƒ—リケーションプログラムのディレクトリに置く。
     28           アプリケーションプログラムに依存するパラメータを定義する。
     29         アプリケーションプログラムのディレクトリに置く。
    3130
    3231   (6)   tinet_nic_config.h
    33            ã‚¤ãƒ¼ã‚µãƒãƒƒãƒˆã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã«ä¾å­˜ã™ã‚‹ãƒ‘ラメータを定義する。
    34          tinet/netdev のネットワークインタフェースのディレクトリに置く。
    35          ãŸã ã—、 汎用のネットワークインタフェース・別名化ファイル
    36          nic_rename.h とネットワークインタフェースの制御関数を定義する
    37          ãƒ•ã‚¡ã‚¤ãƒ«ã‚’インクルードするようになっている。
    38 
    39 2.  サポートするネットワーク機能
     32           イーサネットインタフェースに依存するパラメータを定義する。
     33         tinet/netdev のネットワークインタフェースのディレクトリに置く。
     34         ただし、 汎用のネットワークインタフェース・別名化ファイル
     35         nic_rename.h とネットワークインタフェースの制御関数を定義する
     36         ファイルをインクルードするようになっている。
     37
     382.  サポートするネットワーク機能
    4039
    4140   (1)   SUPPORT_INET6
    42          IPv6 を有効にする。
     41         IPv6 を有効にする。
    4342
    4443   (2)   SUPPORT_INET4
    45          IPv4 を有効にする。
     44         IPv4 を有効にする。
    4645
    4746   (3)   API_CFG_IP4MAPPED_ADDR
    48          ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯å±¤ã¨ã—て IPv6 を選択した場合、 IPv6 の API におけ
    49          ã‚‹ IPv6 アドレスとして IPv4 射影アドレスを使用することを可能
    50          ã«ã™ã‚‹ã€‚
     47         ネットワーク層として IPv6 を選択した場合、 IPv6 の API におけ
     48         る IPv6 アドレスとして IPv4 射影アドレスを使用することを可能
     49         にする。
    5150
    5251   (4)   SUPPORT_TCP
    53          TCP を有効にする。
     52         TCP を有効にする。
    5453
    5554   (5)   SUPPORT_UDP
    56          UDP を有効にする。
     55         UDP を有効にする。
    5756
    5857   (6)   SUPPORT_PPP
    59          PPP を有効にする。 ただし、SUPPORT_LOOP と SUPPORT_ETHER とは
    60          æŽ’他であり、いずれか一つ指定できる。なお、 PPP は参考実è£
    61 ã§ã‚る。
     58         PPP を有効にする。 ただし、SUPPORT_LOOP と SUPPORT_ETHER とは
     59         排他であり、いずれか一つ指定できる。なお、 PPP は参考実装である。
    6260
    6361   (7)   SUPPORT_LOOP
    64          ãƒ«ãƒ¼ãƒ—バックを有効にする。 ただし、 SUPPORT_PPP と
    65          SUPPORT_ETHER とは排他であり、いずれか一つ指定できる。 なお、
    66          ãƒ«ãƒ¼ãƒ—バックは参考実è£
    67 ã§ã‚る。
     62         ループバックを有効にする。 ただし、 SUPPORT_PPP と
     63         SUPPORT_ETHER とは排他であり、いずれか一つ指定できる。 なお、
     64         ループバックは参考実装である。
    6865
    6966   (8)   SUPPORT_ETHER
    70          ã‚¤ãƒ¼ã‚µãƒãƒƒãƒˆã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã‚’有効にする。 ただし、 SUPPORT_PPP
    71          ã¨ SUPPORT_LOOP とは排他であり、いずれか一つ指定できる。
     67         イーサネットインタフェースを有効にする。 ただし、 SUPPORT_PPP
     68         と SUPPORT_LOOP とは排他であり、いずれか一つ指定できる。
    7269
    7370   (9)   SUPPORT_MIB
    74          SNMP 用管理æƒ
    75 å ±ãƒ™ãƒ¼ã‚¹ï¼ˆMIB)に準拠したネットワーク統計の取得
    76          ã‚’有効にする。ただし、TINET 自体は、管理æƒ
    77 å ±ãƒ™ãƒ¼ã‚¹ï¼ˆMIB)に準
    78          æ‹ ã—たネットワーク統計を提供するだけで,SNMP をサポートしていない。
    79 
    80 3.  ネットワークå
    81 ¨ä½“に関係するパラメータ
     71         SNMP 用管理情報ベース(MIB)に準拠したネットワーク統計の取得
     72         を有効にする。ただし、TINET 自体は、管理情報ベース(MIB)に準
     73         拠したネットワーク統計を提供するだけで,SNMP をサポートしていない。
     74
     753.  ネットワーク全体に関係するパラメータ
    8276
    8377   (1)   NET_TIMER_STACK_SIZE
    84          ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¿ã‚¤ãƒžã‚¿ã‚¹ã‚¯ã®ã‚¹ã‚¿ãƒƒã‚¯ã‚µã‚¤ã‚ºã‚’指定する。
     78         ネットワークタイマタスクのスタックサイズを指定する。
    8579
    8680   (2)   NET_TIMER_PRIORITY
    87          ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¿ã‚¤ãƒžã‚¿ã‚¹ã‚¯ã®å„ªå
    88 ˆåº¦ã‚’指定する。
     81         ネットワークタイマタスクの優先度を指定する。
    8982
    9083   (3)   NUM_NET_CALLOUT
    91          ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆå‘¼å‡ºã—数、10 以上の値を指定すること。
     84         タイムアウト呼出し数、10 以上の値を指定すること。
    9285
    9386   (4)   NUM_IN6_IFADDR_ENTRY
    94          ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã®ã‚¢ãƒ‰ãƒ¬ã‚¹ãƒªã‚¹ãƒˆï¼ˆIPv6)のエントリ数である。
     87         インタフェースのアドレスリスト(IPv6)のエントリ数である。
    9588
    9689   (5)   NUM_MPF_NET_BUF_CSEG
    97          ãƒ•ãƒ¬ãƒ¼ãƒ ãƒ˜ãƒƒãƒ€ + IP ヘッダ + TCP ヘッダサイズのネットワークバッ
    98          ãƒ•ã‚¡æ•°ã‚’指定する。
     90         フレームヘッダ + IP ヘッダ + TCP ヘッダサイズのネットワークバッ
     91         ファ数を指定する。
    9992
    10093   (6)   NUM_MPF_NET_BUF_64
    101          ã‚µã‚¤ã‚º 64 オクテットのネットワークバッファ数を指定する。
     94         サイズ 64 オクテットのネットワークバッファ数を指定する。
    10295
    10396   (7)   NUM_MPF_NET_BUF_128
    104          ã‚µã‚¤ã‚º 128 オクテットのネットワークバッファ数を指定する。
     97         サイズ 128 オクテットのネットワークバッファ数を指定する。
    10598
    10699   (8)   NUM_MPF_NET_BUF_256
    107          ã‚µã‚¤ã‚º 256 オクテットのネットワークバッファ数を指定する。
     100         サイズ 256 オクテットのネットワークバッファ数を指定する。
    108101
    109102   (9)   NUM_MPF_NET_BUF_512
    110          ã‚µã‚¤ã‚º 512 オクテットのネットワークバッファ数を指定する。
     103         サイズ 512 オクテットのネットワークバッファ数を指定する。
    111104
    112105   (10)  NUM_MPF_NET_BUF_1024
    113          ã‚µã‚¤ã‚º 1024 オクテットのネットワークバッファ数を指定する。
     106         サイズ 1024 オクテットのネットワークバッファ数を指定する。
    114107
    115108   (11)  NUM_MPF_NET_BUF_IF_PDU
    116          ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã®æœ€å¤§ PDU(フレームヘッダ長 + MTU)
    117          ã‚µã‚¤ã‚ºã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒãƒƒãƒ•ã‚¡æ•°ã‚’指定する。
     109         ネットワークインタフェースの最大 PDU(フレームヘッダ長 + MTU)
     110         サイズのネットワークバッファ数を指定する。
    118111
    119112   (12)  NUM_MPF_NET_BUF_IPV6_MMTU
    120          ãƒ•ãƒ¬ãƒ¼ãƒ ãƒ˜ãƒƒãƒ€ + IPv6 MMTU(1280)サイズのネットワークバッファ
    121          æ•°ã‚’指定する。
     113         フレームヘッダ + IPv6 MMTU(1280)サイズのネットワークバッファ
     114         数を指定する。
    122115
    123116   (13)  NUM_MPF_NET_BUF_IP_MSS
    124          ãƒ•ãƒ¬ãƒ¼ãƒ ãƒ˜ãƒƒãƒ€ + IP MSS(576)サイズのネットワークバッファ数
    125          ã‚’指定する。
     117         フレームヘッダ + IP MSS(576)サイズのネットワークバッファ数
     118         を指定する。
    126119
    127120   (14)  NUM_MPF_NET_BUF4_REASSM
    128          IPv4 用の再構成バッファサイズのネットワークバッファ数を指定する。
     121         IPv4 用の再構成バッファサイズのネットワークバッファ数を指定する。
    129122
    130123   (15)  NET_COUNT_ENABLE
    131          è¨ˆæ¸¬ã™ã‚‹ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯çµ±è¨ˆæƒ
    132 å ±ã‚’、 プロトコル識別フラグの OR で
    133          æŒ‡å®šã™ã‚‹ã€‚
    134 
    135          PROTO_FLG_PPP_HDLC            PPP の HDLC の統計æƒ
    136 å ±
    137          PROTO_FLG_PPP_AUTH            PPP の認証に関する統計æƒ
    138 å ±
    139          PROTO_FLG_PPP_LCP             PPP の LCP の統計æƒ
    140 å ±
    141          PROTO_FLG_PPP_IPCP            PPP の IPCP の統計æƒ
    142 å ±
    143          PROTO_FLG_PPP                 PPP の統計æƒ
    144 å ±
    145          PROTO_FLG_LOOP                ループバックの統計æƒ
    146 å ±
    147          PROTO_FLG_ETHER_NIC           ã‚¤ãƒ¼ã‚µãƒãƒƒãƒˆã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã®çµ±è¨ˆæƒ
    148 å ±
    149          PROTO_FLG_ETHER               ã‚¤ãƒ¼ã‚µãƒãƒƒãƒˆã®çµ±è¨ˆæƒ
    150 å ±
    151          PROTO_FLG_IP6                 IPv6 の統計æƒ
    152 å ±
    153          PROTO_FLG_ICMPv6              ICMPv6 の統計æƒ
    154 å ±
    155          PROTO_FLG_ND6                 è¿‘隣探索の統計æƒ
    156 å ±
    157          PROTO_FLG_IP4                 IPv4 の統計æƒ
    158 å ±
    159          PROTO_FLG_ICMPv4              ICMPv4 の統計æƒ
    160 å ±
    161          PROTO_FLG_ARP                 ARP の統計æƒ
    162 å ±
    163          PROTO_FLG_TCP                 TCP の統計æƒ
    164 å ±
    165          PROTO_FLG_UDP                 UDP の統計æƒ
    166 å ±
    167          PROTO_FLG_NET_BUF             ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒãƒƒãƒ•ã‚¡ã®çµ±è¨ˆæƒ
    168 å ±
    169 
    170 4.  サポート関数に関係するパラメータ
     124         計測するネットワーク統計情報を、 プロトコル識別フラグの OR で
     125         指定する。
     126
     127         PROTO_FLG_PPP_HDLC            PPP の HDLC の統計情報
     128         PROTO_FLG_PPP_AUTH            PPP の認証に関する統計情報
     129         PROTO_FLG_PPP_LCP             PPP の LCP の統計情報
     130         PROTO_FLG_PPP_IPCP            PPP の IPCP の統計情報
     131         PROTO_FLG_PPP                 PPP の統計情報
     132         PROTO_FLG_LOOP                ループバックの統計情報
     133         PROTO_FLG_ETHER_NIC           イーサネットインタフェースの統計情報
     134         PROTO_FLG_ETHER               イーサネットの統計情報
     135         PROTO_FLG_IP6                 IPv6 の統計情報
     136         PROTO_FLG_ICMPv6              ICMPv6 の統計情報
     137         PROTO_FLG_ND6                 近隣探索の統計情報
     138         PROTO_FLG_IP4                 IPv4 の統計情報
     139         PROTO_FLG_ICMPv4              ICMPv4 の統計情報
     140         PROTO_FLG_ARP                 ARP の統計情報
     141         PROTO_FLG_TCP                 TCP の統計情報
     142         PROTO_FLG_UDP                 UDP の統計情報
     143         PROTO_FLG_NET_BUF             ネットワークバッファの統計情報
     144
     1454.  サポート関数に関係するパラメータ
    171146
    172147   (1)   NUM_IPV6ADDR_STR_BUFF
    173          ã‚µãƒãƒ¼ãƒˆé–¢æ•° ipv62str において、 TINET å†
    174 éƒ¨ã§ç¢ºä¿ã™ã‚‹æ–‡å­—列バッ
    175          ãƒ•ã‚¡æ•°ã‚’指定する。
     148         サポート関数 ipv62str において、 TINET 内部で確保する文字列バッ
     149         ファ数を指定する。
    176150
    177151   (2)   NUM_IPV4ADDR_STR_BUFF
    178          ã‚µãƒãƒ¼ãƒˆé–¢æ•° ip2str において、 TINET å†
    179 éƒ¨ã§ç¢ºä¿ã™ã‚‹æ–‡å­—列バッ
    180          ãƒ•ã‚¡æ•°ã‚’指定する。
     152         サポート関数 ip2str において、 TINET 内部で確保する文字列バッ
     153         ファ数を指定する。
    181154
    182155   (3)   NUM_MACADDR_STR_BUFF
    183          ã‚µãƒãƒ¼ãƒˆé–¢æ•° mac2str において、TINET å†
    184 éƒ¨ã§ç¢ºä¿ã™ã‚‹æ–‡å­—列バッ
    185          ãƒ•ã‚¡æ•°ã‚’指定する。
    186 
    187 5.  イーサネット関係のパラメータ
    188 
    189 5. 1  イーサネットå
    190 ¨ä½“に関係するパラメータ
     156         サポート関数 mac2str において、TINET 内部で確保する文字列バッ
     157         ファ数を指定する。
     158
     1595.  イーサネット関係のパラメータ
     160
     1615. 1  イーサネット全体に関係するパラメータ
    191162
    192163   (1)   NUM_DTQ_ETHER_OUTPUT
    193          ã‚¤ãƒ¼ã‚µãƒãƒƒãƒˆå‡ºåŠ›ãƒ‡ãƒ¼ã‚¿ã‚­ãƒ¥ãƒ¼ã‚µã‚¤ã‚ºã‚’指定する。 2 以上の値を指
    194          å®šã™ã‚‹ã“と。
     164         イーサネット出力データキューサイズを指定する。 2 以上の値を指
     165         定すること。
    195166
    196167   (2)   ETHER_INPUT_STACK_SIZE
    197          ã‚¤ãƒ¼ã‚µãƒãƒƒãƒˆå
    198 ¥åŠ›ã‚¿ã‚¹ã‚¯ã®ã‚¹ã‚¿ãƒƒã‚¯ã‚µã‚¤ã‚ºã‚’指定する。
     168         イーサネット入力タスクのスタックサイズを指定する。
    199169
    200170   (3)   ETHER_OUTPUT_STACK_SIZE
    201          ã‚¤ãƒ¼ã‚µãƒãƒƒãƒˆå‡ºåŠ›ã‚¿ã‚¹ã‚¯ã®ã‚¹ã‚¿ãƒƒã‚¯ã‚µã‚¤ã‚ºã‚’指定する。
     171         イーサネット出力タスクのスタックサイズを指定する。
    202172
    203173   (4)   ETHER_INPUT_PRIORITY
    204          ã‚¤ãƒ¼ã‚µãƒãƒƒãƒˆå
    205 ¥åŠ›ã‚¿ã‚¹ã‚¯ã®å„ªå
    206 ˆåº¦ã‚’指定する。
     174         イーサネット入力タスクの優先度を指定する。
    207175
    208176   (5)   ETHER_OUTPUT_PRIORITY
    209          ã‚¤ãƒ¼ã‚µãƒãƒƒãƒˆå‡ºåŠ›ã‚¿ã‚¹ã‚¯ã®å„ªå
    210 ˆåº¦ã‚’指定する。
     177         イーサネット出力タスクの優先度を指定する。
    211178
    212179   (6)   ETHER_CFG_UNEXP_WARNING
    213          éžã‚µãƒãƒ¼ãƒˆãƒ•ãƒ¬ãƒ¼ãƒ ã®è­¦å‘Šã‚’表示する場合指定する。
     180         非サポートフレームの警告を表示する場合指定する。
    214181
    215182   (7)   ETHER_CFG_802_WARNING
    216          IEEE 802.3 フレームの警告を表示する場合指定する。 なお、 IEEE
    217          802.3 フレームはサポートしていない。
     183         IEEE 802.3 フレームの警告を表示する場合指定する。 なお、 IEEE
     184         802.3 フレームはサポートしていない。
    218185
    219186   (8)   ETHER_CFG_MCAST_WARNING
    220          ãƒžãƒ«ãƒã‚­ãƒ£ã‚¹ãƒˆã®è­¦å‘Šã‚’表示する場合指定する。
     187         マルチキャストの警告を表示する場合指定する。
    221188
    222189   (9)   ETHER_CFG_ACCEPT_ALL
    223          ãƒžãƒ«ãƒã‚­ãƒ£ã‚¹ãƒˆã€ エラーフレームも受信する場合指定する。
     190         マルチキャスト、 エラーフレームも受信する場合指定する。
    224191
    225192   (10)  ETHER_NIC_CFG_RELEASE_NET_BUF
    226          ã‚¤ãƒ¼ã‚µãƒãƒƒãƒˆå‡ºåŠ›æ™‚に、NIC で net_buf を開放する場合に指定する。
     193         イーサネット出力時に、NIC で net_buf を開放する場合に指定する。
    227194
    228195   (11)  ETHER_CFG_COLLECT_ADDR
    229          æŒ‡å®šã™ã‚‹ã¨ä¸€å®šå‘¨æœŸï¼ˆ256 回のフレーム受信毎)に送信å
    230 ƒã® MAC ア
    231          ãƒ‰ãƒ¬ã‚¹ã«ã‚ˆã‚Šä¹±æ•°ã‚’更新する。
    232 
    233 5. 2  NIC(NE2000 互換)関係のパラメータ
     196         指定すると一定周期(256 回のフレーム受信毎)に送信元の MAC ア
     197         ドレスにより乱数を更新する。
     198
     1995. 2  NIC(NE2000 互換)関係のパラメータ
    234200
    235201   (1)   IF_ED_CFG_16BIT
    236          16 ビットモードで使用する場合に指定する。 ただし、16 ビットモー
    237          ãƒ‰ã¯æœªå®Ÿè£
    238 ã§ã‚る。
     202         16 ビットモードで使用する場合に指定する。 ただし、16 ビットモー
     203         ドは未実装である。
    239204
    240205   (2)   NUM_IF_ED_TXBUF
    241          é€ä¿¡ãƒ•ãƒ¬ãƒ¼ãƒ ã®ãƒãƒƒãƒ•ã‚¡æ•°ã‚’指定する。標準値は 1 である。
     206         送信フレームのバッファ数を指定する。標準値は 1 である。
    242207
    243208   (3)   TMO_IF_ED_GET_NET_BUF
    244          å˜ä½ã¯ [ms] で、 受信フレーム用ネットワークバッファの獲得タイ
    245          ãƒ ã‚¢ã‚¦ãƒˆã‚’指定する。標準値は 1 [ms] である。
     209         単位は [ms] で、 受信フレーム用ネットワークバッファの獲得タイ
     210         ムアウトを指定する。標準値は 1 [ms] である。
    246211
    247212   (4)   TMO_IF_ED_XMIT
    248          é€ä¿¡ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆå€¤ã‚’指定する。値は IF_TIMER_HZ の倍数で指定し、
    249          æ¨™æº–値は (2*IF_TIMER_HZ) である。
     213         送信タイムアウト値を指定する。値は IF_TIMER_HZ の倍数で指定し、
     214         標準値は (2*IF_TIMER_HZ) である。
    250215
    251216   (5)   IF_ED_CFG_ACCEPT_ALL
    252          ãƒžãƒ«ãƒã‚­ãƒ£ã‚¹ãƒˆã€ エラーフレームも受信する場合指定する。
    253 
    254 5. 3  NIC(RTL8019AS)関係のパラメータ
     217         マルチキャスト、 エラーフレームも受信する場合指定する。
     218
     2195. 3  NIC(RTL8019AS)関係のパラメータ
    255220
    256221   (1)   ED_BASE_ADDRESS
    257          NIC のレジスタのベースアドレスを指定する。
     222         NIC のレジスタのベースアドレスを指定する。
    258223
    259224   (2)   INHNO_IF_ED
    260          å‰²ã‚Šè¾¼ã¿ç•ªå·ã‚’指定する。
     225         割り込み番号を指定する。
    261226
    262227   (3)   ED_IER_IP_BIT
    263          å‰²ã‚Šè¾¼ã¿ã‚¤ãƒãƒ¼ãƒ–ルレジスタ(IER)の制御ビットを指定する。
     228         割り込みイネーブルレジスタ(IER)の制御ビットを指定する。
    264229
    265230   (4)   ED_IPR
    266          å‰²ã‚Šè¾¼ã¿å„ªå
    267 ˆãƒ¬ã‚¸ã‚¹ã‚¿ï¼ˆIPR)を指定する。
     231         割り込み優先レジスタ(IPR)を指定する。
    268232
    269233   (5)   ED_IPR_IP_BIT
    270          å‰²ã‚Šè¾¼ã¿å„ªå
    271 ˆãƒ¬ã‚¸ã‚¹ã‚¿ï¼ˆIPR)の制御ビットを指定する。
     234         割り込み優先レジスタ(IPR)の制御ビットを指定する。
    272235
    273236   (6)   ED_RTL_CFG0_IRQS
    274          å‰²ã‚Šè¾¼ã¿ã‚¤ãƒãƒ¼ãƒ–ルレジスタ(IER)の制御ビットを指定する。
    275 
    276 6.  ARP 関係のパラメータ
     237         割り込みイネーブルレジスタ(IER)の制御ビットを指定する。
     238
     2396.  ARP 関係のパラメータ
    277240
    278241   (1)   NUM_ARP_ENTRY
    279          ARP キャッシュエントリ数を指定する。
     242         ARP キャッシュエントリ数を指定する。
    280243
    281244   (2)   ARP_CACHE_KEEP
    282          ARP キャッシュのタイムアウト値を指定する。 値は NET_TIMER_HZ
    283          ã®å€æ•°ã§æŒ‡å®šã—、標準値は (20*60*NET_TIMER_HZ) である。
     245         ARP キャッシュのタイムアウト値を指定する。 値は NET_TIMER_HZ
     246         の倍数で指定し、標準値は (20*60*NET_TIMER_HZ) である。
    284247
    285248   (3)   TMO_ARP_GET_NET_BUF
    286          å˜ä½ã¯ [ms] で、 アドレス解決要求用ネットワークバッファの獲得
    287          ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆã‚’指定する。標準値は 1000 [ms] である。
     249         単位は [ms] で、 アドレス解決要求用ネットワークバッファの獲得
     250         タイムアウトを指定する。標準値は 1000 [ms] である。
    288251
    289252   (4)   TMO_ARP_OUTPUT
    290          å˜ä½ã¯ [ms] で、ARP 出力タイムアウトを指定する。標準値は 1000
    291          [ms] である。
     253         単位は [ms] で、ARP 出力タイムアウトを指定する。標準値は 1000
     254         [ms] である。
    292255
    293256   (5)   ARP_CFG_CALLBACK_DUPLICATED
    294          æŒ‡å®šã™ã‚‹ã¨ã€ARP å
    295 ¥åŠ›ã§ IP アドレスの重複を検出した時に、 応用
    296          ãƒ—ログラムで用意したコールバック関数 arp_callback_duplicated
    297          ã‚’呼び出す。
    298 
    299 7.  PPP 関係のパラメータ
    300 
    301   PPP は参考実è£
    302 ã§ã‚る。
    303 
    304 7. 1  PPP å
    305 ¨ä½“に関係するパラメータ
     257         指定すると、ARP 入力で IP アドレスの重複を検出した時に、 応用
     258         プログラムで用意したコールバック関数 arp_callback_duplicated
     259         を呼び出す。
     260
     2617.  PPP 関係のパラメータ
     262
     263  PPP は参考実装である。
     264
     2657. 1  PPP 全体に関係するパラメータ
    306266
    307267   (1)   NUM_DTQ_PPP_OUTPUT
    308          PPP 出力のデータキューサイズを指定する。 2 以上の値を指定すること。
     268         PPP 出力のデータキューサイズを指定する。 2 以上の値を指定すること。
    309269
    310270   (2)   PPP_INPUT_STACK_SIZE
    311          PPP å
    312 ¥åŠ›ã‚¿ã‚¹ã‚¯ã®ã‚¹ã‚¿ãƒƒã‚¯ã‚µã‚¤ã‚ºã‚’指定する。
     271         PPP 入力タスクのスタックサイズを指定する。
    313272
    314273   (3)   PPP_OUTPUT_STACK_SIZE
    315          PPP 出力タスクのスタックサイズを指定する。
     274         PPP 出力タスクのスタックサイズを指定する。
    316275
    317276   (4)   PPP_INPUT_PRIORITY
    318          PPP å
    319 ¥åŠ›ã‚¿ã‚¹ã‚¯ã®å„ªå
    320 ˆåº¦ã‚’指定する。
     277         PPP 入力タスクの優先度を指定する。
    321278
    322279   (5)   PPP_OUTPUT_PRIORITY
    323          PPP 出力タスクの優å
    324 ˆåº¦ã‚’指定する。
     280         PPP 出力タスクの優先度を指定する。
    325281
    326282   (6)   TMO_PPP_GET_NET_BUF
    327          å˜ä½ã¯ [ms] で、 受信用ネットワークバッファの獲得タイムアウト
    328          ã‚’指定する。標準値は 1000 [ms] である。
     283         単位は [ms] で、 受信用ネットワークバッファの獲得タイムアウト
     284         を指定する。標準値は 1000 [ms] である。
    329285
    330286   (7)   PPP_IDLE_TIMEOUT
    331          PPP 接続を切断するまでのアイドル時間を、NET_TIMER_HZ の倍数で
    332          æŒ‡å®šã™ã‚‹ã€‚
    333 
    334 7. 2  モデムに関する定義
     287         PPP 接続を切断するまでのアイドル時間を、NET_TIMER_HZ の倍数で
     288         指定する。
     289
     2907. 2  モデムに関する定義
    335291
    336292   (1)   PPP_CFG_MODEM
    337          ãƒ¢ãƒ‡ãƒ æŽ¥ç¶šã®å ´åˆæŒ‡å®šã™ã‚‹ã€‚
     293         モデム接続の場合指定する。
    338294
    339295   (2)   MODEM_CFG_INIT
    340          ãƒ¢ãƒ‡ãƒ ã®åˆæœŸåŒ–文字列を指定する。
     296         モデムの初期化文字列を指定する。
    341297
    342298   (3)   MODEM_CFG_DIAL
    343          ãƒ€ã‚¤ã‚¢ãƒ«ã‚³ãƒžãƒ³ãƒ‰æ–‡å­—列を指定する。
     299         ダイアルコマンド文字列を指定する。
    344300
    345301   (4)   MODEM_CFG_RETRY_CNT
    346          ãƒ€ã‚¤ã‚¢ãƒ«ãƒªãƒˆãƒ©ã‚¤å›žæ•°ã€‚標準値は 3 回である。
     302         ダイアルリトライ回数。標準値は 3 回である。
    347303
    348304   (5)   MODEM_CFG_RETRY_WAIT
    349          å˜ä½ã¯ [ms] で、ダイアルリトライまでのå¾
    350 ã¡æ™‚間を指定する。 標
    351          æº–値は 10,000 [ms] である。
     305         単位は [ms] で、ダイアルリトライまでの待ち時間を指定する。 標
     306         準値は 10,000 [ms] である。
    352307
    353308   (6)   MODEM_CFG_PHONE_NUMBER
    354          æŽ¥ç¶šç›¸æ‰‹ã®é›»è©±ç•ªå·ã‚’指定する。
    355 
    356 7. 3  HDLC に関する定義
     309         接続相手の電話番号を指定する。
     310
     3117. 3  HDLC に関する定義
    357312
    358313   (1)   DEF_LOCAL_ACCM
    359          è‡ªåˆ†ã®éžåŒæœŸåˆ¶å¾¡æ–‡å­—マップ(ACCM)を指定する。標準値は XON と
    360          XOFF のみ変換することを意味する 0x000a0000 である。
     314         自分の非同期制御文字マップ(ACCM)を指定する。標準値は XON と
     315         XOFF のみ変換することを意味する 0x000a0000 である。
    361316
    362317   (2)   DEF_REMOTE_ACCM
    363          ç›¸æ‰‹ã®éžåŒæœŸåˆ¶å¾¡æ–‡å­—マップ(ACCM)、 標準の初期値はå
    364 ¨ã¦å¤‰æ›ã™
    365          ã‚‹ã“とを意味する 0xffffffff である。
     318         相手の非同期制御文字マップ(ACCM)、 標準の初期値は全て変換す
     319         ることを意味する 0xffffffff である。
    366320
    367321   (3)   HDLC_PORTID
    368          PPP に使用するシリアルポート番号を指定する。
    369 
    370 7. 4  LCP に関する定義
     322         PPP に使用するシリアルポート番号を指定する。
     323
     3247. 4  LCP に関する定義
    371325
    372326   (1)   LCP_CFG_MRU
    373          LCP の最大受信単位(MRU)オプションをサポートするときに指定する。
     327         LCP の最大受信単位(MRU)オプションをサポートするときに指定する。
    374328
    375329   (2)   LCP_CFG_ACCM
    376          LCP の非同期制御文字マップ(ACCM)オプションをサポートすると
    377          ãã«æŒ‡å®šã™ã‚‹ã€‚
     330         LCP の非同期制御文字マップ(ACCM)オプションをサポートすると
     331         きに指定する。
    378332
    379333   (3)   LCP_CFG_MAGIC
    380          LCP のマジック番号オプションをサポートするときに指定する。
     334         LCP のマジック番号オプションをサポートするときに指定する。
    381335
    382336   (4)   LCP_CFG_PCOMP
    383          LCP のプロトコル部圧縮オプションをサポートするときに指定する。
     337         LCP のプロトコル部圧縮オプションをサポートするときに指定する。
    384338
    385339   (5)   LCP_CFG_ACCOMP
    386          LCP のアドレス・制御部圧縮オプションをサポートするときに指定する。
     340         LCP のアドレス・制御部圧縮オプションをサポートするときに指定する。
    387341
    388342   (6)   LCP_CFG_PAP
    389          LCP のパスワード認証プロトコル(PAP)オプションをサポートする
    390          ã¨ãã«æŒ‡å®šã™ã‚‹ã€‚
     343         LCP のパスワード認証プロトコル(PAP)オプションをサポートする
     344         ときに指定する。
    391345
    392346   (7)   LCP_CFG_CHAP
    393          LCP のチャレンジハンドシェーク認証プロトコル(CHAP)オプショ
    394          ãƒ³ã‚’サポートするときに指定する。ただし、 現在未実è£
    395 ã§ã‚る。
     347         LCP のチャレンジハンドシェーク認証プロトコル(CHAP)オプショ
     348         ンをサポートするときに指定する。ただし、 現在未実装である。
    396349
    397350   (8)   LCP_ECHO_INTERVAL
    398          ç›¸æ‰‹ã®æ­£å¸¸æ€§ã‚’確認するため、 終端間で交換するエコーメッセージ
    399          ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒãƒ«æ™‚間を指定する。 値は NET_TIMER_HZ の倍数で指定
    400          ã—、標準値は (20*NET_TIMER_HZ) である。ただし、このオプション
    401          ã¯ LCP_CFG_MAGIC を指定したときのみ有効である。
     351         相手の正常性を確認するため、 終端間で交換するエコーメッセージ
     352         のインターバル時間を指定する。 値は NET_TIMER_HZ の倍数で指定
     353         し、標準値は (20*NET_TIMER_HZ) である。ただし、このオプション
     354         は LCP_CFG_MAGIC を指定したときのみ有効である。
    402355
    403356   (9)   LCP_ECHO_FAILS
    404          ã‚¨ã‚³ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®å¤±æ•—回数を指定する。標準値は 3 回である。た
    405          ã ã—、このオプションは LCP_CFG_MAGIC を指定したときのみ有効である。
     357         エコーメッセージの失敗回数を指定する。標準値は 3 回である。た
     358         だし、このオプションは LCP_CFG_MAGIC を指定したときのみ有効である。
    406359
    407360   (10)  DEF_LCP_LOCAL_CFGS
    408          è‡ªåˆ†ã®æ§‹æˆæƒ
    409 å ±ã®æ—¢å®šå€¤ã‚’指定する。
     361         自分の構成情報の既定値を指定する。
    410362
    411363   (11)  DEF_LCP_REMOTE_CFGS
    412          ç›¸æ‰‹ã«è¨±ã™æ§‹æˆæƒ
    413 å ±ã®æ—¢å®šå€¤ã‚’指定する。
    414 
    415 7. 5  パスワード認証プロトコル(PAP)に関する定義
     364         相手に許す構成情報の既定値を指定する。
     365
     3667. 5  パスワード認証プロトコル(PAP)に関する定義
    416367
    417368   (1)   DEF_PAP_TIMEOUT
    418          ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãƒ¢ãƒ¼ãƒ‰ã§èªè¨¼ã™ã‚‹å ´åˆã®ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆå€¤ã‚’指定する。
    419          å€¤ã¯ NET_TIMER_HZ の倍数で指定し、 標準値は (3*NET_TIMER_HZ)
    420          ã§ã‚る。指定しないと永ä¹
    421 ã«å¾
    422 ã¡çŠ¶æ
    423 ‹ã«ãªã‚‹ã€‚
     369         クライアントモードで認証する場合のタイムアウト値を指定する。
     370         値は NET_TIMER_HZ の倍数で指定し、 標準値は (3*NET_TIMER_HZ)
     371         である。指定しないと永久に待ち状態になる。
    424372
    425373   (2)   DEF_PAP_REQTIME
    426          ã‚µãƒ¼ãƒãƒ¢ãƒ¼ãƒ‰ã§èªè¨¼ã™ã‚‹å ´åˆã®ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆå€¤ã‚’指定する。 値は
    427          NET_TIMER_HZ の倍数で指定し、 標準値は (30*NET_TIMER_HZ) であ
    428          ã‚‹ã€‚ 指定しないと永ä¹
    429 ã«å¾
    430 ã¡çŠ¶æ
    431 ‹ã«ãªã‚‹ã€‚
     374         サーバモードで認証する場合のタイムアウト値を指定する。 値は
     375         NET_TIMER_HZ の倍数で指定し、 標準値は (30*NET_TIMER_HZ) であ
     376         る。 指定しないと永久に待ち状態になる。
    432377
    433378   (3)   MAX_PAP_REXMT
    434          èªè¨¼è¦æ±‚タイムアウトの最大再送回数を指定する。 標準値は 10 回
    435          ã§ã‚る。
    436 
    437 7. 6  認証に関する定義
     379         認証要求タイムアウトの最大再送回数を指定する。 標準値は 10 回
     380         である。
     381
     3827. 6  認証に関する定義
    438383
    439384   (1)   AUTH_CFG_CLIENT
    440          ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãƒ¢ãƒ¼ãƒ‰ã®å ´åˆæŒ‡å®šã™ã‚‹ã€‚ AUTH_CFG_SERVER と同時に指
    441          å®šã™ã‚‹ã“とも可能である。
     385         クライアントモードの場合指定する。 AUTH_CFG_SERVER と同時に指
     386         定することも可能である。
    442387
    443388   (2)   AUTH_CFG_SERVER
    444          ã‚µãƒ¼ãƒãƒ¢ãƒ¼ãƒ‰ã®å ´åˆæŒ‡å®šã™ã‚‹ã€‚ AUTH_CFG_CLIENT と同時に指定する
    445          ã“とも可能である。
     389         サーバモードの場合指定する。 AUTH_CFG_CLIENT と同時に指定する
     390         ことも可能である。
    446391
    447392   (3)   AUTH_LOCAL_USER
    448          ã‚µãƒ¼ãƒãƒ¢ãƒ¼ãƒ‰ã®å ´åˆã€ ログイン認証ユーザ名を指定する。
     393         サーバモードの場合、 ログイン認証ユーザ名を指定する。
    449394
    450395   (4)   AUTH_LOCAL_PASSWD
    451          ã‚µãƒ¼ãƒãƒ¢ãƒ¼ãƒ‰ã®å ´åˆã€ ログイン認証パスワードを指定する。
     396         サーバモードの場合、 ログイン認証パスワードを指定する。
    452397
    453398   (5)   AUTH_REMOTE_USER
    454          ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãƒ¢ãƒ¼ãƒ‰ã®å ´åˆã€ ログイン認証ユーザ名を指定する。
     399         クライアントモードの場合、 ログイン認証ユーザ名を指定する。
    455400
    456401   (6)   AUTH_REMOTE_PASSWD
    457          ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãƒ¢ãƒ¼ãƒ‰ã®å ´åˆã€ ログイン認証パスワードを指定する。
    458 
    459 8.  ループバックインタフェース関係のパラメータ
    460 
    461   ループバックインタフェースは参考実è£
    462 ã§ã‚る。
     402         クライアントモードの場合、 ログイン認証パスワードを指定する。
     403
     4048.  ループバックインタフェース関係のパラメータ
     405
     406  ループバックインタフェースは参考実装である。
    463407
    464408   (1)   LOMTU
    465          ãƒ«ãƒ¼ãƒ—バックインタフェースの MTU を指定する。
     409         ループバックインタフェースの MTU を指定する。
    466410
    467411   (2)   NUM_DTQ_LOOP_OUTPUT
    468          ãƒ«ãƒ¼ãƒ—バックインタフェースの出力データキューサイズを指定する。
     412         ループバックインタフェースの出力データキューサイズを指定する。
    469413
    470414   (3)   NUM_DTQ_LOOP_INPUT
    471          ãƒ«ãƒ¼ãƒ—バックインタフェースのå
    472 ¥åŠ›ãƒ‡ãƒ¼ã‚¿ã‚­ãƒ¥ãƒ¼ã‚µã‚¤ã‚ºã‚’指定する。
     415         ループバックインタフェースの入力データキューサイズを指定する。
    473416
    474417   (4)   LOOP_INPUT_STACK_SIZE
    475          ãƒ«ãƒ¼ãƒ—バックインタフェースのå
    476 ¥åŠ›ã‚¿ã‚¹ã‚¯ã®ã‚¹ã‚¿ãƒƒã‚¯ã‚µã‚¤ã‚ºã‚’指定する。
     418         ループバックインタフェースの入力タスクのスタックサイズを指定する。
    477419
    478420   (5)   LOOP_OUTPUT_STACK_SIZE
    479          ãƒ«ãƒ¼ãƒ—バックインタフェースの出力タスクのスタックサイズを指定する。
     421         ループバックインタフェースの出力タスクのスタックサイズを指定する。
    480422
    481423   (6)   LOOP_INPUT_PRIORITY
    482          ãƒ«ãƒ¼ãƒ—バックインタフェースのå
    483 ¥åŠ›ã‚¿ã‚¹ã‚¯ã®å„ªå
    484 ˆåº¦ã‚’指定する。
     424         ループバックインタフェースの入力タスクの優先度を指定する。
    485425
    486426   (7)   LOOP_OUTPUT_PRIORITY
    487          ãƒ«ãƒ¼ãƒ—バックインタフェースの出力タスクの優å
    488 ˆåº¦ã‚’指定する。
    489 
    490 9.  DHCP 関係のパラメータ
     427         ループバックインタフェースの出力タスクの優先度を指定する。
     428
     4299.  DHCP 関係のパラメータ
    491430
    492431   (1)   DHCP6_CLI_CFG
    493          DHCPv6 の DHCP メッセージを受信する場合に指定する。 ただし、
    494          TINET は、 DHCPv6 を実è£
    495 ã—ていない。応用プログラムで、DHCP メッ
    496          ã‚»ãƒ¼ã‚¸ã‚’受信するための定義である。
     432         DHCPv6 の DHCP メッセージを受信する場合に指定する。 ただし、
     433         TINET は、 DHCPv6 を実装していない。応用プログラムで、DHCP メッ
     434         セージを受信するための定義である。
    497435
    498436   (2)   DHCP4_CLI_CFG
    499          DHCPv4 の DHCP メッセージを受信する場合に指定する。 ただし、
    500          TINET は、DHCPv4 を実è£
    501 ã—ていない。応用プログラムで、 DHCP メッ
    502          ã‚»ãƒ¼ã‚¸ã‚’受信するための定義である。
    503 
    504 10.  IPv6/IPv4 å
    505 ±é€šãƒ‘ラメータ
     437         DHCPv4 の DHCP メッセージを受信する場合に指定する。 ただし、
     438         TINET は、DHCPv4 を実装していない。応用プログラムで、 DHCP メッ
     439         セージを受信するための定義である。
     440
     44110.  IPv6/IPv4 共通パラメータ
    506442
    507443   (1)   TMO_IN_REDIRECT
    508          å‘け直しメッセージで設定されたルーティングæƒ
    509 å ±ã®æœ‰åŠ¹æ™‚間を指
    510          å®šã™ã‚‹ã€‚標準値は 10*60*1000 [ms] である。
    511 
    512 11.  IPv6 関係のパラメータ
     444         向け直しメッセージで設定されたルーティング情報の有効時間を指
     445         定する。標準値は 10*60*1000 [ms] である。
     446
     44711.  IPv6 関係のパラメータ
    513448
    514449   (1)   IP6_CFG_FRAGMENT
    515          ãƒ‡ãƒ¼ã‚¿ã‚°ãƒ©ãƒ ã®åˆ†å‰²ãƒ»å†æ§‹æˆè¡Œã†å ´åˆã«æŒ‡å®šã™ã‚‹ã€‚
     450         データグラムの分割・再構成行う場合に指定する。
    516451
    517452   (2)   NUM_IP6_FRAG_QUEUE
    518          ãƒ‡ãƒ¼ã‚¿ã‚°ãƒ©ãƒ å†æ§‹æˆã‚­ãƒ¥ãƒ¼ã‚µã‚¤ã‚ºã‚’指定する。 標準値は 2 である。
     453         データグラム再構成キューサイズを指定する。 標準値は 2 である。
    519454
    520455   (3)   TMO_IP6_FRAG_GET_NET_BUF
    521          ãƒ‡ãƒ¼ã‚¿ã‚°ãƒ©ãƒ å†æ§‹æˆç”¨ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒãƒƒãƒ•ã‚¡ã®ç²å¾—タイムアウトを
    522          æŒ‡å®šã™ã‚‹ã€‚標準値は 1000 [ms] である。
     456         データグラム再構成用ネットワークバッファの獲得タイムアウトを
     457         指定する。標準値は 1000 [ms] である。
    523458
    524459   (4)   IP6_CFG_FRAG_REASSM_SIZE
    525          ãƒ‡ãƒ¼ã‚¿ã‚°ãƒ©ãƒ å†æ§‹æˆç”¨ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒãƒƒãƒ•ã‚¡ã®ã‚µã‚¤ã‚ºã‚’指定する。
    526          æ¨™æº–値は 4096 である。
     460         データグラム再構成用ネットワークバッファのサイズを指定する。
     461         標準値は 4096 である。
    527462
    528463   (5)   NUM_IN6_STATIC_ROUTE_ENTRY
    529          ãƒ«ãƒ¼ãƒ†ã‚£ãƒ³ã‚°è¡¨ã®é™çš„ルーティングエントリ数を指定する。
     464         ルーティング表の静的ルーティングエントリ数を指定する。
    530465
    531466   (6)   NUM_IN6_REDIRECT_ROUTE_ENTRY
    532          ãƒ«ãƒ¼ãƒ†ã‚£ãƒ³ã‚°è¡¨ã§äºˆã‚ç¢ºä¿ã™ã‚‹ã€ 向け直し(ICMP)によるルーティ
    533          ãƒ³ã‚°ã‚¨ãƒ³ãƒˆãƒªæ•°ã‚’指定する。0 を指定すると、 向け直し(ICMP)を
    534          ç„¡è¦–する。
     467         ルーティング表で予め確保する、 向け直し(ICMP)によるルーティ
     468         ングエントリ数を指定する。0 を指定すると、 向け直し(ICMP)を
     469         無視する。
    535470
    536471   (7)   IP6_CFG_IP4MAPPED_ADDR
    537          IPv6 のみに対応するアプリケーションで IPv4 射影アドレスを利用
    538          ã—て、IPv4 データグラムを扱う場合に指定する。
    539 
    540 12.  IPv4 関係のパラメータ
     472         IPv6 のみに対応するアプリケーションで IPv4 射影アドレスを利用
     473         して、IPv4 データグラムを扱う場合に指定する。
     474
     47512.  IPv4 関係のパラメータ
    541476
    542477   (1)   IPV4_ADDR_LOCAL
    543          è‡ªåˆ†ã® IP アドレスを指定する。 ただし、PPP を使用するとき、相
    544          æ‰‹ã«å‰²å½“ててもらう場合は 0 を指定すること。
     478         自分の IP アドレスを指定する。 ただし、PPP を使用するとき、相
     479         手に割当ててもらう場合は 0 を指定すること。
    545480
    546481   (2)   IPV4_ADDR_REMOTE
    547          ç›¸æ‰‹ã® IP アドレスを指定する。ただし、PPP を使用するとき、 相
    548          æ‰‹ã«å‰²å½“ててもらう場合は 0 を指定すること。
     482         相手の IP アドレスを指定する。ただし、PPP を使用するとき、 相
     483         手に割当ててもらう場合は 0 を指定すること。
    549484
    550485   (3)   IPV4_ADDR_LOCAL_MASK
    551          ã‚µãƒ–ネットマスクを指定する。 ただし、ネットワークインタフェー
    552          ã‚¹ãŒã‚¤ãƒ¼ã‚µãƒãƒƒãƒˆã®ã¨ãæœ‰åŠ¹ã§ã‚る。
     486         サブネットマスクを指定する。 ただし、ネットワークインタフェー
     487         スがイーサネットのとき有効である。
    553488
    554489   (4)   IPV4_ADDR_DEFAULT_GW
    555          ãƒ‡ã‚£ãƒ•ã‚©ãƒ«ãƒˆã‚²ãƒ¼ãƒˆã‚¦ã‚§ã‚¤ã‚’指定する。 ただし、ネットワークイン
    556          ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ãŒã‚¤ãƒ¼ã‚µãƒãƒƒãƒˆã®ã¨ãæœ‰åŠ¹ã§ã‚る。
     490         ディフォルトゲートウェイを指定する。 ただし、ネットワークイン
     491         タフェースがイーサネットのとき有効である。
    557492
    558493   (5)   IP4_CFG_FRAGMENT
    559          ãƒ‡ãƒ¼ã‚¿ã‚°ãƒ©ãƒ ã®åˆ†å‰²ãƒ»å†æ§‹æˆè¡Œã†å ´åˆã«æŒ‡å®šã™ã‚‹ã€‚
     494         データグラムの分割・再構成行う場合に指定する。
    560495
    561496   (6)   NUM_IP4_FRAG_QUEUE
    562          ãƒ‡ãƒ¼ã‚¿ã‚°ãƒ©ãƒ å†æ§‹æˆã‚­ãƒ¥ãƒ¼ã‚µã‚¤ã‚ºã‚’指定する。標準値は 2 である。
     497         データグラム再構成キューサイズを指定する。標準値は 2 である。
    563498
    564499   (7)   TMO_IP4_FRAG_GET_NET_BUF
    565          ãƒ‡ãƒ¼ã‚¿ã‚°ãƒ©ãƒ å†æ§‹æˆç”¨ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒãƒƒãƒ•ã‚¡ã®ç²å¾—タイムアウトを
    566          æŒ‡å®šã™ã‚‹ã€‚標準値は 1000 [ms] である。
     500         データグラム再構成用ネットワークバッファの獲得タイムアウトを
     501         指定する。標準値は 1000 [ms] である。
    567502
    568503   (8)   IP4_CFG_FRAG_REASSM_SIZE
    569          ãƒ‡ãƒ¼ã‚¿ã‚°ãƒ©ãƒ å†æ§‹æˆç”¨ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒãƒƒãƒ•ã‚¡ã®ã‚µã‚¤ã‚ºã‚’指定する。
    570          æ¨™æº–値は 4096 である。
     504         データグラム再構成用ネットワークバッファのサイズを指定する。
     505         標準値は 4096 である。
    571506
    572507   (9)   NUM_IN4_STATIC_ROUTE_ENTRY
    573          ãƒ«ãƒ¼ãƒ†ã‚£ãƒ³ã‚°è¡¨ã®é™çš„ルーティングエントリ数を指定する。
     508         ルーティング表の静的ルーティングエントリ数を指定する。
    574509
    575510   (10)  NUM_IN4_REDIRECT_ROUTE_ENTRY
    576          ãƒ«ãƒ¼ãƒ†ã‚£ãƒ³ã‚°è¡¨ã§äºˆã‚ç¢ºä¿ã™ã‚‹ã€ 向け直し(ICMP)によるルーティ
    577          ãƒ³ã‚°ã‚¨ãƒ³ãƒˆãƒªæ•°ã‚’指定する。 0 を指定すると、向け直し(ICMP)を
    578          ç„¡è¦–する。
    579 
    580 13.  ICMPv6/v4 関係のパラメータ
     511         ルーティング表で予め確保する、 向け直し(ICMP)によるルーティ
     512         ングエントリ数を指定する。 0 を指定すると、向け直し(ICMP)を
     513         無視する。
     514
     51513.  ICMPv6/v4 関係のパラメータ
    581516
    582517   (1)   ICMP_REPLY_ERROR
    583          ICMP エラーメッセージを送信する場合に指定する。
     518         ICMP エラーメッセージを送信する場合に指定する。
    584519
    585520   (2)   TMO_ICMP_OUTPUT
    586          å˜ä½ã¯ [ms] で、 IP 出力のタイムアウトを指定する。 標準値は
    587          1000 [ms] である。
    588 
    589 14.  近隣探索(ICMPv6)関係のパラメータ
     521         単位は [ms] で、 IP 出力のタイムアウトを指定する。 標準値は
     522         1000 [ms] である。
     523
     52414.  近隣探索(ICMPv6)関係のパラメータ
    590525
    591526   (1)   IP6_CFG_AUTO_LINKLOCAL
    592          ãƒªãƒ³ã‚¯ãƒ­ãƒ¼ã‚«ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã®è‡ªå‹•è¨­å®šã‚’行う場合に指定する。 ただし、
    593          ç¾åœ¨ã¯ã€è‡ªå‹•è¨­å®šä»¥å¤–にアドレスを設定する方法がないので、 å¿
    594 ãš
    595          æŒ‡å®šã™ã‚‹å¿
    596 è¦ãŒã‚る。
     527         リンクローカルアドレスの自動設定を行う場合に指定する。 ただし、
     528         現在は、自動設定以外にアドレスを設定する方法がないので、 必ず
     529         指定する必要がある。
    597530
    598531   (2)   NUM_IP6_DAD_COUNT
    599          é‡è¤‡ã‚¢ãƒ‰ãƒ¬ã‚¹æ¤œå‡ºã§é€ä¿¡ã™ã‚‹è¿‘隣要請の回数で、 0 を指定すると、
    600          é‡è¤‡ã‚¢ãƒ‰ãƒ¬ã‚¹æ¤œå‡ºã‚’行わない。標準値は 1 である。
     532         重複アドレス検出で送信する近隣要請の回数で、 0 を指定すると、
     533         重複アドレス検出を行わない。標準値は 1 である。
    601534
    602535   (3)   NUM_ND6_CACHE_ENTRY
    603          è¿‘隣キャッシュのエントリ数である。
     536         近隣キャッシュのエントリ数である。
    604537
    605538   (4)   NUM_ND6_DEF_RTR_ENTRY
    606          ãƒ‡ã‚£ãƒ•ã‚©ãƒ«ãƒˆãƒ«ãƒ¼ã‚¿ãƒªã‚¹ãƒˆã®ã‚¨ãƒ³ãƒˆãƒªæ•°ã§ã€æœ€å¤§å€¤ã¯ 16 である。0
    607          ã‚’指定するとルータ通知を受信しない。 ただし、現在は、ルータ通
    608          çŸ¥ã®å—信以外にサイトローカルアドレス等を設定する方法がない。
     539         ディフォルトルータリストのエントリ数で、最大値は 16 である。0
     540         を指定するとルータ通知を受信しない。 ただし、現在は、ルータ通
     541         知の受信以外にサイトローカルアドレス等を設定する方法がない。
    609542
    610543   (5)   NUM_ND6_RTR_SOL_RETRY
    611          èµ·å‹•æ™‚のルータ要請出力回数で、 0 を指定するとルータ要請を出力
    612          ã—ない。
     544         起動時のルータ要請出力回数で、 0 を指定するとルータ要請を出力
     545         しない。
    613546
    614547   (6)   NUM_ND6_PREFIX_ENTRY
    615          ãƒ—レフィックスリストのエントリ数で、最大値は 16 である。
     548         プレフィックスリストのエントリ数で、最大値は 16 である。
    616549
    617550   (7)   NUM_IN6_HOSTCACHE_ENTRY
    618          IPv6 用ホストæƒ
    619 å ±ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã®ã‚¨ãƒ³ãƒˆãƒªæ•°ã§ã€ 0 を指定すると
    620          IPv6 用ホストæƒ
    621 å ±ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã‚’組込まない。また、この場合、Path
    622          MTU への対応も限定的になる。
     551         IPv6 用ホスト情報キャッシュのエントリ数で、 0 を指定すると
     552         IPv6 用ホスト情報キャッシュを組込まない。また、この場合、Path
     553         MTU への対応も限定的になる。
    623554
    624555   (8)   TMO_ND6_NS_OUTPUT
    625          è¿‘隣要請出力タイムアウトを指定する。標準値は 1000 [ms] である。
     556         近隣要請出力タイムアウトを指定する。標準値は 1000 [ms] である。
    626557
    627558   (9)   TMO_ND6_NA_OUTPUT
    628          è¿‘隣通知出力タイムアウトを指定する。標準値は 1000 [ms] である。
     559         近隣通知出力タイムアウトを指定する。標準値は 1000 [ms] である。
    629560
    630561   (10)  TMO_ND6_RS_OUTPUT
    631          ãƒ«ãƒ¼ã‚¿è¦è«‹å‡ºåŠ›ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆã‚’指定する。標準値は 1000 [ms] である。
     562         ルータ要請出力タイムアウトを指定する。標準値は 1000 [ms] である。
    632563
    633564   (11)  TMO_ND6_RTR_SOL_DELAY
    634          ãƒ«ãƒ¼ã‚¿è¦è«‹å‡ºåŠ›é
    635 å»¶ã‚’指定する。標準値は 1000 [ms] である。
     565         ルータ要請出力遅延を指定する。標準値は 1000 [ms] である。
    636566
    637567   (12)  TMO_ND6_RTR_SOL_INTERVAL
    638          ãƒ«ãƒ¼ã‚¿è¦è«‹å‡ºåŠ›é–“隔を指定する。標準値は 3000 [ms] である。
    639 
    640 15.  TCP 関係のパラメータ
     568         ルータ要請出力間隔を指定する。標準値は 3000 [ms] である。
     569
     57015.  TCP 関係のパラメータ
    641571
    642572   (1)   TCP_CFG_EXTENTIONS
    643          ITRON TCP/IP API の TCP の拡張機能を有効にする。
     573         ITRON TCP/IP API の TCP の拡張機能を有効にする。
    644574
    645575   (2)   MAX_TCP_SEG_SIZE
    646          TCP の最大セグメントサイズを指定する。 ただし、コネクション開
    647          è¨­æ™‚に交換する最大セグメントサイズとは異なる。 標準値は以下の
    648          å€¤ã§ã‚る。
     576         TCP の最大セグメントサイズを指定する。 ただし、コネクション開
     577         設時に交換する最大セグメントサイズとは異なる。 標準値は以下の
     578         値である。
    649579
    650580            (IF_MTU - (IP_HDR_SIZE + TCP_HDR_SIZE))
    651581
    652582   (3)   DEF_TCP_SND_SEG
    653          é€ä¿¡ã®æœ€å¤§ã‚»ã‚°ãƒ¡ãƒ³ãƒˆã‚µã‚¤ã‚ºã‚’指定する。 ただし、コネクション開
    654          è¨­æ™‚の同期セグメントで、相手から値が与えられた時は、 与えられ
    655          ãŸå€¤ã«èª¿æ•´ã•ã‚Œã‚‹ã€‚
     583         送信の最大セグメントサイズを指定する。 ただし、コネクション開
     584         設時の同期セグメントで、相手から値が与えられた時は、 与えられ
     585         た値に調整される。
    656586
    657587   (4)   DEF_TCP_RCV_SEG
    658          å—信の最大セグメントサイズを指定する。 TCP_CFG_MAX_SEG を指定
    659          ã—た場合は、コネクション開設時に、TCP の MSS オプションで相手
    660          ã«ä¼ãˆã‚‹ã€‚なお、RFC791 では、 ホストは少なくとも 576 オクテッ
    661          ãƒˆå—信できなければならないと規定されているので、 TCP ヘッダと
    662          IP ヘッダ分を引いた 536 以下にならないようにすべきである。
     588         受信の最大セグメントサイズを指定する。 TCP_CFG_MAX_SEG を指定
     589         した場合は、コネクション開設時に、TCP の MSS オプションで相手
     590         に伝える。なお、RFC791 では、 ホストは少なくとも 576 オクテッ
     591         ト受信できなければならないと規定されているので、 TCP ヘッダと
     592         IP ヘッダ分を引いた 536 以下にならないようにすべきである。
    663593
    664594   (5)   MAX_TCP_REALLOC_SIZE
    665          å—信したセグメントの順番をå
    666 ¥ã‚Œæ›¿ãˆã‚‹ã¨ãã€ 新たにネットワーク
    667          ãƒãƒƒãƒ•ã‚¡ã‚’割当てて、 データをコピーするサイズのしきい値。例え
    668          ã°ã€PPP では、 受信するまで、 オクテット数が不明のため、 最大
    669          PDU サイズのネットワークバッファを受信に使うが、 TCP の再構成
    670          ã‚­ãƒ¥ãƒ¼ã«ä¿ç•™ã•ã‚Œã¦ã—まうと、最大 PDU サイズのネットワークバッ
    671          ãƒ•ã‚¡ã‚’割当てることができなくなるため、 制限を設けている。
     595         受信したセグメントの順番を入れ替えるとき、 新たにネットワーク
     596         バッファを割当てて、 データをコピーするサイズのしきい値。例え
     597         ば、PPP では、 受信するまで、 オクテット数が不明のため、 最大
     598         PDU サイズのネットワークバッファを受信に使うが、 TCP の再構成
     599         キューに保留されてしまうと、最大 PDU サイズのネットワークバッ
     600         ファを割当てることができなくなるため、 制限を設けている。
    672601
    673602   (6)   TMO_TCP_GET_NET_BUF
    674          å˜ä½ã¯ [ms] で、 出力セグメント用ネットワークバッファの獲得タ
    675          ã‚¤ãƒ ã‚¢ã‚¦ãƒˆã‚’指定する。標準値は 1000 [ms] である。
     603         単位は [ms] で、 出力セグメント用ネットワークバッファの獲得タ
     604         イムアウトを指定する。標準値は 1000 [ms] である。
    676605
    677606   (7)   TMO_TCP_OUTPUT
    678          å˜ä½ã¯ [ms] で、TCP 出力タイムアウトを指定する。標準値は 1000
    679          [ms] である。
     607         単位は [ms] で、TCP 出力タイムアウトを指定する。標準値は 1000
     608         [ms] である。
    680609
    681610   (8)   TCP_CFG_MAX_SEG
    682          ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³é–‹è¨­æ™‚の同期セグメントに最大セグメントサイズオプ
    683          ã‚·ãƒ§ãƒ³ã‚’つけて送信する場合指定する。
     611         コネクション開設時の同期セグメントに最大セグメントサイズオプ
     612         ションをつけて送信する場合指定する。
    684613
    685614   (9)   TCP_CFG_DELAY_ACK
    686          ç¢ºèªå¿œç­”ã‚’é
    687 ã‚‰ã›ã‚‹å ´åˆæŒ‡å®šã™ã‚‹ã€‚
     615         確認応答を遅らせる場合指定する。
    688616
    689617   (10)  TCP_CFG_ALWAYS_KEEP
    690          å¸¸ã«ã‚­ãƒ¼ãƒ—アライブする場合指定する。
     618         常にキープアライブする場合指定する。
    691619
    692620   (11)  TCP_OUT_TASK_STACK_SIZE
    693          TCP 出力タスクのスタックサイズを指定する。
     621         TCP 出力タスクのスタックサイズを指定する。
    694622
    695623   (12)  TCP_OUT_TASK_PRIORITY
    696          TCP 出力タスクの優å
    697 ˆåº¦ã‚’指定する。
     624         TCP 出力タスクの優先度を指定する。
    698625
    699626   (13)  NUM_TCP_TW_CEP_ENTRY
    700          ã‚¿ã‚¹ã‚¯ã‹ã‚‰ Time Wait 状æ
    701 ‹ã® TCP 通信端点を分離する機能で、
    702          Time Wait 状æ
    703 ‹ã® TCP 通信端点のエントリ数を指定する。
     627         タスクから Time Wait 状態の TCP 通信端点を分離する機能で、
     628         Time Wait 状態の TCP 通信端点のエントリ数を指定する。
    704629
    705630   (14)  TCP_CFG_RWBUF_CSAVE_ONLY
    706          TCP 通信端点の受信ウィンドバッファの省コピー機能を組込み、 こ
    707          ã®æ©Ÿèƒ½ã®ã¿ä½¿ç”¨ã™ã‚‹ã€‚TCP 通信端点を生成する静的 API で、受信ウ
    708          ã‚¤ãƒ³ãƒ‰ãƒãƒƒãƒ•ã‚¡ã®å
    709 ˆé ­ã‚¢ãƒ‰ãƒ¬ã‚¹ã®æŒ‡å®šã«ã€ 応用プログラムå†
    710 ã®é
    711 åˆ—
    712          ã‚’指定しても無視する。
     631         TCP 通信端点の受信ウィンドバッファの省コピー機能を組込み、 こ
     632         の機能のみ使用する。TCP 通信端点を生成する静的 API で、受信ウ
     633         インドバッファの先頭アドレスの指定に、 応用プログラム内の配列
     634         を指定しても無視する。
    713635
    714636   (15)  TCP_CFG_RWBUF_CSAVE
    715          TCP 通信端点の受信ウィンドバッファの省コピー機能を組込む。TCP
    716          é€šä¿¡ç«¯ç‚¹ã‚’生成する静的 API で、受信ウインドバッファのå
    717 ˆé ­ã‚¢ãƒ‰
    718          ãƒ¬ã‚¹ã®æŒ‡å®šã«ã€å¿œç”¨ãƒ—ログラムå†
    719 ã®é
    720 åˆ—を指定した場合は、 受信ウィ
    721          ãƒ³ãƒ‰ãƒãƒƒãƒ•ã‚¡ã®çœã‚³ãƒ”ー機能を使用しない。
     637         TCP 通信端点の受信ウィンドバッファの省コピー機能を組込む。TCP
     638         通信端点を生成する静的 API で、受信ウインドバッファの先頭アド
     639         レスの指定に、応用プログラム内の配列を指定した場合は、 受信ウィ
     640         ンドバッファの省コピー機能を使用しない。
    722641
    723642   (16)  TCP_CFG_RWBUF_CSAVE_MAX_QUEUES
    724          TCP 通信端点の受信ウィンドバッファの省コピー機能の、 受信ウィ
    725          ãƒ³ãƒ‰ãƒãƒƒãƒ•ã‚¡ã‚­ãƒ¥ãƒ¼ã®æœ€å¤§ã‚¨ãƒ³ãƒˆãƒªæ•°ã€‚ ただし、正常に受信したセ
    726          ã‚°ãƒ¡ãƒ³ãƒˆã‚‚破棄するため、再送回数が増加する。また、 指定しない
    727          ã¨åˆ¶é™ã—ない。標準値は 2 である。
     643         TCP 通信端点の受信ウィンドバッファの省コピー機能の、 受信ウィ
     644         ンドバッファキューの最大エントリ数。 ただし、正常に受信したセ
     645         グメントも破棄するため、再送回数が増加する。また、 指定しない
     646         と制限しない。標準値は 2 である。
    728647
    729648   (17)  TCP_CFG_SWBUF_CSAVE_ONLY
    730          TCP 通信端点の送信ウィンドバッファの省コピー機能を組込み、 こ
    731          ã®æ©Ÿèƒ½ã®ã¿ä½¿ç”¨ã™ã‚‹ã€‚TCP 通信端点を生成する静的 API で、送信ウ
    732          ã‚¤ãƒ³ãƒ‰ãƒãƒƒãƒ•ã‚¡ã®å
    733 ˆé ­ã‚¢ãƒ‰ãƒ¬ã‚¹ã®æŒ‡å®šã«ã€ 応用プログラムå†
    734 ã®é
    735 åˆ—
    736          ã‚’指定しても無視する。
     649         TCP 通信端点の送信ウィンドバッファの省コピー機能を組込み、 こ
     650         の機能のみ使用する。TCP 通信端点を生成する静的 API で、送信ウ
     651         インドバッファの先頭アドレスの指定に、 応用プログラム内の配列
     652         を指定しても無視する。
    737653
    738654   (18)  TCP_CFG_SWBUF_CSAVE
    739          TCP 通信端点の送信ウィンドバッファの省コピー機能を組込む。TCP
    740          é€šä¿¡ç«¯ç‚¹ã‚’生成する静的 API で、送信ウインドバッファのå
    741 ˆé ­ã‚¢ãƒ‰
    742          ãƒ¬ã‚¹ã®æŒ‡å®šã«ã€ 応用プログラムå†
    743 ã®é
    744 åˆ—を指定した場合は、受信ウィ
    745          ãƒ³ãƒ‰ãƒãƒƒãƒ•ã‚¡ã®çœã‚³ãƒ”ー機能を使用しない。
     655         TCP 通信端点の送信ウィンドバッファの省コピー機能を組込む。TCP
     656         通信端点を生成する静的 API で、送信ウインドバッファの先頭アド
     657         レスの指定に、 応用プログラム内の配列を指定した場合は、受信ウィ
     658         ンドバッファの省コピー機能を使用しない。
    746659
    747660   (19)  TCP_CFG_SWBUF_CSAVE_MAX_SIZE
    748          TCP 通信端点の送信ウィンドバッファの省コピー機能で、 送信ウィ
    749          ãƒ³ãƒ‰ãƒãƒƒãƒ•ã‚¡ã«ä½¿ç”¨ã™ã‚‹ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒãƒƒãƒ•ã‚¡ã®æœ€å¤§ã‚µã‚¤ã‚ºã€‚ 標準
    750          å€¤ã¯ IF_PDU_SIZE である。
     661         TCP 通信端点の送信ウィンドバッファの省コピー機能で、 送信ウィ
     662         ンドバッファに使用するネットワークバッファの最大サイズ。 標準
     663         値は IF_PDU_SIZE である。
    751664
    752665   (20)  TCP_CFG_SWBUF_CSAVE_MIN_SIZE
    753          TCP 通信端点の送信ウィンドバッファの省コピー機能で、 送信ウィ
    754          ãƒ³ãƒ‰ãƒãƒƒãƒ•ã‚¡ã«ä½¿ç”¨ã™ã‚‹ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒãƒƒãƒ•ã‚¡ã®æœ€å¤§ã‚µã‚¤ã‚ºã€‚ 標準
    755          å€¤ã¯ 0 である。
     666         TCP 通信端点の送信ウィンドバッファの省コピー機能で、 送信ウィ
     667         ンドバッファに使用するネットワークバッファの最大サイズ。 標準
     668         値は 0 である。
    756669
    757670   (21)  TCP_CFG_NON_BLOCKING
    758          TCP のノンブロッキングコール機能を組込む。 ただし、 リリース
    759          1.2 との互換性のため、tinet/tinet_config.h に指定されており、
    760          æ—¢å®šã§ã¯çµ„込まれるようになっている。 指定を解除する場合は、
    761          tinet_app_config.h などで、 #undef により、マクロ指定を未定義
    762          ã«ã™ã‚‹ã€‚
     671         TCP のノンブロッキングコール機能を組込む。 ただし、 リリース
     672         1.2 との互換性のため、tinet/tinet_config.h に指定されており、
     673         既定では組込まれるようになっている。 指定を解除する場合は、
     674         tinet_app_config.h などで、 #undef により、マクロ指定を未定義
     675         にする。
    763676
    764677   (22)  TCP_CFG_TRACE
    765          TCP ヘッダのトレース出力機能を組込む。
     678         TCP ヘッダのトレース出力機能を組込む。
    766679
    767680   (23)  TCP_CFG_TRACE_IPV4_RADDR
    768          ãƒˆãƒ¬ãƒ¼ã‚¹å‡ºåŠ›å¯¾è±¡ã®ãƒªãƒ¢ãƒ¼ãƒˆãƒ›ã‚¹ãƒˆã® IPv4 アドレスを指定する。
    769          IPV4_ADDRANY を指定すると、å
    770 ¨ã¦ã®ãƒ›ã‚¹ãƒˆã‚’対象とする。
     681         トレース出力対象のリモートホストの IPv4 アドレスを指定する。
     682         IPV4_ADDRANY を指定すると、全てのホストを対象とする。
    771683
    772684   (24)  TCP_CFG_TRACE_LPORTNO
    773          ãƒˆãƒ¬ãƒ¼ã‚¹å‡ºåŠ›å¯¾è±¡ã®ãƒ­ãƒ¼ã‚«ãƒ«ãƒ›ã‚¹ãƒˆã®ãƒãƒ¼ãƒˆç•ªå·ã‚’指定する。
    774          TCP_PORTANY を指定すると、å
    775 ¨ã¦ã®ãƒãƒ¼ãƒˆç•ªå·ã‚’対象にする。
     685         トレース出力対象のローカルホストのポート番号を指定する。
     686         TCP_PORTANY を指定すると、全てのポート番号を対象にする。
    776687
    777688   (25)  TCP_CFG_TRACE_RPORTNO
    778          ãƒˆãƒ¬ãƒ¼ã‚¹å‡ºåŠ›å¯¾è±¡ã®ãƒªãƒ¢ãƒ¼ãƒˆãƒ›ã‚¹ãƒˆã®ãƒãƒ¼ãƒˆç•ªå·ã‚’指定する。
    779          TCP_PORTANY を指定すると、å
    780 ¨ã¦ã®ãƒãƒ¼ãƒˆç•ªå·ã‚’対象にする。
     689         トレース出力対象のリモートホストのポート番号を指定する。
     690         TCP_PORTANY を指定すると、全てのポート番号を対象にする。
    781691
    782692   (26)  TCP_CFG_URG_OFFSET
    783          ç·Šæ€¥ãƒ‡ãƒ¼ã‚¿ã®æœ€å¾Œã®ãƒã‚¤ãƒˆã®ã‚ªãƒ•ã‚»ãƒƒãƒˆã€å€¤ãŒ -1 の場合は BSD の
    784          å®Ÿè£
    785 ã¨åŒã˜ã§ã€ç·Šæ€¥ãƒã‚¤ãƒ³ã‚¿ã¯ã€ 緊急データの最後のバイトの次の
    786          ãƒã‚¤ãƒˆã‚’差す。 値が 0 の場合は RFC1122 の規定と同じで、緊急ポ
    787          ã‚¤ãƒ³ã‚¿ã¯ã€ç·Šæ€¥ãƒ‡ãƒ¼ã‚¿ã®æœ€å¾Œã®ãƒã‚¤ãƒˆã‚’差す。既定値は -1 である。
     693         緊急データの最後のバイトのオフセット、値が -1 の場合は BSD の
     694         実装と同じで、緊急ポインタは、 緊急データの最後のバイトの次の
     695         バイトを差す。 値が 0 の場合は RFC1122 の規定と同じで、緊急ポ
     696         インタは、緊急データの最後のバイトを差す。既定値は -1 である。
    788697
    789698   (27)  TCP_CFG_NON_BLOCKING_COMPAT14
    790          ITRON TCP/IP API の仕様に定義されているコールバック関数の引数
    791          p_parblk に関して、アドレス渡しが正しいが、TINET リリース 1.4
    792          ä»¥å‰ã§ã¯å€¤æ¸¡ã—としていた。TINET リリース 1.5 以降では、この実
    793          è£
    794 ä¸Šã®èª¤ã‚Šã‚’修正した。このため、TINET リリース 1.4 以前と互換
    795          æ€§ã‚’維持するため TCP_CFG_NON_BLOCKING_COMPAT14 を指定すると、
    796          UDP のコールバック関数の呼び出しで p_parblk を値渡しにする。
    797 
    798 16.  UDP 関係のパラメータ
     699         ITRON TCP/IP API の仕様に定義されているコールバック関数の引数
     700         p_parblk に関して、アドレス渡しが正しいが、TINET リリース 1.4
     701         以前では値渡しとしていた。TINET リリース 1.5 以降では、この実
     702         装上の誤りを修正した。このため、TINET リリース 1.4 以前と互換
     703         性を維持するため TCP_CFG_NON_BLOCKING_COMPAT14 を指定すると、
     704         UDP のコールバック関数の呼び出しで p_parblk を値渡しにする。
     705
     70616.  UDP 関係のパラメータ
    799707
    800708   (1)   UDP_CFG_EXTENTIONS
    801          ITRON TCP/IP API の UDP の拡張機能を有効にする。
     709         ITRON TCP/IP API の UDP の拡張機能を有効にする。
    802710
    803711   (2)   NUM_DTQ_UDP_RCVQ
    804          éžã‚³ãƒ¼ãƒ«ãƒãƒƒã‚¯ç”¨ UDP 受信キューのサイズを指定する。
     712         非コールバック用 UDP 受信キューのサイズを指定する。
    805713
    806714   (3)   TMO_UDP_OUTPUT
    807          å˜ä½ã¯ [ms] で、UDP 出力タイムアウトを指定する。標準値は 1000
    808          [ms] である。
     715         単位は [ms] で、UDP 出力タイムアウトを指定する。標準値は 1000
     716         [ms] である。
    809717
    810718   (4)   UDP_CFG_IN_CHECKSUM
    811          UDP のå
    812 ¥åŠ›ãƒã‚§ãƒƒã‚¯ã‚µãƒ ã®æ¤œæŸ»ã‚’行う場合、指定する。
     719         UDP の入力チェックサムの検査を行う場合、指定する。
    813720
    814721   (5)   UDP_CFG_OUT_CHECKSUM
    815          UDP の出力チェックサムの設定を行う場合、指定する。
     722         UDP の出力チェックサムの設定を行う場合、指定する。
    816723
    817724   (6)   UDP_CFG_NON_BLOCKING
    818          UDP のノンブロッキングコール機能を組込む。 ただし、 リリース
    819          1.2 との互換性のため、tinet/tinet_config.h に指定されており、
    820          æ—¢å®šã§ã¯çµ„込まれるようになっている。 指定を解除する場合は、
    821          tinet_app_config.h などで、#undef により、 マクロ指定を未定義
    822          ã«ã™ã‚‹ã€‚
     725         UDP のノンブロッキングコール機能を組込む。 ただし、 リリース
     726         1.2 との互換性のため、tinet/tinet_config.h に指定されており、
     727         既定では組込まれるようになっている。 指定を解除する場合は、
     728         tinet_app_config.h などで、#undef により、 マクロ指定を未定義
     729         にする。
    823730
    824731   (7)   NUM_DTQ_UDP_OUTPUT
    825          UDP 出力データキューサイズを指定する。 ただし、ノンブロッキン
    826          ã‚°ã‚³ãƒ¼ãƒ«ã‚’組込んだ時に有効である。
     732         UDP 出力データキューサイズを指定する。 ただし、ノンブロッキン
     733         グコールを組込んだ時に有効である。
    827734
    828735   (8)   UDP_OUT_TASK_STACK_SIZE
    829          UDP 出力タスクのスタックサイズを指定する。 ただし、ノンブロッ
    830          ã‚­ãƒ³ã‚°ã‚³ãƒ¼ãƒ«ã‚’組込んだ時に有効である。
     736         UDP 出力タスクのスタックサイズを指定する。 ただし、ノンブロッ
     737         キングコールを組込んだ時に有効である。
    831738
    832739   (9)   UDP_OUT_TASK_PRIORITY
    833          UDP 出力タスクの優å
    834 ˆåº¦ã‚’指定する。 ただし、ノンブロッキングコー
    835          ãƒ«ã‚’組込んだ時に有効である。
     740         UDP 出力タスクの優先度を指定する。 ただし、ノンブロッキングコー
     741         ルを組込んだ時に有効である。
    836742
    837743   (10)  UDP_CFG_NON_BLOCKING_COMPAT14
    838          ITRON TCP/IP API の仕様に定義されているコールバック関数の引数
    839          p_parblk に関して、アドレス渡しが正しいが、TINET リリース 1.4
    840          ä»¥å‰ã§ã¯å€¤æ¸¡ã—としていた。TINET リリース 1.5 以降では、この実
    841          è£
    842 ä¸Šã®èª¤ã‚Šã‚’修正した。このため、TINET リリース 1.4 以前と互換
    843          æ€§ã‚’維持するため UDP_CFG_NON_BLOCKING_COMPAT14 を指定すると、
    844          UDP のコールバック関数の呼び出しで p_parblk を値渡しにする。
     744         ITRON TCP/IP API の仕様に定義されているコールバック関数の引数
     745         p_parblk に関して、アドレス渡しが正しいが、TINET リリース 1.4
     746         以前では値渡しとしていた。TINET リリース 1.5 以降では、この実
     747         装上の誤りを修正した。このため、TINET リリース 1.4 以前と互換
     748         性を維持するため UDP_CFG_NON_BLOCKING_COMPAT14 を指定すると、
     749         UDP のコールバック関数の呼び出しで p_parblk を値渡しにする。
  • rubycfg_asp/trunk/asp_dcre/tinet/doc/tinet_defs.txt

    • Property svn:mime-type changed from text/plain to text/plane; charset=UTF-8
    r313 r315  
    1                   TCP/IP プロトコルスタック(TINET)
    2        ãƒªãƒªãƒ¼ã‚¹ 1.7、プロセッサ・システム依存定義[2015/12/19ï¼½
     1                  TCP/IP プロトコルスタック(TINET)
     2       リリース 1.7、プロセッサ・システム依存定義[2015/12/19]
    33
    4 1.  プロセッサ・システム依存定義について
     41.  プロセッサ・システム依存定義について
    55
    6   TINET を、多様なターゲットに対応するためのロセッサ・システム依存定義
    7 ã§ã€ä»¥ä¸‹ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’使用している。
     6  TINET を、多様なターゲットに対応するためのロセッサ・システム依存定義
     7で、以下のファイルを使用している。
    88
    99   (1)   tinet_defs.h
    10            TINET å
    11 ¨ä½“パラメータを定義し、 以下のファイルをインクルード
    12          ã—ている。TINET のルートディレクトリに置く。
     10           TINET 全体パラメータを定義し、 以下のファイルをインクルード
     11         している。TINET のルートディレクトリに置く。
    1312
    14    (2)   tinet_target_defs.h(TOPPERS/ASP)
    15            ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã«ä¾å­˜ã™ã‚‹ãƒ‘ラメータを定義する。 各システムのター
    16          ã‚²ãƒƒãƒˆä¾å­˜éƒ¨ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ç½®ãã€‚
     13   (2)   tinet_target_defs.h(TOPPERS/ASP)
     14           ターゲットに依存するパラメータを定義する。 各システムのター
     15         ゲット依存部のディレクトリに置く。
    1716
    18    (3)   tinet_cpu_defs.h(TOPPERS/JSP)
    19            ãƒ—ロセッサに依存するパラメータを定義する。config のプロセッ
    20          ã‚µç•¥ç§°ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ç½®ãã€‚
     17   (3)   tinet_cpu_defs.h(TOPPERS/JSP)
     18           プロセッサに依存するパラメータを定義する。config のプロセッ
     19         サ略称のディレクトリに置く。
    2120
    2221   (4)   tinet_nic_defs.h
    23            ã‚¤ãƒ¼ã‚µãƒãƒƒãƒˆã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã«ä¾å­˜ã™ã‚‹ãƒ‘ラメータを定義する。
    24          tinet/netdev のネットワークインタフェースのディレクトリに置く。
     22           イーサネットインタフェースに依存するパラメータを定義する。
     23         tinet/netdev のネットワークインタフェースのディレクトリに置く。
    2524
    26 2.  プロセッサに依存する定義
     252.  プロセッサに依存する定義
    2726
    2827   (1)   CPU_NET_ALIGN
    29            tinet_target_defs.h(TOPPERS/ASP)、 tinet_cpu_defs.h
    30          ï¼ˆTOPPERS/JSP)で定義する。プロセッサのアライメントに関する定
    31          ç¾©ã§ã‚る。 IP ヘッダ以降は 4 オクテット単位にアクセスする場合
    32          ãŒã‚り、IP ヘッダ以降を、4 オクテット単位で、アラインするå¿
    33 è¦
    34          ãŒã‚れば 4 を指定する。 この定義は、 ネットワークバッファ
    35          T_NET_BUF に反映される。
     28           tinet_target_defs.h(TOPPERS/ASP)、 tinet_cpu_defs.h
     29         (TOPPERS/JSP)で定義する。プロセッサのアライメントに関する定
     30         義である。 IP ヘッダ以降は 4 オクテット単位にアクセスする場合
     31         があり、IP ヘッダ以降を、4 オクテット単位で、アラインする必要
     32         があれば 4 を指定する。 この定義は、 ネットワークバッファ
     33         T_NET_BUF に反映される。
    3634
    37 3.  NIC に依存する定義
     353.  NIC に依存する定義
    3836
    3937   (1)   IF_ETHER_NIC_HDR_ALIGN
    40            tinet_nic_defs.h で定義する。4 オクテット単位にデータをå
    41 ¥å‡º
    42          åŠ›ã™ã‚‹ NIC もあるが、イーサネットヘッダは 14 オクテットのため、
    43          å‰ 2 オクテットをダミーにするå¿
    44 è¦ãŒã‚る。 このような NIC で、
    45          ã‚¤ãƒ¼ã‚µãƒãƒƒãƒˆãƒ˜ãƒƒãƒ€ T_ETHER_HDR で、アラインを調整する場合は、
    46          èª¿æ•´é‡ã‚’指定する。調整しない場合は、 0 を指定する。
     38           tinet_nic_defs.h で定義する。4 オクテット単位にデータを入出
     39         力する NIC もあるが、イーサネットヘッダは 14 オクテットのため、
     40         前 2 オクテットをダミーにする必要がある。 このような NIC で、
     41         イーサネットヘッダ T_ETHER_HDR で、アラインを調整する場合は、
     42         調整量を指定する。調整しない場合は、 0 を指定する。
    4743
    4844   (2)   IF_PDU_HDR_PADDING
    49            tinet_nic_defs.h で定義する。 T_NET_BUF_IF_PDU で、フレーム
    50          ã®çµ‚わりの境界の調整量を指定する。例えば、 イーサネットのフレー
    51          ãƒ é•·ï¼ˆCRC を除く)の 1,514 オクテットを、 16 オクテット境界に
    52          èª¿æ•´ã™ã‚‹å ´åˆã¯ã€ 16 オクテットの倍数である 1,520 オクテットか
    53          ã‚‰ã®å·®åˆ† 6 を指定する。
     45           tinet_nic_defs.h で定義する。 T_NET_BUF_IF_PDU で、フレーム
     46         の終わりの境界の調整量を指定する。例えば、 イーサネットのフレー
     47         ム長(CRC を除く)の 1,514 オクテットを、 16 オクテット境界に
     48         調整する場合は、 16 オクテットの倍数である 1,520 オクテットか
     49         らの差分 6 を指定する。
    5450
    5551   (3)   IF_ETHER_NIC_NET_BUF_ALIGN
    56            tinet_nic_defs.h で定義する。ネットワークバッファで、アライ
    57          ãƒ³ã‚’調整する場合は、 調整量を指定する。調整しない場合は、定義
    58          ã—ない。
     52           tinet_nic_defs.h で定義する。ネットワークバッファで、アライ
     53         ンを調整する場合は、 調整量を指定する。調整しない場合は、定義
     54         しない。
  • rubycfg_asp/trunk/asp_dcre/tinet/doc/tinet_sample.txt

    • Property svn:mime-type changed from text/plain to text/plane; charset=UTF-8
    r313 r315  
    1                   TCP/IP プロトコルスタック(TINET)
    2         サンプルアプリケーション(リリース 1.7)[2017/5/15ï¼½
    3 
    4 1.  サンプルアプリケーション
    5 
    6   サンプルとして、以下のアプリケーションを提供している。【】å†
    7 ã¯ã€ã‚¢ãƒ—
    8 ãƒªã‚±ãƒ¼ã‚·ãƒ§ãƒ³åã€å¯¾å¿œã™ã‚‹ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯å±¤ã€‘である。IPv64 はネットワーク層
    9 ã¨ã—て IPv6 と IPv4 の両方を使用することを意味しており、 IPv64m は、
    10 IPv4 は IPv6 の IPv4 射影アドレスにより実è£
    11 ã—ている。
    12 
    13    (1)   IPv6 TCP ECHO サーバ【echos6、IPv6】
    14            ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¢ãƒ—リケーションにå¿
    15 è¦ãªå„ファイルの設定方法の
    16          å‚考となる、 TCP エコーサーバ機能のみのシンプルなアプリケーショ
    17          ãƒ³ã§ã‚る。
    18    (2)   IPv4 TCP ECHO サーバ【echos4、IPv4】
    19            ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¢ãƒ—リケーションにå¿
    20 è¦ãªå„ファイルの設定方法の
    21          å‚考となる、 TCP エコーサーバ機能のみのシンプルなアプリケーショ
    22          ãƒ³ã§ã‚る。
    23    (3)   IPv6 UDP ECHO サーバ【usrv6、IPv6】
    24            ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¢ãƒ—リケーションにå¿
    25 è¦ãªå„ファイルの設定方法の
    26          å‚考となる、 UDP エコーサーバ機能のみのシンプルなアプリケーショ
    27          ãƒ³ã§ã‚る。
    28    (4)   IPv4 UDP ECHO サーバ【usrv4、IPv4】
    29            ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¢ãƒ—リケーションにå¿
    30 è¦ãªå„ファイルの設定方法の
    31          å‚考となる、 UDP エコーサーバ機能のみのシンプルなアプリケーショ
    32          ãƒ³ã§ã‚る。
    33    (5)   ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã‚µãƒ¼ãƒãƒ»ã‚»ãƒƒãƒˆã€nserv、IPv64/IPv6/IPv64m/IPv4】
    34            ä»¥ä¸‹ã«ç¤ºã™ã‚µãƒ¼ãƒãŒæä¾›ã•ã‚Œã¦ãŠã‚Šã€ å¿
    35 è¦ã«å¿œã˜ã¦çµ„み込むサー
    36          ãƒã‚’選択できる。
    37 
    38             [1]   WWW サーバ
    39             [2]   TCP エコーサーバ
    40             [3]   UDP エコーサーバ
    41             [4]   TCP ディスカードサーバ
    42             [5]   ç°¡æ˜“コンソール
    43 
    44          ã¾ãŸã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¨ã—ては以下の機能が提供されており、 å¿
    45 è¦ã«
    46          å¿œã˜ã¦çµ„み込むクライアントを選択できる。
    47 
    48             [1]   TCP エコークライアント
    49             [2]   UDP エコークライアント
    50             [3]   TCP ディスカードクライアント
    51             [4]   UDP ディスカードクライアント
    52             [5]   DNS リゾルバー
    53             [6]   DHCPv6 クライアント
    54             [7]   DHCPv4 クライアント
     1                  TCP/IP プロトコルスタック(TINET)
     2        サンプルアプリケーション(リリース 1.7)[2017/5/15]
     3
     41.  サンプルアプリケーション
     5
     6  サンプルとして、以下のアプリケーションを提供している。【】内は【アプ
     7リケーション名、対応するネットワーク層】である。IPv64 はネットワーク層
     8として IPv6 と IPv4 の両方を使用することを意味しており、 IPv64m は、
     9IPv4 は IPv6 の IPv4 射影アドレスにより実装している。
     10
     11   (1)   IPv6 TCP ECHO サーバ【echos6、IPv6】
     12           ネットワークアプリケーションに必要な各ファイルの設定方法の
     13         参考となる、 TCP エコーサーバ機能のみのシンプルなアプリケーショ
     14         ンである。
     15   (2)   IPv4 TCP ECHO サーバ【echos4、IPv4】
     16           ネットワークアプリケーションに必要な各ファイルの設定方法の
     17         参考となる、 TCP エコーサーバ機能のみのシンプルなアプリケーショ
     18         ンである。
     19   (3)   IPv6 UDP ECHO サーバ【usrv6、IPv6】
     20           ネットワークアプリケーションに必要な各ファイルの設定方法の
     21         参考となる、 UDP エコーサーバ機能のみのシンプルなアプリケーショ
     22         ンである。
     23   (4)   IPv4 UDP ECHO サーバ【usrv4、IPv4】
     24           ネットワークアプリケーションに必要な各ファイルの設定方法の
     25         参考となる、 UDP エコーサーバ機能のみのシンプルなアプリケーショ
     26         ンである。
     27   (5)   クライアントサーバ・セット【nserv、IPv64/IPv6/IPv64m/IPv4】
     28           以下に示すサーバが提供されており、 必要に応じて組み込むサー
     29         バを選択できる。
     30
     31            [1]   WWW サーバ
     32            [2]   TCP エコーサーバ
     33            [3]   UDP エコーサーバ
     34            [4]   TCP ディスカードサーバ
     35            [5]   簡易コンソール
     36
     37         また、クライアントとしては以下の機能が提供されており、 必要に
     38         応じて組み込むクライアントを選択できる。
     39
     40            [1]   TCP エコークライアント
     41            [2]   UDP エコークライアント
     42            [3]   TCP ディスカードクライアント
     43            [4]   UDP ディスカードクライアント
     44            [5]   DNS リゾルバー
     45            [6]   DHCPv6 クライアント
     46            [7]   DHCPv4 クライアント
    5547            [8]   ping
    5648
    57    (6)   TOPPERS ASP/JSP サンプルプログラム sample1 のネットワーク対応
    58          ãƒ—ログラム【sample1n、IPv6/IPv4】
    59            TOPPERS/ASP と TOPPERS/JSP のサンプルプログラム sample1 の
    60          ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯å¯¾å¿œãƒ—ログラムである。telnet で接続すると、シリア
    61          ãƒ«ã®å
    62 ¥å‡ºåŠ›ã‚’引き継いで実行する。切断すると、 å
    63 ƒã®ã‚·ãƒªã‚¢ãƒ«ã«å
    64 ¥
    65          å‡ºåŠ›ã‚’戻す。
    66    (7)   æœ€å°æ§‹æˆã‚µãƒ¼ãƒã€minsv、IPv4】
    67            WWW サーバ・タスクと TCP エコーサーバ・タスクのみからなる最
    68          å°æ§‹æˆã®ã‚µãƒ¼ãƒã§ã‚る。H8/3069F がå†
    69 è”µã—ている RAM(16K バイト)
    70          ã¨ ROM(512K バイト)に収まり、外部メモリは不要である。現在は、
    71          å“å·é€šä¿¡è¨ˆè£
    72 ã‚µãƒ¼ãƒ“ス製 NKEV-010H8(TOPPERS/JSP リリース 1.4.2
    73          ã®ã¿ï¼‰ã¨ç§‹æœˆé›»å­é€šå•†è£½ H8/3069F(TOPPERS/JSP リリース 1.4.1
    74          ä»¥é™ã¨ TOPPERS/ASP)のシステムに対応している。
    75 
    76 2.  サンプルアプリケーションの構築
    77 
    78   TINET サンプルアプリケーションの構築は、 TOPPERS/ASP 環境と
    79 TOPPERS/JSP 環境におけるのサンプルアプリケーションの構築とほぼ同じであ
    80 ã‚‹ã€‚
    81 
    82    (1)   TINET コンフィギュレーションスクリプトの実行
    83            TINET サンプルアプリケーションの構築用ディレクトリを作成し、
    84          TINET コンフィギュレーションスクリプトを実行する。
    85 
    86          [1]   TOPPERS/ASP 用 TINET コンフィギュレーションスクリプトの
    87                å®Ÿè¡Œ
     49   (6)   TOPPERS ASP/JSP サンプルプログラム sample1 のネットワーク対応
     50         プログラム【sample1n、IPv6/IPv4】
     51           TOPPERS/ASP と TOPPERS/JSP のサンプルプログラム sample1 の
     52         ネットワーク対応プログラムである。telnet で接続すると、シリア
     53         ルの入出力を引き継いで実行する。切断すると、 元のシリアルに入
     54         出力を戻す。
     55   (7)   最小構成サーバ【minsv、IPv4】
     56           WWW サーバ・タスクと TCP エコーサーバ・タスクのみからなる最
     57         小構成のサーバである。H8/3069F が内蔵している RAM(16K バイト)
     58         と ROM(512K バイト)に収まり、外部メモリは不要である。現在は、
     59         品川通信計装サービス製 NKEV-010H8(TOPPERS/JSP リリース 1.4.2
     60         のみ)と秋月電子通商製 H8/3069F(TOPPERS/JSP リリース 1.4.1
     61         以降と TOPPERS/ASP)のシステムに対応している。
     62
     632.  サンプルアプリケーションの構築
     64
     65  TINET サンプルアプリケーションの構築は、 TOPPERS/ASP 環境と
     66TOPPERS/JSP 環境におけるのサンプルアプリケーションの構築とほぼ同じであ
     67る。
     68
     69   (1)   TINET コンフィギュレーションスクリプトの実行
     70           TINET サンプルアプリケーションの構築用ディレクトリを作成し、
     71         TINET コンフィギュレーションスクリプトを実行する。
     72
     73         [1]   TOPPERS/ASP 用 TINET コンフィギュレーションスクリプトの
     74               実行
    8875
    8976                  $ mkdir NETOBJ
     
    9279                                                      -i ether -v if_ed -n inet6 -s tcp
    9380
    94                ã‚ªãƒ—ション(-T、-A、-a、-U、-L、-f、-D、-l、-t、-d、 -r、
    95                -p、 -g)は、TOPPERS/ASP コンフィギュレーションスクリプ
    96                ãƒˆã¨åŒã˜ã§ã‚る。 TOPPERS/ASP カーネルユーザーズマニュア
    97                ãƒ«ï¼ˆuser.txt)の「 5.コンフィギュレーションスクリプト
    98                ã®ä½¿ã„æ–¹ 」を参ç
    99 §ã™ã‚‹ã“と。その他のオプションについては、
    100                ã€Œ9.2 TINET コンフィギュレーションスクリプトのオプショ
    101                ãƒ³ 」を参ç
    102 §ã™ã‚‹ã“と。
    103                  ã‚¢ãƒ—リケーションとカーネルを別ã€
    104 ã«æ§‹ç¯‰ã™ã‚‹æ–¹æ³•ã«ã¤ã„
    105                ã¦ã¯ã€ TOPPERS/ASP 環境におけるサンプルアプリケーション
    106                ã®æ§‹ç¯‰ã¨åŒã˜ã§ã‚る。 TOPPERS/ASP カーネルユーザーズマニュ
    107                ã‚¢ãƒ«ï¼ˆuser.txt)の「3.5 アプリケーションとカーネルを別
    108                ã€
    109 ã«æ§‹ç¯‰ã™ã‚‹æ–¹æ³• 」を参ç
    110 §ã™ã‚‹ã“と。
    111          [2]   TOPPERS/JSP 用 TINET コンフィギュレーションスクリプトの実行
     81               オプション(-T、-A、-a、-U、-L、-f、-D、-l、-t、-d、 -r、
     82               -p、 -g)は、TOPPERS/ASP コンフィギュレーションスクリプ
     83               トと同じである。 TOPPERS/ASP カーネルユーザーズマニュア
     84               ル(user.txt)の「 5.コンフィギュレーションスクリプト
     85               の使い方 」を参照すること。その他のオプションについては、
     86               「9.2 TINET コンフィギュレーションスクリプトのオプショ
     87               ン 」を参照すること。
     88                 アプリケーションとカーネルを別々に構築する方法につい
     89               ては、 TOPPERS/ASP 環境におけるサンプルアプリケーション
     90               の構築と同じである。 TOPPERS/ASP カーネルユーザーズマニュ
     91               アル(user.txt)の「3.5 アプリケーションとカーネルを別
     92               々に構築する方法 」を参照すること。
     93         [2]   TOPPERS/JSP 用 TINET コンフィギュレーションスクリプトの実行
    11294
    11395                  $ mkdir NETOBJ
     
    11698                                                      -i ether -v if_ed -n inet6 -s tcp
    11799
    118                ã‚ªãƒ—ション(-C、 -S、-T、-A、-U、-L、-D、-P、-p、-l)は、
    119                TOPPERS/JSP コンフィギュレーションスクリプトと同じであ
    120                ã‚‹ã€‚ TOPPERS/JSP カーネルユーザーズマニュアル(user.txt)
    121                ã®ã€Œ 7.6 コンフィギュレーションスクリプトの使い方 」を
    122                å‚ç
    123 §ã™ã‚‹ã“と。 その他のオプションについては、「TINET コ
    124                ãƒ³ãƒ•ã‚£ã‚®ãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã‚¹ã‚¯ãƒªãƒ—トのオプション 」を参ç
    125 §ã™ã‚‹ã“と。
    126                  ã‚¢ãƒ—リケーションとカーネルを別ã€
    127 ã«æ§‹ç¯‰ã™ã‚‹æ–¹æ³•ã«ã¤ã„
    128                ã¦ã¯ã€ TOPPERS/JSP 環境におけるサンプルアプリケーション
    129                ã®æ§‹ç¯‰ã¨åŒã˜ã§ã‚る。 TOPPERS/JSP カーネルユーザーズマニュ
    130                ã‚¢ãƒ«ï¼ˆuser.txt)の「7.5 アプリケーションとカーネルを別
    131                ã€
    132 ã«æ§‹ç¯‰ã™ã‚‹æ–¹æ³• 」を参ç
    133 §ã™ã‚‹ã“と。
    134 
    135            ä¸Šè¨˜ã®ä¾‹ã§ã€TOPPERS/ASP 環境と TOPPERS/JSP 環境のいずれの場
    136          åˆã‚‚、ディレクトリ NETOBJ に以下のファイルが生成される。
     100               オプション(-C、 -S、-T、-A、-U、-L、-D、-P、-p、-l)は、
     101               TOPPERS/JSP コンフィギュレーションスクリプトと同じであ
     102               る。 TOPPERS/JSP カーネルユーザーズマニュアル(user.txt)
     103               の「 7.6 コンフィギュレーションスクリプトの使い方 」を
     104               参照すること。 その他のオプションについては、「TINET コ
     105               ンフィギュレーションスクリプトのオプション 」を参照すること。
     106                 アプリケーションとカーネルを別々に構築する方法につい
     107               ては、 TOPPERS/JSP 環境におけるサンプルアプリケーション
     108               の構築と同じである。 TOPPERS/JSP カーネルユーザーズマニュ
     109               アル(user.txt)の「7.5 アプリケーションとカーネルを別
     110               々に構築する方法 」を参照すること。
     111
     112           上記の例で、TOPPERS/ASP 環境と TOPPERS/JSP 環境のいずれの場
     113         合も、ディレクトリ NETOBJ に以下のファイルが生成される。
    137114
    138115            Makefile                Makefile
    139             echos6.c                サンプルプログラム本体
    140             echos6.h                サンプルプログラムのヘッダファイル
    141             echos6.cfg              サンプルプログラム用 ASP コンフィ
    142                                     ギュレーションファイル
    143             tinet_echos6.cfg        サンプルプログラム用 TINET コンフィ
    144                                     ギュレーションファイル
    145             route_cfg.c             ã‚µãƒ³ãƒ—ルプログラム用ルーティング表
    146             tinet_app_config.h      サンプルプログラム用コンパイル時指
    147                                     定コンフィギュレーション
    148 
    149          å¿
    150 è¦ã§ã‚れば、 Makefile を修正する。 修正については、
    151          TOPPERS/ASP 環境では「7.3 アプリケーションの Makefile」、
    152          TOPPERS/JSP 環境では「8.3 アプリケーションの Makefile」を参ç
    153 §
    154          ã™ã‚‹ã“と。
    155            ä»¥ä¸‹ã®ã‚µãƒ³ãƒ—ルアプリケーションでは、構築上の注意がある。 各
    156          ç« ã‚’参ç
    157 §ã™ã‚‹ã“と。
    158 
    159             [1]   ã€Œ9.3 クライアントサーバ・セット」
    160             [2]   ã€Œ9.4 TOPPERS ASP/JSP サンプルプログラム sample1 の
    161                   ネットワーク対応プログラム」
    162             [3]   ã€Œ9.5 最小構成サーバ」
    163 
    164    (2)   tinet_app_config.h の設定
    165            IPv4 の場合、 IP アドレス、サブネットマスク、ディフォルトゲー
    166          ãƒˆã‚¦ã‚§ã‚¤ã‚’指定する。
     116            echos6.c                サンプルプログラム本体
     117            echos6.h                サンプルプログラムのヘッダファイル
     118            echos6.cfg              サンプルプログラム用 ASP コンフィ
     119                                    ギュレーションファイル
     120            tinet_echos6.cfg        サンプルプログラム用 TINET コンフィ
     121                                    ギュレーションファイル
     122            route_cfg.c             サンプルプログラム用ルーティング表
     123            tinet_app_config.h      サンプルプログラム用コンパイル時指
     124                                    定コンフィギュレーション
     125
     126         必要であれば、 Makefile を修正する。 修正については、
     127         TOPPERS/ASP 環境では「7.3 アプリケーションの Makefile」、
     128         TOPPERS/JSP 環境では「8.3 アプリケーションの Makefile」を参照
     129         すること。
     130           以下のサンプルアプリケーションでは、構築上の注意がある。 各
     131         章を参照すること。
     132
     133            [1]   「9.3 クライアントサーバ・セット」
     134            [2]   「9.4 TOPPERS ASP/JSP サンプルプログラム sample1 の
     135                  ネットワーク対応プログラム」
     136            [3]   「9.5 最小構成サーバ」
     137
     138   (2)   tinet_app_config.h の設定
     139           IPv4 の場合、 IP アドレス、サブネットマスク、ディフォルトゲー
     140         トウェイを指定する。
    167141
    168142         [1]   IPV4_ADDR_LOCAL
    169                è‡ªåˆ†ã® IP アドレスを指定する。ただし、 PPP を使用すると
    170                ãã€ç›¸æ‰‹ã«å‰²å½“ててもらう場合は 0 を指定すること。なお、
    171                PPP は参考実è£
    172 ã§ã‚る。
     143               自分の IP アドレスを指定する。ただし、 PPP を使用すると
     144               き、相手に割当ててもらう場合は 0 を指定すること。なお、
     145               PPP は参考実装である。
    173146         [2]   IPV4_ADDR_REMOTE
    174                ç›¸æ‰‹ã® IP アドレスを指定する。 ただし、PPP を使用すると
    175                ãã€ç›¸æ‰‹ã«å‰²å½“ててもらう場合は 0 を指定すること。なお、
    176                PPP は参考実è£
    177 ã§ã‚る。
     147               相手の IP アドレスを指定する。 ただし、PPP を使用すると
     148               き、相手に割当ててもらう場合は 0 を指定すること。なお、
     149               PPP は参考実装である。
    178150         [3]   IPV4_ADDR_LOCAL_MASK
    179                ã‚µãƒ–ネットマスクを指定する。ただし、 ネットワークインタ
    180                ãƒ•ã‚§ãƒ¼ã‚¹ãŒã‚¤ãƒ¼ã‚µãƒãƒƒãƒˆã®ã¨ãæœ‰åŠ¹ã§ã‚る。
     151               サブネットマスクを指定する。ただし、 ネットワークインタ
     152               フェースがイーサネットのとき有効である。
    181153         [4]   IPV4_ADDR_DEFAULT_GW
    182                ãƒ‡ã‚£ãƒ•ã‚©ãƒ«ãƒˆã‚²ãƒ¼ãƒˆã‚¦ã‚§ã‚¤ã‚’指定する。ただし、 ネットワー
    183                ã‚¯ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ãŒã‚¤ãƒ¼ã‚µãƒãƒƒãƒˆã®ã¨ãæœ‰åŠ¹ã§ã‚る。
    184 
    185    (3)   route_cfg.c の設定
    186            ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ãŒã‚¤ãƒ¼ã‚µãƒãƒƒãƒˆã®å ´åˆã¯ã€ ルーティ
    187          ãƒ³ã‚°è¡¨ routing_tbl を設定する。ただし、ディフォルトゲートウェ
    188          ã‚¤ã®ã¿ã®ã‚·ãƒ³ãƒ—ルなネットワークでは、 変更するå¿
    189 è¦ã¯ãªã„。
    190 
    191    (4)   ã‚µãƒ³ãƒ—ルプログラムのコンパイル・リンク
    192            TINET サンプルアプリケーションの構築用ディレクトリで、 サン
    193          ãƒ—ルプログラムをコンパイル・リンクする。 コンパイル・リンクの
    194          æ–¹æ³•ã‚’以下に示す。
     154               ディフォルトゲートウェイを指定する。ただし、 ネットワー
     155               クインタフェースがイーサネットのとき有効である。
     156
     157   (3)   route_cfg.c の設定
     158           ネットワークインタフェースがイーサネットの場合は、 ルーティ
     159         ング表 routing_tbl を設定する。ただし、ディフォルトゲートウェ
     160         イのみのシンプルなネットワークでは、 変更する必要はない。
     161
     162   (4)   サンプルプログラムのコンパイル・リンク
     163           TINET サンプルアプリケーションの構築用ディレクトリで、 サン
     164         プルプログラムをコンパイル・リンクする。 コンパイル・リンクの
     165         方法を以下に示す。
    195166
    196167            $ make depend
    197168            $ make
    198169
    199 3.  TINET コンフィギュレーションスクリプトのオプション
    200 
    201 3. 1  TOPPERS/APS 用 TINET コンフィギュレーションスクリプトのオプション
    202 
    203   TOPPERS/ASP 環境では、オプション(-T、-A、-a、-U、-L、-f、-D、-l、-d、
    204 -r、-p、-g)は、TOPPERS/ASP コンフィギュレーションスクリプトと同じであ
    205 ã‚‹ã€‚ TOPPERS/ASP 用 TINET コンフィギュレーションスクリプト特有のオプショ
    206 ãƒ³ã‚’以下に示す。
    207 
    208    -e <tinetdir>             TINET のソースの置かれているディレクトリ
    209    -i <net_if>               ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ï¼ˆå¿
    210 é ˆï¼‰
    211                              <net_if> には ether、ppp、loop の何れかを
    212                              æŒ‡å®šã™ã‚‹ã€‚
    213 
    214    -v <net_dev>              イーサネット・ディバイスドライバ
    215                              ï¼ˆãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã« ether を指
    216                              å®šã—た場合はå¿
    217 é ˆï¼‰
    218    -n <net_proto>            ネットワーク層プロトコル(å¿
    219 é ˆï¼‰
    220                              <net_proto> に指定できるプロトコルを以下
    221                              ã«ç¤ºã™ã€‚
    222 
    223                              inet6               IPv6 のみ
    224                              inet4               IPv4 のみ
    225                              inet6/inet4         IPv6/IPv4 の両方
    226                                                 (デュアルスタック)
    227                              inet6m              IPv6 のみで、 IPv4 射
    228                                                  å½±ã‚¢ãƒ‰ãƒ¬ã‚¹æŒ‡å®šå¯èƒ½
    229                              inet6m/inet4        IPv6/IPv4 の両方と
    230                                                  IPv4 射影アドレス指定可能
    231 
    232    -s <trans_proto>          トランスポート層プロトコル(å¿
    233 é ˆï¼‰
    234                              <trans_proto> には tcp、udp、tcp/udp の何
    235                              ã‚Œã‹ã‚’指定する。
    236    -t <templatedir>          TINET テンプレートディレクトリ
    237                              ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã¯ tinet/asp_sample である。 な
    238                              ãŠã€ TOPPERS/ASP の同じオプションのデフォ
    239                              ãƒ«ãƒˆã¯ sample である。
    240    -m <asptemplatedir>       ASP テンプレートディレクトリ
    241                              ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã¯ sample である。
    242 
    243 3. 2  TOPPERS/JPS 用 TINET コンフィギュレーションスクリプトのオプション
    244 
    245   TOPPERS/JSP 環境では、オプション(-C、-S、-T、-A、-U、-L、-D、-P、-p、
    246 -l)は、 TOPPERS/JSP コンフィギュレーションスクリプトと同じである。
    247 TOPPERS/ASP 用 TINET コンフィギュレーションスクリプト特有のオプション
    248 ã‚’以下に示す。
    249 
    250    -e <tinetdir>             TINET のソースの置かれているディレクトリ
    251    -i <net_if>               ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ï¼ˆå¿
    252 é ˆï¼‰
    253                              <net_if> には ether、ppp、loop の何れかを
    254                              æŒ‡å®šã™ã‚‹ã€‚
    255    -v <net_dev>              イーサネット・ディバイスドライバ
    256                              ï¼ˆãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã« ether を指
    257                              å®šã—た場合はå¿
    258 é ˆï¼‰
    259    -n <net_proto>            ネットワーク層プロトコル(å¿
    260 é ˆï¼‰
    261                              <net_proto> に指定できるプロトコルを以下
    262                              ã«ç¤ºã™ã€‚
    263 
    264                              inet6               IPv6 のみ
    265                              inet4               IPv4 のみ
    266                              inet6/inet4         IPv6/IPv4 の両方
    267                                                 (デュアルスタック)
    268                              inet6m              IPv6 のみで、 IPv4 射
    269                                                  å½±ã‚¢ãƒ‰ãƒ¬ã‚¹æŒ‡å®šå¯èƒ½
    270                              inet6m/inet4        IPv6/IPv4 の両方と
    271                                                  IPv4 射影アドレス指定
    272                                                  å¯èƒ½
    273 
    274    -s <trans_proto>          トランスポート層プロトコル(å¿
    275 é ˆï¼‰
    276                              <trans_proto> には tcp、udp、tcp/udp の何
    277                              ã‚Œã‹ã‚’指定する。
    278    -d <dir>                  TINET テンプレートディレクトリ
    279                              ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã¯ tinet/jsp_sample である。 な
    280                              ãŠã€ TOPPERS/JSP の同じオプションのデフォ
    281                              ãƒ«ãƒˆã¯ sample である。
    282    -m <jsptemplatedir>       JSP テンプレートディレクトリ
    283                              ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã¯ sample である。
    284 
    285 4.  クライアントサーバ・セットの構築
    286 
    287   以下に示すサーバが提供されており、å¿
    288 è¦ã«å¿œã˜ã¦çµ„み込むサーバを選択で
    289 ãã‚‹ã€‚()å†
    290 ã¯ã€tinet/netapp å†
    291 ã«ã‚るソースファイル名である。なお、 ディ
    292 ãƒ•ã‚©ãƒ«ãƒˆã§ã€ ITRON TCP/IP API 仕様の TCP と UDP の拡張機能が組込まれて
    293 ã„るので、「9.3.2 簡易コンソールのコマンド 」の wtw (wtw4)、wte (wte4)、
    294 wue、wtd コマンドで、それぞれのサーバ・タスクを起動するå¿
    295 è¦ãŒã‚る。
    296 
    297    [1]   WWW サーバ・タスク(wwws.c)
    298          ãƒ«ãƒ¼ãƒˆãƒšãƒ¼ã‚¸ã®ä»–に、ネットワーク統計æƒ
    299 å ±ã‚’表示する 2 ページか
    300          ã‚‰æ§‹æˆã•ã‚Œã€ã‚¿ã‚¹ã‚¯æ•°ã¯æœ€å¤§ 2 である。
    301    [2]   TCP エコーサーバ・タスク
    302          tcp_echo_srv1.c と tcp_echo_srv2.c のどちらかを選択する。
    303          tcp_echo_srv1.c を選択した場合、省コピー API を使用して、ノン
    304          ãƒ–ロッキングコールを使用しない時は、タスク数を 8 まで指定可能
    305          ã§ã‚る。
    306    [3]   UDP エコーサーバ・タスク(udp_echo_srv.c)
    307    [4]   TCP ディスカードサーバ・タスク(tcp_discard_srv.c)
    308    [5]   ç°¡æ˜“コンソール・タスク(dbg_cons.c)
    309          ã‚·ãƒªã‚¢ãƒ«ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã ã‘でなく、telnet プロトコルを使用して、
    310          ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯çµŒç”±ã§åˆ©ç”¨ã™ã‚‹ã“とも可能である。telnet で接続する
    311          ã¨ã€ã‚·ãƒªã‚¢ãƒ«ã®å
    312 ¥å‡ºåŠ›ã‚’引き継いで実行する。切断すると、 å
    313 ƒã®ã‚·
    314          ãƒªã‚¢ãƒ«ã«å
    315 ¥å‡ºåŠ›ã‚’戻す。 ただし、TCP のノンブロッキングコールを
    316          çµ„込むå¿
    317 è¦ãŒã‚る。
    318 
    319 ã¾ãŸã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¨ã—ては以下の機能が提供されており、å¿
    320 è¦ã«å¿œã˜ã¦çµ„み
    321 è¾¼ã‚€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã‚’選択できる。
    322 
    323    [1]   TCP エコークライアント・タスク(tcp_echo_cli.c)
    324    [2]   UDP エコークライアント・タスク(udp_echo_cli.c)
    325    [3]   TCP ディスカードクライアント・タスク(tcp_discard_cli.c)
    326    [4]   UDP ディスカードクライアント・タスク(udp_discard_cli.c)
    327    [5]   ping(ping.c)
    328 
    329 4. 1  Makefile の設定
    330 
    331    (1)   çµ„込む機能の選択
    332 
    333          [1]   TCP の受信ウィンドバッファの省コピー機能
    334                  ã‚µãƒ³ãƒ—ルアプリケーションで、 TCP の受信ウィンドバッファ
    335                ã®çœã‚³ãƒ”ー機能を組込む場合は、
     1703.  TINET コンフィギュレーションスクリプトのオプション
     171
     1723. 1  TOPPERS/APS 用 TINET コンフィギュレーションスクリプトのオプション
     173
     174  TOPPERS/ASP 環境では、オプション(-T、-A、-a、-U、-L、-f、-D、-l、-d、
     175-r、-p、-g)は、TOPPERS/ASP コンフィギュレーションスクリプトと同じであ
     176る。 TOPPERS/ASP 用 TINET コンフィギュレーションスクリプト特有のオプショ
     177ンを以下に示す。
     178
     179   -e <tinetdir>             TINET のソースの置かれているディレクトリ
     180   -i <net_if>               ネットワークインタフェース(必須)
     181                             <net_if> には ether、ppp、loop の何れかを
     182                             指定する。
     183
     184   -v <net_dev>              イーサネット・ディバイスドライバ
     185                             (ネットワークインタフェースに ether を指
     186                             定した場合は必須)
     187   -n <net_proto>            ネットワーク層プロトコル(必須)
     188                             <net_proto> に指定できるプロトコルを以下
     189                             に示す。
     190
     191                             inet6               IPv6 のみ
     192                             inet4               IPv4 のみ
     193                             inet6/inet4         IPv6/IPv4 の両方
     194                                                (デュアルスタック)
     195                             inet6m              IPv6 のみで、 IPv4 射
     196                                                 影アドレス指定可能
     197                             inet6m/inet4        IPv6/IPv4 の両方と
     198                                                 IPv4 射影アドレス指定可能
     199
     200   -s <trans_proto>          トランスポート層プロトコル(必須)
     201                             <trans_proto> には tcp、udp、tcp/udp の何
     202                             れかを指定する。
     203   -t <templatedir>          TINET テンプレートディレクトリ
     204                             デフォルトは tinet/asp_sample である。 な
     205                             お、 TOPPERS/ASP の同じオプションのデフォ
     206                             ルトは sample である。
     207   -m <asptemplatedir>       ASP テンプレートディレクトリ
     208                             デフォルトは sample である。
     209
     2103. 2  TOPPERS/JPS 用 TINET コンフィギュレーションスクリプトのオプション
     211
     212  TOPPERS/JSP 環境では、オプション(-C、-S、-T、-A、-U、-L、-D、-P、-p、
     213-l)は、 TOPPERS/JSP コンフィギュレーションスクリプトと同じである。
     214TOPPERS/ASP 用 TINET コンフィギュレーションスクリプト特有のオプション
     215を以下に示す。
     216
     217   -e <tinetdir>             TINET のソースの置かれているディレクトリ
     218   -i <net_if>               ネットワークインタフェース(必須)
     219                             <net_if> には ether、ppp、loop の何れかを
     220                             指定する。
     221   -v <net_dev>              イーサネット・ディバイスドライバ
     222                             (ネットワークインタフェースに ether を指
     223                             定した場合は必須)
     224   -n <net_proto>            ネットワーク層プロトコル(必須)
     225                             <net_proto> に指定できるプロトコルを以下
     226                             に示す。
     227
     228                             inet6               IPv6 のみ
     229                             inet4               IPv4 のみ
     230                             inet6/inet4         IPv6/IPv4 の両方
     231                                                (デュアルスタック)
     232                             inet6m              IPv6 のみで、 IPv4 射
     233                                                 影アドレス指定可能
     234                             inet6m/inet4        IPv6/IPv4 の両方と
     235                                                 IPv4 射影アドレス指定
     236                                                 可能
     237
     238   -s <trans_proto>          トランスポート層プロトコル(必須)
     239                             <trans_proto> には tcp、udp、tcp/udp の何
     240                             れかを指定する。
     241   -d <dir>                  TINET テンプレートディレクトリ
     242                             デフォルトは tinet/jsp_sample である。 な
     243                             お、 TOPPERS/JSP の同じオプションのデフォ
     244                             ルトは sample である。
     245   -m <jsptemplatedir>       JSP テンプレートディレクトリ
     246                             デフォルトは sample である。
     247
     2484.  クライアントサーバ・セットの構築
     249
     250  以下に示すサーバが提供されており、必要に応じて組み込むサーバを選択で
     251きる。()内は、tinet/netapp 内にあるソースファイル名である。なお、 ディ
     252フォルトで、 ITRON TCP/IP API 仕様の TCP と UDP の拡張機能が組込まれて
     253いるので、「9.3.2 簡易コンソールのコマンド 」の wtw (wtw4)、wte (wte4)、
     254wue、wtd コマンドで、それぞれのサーバ・タスクを起動する必要がある。
     255
     256   [1]   WWW サーバ・タスク(wwws.c)
     257         ルートページの他に、ネットワーク統計情報を表示する 2 ページか
     258         ら構成され、タスク数は最大 2 である。
     259   [2]   TCP エコーサーバ・タスク
     260         tcp_echo_srv1.c と tcp_echo_srv2.c のどちらかを選択する。
     261         tcp_echo_srv1.c を選択した場合、省コピー API を使用して、ノン
     262         ブロッキングコールを使用しない時は、タスク数を 8 まで指定可能
     263         である。
     264   [3]   UDP エコーサーバ・タスク(udp_echo_srv.c)
     265   [4]   TCP ディスカードサーバ・タスク(tcp_discard_srv.c)
     266   [5]   簡易コンソール・タスク(dbg_cons.c)
     267         シリアルインタフェースだけでなく、telnet プロトコルを使用して、
     268         ネットワーク経由で利用することも可能である。telnet で接続する
     269         と、シリアルの入出力を引き継いで実行する。切断すると、 元のシ
     270         リアルに入出力を戻す。 ただし、TCP のノンブロッキングコールを
     271         組込む必要がある。
     272
     273また、クライアントとしては以下の機能が提供されており、必要に応じて組み
     274込むクライアントを選択できる。
     275
     276   [1]   TCP エコークライアント・タスク(tcp_echo_cli.c)
     277   [2]   UDP エコークライアント・タスク(udp_echo_cli.c)
     278   [3]   TCP ディスカードクライアント・タスク(tcp_discard_cli.c)
     279   [4]   UDP ディスカードクライアント・タスク(udp_discard_cli.c)
     280   [5]   ping(ping.c)
     281
     2824. 1  Makefile の設定
     283
     284   (1)   組込む機能の選択
     285
     286         [1]   TCP の受信ウィンドバッファの省コピー機能
     287                 サンプルアプリケーションで、 TCP の受信ウィンドバッファ
     288               の省コピー機能を組込む場合は、
    336289
    337290                  TCP_CFG_RWBUF_CSAVE_ONLY = true
    338291
    339                ã¾ãŸã¯ã€
     292               または、
    340293
    341294                  TCP_CFG_RWBUF_CSAVE = true
    342295
    343                ã‚’選択する。 TCP_CFG_RWBUF_CSAVE_ONLY を選択すると、TCP
    344                é€šä¿¡ç«¯ç‚¹ã‚’生成する静的 API である TCP_CRE_CEP で、 受信
    345                ã‚¦ã‚£ãƒ³ãƒ‰ãƒãƒƒãƒ•ã‚¡ rbuf に、 メモリアドレスを指定しても、
    346                ãƒ—ロトコルスタックは、この指定を無視して、 TCP の受信ウィ
    347                ãƒ³ãƒ‰ãƒãƒƒãƒ•ã‚¡ã®çœã‚³ãƒ”ー機能により処理する。 また、
    348                TCP_CFG_RWBUF_CSAVE を選択すると、TCP_CRE_CEP で、 受信
    349                ã‚¦ã‚£ãƒ³ãƒ‰ãƒãƒƒãƒ•ã‚¡ rbuf に、 NADR(NULL)を指定したときの
    350                ã¿ã€ãƒ—ロトコルスタックは TCP の受信ウィンドバッファの省
    351                ã‚³ãƒ”ー機能により処理する。
    352 
    353          [2]   TCP の送信ウィンドバッファの省コピー機能
    354                  ã‚µãƒ³ãƒ—ルアプリケーションで、 TCP の送信ウィンドバッファ
    355                ã®çœã‚³ãƒ”ー機能を組込む場合は、
     296               を選択する。 TCP_CFG_RWBUF_CSAVE_ONLY を選択すると、TCP
     297               通信端点を生成する静的 API である TCP_CRE_CEP で、 受信
     298               ウィンドバッファ rbuf に、 メモリアドレスを指定しても、
     299               プロトコルスタックは、この指定を無視して、 TCP の受信ウィ
     300               ンドバッファの省コピー機能により処理する。 また、
     301               TCP_CFG_RWBUF_CSAVE を選択すると、TCP_CRE_CEP で、 受信
     302               ウィンドバッファ rbuf に、 NADR(NULL)を指定したときの
     303               み、プロトコルスタックは TCP の受信ウィンドバッファの省
     304               コピー機能により処理する。
     305
     306         [2]   TCP の送信ウィンドバッファの省コピー機能
     307                 サンプルアプリケーションで、 TCP の送信ウィンドバッファ
     308               の省コピー機能を組込む場合は、
    356309
    357310                  TCP_CFG_SWBUF_CSAVE_ONLY = true
    358311
    359                ã¾ãŸã¯ã€
     312               または、
    360313
    361314                  TCP_CFG_SWBUF_CSAVE = true
    362315
    363                ã‚’選択する。 TCP_CFG_SWBUF_CSAVE_ONLY を選択すると、TCP
    364                é€šä¿¡ç«¯ç‚¹ã‚’生成する静的 API である TCP_CRE_CEP で、 送信
    365                ã‚¦ã‚£ãƒ³ãƒ‰ãƒãƒƒãƒ•ã‚¡ rbuf に、 メモリアドレスを指定しても、
    366                ãƒ—ロトコルスタックは、この指定を無視して、 TCP の送信ウィ
    367                ãƒ³ãƒ‰ãƒãƒƒãƒ•ã‚¡ã®çœã‚³ãƒ”ー機能により処理する。 また、
    368                TCP_CFG_SWBUF_CSAVE を選択すると、TCP_CRE_CEP で、 送信
    369                ã‚¦ã‚£ãƒ³ãƒ‰ãƒãƒƒãƒ•ã‚¡ rbuf に、 NADR(NULL)を指定したときの
    370                ã¿ã€ãƒ—ロトコルスタックは TCP の送信ウィンドバッファの省
    371                ã‚³ãƒ”ー機能により処理する。
    372 
    373          [3]   TCP のノンブロッキングコール
    374                  ã‚µãƒ³ãƒ—ルアプリケーションで、 TCP のノンブロッキングコー
    375                ãƒ«ã‚’組込む場合は、
     316               を選択する。 TCP_CFG_SWBUF_CSAVE_ONLY を選択すると、TCP
     317               通信端点を生成する静的 API である TCP_CRE_CEP で、 送信
     318               ウィンドバッファ rbuf に、 メモリアドレスを指定しても、
     319               プロトコルスタックは、この指定を無視して、 TCP の送信ウィ
     320               ンドバッファの省コピー機能により処理する。 また、
     321               TCP_CFG_SWBUF_CSAVE を選択すると、TCP_CRE_CEP で、 送信
     322               ウィンドバッファ rbuf に、 NADR(NULL)を指定したときの
     323               み、プロトコルスタックは TCP の送信ウィンドバッファの省
     324               コピー機能により処理する。
     325
     326         [3]   TCP のノンブロッキングコール
     327                 サンプルアプリケーションで、 TCP のノンブロッキングコー
     328               ルを組込む場合は、
    376329
    377330                  TCP_CFG_NON_BLOCKING = true
    378331
    379                ã‚’選択する。
    380 
    381          [4]   UDP のノンブロッキングコール
    382                  ã‚µãƒ³ãƒ—ルアプリケーションで、 UDP のノンブロッキングコー
    383                ãƒ«ã‚’組込む場合は、
     332               を選択する。
     333
     334         [4]   UDP のノンブロッキングコール
     335                 サンプルアプリケーションで、 UDP のノンブロッキングコー
     336               ルを組込む場合は、
    384337
    385338                  UDP_CFG_NON_BLOCKING = true
    386339
    387                ã‚’選択する。
    388 
    389          [5]   ITRON TCP/IP API 仕様の TCP の拡張機能
    390                  ã‚µãƒ³ãƒ—ルアプリケーションで、 ITRON TCP/IP API 仕様の
    391                TCP の拡張機能を組込む場合は、
     340               を選択する。
     341
     342         [5]   ITRON TCP/IP API 仕様の TCP の拡張機能
     343                 サンプルアプリケーションで、 ITRON TCP/IP API 仕様の
     344               TCP の拡張機能を組込む場合は、
    392345
    393346                  TCP_CFG_EXTENTIONS = true
    394347
    395                ã‚’選択する。ディフォルトで true に設定されている。
    396 
    397          [6]   ITRON TCP/IP API 仕様の UDP の拡張機能
    398                  ã‚µãƒ³ãƒ—ルアプリケーションで、 ITRON TCP/IP API 仕様の
    399                UDP の拡張機能を組込む場合は、
     348               を選択する。ディフォルトで true に設定されている。
     349
     350         [6]   ITRON TCP/IP API 仕様の UDP の拡張機能
     351                 サンプルアプリケーションで、 ITRON TCP/IP API 仕様の
     352               UDP の拡張機能を組込む場合は、
    400353
    401354                  UDP_CFG_EXTENTIONS = true
    402355
    403                ã‚’選択する。ディフォルトで true に設定されている。
    404 
    405    (2)   ãƒŽãƒ³ãƒ–ロッキングコール、ITRON TCP/IP API 仕様の拡張機能と省コ
    406          ãƒ”ー API の選択
    407 
    408          [1]   TCP のノンブロッキングコール
    409                  ã‚µãƒ³ãƒ—ルアプリケーションで、 TCP のノンブロッキングコー
    410                ãƒ«ã‚’使用する場合は、
     356               を選択する。ディフォルトで true に設定されている。
     357
     358   (2)   ノンブロッキングコール、ITRON TCP/IP API 仕様の拡張機能と省コ
     359         ピー API の選択
     360
     361         [1]   TCP のノンブロッキングコール
     362                 サンプルアプリケーションで、 TCP のノンブロッキングコー
     363               ルを使用する場合は、
    411364
    412365                  USE_TCP_NON_BLOCKING = true
    413366
    414                ã‚’選択する。
    415 
    416          [2]   ITRON TCP/IP API 仕様の TCP の拡張機能
    417                  ã‚µãƒ³ãƒ—ルアプリケーションで、 ITRON TCP/IP API 仕様の
    418                TCP の拡張機能を使用する場合は、
     367               を選択する。
     368
     369         [2]   ITRON TCP/IP API 仕様の TCP の拡張機能
     370                 サンプルアプリケーションで、 ITRON TCP/IP API 仕様の
     371               TCP の拡張機能を使用する場合は、
    419372
    420373                  USE_TCP_EXTENTIONS = true
    421374
    422                ã‚’選択する。ディフォルトで true に設定されている。
    423 
    424          [3]   çœã‚³ãƒ”ー API
    425                  ã‚µãƒ³ãƒ—ルアプリケーションで、省コピー API を使用する場合は、
     375               を選択する。ディフォルトで true に設定されている。
     376
     377         [3]   省コピー API
     378                 サンプルアプリケーションで、省コピー API を使用する場合は、
    426379
    427380                  USE_COPYSAVE_API = true
    428381
    429                ã‚’選択する。
    430 
    431          [4]   UDP のノンブロッキングコール
    432                  ã‚µãƒ³ãƒ—ルアプリケーションで、 UDP のノンブロッキングコー
    433                ãƒ«ã‚’使用する場合は、
     382               を選択する。
     383
     384         [4]   UDP のノンブロッキングコール
     385                 サンプルアプリケーションで、 UDP のノンブロッキングコー
     386               ルを使用する場合は、
    434387
    435388                  USE_UDP_NON_BLOCKING = true
    436389
    437                ã‚’選択する。 ただし、 コールバックとは同時に使用できない。
    438 
    439          [5]   ITRON TCP/IP API 仕様の UDP の拡張機能
    440                  ã‚µãƒ³ãƒ—ルアプリケーションで、 ITRON TCP/IP API 仕様の
    441                UDP の拡張機能を使用する場合は、
     390               を選択する。 ただし、 コールバックとは同時に使用できない。
     391
     392         [5]   ITRON TCP/IP API 仕様の UDP の拡張機能
     393                 サンプルアプリケーションで、 ITRON TCP/IP API 仕様の
     394               UDP の拡張機能を使用する場合は、
    442395
    443396                  USE_UDP_EXTENTIONS = true
    444397
    445                ã‚’選択する。ディフォルトで true に設定されている。
    446 
    447          [6]   UDP のコールバック
    448                  ã‚µãƒ³ãƒ—ルアプリケーションで、 UDP のコールバックを使用
    449                ã™ã‚‹å ´åˆã¯ã€
     398               を選択する。ディフォルトで true に設定されている。
     399
     400         [6]   UDP のコールバック
     401                 サンプルアプリケーションで、 UDP のコールバックを使用
     402               する場合は、
    450403
    451404                  USE_UDP_CALL_BACK = true
    452405
    453                ã‚’選択する。ただし、 ノンブロッキングコールとは同時に使
    454                ç”¨ã§ããªã„。
    455 
    456    (3)   å
    457 ±é€šã‚µãƒ¼ãƒãƒ—ログラムの選択
    458 
    459          [1]   WWW サーバプログラムを使用する場合は、 以下の行を有効にする。
     406               を選択する。ただし、 ノンブロッキングコールとは同時に使
     407               用できない。
     408
     409   (3)   共通サーバプログラムの選択
     410
     411         [1]   WWW サーバプログラムを使用する場合は、 以下の行を有効にする。
    460412
    461413                  USE_WWW_SRV = ture
    462414
    463          [2]   WWW サーバプログラム(IPv4 優å
    464 ˆæŽ¥ç¶šå¾
    465 ã¡ï¼‰ã‚’使用する場合
    466                ã¯ã€ä»¥ä¸‹ã®è¡Œã‚’有効にする。
     415         [2]   WWW サーバプログラム(IPv4 優先接続待ち)を使用する場合
     416               は、以下の行を有効にする。
    467417
    468418                  USE_WWW4_SRV = ture
    469419
    470          [3]   UDP エコーサーバプログラムを使用する場合は、 以下の行を
    471                æœ‰åŠ¹ã«ã™ã‚‹ã€‚
     420         [3]   UDP エコーサーバプログラムを使用する場合は、 以下の行を
     421               有効にする。
    472422
    473423                  USE_UDP_ECHO_SRV = ture
    474424
    475          [4]   UDP エコーサーバプログラム(IPv4 優å
    476 ˆæŽ¥ç¶šå¾
    477 ã¡ï¼‰ã‚’使用す
    478                ã‚‹å ´åˆã¯ã€ä»¥ä¸‹ã®è¡Œã‚’有効にする。
     425         [4]   UDP エコーサーバプログラム(IPv4 優先接続待ち)を使用す
     426               る場合は、以下の行を有効にする。
    479427
    480428                  USE_UDP4_ECHO_SRV = ture
    481429
    482          [5]   TCP ディスカードサーバプログラムを使用する場合は、 以下
    483                ã®è¡Œã‚’有効にする。
     430         [5]   TCP ディスカードサーバプログラムを使用する場合は、 以下
     431               の行を有効にする。
    484432
    485433                  USE_TCP_DISCARD_SRV = ture
    486434
    487          [6]   é€å—信タスク同一型の TCP エコーサーバプログラムを使用す
    488                ã‚‹å ´åˆã¯ã€ä»¥ä¸‹ã®è¡Œã‚’有効にする。
     435         [6]   送受信タスク同一型の TCP エコーサーバプログラムを使用す
     436               る場合は、以下の行を有効にする。
    489437
    490438                  TCP_ECHO_SRV = tcp_echo_srv1
    491439
    492          [7]   é€å—信タスク分離型の TCP エコーサーバプログラムを使用す
    493                ã‚‹å ´åˆã¯ã€ä»¥ä¸‹ã®è¡Œã‚’有効にする。
     440         [7]   送受信タスク分離型の TCP エコーサーバプログラムを使用す
     441               る場合は、以下の行を有効にする。
    494442
    495443                  TCP_ECHO_SRV = tcp_echo_srv2
    496444
    497          [8]   TCP エコーサーバプログラム(IPv4 優å
    498 ˆæŽ¥ç¶šå¾
    499 ã¡ï¼‰ã‚’使用す
    500                ã‚‹å ´åˆã¯ã€ä»¥ä¸‹ã®è¡Œã‚’有効にする。ただし、 送受信タスク同
    501                ä¸€åž‹ã® TCP エコーサーバプログラムを使用する場合のみ有効
    502                ã§ã‚る。
     445         [8]   TCP エコーサーバプログラム(IPv4 優先接続待ち)を使用す
     446               る場合は、以下の行を有効にする。ただし、 送受信タスク同
     447               一型の TCP エコーサーバプログラムを使用する場合のみ有効
     448               である。
    503449
    504450                  USE_TCP4_ECHO_SRV = ture
    505451
    506          [9]   ã‚·ãƒªã‚¢ãƒ«çµŒç”±ã®ã¿ã‚³ãƒ³ã‚½ãƒ¼ãƒ«å
    507 ¥å‡ºåŠ›ã‚’使用する場合は、 以下
    508                ã®è¡Œã‚’有効にする。
     452         [9]   シリアル経由のみコンソール入出力を使用する場合は、 以下
     453               の行を有効にする。
    509454
    510455                  USE_DBG_CONS = true
    511456
    512          [10]  シリアルとネットワーク経由のコンソールå
    513 ¥å‡ºåŠ›ã‚’使用する
    514                å ´åˆã¯ã€ä»¥ä¸‹ã®è¡Œã‚’有効にする。
     457         [10]  シリアルとネットワーク経由のコンソール入出力を使用する
     458               場合は、以下の行を有効にする。
    515459
    516460                  USE_NET_CONS = true
    517461
    518                ãŸã ã—、 ノンブロッキングコールを組込んだ時のみ有効である。
    519 
    520    (4)   å
    521 ±é€šã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãƒ—ログラムの選択
    522 
    523          [1]   TCP エコークライアントプログラムを使用する場合は、 以下
    524                ã®è¡Œã‚’有効にする。
     462               ただし、 ノンブロッキングコールを組込んだ時のみ有効である。
     463
     464   (4)   共通クライアントプログラムの選択
     465
     466         [1]   TCP エコークライアントプログラムを使用する場合は、 以下
     467               の行を有効にする。
    525468
    526469                  USE_TCP_ECHO_CLI = ture
    527470
    528          [2]   TCP エコークライアントプログラムで、IPv4 アドレスを指定
    529                ã—た時、tcp_con_cep を呼出し、IPv4 により接続する場合は
    530                ä»¥ä¸‹ã®è¡Œã‚’有効にする。 なお、 ネットワーク層の選択で、
    531                IPv6 と IPv4 の両方を指定した場合、この指定を行わないと
    532                tcp_con_cep ではなく、 tcp6_con_cep を呼出す。 従って、
    533                API_CFG_IP4MAPPED_ADDR を指定していないと、E_PAR が返さ
    534                ã‚Œã‚‹ãŒã€tcp6_con_cep のテストのためであり、問題はない。
     471         [2]   TCP エコークライアントプログラムで、IPv4 アドレスを指定
     472               した時、tcp_con_cep を呼出し、IPv4 により接続する場合は
     473               以下の行を有効にする。 なお、 ネットワーク層の選択で、
     474               IPv6 と IPv4 の両方を指定した場合、この指定を行わないと
     475               tcp_con_cep ではなく、 tcp6_con_cep を呼出す。 従って、
     476               API_CFG_IP4MAPPED_ADDR を指定していないと、E_PAR が返さ
     477               れるが、tcp6_con_cep のテストのためであり、問題はない。
    535478
    536479                  USE_TCP4_ECHO_CLI = ture
    537480
    538          [3]   UDP エコークライアントプログラムを使用する場合は、 以下
    539                ã®è¡Œã‚’有効にする。
     481         [3]   UDP エコークライアントプログラムを使用する場合は、 以下
     482               の行を有効にする。
    540483
    541484                  USE_UDP_ECHO_CLI = ture
    542485
    543          [4]   UDP エコークライアントプログラム(IPv4 優å
    544 ˆæŽ¥ç¶šå¾
    545 ã¡ï¼‰ã‚’
    546                ä½¿ç”¨ã™ã‚‹å ´åˆã¯ã€ 以下の行を有効にする。
     486         [4]   UDP エコークライアントプログラム(IPv4 優先接続待ち)を
     487               使用する場合は、 以下の行を有効にする。
    547488
    548489                  USE_UDP4_ECHO_CLI = ture
    549490
    550          [5]   TCP ディスカードクライアントプログラムを使用する場合は、
    551                ä»¥ä¸‹ã®è¡Œã‚’有効にする。
     491         [5]   TCP ディスカードクライアントプログラムを使用する場合は、
     492               以下の行を有効にする。
    552493
    553494                  USE_TCP_DISCARD_CLI = ture
    554495
    555          [6]   UDP ディスカードクライアントプログラムを使用する場合は、
    556                ä»¥ä¸‹ã®è¡Œã‚’有効にする。
     496         [6]   UDP ディスカードクライアントプログラムを使用する場合は、
     497               以下の行を有効にする。
    557498
    558499                  USE_UDP_DISCARD_CLI = ture
    559500
    560          [7]   DHCPv6 クライアントプログラムを使用する場合は、以下の行
    561                ã‚’有効にする。
     501         [7]   DHCPv6 クライアントプログラムを使用する場合は、以下の行
     502               を有効にする。
    562503
    563504                  USE_DHCP6_CLI = true
    564505
    565          [8]   DHCPv4 クライアントプログラムを使用する場合は、以下の行
    566                ã‚’有効にする。
     506         [8]   DHCPv4 クライアントプログラムを使用する場合は、以下の行
     507               を有効にする。
    567508
    568509                  USE_DHCP4_CLI = true
    569510
    570          [9]   DNS リゾルバーを使用する場合は、以下の行を有効にする。
     511         [9]   DNS リゾルバーを使用する場合は、以下の行を有効にする。
    571512
    572513                  USE_RESOLVER = true
    573514
    574          [10]  PING クライアントプログラムを使用する場合は、以下の行を
    575                æœ‰åŠ¹ã«ã™ã‚‹ã€‚
     515         [10]  PING クライアントプログラムを使用する場合は、以下の行を
     516               有効にする。
    576517
    577518                  USE_PING = true
    578519
    579    (5)   å
    580 ±é€šã‚µãƒ¼ãƒã‚¿ã‚¹ã‚¯æ•°ã®é¸æŠž
    581 
    582          [1]   WWW サーバタスク数は以下の行で選択する。ただし最大 2 タ
    583                ã‚¹ã‚¯ã§ã‚る。
     520   (5)   共通サーバタスク数の選択
     521
     522         [1]   WWW サーバタスク数は以下の行で選択する。ただし最大 2 タ
     523               スクである。
    584524
    585525                  CDEFS := $(CDEFS) -DNUM_WWW_SRV_TASKS=2
    586526
    587          [2]   TCP ECHO サーバタスク数を選択する。ただし以下の条件のと
    588                ãæœ‰åŠ¹ã§ã‚る。
    589 
    590                ãƒ»tcp_echo_srv1.c を選択した。
    591                ãƒ»çœã‚³ãƒ”ー API を使用する。
    592                ãƒ»ãƒŽãƒ³ãƒ–ロッキングコールを使用しない。
    593 
    594                TCP ECHO サーバタスク数は以下の行で選択する。ただし最大
    595                8 タスクである。
     527         [2]   TCP ECHO サーバタスク数を選択する。ただし以下の条件のと
     528               き有効である。
     529
     530               ・tcp_echo_srv1.c を選択した。
     531               ・省コピー API を使用する。
     532               ・ノンブロッキングコールを使用しない。
     533
     534               TCP ECHO サーバタスク数は以下の行で選択する。ただし最大
     535               8 タスクである。
    596536
    597537                  CDEFS := $(CDEFS) -DNUM_TCP_ECHO_SRV_TASKS=8
    598538
    599    (6)   äºˆç´„ ID 数の選択
    600 
    601          [1]   TCP/IPv4 受付口予約 ID 数は以下の行で選択する。ただし最
    602                å¤§ 2 である。
     539   (6)   予約 ID 数の選択
     540
     541         [1]   TCP/IPv4 受付口予約 ID 数は以下の行で選択する。ただし最
     542               大 2 である。
    603543
    604544                  CDEFS := $(CDEFS) -DNUM_VRID_TCP_REPS=2
    605545
    606          [2]   TCP/IPv4 通信端点予約 ID 数は以下の行で選択する。ただし
    607                æœ€å¤§ 4 である。
     546         [2]   TCP/IPv4 通信端点予約 ID 数は以下の行で選択する。ただし
     547               最大 4 である。
    608548
    609549                  CDEFS := $(CDEFS) -DNUM_VRID_TCP_CEPS=4
    610550
    611          [3]   UDP/IPv4 通信端点予約 ID 数は以下の行で選択する。ただし
    612                æœ€å¤§ 2 である。
     551         [3]   UDP/IPv4 通信端点予約 ID 数は以下の行で選択する。ただし
     552               最大 2 である。
    613553
    614554                  CDEFS := $(CDEFS) -DNUM_VRID_UDP_CEPS=2
    615555
    616          [4]   TCP/IPv6 受付口予約 ID 数は以下の行で選択する。ただし最
    617                å¤§ 2 である。
     556         [4]   TCP/IPv6 受付口予約 ID 数は以下の行で選択する。ただし最
     557               大 2 である。
    618558
    619559                  CDEFS := $(CDEFS) -DNUM_VRID_TCP6_REPS=2
    620560
    621          [5]   TCP/IPv6 通信端点予約 ID 数は以下の行で選択する。ただし
    622                æœ€å¤§ 4 である。
     561         [5]   TCP/IPv6 通信端点予約 ID 数は以下の行で選択する。ただし
     562               最大 4 である。
    623563
    624564                  CDEFS := $(CDEFS) -DNUM_VRID_TCP6_CEPS=4
    625565
    626          [6]   UDP/IPv6 通信端点予約 ID 数は以下の行で選択する。ただし
    627                æœ€å¤§ 2 である。
     566         [6]   UDP/IPv6 通信端点予約 ID 数は以下の行で選択する。ただし
     567               最大 2 である。
    628568
    629569                  CDEFS := $(CDEFS) -DNUM_VRID_UDP6_CEPS=2
    630570
    631    (7)   ãã®ä»–
    632 
    633          [1]   TCP のセグメントサイズを MSS にする場合は、以下の行を有
    634                åŠ¹ã«ã™ã‚‹ã€‚
     571   (7)   その他
     572
     573         [1]   TCP のセグメントサイズを MSS にする場合は、以下の行を有
     574               効にする。
    635575
    636576                  CDEFS := $(CDEFS) -DUSE_TCP_MSS_SEG
    637577
    638          [2]   IPv6 MMTU サイズのネットワークバッファを組込む場合は、
    639                ä»¥ä¸‹ã®è¡Œã‚’有効にする。
     578         [2]   IPv6 MMTU サイズのネットワークバッファを組込む場合は、
     579               以下の行を有効にする。
    640580
    641581                  CDEFS := $(CDEFS) -DUSE_IPV6_MMTU
    642582
    643 4. 2  サンプルアプリケーションのコンパイル時コンフィギュレーション
    644 
    645    (1)   DHCPv6 クライアント
     5834. 2  サンプルアプリケーションのコンパイル時コンフィギュレーション
     584
     585   (1)   DHCPv6 クライアント
    646586
    647587         [1]   DHCP6_CLI_CFG_MODE
    648                DHCPv6 クライアントの動作モードを指定する。
    649                ã‚¹ãƒ†ãƒ¼ãƒˆãƒ¬ã‚¹ãƒ¢ãƒ¼ãƒ‰ã‚’選択する時は
    650                fDHCP6_CLI_CFG_STATELESS、 ステートフルモードを選択する
    651                æ™‚は fDHCP6_CLI_CFG_STATEFULL を指定する。 ステートレス
    652                ãƒ¢ãƒ¼ãƒ‰ã§ã¯ã€IPv6 アドレスを取得せず、DNS サーバのæƒ
    653 å ±ãª
    654                ã©ã®ã¿å–得する。
     588               DHCPv6 クライアントの動作モードを指定する。
     589               ステートレスモードを選択する時は
     590               fDHCP6_CLI_CFG_STATELESS、 ステートフルモードを選択する
     591               時は fDHCP6_CLI_CFG_STATEFULL を指定する。 ステートレス
     592               モードでは、IPv6 アドレスを取得せず、DNS サーバの情報な
     593               どのみ取得する。
    655594
    656595         [2]   DHCP6_CLI_CFG_REQUIRED_OLIST
    657                DHCPv6 サーバから取得するå¿
    658 é ˆã‚ªãƒ—ションリストをé
    659 åˆ—の初
    660                æœŸåŒ–形式で指定する。指定例を以下に示す。
     596               DHCPv6 サーバから取得する必須オプションリストを配列の初
     597               期化形式で指定する。指定例を以下に示す。
    661598                  #define DHCP6_CLI_CFG_REQUIRED_OLIST {  \
    662599                          DHCP6_OPT_NAME_SERVERS,         \
    663600                          }
    664601
    665                ã‚ªãƒ—ションは tinet/netapp/dhcp6.h を参ç
    666 §ã™ã‚‹ã“と。
     602               オプションは tinet/netapp/dhcp6.h を参照すること。
    667603
    668604         [3]   DHCP6_CLI_CFG_REQUEST_OLIST
    669                DHCPv6 サーバから取得するå¿
    670 é ˆã‚ªãƒ—ションリストをé
    671 åˆ—の初
    672                æœŸåŒ–形式で指定する。 指定例を以下に示す。
     605               DHCPv6 サーバから取得する必須オプションリストを配列の初
     606               期化形式で指定する。 指定例を以下に示す。
    673607                  #define DHCP6_CLI_CFG_REQUEST_OLIST {   \
    674608                          DHCP6_OPT_DOMAIN_SEARCH,        \
    675609                          }
    676610
    677                ã‚ªãƒ—ションは tinet/netapp/dhcp6.h を参ç
    678 §ã™ã‚‹ã“と。
    679 
    680    (2)   DHCPv4 クライアント
     611               オプションは tinet/netapp/dhcp6.h を参照すること。
     612
     613   (2)   DHCPv4 クライアント
    681614
    682615         [1]   DHCP4_CLI_CFG_REQUIRED_OLIST
    683                DHCPv4 サーバから取得するå¿
    684 é ˆã‚ªãƒ—ションリストをé
    685 åˆ—の初
    686                æœŸåŒ–形式で指定する。指定例を以下に示す。
     616               DHCPv4 サーバから取得する必須オプションリストを配列の初
     617               期化形式で指定する。指定例を以下に示す。
    687618                  #define DHCP4_CLI_CFG_REQUIRED_OLIST {  \
    688619                          DHCP4_OPT_NAME_SERVERS,         \
    689620                          }
    690621
    691                ã‚ªãƒ—ションは tinet/netapp/dhcp4.h を参ç
    692 §ã™ã‚‹ã“と。
     622               オプションは tinet/netapp/dhcp4.h を参照すること。
    693623
    694624         [2]   DHCP4_CLI_CFG_REQUEST_OLIST
    695                DHCPv4 サーバから取得するå¿
    696 é ˆã‚ªãƒ—ションリストをé
    697 åˆ—の初
    698                æœŸåŒ–形式で指定する。 指定例を以下に示す。
     625               DHCPv4 サーバから取得する必須オプションリストを配列の初
     626               期化形式で指定する。 指定例を以下に示す。
    699627                  #define DHCP4_CLI_CFG_REQUEST_OLIST {   \
    700628                          DHCP4_OPT_DOMAIN_SEARCH,        \
    701629                          }
    702630
    703                ã‚ªãƒ—ションは tinet/netapp/dhcp6.h を参ç
    704 §ã™ã‚‹ã“と。
    705 
    706    (3)   DNS リゾルバー
     631               オプションは tinet/netapp/dhcp6.h を参照すること。
     632
     633   (3)   DNS リゾルバー
    707634
    708635         [1]   RSLV_CFG_DNS_DOMAIN_NAME_STR
    709                ãƒ‰ãƒ¡ã‚¤ãƒ³åã®æ–‡å­—列を指定する。DHCPv6 クライアント、また
    710                ã¯ DHCPv4 クライアントにより取得することも可能である。
     636               ドメイン名の文字列を指定する。DHCPv6 クライアント、また
     637               は DHCPv4 クライアントにより取得することも可能である。
    711638
    712639         [2]   IPV6_ADDR_DNS_INIT
    713                DNS サーバの IPv6 アドレスをé
    714 åˆ—の初期化形式で指定する。
    715                DHCPv6 クライアントにより取得することも可能である。 DNS
    716                ã‚µãƒ¼ãƒã® IPv6 アドレスが、
    717                fd90:cce5:25f6:ff81:201:2ff:fe81:e7c9 の場合の指定例を
    718                ä»¥ä¸‹ã«ç¤ºã™ã€‚
     640               DNS サーバの IPv6 アドレスを配列の初期化形式で指定する。
     641               DHCPv6 クライアントにより取得することも可能である。 DNS
     642               サーバの IPv6 アドレスが、
     643               fd90:cce5:25f6:ff81:201:2ff:fe81:e7c9 の場合の指定例を
     644               以下に示す。
    719645
    720646                  #define IPV6_ADDR_DNS_INIT \
     
    725651
    726652         [3]   IPV4_ADDR_DNS
    727                DNS サーバの IPv4 アドレスを指定する。DHCPv4 クライアン
    728                ãƒˆã«ã‚ˆã‚Šå–得することも可能である。 DNS サーバの IPv4 ア
    729                ãƒ‰ãƒ¬ã‚¹ãŒã€172.25.129.140 の場合の指定例を以下に示す。
     653               DNS サーバの IPv4 アドレスを指定する。DHCPv4 クライアン
     654               トにより取得することも可能である。 DNS サーバの IPv4 ア
     655               ドレスが、172.25.129.140 の場合の指定例を以下に示す。
    730656
    731657                  #define IPV4_ADDR_DNS   MAKE_IPV4_ADDR(172,25,129,140)
    732658
    733 4. 3  簡易コンソールコマンド
    734 
    735   インターネットサーバ・セットに組み込まれている簡易コンソールのコマン
    736 ãƒ‰ã‚’以下に示す。
    737 
    738    cf                  tinet_app_config.h 等で指定された、コンパイル時
    739                        ã‚³ãƒ³ãƒ•ã‚£ã‚®ãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã‚’表示する。
     6594. 3  簡易コンソールコマンド
     660
     661  インターネットサーバ・セットに組み込まれている簡易コンソールのコマン
     662ドを以下に示す。
     663
     664   cf                  tinet_app_config.h 等で指定された、コンパイル時
     665                       コンフィギュレーションを表示する。
    740666
    741667   ct <cepid> [<fncd>]
    742                        ãƒšãƒ³ãƒ‡ã‚£ãƒ³ã‚°ã—ている TCP 通信端点 <cepid> の処
    743                        ç†ã‚’キャンセルする。キャンセルする処理は <fncd>
    744                        ã§æŒ‡å®šã™ã‚‹ã€‚<fncd> を省略した場合は、å
    745 ¨ã¦ã®å‡¦ç†
    746                        ã‚’キャンセルする。
     668                       ペンディングしている TCP 通信端点 <cepid> の処
     669                       理をキャンセルする。キャンセルする処理は <fncd>
     670                       で指定する。<fncd> を省略した場合は、全ての処理
     671                       をキャンセルする。
    747672
    748673   cu <cepid> [<fncd>]
    749                        ãƒšãƒ³ãƒ‡ã‚£ãƒ³ã‚°ã—ている UDP 通信端点 <cepid> の処
    750                        ç†ã‚’キャンセルする。キャンセルする処理は <fncd>
    751                        ã§æŒ‡å®šã™ã‚‹ã€‚<fncd> を省略した場合は、å
    752 ¨ã¦ã®å‡¦ç†
    753                        ã‚’キャンセルする。
    754 
    755    dc                  ネットワークインタフェースが PPP の時、または、
    756                        ã‚·ãƒªã‚¢ãƒ«ã¨ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯çµŒç”±ã®ã‚³ãƒ³ã‚½ãƒ¼ãƒ«å
    757 ¥å‡ºåŠ›ã‚’
    758                        ä½¿ç”¨ã™ã‚‹æ™‚に有効であり、 接続を切断する。なお、
    759                        PPP は参考実è£
    760 ã§ã‚る。
    761 
    762    dh                  DHCPv6 と DHCPv4 クライアントのæƒ
    763 å ±ã‚’出力する。
    764    dh6                 DHCPv6 クライアントのæƒ
    765 å ±ã‚’出力する。
    766    dh6n                IPv6 アドレスæƒ
    767 å ±ã‚’解放して、 DHCPv6 サーバから
    768                        IPv6 アドレスæƒ
    769 å ±ã‚’再取得する。
    770    dh6r                IPv6 アドレスæƒ
    771 å ±ã‚’解放する。
    772    dh4                 DHCPv4 クライアントのæƒ
    773 å ±ã‚’出力する。
    774    dh4n                IPv4 アドレスæƒ
    775 å ±ã‚’解放して、 DHCPv4 サーバから
    776                        IPv4 アドレスæƒ
    777 å ±ã‚’再取得する。
    778    dh4r                IPv4 アドレスæƒ
    779 å ±ã‚’解放する。
     674                       ペンディングしている UDP 通信端点 <cepid> の処
     675                       理をキャンセルする。キャンセルする処理は <fncd>
     676                       で指定する。<fncd> を省略した場合は、全ての処理
     677                       をキャンセルする。
     678
     679   dc                  ネットワークインタフェースが PPP の時、または、
     680                       シリアルとネットワーク経由のコンソール入出力を
     681                       使用する時に有効であり、 接続を切断する。なお、
     682                       PPP は参考実装である。
     683
     684   dh                  DHCPv6 と DHCPv4 クライアントの情報を出力する。
     685   dh6                 DHCPv6 クライアントの情報を出力する。
     686   dh6n                IPv6 アドレス情報を解放して、 DHCPv6 サーバから
     687                       IPv6 アドレス情報を再取得する。
     688   dh6r                IPv6 アドレス情報を解放する。
     689   dh4                 DHCPv4 クライアントの情報を出力する。
     690   dh4n                IPv4 アドレス情報を解放して、 DHCPv4 サーバから
     691                       IPv4 アドレス情報を再取得する。
     692   dh4r                IPv4 アドレス情報を解放する。
    780693
    781694   dt <host> [<portno> [<repeat>]]
    782                        TCP ディスカードクライアント・タスクを起動し、
    783                        ãƒ‡ã‚£ã‚¹ã‚«ãƒ¼ãƒ‰ã‚µãƒ¼ãƒ <host> にディスカードパター
    784                        ãƒ³ã‚’送信する。<portno> は、ディスカードサーバの
    785                        ãƒãƒ¼ãƒˆç•ªå·ã§ã€çœç•¥æ™‚(- を指定する)は 9 である。
    786                        <repeat> は、繰り返し回数で、省略時は 1 である。
    787    dts                 TCP ディスカードクライアント・タスクの繰り返し
    788                        å‹•ä½œã‚’停止する。
     695                       TCP ディスカードクライアント・タスクを起動し、
     696                       ディスカードサーバ <host> にディスカードパター
     697                       ンを送信する。<portno> は、ディスカードサーバの
     698                       ポート番号で、省略時(- を指定する)は 9 である。
     699                       <repeat> は、繰り返し回数で、省略時は 1 である。
     700   dts                 TCP ディスカードクライアント・タスクの繰り返し
     701                       動作を停止する。
    789702
    790703   du <host> [<portno>]]
    791                        ãƒ‡ã‚£ã‚¹ã‚«ãƒ¼ãƒ‰ã‚µãƒ¼ãƒ <host> にディスカードパター
    792                        UDP ディスカードクライアント・タスクを起動し、
    793                        ãƒ³ã‚’繰り返し送信する。<portno> は、ディスカード
    794                        ã‚µãƒ¼ãƒã®ãƒãƒ¼ãƒˆç•ªå·ã§ã€çœç•¥æ™‚は 9 である。
    795    dus                 UDP ディスカードクライアント・タスクの繰り返し
    796                        å‹•ä½œã‚’停止する。
     704                       ディスカードサーバ <host> にディスカードパター
     705                       UDP ディスカードクライアント・タスクを起動し、
     706                       ンを繰り返し送信する。<portno> は、ディスカード
     707                       サーバのポート番号で、省略時は 9 である。
     708   dus                 UDP ディスカードクライアント・タスクの繰り返し
     709                       動作を停止する。
    797710
    798711   et <host> [<portno> [<repeat>]]
    799712   et4 <host> [<portno> [<repeat>]]
    800                        et では TCP エコークライアント・タスクを起動す
    801                        ã‚‹ã€‚et4 では IPv4 専用 TCP エコークライアント・
    802                        ã‚¿ã‚¹ã‚¯ã‚’起動する。 何れも、 エコーサーバ <host>
    803                        ã«ã‚¨ã‚³ãƒ¼ãƒ‘ターンを送信する。<portno> は、エコー
    804                        ã‚µãƒ¼ãƒã®ãƒãƒ¼ãƒˆç•ªå·ã§ã€ 省略時(- を指定する)は
    805                        7 である。<repeat> は、繰り返し回数で、省略時は
    806                        1 である。
    807    ets                 TCP エコークライアント・タスクの繰り返し動作を
    808                        åœæ­¢ã™ã‚‹ã€‚
    809    ets4                IPv4 専用 TCP エコークライアント・タスクの繰り
    810                        è¿”し動作を停止する。
     713                       et では TCP エコークライアント・タスクを起動す
     714                       る。et4 では IPv4 専用 TCP エコークライアント・
     715                       タスクを起動する。 何れも、 エコーサーバ <host>
     716                       にエコーパターンを送信する。<portno> は、エコー
     717                       サーバのポート番号で、 省略時(- を指定する)は
     718                       7 である。<repeat> は、繰り返し回数で、省略時は
     719                       1 である。
     720   ets                 TCP エコークライアント・タスクの繰り返し動作を
     721                       停止する。
     722   ets4                IPv4 専用 TCP エコークライアント・タスクの繰り
     723                       返し動作を停止する。
    811724
    812725   eu <host> [<portno>] [<msg> | <repeat>]
    813726   eu4 <host> [<portno>] [<msg> | <repeat>]
    814                        eu では UDP エコークライアント・タスクを起動す
    815                        ã‚‹ã€‚eu4 では IPv4 専用 UDP エコークライアント・
    816                        ã‚¿ã‚¹ã‚¯ã‚’起動する。 何れも、 エコーサーバ <host>
    817                        ã«ã‚¨ã‚³ãƒ¼ãƒ‘ターンを送信する。<portno> は、エコー
    818                        ã‚µãƒ¼ãƒã®ãƒãƒ¼ãƒˆç•ªå·ã§ã€ 省略時(- を指定する)は
    819                        7 である。<repeat>(数字)を指定した場合は、 定
    820                        åž‹ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’ <repeat> 回繰り返し送信する。
    821                        <msg>(数字以外)を指定した場合は、 メッセージ
    822                        <msg> を送信する。
    823    eus                 UDP エコークライアント・タスクの繰り返し動作を
    824                        åœæ­¢ã™ã‚‹ã€‚
    825    eus4                IPv4 専用 UDP エコークライアント・タスクの繰り
    826                        è¿”し動作を停止する。
    827 
    828    i                   ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ãŒ PPP の時に有効であ
    829                        ã‚‹ã€‚直接接続の場合は、直ちに LCP を起動して、サー
    830                        ãƒã«æŽ¥ç¶šã™ã‚‹ã€‚モデム接続の場合は、 コンパイル時
    831                        ã‚³ãƒ³ãƒ•ã‚£ã‚®ãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã® MODEM_CFG_PHONE_NUMBER
    832                        ãƒ‘ラメータで指定されているサーバに発呼する。 な
    833                        ãŠã€PPP は参考実è£
    834 ã§ã‚る。
    835 
    836    if [<addr> <mask>]  ネットワークインタフェースが PPP の時は、 IP ア
    837                        ãƒ‰ãƒ¬ã‚¹ã€ サブネットマスク、ブロードキャストアド
    838                        ãƒ¬ã‚¹ã‚’出力する。 ネットワークインタフェースがイー
    839                        ã‚µãƒãƒƒãƒˆã§ã€ ネットワーク層が IPv4 の時は、
    840                        [<addr> <mask>] を指定できる。 [<addr> <mask>]
    841                        ã‚’指定しなければ、MAC アドレス、IPv4 アドレス、
    842                        ã‚µãƒ–ネットマスク、 ブロードキャストアドレスの出
    843                        åŠ›ã®ã¿è¡Œã†ã€‚ [<addr> <mask>] を指定した時は、
    844                        IPv4 アドレスとサブネットマスクを変更した後、
    845                        MAC アドレス、IPv4 アドレス、サブネットマスク、
    846                        ãƒ–ロードキャストアドレスを出力する。<addr> は、
    847                        IPv4 アドレス、 <mask> は、サブネットマスクであ
    848                        ã‚‹ã€‚なお、PPP は参考実è£
    849 ã§ã‚る。
    850 
    851    na                  ネットワークインタフェースがイーサネットの時に
    852                        æœ‰åŠ¹ã§ã‚る。IPv6 では近隣アドレスキャッシュの状
    853                        æ
    854 ‹ã€IPv4 では ARP キャッシュを出力する。
    855 
    856    nb                  ネットワークバッファの統計æƒ
    857 å ±ã‚’出力する。
    858 
    859    nc                  ネットワーク統計æƒ
    860 å ±ã‚’表示する。
     727                       eu では UDP エコークライアント・タスクを起動す
     728                       る。eu4 では IPv4 専用 UDP エコークライアント・
     729                       タスクを起動する。 何れも、 エコーサーバ <host>
     730                       にエコーパターンを送信する。<portno> は、エコー
     731                       サーバのポート番号で、 省略時(- を指定する)は
     732                       7 である。<repeat>(数字)を指定した場合は、 定
     733                       型のメッセージを <repeat> 回繰り返し送信する。
     734                       <msg>(数字以外)を指定した場合は、 メッセージ
     735                       <msg> を送信する。
     736   eus                 UDP エコークライアント・タスクの繰り返し動作を
     737                       停止する。
     738   eus4                IPv4 専用 UDP エコークライアント・タスクの繰り
     739                       返し動作を停止する。
     740
     741   i                   ネットワークインタフェースが PPP の時に有効であ
     742                       る。直接接続の場合は、直ちに LCP を起動して、サー
     743                       バに接続する。モデム接続の場合は、 コンパイル時
     744                       コンフィギュレーションの MODEM_CFG_PHONE_NUMBER
     745                       パラメータで指定されているサーバに発呼する。 な
     746                       お、PPP は参考実装である。
     747
     748   if [<addr> <mask>]  ネットワークインタフェースが PPP の時は、 IP ア
     749                       ドレス、 サブネットマスク、ブロードキャストアド
     750                       レスを出力する。 ネットワークインタフェースがイー
     751                       サネットで、 ネットワーク層が IPv4 の時は、
     752                       [<addr> <mask>] を指定できる。 [<addr> <mask>]
     753                       を指定しなければ、MAC アドレス、IPv4 アドレス、
     754                       サブネットマスク、 ブロードキャストアドレスの出
     755                       力のみ行う。 [<addr> <mask>] を指定した時は、
     756                       IPv4 アドレスとサブネットマスクを変更した後、
     757                       MAC アドレス、IPv4 アドレス、サブネットマスク、
     758                       ブロードキャストアドレスを出力する。<addr> は、
     759                       IPv4 アドレス、 <mask> は、サブネットマスクであ
     760                       る。なお、PPP は参考実装である。
     761
     762   na                  ネットワークインタフェースがイーサネットの時に
     763                       有効である。IPv6 では近隣アドレスキャッシュの状
     764                       態、IPv4 では ARP キャッシュを出力する。
     765
     766   nb                  ネットワークバッファの統計情報を出力する。
     767
     768   nc                  ネットワーク統計情報を表示する。
    861769
    862770   nr [<index> <target> <mask> <gateway>]
    863                        ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ãŒã‚¤ãƒ¼ã‚µãƒãƒƒãƒˆã®ã¨ã
    864                        æœ‰åŠ¹ã§ã‚る。 ネットワーク層が IPv4 の時は、
    865                        [<index> <target> <mask> <gateway>] を指定でき
    866                        ã‚‹ã€‚ [<index> <target> <mask> <gateway>] を指定
    867                        ã—なければ、 ルーティング表の出力のみ行う。
    868                        [<index> <target> <mask> <gateway>] を指定した
    869                        æ™‚は、 ルーティング表を変更した後、ルーティング
    870                        è¡¨ã‚’出力する。<index> は、 経路エントリのインデッ
    871                        ã‚¯ã‚¹ã€<target> は、目標ネットワークの IP アドレ
    872                        ã‚¹ã€<mask> は、目標ネットワークのサブネットマス
    873                        ã‚¯ã€ <gateway> は、ゲートウェイの IP アドレスである。
    874 
    875    nrl                 ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ãŒã‚¤ãƒ¼ã‚µãƒãƒƒãƒˆã§ã€ ネッ
    876                        ãƒˆãƒ¯ãƒ¼ã‚¯å±¤ãŒ IPv6 の時に有効である。 ディフォル
    877                        ãƒˆãƒ«ãƒ¼ã‚¿ãƒ»ãƒªã‚¹ãƒˆã‚’出力する。
    878 
    879    nrp                 ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ãŒã‚¤ãƒ¼ã‚µãƒãƒƒãƒˆã§ã€ ネッ
    880                        ãƒˆãƒ¯ãƒ¼ã‚¯å±¤ãŒ IPv6 の時に有効である。 プレフィッ
    881                        ã‚¯ã‚¹ãƒªã‚¹ãƒˆã‚’出力する。
    882 
    883    ns [<name>|<addr>]  DNS サーバに正引きでホスト名 <name>、または、逆
    884                        å¼•ãã§ IP アドレス <addr> のアドレスæƒ
    885 å ±ã‚’ç
    886 §ä¼š
    887                        ã—出力する。いずれも指定しない時は、 ドメイン名
    888                        ã¨ DNS サーバの IP アドレスを出力する。
    889 
    890    nt                  TCP 通信端点と TCP 受付口の状æ
    891 ‹ã‚’表示する。
    892 
    893    nu                  UDP 通信端点の状æ
    894 ‹ã‚’表示する。
     771                       ネットワークインタフェースがイーサネットのとき
     772                       有効である。 ネットワーク層が IPv4 の時は、
     773                       [<index> <target> <mask> <gateway>] を指定でき
     774                       る。 [<index> <target> <mask> <gateway>] を指定
     775                       しなければ、 ルーティング表の出力のみ行う。
     776                       [<index> <target> <mask> <gateway>] を指定した
     777                       時は、 ルーティング表を変更した後、ルーティング
     778                       表を出力する。<index> は、 経路エントリのインデッ
     779                       クス、<target> は、目標ネットワークの IP アドレ
     780                       ス、<mask> は、目標ネットワークのサブネットマス
     781                       ク、 <gateway> は、ゲートウェイの IP アドレスである。
     782
     783   nrl                 ネットワークインタフェースがイーサネットで、 ネッ
     784                       トワーク層が IPv6 の時に有効である。 ディフォル
     785                       トルータ・リストを出力する。
     786
     787   nrp                 ネットワークインタフェースがイーサネットで、 ネッ
     788                       トワーク層が IPv6 の時に有効である。 プレフィッ
     789                       クスリストを出力する。
     790
     791   ns [<name>|<addr>]  DNS サーバに正引きでホスト名 <name>、または、逆
     792                       引きで IP アドレス <addr> のアドレス情報を照会
     793                       し出力する。いずれも指定しない時は、 ドメイン名
     794                       と DNS サーバの IP アドレスを出力する。
     795
     796   nt                  TCP 通信端点と TCP 受付口の状態を表示する。
     797
     798   nu                  UDP 通信端点の状態を表示する。
    895799
    896800   p <host> [ <tmo> [<size>] ]
    897                        ãƒ›ã‚¹ãƒˆ <host> に ICMP パケットを送信する。<tmo>
    898                        ã¯ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆå€¤ï¼ˆå˜ä½ã¯ç§’)で、 省略時(- を指
    899                        å®šã™ã‚‹ï¼‰ã¯ 3 秒である。 <size> はデータサイズで、
    900                        æŒ‡å®šã—ない場合は 64 オクテットである。
    901 
    902    ps                  タスクの状æ
    903 ‹ã‚’表示する。
    904 
    905    r <tskid>           ã‚¿ã‚¹ã‚¯ <tskid> のå¾
    906 ã¡çŠ¶æ
    907 ‹ã‚’強制的に解除する。
    908 
    909    tt <repid>          ITRON TCP/IP API の TCP の拡張機能を組込むå¿
    910 è¦
    911                        ãŒã‚る。TCP 受付口 <repid> を削除し、対応するサー
    912                        ãƒã‚’停止する。
    913 
    914    tu <cepid>          ITRON TCP/IP API の UDP の拡張機能を組込むå¿
    915 è¦
    916                        ãŒã‚る。UDP 通信端点 <cepid> を削除し、対応する
    917                        ã‚µãƒ¼ãƒã‚’停止する。
    918 
    919    w <tskid>           ã‚¿ã‚¹ã‚¯ <tskid> を起床する。
    920 
    921    wtd                 ITRON TCP/IP API の TCP の拡張機能を組込むå¿
    922 è¦
    923                        ãŒã‚る。TCP ディスカードサーバ・タスクに TCP 受
    924                        ä»˜å£ã¨ TCP 通信端点を割当て、TCP ディスカードサー
    925                        ãƒãƒ»ã‚¿ã‚¹ã‚¯ã‚’起動する。
    926 
    927    wte                 ITRON TCP/IP API の TCP の拡張機能を組込むå¿
    928 è¦
    929                        ãŒã‚る。TCP エコーサーバ・タスクに TCP 受付口と
    930                        TCP 通信端点を割当て、 TCP エコーサーバ・タスク
    931                        ã‚’起動する。
    932 
    933    wte4                ITRON TCP/IP API の TCP の拡張機能を組込むå¿
    934 è¦
    935                        ãŒã‚る。 TCP エコーサーバ・タスクに IPv4 用 TCP
    936                        å—付口と IPv4 用 TCP 通信端点を割当て、TCP エコー
    937                        ã‚µãƒ¼ãƒãƒ»ã‚¿ã‚¹ã‚¯ã‚’起動する。
    938 
    939    wtw4                ITRON TCP/IP API の TCP の拡張機能を組込むå¿
    940 è¦
    941                        ãŒã‚る。WWW サーバ・タスクに IPv4 用 TCP 受付口
    942                        ã¨ IPv4 用 TCP 通信端点を割当て、WWW サーバ・タ
    943                        ã‚¹ã‚¯ã‚’起動する。
    944    wtw                 ITRON TCP/IP API の TCP の拡張機能を組込むå¿
    945 è¦
    946                        ãŒã‚る。 WWW サーバ・タスクに TCP 受付口と TCP
    947                        é€šä¿¡ç«¯ç‚¹ã‚’割当て、WWW サーバ・タスクを起動する。
    948 
    949    wue                 ITRON UDP/IP API の UDP の拡張機能を組込むå¿
    950 è¦
    951                        ãŒã‚る。UDP エコーサーバ・タスクに UDP 通信端点
    952                        ã‚’割当て、UDP エコーサーバ・タスクを起動する。
    953 
    954 4. 4  DNSリゾルバーによるホスト名の指定
    955 
    956   Makefile の組み込む機能の選択で、
     801                       ホスト <host> に ICMP パケットを送信する。<tmo>
     802                       はタイムアウト値(単位は秒)で、 省略時(- を指
     803                       定する)は 3 秒である。 <size> はデータサイズで、
     804                       指定しない場合は 64 オクテットである。
     805
     806   ps                  タスクの状態を表示する。
     807
     808   r <tskid>           タスク <tskid> の待ち状態を強制的に解除する。
     809
     810   tt <repid>          ITRON TCP/IP API の TCP の拡張機能を組込む必要
     811                       がある。TCP 受付口 <repid> を削除し、対応するサー
     812                       バを停止する。
     813
     814   tu <cepid>          ITRON TCP/IP API の UDP の拡張機能を組込む必要
     815                       がある。UDP 通信端点 <cepid> を削除し、対応する
     816                       サーバを停止する。
     817
     818   w <tskid>           タスク <tskid> を起床する。
     819
     820   wtd                 ITRON TCP/IP API の TCP の拡張機能を組込む必要
     821                       がある。TCP ディスカードサーバ・タスクに TCP 受
     822                       付口と TCP 通信端点を割当て、TCP ディスカードサー
     823                       バ・タスクを起動する。
     824
     825   wte                 ITRON TCP/IP API の TCP の拡張機能を組込む必要
     826                       がある。TCP エコーサーバ・タスクに TCP 受付口と
     827                       TCP 通信端点を割当て、 TCP エコーサーバ・タスク
     828                       を起動する。
     829
     830   wte4                ITRON TCP/IP API の TCP の拡張機能を組込む必要
     831                       がある。 TCP エコーサーバ・タスクに IPv4 用 TCP
     832                       受付口と IPv4 用 TCP 通信端点を割当て、TCP エコー
     833                       サーバ・タスクを起動する。
     834
     835   wtw4                ITRON TCP/IP API の TCP の拡張機能を組込む必要
     836                       がある。WWW サーバ・タスクに IPv4 用 TCP 受付口
     837                       と IPv4 用 TCP 通信端点を割当て、WWW サーバ・タ
     838                       スクを起動する。
     839   wtw                 ITRON TCP/IP API の TCP の拡張機能を組込む必要
     840                       がある。 WWW サーバ・タスクに TCP 受付口と TCP
     841                       通信端点を割当て、WWW サーバ・タスクを起動する。
     842
     843   wue                 ITRON UDP/IP API の UDP の拡張機能を組込む必要
     844                       がある。UDP エコーサーバ・タスクに UDP 通信端点
     845                       を割当て、UDP エコーサーバ・タスクを起動する。
     846
     8474. 4  DNSリゾルバーによるホスト名の指定
     848
     849  Makefile の組み込む機能の選択で、
    957850
    958851   USE_RESOLVER = true
    959852
    960 ã‚’指定して DNS リゾルバーを使用すると、簡易コンソールコマンドの <host>
    961 ã«æŒ‡å®šã—たホスト名を、DNS サーバにç
    962 §ä¼šã—て IP アドレスを得ることができ
    963 ã‚‹ï¼ˆæ­£å¼•ãï¼‰ã€‚
    964   <host> の書式を以下に示す。
     853を指定して DNS リゾルバーを使用すると、簡易コンソールコマンドの <host>
     854に指定したホスト名を、DNS サーバに照会して IP アドレスを得ることができ
     855る(正引き)。
     856  <host> の書式を以下に示す。
    965857      [-[6|4][A|a|Q|q]] <name>
    966858
    967   各オプションを以下に示す。
    968 
    969       6   ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯å±¤ã®ãƒ—ロトコルとして IPv6 により DNS サーバにç
    970 §
    971           会する。
    972       4   ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯å±¤ã®ãƒ—ロトコルとして IPv4 により DNS サーバにç
    973 §
    974           会する。
    975       q   AAAA レコードのみç
    976 §ä¼šã™ã‚‹ã€‚
    977       Q   AAAA レコードのみç
    978 §ä¼šã™ã‚‹ã€‚
    979       a   A レコードのみç
    980 §ä¼šã™ã‚‹ã€‚
    981       A   A レコードのみç
    982 §ä¼šã™ã‚‹ã€‚
    983 
    984   6 と 4 のどちらも指定しない時は、まず IPv6 で DNS サーバにç
    985 §ä¼šã™ã‚‹ãŒã€
    986 å¿œç­”がない場合は IPv4 にフォールバックして DNS サーバにç
    987 §ä¼šã™ã‚‹ã€‚ ただ
    988 ã—、ネットワーク層としてどちらか一方のみ組込んだ場合は、このオプション
    989 ã¯ç„¡è¦–される。
    990   q、 Q、a、A のいずれも指定しない時は、AAAA レコードの次に A レコード
    991 ã®é †ã§ DNS サーバにç
    992 §ä¼šã™ã‚‹ã€‚
    993 
    994 5.  sample1 のネットワーク対応プログラム(sample1n)の構築
    995 
    996   TOPPERS/ASP と TOPPERS/JSP のサンプルプログラム sample1 のネットワー
    997 ã‚¯å¯¾å¿œãƒ—ログラムである。telnet で接続すると、 シリアルのå
    998 ¥å‡ºåŠ›ã‚’引き継
    999 ã„で実行する。 切断すると、 å
    1000 ƒã®ã‚·ãƒªã‚¢ãƒ«ã«å
    1001 ¥å‡ºåŠ›ã‚’戻す。
    1002   以下に構築方法を述べる。
    1003 
    1004    (1)   ASP/JSP コンフィギュレーションスクリプトの実行
    1005            ãã‚Œãžã‚Œã®ç’°å¢ƒã«ãŠã‘るコンフィギュレーションスクリプトを実
    1006          è¡Œã™ã‚‹ã€‚以下は、 TOPPERS/ASP 環境におけるコンフィギュレーショ
    1007          ãƒ³ã‚¹ã‚¯ãƒªãƒ—トの実行例である。
     859  各オプションを以下に示す。
     860
     861      6   ネットワーク層のプロトコルとして IPv6 により DNS サーバに照
     862          会する。
     863      4   ネットワーク層のプロトコルとして IPv4 により DNS サーバに照
     864          会する。
     865      q   AAAA レコードのみ照会する。
     866      Q   AAAA レコードのみ照会する。
     867      a   A レコードのみ照会する。
     868      A   A レコードのみ照会する。
     869
     870  6 と 4 のどちらも指定しない時は、まず IPv6 で DNS サーバに照会するが、
     871応答がない場合は IPv4 にフォールバックして DNS サーバに照会する。 ただ
     872し、ネットワーク層としてどちらか一方のみ組込んだ場合は、このオプション
     873は無視される。
     874  q、 Q、a、A のいずれも指定しない時は、AAAA レコードの次に A レコード
     875の順で DNS サーバに照会する。
     876
     8775.  sample1 のネットワーク対応プログラム(sample1n)の構築
     878
     879  TOPPERS/ASP と TOPPERS/JSP のサンプルプログラム sample1 のネットワー
     880ク対応プログラムである。telnet で接続すると、 シリアルの入出力を引き継
     881いで実行する。 切断すると、 元のシリアルに入出力を戻す。
     882  以下に構築方法を述べる。
     883
     884   (1)   ASP/JSP コンフィギュレーションスクリプトの実行
     885           それぞれの環境におけるコンフィギュレーションスクリプトを実
     886         行する。以下は、 TOPPERS/ASP 環境におけるコンフィギュレーショ
     887         ンスクリプトの実行例である。
    1008888
    1009889            $ mkdir NETOBJ
     
    1011891            $ perl ../configure -T akih8_3069f_gcc
    1012892
    1013    (2)   TINET コンフィギュレーションスクリプトの実行
    1014            ãã‚Œãžã‚Œã®ç’°å¢ƒã«ãŠã‘ã‚‹ TINET コンフィギュレーションスクリプ
    1015          ãƒˆã‚’実行する。 この時、 アプリケーションプログラム名として
    1016          sample1n を指定する。 以下は、 TOPPERS/ASP 環境における TINET
    1017          ã‚³ãƒ³ãƒ•ã‚£ã‚®ãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã‚¹ã‚¯ãƒªãƒ—トの実行例である。
     893   (2)   TINET コンフィギュレーションスクリプトの実行
     894           それぞれの環境における TINET コンフィギュレーションスクリプ
     895         トを実行する。 この時、 アプリケーションプログラム名として
     896         sample1n を指定する。 以下は、 TOPPERS/ASP 環境における TINET
     897         コンフィギュレーションスクリプトの実行例である。
    1018898
    1019899            $ perl ../tinet/tinet_asp_configure -T akih8_3069f_gcc -A sample1n
    1020900                                                -i ether -v if_ed -n inet6 -s tcp
    1021901
    1022          ãªãŠã€ã‚ªãƒ—ション -n に inet6/inet4 を指定しても、 IPv6 でのみ
    1023          æŽ¥ç¶šã§ãã‚‹ã€‚
    1024 
    1025    (3)   Makefile の修正
    1026            ã‚¢ãƒ—リケーション本体(sample1n.c)と TOPPERS/ASP と
    1027          TOPPERS/JSP の sample1.c を一緒にコンパイル・リンクするため、
    1028          Makefile を修正する。
    1029 
    1030          [1]   TOPPERS/ASP 環境
    1031                  Makefile の APPL_COBJS に sample1.o を追加する。
     902         なお、オプション -n に inet6/inet4 を指定しても、 IPv6 でのみ
     903         接続できる。
     904
     905   (3)   Makefile の修正
     906           アプリケーション本体(sample1n.c)と TOPPERS/ASP と
     907         TOPPERS/JSP の sample1.c を一緒にコンパイル・リンクするため、
     908         Makefile を修正する。
     909
     910         [1]   TOPPERS/ASP 環境
     911                 Makefile の APPL_COBJS に sample1.o を追加する。
    1032912
    1033913                  APPL_COBJS = $(APPLNAME).o sample1.o
    1034914
    1035          [2]   TOPPERS/JSP 環境
    1036                  Makefile の UTASK_COBJS に sample1.o を追加する。
     915         [2]   TOPPERS/JSP 環境
     916                 Makefile の UTASK_COBJS に sample1.o を追加する。
    1037917
    1038918                  UTASK_COBJS = $(UNAME).o sample1.o
    1039919
    1040    (4)   sample1.c の修正
    1041            TOPPERS/ASP と TOPPERS/JSP の sample1.c のインクルードファ
    1042          ã‚¤ãƒ«ã®æŒ‡å®š
     920   (4)   sample1.c の修正
     921           TOPPERS/ASP と TOPPERS/JSP の sample1.c のインクルードファ
     922         イルの指定
    1043923
    1044924            #include "sample1.h"
    1045925
    1046          ã®å‰ã«ã€ 以下のインクルードファイルを追加する。
     926         の前に、 以下のインクルードファイルを追加する。
    1047927
    1048928            #include "sample1n.h"
    1049929
    1050    (5)   tinet_app_config.h の設定
    1051            IPv4 の場合、IP アドレス、サブネットマスク、 ディフォルトゲー
    1052          ãƒˆã‚¦ã‚§ã‚¤ã‚’指定する。
    1053 
    1054 6.  最小構成サーバの構築
    1055 
    1056   WWW サーバ・タスクと TCP エコーサーバ・タスクのみからなる最小構成の
    1057 ã‚µãƒ¼ãƒã§ã‚る。H8/3069F がå†
    1058 è”µã—ている RAM(16K バイト)と ROM(512K バ
    1059 ã‚¤ãƒˆï¼‰ã«åŽã¾ã‚Šã€å¤–部メモリは不要である。現在は、品川通信計è£
    1060 ã‚µãƒ¼ãƒ“ス製
    1061 NKEV-010H8(TOPPERS/JSP リリース 1.4.2 のみ)と秋月電子通商製 H8/3069F
    1062 ï¼ˆTOPPERS/JSP リリース 1.4.1 以降と TOPPERS/ASP)のシステムに対応して
    1063 ã„る。
    1064   各システム依存部の Makefile.config の「実行環境の定義」で、
    1065 
    1066    # ROM化 外部RAM未使用
     930   (5)   tinet_app_config.h の設定
     931           IPv4 の場合、IP アドレス、サブネットマスク、 ディフォルトゲー
     932         トウェイを指定する。
     933
     9346.  最小構成サーバの構築
     935
     936  WWW サーバ・タスクと TCP エコーサーバ・タスクのみからなる最小構成の
     937サーバである。H8/3069F が内蔵している RAM(16K バイト)と ROM(512K バ
     938イト)に収まり、外部メモリは不要である。現在は、品川通信計装サービス製
     939NKEV-010H8(TOPPERS/JSP リリース 1.4.2 のみ)と秋月電子通商製 H8/3069F
     940(TOPPERS/JSP リリース 1.4.1 以降と TOPPERS/ASP)のシステムに対応して
     941いる。
     942  各システム依存部の Makefile.config の「実行環境の定義」で、
     943
     944   # ROM化 外部RAM未使用
    1067945   #DBGENV := INMEM_ONLY
    1068946
    1069 ã‚’有効にして、 コンパイル・リンクする。
     947を有効にして、 コンパイル・リンクする。
Note: See TracChangeset for help on using the changeset viewer.