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

ビルドが通るよう更新

File:
1 edited

Legend:

Unmodified
Added
Removed
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet6/in6.c

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