- New implementation of SendMessage, ReceiveMessage, ReplyMessage functions
[wine] / include / wine / winbase16.h
1 #ifndef _INCLUDE_WINE_WINBASE16_H
2 #define _INCLUDE_WINE_WINBASE16_H
3
4 #include "wintypes.h"
5 #pragma pack(1)
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;
15
16
17 /* GetWinFlags */
18
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
36
37 #pragma pack(4)
38
39 HMODULE16   WINAPI GetModuleHandle16(LPCSTR);
40 HLOCAL16    WINAPI LocalAlloc16(UINT16,WORD);
41 LPVOID      WINAPI LockResource16(HGLOBAL16);
42
43 #ifdef __WINE__
44 WORD        WINAPI AllocCStoDSAlias(WORD);
45 WORD        WINAPI AllocDStoCSAlias(WORD);
46 HGLOBAL16   WINAPI AllocResource(HINSTANCE16,HRSRC16,DWORD);
47 WORD        WINAPI AllocSelector(WORD);
48 WORD        WINAPI AllocSelectorArray(WORD);
49 VOID        WINAPI DirectedYield(HTASK16);
50 HGLOBAL16   WINAPI DirectResAlloc(HINSTANCE16,WORD,UINT16);
51 HANDLE16    WINAPI FarGetOwner(HGLOBAL16);
52 VOID        WINAPI FarSetOwner(HGLOBAL16,HANDLE16);
53 FARPROC16   WINAPI FileCDR(FARPROC16);
54 WORD        WINAPI FreeSelector(WORD);
55 HANDLE16    WINAPI GetAtomHandle(ATOM);
56 HANDLE16    WINAPI GetCodeHandle(FARPROC16);
57 VOID        WINAPI GetCodeInfo(FARPROC16,SEGINFO*);
58 DWORD       WINAPI GetCurrentPDB(void);
59 HTASK16     WINAPI GetCurrentTask(void);
60 SEGPTR      WINAPI GetDOSEnvironment(void);
61 HMODULE16   WINAPI GetExePtr(HANDLE16);
62 WORD        WINAPI GetExeVersion(void);
63 WORD        WINAPI GetExpWinVer(HMODULE16);
64 DWORD       WINAPI GetHeapSpaces(HMODULE16);
65 INT16       WINAPI GetInstanceData(HINSTANCE16,WORD,INT16);
66 BOOL16      WINAPI GetModuleName(HINSTANCE16,LPSTR,INT16);
67 INT16       WINAPI GetModuleUsage(HINSTANCE16);
68 UINT16      WINAPI GetNumTasks(void);
69 DWORD       WINAPI GetSelectorLimit(WORD);
70 FARPROC16   WINAPI GetSetKernelDOSProc(FARPROC16 DosProc);
71 HINSTANCE16 WINAPI GetTaskDS(void);
72 HQUEUE16    WINAPI GetTaskQueue(HTASK16);
73 DWORD       WINAPI GetWinFlags(void);
74 DWORD       WINAPI GlobalDOSAlloc(DWORD);
75 WORD        WINAPI GlobalDOSFree(WORD);
76 void        WINAPI GlobalFreeAll(HGLOBAL16);
77 DWORD       WINAPI GlobalHandleNoRIP(WORD);
78 HGLOBAL16   WINAPI GlobalLRUNewest(HGLOBAL16);
79 HGLOBAL16   WINAPI GlobalLRUOldest(HGLOBAL16);
80 VOID        WINAPI GlobalNotify(FARPROC16);
81 WORD        WINAPI GlobalPageLock(HGLOBAL16);
82 WORD        WINAPI GlobalPageUnlock(HGLOBAL16);
83 BOOL16      WINAPI IsSharedSelector(HANDLE16);
84 BOOL16      WINAPI IsTask(HTASK16);
85 HTASK16     WINAPI IsTaskLocked(void);
86 VOID        WINAPI LogError(UINT16, LPVOID);
87 VOID        WINAPI LogParamError(UINT16,FARPROC16,LPVOID);
88 WORD        WINAPI LocalCountFree(void);
89 WORD        WINAPI LocalHandleDelta(WORD);
90 WORD        WINAPI LocalHeapSize(void);
91 BOOL16      WINAPI LocalInit(HANDLE16,WORD,WORD);
92 HMODULE32   WINAPI LoadLibraryEx32W16(LPCSTR,HANDLE16,DWORD);
93 FARPROC16   WINAPI LocalNotify(FARPROC16);
94 HTASK16     WINAPI LockCurrentTask(BOOL16);
95 VOID        WINAPI OldYield(void);
96 VOID        WINAPI PostEvent(HTASK16);
97 WORD        WINAPI PrestoChangoSelector(WORD,WORD);
98 WORD        WINAPI SelectorAccessRights(WORD,WORD,WORD);
99 VOID        WINAPI SetPriority(HTASK16,INT16);
100 FARPROC16   WINAPI SetResourceHandler(HINSTANCE16,SEGPTR,FARPROC16);
101 WORD        WINAPI SetSelectorLimit(WORD,DWORD);
102 HQUEUE16    WINAPI SetTaskQueue(HTASK16,HQUEUE16);
103 VOID        WINAPI SwitchStackTo(WORD,WORD,WORD);
104 BOOL16      WINAPI WaitEvent(HTASK16);
105 VOID        WINAPI WriteOutProfiles(VOID);
106 VOID        WINAPI hmemcpy(LPVOID,LPCVOID,LONG);
107 #endif  /* __WINE__ */
108
109 INT16       WINAPI AccessResource16(HINSTANCE16,HRSRC16);
110 ATOM        WINAPI AddAtom16(SEGPTR);
111 BOOL16      WINAPI CreateDirectory16(LPCSTR,LPVOID);
112 BOOL16      WINAPI DefineHandleTable16(WORD);
113 ATOM        WINAPI DeleteAtom16(ATOM);
114 BOOL16      WINAPI DeleteFile16(LPCSTR);
115 void        WINAPI FatalAppExit16(UINT16,LPCSTR);
116 ATOM        WINAPI FindAtom16(SEGPTR);
117 BOOL16      WINAPI FindClose16(HANDLE16);
118 HRSRC16     WINAPI FindResource16(HINSTANCE16,SEGPTR,SEGPTR);
119 BOOL16      WINAPI FreeModule16(HMODULE16);
120 #define     FreeModule WINELIB_NAME(FreeModule)
121 void        WINAPI FreeProcInstance16(FARPROC16);
122 BOOL16      WINAPI FreeResource16(HGLOBAL16);
123 UINT16      WINAPI GetAtomName16(ATOM,LPSTR,INT16);
124 UINT16      WINAPI GetCurrentDirectory16(UINT16,LPSTR);
125 BOOL16      WINAPI GetDiskFreeSpace16(LPCSTR,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
126 UINT16      WINAPI GetDriveType16(UINT16); /* yes, the arguments differ */
127 DWORD       WINAPI GetFileAttributes16(LPCSTR);
128 DWORD       WINAPI GetFreeSpace16(UINT16);
129 INT16       WINAPI GetModuleFileName16(HINSTANCE16,LPSTR,INT16);
130 UINT16      WINAPI GetPrivateProfileInt16(LPCSTR,LPCSTR,INT16,LPCSTR);
131 WORD        WINAPI GetPrivateProfileSectionNames16(LPSTR,UINT16,LPCSTR);
132 INT16       WINAPI GetPrivateProfileString16(LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT16,LPCSTR);
133 FARPROC16   WINAPI GetProcAddress16(HMODULE16,SEGPTR);
134 UINT16      WINAPI GetProfileInt16(LPCSTR,LPCSTR,INT16);
135 INT16       WINAPI GetProfileString16(LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT16);
136 UINT16      WINAPI GetSystemDirectory16(LPSTR,UINT16);
137 UINT16      WINAPI GetTempFileName16(BYTE,LPCSTR,UINT16,LPSTR);
138 LONG        WINAPI GetVersion16(void);
139 UINT16      WINAPI GetWindowsDirectory16(LPSTR,UINT16);
140 DWORD       WINAPI GlobalCompact16(DWORD);
141 UINT16      WINAPI GlobalFlags16(HGLOBAL16);
142 DWORD       WINAPI GlobalHandle16(WORD);
143 HGLOBAL16   WINAPI GlobalReAlloc16(HGLOBAL16,DWORD,UINT16);
144 WORD        WINAPI InitAtomTable16(WORD);
145 BOOL16      WINAPI IsBadCodePtr16(SEGPTR);
146 BOOL16      WINAPI IsBadHugeReadPtr16(SEGPTR,DWORD);
147 BOOL16      WINAPI IsBadHugeWritePtr16(SEGPTR,DWORD);
148 BOOL16      WINAPI IsBadReadPtr16(SEGPTR,UINT16);
149 BOOL16      WINAPI IsBadStringPtr16(SEGPTR,UINT16);
150 BOOL16      WINAPI IsBadWritePtr16(SEGPTR,UINT16);
151 BOOL16      WINAPI IsDBCSLeadByte16(BYTE);
152 HGLOBAL16   WINAPI LoadResource16(HINSTANCE16,HRSRC16);
153 UINT16      WINAPI LocalCompact16(UINT16);
154 UINT16      WINAPI LocalFlags16(HLOCAL16);
155 HLOCAL16    WINAPI LocalFree16(HLOCAL16);
156 HLOCAL16    WINAPI LocalHandle16(WORD);
157 SEGPTR      WINAPI LocalLock16(HLOCAL16);
158 HLOCAL16    WINAPI LocalReAlloc16(HLOCAL16,WORD,UINT16);
159 UINT16      WINAPI LocalShrink16(HGLOBAL16,UINT16);
160 UINT16      WINAPI LocalSize16(HLOCAL16);
161 BOOL16      WINAPI LocalUnlock16(HLOCAL16);
162 HGLOBAL16   WINAPI LockSegment16(HGLOBAL16);
163 FARPROC16   WINAPI MakeProcInstance16(FARPROC16,HANDLE16);
164 VOID        WINAPI OutputDebugString16(LPCSTR);
165 DWORD       WINAPI RegCreateKey16(HKEY,LPCSTR,LPHKEY);
166 DWORD       WINAPI RegDeleteKey16(HKEY,LPCSTR);
167 DWORD       WINAPI RegDeleteValue16(HKEY,LPSTR);
168 DWORD       WINAPI RegEnumKey16(HKEY,DWORD,LPSTR,DWORD);
169 DWORD       WINAPI RegEnumValue16(HKEY,DWORD,LPSTR,LPDWORD,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
170 DWORD       WINAPI RegOpenKey16(HKEY,LPCSTR,LPHKEY);
171 DWORD       WINAPI RegQueryValue16(HKEY,LPSTR,LPSTR,LPDWORD);
172 DWORD       WINAPI RegQueryValueEx16(HKEY,LPSTR,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
173 DWORD       WINAPI RegSetValue16(HKEY,LPCSTR,DWORD,LPCSTR,DWORD);
174 DWORD       WINAPI RegSetValueEx16(HKEY,LPSTR,DWORD,DWORD,LPBYTE,DWORD);
175 BOOL16      WINAPI RemoveDirectory16(LPCSTR);
176 BOOL16      WINAPI SetCurrentDirectory16(LPCSTR);
177 UINT16      WINAPI SetErrorMode16(UINT16);
178 BOOL16      WINAPI SetFileAttributes16(LPCSTR,DWORD);
179 UINT16      WINAPI SetHandleCount16(UINT16);
180 LONG        WINAPI SetSwapAreaSize16(WORD);
181 DWORD       WINAPI SizeofResource16(HMODULE16,HRSRC16);
182 void        WINAPI UnlockSegment16(HGLOBAL16);
183 BOOL16      WINAPI WritePrivateProfileString16(LPCSTR,LPCSTR,LPCSTR,LPCSTR);
184 BOOL16      WINAPI WriteProfileString16(LPCSTR,LPCSTR,LPCSTR);
185 VOID        WINAPI Yield16(void);
186 SEGPTR      WINAPI lstrcat16(SEGPTR,LPCSTR);
187 SEGPTR      WINAPI lstrcatn16(SEGPTR,LPCSTR,INT16);
188 SEGPTR      WINAPI lstrcpy16(SEGPTR,LPCSTR);
189 SEGPTR      WINAPI lstrcpyn16(SEGPTR,LPCSTR,INT16);
190 INT16       WINAPI lstrlen16(LPCSTR);
191 HINSTANCE16 WINAPI WinExec16(LPCSTR,UINT16);
192 LONG        WINAPI _hread16(HFILE16,LPVOID,LONG);
193 LONG        WINAPI _hwrite16(HFILE16,LPCSTR,LONG);
194 HFILE16     WINAPI _lcreat16(LPCSTR,INT16);
195 HFILE16     WINAPI _lclose16(HFILE16);
196 LONG        WINAPI _llseek16(HFILE16,LONG,INT16);
197 HFILE16     WINAPI _lopen16(LPCSTR,INT16);
198 UINT16      WINAPI _lread16(HFILE16,LPVOID,UINT16);
199 UINT16      WINAPI _lwrite16(HFILE16,LPCSTR,UINT16);
200 BOOL16      WINAPI WritePrivateProfileSection16(LPCSTR,LPCSTR,LPCSTR);
201 BOOL16      WINAPI WritePrivateProfileStruct16(LPCSTR,LPCSTR,LPVOID,UINT16,LPCSTR);
202 DWORD       WINAPI GetSelectorBase(WORD);
203 WORD        WINAPI SetSelectorBase(WORD,DWORD);
204
205 /* Extra functions that don't exist in the Windows API */
206
207 HPEN16      WINAPI GetSysColorPen16(INT16);
208 UINT32      WINAPI WIN16_GetTempDrive(BYTE);
209 SEGPTR      WINAPI WIN16_LockResource16(HGLOBAL16);
210 LONG        WINAPI WIN16_hread(HFILE16,SEGPTR,LONG);
211 UINT16      WINAPI WIN16_lread(HFILE16,SEGPTR,UINT16);
212
213 #endif /* _INCLUDE_WINE_WINBASE16_H */