︙ | | | ︙ | |
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
|
uint32_t addr;
memset(&ret, '\0', sizeof(ret));
ret.family = OFSocketAddressFamilyIPv4;
#if defined(OF_WII) || defined(OF_NINTENDO_3DS)
ret.length = 8;
#else
ret.length = sizeof(ret.sockaddr.in);
#endif
addrIn->sin_family = AF_INET;
addrIn->sin_port = OFToBigEndian16(port);
#ifdef OF_WII
addrIn->sin_len = ret.length;
#endif
|
|
|
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
|
uint32_t addr;
memset(&ret, '\0', sizeof(ret));
ret.family = OFSocketAddressFamilyIPv4;
#if defined(OF_WII) || defined(OF_NINTENDO_3DS)
ret.length = 8;
#else
ret.length = (socklen_t)sizeof(ret.sockaddr.in);
#endif
addrIn->sin_family = AF_INET;
addrIn->sin_port = OFToBigEndian16(port);
#ifdef OF_WII
addrIn->sin_len = ret.length;
#endif
|
︙ | | | ︙ | |
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
|
void *pool = objc_autoreleasePoolPush();
OFSocketAddress ret;
struct sockaddr_in6 *addrIn6 = &ret.sockaddr.in6;
size_t doubleColon, percent;
memset(&ret, '\0', sizeof(ret));
ret.family = OFSocketAddressFamilyIPv6;
ret.length = sizeof(ret.sockaddr.in6);
#ifdef AF_INET6
addrIn6->sin6_family = AF_INET6;
#else
addrIn6->sin6_family = AF_UNSPEC;
#endif
addrIn6->sin6_port = OFToBigEndian16(port);
|
|
|
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
|
void *pool = objc_autoreleasePoolPush();
OFSocketAddress ret;
struct sockaddr_in6 *addrIn6 = &ret.sockaddr.in6;
size_t doubleColon, percent;
memset(&ret, '\0', sizeof(ret));
ret.family = OFSocketAddressFamilyIPv6;
ret.length = (socklen_t)sizeof(ret.sockaddr.in6);
#ifdef AF_INET6
addrIn6->sin6_family = AF_INET6;
#else
addrIn6->sin6_family = AF_UNSPEC;
#endif
addrIn6->sin6_port = OFToBigEndian16(port);
|
︙ | | | ︙ | |
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
|
OFSocketAddressMakeIPX(uint32_t network, const unsigned char node[IPX_NODE_LEN],
uint16_t port)
{
OFSocketAddress ret;
memset(&ret, '\0', sizeof(ret));
ret.family = OFSocketAddressFamilyIPX;
ret.length = sizeof(ret.sockaddr.ipx);
#ifdef AF_IPX
ret.sockaddr.ipx.sipx_family = AF_IPX;
#else
ret.sockaddr.ipx.sipx_family = AF_UNSPEC;
#endif
network = OFToBigEndian32(network);
|
|
|
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
|
OFSocketAddressMakeIPX(uint32_t network, const unsigned char node[IPX_NODE_LEN],
uint16_t port)
{
OFSocketAddress ret;
memset(&ret, '\0', sizeof(ret));
ret.family = OFSocketAddressFamilyIPX;
ret.length = (socklen_t)sizeof(ret.sockaddr.ipx);
#ifdef AF_IPX
ret.sockaddr.ipx.sipx_family = AF_IPX;
#else
ret.sockaddr.ipx.sipx_family = AF_UNSPEC;
#endif
network = OFToBigEndian32(network);
|
︙ | | | ︙ | |
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
|
OFSocketAddress
OFSocketAddressMakeAppleTalk(uint16_t network, uint8_t node, uint8_t port)
{
OFSocketAddress ret;
memset(&ret, '\0', sizeof(ret));
ret.family = OFSocketAddressFamilyAppleTalk;
ret.length = sizeof(ret.sockaddr.at);
#ifdef AF_APPLETALK
ret.sockaddr.at.sat_family = AF_APPLETALK;
#else
ret.sockaddr.at.sat_family = AF_UNSPEC;
#endif
#ifdef OF_WINDOWS
|
|
|
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
|
OFSocketAddress
OFSocketAddressMakeAppleTalk(uint16_t network, uint8_t node, uint8_t port)
{
OFSocketAddress ret;
memset(&ret, '\0', sizeof(ret));
ret.family = OFSocketAddressFamilyAppleTalk;
ret.length = (socklen_t)sizeof(ret.sockaddr.at);
#ifdef AF_APPLETALK
ret.sockaddr.at.sat_family = AF_APPLETALK;
#else
ret.sockaddr.at.sat_family = AF_UNSPEC;
#endif
#ifdef OF_WINDOWS
|
︙ | | | ︙ | |
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
|
OFSocketAddressUNIXPath(const OFSocketAddress *_Nonnull address)
{
socklen_t length;
if (address->family != OFSocketAddressFamilyUNIX)
@throw [OFInvalidArgumentException exception];
length = address->length - offsetof(struct sockaddr_un, sun_path);
for (socklen_t i = 0; i < length; i++)
if (address->sockaddr.un.sun_path[i] == 0)
length = i;
return [OFString stringWithCString: address->sockaddr.un.sun_path
encoding: [OFLocale encoding]
|
>
|
|
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
|
OFSocketAddressUNIXPath(const OFSocketAddress *_Nonnull address)
{
socklen_t length;
if (address->family != OFSocketAddressFamilyUNIX)
@throw [OFInvalidArgumentException exception];
length =
address->length - (socklen_t)offsetof(struct sockaddr_un, sun_path);
for (socklen_t i = 0; i < length; i++)
if (address->sockaddr.un.sun_path[i] == 0)
length = i;
return [OFString stringWithCString: address->sockaddr.un.sun_path
encoding: [OFLocale encoding]
|
︙ | | | ︙ | |