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/net_buf.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 è²¬ã™ã‚‹ã“と.
     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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4836
    4937/*
    50  *  ネットワークバッファ
     38 *  ネットワークバッファ
    5139 *
    52  *    4 オクテットでアラインするå¿
    53 è¦ã®ã‚るプロセッサを考æ
    54 ®ã—て、
    55  *    IF ヘッダサイズが 4 オクテット境界でないの場合、
    56  *    IP ヘッダ以降を 4 オクテット境界に調整する。
     40 *    4 オクテットでアラインする必要のあるプロセッサを考慮して、
     41 *    IF ヘッダサイズが 4 オクテット境界でないの場合、
     42 *    IP ヘッダ以降を 4 オクテット境界に調整する。
    5743 */
    5844
     
    6248
    6349/*
    64  *  テンプレート
     50 *  テンプレート
    6551 */
    6652
    6753struct t_net_buf {
    68         uint16_t        len;    /* データの長さ           */
    69         uint8_t         idix;   /* mpfid のインデックス  */
    70         uint8_t         flags;  /* フラグ            */
    71 #ifdef IF_ETHER_NIC_NET_BUF_ALIGN
    72         uint8_t         nalign[IF_ETHER_NIC_NET_BUF_ALIGN];
    73 #endif
    74 #if CPU_NET_ALIGN == 4 && IF_HDR_ALIGN != 4
    75         uint8_t         halign[4 - IF_HDR_ALIGN];
    76 #endif
    77         uint8_t         buf[4]; /* バッファ本体           */
     54        uint16_t        len;    /* データの長さ               */
     55        uint8_t         idix;   /* mpfid のインデックス        */
     56        uint8_t         flags;  /* フラグ          */
     57#ifdef IF_ETHER_NIC_NET_BUF_ALIGN
     58        uint8_t         nalign[IF_ETHER_NIC_NET_BUF_ALIGN];
     59#endif
     60#if CPU_NET_ALIGN == 4 && IF_HDR_ALIGN != 4
     61        uint8_t         halign[4 - IF_HDR_ALIGN];
     62#endif
     63        uint8_t         buf[4]; /* バッファ本体               */
    7864        };
    7965
     
    8672#endif  /* of #ifndef T_NET_BUF_DEFINED */
    8773/*
    88  *  64 オクテット
     74 *  64 オクテット
    8975 */
    9076
    9177typedef struct t_net_buf_64 {
    92         uint16_t        len;    /* データの長さ           */
    93         uint8_t         idix;   /* mpfid のインデックス  */
    94         uint8_t         flags;  /* フラグ            */
    95 #ifdef IF_ETHER_NIC_NET_BUF_ALIGN
    96         uint8_t         nalign[IF_ETHER_NIC_NET_BUF_ALIGN];
    97 #endif
    98 #if CPU_NET_ALIGN == 4 && IF_HDR_ALIGN != 4
    99         uint8_t         halign[4 - IF_HDR_ALIGN];
    100 #endif
    101         uint8_t         buf[64]; /* バッファ本体  */
     78        uint16_t        len;    /* データの長さ               */
     79        uint8_t         idix;   /* mpfid のインデックス        */
     80        uint8_t         flags;  /* フラグ          */
     81#ifdef IF_ETHER_NIC_NET_BUF_ALIGN
     82        uint8_t         nalign[IF_ETHER_NIC_NET_BUF_ALIGN];
     83#endif
     84#if CPU_NET_ALIGN == 4 && IF_HDR_ALIGN != 4
     85        uint8_t         halign[4 - IF_HDR_ALIGN];
     86#endif
     87        uint8_t         buf[64]; /* バッファ本体      */
    10288        } T_NET_BUF_64;
    10389
    10490/*
    105  *  128 オクテット
     91 *  128 オクテット
    10692 */
    10793
    10894typedef struct t_net_buf_128 {
    109         uint16_t        len;    /* データの長さ           */
    110         uint8_t         idix;   /* mpfid のインデックス  */
    111         uint8_t         flags;  /* フラグ            */
    112 #ifdef IF_ETHER_NIC_NET_BUF_ALIGN
    113         uint8_t         nalign[IF_ETHER_NIC_NET_BUF_ALIGN];
    114 #endif
    115 #if CPU_NET_ALIGN == 4 && IF_HDR_ALIGN != 4
    116         uint8_t         halign[4 - IF_HDR_ALIGN];
    117 #endif
    118         uint8_t         buf[128]; /* バッファ本体 */
     95        uint16_t        len;    /* データの長さ               */
     96        uint8_t         idix;   /* mpfid のインデックス        */
     97        uint8_t         flags;  /* フラグ          */
     98#ifdef IF_ETHER_NIC_NET_BUF_ALIGN
     99        uint8_t         nalign[IF_ETHER_NIC_NET_BUF_ALIGN];
     100#endif
     101#if CPU_NET_ALIGN == 4 && IF_HDR_ALIGN != 4
     102        uint8_t         halign[4 - IF_HDR_ALIGN];
     103#endif
     104        uint8_t         buf[128]; /* バッファ本体     */
    119105        } T_NET_BUF_128;
    120106
    121107/*
    122  *  256 オクテット
     108 *  256 オクテット
    123109 */
    124110
    125111typedef struct t_net_buf_256 {
    126         uint16_t        len;    /* データの長さ           */
    127         uint8_t         idix;   /* mpfid のインデックス  */
    128         uint8_t         flags;  /* フラグ            */
    129 #ifdef IF_ETHER_NIC_NET_BUF_ALIGN
    130         uint8_t         nalign[IF_ETHER_NIC_NET_BUF_ALIGN];
    131 #endif
    132 #if CPU_NET_ALIGN == 4 && IF_HDR_ALIGN != 4
    133         uint8_t         halign[4 - IF_HDR_ALIGN];
    134 #endif
    135         uint8_t         buf[256]; /* バッファ本体 */
     112        uint16_t        len;    /* データの長さ               */
     113        uint8_t         idix;   /* mpfid のインデックス        */
     114        uint8_t         flags;  /* フラグ          */
     115#ifdef IF_ETHER_NIC_NET_BUF_ALIGN
     116        uint8_t         nalign[IF_ETHER_NIC_NET_BUF_ALIGN];
     117#endif
     118#if CPU_NET_ALIGN == 4 && IF_HDR_ALIGN != 4
     119        uint8_t         halign[4 - IF_HDR_ALIGN];
     120#endif
     121        uint8_t         buf[256]; /* バッファ本体     */
    136122        } T_NET_BUF_256;
    137123
    138124/*
    139  *  512 オクテット
     125 *  512 オクテット
    140126 */
    141127
    142128typedef struct t_net_buf_512 {
    143         uint16_t        len;    /* データの長さ           */
    144         uint8_t         idix;   /* mpfid のインデックス  */
    145         uint8_t         flags;  /* フラグ            */
    146 #ifdef IF_ETHER_NIC_NET_BUF_ALIGN
    147         uint8_t         nalign[IF_ETHER_NIC_NET_BUF_ALIGN];
    148 #endif
    149 #if CPU_NET_ALIGN == 4 && IF_HDR_ALIGN != 4
    150         uint8_t         halign[4 - IF_HDR_ALIGN];
    151 #endif
    152         uint8_t         buf[512];/* バッファ本体  */
     129        uint16_t        len;    /* データの長さ               */
     130        uint8_t         idix;   /* mpfid のインデックス        */
     131        uint8_t         flags;  /* フラグ          */
     132#ifdef IF_ETHER_NIC_NET_BUF_ALIGN
     133        uint8_t         nalign[IF_ETHER_NIC_NET_BUF_ALIGN];
     134#endif
     135#if CPU_NET_ALIGN == 4 && IF_HDR_ALIGN != 4
     136        uint8_t         halign[4 - IF_HDR_ALIGN];
     137#endif
     138        uint8_t         buf[512];/* バッファ本体      */
    153139        } T_NET_BUF_512;
    154140
    155141/*
    156  *  1024 オクテット
     142 *  1024 オクテット
    157143 */
    158144
    159145typedef struct t_net_buf_1024 {
    160         uint16_t        len;    /* データの長さ           */
    161         uint8_t         idix;   /* mpfid のインデックス  */
    162         uint8_t         flags;  /* フラグ            */
    163 #ifdef IF_ETHER_NIC_NET_BUF_ALIGN
    164         uint8_t         nalign[IF_ETHER_NIC_NET_BUF_ALIGN];
    165 #endif
    166 #if CPU_NET_ALIGN == 4 && IF_HDR_ALIGN != 4
    167         uint8_t         halign[4 - IF_HDR_ALIGN];
    168 #endif
    169         uint8_t         buf[1024]; /* バッファ本体        */
     146        uint16_t        len;    /* データの長さ               */
     147        uint8_t         idix;   /* mpfid のインデックス        */
     148        uint8_t         flags;  /* フラグ          */
     149#ifdef IF_ETHER_NIC_NET_BUF_ALIGN
     150        uint8_t         nalign[IF_ETHER_NIC_NET_BUF_ALIGN];
     151#endif
     152#if CPU_NET_ALIGN == 4 && IF_HDR_ALIGN != 4
     153        uint8_t         halign[4 - IF_HDR_ALIGN];
     154#endif
     155        uint8_t         buf[1024]; /* バッファ本体    */
    170156        } T_NET_BUF_1024;
    171157
    172158/*
    173  *  ネットワークインタフェースの最大 PDU サイズ
     159 *  ネットワークインタフェースの最大 PDU サイズ
    174160 */
    175161
    176162typedef struct t_net_buf_if_pdu {
    177         uint16_t        len;    /* データの長さ           */
    178         uint8_t         idix;   /* mpfid のインデックス  */
    179         uint8_t         flags;  /* フラグ            */
     163        uint16_t        len;    /* データの長さ               */
     164        uint8_t         idix;   /* mpfid のインデックス        */
     165        uint8_t         flags;  /* フラグ          */
    180166#ifdef IF_ETHER_NIC_NET_BUF_ALIGN
    181167        uint8_t         nalign[IF_ETHER_NIC_NET_BUF_ALIGN];
     
    185171#endif
    186172        uint8_t         buf[IF_PDU_SIZE];
    187                                 /* バッファ本体           */
     173                                /* バッファ本体               */
    188174#if defined(IF_PDU_HDR_PADDING)
    189175        uint8_t         padding[IF_PDU_HDR_PADDING];
    190 #endif                          /* ヘッダの余分           */
     176#endif                          /* ヘッダの余分               */
    191177        } T_NET_BUF_IF_PDU;
    192178
    193179/*
    194  *  ネットワークバッファ表
     180 *  ネットワークバッファ表
    195181 */
    196182
     
    212198
    213199/*
    214  *  ネットワークバッファ・フラグ 
    215  */
    216 
    217 /*
    218  *  ネットワークインタフェース出力後にネットワークバッファを開放しない。
    219  *  注意: 出力後にこのフラグはクリアされる。
     200 *  ネットワークバッファ・フラグ     
     201 */
     202
     203/*
     204 *  ネットワークインタフェース出力後にネットワークバッファを開放しない。
     205 *  注意: 出力後にこのフラグはクリアされる。
    220206 */
    221207#define NB_FLG_NOREL_IFOUT      UINT_C(0x80)
    222208
    223209/*
    224  *  ESP 用フラグ
     210 *  ESP 用フラグ
    225211 */
    226212#define NB_FLG_DECRYPED         UINT_C(0x40)
    227213
    228214/*
    229  *  ネットワークバッファ獲得属性
    230  */
    231 
    232 /* 探索属性 */
    233 
    234 #define NBA_SEARCH_ASCENT       UINT_C(0x1000)  /* 大きなサイズの方向に探索する。        */
    235 #define NBA_SEARCH_DESCENT      UINT_C(0x2000)  /* 小さなサイズの方向に探索する。        */
    236 #define NBA_RESERVE_TCP         UINT_C(0x4000)  /* TCP 用にネットワークバッファを予約する。*/
    237 #define NBA_ID_MASK             UINT_C(0x0fff)  /* 通信端点 ID を渡す場合のマスク値       */
    238 
    239 /*
    240  *  関数シミュレーションマクロ
     215 *  ネットワークバッファ獲得属性
     216 */
     217
     218/* 探索属性 */
     219
     220#define NBA_SEARCH_ASCENT       UINT_C(0x1000)  /* 大きなサイズの方向に探索する。      */
     221#define NBA_SEARCH_DESCENT      UINT_C(0x2000)  /* 小さなサイズの方向に探索する。      */
     222#define NBA_RESERVE_TCP         UINT_C(0x4000)  /* TCP 用にネットワークバッファを予約する。*/
     223#define NBA_ID_MASK             UINT_C(0x0fff)  /* 通信端点 ID を渡す場合のマスク値   */
     224
     225/*
     226 *  関数シミュレーションマクロ
    241227 */
    242228
     
    244230
    245231/*
    246  *  関数
     232 *  関数
    247233 */
    248234
Note: See TracChangeset for help on using the changeset viewer.