Changes

676 bytes added ,  02:10, 13 January 2016
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
 +
};
48

edits