Difference between revisions of "Socket Services"
Jump to navigation
Jump to search
Line 107: | Line 107: | ||
|- | |- | ||
| 0x00010084 | | 0x00010084 | ||
− | | [[SOCP: | + | | [[SOCP:InitializeSockets|InitializeSockets]] |
|- | |- | ||
| 0x00020000 | | 0x00020000 | ||
− | | [[SOCP: | + | | [[SOCP:FinalizeSockets|FinalizeSockets]] |
|- | |- | ||
| 0x000300C2 | | 0x000300C2 | ||
− | | | + | | [[SOCP:SetNetworkOpt|SetNetworkOpt]] |
|- | |- | ||
| 0x00040040 | | 0x00040040 | ||
− | | [[SOCP: | + | | [[SOCP:CloseSocketsForProcess|CloseSocketsForProcess]] |
|- | |- | ||
| 0x000500C0 | | 0x000500C0 | ||
Line 131: | Line 131: | ||
|- | |- | ||
| 0x00090000 | | 0x00090000 | ||
− | | [[SOCP: | + | | [[SOCP:StopInitializeSockets|StopInitializeSockets]] |
|} | |} | ||
Revision as of 03:29, 21 November 2014
Socket user service "soc:U"
Command Header | Description |
---|---|
0x00010044 | InitializeSockets |
0x000200C2 | socket |
0x00030082 | listen |
0x00040082 | accept |
0x00050084 | bind |
0x00060084 | connect |
0x00070104 | recvfrom_other |
0x00080102 | recvfrom |
0x00090106 | sendto_other |
0x000A0106 | sendto |
0x000B0042 | close |
0x000C0082 | shutdown |
0x000D0082 | gethostbyname |
0x000E00C2 | gethostbyaddr |
0x000F0106 | This resolves the IP address(es) for the specified host-name. |
0x00110102 | getsockopt |
0x00120104 | setsockopt |
0x001300C2 | fcntl |
0x00140084 | poll |
0x00150042 | sockatmark |
0x00160000 | gethostid |
0x00170082 | getsockname |
0x00180082 | getpeername |
0x00190000 | ShutdownSockets |
0x001A00C0 | GetNetworkOpt |
0x001B0040 | ICMPSocket |
0x001C0104 | ICMPPing |
0x001D0040 | ICMPCancel |
0x001E0040 | ICMPClose |
0x001F0040 | GetResolverInfo |
0x00210002 | CloseSockets |
Socket privileged service "soc:P"
Command Header | Description |
---|---|
0x00010084 | InitializeSockets |
0x00020000 | FinalizeSockets |
0x000300C2 | SetNetworkOpt |
0x00040040 | CloseSocketsForProcess |
0x000500C0 | |
0x00060000 | gethostid |
0x00070000 | |
0x00080000 | |
0x00090000 | StopInitializeSockets |
struct sockaddr
Offset | Size | Description |
---|---|---|
0x0 | 0x1 | Total size of the entire sockaddr buffer. |
0x1 | 0x1 | u8 sa_family |
0x2 | sockaddr_totalsize-0x2 | sa_data[] |
The total buffer size is 0x8, for family AF_INET value 2. AF_INET6 seems to be value 23, the total sockaddr size for this is 0x1C. The max sockaddr buffer size which the socket module can handle is size 0x1C.
These socket services(and defines/structures) seem to be based on the Wii sockets?