Difference between revisions of "SOCU:poll"
Jump to navigation
Jump to search
(→Events) |
(→Events: Fix values for flags and add new flags) |
||
Line 82: | Line 82: | ||
! Value | ! Value | ||
! Name | ! Name | ||
− | |||
! Description | ! Description | ||
|- | |- | ||
| 0x01 | | 0x01 | ||
− | | | + | | POLLRDNORM |
− | | | + | | Normal data can be read. |
− | |||
|- | |- | ||
| 0x02 | | 0x02 | ||
− | | | + | | POLLRDBAND |
− | | | + | | Priority Band Data can be read. |
− | |||
|- | |- | ||
| 0x04 | | 0x04 | ||
− | | | + | | POLLPRI |
− | | | + | | Urgent data can be read. |
− | |||
|- | |- | ||
| 0x08 | | 0x08 | ||
+ | | POLLWRNORM | ||
+ | | Normal data can be written. | ||
+ | |- | ||
+ | | 0x10 | ||
+ | | POLLWRBAND | ||
+ | | Priority data can be written. | ||
+ | |- | ||
+ | | 0x20 | ||
| POLLERR | | POLLERR | ||
− | |||
| Socket has an error condition. | | Socket has an error condition. | ||
|- | |- | ||
− | | | + | | 0x40 |
− | | | + | | POLLHUP |
− | | | + | | Socket has been disconnected. |
− | |||
|- | |- | ||
− | | | + | | 0x80 |
| POLLNVAL | | POLLNVAL | ||
− | |||
| Invalid socket handle. This is set if you use fd=-1, which is non-standard behavior. | | Invalid socket handle. This is set if you use fd=-1, which is non-standard behavior. | ||
|- | |- | ||
− | | | + | | POLLRDNORM <nowiki>|</nowiki> POLLRDBAND |
− | | | + | | POLLIN |
− | | | + | | Data can be read. |
− | | | + | |- |
+ | | POLLWRNORM | ||
+ | | POLLOUT | ||
+ | | Data can be written. | ||
|} | |} |
Revision as of 13:05, 24 November 2019
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. |