@@ -346,23 +346,23 @@ return ret; } #endif -of_socket_address_t -of_socket_address_parse_ipv4(OFString *IPv4, uint16_t port) +OFSocketAddress +OFSocketAddressParseIPv4(OFString *IPv4, uint16_t port) { void *pool = objc_autoreleasePoolPush(); OFCharacterSet *whitespaceCharacterSet = [OFCharacterSet whitespaceCharacterSet]; - of_socket_address_t ret; + OFSocketAddress ret; struct sockaddr_in *addrIn = &ret.sockaddr.in; OFArray OF_GENERIC(OFString *) *components; uint32_t addr; memset(&ret, '\0', sizeof(ret)); - ret.family = OF_SOCKET_ADDRESS_FAMILY_IPV4; + ret.family = OFSocketAddressFamilyIPv4; #if defined(OF_WII) || defined(OF_NINTENDO_3DS) ret.length = 8; #else ret.length = sizeof(ret.sockaddr.in); #endif @@ -420,20 +420,20 @@ @throw [OFInvalidFormatException exception]; return (uint16_t)number; } -of_socket_address_t -of_socket_address_parse_ipv6(OFString *IPv6, uint16_t port) +OFSocketAddress +OFSocketAddressParseIPv6(OFString *IPv6, uint16_t port) { void *pool = objc_autoreleasePoolPush(); - of_socket_address_t ret; + OFSocketAddress ret; struct sockaddr_in6 *addrIn6 = &ret.sockaddr.in6; size_t doubleColon; memset(&ret, '\0', sizeof(ret)); - ret.family = OF_SOCKET_ADDRESS_FAMILY_IPV6; + ret.family = OFSocketAddressFamilyIPv6; ret.length = sizeof(ret.sockaddr.in6); #ifdef AF_INET6 addrIn6->sin6_family = AF_INET6; #else @@ -499,32 +499,32 @@ objc_autoreleasePoolPop(pool); return ret; } -of_socket_address_t -of_socket_address_parse_ip(OFString *IP, uint16_t port) +OFSocketAddress +OFSocketAddressParseIP(OFString *IP, uint16_t port) { - of_socket_address_t ret; + OFSocketAddress ret; @try { - ret = of_socket_address_parse_ipv6(IP, port); + ret = OFSocketAddressParseIPv6(IP, port); } @catch (OFInvalidFormatException *e) { - ret = of_socket_address_parse_ipv4(IP, port); + ret = OFSocketAddressParseIPv4(IP, port); } return ret; } -of_socket_address_t -of_socket_address_ipx(const unsigned char node[IPX_NODE_LEN], uint32_t network, +OFSocketAddress +OFSocketAddressMakeIPX(const unsigned char node[IPX_NODE_LEN], uint32_t network, uint16_t port) { - of_socket_address_t ret; + OFSocketAddress ret; memset(&ret, '\0', sizeof(ret)); - ret.family = OF_SOCKET_ADDRESS_FAMILY_IPX; + ret.family = OFSocketAddressFamilyIPX; ret.length = sizeof(ret.sockaddr.ipx); #ifdef AF_IPX ret.sockaddr.ipx.sipx_family = AF_IPX; #else @@ -538,22 +538,22 @@ return ret; } bool -of_socket_address_equal(const of_socket_address_t *address1, - const of_socket_address_t *address2) +OFSocketAddressEqual(const OFSocketAddress *address1, + const OFSocketAddress *address2) { const struct sockaddr_in *addrIn1, *addrIn2; const struct sockaddr_in6 *addrIn6_1, *addrIn6_2; const struct sockaddr_ipx *addrIPX1, *addrIPX2; if (address1->family != address2->family) return false; switch (address1->family) { - case OF_SOCKET_ADDRESS_FAMILY_IPV4: + case OFSocketAddressFamilyIPv4: #if defined(OF_WII) || defined(OF_NINTENDO_3DS) if (address1->length < 8 || address2->length < 8) @throw [OFInvalidArgumentException exception]; #else if (address1->length < (socklen_t)sizeof(struct sockaddr_in) || @@ -568,11 +568,11 @@ return false; if (addrIn1->sin_addr.s_addr != addrIn2->sin_addr.s_addr) return false; break; - case OF_SOCKET_ADDRESS_FAMILY_IPV6: + case OFSocketAddressFamilyIPv6: if (address1->length < (socklen_t)sizeof(struct sockaddr_in6) || address2->length < (socklen_t)sizeof(struct sockaddr_in6)) @throw [OFInvalidArgumentException exception]; addrIn6_1 = &address1->sockaddr.in6; @@ -584,11 +584,11 @@ addrIn6_2->sin6_addr.s6_addr, sizeof(addrIn6_1->sin6_addr.s6_addr)) != 0) return false; break; - case OF_SOCKET_ADDRESS_FAMILY_IPX: + case OFSocketAddressFamilyIPX: if (address1->length < (socklen_t)sizeof(struct sockaddr_ipx) || address2->length < (socklen_t)sizeof(struct sockaddr_ipx)) @throw [OFInvalidArgumentException exception]; addrIPX1 = &address1->sockaddr.ipx; @@ -610,19 +610,19 @@ return true; } unsigned long -of_socket_address_hash(const of_socket_address_t *address) +OFSocketAddressHash(const OFSocketAddress *address) { uint32_t hash; OF_HASH_INIT(hash); OF_HASH_ADD(hash, address->family); switch (address->family) { - case OF_SOCKET_ADDRESS_FAMILY_IPV4: + case OFSocketAddressFamilyIPv4: #if defined(OF_WII) || defined(OF_NINTENDO_3DS) if (address->length < 8) @throw [OFInvalidArgumentException exception]; #else if (address->length < (socklen_t)sizeof(struct sockaddr_in)) @@ -635,11 +635,11 @@ OF_HASH_ADD(hash, address->sockaddr.in.sin_addr.s_addr >> 16); OF_HASH_ADD(hash, address->sockaddr.in.sin_addr.s_addr >> 8); OF_HASH_ADD(hash, address->sockaddr.in.sin_addr.s_addr); break; - case OF_SOCKET_ADDRESS_FAMILY_IPV6: + case OFSocketAddressFamilyIPv6: if (address->length < (socklen_t)sizeof(struct sockaddr_in6)) @throw [OFInvalidArgumentException exception]; OF_HASH_ADD(hash, address->sockaddr.in6.sin6_port >> 8); OF_HASH_ADD(hash, address->sockaddr.in6.sin6_port); @@ -648,11 +648,11 @@ i < sizeof(address->sockaddr.in6.sin6_addr.s6_addr); i++) OF_HASH_ADD(hash, address->sockaddr.in6.sin6_addr.s6_addr[i]); break; - case OF_SOCKET_ADDRESS_FAMILY_IPX:; + case OFSocketAddressFamilyIPX:; unsigned char network[ sizeof(address->sockaddr.ipx.sipx_network)]; if (address->length < (socklen_t)sizeof(struct sockaddr_ipx)) @throw [OFInvalidArgumentException exception]; @@ -678,28 +678,25 @@ return hash; } static OFString * -IPv4String(const of_socket_address_t *address, uint16_t *port) +IPv4AddressString(const OFSocketAddress *address) { const struct sockaddr_in *addrIn = &address->sockaddr.in; uint32_t addr = OF_BSWAP32_IF_LE(addrIn->sin_addr.s_addr); OFString *string; string = [OFString stringWithFormat: @"%u.%u.%u.%u", (addr & 0xFF000000) >> 24, (addr & 0x00FF0000) >> 16, (addr & 0x0000FF00) >> 8, addr & 0x000000FF]; - if (port != NULL) - *port = OF_BSWAP16_IF_LE(addrIn->sin_port); - return string; } static OFString * -IPv6String(const of_socket_address_t *address, uint16_t *port) +IPv6AddressString(const OFSocketAddress *address) { OFMutableString *string = [OFMutableString string]; const struct sockaddr_in6 *addrIn6 = &address->sockaddr.in6; int_fast8_t zerosStart = -1, maxZerosStart = -1; uint_fast8_t zerosCount = 0, maxZerosCount = 0; @@ -758,101 +755,97 @@ } } [string makeImmutable]; - if (port != NULL) - *port = OF_BSWAP16_IF_LE(addrIn6->sin6_port); - return string; } OFString * -of_socket_address_ip_string(const of_socket_address_t *address, uint16_t *port) +OFSocketAddressString(const OFSocketAddress *address) { switch (address->family) { - case OF_SOCKET_ADDRESS_FAMILY_IPV4: - return IPv4String(address, port); - case OF_SOCKET_ADDRESS_FAMILY_IPV6: - return IPv6String(address, port); + case OFSocketAddressFamilyIPv4: + return IPv4AddressString(address); + case OFSocketAddressFamilyIPv6: + return IPv6AddressString(address); default: @throw [OFInvalidArgumentException exception]; } } void -of_socket_address_set_port(of_socket_address_t *address, uint16_t port) +OFSocketAddressSetPort(OFSocketAddress *address, uint16_t port) { switch (address->family) { - case OF_SOCKET_ADDRESS_FAMILY_IPV4: + case OFSocketAddressFamilyIPv4: address->sockaddr.in.sin_port = OF_BSWAP16_IF_LE(port); break; - case OF_SOCKET_ADDRESS_FAMILY_IPV6: + case OFSocketAddressFamilyIPv6: address->sockaddr.in6.sin6_port = OF_BSWAP16_IF_LE(port); break; - case OF_SOCKET_ADDRESS_FAMILY_IPX: + case OFSocketAddressFamilyIPX: address->sockaddr.ipx.sipx_port = OF_BSWAP16_IF_LE(port); break; default: @throw [OFInvalidArgumentException exception]; } } uint16_t -of_socket_address_get_port(const of_socket_address_t *address) +OFSocketAddressPort(const OFSocketAddress *address) { switch (address->family) { - case OF_SOCKET_ADDRESS_FAMILY_IPV4: + case OFSocketAddressFamilyIPv4: return OF_BSWAP16_IF_LE(address->sockaddr.in.sin_port); - case OF_SOCKET_ADDRESS_FAMILY_IPV6: + case OFSocketAddressFamilyIPv6: return OF_BSWAP16_IF_LE(address->sockaddr.in6.sin6_port); - case OF_SOCKET_ADDRESS_FAMILY_IPX: + case OFSocketAddressFamilyIPX: return OF_BSWAP16_IF_LE(address->sockaddr.ipx.sipx_port); default: @throw [OFInvalidArgumentException exception]; } } void -of_socket_address_set_ipx_network(of_socket_address_t *address, - uint32_t network) +OFSocketAddressSetIPXNetwork(OFSocketAddress *address, uint32_t network) { - if (address->family != OF_SOCKET_ADDRESS_FAMILY_IPX) + if (address->family != OFSocketAddressFamilyIPX) @throw [OFInvalidArgumentException exception]; network = OF_BSWAP32_IF_LE(network); memcpy(&address->sockaddr.ipx.sipx_network, &network, sizeof(address->sockaddr.ipx.sipx_network)); } uint32_t -of_socket_address_get_ipx_network(const of_socket_address_t *address) +OFSocketAddressIPXNetwork(const OFSocketAddress *address) { uint32_t network; - if (address->family != OF_SOCKET_ADDRESS_FAMILY_IPX) + if (address->family != OFSocketAddressFamilyIPX) @throw [OFInvalidArgumentException exception]; memcpy(&network, &address->sockaddr.ipx.sipx_network, sizeof(network)); return OF_BSWAP32_IF_LE(network); } void -of_socket_address_set_ipx_node(of_socket_address_t *address, +OFSocketAddressSetIPXNode(OFSocketAddress *address, const unsigned char node[IPX_NODE_LEN]) { - if (address->family != OF_SOCKET_ADDRESS_FAMILY_IPX) + if (address->family != OFSocketAddressFamilyIPX) @throw [OFInvalidArgumentException exception]; memcpy(address->sockaddr.ipx.sipx_node, node, IPX_NODE_LEN); } void -of_socket_address_get_ipx_node(const of_socket_address_t *address, +OFSocketAddressIPXNode(const OFSocketAddress *address, unsigned char node[IPX_NODE_LEN]) { - if (address->family != OF_SOCKET_ADDRESS_FAMILY_IPX) + if (address->family != OFSocketAddressFamilyIPX) @throw [OFInvalidArgumentException exception]; memcpy(node, address->sockaddr.ipx.sipx_node, IPX_NODE_LEN); }