Implement async (overlapped) I/O with io_uring

This commit is contained in:
2025-10-06 23:51:09 -06:00
parent f366e77956
commit df36de18bf
21 changed files with 909 additions and 143 deletions

View File

@@ -54,4 +54,23 @@ NTSTATUS statusFromErrno(int err) {
return statusFromWinError(winErrorFromErrno(err));
}
DWORD winErrorFromNtStatus(NTSTATUS status) {
switch (status) {
case STATUS_SUCCESS:
return ERROR_SUCCESS;
case STATUS_PENDING:
return ERROR_IO_PENDING;
case STATUS_END_OF_FILE:
return ERROR_HANDLE_EOF;
case STATUS_INVALID_HANDLE:
return ERROR_INVALID_HANDLE;
case STATUS_INVALID_PARAMETER:
return ERROR_INVALID_PARAMETER;
case STATUS_PIPE_BROKEN:
return ERROR_BROKEN_PIPE;
default:
return ERROR_NOT_SUPPORTED;
}
}
} // namespace wibo