- got rid of include/async.h
- fixed some overlapped issues in socket handling
- moved kernel32.CancelIo implementation to ntdll
diff --git a/server/protocol.def b/server/protocol.def
index 0cfd8c5..6873faa 100644
--- a/server/protocol.def
+++ b/server/protocol.def
@@ -1615,20 +1615,26 @@
#define SERIALINFO_SET_ERROR 0x04
-/* Create / reschedule an async I/O */
+/* Create an async I/O */
@REQ(register_async)
- obj_handle_t handle; /* handle to comm port, socket or file */
- int type;
- void* overlapped;
- int count;
- unsigned int status;
+ obj_handle_t handle; /* handle to comm port, socket or file */
+ int type; /* type of queue to look after */
+ void* io_apc; /* APC routine to queue upon end of async */
+ void* io_sb; /* I/O status block (unique across all async on this handle) */
+ void* io_user; /* data to pass back to caller */
+ int count; /* count - usually # of bytes to be read/written */
@END
-#define ASYNC_TYPE_NONE 0x00
#define ASYNC_TYPE_READ 0x01
#define ASYNC_TYPE_WRITE 0x02
#define ASYNC_TYPE_WAIT 0x03
+/* Cancel all async op on a fd */
+@REQ(cancel_async)
+ obj_handle_t handle; /* handle to comm port, socket or file */
+@END
+
+
/* Create a named pipe */
@REQ(create_named_pipe)
unsigned int openmode;