1 #ifndef __WINE_WINE_WINBASE16_H
2 #define __WINE_WINE_WINBASE16_H
7 #include "wine/windef16.h"
10 typedef struct _SEGINFO {
22 #define WF_PMODE 0x0001
23 #define WF_CPU286 0x0002
24 #define WF_CPU386 0x0004
25 #define WF_CPU486 0x0008
26 #define WF_STANDARD 0x0010
27 #define WF_WIN286 0x0010
28 #define WF_ENHANCED 0x0020
29 #define WF_WIN386 0x0020
30 #define WF_CPU086 0x0040
31 #define WF_CPU186 0x0080
32 #define WF_LARGEFRAME 0x0100
33 #define WF_SMALLFRAME 0x0200
34 #define WF_80x87 0x0400
35 #define WF_PAGING 0x0800
36 #define WF_HASCPUID 0x2000
37 #define WF_WIN32WOW 0x4000 /* undoc */
42 #define INVALID_HANDLE_VALUE16 ((HANDLE16) -1)
43 #define INFINITE16 0xFFFF
46 DWORD dwOSVersionInfoSize;
51 CHAR szCSDVersion[128];
55 /* undocumented functions */
56 WORD WINAPI AllocCStoDSAlias16(WORD);
57 WORD WINAPI AllocDStoCSAlias16(WORD);
58 HGLOBAL16 WINAPI AllocResource16(HINSTANCE16,HRSRC16,DWORD);
59 WORD WINAPI AllocSelector16(WORD);
60 WORD WINAPI AllocSelectorArray16(WORD);
61 VOID WINAPI DirectedYield16(HTASK16);
62 HGLOBAL16 WINAPI DirectResAlloc16(HINSTANCE16,WORD,UINT16);
63 HANDLE16 WINAPI FarGetOwner16(HGLOBAL16);
64 VOID WINAPI FarSetOwner16(HGLOBAL16,HANDLE16);
65 FARPROC16 WINAPI FileCDR16(FARPROC16);
66 WORD WINAPI FreeSelector16(WORD);
67 HANDLE16 WINAPI GetAtomHandle16(ATOM);
68 HANDLE16 WINAPI GetCodeHandle16(FARPROC16);
69 BOOL16 WINAPI GetCodeInfo16(FARPROC16,SEGINFO*);
70 DWORD WINAPI GetCurrentPDB16(void);
71 HTASK16 WINAPI GetCurrentTask(void);
72 SEGPTR WINAPI GetDOSEnvironment16(void);
73 HMODULE16 WINAPI GetExePtr(HANDLE16);
74 WORD WINAPI GetExeVersion16(void);
75 WORD WINAPI GetExpWinVer16(HMODULE16);
76 DWORD WINAPI GetHeapSpaces16(HMODULE16);
77 INT16 WINAPI GetInstanceData16(HINSTANCE16,WORD,INT16);
78 BOOL16 WINAPI GetModuleName16(HINSTANCE16,LPSTR,INT16);
79 INT16 WINAPI GetModuleUsage16(HINSTANCE16);
80 UINT16 WINAPI GetNumTasks16(void);
81 SEGPTR WINAPI GetpWin16Lock16(void);
82 DWORD WINAPI GetSelectorLimit16(WORD);
83 FARPROC16 WINAPI GetSetKernelDOSProc16(FARPROC16 DosProc);
84 HINSTANCE16 WINAPI GetTaskDS16(void);
85 HQUEUE16 WINAPI GetTaskQueue16(HTASK16);
86 DWORD WINAPI GetWinFlags16(void);
87 DWORD WINAPI GlobalDOSAlloc16(DWORD);
88 WORD WINAPI GlobalDOSFree16(WORD);
89 void WINAPI GlobalFreeAll16(HGLOBAL16);
90 DWORD WINAPI GlobalHandleNoRIP16(WORD);
91 WORD WINAPI GlobalHandleToSel16(HGLOBAL16);
92 HGLOBAL16 WINAPI GlobalLRUNewest16(HGLOBAL16);
93 HGLOBAL16 WINAPI GlobalLRUOldest16(HGLOBAL16);
94 VOID WINAPI GlobalNotify16(FARPROC16);
95 WORD WINAPI GlobalPageLock16(HGLOBAL16);
96 WORD WINAPI GlobalPageUnlock16(HGLOBAL16);
97 BOOL16 WINAPI IsSharedSelector16(HANDLE16);
98 BOOL16 WINAPI IsTask16(HTASK16);
99 HTASK16 WINAPI IsTaskLocked16(void);
100 VOID WINAPI LogError16(UINT16, LPVOID);
101 VOID WINAPI LogParamError16(UINT16,FARPROC16,LPVOID);
102 WORD WINAPI LocalCountFree16(void);
103 WORD WINAPI LocalHandleDelta16(WORD);
104 WORD WINAPI LocalHeapSize16(void);
105 BOOL16 WINAPI LocalInit16(HANDLE16,WORD,WORD);
106 FARPROC16 WINAPI LocalNotify16(FARPROC16);
107 HTASK16 WINAPI LockCurrentTask16(BOOL16);
108 VOID WINAPI OldYield16(void);
109 VOID WINAPI WIN32_OldYield16(void);
110 VOID WINAPI PostEvent16(HTASK16);
111 WORD WINAPI PrestoChangoSelector16(WORD,WORD);
112 WORD WINAPI SelectorAccessRights16(WORD,WORD,WORD);
113 VOID WINAPI SetPriority16(HTASK16,INT16);
114 FARPROC16 WINAPI SetResourceHandler16(HINSTANCE16,SEGPTR,FARPROC16);
115 WORD WINAPI SetSelectorLimit16(WORD,DWORD);
116 HQUEUE16 WINAPI SetTaskQueue16(HTASK16,HQUEUE16);
117 VOID WINAPI SwitchStackTo16(WORD,WORD,WORD);
118 BOOL16 WINAPI WaitEvent16(HTASK16);
119 VOID WINAPI WriteOutProfiles16(void);
120 VOID WINAPI hmemcpy16(LPVOID,LPCVOID,LONG);
121 VOID WINAPI _CreateSysLevel(SYSLEVEL*,INT);
122 VOID WINAPI _EnterWin16Lock(void);
123 VOID WINAPI _LeaveWin16Lock(void);
126 INT16 WINAPI AccessResource16(HINSTANCE16,HRSRC16);
127 ATOM WINAPI AddAtom16(LPCSTR);
128 UINT16 WINAPI CompareString16(DWORD,DWORD,LPCSTR,DWORD,LPCSTR,DWORD);
129 BOOL16 WINAPI CreateDirectory16(LPCSTR,LPVOID);
130 BOOL16 WINAPI DefineHandleTable16(WORD);
131 ATOM WINAPI DeleteAtom16(ATOM);
132 BOOL16 WINAPI DeleteFile16(LPCSTR);
133 void WINAPI ExitKernel16(void);
134 void WINAPI FatalAppExit16(UINT16,LPCSTR);
135 ATOM WINAPI FindAtom16(LPCSTR);
136 BOOL16 WINAPI FindClose16(HANDLE16);
137 VOID WINAPI FreeLibrary16(HINSTANCE16);
138 HANDLE16 WINAPI FindFirstFile16(LPCSTR,LPWIN32_FIND_DATAA);
139 BOOL16 WINAPI FindNextFile16(HANDLE16,LPWIN32_FIND_DATAA);
140 HRSRC16 WINAPI FindResource16(HINSTANCE16,SEGPTR,SEGPTR);
141 BOOL16 WINAPI FreeModule16(HMODULE16);
142 void WINAPI FreeProcInstance16(FARPROC16);
143 BOOL16 WINAPI FreeResource16(HGLOBAL16);
144 UINT16 WINAPI GetAtomName16(ATOM,LPSTR,INT16);
145 UINT16 WINAPI GetCurrentDirectory16(UINT16,LPSTR);
146 BOOL16 WINAPI GetDiskFreeSpace16(LPCSTR,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
147 UINT16 WINAPI GetDriveType16(UINT16); /* yes, the arguments differ */
148 INT16 WINAPI GetLocaleInfo16(LCID,LCTYPE,LPSTR,INT16);
149 DWORD WINAPI GetFileAttributes16(LPCSTR);
150 DWORD WINAPI GetFreeSpace16(UINT16);
151 INT16 WINAPI GetModuleFileName16(HINSTANCE16,LPSTR,INT16);
152 HMODULE16 WINAPI GetModuleHandle16(LPCSTR);
153 UINT16 WINAPI GetPrivateProfileInt16(LPCSTR,LPCSTR,INT16,LPCSTR);
154 INT16 WINAPI GetPrivateProfileSection16(LPCSTR,LPSTR,UINT16,LPCSTR);
155 WORD WINAPI GetPrivateProfileSectionNames16(LPSTR,UINT16,LPCSTR);
156 INT16 WINAPI GetPrivateProfileString16(LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT16,LPCSTR);
157 BOOL16 WINAPI GetPrivateProfileStruct16(LPCSTR,LPCSTR,LPVOID,UINT16,LPCSTR);
158 FARPROC16 WINAPI GetProcAddress16(HMODULE16,SEGPTR);
159 UINT16 WINAPI GetProfileInt16(LPCSTR,LPCSTR,INT16);
160 INT16 WINAPI GetProfileSection16(LPCSTR,LPSTR,UINT16);
161 WORD WINAPI GetProfileSectionNames16(LPSTR,WORD);
162 INT16 WINAPI GetProfileString16(LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT16);
163 DWORD WINAPI GetSelectorBase(WORD);
164 BOOL16 WINAPI GetStringType16(LCID,DWORD,LPCSTR,INT16,LPWORD);
165 UINT16 WINAPI GetSystemDirectory16(LPSTR,UINT16);
166 UINT16 WINAPI GetTempFileName16(BYTE,LPCSTR,UINT16,LPSTR);
167 LONG WINAPI GetVersion16(void);
168 BOOL16 WINAPI GetVersionEx16(OSVERSIONINFO16*);
169 BOOL16 WINAPI GetWinDebugInfo16(LPWINDEBUGINFO,UINT16);
170 UINT16 WINAPI GetWindowsDirectory16(LPSTR,UINT16);
171 HGLOBAL16 WINAPI GlobalAlloc16(UINT16,DWORD);
172 DWORD WINAPI GlobalCompact16(DWORD);
173 LPVOID WINAPI GlobalLock16(HGLOBAL16);
174 WORD WINAPI GlobalFix16(HGLOBAL16);
175 UINT16 WINAPI GlobalFlags16(HGLOBAL16);
176 HGLOBAL16 WINAPI GlobalFree16(HGLOBAL16);
177 DWORD WINAPI GlobalHandle16(WORD);
178 HGLOBAL16 WINAPI GlobalReAlloc16(HGLOBAL16,DWORD,UINT16);
179 DWORD WINAPI GlobalSize16(HGLOBAL16);
180 VOID WINAPI GlobalUnfix16(HGLOBAL16);
181 BOOL16 WINAPI GlobalUnlock16(HGLOBAL16);
182 BOOL16 WINAPI GlobalUnWire16(HGLOBAL16);
183 SEGPTR WINAPI GlobalWire16(HGLOBAL16);
184 WORD WINAPI InitAtomTable16(WORD);
185 BOOL16 WINAPI IsBadCodePtr16(SEGPTR);
186 BOOL16 WINAPI IsBadHugeReadPtr16(SEGPTR,DWORD);
187 BOOL16 WINAPI IsBadHugeWritePtr16(SEGPTR,DWORD);
188 BOOL16 WINAPI IsBadReadPtr16(SEGPTR,UINT16);
189 BOOL16 WINAPI IsBadStringPtr16(SEGPTR,UINT16);
190 BOOL16 WINAPI IsBadWritePtr16(SEGPTR,UINT16);
191 BOOL16 WINAPI IsDBCSLeadByte16(BYTE);
192 HINSTANCE16 WINAPI LoadLibrary16(LPCSTR);
193 HINSTANCE16 WINAPI LoadModule16(LPCSTR,LPVOID);
194 HGLOBAL16 WINAPI LoadResource16(HINSTANCE16,HRSRC16);
195 HLOCAL16 WINAPI LocalAlloc16(UINT16,WORD);
196 UINT16 WINAPI LocalCompact16(UINT16);
197 UINT16 WINAPI LocalFlags16(HLOCAL16);
198 HLOCAL16 WINAPI LocalFree16(HLOCAL16);
199 HLOCAL16 WINAPI LocalHandle16(WORD);
200 SEGPTR WINAPI LocalLock16(HLOCAL16);
201 HLOCAL16 WINAPI LocalReAlloc16(HLOCAL16,WORD,UINT16);
202 UINT16 WINAPI LocalShrink16(HGLOBAL16,UINT16);
203 UINT16 WINAPI LocalSize16(HLOCAL16);
204 BOOL16 WINAPI LocalUnlock16(HLOCAL16);
205 LPVOID WINAPI LockResource16(HGLOBAL16);
206 HGLOBAL16 WINAPI LockSegment16(HGLOBAL16);
207 FARPROC16 WINAPI MakeProcInstance16(FARPROC16,HANDLE16);
208 HFILE16 WINAPI OpenFile16(LPCSTR,OFSTRUCT*,UINT16);
209 DWORD WINAPI RegCloseKey16(HKEY);
210 DWORD WINAPI RegCreateKey16(HKEY,LPCSTR,LPHKEY);
211 DWORD WINAPI RegDeleteKey16(HKEY,LPCSTR);
212 DWORD WINAPI RegDeleteValue16(HKEY,LPSTR);
213 DWORD WINAPI RegEnumKey16(HKEY,DWORD,LPSTR,DWORD);
214 DWORD WINAPI RegEnumValue16(HKEY,DWORD,LPSTR,LPDWORD,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
215 DWORD WINAPI RegOpenKey16(HKEY,LPCSTR,LPHKEY);
216 DWORD WINAPI RegQueryValue16(HKEY,LPCSTR,LPSTR,LPDWORD);
217 DWORD WINAPI RegQueryValueEx16(HKEY,LPCSTR,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
218 DWORD WINAPI RegSetValue16(HKEY,LPCSTR,DWORD,LPCSTR,DWORD);
219 DWORD WINAPI RegSetValueEx16(HKEY,LPCSTR,DWORD,DWORD,CONST BYTE*,DWORD);
220 BOOL16 WINAPI RemoveDirectory16(LPCSTR);
221 BOOL16 WINAPI SetCurrentDirectory16(LPCSTR);
222 UINT16 WINAPI SetErrorMode16(UINT16);
223 BOOL16 WINAPI SetFileAttributes16(LPCSTR,DWORD);
224 UINT16 WINAPI SetHandleCount16(UINT16);
225 WORD WINAPI SetSelectorBase(WORD,DWORD);
226 LONG WINAPI SetSwapAreaSize16(WORD);
227 BOOL16 WINAPI SetWinDebugInfo16(LPWINDEBUGINFO);
228 DWORD WINAPI SizeofResource16(HMODULE16,HRSRC16);
229 void WINAPI UnlockSegment16(HGLOBAL16);
230 BOOL16 WINAPI WritePrivateProfileString16(LPCSTR,LPCSTR,LPCSTR,LPCSTR);
231 BOOL16 WINAPI WriteProfileString16(LPCSTR,LPCSTR,LPCSTR);
232 VOID WINAPI Yield16(void);
233 SEGPTR WINAPI lstrcat16(SEGPTR,LPCSTR);
234 SEGPTR WINAPI lstrcatn16(SEGPTR,LPCSTR,INT16);
235 SEGPTR WINAPI lstrcpy16(SEGPTR,LPCSTR);
236 SEGPTR WINAPI lstrcpyn16(SEGPTR,LPCSTR,INT16);
237 INT16 WINAPI lstrlen16(LPCSTR);
238 HINSTANCE16 WINAPI WinExec16(LPCSTR,UINT16);
239 LONG WINAPI _hread16(HFILE16,LPVOID,LONG);
240 LONG WINAPI _hwrite16(HFILE16,LPCSTR,LONG);
241 HFILE16 WINAPI _lcreat16(LPCSTR,INT16);
242 HFILE16 WINAPI _lclose16(HFILE16);
243 LONG WINAPI _llseek16(HFILE16,LONG,INT16);
244 HFILE16 WINAPI _lopen16(LPCSTR,INT16);
245 UINT16 WINAPI _lread16(HFILE16,LPVOID,UINT16);
246 UINT16 WINAPI _lwrite16(HFILE16,LPCSTR,UINT16);
247 BOOL16 WINAPI WritePrivateProfileSection16(LPCSTR,LPCSTR,LPCSTR);
248 BOOL16 WINAPI WritePrivateProfileStruct16(LPCSTR,LPCSTR,LPVOID,UINT16,LPCSTR);
249 BOOL16 WINAPI WriteProfileSection16(LPCSTR,LPCSTR);
251 /* Extra functions that don't exist in the Windows API */
253 HPEN16 WINAPI GetSysColorPen16(INT16);
254 UINT WINAPI WIN16_GetTempDrive(BYTE);
255 SEGPTR WINAPI WIN16_GlobalLock16(HGLOBAL16);
256 SEGPTR WINAPI WIN16_LockResource16(HGLOBAL16);
257 LONG WINAPI WIN16_hread(HFILE16,SEGPTR,LONG);
258 UINT16 WINAPI WIN16_lread(HFILE16,SEGPTR,UINT16);
260 #endif /* __WINE_WINE_WINBASE16_H */