summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2018-08-14 23:59:20 (GMT)
committermidipix <writeonce@midipix.org>2018-08-15 00:00:56 (GMT)
commit2e04e9516e6e560e8c534e00df1d57eab6e6a174 (patch)
tree9e6cf049796bd8b7e3d34342e078b1384db9815b
parent4e35a4441b6070bdb8ea5d4bdd9129b097091c9a (diff)
downloadntapi-2e04e9516e.tar.bz2
ntapi-2e04e9516e.tar.xz
socket interfaces: async i/o completion: mark nt_iosb as volatile.HEADmain
-rw-r--r--include/ntapi/nt_socket.h33
-rw-r--r--src/socket/ntapi_sc_accept.c2
-rw-r--r--src/socket/ntapi_sc_bind_v1.c4
-rw-r--r--src/socket/ntapi_sc_bind_v2.c4
-rw-r--r--src/socket/ntapi_sc_connect_v1.c4
-rw-r--r--src/socket/ntapi_sc_connect_v2.c4
-rw-r--r--src/socket/ntapi_sc_getpeername_v1.c4
-rw-r--r--src/socket/ntapi_sc_getpeername_v2.c4
-rw-r--r--src/socket/ntapi_sc_getsockname_v1.c4
-rw-r--r--src/socket/ntapi_sc_getsockname_v2.c4
-rw-r--r--src/socket/ntapi_sc_getsockopt.c2
-rw-r--r--src/socket/ntapi_sc_listen.c4
-rw-r--r--src/socket/ntapi_sc_recv.c4
-rw-r--r--src/socket/ntapi_sc_send.c4
-rw-r--r--src/socket/ntapi_sc_server_accept_connection_v1.c4
-rw-r--r--src/socket/ntapi_sc_server_accept_connection_v2.c4
-rw-r--r--src/socket/ntapi_sc_server_duplicate_socket.c4
-rw-r--r--src/socket/ntapi_sc_setsockopt.c4
-rw-r--r--src/socket/ntapi_sc_shutdown.c4
-rw-r--r--src/socket/ntapi_sc_wait.c7
20 files changed, 57 insertions, 51 deletions
diff --git a/include/ntapi/nt_socket.h b/include/ntapi/nt_socket.h
index 4c32132..b3a1f69 100644
--- a/include/ntapi/nt_socket.h
+++ b/include/ntapi/nt_socket.h
@@ -446,7 +446,7 @@ typedef int32_t __cdecl ntapi_sc_socket(
__in uint32_t protocol,
__in uint32_t desired_access __optional,
__in nt_sqos * sqos __optional,
- __out nt_io_status_block * iosb __optional);
+ __out nt_iosb * iosb __optional);
typedef int32_t __cdecl ntapi_sc_bind(
@@ -456,14 +456,14 @@ typedef int32_t __cdecl ntapi_sc_bind(
__in uint32_t afdflags __optional,
__in uint32_t srvflags __optional,
__out nt_sockaddr * sockaddr __optional,
- __out nt_io_status_block * iosb __optional);
+ __out nt_iosb volatile * iosb __optional);
typedef int32_t __cdecl ntapi_sc_listen(
__in nt_socket * hssocket,
__in uint32_t backlog,
__in uint32_t afdflags __optional,
- __out nt_io_status_block * iosb __optional);
+ __out nt_iosb volatile * iosb __optional);
typedef int32_t __cdecl ntapi_sc_accept(
@@ -473,7 +473,7 @@ typedef int32_t __cdecl ntapi_sc_accept(
__out nt_socket * hssock_dedicated,
__in uintptr_t afdflags __optional,
__in uintptr_t tdiflags __optional,
- __out nt_io_status_block * iosb __optional);
+ __out nt_iosb volatile * iosb __optional);
typedef int32_t __cdecl ntapi_sc_connect(
@@ -481,7 +481,7 @@ typedef int32_t __cdecl ntapi_sc_connect(
__in nt_sockaddr * addr,
__in uintptr_t addrlen,
__in uintptr_t service_flags __optional,
- __out nt_io_status_block * iosb __optional);
+ __out nt_iosb volatile * iosb __optional);
typedef int32_t __cdecl ntapi_sc_send(
@@ -493,7 +493,7 @@ typedef int32_t __cdecl ntapi_sc_send(
__in size_t addrlen __optional,
__in uintptr_t afdflags __optional,
__in uintptr_t tdiflags __optional,
- __out nt_io_status_block * iosb __optional);
+ __out nt_iosb volatile * iosb __optional);
typedef int32_t __cdecl ntapi_sc_recv(
@@ -504,38 +504,38 @@ typedef int32_t __cdecl ntapi_sc_recv(
__in nt_sockaddr_reply * raddr __optional,
__in uintptr_t afdflags __optional,
__in uintptr_t tdiflags __optional,
- __out nt_io_status_block * iosb __optional);
+ __out nt_iosb volatile * iosb __optional);
typedef int32_t __cdecl ntapi_sc_shutdown(
__in nt_socket * hssocket,
__in uint32_t afdhow,
- __out nt_io_status_block * iosb __optional);
+ __out nt_iosb volatile * iosb __optional);
typedef int32_t __cdecl ntapi_sc_getsockname(
__in nt_socket * hssocket,
__in nt_sockaddr * addr,
__in uint16_t * addrlen,
- __out nt_io_status_block * iosb __optional);
+ __out nt_iosb volatile * iosb __optional);
typedef int32_t __cdecl ntapi_sc_getpeername(
__in nt_socket * hssocket,
__in nt_sockaddr * addr,
__in uint16_t * addrlen,
- __out nt_io_status_block * iosb __optional);
+ __out nt_iosb volatile * iosb __optional);
typedef int32_t __cdecl ntapi_sc_server_accept_connection(
__in nt_socket * hssocket,
__out nt_afd_accept_info * accept_info,
- __out nt_io_status_block * iosb __optional);
+ __out nt_iosb volatile * iosb __optional);
typedef int32_t __cdecl ntapi_sc_server_duplicate_socket(
__in nt_socket * hssock_listen,
__in nt_socket * hssock_dedicated,
__in nt_afd_accept_info * accept_info,
- __out nt_io_status_block * iosb __optional);
+ __out nt_iosb volatile * iosb __optional);
typedef int32_t __cdecl ntapi_sc_setsockopt(
@@ -544,7 +544,7 @@ typedef int32_t __cdecl ntapi_sc_setsockopt(
__in int32_t optname,
__in const void * optval,
__in uint32_t optlen,
- __out nt_io_status_block * iosb __optional);
+ __out nt_iosb volatile * iosb __optional);
typedef int32_t __cdecl ntapi_sc_getsockopt(
@@ -553,9 +553,12 @@ typedef int32_t __cdecl ntapi_sc_getsockopt(
__in int32_t optname,
__out void * optval,
__in uint32_t optlen,
- __out nt_io_status_block * iosb);
+ __out nt_iosb volatile * iosb);
-typedef int32_t __cdecl ntapi_sc_wait(nt_socket * hssocket, nt_iosb * iosb, nt_timeout * timeout);
+typedef int32_t __cdecl ntapi_sc_wait(
+ __in nt_socket * hssocket,
+ __out nt_iosb volatile * iosb,
+ __in nt_timeout * timeout);
#endif
diff --git a/src/socket/ntapi_sc_accept.c b/src/socket/ntapi_sc_accept.c
index f4fa0d8..1920941 100644
--- a/src/socket/ntapi_sc_accept.c
+++ b/src/socket/ntapi_sc_accept.c
@@ -26,7 +26,7 @@ int32_t __cdecl __ntapi_sc_accept(
__out nt_socket * hssock_dedicated,
__in uintptr_t afdflags __optional,
__in uintptr_t tdiflags __optional,
- __out nt_io_status_block * iosb __optional)
+ __out nt_iosb volatile * iosb __optional)
{
int32_t status;
diff --git a/src/socket/ntapi_sc_bind_v1.c b/src/socket/ntapi_sc_bind_v1.c
index fd7abd5..3e38993 100644
--- a/src/socket/ntapi_sc_bind_v1.c
+++ b/src/socket/ntapi_sc_bind_v1.c
@@ -38,9 +38,9 @@ int32_t __cdecl __ntapi_sc_bind_v1(
__in uint32_t afdflags __optional,
__in uint32_t srvflags __optional,
__out nt_sockaddr * sockaddr __optional,
- __out nt_io_status_block * iosb __optional)
+ __out nt_iosb volatile * iosb __optional)
{
- nt_io_status_block siosb;
+ nt_iosb volatile siosb;
nt_afd_bind_msg afd_bind_req;
nt_afd_bind_msg afd_bind_rep;
diff --git a/src/socket/ntapi_sc_bind_v2.c b/src/socket/ntapi_sc_bind_v2.c
index 1014150..cf463c0 100644
--- a/src/socket/ntapi_sc_bind_v2.c
+++ b/src/socket/ntapi_sc_bind_v2.c
@@ -35,9 +35,9 @@ int32_t __cdecl __ntapi_sc_bind_v2(
__in uint32_t afdflags __optional,
__in uint32_t srvflags __optional,
__out nt_sockaddr * sockaddr __optional,
- __out nt_io_status_block * iosb __optional)
+ __out nt_iosb volatile * iosb __optional)
{
- nt_io_status_block siosb;
+ nt_iosb volatile siosb;
nt_afd_bind_request afd_bind_req;
nt_afd_bind_reply afd_bind_rep;
diff --git a/src/socket/ntapi_sc_connect_v1.c b/src/socket/ntapi_sc_connect_v1.c
index d61b45e..89050a5 100644
--- a/src/socket/ntapi_sc_connect_v1.c
+++ b/src/socket/ntapi_sc_connect_v1.c
@@ -39,9 +39,9 @@ int32_t __cdecl __ntapi_sc_connect_v1(
__in nt_sockaddr * addr,
__in uintptr_t addrlen,
__in uintptr_t service_flags __optional,
- __out nt_io_status_block * iosb __optional)
+ __out nt_iosb volatile * iosb __optional)
{
- nt_io_status_block siosb;
+ nt_iosb volatile siosb;
nt_afd_connect_request afd_connect_req;
_addr_memcpy * src;
diff --git a/src/socket/ntapi_sc_connect_v2.c b/src/socket/ntapi_sc_connect_v2.c
index e798661..18ac826 100644
--- a/src/socket/ntapi_sc_connect_v2.c
+++ b/src/socket/ntapi_sc_connect_v2.c
@@ -30,9 +30,9 @@ int32_t __cdecl __ntapi_sc_connect_v2(
__in nt_sockaddr * addr,
__in uintptr_t addrlen,
__in uintptr_t service_flags __optional,
- __out nt_io_status_block * iosb __optional)
+ __out nt_iosb volatile * iosb __optional)
{
- nt_io_status_block siosb;
+ nt_iosb volatile siosb;
nt_afd_connect_request afd_connect_req;
_addr_memcpy * src;
diff --git a/src/socket/ntapi_sc_getpeername_v1.c b/src/socket/ntapi_sc_getpeername_v1.c
index a560aec..676a74e 100644
--- a/src/socket/ntapi_sc_getpeername_v1.c
+++ b/src/socket/ntapi_sc_getpeername_v1.c
@@ -35,9 +35,9 @@ int32_t __cdecl __ntapi_sc_getpeername_v1(
__in nt_socket * hssocket,
__in nt_sockaddr * addr,
__in uint16_t * addrlen,
- __out nt_io_status_block * iosb __optional)
+ __out nt_iosb volatile * iosb __optional)
{
- nt_io_status_block siosb;
+ nt_iosb volatile siosb;
nt_afd_server_socket_name_info sock_name_info;
struct __addr_memcpy * asrc;
diff --git a/src/socket/ntapi_sc_getpeername_v2.c b/src/socket/ntapi_sc_getpeername_v2.c
index c91b3dd..9f383f9 100644
--- a/src/socket/ntapi_sc_getpeername_v2.c
+++ b/src/socket/ntapi_sc_getpeername_v2.c
@@ -15,9 +15,9 @@ int32_t __cdecl __ntapi_sc_getpeername_v2(
__in nt_socket * hssocket,
__in nt_sockaddr * addr,
__in uint16_t * addrlen,
- __out nt_io_status_block * iosb __optional)
+ __out nt_iosb volatile * iosb __optional)
{
- nt_iosb siosb;
+ nt_iosb volatile siosb;
iosb = iosb ? iosb : &siosb;
diff --git a/src/socket/ntapi_sc_getsockname_v1.c b/src/socket/ntapi_sc_getsockname_v1.c
index c6bf330..bbc99d3 100644
--- a/src/socket/ntapi_sc_getsockname_v1.c
+++ b/src/socket/ntapi_sc_getsockname_v1.c
@@ -35,9 +35,9 @@ int32_t __cdecl __ntapi_sc_getsockname_v1(
__in nt_socket * hssocket,
__in nt_sockaddr * addr,
__in uint16_t * addrlen,
- __out nt_io_status_block * iosb __optional)
+ __out nt_iosb volatile * iosb __optional)
{
- nt_io_status_block siosb;
+ nt_iosb volatile siosb;
nt_afd_server_socket_name_info sock_name_info;
struct __addr_memcpy * asrc;
diff --git a/src/socket/ntapi_sc_getsockname_v2.c b/src/socket/ntapi_sc_getsockname_v2.c
index 25d867f..fe94e7e 100644
--- a/src/socket/ntapi_sc_getsockname_v2.c
+++ b/src/socket/ntapi_sc_getsockname_v2.c
@@ -15,9 +15,9 @@ int32_t __cdecl __ntapi_sc_getsockname_v2(
__in nt_socket * hssocket,
__in nt_sockaddr * addr,
__in uint16_t * addrlen,
- __out nt_io_status_block * iosb __optional)
+ __out nt_iosb volatile * iosb __optional)
{
- nt_iosb siosb;
+ nt_iosb volatile siosb;
iosb = iosb ? iosb : &siosb;
diff --git a/src/socket/ntapi_sc_getsockopt.c b/src/socket/ntapi_sc_getsockopt.c
index d4e0a42..fa2233f 100644
--- a/src/socket/ntapi_sc_getsockopt.c
+++ b/src/socket/ntapi_sc_getsockopt.c
@@ -17,7 +17,7 @@ int32_t __cdecl __ntapi_sc_getsockopt(
__in int32_t optname,
__out void * optval,
__in uint32_t optlen,
- __out nt_io_status_block * iosb)
+ __out nt_iosb volatile * iosb)
{
nt_afd_sockopt_info afd_sockopt;
diff --git a/src/socket/ntapi_sc_listen.c b/src/socket/ntapi_sc_listen.c
index 8e68b6a..a8d437e 100644
--- a/src/socket/ntapi_sc_listen.c
+++ b/src/socket/ntapi_sc_listen.c
@@ -15,10 +15,10 @@ int32_t __cdecl __ntapi_sc_listen(
__in nt_socket * hssocket,
__in uint32_t backlog,
__in uint32_t afdflags __optional,
- __out nt_io_status_block * iosb __optional)
+ __out nt_iosb volatile * iosb __optional)
{
nt_afd_listen_info afd_listen;
- nt_io_status_block siosb;
+ nt_iosb volatile siosb;
iosb = iosb ? iosb : &siosb;
diff --git a/src/socket/ntapi_sc_recv.c b/src/socket/ntapi_sc_recv.c
index a45eb17..2566a6d 100644
--- a/src/socket/ntapi_sc_recv.c
+++ b/src/socket/ntapi_sc_recv.c
@@ -25,11 +25,11 @@ int32_t __cdecl __ntapi_sc_recv(
__in nt_sockaddr_reply * raddr __optional,
__in uintptr_t afdflags __optional,
__in uintptr_t tdiflags __optional,
- __out nt_io_status_block * iosb __optional)
+ __out nt_iosb volatile * iosb __optional)
{
nt_afd_buffer afd_buffer;
nt_afd_recv_udp_info afd_recv;
- nt_io_status_block siosb;
+ nt_iosb volatile siosb;
iosb = iosb ? iosb : &siosb;
diff --git a/src/socket/ntapi_sc_send.c b/src/socket/ntapi_sc_send.c
index f987cad..10f5ab6 100644
--- a/src/socket/ntapi_sc_send.c
+++ b/src/socket/ntapi_sc_send.c
@@ -34,11 +34,11 @@ int32_t __cdecl __ntapi_sc_send(
__in size_t addrlen __optional,
__in uintptr_t afdflags __optional,
__in uintptr_t tdiflags __optional,
- __out nt_io_status_block * iosb __optional)
+ __out nt_iosb volatile * iosb __optional)
{
nt_afd_buffer afd_buffer;
nt_afd_send_udp_info afd_send;
- nt_io_status_block siosb;
+ nt_iosb volatile siosb;
if (addrlen && (addrlen != sizeof(nt_sockaddr_in4))
&& (addrlen != sizeof(nt_sockaddr_in6)))
diff --git a/src/socket/ntapi_sc_server_accept_connection_v1.c b/src/socket/ntapi_sc_server_accept_connection_v1.c
index 1dce7b5..6dd2931 100644
--- a/src/socket/ntapi_sc_server_accept_connection_v1.c
+++ b/src/socket/ntapi_sc_server_accept_connection_v1.c
@@ -32,9 +32,9 @@ typedef struct __addr_memcpy {
int32_t __cdecl __ntapi_sc_server_accept_connection_v1(
__in nt_socket * hssocket,
__out nt_afd_accept_info * accept_info,
- __out nt_io_status_block * iosb __optional)
+ __out nt_iosb volatile * iosb __optional)
{
- nt_io_status_block siosb;
+ nt_iosb volatile siosb;
nt_afd_server_accept_info accept_info_buffer;
_addr_memcpy * asrc;
diff --git a/src/socket/ntapi_sc_server_accept_connection_v2.c b/src/socket/ntapi_sc_server_accept_connection_v2.c
index 715e77e..36dfcaa 100644
--- a/src/socket/ntapi_sc_server_accept_connection_v2.c
+++ b/src/socket/ntapi_sc_server_accept_connection_v2.c
@@ -19,9 +19,9 @@ typedef struct _nt_afd_server_accept_info {
int32_t __cdecl __ntapi_sc_server_accept_connection_v2(
__in nt_socket * hssocket,
__out nt_afd_accept_info * accept_info,
- __out nt_io_status_block * iosb __optional)
+ __out nt_iosb volatile * iosb __optional)
{
- nt_io_status_block siosb;
+ nt_iosb volatile siosb;
iosb = iosb ? iosb : &siosb;
diff --git a/src/socket/ntapi_sc_server_duplicate_socket.c b/src/socket/ntapi_sc_server_duplicate_socket.c
index b8f3e9f..6331be9 100644
--- a/src/socket/ntapi_sc_server_duplicate_socket.c
+++ b/src/socket/ntapi_sc_server_duplicate_socket.c
@@ -15,10 +15,10 @@ int32_t __cdecl __ntapi_sc_server_duplicate_socket(
__in nt_socket * hssock_listen,
__in nt_socket * hssock_dedicated,
__in nt_afd_accept_info * accept_info,
- __out nt_io_status_block * iosb __optional)
+ __out nt_iosb volatile * iosb __optional)
{
nt_afd_duplicate_info duplicate_info;
- nt_io_status_block siosb;
+ nt_iosb volatile siosb;
iosb = iosb ? iosb : &siosb;
diff --git a/src/socket/ntapi_sc_setsockopt.c b/src/socket/ntapi_sc_setsockopt.c
index 153a2a8..1e010bd 100644
--- a/src/socket/ntapi_sc_setsockopt.c
+++ b/src/socket/ntapi_sc_setsockopt.c
@@ -17,10 +17,10 @@ int32_t __cdecl __ntapi_sc_setsockopt(
__in int32_t optname,
__in const void * optval,
__in uint32_t optlen,
- __out nt_io_status_block * iosb)
+ __out nt_iosb volatile * iosb)
{
nt_afd_sockopt_info afd_sockopt;
- nt_io_status_block siosb;
+ nt_iosb volatile siosb;
iosb = iosb ? iosb : &siosb;
diff --git a/src/socket/ntapi_sc_shutdown.c b/src/socket/ntapi_sc_shutdown.c
index 51379d3..84370e0 100644
--- a/src/socket/ntapi_sc_shutdown.c
+++ b/src/socket/ntapi_sc_shutdown.c
@@ -14,10 +14,10 @@
int32_t __cdecl __ntapi_sc_shutdown(
__in nt_socket * hssocket,
__in uint32_t afdhow,
- __out nt_io_status_block * iosb __optional)
+ __out nt_iosb volatile * iosb __optional)
{
nt_afd_disconnect_info afd_disconnect;
- nt_io_status_block siosb;
+ nt_iosb volatile siosb;
iosb = iosb ? iosb : &siosb;
diff --git a/src/socket/ntapi_sc_wait.c b/src/socket/ntapi_sc_wait.c
index d078121..5d207e2 100644
--- a/src/socket/ntapi_sc_wait.c
+++ b/src/socket/ntapi_sc_wait.c
@@ -10,9 +10,12 @@
#include <ntapi/ntapi.h>
#include "ntapi_impl.h"
-int32_t __cdecl __ntapi_sc_wait(nt_socket * hssocket, nt_iosb * iosb, nt_timeout * timeout)
+int32_t __cdecl __ntapi_sc_wait(
+ nt_socket * hssocket,
+ nt_iosb volatile * iosb,
+ nt_timeout * timeout)
{
- nt_iosb cancel;
+ nt_iosb cancel;
timeout = (timeout && timeout->quad)
? timeout