Request
Index Word
|
Description
|
0
|
Header code [0x00140084]
|
1
|
nfds_t nfds
|
2
|
int timeout
|
3
|
Value 0x20 (processID header)
|
4
|
ProcessID set by the ARM11 kernel.
|
5
|
(insize<<14) | 0x2802
|
6
|
Pointer to input pollfd struct array
|
The following is located 0x100-bytes after the beginning of the above command buffer:
Index Word
|
Description
|
0
|
(outsize<<14) | 2
|
1
|
Pointer to output pollfd struct array
|
Response
Index Word
|
Description
|
0
|
Header code
|
1
|
Result code
|
2
|
POSIX return value
|
pollfd struct
Type
|
Name
|
Description
|
u32
|
fd
|
Socket handle
|
u32
|
events
|
Events to poll for (input)
|
u32
|
revents
|
Events received (output)
|
Events
Events are a bitwise set of these flags.
Value
|
Name
|
Description
|
0x01
|
POLLRDNORM
|
Normal data can be read.
|
0x02
|
POLLRDBAND
|
Priority Band Data can be read.
|
0x04
|
POLLPRI
|
Urgent data can be read.
|
0x08
|
POLLWRNORM
|
Normal data can be written.
|
0x10
|
POLLWRBAND
|
Priority data can be written.
|
0x20
|
POLLERR
|
Socket has an error condition.
|
0x40
|
POLLHUP
|
Socket has been disconnected.
|
0x80
|
POLLNVAL
|
Invalid socket handle. This is set if you use fd=-1, which is non-standard behavior.
|
POLLRDNORM | POLLRDBAND
|
POLLIN
|
Data can be read.
|
POLLWRNORM
|
POLLOUT
|
Data can be written.
|