diff --git a/include/ntapi/nt_socket.h b/include/ntapi/nt_socket.h index 00ce144..82cae16 100644 --- a/include/ntapi/nt_socket.h +++ b/include/ntapi/nt_socket.h @@ -189,6 +189,16 @@ #define NT_AFD_IOCTL_SET_INFO (0x1203bu) #define NT_AFD_IOCTL_GET_INFO (0x1207bu) +/* afd poll socket info bits */ +#define NT_AFD_POLL_RECEIVE (0x01u) +#define NT_AFD_POLL_RECEIVE_EXPEDITED (0x02u) +#define NT_AFD_POLL_SEND (0x04u) +#define NT_AFD_POLL_DISCONNECT (0x08u) +#define NT_AFD_POLL_ABORT (0x10u) +#define NT_AFD_POLL_LOCAL_CLOSE (0x20u) +#define NT_AFD_POLL_CONNECT (0x40u) +#define NT_AFD_POLL_ACCEPT (0x80u) + /* afd socket shutdown bits */ #define NT_AFD_DISCONNECT_WR (0x01u) #define NT_AFD_DISCONNECT_RD (0x02u) @@ -333,6 +343,21 @@ typedef struct _nt_afd_recv_info { } nt_afd_recv_info; +typedef struct _nt_afd_poll_socket_info { + void * hsocket; + uint32_t events; + int32_t status; +} nt_afd_poll_socket_info; + + +typedef struct _nt_afd_poll_info { + nt_timeout timeout; + uint32_t nfds; + uint32_t options; + nt_afd_poll_socket_info pollfds[]; +} nt_afd_poll_info; + + typedef struct _nt_afd_disconnect_info { uint32_t shutdown_flags; uint32_t unknown[3];