Difference between revisions of "SOCU:SendToMultiple"

From 3dbrew
Jump to navigation Jump to search
(Created page with "=Request= {| class="wikitable" border="1" |- ! Index Word ! Description |- | 0 | Header code [0x00200146] |- | 1 | Socket descriptor |- | 2 | size_t input buf len |- | 3 | i...")
 
(addrinfo -> sockaddr)
 
Line 59: Line 59:
  
 
=Description=
 
=Description=
This is the same as [[SOCU:sendto]], but instead of one addrinfo being passed in, multiple are allowed.
+
This is the same as [[SOCU:sendto]], but instead of one sockaddr being passed in, multiple are allowed.
As with [[SOCU:sendto]], the total input data size is limited to 0x2000. In FRD module, the input data must not be greater than 0x1E00 and the addrinfos buffer size must not exceed 0x200.
+
As with [[SOCU:sendto]], the total input data size is limited to 0x2000. In FRD module, the input data must not be greater than 0x1E00 and the sockaddr buffer size must not exceed 0x200.

Latest revision as of 18:10, 20 January 2024

Request[edit]

Index Word Description
0 Header code [0x00200146]
1 Socket descriptor
2 size_t input buf len
3 int flags
4 socklen_t addrlen
5 input sockaddr buffer size
6 Value 0x20 (processID header)
7 ProcessID set by the ARM11 kernel.
8 (input buf len<<14) | 0x3002
9 Pointer to input buf
10 (input sockaddr buffer size<<14) | 0x3402
11 Pointer to input dest_addr structures

Response[edit]

Index Word Description
0 Header code
1 Result code
2 POSIX return value

Description[edit]

This is the same as SOCU:sendto, but instead of one sockaddr being passed in, multiple are allowed. As with SOCU:sendto, the total input data size is limited to 0x2000. In FRD module, the input data must not be greater than 0x1E00 and the sockaddr buffer size must not exceed 0x200.