With some apps a fault was possible in ExtractAssociatedIcon.
[wine.git] / include / wine / winbase16.h
blob8e6a5c1cb22a840bb7ac30385451d7a9fbed1df3
1 #ifndef __WINE_WINE_WINBASE16_H
2 #define __WINE_WINE_WINBASE16_H
4 #include "windef.h"
5 #include "pshpack1.h"
6 typedef struct _SEGINFO {
7 UINT16 offSegment;
8 UINT16 cbSegment;
9 UINT16 flags;
10 UINT16 cbAlloc;
11 HGLOBAL16 h;
12 UINT16 alignShift;
13 UINT16 reserved[2];
14 } SEGINFO;
17 /* GetWinFlags */
19 #define WF_PMODE 0x0001
20 #define WF_CPU286 0x0002
21 #define WF_CPU386 0x0004
22 #define WF_CPU486 0x0008
23 #define WF_STANDARD 0x0010
24 #define WF_WIN286 0x0010
25 #define WF_ENHANCED 0x0020
26 #define WF_WIN386 0x0020
27 #define WF_CPU086 0x0040
28 #define WF_CPU186 0x0080
29 #define WF_LARGEFRAME 0x0100
30 #define WF_SMALLFRAME 0x0200
31 #define WF_80x87 0x0400
32 #define WF_PAGING 0x0800
33 #define WF_HASCPUID 0x2000
34 #define WF_WIN32WOW 0x4000 /* undoc */
35 #define WF_WLO 0x8000
37 #include "poppack.h"
39 /* undocumented functions */
40 WORD WINAPI AllocCStoDSAlias16(WORD);
41 WORD WINAPI AllocDStoCSAlias16(WORD);
42 HGLOBAL16 WINAPI AllocResource16(HINSTANCE16,HRSRC16,DWORD);
43 WORD WINAPI AllocSelector16(WORD);
44 WORD WINAPI AllocSelectorArray16(WORD);
45 VOID WINAPI DirectedYield16(HTASK16);
46 HGLOBAL16 WINAPI DirectResAlloc16(HINSTANCE16,WORD,UINT16);
47 HANDLE16 WINAPI FarGetOwner16(HGLOBAL16);
48 VOID WINAPI FarSetOwner16(HGLOBAL16,HANDLE16);
49 FARPROC16 WINAPI FileCDR16(FARPROC16);
50 WORD WINAPI FreeSelector16(WORD);
51 HANDLE16 WINAPI GetAtomHandle16(ATOM);
52 HANDLE16 WINAPI GetCodeHandle16(FARPROC16);
53 BOOL16 WINAPI GetCodeInfo16(FARPROC16,SEGINFO*);
54 DWORD WINAPI GetCurrentPDB16(void);
55 HTASK16 WINAPI GetCurrentTask(void);
56 SEGPTR WINAPI GetDOSEnvironment16(void);
57 HMODULE16 WINAPI GetExePtr(HANDLE16);
58 WORD WINAPI GetExeVersion16(void);
59 WORD WINAPI GetExpWinVer16(HMODULE16);
60 DWORD WINAPI GetHeapSpaces16(HMODULE16);
61 INT16 WINAPI GetInstanceData16(HINSTANCE16,WORD,INT16);
62 BOOL16 WINAPI GetModuleName16(HINSTANCE16,LPSTR,INT16);
63 INT16 WINAPI GetModuleUsage16(HINSTANCE16);
64 UINT16 WINAPI GetNumTasks16(void);
65 DWORD WINAPI GetSelectorLimit16(WORD);
66 FARPROC16 WINAPI GetSetKernelDOSProc16(FARPROC16 DosProc);
67 HINSTANCE16 WINAPI GetTaskDS16(void);
68 HQUEUE16 WINAPI GetTaskQueue16(HTASK16);
69 DWORD WINAPI GetWinFlags16(void);
70 DWORD WINAPI GlobalDOSAlloc16(DWORD);
71 WORD WINAPI GlobalDOSFree16(WORD);
72 void WINAPI GlobalFreeAll16(HGLOBAL16);
73 DWORD WINAPI GlobalHandleNoRIP16(WORD);
74 HGLOBAL16 WINAPI GlobalLRUNewest16(HGLOBAL16);
75 HGLOBAL16 WINAPI GlobalLRUOldest16(HGLOBAL16);
76 VOID WINAPI GlobalNotify16(FARPROC16);
77 WORD WINAPI GlobalPageLock16(HGLOBAL16);
78 WORD WINAPI GlobalPageUnlock16(HGLOBAL16);
79 BOOL16 WINAPI IsSharedSelector16(HANDLE16);
80 BOOL16 WINAPI IsTask16(HTASK16);
81 HTASK16 WINAPI IsTaskLocked16(void);
82 VOID WINAPI LogError16(UINT16, LPVOID);
83 VOID WINAPI LogParamError16(UINT16,FARPROC16,LPVOID);
84 WORD WINAPI LocalCountFree16(void);
85 WORD WINAPI LocalHandleDelta16(WORD);
86 WORD WINAPI LocalHeapSize16(void);
87 BOOL16 WINAPI LocalInit16(HANDLE16,WORD,WORD);
88 FARPROC16 WINAPI LocalNotify16(FARPROC16);
89 HTASK16 WINAPI LockCurrentTask16(BOOL16);
90 VOID WINAPI OldYield16(void);
91 VOID WINAPI WIN32_OldYield16(void);
92 VOID WINAPI PostEvent16(HTASK16);
93 WORD WINAPI PrestoChangoSelector16(WORD,WORD);
94 WORD WINAPI SelectorAccessRights16(WORD,WORD,WORD);
95 VOID WINAPI SetPriority16(HTASK16,INT16);
96 FARPROC16 WINAPI SetResourceHandler16(HINSTANCE16,SEGPTR,FARPROC16);
97 WORD WINAPI SetSelectorLimit16(WORD,DWORD);
98 HQUEUE16 WINAPI SetTaskQueue16(HTASK16,HQUEUE16);
99 VOID WINAPI SwitchStackTo16(WORD,WORD,WORD);
100 BOOL16 WINAPI WaitEvent16(HTASK16);
101 VOID WINAPI WriteOutProfiles16(void);
102 VOID WINAPI hmemcpy16(LPVOID,LPCVOID,LONG);
105 INT16 WINAPI AccessResource16(HINSTANCE16,HRSRC16);
106 ATOM WINAPI AddAtom16(LPCSTR);
107 BOOL16 WINAPI CreateDirectory16(LPCSTR,LPVOID);
108 BOOL16 WINAPI DefineHandleTable16(WORD);
109 ATOM WINAPI DeleteAtom16(ATOM);
110 BOOL16 WINAPI DeleteFile16(LPCSTR);
111 void WINAPI ExitKernel16(void);
112 void WINAPI FatalAppExit16(UINT16,LPCSTR);
113 ATOM WINAPI FindAtom16(LPCSTR);
114 BOOL16 WINAPI FindClose16(HANDLE16);
115 VOID WINAPI FreeLibrary16(HINSTANCE16);
116 HRSRC16 WINAPI FindResource16(HINSTANCE16,SEGPTR,SEGPTR);
117 BOOL16 WINAPI FreeModule16(HMODULE16);
118 void WINAPI FreeProcInstance16(FARPROC16);
119 BOOL16 WINAPI FreeResource16(HGLOBAL16);
120 UINT16 WINAPI GetAtomName16(ATOM,LPSTR,INT16);
121 UINT16 WINAPI GetCurrentDirectory16(UINT16,LPSTR);
122 BOOL16 WINAPI GetDiskFreeSpace16(LPCSTR,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
123 UINT16 WINAPI GetDriveType16(UINT16); /* yes, the arguments differ */
124 DWORD WINAPI GetFileAttributes16(LPCSTR);
125 DWORD WINAPI GetFreeSpace16(UINT16);
126 INT16 WINAPI GetModuleFileName16(HINSTANCE16,LPSTR,INT16);
127 HMODULE16 WINAPI GetModuleHandle16(LPCSTR);
128 UINT16 WINAPI GetPrivateProfileInt16(LPCSTR,LPCSTR,INT16,LPCSTR);
129 INT16 WINAPI GetPrivateProfileSection16(LPCSTR,LPSTR,UINT16,LPCSTR);
130 WORD WINAPI GetPrivateProfileSectionNames16(LPSTR,UINT16,LPCSTR);
131 INT16 WINAPI GetPrivateProfileString16(LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT16,LPCSTR);
132 BOOL16 WINAPI GetPrivateProfileStruct16(LPCSTR,LPCSTR,LPVOID,UINT16,LPCSTR);
133 FARPROC16 WINAPI GetProcAddress16(HMODULE16,SEGPTR);
134 UINT16 WINAPI GetProfileInt16(LPCSTR,LPCSTR,INT16);
135 INT16 WINAPI GetProfileSection16(LPCSTR,LPSTR,UINT16);
136 WORD WINAPI GetProfileSectionNames16(LPSTR,WORD);
137 INT16 WINAPI GetProfileString16(LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT16);
138 UINT16 WINAPI GetSystemDirectory16(LPSTR,UINT16);
139 UINT16 WINAPI GetTempFileName16(BYTE,LPCSTR,UINT16,LPSTR);
140 LONG WINAPI GetVersion16(void);
141 UINT16 WINAPI GetWindowsDirectory16(LPSTR,UINT16);
142 DWORD WINAPI GlobalCompact16(DWORD);
143 UINT16 WINAPI GlobalFlags16(HGLOBAL16);
144 DWORD WINAPI GlobalHandle16(WORD);
145 HGLOBAL16 WINAPI GlobalReAlloc16(HGLOBAL16,DWORD,UINT16);
146 WORD WINAPI InitAtomTable16(WORD);
147 BOOL16 WINAPI IsBadCodePtr16(SEGPTR);
148 BOOL16 WINAPI IsBadHugeReadPtr16(SEGPTR,DWORD);
149 BOOL16 WINAPI IsBadHugeWritePtr16(SEGPTR,DWORD);
150 BOOL16 WINAPI IsBadReadPtr16(SEGPTR,UINT16);
151 BOOL16 WINAPI IsBadStringPtr16(SEGPTR,UINT16);
152 BOOL16 WINAPI IsBadWritePtr16(SEGPTR,UINT16);
153 BOOL16 WINAPI IsDBCSLeadByte16(BYTE);
154 HINSTANCE16 WINAPI LoadLibrary16(LPCSTR);
155 HINSTANCE16 WINAPI LoadModule16(LPCSTR,LPVOID);
156 HGLOBAL16 WINAPI LoadResource16(HINSTANCE16,HRSRC16);
157 HLOCAL16 WINAPI LocalAlloc16(UINT16,WORD);
158 UINT16 WINAPI LocalCompact16(UINT16);
159 UINT16 WINAPI LocalFlags16(HLOCAL16);
160 HLOCAL16 WINAPI LocalFree16(HLOCAL16);
161 HLOCAL16 WINAPI LocalHandle16(WORD);
162 SEGPTR WINAPI LocalLock16(HLOCAL16);
163 HLOCAL16 WINAPI LocalReAlloc16(HLOCAL16,WORD,UINT16);
164 UINT16 WINAPI LocalShrink16(HGLOBAL16,UINT16);
165 UINT16 WINAPI LocalSize16(HLOCAL16);
166 BOOL16 WINAPI LocalUnlock16(HLOCAL16);
167 LPVOID WINAPI LockResource16(HGLOBAL16);
168 HGLOBAL16 WINAPI LockSegment16(HGLOBAL16);
169 FARPROC16 WINAPI MakeProcInstance16(FARPROC16,HANDLE16);
170 VOID WINAPI OutputDebugString16(LPCSTR);
171 DWORD WINAPI RegCloseKey16(HKEY);
172 DWORD WINAPI RegCreateKey16(HKEY,LPCSTR,LPHKEY);
173 DWORD WINAPI RegDeleteKey16(HKEY,LPCSTR);
174 DWORD WINAPI RegDeleteValue16(HKEY,LPSTR);
175 DWORD WINAPI RegEnumKey16(HKEY,DWORD,LPSTR,DWORD);
176 DWORD WINAPI RegEnumValue16(HKEY,DWORD,LPSTR,LPDWORD,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
177 DWORD WINAPI RegOpenKey16(HKEY,LPCSTR,LPHKEY);
178 DWORD WINAPI RegQueryValue16(HKEY,LPCSTR,LPSTR,LPDWORD);
179 DWORD WINAPI RegQueryValueEx16(HKEY,LPCSTR,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
180 DWORD WINAPI RegSetValue16(HKEY,LPCSTR,DWORD,LPCSTR,DWORD);
181 DWORD WINAPI RegSetValueEx16(HKEY,LPCSTR,DWORD,DWORD,CONST BYTE*,DWORD);
182 BOOL16 WINAPI RemoveDirectory16(LPCSTR);
183 BOOL16 WINAPI SetCurrentDirectory16(LPCSTR);
184 UINT16 WINAPI SetErrorMode16(UINT16);
185 BOOL16 WINAPI SetFileAttributes16(LPCSTR,DWORD);
186 UINT16 WINAPI SetHandleCount16(UINT16);
187 LONG WINAPI SetSwapAreaSize16(WORD);
188 DWORD WINAPI SizeofResource16(HMODULE16,HRSRC16);
189 void WINAPI UnlockSegment16(HGLOBAL16);
190 BOOL16 WINAPI WritePrivateProfileString16(LPCSTR,LPCSTR,LPCSTR,LPCSTR);
191 BOOL16 WINAPI WriteProfileString16(LPCSTR,LPCSTR,LPCSTR);
192 VOID WINAPI Yield16(void);
193 SEGPTR WINAPI lstrcat16(SEGPTR,LPCSTR);
194 SEGPTR WINAPI lstrcatn16(SEGPTR,LPCSTR,INT16);
195 SEGPTR WINAPI lstrcpy16(SEGPTR,LPCSTR);
196 SEGPTR WINAPI lstrcpyn16(SEGPTR,LPCSTR,INT16);
197 INT16 WINAPI lstrlen16(LPCSTR);
198 HINSTANCE16 WINAPI WinExec16(LPCSTR,UINT16);
199 LONG WINAPI _hread16(HFILE16,LPVOID,LONG);
200 LONG WINAPI _hwrite16(HFILE16,LPCSTR,LONG);
201 HFILE16 WINAPI _lcreat16(LPCSTR,INT16);
202 HFILE16 WINAPI _lclose16(HFILE16);
203 LONG WINAPI _llseek16(HFILE16,LONG,INT16);
204 HFILE16 WINAPI _lopen16(LPCSTR,INT16);
205 UINT16 WINAPI _lread16(HFILE16,LPVOID,UINT16);
206 UINT16 WINAPI _lwrite16(HFILE16,LPCSTR,UINT16);
207 BOOL16 WINAPI WritePrivateProfileSection16(LPCSTR,LPCSTR,LPCSTR);
208 BOOL16 WINAPI WritePrivateProfileStruct16(LPCSTR,LPCSTR,LPVOID,UINT16,LPCSTR);
209 BOOL16 WINAPI WriteProfileSection16(LPCSTR,LPCSTR);
210 DWORD WINAPI GetSelectorBase(WORD);
211 WORD WINAPI SetSelectorBase(WORD,DWORD);
213 /* Extra functions that don't exist in the Windows API */
215 HPEN16 WINAPI GetSysColorPen16(INT16);
216 UINT WINAPI WIN16_GetTempDrive(BYTE);
217 SEGPTR WINAPI WIN16_LockResource16(HGLOBAL16);
218 LONG WINAPI WIN16_hread(HFILE16,SEGPTR,LONG);
219 UINT16 WINAPI WIN16_lread(HFILE16,SEGPTR,UINT16);
221 #endif /* __WINE_WINE_WINBASE16_H */