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

SVNプロパティを設定

File:
1 edited

Legend:

Unmodified
Added
Removed
  • rubycfg_asp/trunk/asp_dcre/tinet/net/ethernet.h

    • Property svn:mime-type changed from text/x-chdr to text/x-chdr; charset=UTF-8
    r313 r315  
    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
     
    117105#if IF_ETHER_NIC_HDR_ALIGN != 0
    118106
    119         uint8_t         align[IF_ETHER_NIC_HDR_ALIGN];  /* アライン調整 */
     107        uint8_t         align[IF_ETHER_NIC_HDR_ALIGN];  /* アライン調整 */
    120108
    121109#endif  /* of #if IF_ETHER_NIC_HDR_ALIGN != 0 */
     
    133121#if IF_ETHER_NIC_HDR_ALIGN != 0
    134122
    135         uint8_t         align[IF_ETHER_NIC_HDR_ALIGN];  /* アライン調整 */
     123        uint8_t         align[IF_ETHER_NIC_HDR_ALIGN];  /* アライン調整 */
    136124
    137125#endif  /* of #if IF_ETHER_NIC_HDR_ALIGN != 0 */
     
    148136#if IF_ETHER_NIC_HDR_ALIGN != 0
    149137
    150         uint8_t         align[IF_ETHER_NIC_HDR_ALIGN];  /* アライン調整 */
     138        uint8_t         align[IF_ETHER_NIC_HDR_ALIGN];  /* アライン調整 */
    151139
    152140#endif  /* of #if IF_ETHER_NIC_HDR_ALIGN != 0 */
     
    162150
    163151/*
    164  *  MAC アドレスの定義
    165  */
    166 
    167 #define ETHER_MCAST_ADDR        UINT_C(0x01)    /* マルチキャスト・アドレス */
    168 #define ETHER_LOCAL_ADDR        UINT_C(0x02)    /* ローカル・アドレス          */
     152 *  MAC アドレスの定義
     153 */
     154
     155#define ETHER_MCAST_ADDR        UINT_C(0x01)    /* マルチキャスト・アドレス */
     156#define ETHER_LOCAL_ADDR        UINT_C(0x02)    /* ローカル・アドレス            */
    169157
    170158typedef struct t_ether_addr {
     
    173161
    174162/*
    175  *  Type フィールド
     163 *  Type フィールド
    176164 */
    177165
     
    181169
    182170/*
    183  *  インタフェースの選択マクロ
    184  */
    185 
    186 #define T_IF_HDR                T_ETHER_HDR             /* インタフェースのヘッダ                            */
    187 #define T_IF_ADDR               T_ETHER_ADDR            /* インタフェースのアドレス                 */
    188 #define IF_HDR_ALIGN            2                       /* ヘッダのアライン単位                               */
    189 #define IF_MTU                  1500                    /* インタフェースの MTU                         */
    190 #define IF_MIN_LEN              ETHER_MIN_LEN           /* インターフェースフレームの最短長             */
    191 
    192 #define IF_OUTPUT(o,d,g,t)      ether_output(o,d,g,t)   /* インタフェースの出力関数                 */
    193 #define IF_RAW_OUTPUT(o,t)      ether_raw_output(o,t)   /* インタフェースの出力関数、アドレス解決無し      */
     171 *  インタフェースの選択マクロ
     172 */
     173
     174#define T_IF_HDR                T_ETHER_HDR             /* インタフェースのヘッダ                          */
     175#define T_IF_ADDR               T_ETHER_ADDR            /* インタフェースのアドレス                 */
     176#define IF_HDR_ALIGN            2                       /* ヘッダのアライン単位                           */
     177#define IF_MTU                  1500                    /* インタフェースの MTU                         */
     178#define IF_MIN_LEN              ETHER_MIN_LEN           /* インターフェースフレームの最短長             */
     179
     180#define IF_OUTPUT(o,d,g,t)      ether_output(o,d,g,t)   /* インタフェースの出力関数                 */
     181#define IF_RAW_OUTPUT(o,t)      ether_raw_output(o,t)   /* インタフェースの出力関数、アドレス解決無し        */
    194182#define IF_SET_PROTO(b,p)       (GET_ETHER_HDR(b)->type = htons(p))
    195                                                         /* インタフェースのプロトコル設定関数          */
     183                                                        /* インタフェースのプロトコル設定関数            */
    196184#define IF_SOFTC_TO_IFADDR(s)   ((T_IF_ADDR*)(s)->ifaddr.lladdr)
    197                                                         /* ソフトウェアæƒ
    198 å ±ã‹ã‚‰ MAC アドレスを取り出す       */
    199 #define IF_GET_IFNET()          ether_get_ifnet()       /* ネットワークインタフェース構造体を返す。         */
    200 #define IF_TYPE                 IFT_ETHER               /* インタフェースの型                          */
    201 #define IF_SRAND()              ether_srand()   /* インタフェースの乱数初期値                      */
    202 
    203 /* IPv4 関係 */
    204 
    205 #define IF_PROTO_IP             ETHER_TYPE_IP           /* インタフェースの IPv4 プロトコル指定          */
    206 #define IF_PROTO_ARP            ETHER_TYPE_ARP          /* インタフェースの ARP プロトコル指定           */
    207 
    208 /* IPv6 関係 */
    209 
    210 #define MAX_IF_MADDR_CNT        2                       /* インタフェースのマルチキャストアドレスé
    211 åˆ—の最大サイズ  */
     185                                                        /* ソフトウェア情報から MAC アドレスを取り出す     */
     186#define IF_GET_IFNET()          ether_get_ifnet()       /* ネットワークインタフェース構造体を返す。         */
     187#define IF_TYPE                 IFT_ETHER               /* インタフェースの型                            */
     188#define IF_SRAND()              ether_srand()   /* インタフェースの乱数初期値                        */
     189
     190/* IPv4 関係 */
     191
     192#define IF_PROTO_IP             ETHER_TYPE_IP           /* インタフェースの IPv4 プロトコル指定                */
     193#define IF_PROTO_ARP            ETHER_TYPE_ARP          /* インタフェースの ARP プロトコル指定         */
     194
     195/* IPv6 関係 */
     196
     197#define MAX_IF_MADDR_CNT        2                       /* インタフェースのマルチキャストアドレス配列の最大サイズ  */
    212198#define IF_MADDR_INIT           { { { 0, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0 } } }
    213                                                         /* インタフェースのマルチキャストアドレスé
    214 åˆ—の初期化        */
    215 #define IF_PROTO_IPV6           ETHER_TYPE_IPV6         /* インタフェースの IPv6 プロトコル指定                  */
     199                                                        /* インタフェースのマルチキャストアドレス配列の初期化    */
     200#define IF_PROTO_IPV6           ETHER_TYPE_IPV6         /* インタフェースの IPv6 プロトコル指定                        */
    216201#define IF_ADDMULTI(s)          IF_ETHER_NIC_ADDMULTI(s)
    217                                                         /* マルチキャストアドレスの登録                           */
    218 #define IF_IN6_NEED_CACHE(i)    (true)                  /* 近隣探索キャッシュを使用する。                                */
     202                                                        /* マルチキャストアドレスの登録                               */
     203#define IF_IN6_NEED_CACHE(i)    (true)                  /* 近隣探索キャッシュを使用する。                              */
    219204#define IF_IN6_IFID(i,a)        IF_ETHER_NIC_IN6_IFID(i,a)
    220                                                         /* インタフェース識別子の設定                              */
     205                                                        /* インタフェース識別子の設定                                */
    221206#define IF_IN6_RESOLVE_MULTICAST(i,m)   \
    222207                                ether_in6_resolve_multicast(i,m)
    223                                                         /* インタフェースのマルチキャストアドレスへの変換                */
    224 
    225 /*
    226  *  前方参ç
    227 §
     208                                                        /* インタフェースのマルチキャストアドレスへの変換              */
     209
     210/*
     211 *  前方参照
    228212 */
    229213
     
    261245
    262246/*
    263  *  ネットワークインタフェースに依存しないソフトウェアæƒ
    264 å ±
     247 *  ネットワークインタフェースに依存しないソフトウェア情報
    265248 */
    266249
     
    268251
    269252struct t_if_softc {
    270         T_IF_ADDR               ifaddr;                 /* ネットワークインタフェースのアドレス       */
    271         uint16_t                timer;                  /* 送信タイムアウト                     */
    272         T_IF_ETHER_NIC_SOFTC    *sc;                    /* ディバイス依存のソフトウェアæƒ
    273 å ±     */
    274         ID                      semid_txb_ready;        /* 送信セマフォ                           */
    275         ID                      semid_rxb_ready;        /* 受信セマフォ                           */
     253        T_IF_ADDR               ifaddr;                 /* ネットワークインタフェースのアドレス   */
     254        uint16_t                timer;                  /* 送信タイムアウト                     */
     255        T_IF_ETHER_NIC_SOFTC    *sc;                    /* ディバイス依存のソフトウェア情報     */
     256        ID                      semid_txb_ready;        /* 送信セマフォ                               */
     257        ID                      semid_rxb_ready;        /* 受信セマフォ                               */
    276258
    277259#ifdef _IP6_CFG
    278260
    279         T_IF_ADDR       maddrs[MAX_IF_MADDR_CNT];       /* マルチキャストアドレスリスト   */
     261        T_IF_ADDR       maddrs[MAX_IF_MADDR_CNT];       /* マルチキャストアドレスリスト       */
    280262
    281263#endif  /* of #ifdef _IP6_CFG */
     
    285267
    286268/*
    287  *  変数
     269 *  変数
    288270 */
    289271
     
    295277
    296278/*
    297  *  関数
     279 *  関数
    298280 */
    299281
    300282#ifdef _IP6_CFG
    301283
    302 /* 前方参ç
    303 § */
     284/* 前方参照 */
    304285
    305286#ifndef T_IN6_ADDR_DEFINED
Note: See TracChangeset for help on using the changeset viewer.