Ignore:
Timestamp:
Aug 23, 2017, 9:27:43 AM (7 years ago)
Author:
coas-nagasima
Message:

文字コードを設定

File:
1 edited

Legend:

Unmodified
Added
Removed
  • EcnlProtoTool/trunk/asp3_dcre/tinet/netinet6/nd6.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r270 r321  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public License の Version 2 に記
    11  *  述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア
    12  *  を改変したものを含む.以下同じ)を使用・複製・改変・再é
    13 å¸ƒï¼ˆä»¥ä¸‹ï¼Œ
    14  *  利用と呼ぶ)することを無償で許諾する.
    15  *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
    16  *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
    17  *      スコード中に含まれていること.
    18  *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
    19  *      用できる形で再é
    20 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é
    21 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
    22  *      è€
    23 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—作権表示,この利用条件および下記
    24  *      の無保証規定を掲載すること.
    25  *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
    26  *      用できない形で再é
    27 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®æ¡ä»¶ã‚’満たすこと.
    28  *    (a) 再é
    29 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€
    30 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—
    31  *        作権表示,この利用条件および下記の無保証規定を掲載すること.
    32  *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
    33  *      害からも,上記著作権è€
    34 ãŠã‚ˆã³TOPPERSプロジェクトをå
    35 è²¬ã™ã‚‹ã“と.
    36  *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     7 *  上記著作権者は,以下の (1)~(4) の条件か,Free Software Foundation
     8 *  によって公表されている GNU General Public License の Version 2 に記
     9 *  述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア
     10 *  を改変したものを含む.以下同じ)を使用・複製・改変・再配布(以下,
     11 *  利用と呼ぶ)することを無償で許諾する.
     12 *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
     13 *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
     14 *      スコード中に含まれていること.
     15 *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
     16 *      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
     17 *      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
     18 *      の無保証規定を掲載すること.
     19 *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
     20 *      用できない形で再配布する場合には,次の条件を満たすこと.
     21 *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
     22 *        作権表示,この利用条件および下記の無保証規定を掲載すること.
     23 *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
     24 *      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
     25 *
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    8270
    8371/*
    84  *  ネットワークインタフェース構造体(T_IFNET)のフラグ
    85  */
    86 
    87 #define ND6_IFF_IFDISABLED      UINT_C(0x01)    /* インタフェースを無効にする。*/
    88 
    89 /*
    90  *  近隣キャッシュ
     72 *  ネットワークインタフェース構造体(T_IFNET)のフラグ
     73 */
     74
     75#define ND6_IFF_IFDISABLED      UINT_C(0x01)    /* インタフェースを無効にする。*/
     76
     77/*
     78 *  近隣キャッシュ
    9179 */
    9280
     
    9583        T_NET_BUF       *hold;
    9684        TMO             tmout;
    97         SYSTIM          expire;         /* [ms] 有効時間が切れる時刻  */
     85        SYSTIM          expire;         /* [ms] 有効時間が切れる時刻      */
    9886        T_IF_ADDR       ifaddr;
    9987        uint8_t         state;
     
    10290        } T_LLINFO_ND6;
    10391
    104 /* 近隣キャッシュの状æ
    105 ‹ */
    106 
    107 #define ND6_LLINFO_FREE                 0       /* 未使用            */
    108 #define ND6_LLINFO_NO_STATE             1       /* 状æ
    109 ‹æœªå®šç¾©              */
    110 #define ND6_LLINFO_INCOMPLETE           2       /* 未解決            */
    111 #define ND6_LLINFO_REACHABLE            3       /* 到達可能         */
    112 #define ND6_LLINFO_STALE                4       /* 到達可能性は未確認  */
    113 #define ND6_LLINFO_DELAY                5       /* 到達可能性の確認å¾
    114 æ©Ÿ     */
    115 #define ND6_LLINFO_PROBE                6       /* 到達可能性を確認中  */
     92/* 近隣キャッシュの状態 */
     93
     94#define ND6_LLINFO_FREE                 0       /* 未使用          */
     95#define ND6_LLINFO_NO_STATE             1       /* 状態未定義                */
     96#define ND6_LLINFO_INCOMPLETE           2       /* 未解決          */
     97#define ND6_LLINFO_REACHABLE            3       /* 到達可能         */
     98#define ND6_LLINFO_STALE                4       /* 到達可能性は未確認    */
     99#define ND6_LLINFO_DELAY                5       /* 到達可能性の確認待機   */
     100#define ND6_LLINFO_PROBE                6       /* 到達可能性を確認中    */
    116101
    117102#define ND6_IS_LLINFO_PROBREACH(n)      ((n)->state > ND6_LLINFO_INCOMPLETE)
    118103
    119 /* 近隣キャッシュの制御ビット */
    120 
    121 #define ND6_LLIF_ROUTER                 UINT_C(0x80)    /* ルータ            */
    122 #define ND6_LLIF_ASKED                  UINT_C(0x40)    /* 通知済み         */
    123 #define ND6_LLIF_STATE_MASK             UINT_C(0x07)    /* 状æ
    124 ‹ãƒžã‚¹ã‚¯              */
    125 
    126 /* 近隣探索キャッシュ、有効時間の定義 */
     104/* 近隣キャッシュの制御ビット */
     105
     106#define ND6_LLIF_ROUTER                 UINT_C(0x80)    /* ルータ          */
     107#define ND6_LLIF_ASKED                  UINT_C(0x40)    /* 通知済み         */
     108#define ND6_LLIF_STATE_MASK             UINT_C(0x07)    /* 状態マスク                */
     109
     110/* 近隣探索キャッシュ、有効時間の定義 */
    127111
    128112#define ND6_SLOW_TMO                    ((60*60*1000)/NET_TIMER_HZ)
    129                                                         /* 1 [時間]                           */
    130                                                         /* 近隣探索キャッシュ更新タイムアウト  */
    131 
    132 #define ND6_MAX_DAD_TRY                 15              /* 重複アドレス検出の再送回数              */
    133 #define ND6_MAX_MCAST_QUERY             3               /* マルチキャストアドレス要請の再送回数       */
    134 #define ND6_MAX_UCAST_QUERY             3               /* ユニキャストアドレス要請の再送回数  */
     113                                                        /* 1 [時間]                               */
     114                                                        /* 近隣探索キャッシュ更新タイムアウト    */
     115
     116#define ND6_MAX_DAD_TRY                 15              /* 重複アドレス検出の再送回数                */
     117#define ND6_MAX_MCAST_QUERY             3               /* マルチキャストアドレス要請の再送回数   */
     118#define ND6_MAX_UCAST_QUERY             3               /* ユニキャストアドレス要請の再送回数    */
    135119
    136120#define ND6_INFINITE_LIFETIME           0xffffffff
    137121
    138122#define ND6_GCOLLECTION_TIME            (60*60*24*SYSTIM_HZ)
    139                                                         /* ゴミ拾い周期、1 日                   */
    140 #define ND6_DELAY_TIME                  (5*SYSTIM_HZ)   /* 確認å¾
    141 æ©Ÿé
    142 å»¶                             */
    143 #define ND6_FIRST_DAD_DELAY_TIME        (1*SYSTIM_HZ)   /* 最初の重複アドレス検出送信é
    144 å»¶     */
     123                                                        /* ゴミ拾い周期、1 日                   */
     124#define ND6_DELAY_TIME                  (5*SYSTIM_HZ)   /* 確認待機遅延                               */
     125#define ND6_FIRST_DAD_DELAY_TIME        (1*SYSTIM_HZ)   /* 最初の重複アドレス検出送信遅延      */
    145126#define ND6_DAD_DELAY_TIME              (5*SYSTIM_HZ/10)
    146                                                         /* 重複アドレス検出送信é
    147 å»¶             */
    148 
    149 /* 近隣探索用タイマの設定 */
    150 
    151 #define ND6_TIMER_TMO                   ((SYSTIM_HZ/NET_TIMER_CYCLE)/5) /* 0.2[s] 間隔                */
    152 
    153 /*
    154  *  到達可能状æ
    155 ‹ã®æœ‰åŠ¹æ™‚é–“
    156  */
    157 
    158 #define ND6_DEF_REACHABLE_TIME          (30*SYSTIM_HZ)  /* 到達可能状æ
    159 ‹ã®æœ‰åŠ¹æ™‚間の既定値            */
     127                                                        /* 重複アドレス検出送信遅延         */
     128
     129/* 近隣探索用タイマの設定 */
     130
     131#define ND6_TIMER_TMO                   ((SYSTIM_HZ/NET_TIMER_CYCLE)/5) /* 0.2[s] 間隔            */
     132
     133/*
     134 *  到達可能状態の有効時間
     135 */
     136
     137#define ND6_DEF_REACHABLE_TIME          (30*SYSTIM_HZ)  /* 到達可能状態の有効時間の既定値              */
    160138#define ND6_MAX_REACHABLE_TIME          (60*60*SYSTIM_HZ)
    161                                                         /* 到達可能状æ
    162 ‹ã®æœ‰åŠ¹æ™‚間の既定値            */
     139                                                        /* 到達可能状態の有効時間の既定値              */
    163140#define ND6_RECALC_REACHTM_INTERVAL     (60*60*2*SYSTIM_HZ)
    164                                                         /* 到達可能状æ
    165 ‹ã®æœ‰åŠ¹æ™‚間再計算間隔 */
    166 
    167 #define ND6_MIN_REACHTM_RAND_FACTOR     512             /* 最小乱数補正値、1,024 * 0.5          */
    168 
    169 #if 1                                                   /* タイマーの起動間隔を考æ
    170 ®ã—、規定より短く設定 */
    171 #define ND6_MAX_REACHTM_RAND_FACTOR     1484            /* 最小乱数補正値、1,024 * 1.45                 */
     141                                                        /* 到達可能状態の有効時間再計算間隔     */
     142
     143#define ND6_MIN_REACHTM_RAND_FACTOR     512             /* 最小乱数補正値、1,024 * 0.5          */
     144
     145#if 1                                                   /* タイマーの起動間隔を考慮し、規定より短く設定       */
     146#define ND6_MAX_REACHTM_RAND_FACTOR     1484            /* 最小乱数補正値、1,024 * 1.45                 */
    172147#else
    173 #define ND6_MAX_REACHTM_RAND_FACTOR     1536            /* 最小乱数補正値、1,024 * 1.5                  */
     148#define ND6_MAX_REACHTM_RAND_FACTOR     1536            /* 最小乱数補正値、1,024 * 1.5                  */
    174149#endif
    175150
    176 /* 到達可能状æ
    177 ‹ã®æœ‰åŠ¹æ™‚間の計算マクロ */
     151/* 到達可能状態の有効時間の計算マクロ */
    178152
    179153#define ND6_CALC_REACH_TIME(b)          \
     
    182156
    183157/*
    184  *  近隣探索の送信間隔
     158 *  近隣探索の送信間隔
    185159 */
    186160
     
    188162
    189163/*
    190  *  ルータ通知により変更されることがある値
     164 *  ルータ通知により変更されることがある値
    191165 */
    192166
    193167#if NUM_ND6_DEF_RTR_ENTRY > 0
    194168
    195 /* ルータ通知を受信する場合は、通知された値 */
     169/* ルータ通知を受信する場合は、通知された値 */
    196170
    197171#define ND6_REACHABLE_TIME              nd6_reachable_time
     
    200174#else   /* #if NUM_ND6_DEF_RTR_ENTRY > 0 */
    201175
    202 /* ルータ通知を受信しない場合の値は既定値 */
     176/* ルータ通知を受信しない場合の値は既定値 */
    203177
    204178#define ND6_REACHABLE_TIME              ND6_DEF_REACHABLE_TIME
     
    208182
    209183/*
    210  *  ディフォルトルータ・リスト
     184 *  ディフォルトルータ・リスト
    211185 */
    212186
    213187typedef struct t_def_router {
    214188        T_IN6_ADDR      addr;
    215         SYSTIM          expire;         /* [ms] 有効時間が切れる時刻  */
    216         uint32_t        lifetime;       /* [ms] 有効時間                    */
    217         uint16_t        plistmap;       /* プレフィックスマップ               */
    218         uint8_t         flags;          /* ルータ通知のフラグ          */
     189        SYSTIM          expire;         /* [ms] 有効時間が切れる時刻      */
     190        uint32_t        lifetime;       /* [ms] 有効時間                    */
     191        uint16_t        plistmap;       /* プレフィックスマップ           */
     192        uint8_t         flags;          /* ルータ通知のフラグ            */
    219193        uint8_t         state;
    220194        } T_DEF_ROUTER;
    221195
    222 /* ディフォルトルータ・リストの状æ
    223 ‹ */
    224 
    225 #define ND6_DEF_RTR_BUSY                0xff    /* 使用中            */
    226 
    227 /* プレフィックスのインデックス */
     196/* ディフォルトルータ・リストの状態 */
     197
     198#define ND6_DEF_RTR_BUSY                0xff    /* 使用中          */
     199
     200/* プレフィックスのインデックス */
    228201
    229202#define ND6_PREFIX_IX_INVALID           0xff
    230203
    231204/*
    232  *  プレフィックス・リスト
     205 *  プレフィックス・リスト
    233206 */
    234207
    235208typedef struct t_nd6_prefix {
    236         T_IN6_ADDR      prefix;         /* プレフィックス                */
    237         uint32_t        expire;         /* [s] 有効時間が切れる時刻   */
    238         uint32_t        preferred;      /* [s] 推奨有効時間が切れる時刻     */
    239         uint32_t        vltime;         /* [s] 有効時間                     */
    240         uint32_t        pltime;         /* [s] 推奨有効時間               */
    241         uint16_t        routermap;      /* ルータマップ                   */
    242         uint8_t         flags;          /* フラグ                    */
    243         uint8_t         prefix_len;     /* プレフィックス長             */
     209        T_IN6_ADDR      prefix;         /* プレフィックス              */
     210        uint32_t        expire;         /* [s] 有効時間が切れる時刻       */
     211        uint32_t        preferred;      /* [s] 推奨有効時間が切れる時刻     */
     212        uint32_t        vltime;         /* [s] 有効時間                     */
     213        uint32_t        pltime;         /* [s] 推奨有効時間           */
     214        uint16_t        routermap;      /* ルータマップ                       */
     215        uint8_t         flags;          /* フラグ                  */
     216        uint8_t         prefix_len;     /* プレフィックス長             */
    244217        } T_ND6_PREFIX;
    245218
    246 /* フラグ */
    247 
    248 #define ND6_PREFIX_FLAG_ONLINK          UINT_C(0x80)    /* オンリンクプレフィックス */
    249 #define ND6_PREFIX_FLAG_AUTO            UINT_C(0x40)    /* ステートレス・アドレス自動設定*/
    250 
    251 #define ND6_PREFIX_STATE_BUSY           UINT_C(0x01)    /* 使用中            */
    252 #define ND6_PREFIX_STATE_ONLINK         UINT_C(0x02)    /* オンリンク状æ
    253 ‹       */
    254 #define ND6_PREFIX_STATE_DETACHED       UINT_C(0x04)    /* 非使用状æ
    255 ‹       */
    256 
    257 /*
    258  *  変数
     219/* フラグ */
     220
     221#define ND6_PREFIX_FLAG_ONLINK          UINT_C(0x80)    /* オンリンクプレフィックス */
     222#define ND6_PREFIX_FLAG_AUTO            UINT_C(0x40)    /* ステートレス・アドレス自動設定*/
     223
     224#define ND6_PREFIX_STATE_BUSY           UINT_C(0x01)    /* 使用中          */
     225#define ND6_PREFIX_STATE_ONLINK         UINT_C(0x02)    /* オンリンク状態      */
     226#define ND6_PREFIX_STATE_DETACHED       UINT_C(0x04)    /* 非使用状態        */
     227
     228/*
     229 *  変数
    259230 */
    260231
     
    266237
    267238/*
    268  *  関数
     239 *  関数
    269240 */
    270241
Note: See TracChangeset for help on using the changeset viewer.