diff --git a/mio/bin/t01.c b/mio/bin/t01.c index 0829a02..229c5e2 100644 --- a/mio/bin/t01.c +++ b/mio/bin/t01.c @@ -417,27 +417,27 @@ static int setup_arp_tester (mio_t* mio) } //mio_bcstrtoifindex (mio, "enp0s25.3", &ifindex); - //mio_skad_init_for_eth (ðdst, ifindex, (mio_ethaddr_t*)"\xFF\xFF\xFF\xFF\xFF\xFF"); - //mio_skad_init_for_eth (ðdst, ifindex, (mio_ethaddr_t*)"\xAA\xBB\xFF\xCC\xDD\xFF"); + //mio_skad_init_for_eth (ðdst, ifindex, (mio_ethad_t*)"\xFF\xFF\xFF\xFF\xFF\xFF"); + //mio_skad_init_for_eth (ðdst, ifindex, (mio_ethad_t*)"\xAA\xBB\xFF\xCC\xDD\xFF"); //mio_bcstrtoifindex (mio, "eno1", &ifindex); - //mio_skad_init_for_eth (ðdst, ifindex, (mio_ethaddr_t*)"\xAA\xBB\xFF\xCC\xDD\xFF"); + //mio_skad_init_for_eth (ðdst, ifindex, (mio_ethad_t*)"\xAA\xBB\xFF\xCC\xDD\xFF"); mio_bcstrtoifindex (mio, "bce0", &ifindex); - mio_skad_init_for_eth (ðdst, ifindex, (mio_ethaddr_t*)"\xAA\xBB\xFF\xCC\xDD\xFF"); + mio_skad_init_for_eth (ðdst, ifindex, (mio_ethad_t*)"\xAA\xBB\xFF\xCC\xDD\xFF"); memset (ðarp, 0, MIO_SIZEOF(etharp)); - memcpy (etharp.ethhdr.source, "\xB8\x6B\x23\x9C\x10\x76", MIO_ETHADDR_LEN); - //memcpy (etharp.ethhdr.dest, "\xFF\xFF\xFF\xFF\xFF\xFF", MIO_ETHADDR_LEN); - memcpy (etharp.ethhdr.dest, "\xAA\xBB\xFF\xCC\xDD\xFF", MIO_ETHADDR_LEN); + memcpy (etharp.ethhdr.source, "\xB8\x6B\x23\x9C\x10\x76", MIO_ETHAD_LEN); + //memcpy (etharp.ethhdr.dest, "\xFF\xFF\xFF\xFF\xFF\xFF", MIO_ETHAD_LEN); + memcpy (etharp.ethhdr.dest, "\xAA\xBB\xFF\xCC\xDD\xFF", MIO_ETHAD_LEN); etharp.ethhdr.proto = MIO_CONST_HTON16(MIO_ETHHDR_PROTO_ARP); etharp.arphdr.htype = MIO_CONST_HTON16(MIO_ARPHDR_HTYPE_ETH); etharp.arphdr.ptype = MIO_CONST_HTON16(MIO_ARPHDR_PTYPE_IP4); - etharp.arphdr.hlen = MIO_ETHADDR_LEN; - etharp.arphdr.plen = MIO_IP4ADDR_LEN; + etharp.arphdr.hlen = MIO_ETHAD_LEN; + etharp.arphdr.plen = MIO_IP4AD_LEN; etharp.arphdr.opcode = MIO_CONST_HTON16(MIO_ARPHDR_OPCODE_REQUEST); - memcpy (etharp.arppld.sha, "\xB8\x6B\x23\x9C\x10\x76", MIO_ETHADDR_LEN); + memcpy (etharp.arppld.sha, "\xB8\x6B\x23\x9C\x10\x76", MIO_ETHAD_LEN); if (mio_dev_sck_write(sck, ðarp, MIO_SIZEOF(etharp), MIO_NULL, ðdst) <= -1) //if (mio_dev_sck_write (sck, ðarp.arphdr, MIO_SIZEOF(etharp) - MIO_SIZEOF(etharp.ethhdr), MIO_NULL, ðaddr) <= -1) diff --git a/mio/lib/mio-sck.h b/mio/lib/mio-sck.h index 08b8cc2..2d65c50 100644 --- a/mio/lib/mio-sck.h +++ b/mio/lib/mio-sck.h @@ -49,8 +49,8 @@ struct MIO_PACKED mio_ethhdr_t { - mio_uint8_t dest[MIO_ETHADDR_LEN]; - mio_uint8_t source[MIO_ETHADDR_LEN]; + mio_uint8_t dest[MIO_ETHAD_LEN]; + mio_uint8_t source[MIO_ETHAD_LEN]; mio_uint16_t proto; }; typedef struct mio_ethhdr_t mio_ethhdr_t; @@ -68,10 +68,10 @@ typedef struct mio_arphdr_t mio_arphdr_t; /* arp payload for ipv4 over ethernet */ struct MIO_PACKED mio_etharp_t { - mio_uint8_t sha[MIO_ETHADDR_LEN]; /* source hardware address */ - mio_uint8_t spa[MIO_IP4ADDR_LEN]; /* source protocol address */ - mio_uint8_t tha[MIO_ETHADDR_LEN]; /* target hardware address */ - mio_uint8_t tpa[MIO_IP4ADDR_LEN]; /* target protocol address */ + mio_uint8_t sha[MIO_ETHAD_LEN]; /* source hardware address */ + mio_uint8_t spa[MIO_IP4AD_LEN]; /* source protocol address */ + mio_uint8_t tha[MIO_ETHAD_LEN]; /* target hardware address */ + mio_uint8_t tpa[MIO_IP4AD_LEN]; /* target protocol address */ }; typedef struct mio_etharp_t mio_etharp_t; diff --git a/mio/lib/mio-skad.h b/mio/lib/mio-skad.h index 663c8c6..cd3e850 100644 --- a/mio/lib/mio-skad.h +++ b/mio/lib/mio-skad.h @@ -66,37 +66,37 @@ typedef struct mio_skad_t mio_skad_t; #define MIO_SKAD_TO_BCSTR_ADDR MIO_SKAD_TO_OOCSTR_ADDR #define MIO_SKAD_TO_BCSTR_PORT MIO_SKAD_TO_OOCSTR_PORT -#define MIO_IP4ADDR_STRLEN (15) /* not including the terminating '\0' */ -#define MIO_IP6ADDR_STRLEN (45) /* not including the terminating '\0'. pure IPv6 address, not including the scope(e.g. %10, %eth0) */ +#define MIO_IP4AD_STRLEN (15) /* not including the terminating '\0' */ +#define MIO_IP6AD_STRLEN (45) /* not including the terminating '\0'. pure IPv6 address, not including the scope(e.g. %10, %eth0) */ /* size large enough to hold the ip address plus port number. * [IPV6ADDR%SCOPE]:PORT -> 9 for [] % : and PORT * Let's reserve 16 for SCOPE and not include the terminting '\0' */ -#define MIO_SKAD_IP_STRLEN (MIO_IP6ADDR_STRLEN + 25) +#define MIO_SKAD_IP_STRLEN (MIO_IP6AD_STRLEN + 25) /* -------------------------------------------------------------------- */ -#define MIO_ETHADDR_LEN (6) -#define MIO_IP4ADDR_LEN (4) -#define MIO_IP6ADDR_LEN (16) +#define MIO_ETHAD_LEN (6) +#define MIO_IP4AD_LEN (4) +#define MIO_IP6AD_LEN (16) #include -struct MIO_PACKED mio_ethaddr_t +struct MIO_PACKED mio_ethad_t { - mio_uint8_t v[MIO_ETHADDR_LEN]; + mio_uint8_t v[MIO_ETHAD_LEN]; }; -typedef struct mio_ethaddr_t mio_ethaddr_t; +typedef struct mio_ethad_t mio_ethad_t; struct MIO_PACKED mio_ip4ad_t { - mio_uint8_t v[MIO_IP4ADDR_LEN]; + mio_uint8_t v[MIO_IP4AD_LEN]; }; typedef struct mio_ip4ad_t mio_ip4ad_t; struct MIO_PACKED mio_ip6ad_t { - mio_uint8_t v[MIO_IP6ADDR_LEN]; + mio_uint8_t v[MIO_IP6AD_LEN]; }; typedef struct mio_ip6ad_t mio_ip6ad_t; #include @@ -170,7 +170,7 @@ MIO_EXPORT void mio_skad_init_for_ip_with_bytes ( MIO_EXPORT void mio_skad_init_for_eth ( mio_skad_t* skad, int ifindex, - mio_ethaddr_t* ethaddr + mio_ethad_t* ethad ); MIO_EXPORT int mio_skad_family ( @@ -199,14 +199,14 @@ MIO_EXPORT int mio_equal_skads ( int strict ); -MIO_EXPORT mio_oow_t mio_ipaddr_bytes_to_ucstr ( +MIO_EXPORT mio_oow_t mio_ipad_bytes_to_ucstr ( const mio_uint8_t* iptr, mio_oow_t ilen, mio_uch_t* buf, mio_oow_t blen ); -MIO_EXPORT mio_oow_t mio_ipaddr_bytes_to_bcstr ( +MIO_EXPORT mio_oow_t mio_ipad_bytes_to_bcstr ( const mio_uint8_t* iptr, mio_oow_t ilen, mio_bch_t* buf, @@ -214,14 +214,14 @@ MIO_EXPORT mio_oow_t mio_ipaddr_bytes_to_bcstr ( ); -MIO_EXPORT int mio_uchars_to_ipaddr_bytes ( +MIO_EXPORT int mio_uchars_to_ipad_bytes ( const mio_uch_t* str, mio_oow_t slen, mio_uint8_t* buf, mio_oow_t blen ); -MIO_EXPORT int mio_bchars_to_ipaddr_bytes ( +MIO_EXPORT int mio_bchars_to_ipad_bytes ( const mio_bch_t* str, mio_oow_t slen, mio_uint8_t* buf, diff --git a/mio/lib/skad.c b/mio/lib/skad.c index eb23e36..aa2a337 100644 --- a/mio/lib/skad.c +++ b/mio/lib/skad.c @@ -859,11 +859,11 @@ static mio_oow_t ip6ad_to_ucstr (const struct in6_addr* ipad, mio_uch_t* buf, mi * to use pointer overlays. All the world's not a VAX. */ -#define IP6ADDR_NWORDS (MIO_SIZEOF(ipad->s6_addr) / MIO_SIZEOF(mio_uint16_t)) +#define IP6AD_NWORDS (MIO_SIZEOF(ipad->s6_addr) / MIO_SIZEOF(mio_uint16_t)) mio_uch_t tmp[MIO_COUNTOF("ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255")], *tp; struct { int base, len; } best, cur; - mio_uint16_t words[IP6ADDR_NWORDS]; + mio_uint16_t words[IP6AD_NWORDS]; int i; if (size <= 0) return 0; @@ -881,7 +881,7 @@ static mio_oow_t ip6ad_to_ucstr (const struct in6_addr* ipad, mio_uch_t* buf, mi cur.base = -1; cur.len = 0; - for (i = 0; i < IP6ADDR_NWORDS; i++) + for (i = 0; i < IP6AD_NWORDS; i++) { if (words[i] == 0) { @@ -914,7 +914,7 @@ static mio_oow_t ip6ad_to_ucstr (const struct in6_addr* ipad, mio_uch_t* buf, mi * Format the result. */ tp = tmp; - for (i = 0; i < IP6ADDR_NWORDS; i++) + for (i = 0; i < IP6AD_NWORDS; i++) { /* Are we inside the best run of 0x00's? */ if (best.base != -1 && i >= best.base && @@ -940,12 +940,12 @@ static mio_oow_t ip6ad_to_ucstr (const struct in6_addr* ipad, mio_uch_t* buf, mi } /* Was it a trailing run of 0x00's? */ - if (best.base != -1 && (best.base + best.len) == IP6ADDR_NWORDS) *tp++ = ':'; + if (best.base != -1 && (best.base + best.len) == IP6AD_NWORDS) *tp++ = ':'; *tp++ = '\0'; return mio_copy_ucstr(buf, size, tmp); -#undef IP6ADDR_NWORDS +#undef IP6AD_NWORDS } @@ -1105,11 +1105,11 @@ static mio_oow_t ip6ad_to_bcstr (const struct in6_addr* ipad, mio_bch_t* buf, mi * to use pointer overlays. All the world's not a VAX. */ -#define IP6ADDR_NWORDS (MIO_SIZEOF(ipad->s6_addr) / MIO_SIZEOF(mio_uint16_t)) +#define IP6AD_NWORDS (MIO_SIZEOF(ipad->s6_addr) / MIO_SIZEOF(mio_uint16_t)) mio_bch_t tmp[MIO_COUNTOF("ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255")], *tp; struct { int base, len; } best, cur; - mio_uint16_t words[IP6ADDR_NWORDS]; + mio_uint16_t words[IP6AD_NWORDS]; int i; if (size <= 0) return 0; @@ -1127,7 +1127,7 @@ static mio_oow_t ip6ad_to_bcstr (const struct in6_addr* ipad, mio_bch_t* buf, mi cur.base = -1; cur.len = 0; - for (i = 0; i < IP6ADDR_NWORDS; i++) + for (i = 0; i < IP6AD_NWORDS; i++) { if (words[i] == 0) { @@ -1160,7 +1160,7 @@ static mio_oow_t ip6ad_to_bcstr (const struct in6_addr* ipad, mio_bch_t* buf, mi * Format the result. */ tp = tmp; - for (i = 0; i < IP6ADDR_NWORDS; i++) + for (i = 0; i < IP6AD_NWORDS; i++) { /* Are we inside the best run of 0x00's? */ if (best.base != -1 && i >= best.base && @@ -1186,12 +1186,12 @@ static mio_oow_t ip6ad_to_bcstr (const struct in6_addr* ipad, mio_bch_t* buf, mi } /* Was it a trailing run of 0x00's? */ - if (best.base != -1 && (best.base + best.len) == IP6ADDR_NWORDS) *tp++ = ':'; + if (best.base != -1 && (best.base + best.len) == IP6AD_NWORDS) *tp++ = ':'; *tp++ = '\0'; return mio_copy_bcstr(buf, size, tmp); -#undef IP6ADDR_NWORDS +#undef IP6AD_NWORDS } @@ -1378,7 +1378,7 @@ void mio_skad_init_for_ip4 (mio_skad_t* skad, mio_uint16_t port, mio_ip4ad_t* ip MIO_MEMSET (sin, 0, MIO_SIZEOF(*sin)); sin->sin_family = AF_INET; sin->sin_port = mio_hton16(port); - if (ip4ad) MIO_MEMCPY (&sin->sin_addr, ip4ad->v, MIO_IP4ADDR_LEN); + if (ip4ad) MIO_MEMCPY (&sin->sin_addr, ip4ad->v, MIO_IP4AD_LEN); #endif } @@ -1390,7 +1390,7 @@ void mio_skad_init_for_ip6 (mio_skad_t* skad, mio_uint16_t port, mio_ip6ad_t* ip sin->sin6_family = AF_INET6; sin->sin6_port = mio_hton16(port); sin->sin6_scope_id = scope_id; - if (ip6ad) MIO_MEMCPY (&sin->sin6_addr, ip6ad->v, MIO_IP6ADDR_LEN); + if (ip6ad) MIO_MEMCPY (&sin->sin6_addr, ip6ad->v, MIO_IP6AD_LEN); #endif } @@ -1399,7 +1399,7 @@ void mio_skad_init_for_ip_with_bytes (mio_skad_t* skad, mio_uint16_t port, const switch (len) { #if (MIO_SIZEOF_STRUCT_SOCKADDR_IN > 0) - case MIO_IP4ADDR_LEN: + case MIO_IP4AD_LEN: { struct sockaddr_in* sin = (struct sockaddr_in*)skad; MIO_MEMSET (sin, 0, MIO_SIZEOF(*sin)); @@ -1410,7 +1410,7 @@ void mio_skad_init_for_ip_with_bytes (mio_skad_t* skad, mio_uint16_t port, const } #endif #if (MIO_SIZEOF_STRUCT_SOCKADDR_IN6 > 0) - case MIO_IP6ADDR_LEN: + case MIO_IP6AD_LEN: { struct sockaddr_in6* sin = (struct sockaddr_in6*)skad; MIO_MEMSET (sin, 0, MIO_SIZEOF(*sin)); @@ -1426,17 +1426,17 @@ void mio_skad_init_for_ip_with_bytes (mio_skad_t* skad, mio_uint16_t port, const } -void mio_skad_init_for_eth (mio_skad_t* skad, int ifindex, mio_ethaddr_t* ethaddr) +void mio_skad_init_for_eth (mio_skad_t* skad, int ifindex, mio_ethad_t* ethad) { #if defined(AF_PACKET) && (MIO_SIZEOF_STRUCT_SOCKADDR_LL > 0) struct sockaddr_ll* sll = (struct sockaddr_ll*)skad; MIO_MEMSET (sll, 0, MIO_SIZEOF(*sll)); sll->sll_family = AF_PACKET; sll->sll_ifindex = ifindex; - if (ethaddr) + if (ethad) { - sll->sll_halen = MIO_ETHADDR_LEN; - MIO_MEMCPY (sll->sll_addr, ethaddr, MIO_ETHADDR_LEN); + sll->sll_halen = MIO_ETHAD_LEN; + MIO_MEMCPY (sll->sll_addr, ethad, MIO_ETHAD_LEN); } #elif defined(AF_LINK) && (MIO_SIZEOF_STRUCT_SOCKADDR_DL > 0) @@ -1444,10 +1444,10 @@ void mio_skad_init_for_eth (mio_skad_t* skad, int ifindex, mio_ethaddr_t* ethadd MIO_MEMSET (sll, 0, MIO_SIZEOF(*sll)); sll->sdl_family = AF_LINK; sll->sdl_index = ifindex; - if (ethaddr) + if (ethad) { - sll->sdl_alen = MIO_ETHADDR_LEN; - MIO_MEMCPY (sll->sdl_data, ethaddr, MIO_ETHADDR_LEN); + sll->sdl_alen = MIO_ETHAD_LEN; + MIO_MEMCPY (sll->sdl_data, ethad, MIO_ETHAD_LEN); } #else # error UNSUPPORTED DATALINK SOCKET ADDRESS @@ -1505,18 +1505,18 @@ int mio_equal_skads (const mio_skad_t* addr1, const mio_skad_t* addr2, int stric } } -mio_oow_t mio_ipaddr_bytes_to_ucstr (const mio_uint8_t* iptr, mio_oow_t ilen, mio_uch_t* buf, mio_oow_t blen) +mio_oow_t mio_ipad_bytes_to_ucstr (const mio_uint8_t* iptr, mio_oow_t ilen, mio_uch_t* buf, mio_oow_t blen) { switch (ilen) { - case MIO_IP4ADDR_LEN: + case MIO_IP4AD_LEN: { struct in_addr ip4ad; MIO_MEMCPY (&ip4ad.s_addr, iptr, ilen); return ip4ad_to_ucstr(&ip4ad, buf, blen); } - case MIO_IP6ADDR_LEN: + case MIO_IP6AD_LEN: { struct in6_addr ip6ad; MIO_MEMCPY (&ip6ad.s6_addr, iptr, ilen); @@ -1529,18 +1529,18 @@ mio_oow_t mio_ipaddr_bytes_to_ucstr (const mio_uint8_t* iptr, mio_oow_t ilen, mi } } -mio_oow_t mio_ipaddr_bytes_to_bcstr (const mio_uint8_t* iptr, mio_oow_t ilen, mio_bch_t* buf, mio_oow_t blen) +mio_oow_t mio_ipad_bytes_to_bcstr (const mio_uint8_t* iptr, mio_oow_t ilen, mio_bch_t* buf, mio_oow_t blen) { switch (ilen) { - case MIO_IP4ADDR_LEN: + case MIO_IP4AD_LEN: { struct in_addr ip4ad; MIO_MEMCPY (&ip4ad.s_addr, iptr, ilen); return ip4ad_to_bcstr(&ip4ad, buf, blen); } - case MIO_IP6ADDR_LEN: + case MIO_IP6AD_LEN: { struct in6_addr ip6ad; MIO_MEMCPY (&ip6ad.s6_addr, iptr, ilen); @@ -1553,43 +1553,43 @@ mio_oow_t mio_ipaddr_bytes_to_bcstr (const mio_uint8_t* iptr, mio_oow_t ilen, mi } } -int mio_uchars_to_ipaddr_bytes (const mio_uch_t* str, mio_oow_t slen, mio_uint8_t* buf, mio_oow_t blen) +int mio_uchars_to_ipad_bytes (const mio_uch_t* str, mio_oow_t slen, mio_uint8_t* buf, mio_oow_t blen) { - if (blen >= MIO_IP6ADDR_LEN) + if (blen >= MIO_IP6AD_LEN) { struct in6_addr i6; if (uchars_to_ipv6(str, slen, &i6) <= -1) goto ipv4; MIO_MEMCPY (buf, i6.s6_addr, 16); - return MIO_IP6ADDR_LEN; + return MIO_IP6AD_LEN; } - else if (blen >= MIO_IP4ADDR_LEN) + else if (blen >= MIO_IP4AD_LEN) { struct in_addr i4; ipv4: if (uchars_to_ipv4(str, slen, &i4) <= -1) return -1; MIO_MEMCPY (buf, &i4.s_addr, 4); - return MIO_IP4ADDR_LEN; + return MIO_IP4AD_LEN; } return -1; } -int mio_bchars_to_ipaddr_bytes (const mio_bch_t* str, mio_oow_t slen, mio_uint8_t* buf, mio_oow_t blen) +int mio_bchars_to_ipad_bytes (const mio_bch_t* str, mio_oow_t slen, mio_uint8_t* buf, mio_oow_t blen) { - if (blen >= MIO_IP6ADDR_LEN) + if (blen >= MIO_IP6AD_LEN) { struct in6_addr i6; if (bchars_to_ipv6(str, slen, &i6) <= -1) goto ipv4; MIO_MEMCPY (buf, i6.s6_addr, 16); - return MIO_IP6ADDR_LEN; + return MIO_IP6AD_LEN; } - else if (blen >= MIO_IP4ADDR_LEN) + else if (blen >= MIO_IP4AD_LEN) { struct in_addr i4; ipv4: if (bchars_to_ipv4(str, slen, &i4) <= -1) return -1; MIO_MEMCPY (buf, &i4.s_addr, 4); - return MIO_IP4ADDR_LEN; + return MIO_IP4AD_LEN; } return -1;