From 2e04e9516e6e560e8c534e00df1d57eab6e6a174 Mon Sep 17 00:00:00 2001
From: midipix <writeonce@midipix.org>
Date: Tue, 14 Aug 2018 19:59:20 -0400
Subject: socket interfaces: async i/o completion: mark nt_iosb as volatile.

---
 src/socket/ntapi_sc_accept.c                      | 2 +-
 src/socket/ntapi_sc_bind_v1.c                     | 4 ++--
 src/socket/ntapi_sc_bind_v2.c                     | 4 ++--
 src/socket/ntapi_sc_connect_v1.c                  | 4 ++--
 src/socket/ntapi_sc_connect_v2.c                  | 4 ++--
 src/socket/ntapi_sc_getpeername_v1.c              | 4 ++--
 src/socket/ntapi_sc_getpeername_v2.c              | 4 ++--
 src/socket/ntapi_sc_getsockname_v1.c              | 4 ++--
 src/socket/ntapi_sc_getsockname_v2.c              | 4 ++--
 src/socket/ntapi_sc_getsockopt.c                  | 2 +-
 src/socket/ntapi_sc_listen.c                      | 4 ++--
 src/socket/ntapi_sc_recv.c                        | 4 ++--
 src/socket/ntapi_sc_send.c                        | 4 ++--
 src/socket/ntapi_sc_server_accept_connection_v1.c | 4 ++--
 src/socket/ntapi_sc_server_accept_connection_v2.c | 4 ++--
 src/socket/ntapi_sc_server_duplicate_socket.c     | 4 ++--
 src/socket/ntapi_sc_setsockopt.c                  | 4 ++--
 src/socket/ntapi_sc_shutdown.c                    | 4 ++--
 src/socket/ntapi_sc_wait.c                        | 7 +++++--
 19 files changed, 39 insertions(+), 36 deletions(-)

(limited to 'src')

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
-- 
cgit v1.2.3