Difference between revisions of "SOCU:recvfrom"

From 3dbrew
Jump to navigation Jump to search
Line 56: Line 56:
 
|-
 
|-
 
| 1
 
| 1
| Result code (zero for success)
+
| Result code (always zero)
 
|-
 
|-
 
| 2
 
| 2
| Total received data
+
| POSIX return value
 
|-
 
|-
 
| 3
 
| 3
| Unknown
+
| Total received data, from the above return-value when no error was returned.
 
|}
 
|}
  
 
=Description=
 
=Description=
 
This receives data from the socket. The max length for the len field is 0x2000, the socket module will use length 0x2000 when this field is >0x2000.
 
This receives data from the socket. The max length for the len field is 0x2000, the socket module will use length 0x2000 when this field is >0x2000.

Revision as of 22:10, 13 July 2013

Request

Index Word Description
0 Header code [0x00080102]
1 Socket descriptor
2 size_t len
3 int flags
4 socklen_t addrlen
5 Value 0x20 (processID header)
6 ProcessID set by the ARM11 kernel.

The following is located 0x100-bytes after the beginning of the above command buffer:

Index Word Description
0 (len<<14) | 2
1 Pointer to output buf
2 (addrlen<<14) | 2
3 Pointer to the output src_addr structure (must be a valid address, even when unused)

Response

Index Word Description
0 Header code
1 Result code (always zero)
2 POSIX return value
3 Total received data, from the above return-value when no error was returned.

Description

This receives data from the socket. The max length for the len field is 0x2000, the socket module will use length 0x2000 when this field is >0x2000.