Ignore:
Timestamp:
Jan 21, 2018, 12:10:09 AM (6 years ago)
Author:
coas-nagasima
Message:

prototoolに関連するプロジェクトをnewlibからmuslを使うよう変更・更新
ntshellをnewlibの下位の実装から、muslのsyscallの実装に変更・更新
以下のOSSをアップデート
・mruby-1.3.0
・musl-1.1.18
・onigmo-6.1.3
・tcc-0.9.27
以下のOSSを追加
・openssl-1.1.0e
・curl-7.57.0
・zlib-1.2.11
以下のmrbgemsを追加
・iij/mruby-digest
・iij/mruby-env
・iij/mruby-errno
・iij/mruby-iijson
・iij/mruby-ipaddr
・iij/mruby-mock
・iij/mruby-require
・iij/mruby-tls-openssl

File:
1 edited

Legend:

Unmodified
Added
Removed
  • EcnlProtoTool/trunk/asp3_dcre/tinet/netinet/in.h

    r321 r331  
    22 *  TINET (TCP/IP Protocol Stack)
    33 *
    4  *  Copyright (C) 2001-2009 by Dep. of Computer Science and Engineering
     4 *  Copyright (C) 2001-2017 by Dep. of Computer Science and Engineering
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
     
    7373#include <tinet_kernel_defs.h>
    7474
     75#include <netinet/in4.h>
    7576#include <netinet6/in6.h>
    7677
     
    7980 */
    8081
    81 #define TINET_PRVER             UINT_C(0x1054)  /* TINET のバージョン番号 */
     82#define TINET_PRVER             UINT_C(0x1070)  /* TINET のバージョン番号 */
    8283
    8384/*
     
    9293#define IPPROTO_HOPOPTS         UINT_C(0)       /* IPv6 中継点 (Hop-by-Hop) オプション  */
    9394#define IPPROTO_ICMP            UINT_C(1)       /* ICMP                                 */
     95#define IPPROTO_IGMP            UINT_C(2)       /* IGMP                                 */
    9496#define IPPROTO_TCP             UINT_C(6)       /* TCP                                  */
    9597#define IPPROTO_UDP             UINT_C(17)      /* UDP                                  */
     
    107109
    108110/*
    109  *  IPv4 アドレス
     111 *  ポートの長さ
    110112 */
    111113
    112 /* 前方参照 */
    113 
    114 #ifndef T_IN4_ADDR_DEFINED
    115 
    116 typedef uint32_t T_IN4_ADDR;
    117 
    118 #define T_IN4_ADDR_DEFINED
    119 
    120 #endif  /* of #ifndef T_IN4_ADDR_DEFINED */
    121 
    122 /*
    123  *  ITRON TCP/IPv4 アドレス/ポート番号の定義
    124  */
    125 
    126 typedef struct t_ipv4ep {
    127         uint32_t        ipaddr;         /* IPv4 アドレス    */
    128         uint16_t        portno;         /* ポート番号                */
    129         } T_IPV4EP;
    130 
    131 /*
    132  *  アドレス/ポートの長さ
    133  */
    134 
    135 #define IPV4_ADDR_LEN           4
    136114#define PORT_NUM_LEN            2
    137115
     
    152130
    153131/*
    154  *  IP アドレスの定義
     132 *  API IPプロトコルの指定
    155133 */
    156134
    157 #define IPV4_ADDRANY            ULONG_C(0x00000000)     /* ITRON TCP/IP 標準      */
    158 
    159 #define IPV4_ADDR_LOOPBACK      ULONG_C(0x7f000001)
    160 #define IPV4_ADDR_LOOPBACK_MASK IPV4_CLASS_A_MASK
    161 #define IPV4_ADDR_BROADCAST     ULONG_C(0xffffffff)
    162 
    163 #define IPV4_CLASS_A(i)         (((i) & ULONG_C(0x80000000)) == 0)
    164 #define IPV4_CLASS_A_NET        ULONG_C(0xff000000)
    165 #define IPV4_CLASS_A_MASK       ULONG_C(0xff000000)
    166 #define IPV4_CLASS_A_HOST       ULONG_C(0x00ffffff)
    167 
    168 #define IPV4_CLASS_B(i)         (((i) & ULONG_C(0xc0000000)) == ULONG_C(0x80000000))
    169 #define IPV4_CLASS_B_NET        ULONG_C(0xffff0000)
    170 #define IPV4_CLASS_B_MASK       ULONG_C(0xffff0000)
    171 #define IPV4_CLASS_B_HOST       ULONG_C(0x0000ffff)
    172 
    173 #define IPV4_CLASS_C(i)         (((i) & ULONG_C(0xe0000000)) == ULONG_C(0xc0000000))
    174 #define IPV4_CLASS_C_NET        ULONG_C(0xffffff00)
    175 #define IPV4_CLASS_C_MASK       ULONG_C(0xffffff00)
    176 #define IPV4_CLASS_C_HOST       ULONG_C(0x000000ff)
    177 
    178 #define IPV4_CLASS_D(i)         (((i) & ULONG_C(0xf0000000)) == ULONG_C(0xe0000000))
    179 
    180 #define IN4_IS_ADDR_MULTICAST(i)        IPV4_CLASS_D(i)
    181 
    182 #define MAKE_IPV4_LOCAL_BROADCAST(i)    (IPV4_CLASS_A(i)?((i)|IPV4_CLASS_A_HOST):\
    183                                          IPV4_CLASS_B(i)?((i)|IPV4_CLASS_B_HOST):\
    184                                          IPV4_CLASS_C(i)?((i)|IPV4_CLASS_C_HOST):\
    185                                          IPV4_ADDR_BROADCAST)
    186 
    187 #define MAKE_IPV4_LOCAL_MASK(i)         (IPV4_CLASS_A(i)?IPV4_CLASS_A_MASK:\
    188                                          IPV4_CLASS_B(i)?IPV4_CLASS_B_MASK:\
    189                                          IPV4_CLASS_C(i)?IPV4_CLASS_C_MASK:\
    190                                          IPV4_ADDRANY)
    191 
    192 #define MAKE_IPV4_ADDR(a,b,c,d)         ((T_IN4_ADDR)(((uint32_t)(a)<<24)|((uint32_t)(b)<<16)|((uint32_t)(c)<<8)|(d)))
     135#define API_PROTO_IPVn                  'n'
     136#define API_PROTO_IPV6                  '6'
     137#define API_PROTO_IPV4                  '4'
    193138
    194139/*
    195  *  動的生成用 TCP 通信端点
     140 *  動的生成用 TCP/IPv6 通信端点
    196141 */
    197142
    198 typedef struct t_tcp_ccep {
    199         /* 標準 */
    200         ATR             cepatr;         /* 通信端点属性                       */
    201         void            *sbuf;          /* 送信用ウィンドバッファ  */
    202         int_t           sbufsz;         /* 送信用ウィンドバッファサイズ       */
    203         void            *rbuf;          /* 受信用ウィンドバッファ  */
    204         int_t           rbufsz;         /* 受信用ウィンドバッファサイズ       */
    205         FP              callback;       /* コールバック                       */
    206         /* 実装依存 */
    207         } T_TCP_CCEP;
     143#define T_TCP6_CCEP                     T_TCP_CCEP
    208144
    209145/*
    210  *  動的生成用 TCP 受付口
     146 *  バイトオーダ関数の定義
     147 *
     148 *    tinet/net/net.h でもバイトオーダの定義を行っているが、
     149 *    tinet/net/net.h をインクルードしない
     150 *    アプリケーションプログラム用に
     151 *    ターゲット依存しないバイトオーダ関数を定義する。
    211152 */
    212153
    213 #if defined(SUPPORT_INET4)
     154#if defined(_NET_CFG_BYTE_ORDER)
    214155
    215 typedef struct t_tcp_crep {
    216         /* 標準 */
    217         ATR             repatr;         /* 受付口属性                */
    218         T_IPV4EP        myaddr;         /* 自分のアドレス      */
    219         /* 実装依存 */
    220         } T_TCP_CREP;
     156/*  tinet/net/net.h をインクルードしている。*/
    221157
    222 #endif  /* of #if defined(SUPPORT_INET4) */
     158#else   /* of #if defined(_NET_CFG_BYTE_ORDER) */
    223159
    224 /*
    225  *  動的生成用 UDP 通信端点
    226  */
     160extern uint16_t ntohs (uint16_t net);
     161extern uint16_t htons (uint16_t host);
     162extern uint32_t ntohl (uint32_t net);
     163extern uint32_t htonl (uint32_t host);
    227164
    228 #if defined(SUPPORT_INET4)
     165#define NTOHS(n)        (n=ntohs(n))
     166#define HTONS(h)        (h=htons(h))
     167#define NTOHL(n)        (n=ntohl(n))
     168#define HTONL(h)        (h=htonl(h))
    229169
    230 typedef struct t_udp_ccep {
    231         /* 標準 */
    232         ATR             cepatr;         /* UDP 通信端点属性           */
    233         T_IPV4EP        myaddr;         /* 自分のアドレス              */
    234         FP              callback;       /* コールバック関数             */
    235         /* 実装依存 */
    236         } T_UDP_CCEP;
    237 
    238 #endif  /* of #if defined(SUPPORT_INET4) */
    239 
    240 /*
    241  *  IPv4 と IPv6 をコンパイル時に選択するためのマクロ
    242  */
    243 
    244 #if defined(SUPPORT_INET4)
    245 
    246 #define T_IN_ADDR                       T_IN4_ADDR
    247 #define T_IPEP                          T_IPV4EP
    248 #define IP_ADDRANY                      IPV4_ADDRANY
    249 
    250 #define IN_ARE_ADDR_EQUAL(n,h)          (*(n)==*(h))
    251 #define IN_ARE_NET_ADDR_EQUAL(n,h)      (ntohl(*(n))==*(h))
    252 #define IN_COPY_TO_NET(d,s)             (*(d)=htonl(*(s)))
    253 #define IN_COPY_TO_HOST(d,s)            (*(d)=ntohl(*(s)))
    254 #define IN_IS_ADDR_MULTICAST(a)         IN4_IS_ADDR_MULTICAST(*(a))
    255 #define IN_IS_NET_ADDR_MULTICAST(a)     IN4_IS_ADDR_MULTICAST(ntohl(*(a)))
    256 #define IN_IS_ADDR_ANY(a)               (*(a)==IPV4_ADDRANY)
    257 
    258 #endif  /* of #if defined(SUPPORT_INET4) */
     170#endif  /* of #if defined(_NET_CFG_BYTE_ORDER) */
    259171
    260172/*
     
    264176extern const char *in_strtfn (FN fncd);
    265177
    266 #if defined(SUPPORT_INET4)
    267 
    268 extern ER in4_add_ifaddr (T_IN4_ADDR addr, T_IN4_ADDR mask);
    269 extern ER in4_add_route (int_t index, T_IN4_ADDR target,
    270                                       T_IN4_ADDR mask, T_IN4_ADDR gateway);
    271 extern char *ip2str (char *buf, const T_IN4_ADDR *p_ipaddr);
    272 extern const T_IN4_ADDR *in4_get_ifaddr (int_t index);
    273 
    274 #endif  /* of #if defined(SUPPORT_INET4) */
    275 
    276178#endif  /* of #ifndef _IN_H_ */
Note: See TracChangeset for help on using the changeset viewer.