Socket Services: Difference between revisions

Lectem (talk | contribs)
m fixed getnameinfo header
Lectem (talk | contribs)
No edit summary
Line 213: Line 213:
| poll
| poll
|}
|}
=IPV6=
It seems that Nintendo planned ahead and included IPv6 support to some extent in their code.
Name resolution functions support IPv6 (such as [[SOCU:getnameinfo|getnameinfo]]), but [[SOCU:socket|socket]] doesn't.
The ipv6 sockaddr size is 0x1C and is required for some IPC commands, even when using sockaddr_in which in reality is of size 8.
The sockaddr_in6 struct is the following:
struct in6_addr
{
uint8_t s6_addr[16];
};
struct sockaddr_in6
{
    sa_family_t    sin6_family;
    in_port_t      sin6_port;
    struct in6_addr sin6_addr;
    u32            sin6_flowinfo; // Not confirmed
    u32            sin6_scope_id; // Not confirmed
};