Fixed binary search: no more infinite loops when vendor is unknown.
[tangerine.git] / arch / all-mingw32 / devs / filesys / emul_handler / winapi.h
blob8b231f4fdb449ad7d2ae76bf422f5135529d35aa
1 /* WinAPI definitions to be used with AROS-side code. Taken from various Mingw32 headers. */
3 #define GENERIC_READ 0x80000000
4 #define GENERIC_WRITE 0x40000000
5 #define GENERIC_EXECUTE 0x20000000
6 #define GENERIC_ALL 0x10000000
8 #define INVALID_FILE_ATTRIBUTES ((ULONG)-1)
10 #define FILE_LIST_DIRECTORY 0x00000001
11 #define FILE_READ_DATA 0x00000001
12 #define FILE_ADD_FILE 0x00000002
13 #define FILE_WRITE_DATA 0x00000002
14 #define FILE_ADD_SUBDIRECTORY 0x00000004
15 #define FILE_APPEND_DATA 0x00000004
16 #define FILE_CREATE_PIPE_INSTANCE 0x00000004
17 #define FILE_READ_EA 0x00000008
18 #define FILE_READ_PROPERTIES 0x00000008
19 #define FILE_WRITE_EA 0x00000010
20 #define FILE_WRITE_PROPERTIES 0x00000010
21 #define FILE_EXECUTE 0x00000020
22 #define FILE_TRAVERSE 0x00000020
23 #define FILE_DELETE_CHILD 0x00000040
24 #define FILE_READ_ATTRIBUTES 0x00000080
25 #define FILE_WRITE_ATTRIBUTES 0x00000100
27 #define FILE_SHARE_READ 0x00000001
28 #define FILE_SHARE_WRITE 0x00000002
29 #define FILE_SHARE_DELETE 0x00000004
30 #define FILE_SHARE_VALID_FLAGS 0x00000007
32 #define FILE_ATTRIBUTE_READONLY 0x00000001
33 #define FILE_ATTRIBUTE_HIDDEN 0x00000002
34 #define FILE_ATTRIBUTE_SYSTEM 0x00000004
35 #define FILE_ATTRIBUTE_DIRECTORY 0x00000010
36 #define FILE_ATTRIBUTE_ARCHIVE 0x00000020
37 #define FILE_ATTRIBUTE_DEVICE 0x00000040
38 #define FILE_ATTRIBUTE_NORMAL 0x00000080
39 #define FILE_ATTRIBUTE_TEMPORARY 0x00000100
40 #define FILE_ATTRIBUTE_SPARSE_FILE 0x00000200
41 #define FILE_ATTRIBUTE_REPARSE_POINT 0x00000400
42 #define FILE_ATTRIBUTE_COMPRESSED 0x00000800
43 #define FILE_ATTRIBUTE_OFFLINE 0x00001000
44 #define FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 0x00002000
45 #define FILE_ATTRIBUTE_ENCRYPTED 0x00004000
46 #define FILE_ATTRIBUTE_VALID_FLAGS 0x00007fb7
47 #define FILE_ATTRIBUTE_VALID_SET_FLAGS 0x000031a7
49 #define CREATE_NEW 1
50 #define CREATE_ALWAYS 2
51 #define OPEN_EXISTING 3
52 #define OPEN_ALWAYS 4
53 #define TRUNCATE_EXISTING 5
55 #define STD_INPUT_HANDLE (ULONG)(0xfffffff6)
56 #define STD_OUTPUT_HANDLE (ULONG)(0xfffffff5)
57 #define STD_ERROR_HANDLE (ULONG)(0xfffffff4)
58 #define INVALID_HANDLE_VALUE (void *)(-1)
60 #define FILE_TYPE_UNKNOWN 0
61 #define FILE_TYPE_DISK 1
62 #define FILE_TYPE_CHAR 2
63 #define FILE_TYPE_PIPE 3
64 #define FILE_TYPE_REMOTE 0x8000
66 #define FILE_BEGIN 0
67 #define FILE_CURRENT 1
68 #define FILE_END 2
70 #define ERROR_FILE_NOT_FOUND 2L
71 #define ERROR_PATH_NOT_FOUND 3L
72 #define ERROR_ACCESS_DENIED 5L
73 #define ERROR_NOT_ENOUGH_MEMORY 8L
74 #define ERROR_NO_MORE_FILES 18L
75 #define ERROR_WRITE_PROTECT 19L
76 #define ERROR_SHARING_VIOLATION 32L
77 #define ERROR_LOCK_VIOLATION 33L
78 #define ERROR_FILE_EXISTS 80L
79 #define WIN32_ERROR_BUFFER_OVERFLOW 111L
80 #define WIN32_ERROR_DISK_FULL 112L
81 #define ERROR_INVALID_NAME 123L
82 #define ERROR_DIR_NOT_EMPTY 145L
83 #define ERROR_IO_PENDING 997L
85 typedef struct _WIN32_FIND_DATA
87 ULONG dwFileAttributes;
88 UQUAD ftCreationTime;
89 UQUAD ftLastAccessTime;
90 UQUAD ftLastWriteTime;
91 ULONG nFileSizeHigh;
92 ULONG nFileSizeLow;
93 ULONG dwReserved0;
94 ULONG dwReserved1;
95 char cFileName[260];
96 char cAlternateFileName[14];
97 } WIN32_FIND_DATA, *PWIN32_FIND_DATA, *LPWIN32_FIND_DATA;
99 typedef struct _WIN32_FILE_ATTRIBUTE_DATA
101 ULONG dwFileAttributes;
102 UQUAD ftCreationTime;
103 UQUAD ftLastAccessTime;
104 UQUAD ftLastWriteTime;
105 ULONG nFileSizeHigh;
106 ULONG nFileSizeLow;
107 } WIN32_FILE_ATTRIBUTE_DATA, *LPWIN32_FILE_ATTRIBUTE_DATA;