Release 960428
[wine/multimedia.git] / include / kernel32.h
blob9b5b0142d1397f87b230bfa32ca2a5f91bd57e80
1 /* kernel32.h - 95-09-14 Cameron Heide
3 * Win32 functions, structures, and types related to kernel functions
4 */
5 #ifndef __WINE_KERNEL32_H
6 #define __WINE_KERNEL32_H
8 #include <stddef.h>
10 int KERN32_Init(void);
11 void SetLastError(DWORD error);
12 DWORD ErrnoToLastError(int errno_num);
13 void ExitProcess(DWORD exitcode);
15 /* Code page information.
17 typedef struct {
18 DWORD MaxCharSize;
19 BYTE DefaultChar[2];
20 BYTE LeadBytes[5];
21 } CPINFO, *LPCPINFO;
23 /* The 'overlapped' data structure used by async I/O functions.
25 typedef struct {
26 DWORD Internal;
27 DWORD InternalHigh;
28 DWORD Offset;
29 DWORD OffsetHigh;
30 HANDLE hEvent;
31 } OVERLAPPED, *LPOVERLAPPED;
33 /* Process startup information.
35 typedef struct {
36 DWORD cb;
37 LPSTR lpReserved;
38 LPSTR lpDesktop;
39 LPSTR lpTitle;
40 DWORD dwX;
41 DWORD dwY;
42 DWORD dwXSize;
43 DWORD dwYSize;
44 DWORD dwXCountChars;
45 DWORD dwYCountChars;
46 DWORD dwFillAttribute;
47 DWORD dwFlags;
48 WORD wShowWindow;
49 WORD cbReserved2;
50 BYTE *lpReserved2;
51 HANDLE hStdInput;
52 HANDLE hStdOutput;
53 HANDLE hStdError;
54 } STARTUPINFO, *LPSTARTUPINFO;
56 typedef struct {
57 LONG Bias;
58 WCHAR StandardName[32];
59 SYSTEMTIME StandardDate;
60 LONG StandardBias;
61 WCHAR DaylightName[32];
62 SYSTEMTIME DaylightDate;
63 LONG DaylightBias;
64 } TIME_ZONE_INFORMATION, *LPTIME_ZONE_INFORMATION;
66 #define TIME_ZONE_ID_UNKNOWN 0
67 #define TIME_ZONE_ID_STANDARD 1
68 #define TIME_ZONE_ID_DAYLIGHT 2
71 /* File object type definitions
73 #define FILE_TYPE_UNKNOWN 0
74 #define FILE_TYPE_DISK 1
75 #define FILE_TYPE_CHAR 2
76 #define FILE_TYPE_PIPE 3
77 #define FILE_TYPE_REMOTE 32768
79 /* File creation flags
81 #define GENERIC_READ 0x80000000L
82 #define GENERIC_WRITE 0x40000000L
83 #define CREATE_NEW 1
84 #define CREATE_ALWAYS 2
85 #define OPEN_EXISTING 3
86 #define OPEN_ALWAYS 4
87 #define TRUNCATE_EXISTING 5
89 /* Standard handle identifiers
91 #define STD_INPUT_HANDLE ((DWORD) -10)
92 #define STD_OUTPUT_HANDLE ((DWORD) -11)
93 #define STD_ERROR_HANDLE ((DWORD) -12)
95 typedef struct
97 int dwFileAttributes;
98 FILETIME ftCreationTime;
99 FILETIME ftLastAccessTime;
100 FILETIME ftLastWriteTime;
101 int dwVolumeSerialNumber;
102 int nFileSizeHigh;
103 int nFileSizeLow;
104 int nNumberOfLinks;
105 int nFileIndexHigh;
106 int nFileIndexLow;
107 } BY_HANDLE_FILE_INFORMATION ;
109 /* File attribute flags
111 #define FILE_ATTRIBUTE_ARCHIVE 0x0020
112 #define FILE_ATTRIBUTE_COMPRESSED 0x0800
113 #define FILE_ATTRIBUTE_DIRECTORY 0x0010
114 #define FILE_ATTRIBUTE_HIDDEN 0x0002
115 #define FILE_ATTRIBUTE_NORMAL 0x0080
116 #define FILE_ATTRIBUTE_READONLY 0x0001
117 #define FILE_ATTRIBUTE_SYSTEM 0x0004
118 #define FILE_ATTRIBUTE_TEMPORARY 0x0100
119 #define FILE_ATTRIBUTE_ATOMIC_WRITE 0x0200
120 #define FILE_ATTRIBUTE_XACTION_WRITE 0x0400
122 #endif /* __WINE_KERNEL32_H */