Changes

→‎Description: Add hostent struct docs
Line 50: Line 50:  
|}
 
|}
   −
=Description=
+
=struct hostent=
It's currently unknown how the output buffer is converted into a hostent struct.
+
Internally the sysmodule uses the standard hostent struct, but using s16 for h_addrtype and h_length:
 +
 
 +
struct hostent {
 +
char*  h_name;
 +
char** h_aliases;
 +
s16    h_addrtype;
 +
s16    h_length;
 +
char** h_addr_list;
 +
};
 +
 
 +
However, the struct returned is different from the internal one:
 +
 
 +
struct hostent_3ds_t {
 +
s16          h_addrtype;    //< Host address type
 +
s16          h_length;      //< Length of address. Maximum of 16 for IPV6
 +
s16          h_addr_count;  //< Number of addresses returned. Maximum of 24
 +
s16          h_alias_count; //< Number of aliases returned. Maximum of 24
 +
char[256]    h_name;        //< Official name of host
 +
char[256][24] h_aliases;    //< Alias list
 +
char[16][24]  h_addr_list;  //< List of addresses from name server
 +
};
 +
 
 +
Its size is of 0x1A88 bytes.
127

edits