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/netinet6/in6.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 *
     
    103103
    104104/*
     105 *  IPv6 アドレス構造
     106 *
     107 *    RFC4291(RFC1884、RFC2373、RFC3513 のアップデート)
     108 */
     109
     110/*
    105111 *  IPv6 アドレス
    106112 */
     
    150156
    151157/*
    152  *  アドレスの定義
    153  */
    154 
    155 #ifdef _NET_CFG_BYTE_ORDER
    156 
    157 #if _NET_CFG_BYTE_ORDER == _NET_CFG_BIG_ENDIAN
    158 
    159 #define IPV6_ADDR_INT32_ONE             ULONG_C(0x00000001)
    160 #define IPV6_ADDR_INT32_TWO             ULONG_C(0x00000002)
    161 #define IPV6_ADDR_INT32_0000FFFF        ULONG_C(0x0000ffff)
    162 #define IPV6_ADDR_INT32_MNL             ULONG_C(0xff010000)
    163 #define IPV6_ADDR_INT32_MLL             ULONG_C(0xff020000)
    164 #define IPV6_ADDR_INT32_ULL             ULONG_C(0xfe800000)
    165 #define IPV6_ADDR_INT16_ULL             UINT_C(0xfe80)
    166 #define IPV6_ADDR_INT16_USL             UINT_C(0xfec0)
    167 #define IPV6_ADDR_INT16_MLL             UINT_C(0xff02)
    168 
    169 #elif _NET_CFG_BYTE_ORDER == _NET_CFG_LITTLE_ENDIAN
    170 
    171 #define IPV6_ADDR_INT32_ONE             ULONG_C(0x01000000)
    172 #define IPV6_ADDR_INT32_TWO             ULONG_C(0x02000000)
    173 #define IPV6_ADDR_INT32_0000FFFF        ULONG_C(0xffff0000)
    174 #define IPV6_ADDR_INT32_MNL             ULONG_C(0x000001ff)
    175 #define IPV6_ADDR_INT32_MLL             ULONG_C(0x000002ff)
    176 #define IPV6_ADDR_INT32_ULL             ULONG_C(0x000080fe)
    177 #define IPV6_ADDR_INT16_ULL             UINT_C(0x80fe)
    178 #define IPV6_ADDR_INT16_USL             UINT_C(0xc0fe)
    179 #define IPV6_ADDR_INT16_MLL             UINT_C(0x02ff)
    180 
    181 #endif  /* #if _NET_CFG_BYTE_ORDER == _NET_CFG_BIG_ENDIAN */
    182 
    183 #endif  /* of #ifdef _NET_CFG_BYTE_ORDER */
    184 
    185 /*
    186158 *  特別なアドレスのチェック
    187159 */
     
    197169        (memcmp((void *)(a), (void *)&in6_addr_unspecified, sizeof(T_IN6_ADDR) - 1) == 0 && \
    198170         (a)->s6_addr8[15] == 0x01)
    199 
    200 /* IPv4 互換 */
    201 
    202 #define IN6_IS_ADDR_V4COMPAT(a)         \
    203         (memcmp((void *)(a), (void *)&in6_addr_unspecified, sizeof(T_IN6_ADDR) - 4) == 0 && \
    204          (a)->s6_addr32[3] > IPV6_ADDR_INT32_ONE)
    205 
    206 /* IPv4 マップ */
    207 
    208 #define IN6_IS_ADDR_V4MAPPED(a)         \
    209         (((a)->s6_addr32[0] == ULONG_C(0x00000000)) && \
    210          ((a)->s6_addr32[1] == ULONG_C(0x00000000)) && \
    211          ((a)->s6_addr32[2] == IPV6_ADDR_INT32_0000FFFF))
    212171
    213172/*
     
    248207#define IN6_IS_ADDR_MULTICAST(a)        ((a)->s6_addr8[0] == UINT_C(0xff))
    249208
    250 /* 要請マルチキャスト */
    251 
    252 #define IN6_IS_ADDR_NS_MULTICAST(a)     \
    253         (((a)->s6_addr32[0] == IPV6_ADDR_INT32_MLL) && \
    254          ((a)->s6_addr32[1] == ULONG_C(0x00000000)) && \
    255          ((a)->s6_addr32[2] == IPV6_ADDR_INT32_ONE) && \
    256          ((a)->s6_addr8[12] == UINT_C(0xff)))
    257 
    258209/*
    259210 *  同一のチェック
     
    272223 */
    273224
    274 #define IPV6_DEFAULT_MULTICAST_HOPS     1       /* マルチキャスト時のホップリミットの規定値 */
     225#define IPV6_DEFAULT_MULTICAST_HOPS     1       /* マルチキャスト時のホップリミットの規定値 */
     226#define ND6_INFINITE_LIFETIME           0xffffffff      /* アドレスの無制限有効時間         */
    275227
    276228/*
     
    282234        uint16_t        portno;         /* ポート番号        */
    283235        } T_IPV6EP;
     236
     237#define T_IPV6EP_DEFINED
    284238
    285239/*
     
    299253        /* 実装依存 */
    300254        } T_TCP6_CREP;
    301 
    302 #if defined(SUPPORT_INET6)
    303 #define T_TCP_CREP      T_TCP6_CREP
    304 #endif
    305255
    306256/*
     
    316266        } T_UDP6_CCEP;
    317267
    318 #if defined(SUPPORT_INET6)
    319 #define T_UDP_CCEP      T_UDP6_CCEP
    320 #endif
    321 
    322 /*
    323  *  IPv4 と IPv6 をコンパイル時に選択するためのマクロ
    324  */
    325 
    326 #if defined(SUPPORT_INET6)
    327 
    328 #define T_IN_ADDR                       T_IN6_ADDR
    329 #define T_IPEP                          T_IPV6EP
    330 #define IP_ADDRANY                      IPV6_ADDRANY
    331 
    332 #define IN_ARE_ADDR_EQUAL(n,h)          IN6_ARE_ADDR_EQUAL(n,h)
    333 #define IN_ARE_NET_ADDR_EQUAL(n,h)      IN6_ARE_ADDR_EQUAL(n,h)
    334 #define IN_COPY_TO_NET(d,s)             memcpy(d,s,sizeof(T_IN6_ADDR))
    335 #define IN_COPY_TO_HOST(d,s)            memcpy(d,s,sizeof(T_IN6_ADDR))
    336 #define IN_IS_ADDR_MULTICAST(a)         IN6_IS_ADDR_MULTICAST(a)
    337 #define IN_IS_NET_ADDR_MULTICAST(a)     IN6_IS_ADDR_MULTICAST(a)
    338 #define IN_IS_ADDR_ANY(a)               IN6_IS_ADDR_UNSPECIFIED(a)
    339 
    340 #endif  /* of #if defined(SUPPORT_INET6) */
    341 
    342268/*
    343269 *  前方参照
     
    356282 */
    357283
    358 extern T_IN6_ADDR in6_addr_unspecified;
    359 extern T_IN6_ADDR in6_addr_linklocal_allnodes;
    360 extern T_IN6_ADDR in6_addr_linklocal_allrouters;
     284extern const T_IN6_ADDR in6_addr_unspecified;
     285extern const T_IN6_ADDR in6_addr_linklocal_allnodes;
     286extern const T_IN6_ADDR in6_addr_linklocal_allrouters;
    361287
    362288#define ipv6_addrany    in6_addr_unspecified
     
    366292 */
    367293
    368 extern char *ipv62str (char *buf, const T_IN6_ADDR *p_ip6addr);
    369 extern ER_UINT in6_get_maxnum_ifaddr (void);
     294extern char *ipv62str (char *buf, const T_IN6_ADDR *p_addr);
     295extern uint_t in6_get_maxnum_ifaddr (void);
    370296extern const T_IN6_ADDR *in6_get_ifaddr (int_t index);
     297extern ER in6_upd_ifaddr (T_IN6_ADDR *addr, uint_t prefixlen,
     298                          uint32_t vltime, uint32_t pltime);
     299extern ER in6_del_ifaddr (T_IN6_ADDR *addr);
     300extern T_IN6_ADDR *in6_make_ipv4mapped (T_IN6_ADDR *dst, T_IN4_ADDR src);
     301extern bool_t in6_is_addr_ipv4mapped (const T_IN6_ADDR *addr);
    371302
    372303#endif  /* of #ifndef _IN6_H_ */
Note: See TracChangeset for help on using the changeset viewer.