// +build windows
package sys_windows

ERROR_SUCCESS : DWORD : 0
NO_ERROR :: 0
SEC_E_OK : HRESULT : 0x00000000

ERROR_INVALID_FUNCTION       : DWORD : 1
ERROR_FILE_NOT_FOUND         : DWORD : 2
ERROR_PATH_NOT_FOUND         : DWORD : 3
ERROR_ACCESS_DENIED          : DWORD : 5
ERROR_INVALID_HANDLE         : DWORD : 6
ERROR_NOT_ENOUGH_MEMORY      : DWORD : 8
ERROR_INVALID_BLOCK          : DWORD : 9
ERROR_BAD_ENVIRONMENT        : DWORD : 10
ERROR_BAD_FORMAT             : DWORD : 11
ERROR_INVALID_ACCESS         : DWORD : 12
ERROR_INVALID_DATA           : DWORD : 13
ERROR_OUTOFMEMORY            : DWORD : 14
ERROR_INVALID_DRIVE          : DWORD : 15
ERROR_CURRENT_DIRECTORY      : DWORD : 16
ERROR_NO_MORE_FILES          : DWORD : 18
ERROR_SHARING_VIOLATION      : DWORD : 32
ERROR_LOCK_VIOLATION         : DWORD : 33
ERROR_HANDLE_EOF             : DWORD : 38
ERROR_NOT_SUPPORTED          : DWORD : 50
ERROR_FILE_EXISTS            : DWORD : 80
ERROR_INVALID_PARAMETER      : DWORD : 87
ERROR_BROKEN_PIPE            : DWORD : 109
ERROR_CALL_NOT_IMPLEMENTED   : DWORD : 120
ERROR_INSUFFICIENT_BUFFER    : DWORD : 122
ERROR_INVALID_NAME           : DWORD : 123
ERROR_BAD_ARGUMENTS          : DWORD : 160
ERROR_LOCK_FAILED            : DWORD : 167
ERROR_ALREADY_EXISTS         : DWORD : 183
ERROR_NO_DATA                : DWORD : 232
ERROR_ENVVAR_NOT_FOUND       : DWORD : 203
ERROR_OPERATION_ABORTED      : DWORD : 995
ERROR_IO_PENDING             : DWORD : 997
ERROR_NO_UNICODE_TRANSLATION : DWORD : 1113
ERROR_TIMEOUT                : DWORD : 1460
ERROR_DATATYPE_MISMATCH      : DWORD : 1629
ERROR_UNSUPPORTED_TYPE       : DWORD : 1630
ERROR_NOT_SAME_OBJECT        : DWORD : 1656
ERROR_PIPE_CONNECTED         : DWORD : 0x80070217
ERROR_PIPE_BUSY              : DWORD : 231

E_NOTIMPL :: HRESULT(-0x7fff_bfff) // 0x8000_4001

SUCCEEDED :: #force_inline proc(#any_int result: int) -> bool { return result >= 0 }
