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/net/ethernet.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$
     
    8876
    8977/*
    90  *  フィールド長
     78 *  フィールド長
    9179 */
    9280
     
    9684
    9785/*
    98  *  フレーム長 (Ethernet ヘッダと CRC を含む)
     86 *  フレーム長 (Ethernet ヘッダと CRC を含む)
    9987 */
    10088
     
    10391
    10492/*
    105  *  Ethernet ヘッダ
     93 *  Ethernet ヘッダ
    10694 */
    10795
     
    114102#if IF_ETHER_NIC_HDR_ALIGN != 0
    115103
    116         uint8_t         align[IF_ETHER_NIC_HDR_ALIGN];  /* アライン調整 */
     104        uint8_t         align[IF_ETHER_NIC_HDR_ALIGN];  /* アライン調整 */
    117105
    118106#endif  /* of #if IF_ETHER_NIC_HDR_ALIGN != 0 */
     
    126114
    127115/*
    128  *  MAC アドレスの定義
    129  */
    130 
    131 #define ETHER_MCAST_ADDR        UINT_C(0x01)    /* マルチキャスト・アドレス */
    132 #define ETHER_LOCAL_ADDR        UINT_C(0x02)    /* ローカル・アドレス          */
     116 *  MAC アドレスの定義
     117 */
     118
     119#define ETHER_MCAST_ADDR        UINT_C(0x01)    /* マルチキャスト・アドレス */
     120#define ETHER_LOCAL_ADDR        UINT_C(0x02)    /* ローカル・アドレス            */
    133121
    134122typedef struct t_ether_addr {
     
    137125
    138126/*
    139  *  Type フィールド
     127 *  Type フィールド
    140128 */
    141129
     
    145133
    146134/*
    147  *  インタフェースの選択マクロ
    148  */
    149 
    150 #define T_IF_HDR                T_ETHER_HDR             /* インタフェースのヘッダ                            */
    151 #define T_IF_ADDR               T_ETHER_ADDR            /* インタフェースのアドレス                 */
    152 #define IF_HDR_ALIGN            2                       /* ヘッダのアライン単位                               */
    153 #define IF_MTU                  1500                    /* インタフェースの MTU                         */
    154 
    155 #define IF_OUTPUT(o,d,g,t)      ether_output(o,d,g,t)   /* インタフェースの出力関数                 */
    156 #define IF_RAW_OUTPUT(o,t)      ether_raw_output(o,t)   /* インタフェースの出力関数、アドレス解決無し      */
     135 *  インタフェースの選択マクロ
     136 */
     137
     138#define T_IF_HDR                T_ETHER_HDR             /* インタフェースのヘッダ                          */
     139#define T_IF_ADDR               T_ETHER_ADDR            /* インタフェースのアドレス                 */
     140#define IF_HDR_ALIGN            2                       /* ヘッダのアライン単位                           */
     141#define IF_MTU                  1500                    /* インタフェースの MTU                         */
     142
     143#define IF_OUTPUT(o,d,g,t)      ether_output(o,d,g,t)   /* インタフェースの出力関数                 */
     144#define IF_RAW_OUTPUT(o,t)      ether_raw_output(o,t)   /* インタフェースの出力関数、アドレス解決無し        */
    157145#define IF_SET_PROTO(b,p)       (GET_ETHER_HDR(b)->type = htons(p))
    158                                                         /* インタフェースのプロトコル設定関数          */
     146                                                        /* インタフェースのプロトコル設定関数            */
    159147#define IF_SOFTC_TO_IFADDR(s)   ((T_IF_ADDR*)(s)->ifaddr.lladdr)
    160                                                         /* ソフトウェアæƒ
    161 å ±ã‹ã‚‰ MAC アドレスを取り出す       */
    162 #define IF_GET_IFNET()          ether_get_ifnet()       /* ネットワークインタフェース構造体を返す。         */
    163 #define IF_TYPE                 IFT_ETHER               /* インターフェースの型                               */
    164 
    165 /* IPv4 関係 */
    166 
    167 #define IF_PROTO_IP             ETHER_TYPE_IP           /* インタフェースの IP プロトコル指定            */
    168 #define IF_PROTO_ARP            ETHER_TYPE_ARP          /* インタフェースの ARP プロトコル指定           */
    169 
    170 /* IPv6 関係 */
    171 
    172 #define MAX_IF_MADDR_CNT        2                       /* インタフェースのマルチキャストアドレスé
    173 åˆ—の最大サイズ  */
     148                                                        /* ソフトウェア情報から MAC アドレスを取り出す     */
     149#define IF_GET_IFNET()          ether_get_ifnet()       /* ネットワークインタフェース構造体を返す。         */
     150#define IF_TYPE                 IFT_ETHER               /* インターフェースの型                           */
     151
     152/* IPv4 関係 */
     153
     154#define IF_PROTO_IP             ETHER_TYPE_IP           /* インタフェースの IP プロトコル指定          */
     155#define IF_PROTO_ARP            ETHER_TYPE_ARP          /* インタフェースの ARP プロトコル指定         */
     156
     157/* IPv6 関係 */
     158
     159#define MAX_IF_MADDR_CNT        2                       /* インタフェースのマルチキャストアドレス配列の最大サイズ  */
    174160#define IF_MADDR_INIT           { { { 0, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0 } } }
    175                                                         /* インタフェースのマルチキャストアドレスé
    176 åˆ—の初期化        */
    177 #define IF_PROTO_IPV6           ETHER_TYPE_IPV6         /* インタフェースの IP プロトコル指定                    */
     161                                                        /* インタフェースのマルチキャストアドレス配列の初期化    */
     162#define IF_PROTO_IPV6           ETHER_TYPE_IPV6         /* インタフェースの IP プロトコル指定                  */
    178163#define IF_ADDMULTI(s)          IF_ETHER_NIC_ADDMULTI(s)
    179                                                         /* マルチキャストアドレスの登録                           */
    180 #define IF_IN6_NEED_CACHE(i)    (true)                  /* 近隣探索キャッシュを使用する。                                */
     164                                                        /* マルチキャストアドレスの登録                               */
     165#define IF_IN6_NEED_CACHE(i)    (true)                  /* 近隣探索キャッシュを使用する。                              */
    181166#define IF_IN6_IFID(i,a)        IF_ETHER_NIC_IN6_IFID(i,a)
    182                                                         /* インタフェース識別子の設定                              */
     167                                                        /* インタフェース識別子の設定                                */
    183168#define IF_IN6_RESOLVE_MULTICAST(i,m)   \
    184169                                ether_in6_resolve_multicast(i,m)
    185                                                         /* インタフェースのマルチキャストアドレスへの変換                */
    186 
    187 /*
    188  *  前方参ç
    189 §
     170                                                        /* インタフェースのマルチキャストアドレスへの変換              */
     171
     172/*
     173 *  前方参照
    190174 */
    191175
     
    223207
    224208/*
    225  *  ネットワークインタフェースに依存しないソフトウェアæƒ
    226 å ±
     209 *  ネットワークインタフェースに依存しないソフトウェア情報
    227210 */
    228211
     
    230213
    231214struct t_if_softc {
    232         T_IF_ADDR               ifaddr;                 /* ネットワークインタフェースのアドレス       */
    233         uint16_t                timer;                  /* 送信タイムアウト                     */
    234         T_IF_ETHER_NIC_SOFTC    *sc;    /* ディバイス依存のソフトウェアæƒ
    235 å ±     */
    236         ID                      semid_txb_ready;        /* 送信セマフォ                           */
    237         ID                      semid_rxb_ready;        /* 受信セマフォ                           */
     215        T_IF_ADDR               ifaddr;                 /* ネットワークインタフェースのアドレス   */
     216        uint16_t                timer;                  /* 送信タイムアウト                     */
     217        T_IF_ETHER_NIC_SOFTC    *sc;    /* ディバイス依存のソフトウェア情報     */
     218        ID                      semid_txb_ready;        /* 送信セマフォ                               */
     219        ID                      semid_rxb_ready;        /* 受信セマフォ                               */
    238220
    239221#ifdef SUPPORT_INET6
    240222
    241         T_IF_ADDR       maddrs[MAX_IF_MADDR_CNT];       /* マルチキャストアドレスリスト   */
     223        T_IF_ADDR       maddrs[MAX_IF_MADDR_CNT];       /* マルチキャストアドレスリスト       */
    242224
    243225#endif  /* of #ifdef SUPPORT_INET6 */
     
    251233#ifdef SUPPORT_INET6
    252234
    253 /* 前方参ç
    254 § */
     235/* 前方参照 */
    255236
    256237#ifndef T_IN6_ADDR_DEFINED
     
    263244
    264245/*
    265  *  関数
     246 *  関数
    266247 */
    267248
     
    271252
    272253/*
    273  *  関数
     254 *  関数
    274255 */
    275256
Note: See TracChangeset for help on using the changeset viewer.