Add missing wReserved1 member to DCB structure definition.
[wine] / include / wine / winbase16.h
1 /*
2  * Copyright (C) the Wine project
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
17  */
18
19 #ifndef __WINE_WINE_WINBASE16_H
20 #define __WINE_WINE_WINBASE16_H
21
22 #include <stdarg.h>
23 #include <windef.h>
24 #include <winbase.h>
25 #include <winnls.h>
26 #include <wine/windef16.h>
27 #include <wine/library.h>
28
29 #include <pshpack1.h>
30 typedef struct _SEGINFO {
31     UINT16    offSegment;
32     UINT16    cbSegment;
33     UINT16    flags;
34     UINT16    cbAlloc;
35     HGLOBAL16 h;
36     UINT16    alignShift;
37     UINT16    reserved[2];
38 } SEGINFO;
39
40 /* GetWinFlags */
41
42 #define WF_PMODE        0x0001
43 #define WF_CPU286       0x0002
44 #define WF_CPU386       0x0004
45 #define WF_CPU486       0x0008
46 #define WF_STANDARD     0x0010
47 #define WF_WIN286       0x0010
48 #define WF_ENHANCED     0x0020
49 #define WF_WIN386       0x0020
50 #define WF_CPU086       0x0040
51 #define WF_CPU186       0x0080
52 #define WF_LARGEFRAME   0x0100
53 #define WF_SMALLFRAME   0x0200
54 #define WF_80x87        0x0400
55 #define WF_PAGING       0x0800
56 #define WF_HASCPUID     0x2000
57 #define WF_WIN32WOW     0x4000  /* undoc */
58 #define WF_WLO          0x8000
59
60 /* Parameters for LoadModule() */
61 typedef struct
62 {
63     HGLOBAL16 hEnvironment;         /* Environment segment */
64     SEGPTR    cmdLine WINE_PACKED;  /* Command-line */
65     SEGPTR    showCmd WINE_PACKED;  /* Code for ShowWindow() */
66     SEGPTR    reserved WINE_PACKED;
67 } LOADPARAMS16;
68
69 /* Debugging support (DEBUG SYSTEM ONLY) */
70 typedef struct
71 {
72     WORD    flags;
73     DWORD   dwOptions WINE_PACKED;
74     DWORD   dwFilter WINE_PACKED;
75     CHAR    achAllocModule[8] WINE_PACKED;
76     DWORD   dwAllocBreak WINE_PACKED;
77     DWORD   dwAllocCount WINE_PACKED;
78 } WINDEBUGINFO16, *LPWINDEBUGINFO16;
79
80 #include <poppack.h>
81
82 #define INVALID_HANDLE_VALUE16  ((HANDLE16) -1)
83 #define INFINITE16      0xFFFF
84
85 typedef struct {
86         DWORD dwOSVersionInfoSize;
87         DWORD dwMajorVersion;
88         DWORD dwMinorVersion;
89         DWORD dwBuildNumber;
90         DWORD dwPlatformId;
91         CHAR szCSDVersion[128];
92 } OSVERSIONINFO16;
93
94
95 /*
96  * NE Header FORMAT FLAGS
97  */
98 #define NE_FFLAGS_SINGLEDATA    0x0001
99 #define NE_FFLAGS_MULTIPLEDATA  0x0002
100 #define NE_FFLAGS_WIN32         0x0010
101 #define NE_FFLAGS_BUILTIN       0x0020  /* Wine built-in module */
102 #define NE_FFLAGS_FRAMEBUF      0x0100  /* OS/2 fullscreen app */
103 #define NE_FFLAGS_CONSOLE       0x0200  /* OS/2 console app */
104 #define NE_FFLAGS_GUI           0x0300  /* right, (NE_FFLAGS_FRAMEBUF | NE_FFLAGS_CONSOLE) */
105 #define NE_FFLAGS_SELFLOAD      0x0800
106 #define NE_FFLAGS_LINKERROR     0x2000
107 #define NE_FFLAGS_CALLWEP       0x4000
108 #define NE_FFLAGS_LIBMODULE     0x8000
109
110 /*
111  * NE Header OPERATING SYSTEM
112  */
113 #define NE_OSFLAGS_UNKNOWN      0x01
114 #define NE_OSFLAGS_WINDOWS      0x04
115
116 /*
117  * NE Header ADDITIONAL FLAGS
118  */
119 #define NE_AFLAGS_WIN2_PROTMODE 0x02
120 #define NE_AFLAGS_WIN2_PROFONTS 0x04
121 #define NE_AFLAGS_FASTLOAD      0x08
122
123 /*
124  * Segment Flags
125  */
126 #define NE_SEGFLAGS_DATA        0x0001
127 #define NE_SEGFLAGS_ALLOCATED   0x0002
128 #define NE_SEGFLAGS_LOADED      0x0004
129 #define NE_SEGFLAGS_ITERATED    0x0008
130 #define NE_SEGFLAGS_MOVEABLE    0x0010
131 #define NE_SEGFLAGS_SHAREABLE   0x0020
132 #define NE_SEGFLAGS_PRELOAD     0x0040
133 #define NE_SEGFLAGS_EXECUTEONLY 0x0080
134 #define NE_SEGFLAGS_READONLY    0x0080
135 #define NE_SEGFLAGS_RELOC_DATA  0x0100
136 #define NE_SEGFLAGS_SELFLOAD    0x0800
137 #define NE_SEGFLAGS_DISCARDABLE 0x1000
138 #define NE_SEGFLAGS_32BIT       0x2000
139
140 /*
141  * Resource table structures.
142  */
143 typedef struct
144 {
145     WORD     offset;
146     WORD     length;
147     WORD     flags;
148     WORD     id;
149     HANDLE16 handle;
150     WORD     usage;
151 } NE_NAMEINFO;
152
153 typedef struct
154 {
155     WORD        type_id;   /* Type identifier */
156     WORD        count;     /* Number of resources of this type */
157     FARPROC16   resloader; /* SetResourceHandler() */
158     /*
159      * Name info array.
160      */
161 } NE_TYPEINFO;
162
163 #define NE_RSCTYPE_CURSOR         0x8001
164 #define NE_RSCTYPE_BITMAP         0x8002
165 #define NE_RSCTYPE_ICON           0x8003
166 #define NE_RSCTYPE_MENU           0x8004
167 #define NE_RSCTYPE_DIALOG         0x8005
168 #define NE_RSCTYPE_STRING         0x8006
169 #define NE_RSCTYPE_FONTDIR        0x8007
170 #define NE_RSCTYPE_FONT           0x8008
171 #define NE_RSCTYPE_ACCELERATOR    0x8009
172 #define NE_RSCTYPE_RCDATA         0x800a
173 #define NE_RSCTYPE_GROUP_CURSOR   0x800c
174 #define NE_RSCTYPE_GROUP_ICON     0x800e
175
176
177 #define __AHSHIFT  3  /* don't change! */
178 #define __AHINCR   (1 << __AHSHIFT)
179
180 /* undocumented functions */
181 WORD        WINAPI AllocCStoDSAlias16(WORD);
182 WORD        WINAPI AllocDStoCSAlias16(WORD);
183 HGLOBAL16   WINAPI AllocResource16(HINSTANCE16,HRSRC16,DWORD);
184 WORD        WINAPI AllocSelector16(WORD);
185 WORD        WINAPI AllocSelectorArray16(WORD);
186 VOID        WINAPI DirectedYield16(HTASK16);
187 HGLOBAL16   WINAPI DirectResAlloc16(HINSTANCE16,WORD,UINT16);
188 HANDLE16    WINAPI FarGetOwner16(HGLOBAL16);
189 VOID        WINAPI FarSetOwner16(HGLOBAL16,HANDLE16);
190 FARPROC16   WINAPI FileCDR16(FARPROC16);
191 WORD        WINAPI FreeSelector16(WORD);
192 HANDLE16    WINAPI GetAtomHandle16(ATOM);
193 HANDLE16    WINAPI GetCodeHandle16(FARPROC16);
194 BOOL16      WINAPI GetCodeInfo16(FARPROC16,SEGINFO*);
195 DWORD       WINAPI GetCurrentPDB16(void);
196 HTASK16     WINAPI GetCurrentTask(void);
197 SEGPTR      WINAPI GetDOSEnvironment16(void);
198 HMODULE16   WINAPI GetExePtr(HANDLE16);
199 WORD        WINAPI GetExeVersion16(void);
200 WORD        WINAPI GetExpWinVer16(HMODULE16);
201 HQUEUE16    WINAPI GetFastQueue16(void);
202 DWORD       WINAPI GetHeapSpaces16(HMODULE16);
203 INT16       WINAPI GetInstanceData16(HINSTANCE16,WORD,INT16);
204 BOOL16      WINAPI GetModuleName16(HINSTANCE16,LPSTR,INT16);
205 INT16       WINAPI GetModuleUsage16(HINSTANCE16);
206 UINT16      WINAPI GetNumTasks16(void);
207 SEGPTR      WINAPI GetpWin16Lock16(void);
208 DWORD       WINAPI GetSelectorLimit16(WORD);
209 FARPROC16   WINAPI GetSetKernelDOSProc16(FARPROC16 DosProc);
210 HINSTANCE16 WINAPI GetTaskDS16(void);
211 HQUEUE16    WINAPI GetTaskQueue16(HTASK16);
212 HQUEUE16    WINAPI GetThreadQueue16(DWORD);
213 DWORD       WINAPI GetWinFlags16(void);
214 DWORD       WINAPI GlobalDOSAlloc16(DWORD);
215 WORD        WINAPI GlobalDOSFree16(WORD);
216 void        WINAPI GlobalFreeAll16(HGLOBAL16);
217 DWORD       WINAPI GlobalHandleNoRIP16(WORD);
218 WORD        WINAPI GlobalHandleToSel16(HGLOBAL16);
219 HGLOBAL16   WINAPI GlobalLRUNewest16(HGLOBAL16);
220 HGLOBAL16   WINAPI GlobalLRUOldest16(HGLOBAL16);
221 VOID        WINAPI GlobalNotify16(FARPROC16);
222 WORD        WINAPI GlobalPageLock16(HGLOBAL16);
223 WORD        WINAPI GlobalPageUnlock16(HGLOBAL16);
224 SEGPTR      WINAPI HasGPHandler16(SEGPTR);
225 BOOL16      WINAPI IsSharedSelector16(HANDLE16);
226 BOOL16      WINAPI IsTask16(HTASK16);
227 HTASK16     WINAPI IsTaskLocked16(void);
228 DWORD       WINAPI K32WOWCallback16(DWORD,DWORD);
229 BOOL        WINAPI K32WOWCallback16Ex(DWORD,DWORD,DWORD,LPVOID,LPDWORD);
230 VOID        WINAPI K32WOWDirectedYield16(WORD);
231 BOOL        WINAPI K32WOWGetDescriptor(SEGPTR,LPLDT_ENTRY);
232 LPVOID      WINAPI K32WOWGetVDMPointer(DWORD,DWORD,BOOL);
233 LPVOID      WINAPI K32WOWGetVDMPointerFix(DWORD,DWORD,BOOL);
234 VOID        WINAPI K32WOWGetVDMPointerUnfix(DWORD);
235 WORD        WINAPI K32WOWGlobalAlloc16(WORD,DWORD);
236 DWORD       WINAPI K32WOWGlobalAllocLock16(WORD,DWORD,WORD*);
237 WORD        WINAPI K32WOWGlobalFree16(WORD);
238 SEGPTR      WINAPI K32WOWGlobalLock16(HGLOBAL16);
239 DWORD       WINAPI K32WOWGlobalLockSize16(WORD,PDWORD);
240 BOOL        WINAPI K32WOWGlobalUnlock16(WORD);
241 WORD        WINAPI K32WOWGlobalUnlockFree16(DWORD);
242 VOID        WINAPI K32WOWYield16(void);
243 VOID        WINAPI LogError16(UINT16, LPVOID);
244 VOID        WINAPI LogParamError16(UINT16,FARPROC16,LPVOID);
245 WORD        WINAPI LocalCountFree16(void);
246 WORD        WINAPI LocalHandleDelta16(WORD);
247 WORD        WINAPI LocalHeapSize16(void);
248 BOOL16      WINAPI LocalInit16(HANDLE16,WORD,WORD);
249 FARPROC16   WINAPI LocalNotify16(FARPROC16);
250 HTASK16     WINAPI LockCurrentTask16(BOOL16);
251 VOID        WINAPI OldYield16(void);
252 VOID        WINAPI WIN32_OldYield16(void);
253 VOID        WINAPI PostEvent16(HTASK16);
254 WORD        WINAPI PrestoChangoSelector16(WORD,WORD);
255 WORD        WINAPI SelectorAccessRights16(WORD,WORD,WORD);
256 void        WINAPI SetFastQueue16(DWORD,HQUEUE16);
257 VOID        WINAPI SetPriority16(HTASK16,INT16);
258 FARPROC16   WINAPI SetResourceHandler16(HINSTANCE16,LPCSTR,FARPROC16);
259 WORD        WINAPI SetSelectorLimit16(WORD,DWORD);
260 HQUEUE16    WINAPI SetTaskQueue16(HTASK16,HQUEUE16);
261 HQUEUE16    WINAPI SetThreadQueue16(DWORD,HQUEUE16);
262 VOID        WINAPI SwitchStackTo16(WORD,WORD,WORD);
263 BOOL16      WINAPI WaitEvent16(HTASK16);
264 VOID        WINAPI WriteOutProfiles16(void);
265 VOID        WINAPI hmemcpy16(LPVOID,LPCVOID,LONG);
266 VOID        WINAPI _CreateSysLevel(SYSLEVEL*,INT);
267 VOID        WINAPI _EnterWin16Lock(void);
268 VOID        WINAPI _LeaveWin16Lock(void);
269
270
271 INT16       WINAPI AccessResource16(HINSTANCE16,HRSRC16);
272 ATOM        WINAPI AddAtom16(LPCSTR);
273 UINT16      WINAPI CompareString16(DWORD,DWORD,LPCSTR,DWORD,LPCSTR,DWORD);
274 BOOL16      WINAPI CreateDirectory16(LPCSTR,LPVOID);
275 BOOL16      WINAPI DefineHandleTable16(WORD);
276 ATOM        WINAPI DeleteAtom16(ATOM);
277 BOOL16      WINAPI DeleteFile16(LPCSTR);
278 void        WINAPI ExitKernel16(void);
279 void        WINAPI FatalAppExit16(UINT16,LPCSTR);
280 ATOM        WINAPI FindAtom16(LPCSTR);
281 BOOL16      WINAPI FindClose16(HANDLE16);
282 VOID        WINAPI FreeLibrary16(HINSTANCE16);
283 HANDLE16    WINAPI FindFirstFile16(LPCSTR,LPWIN32_FIND_DATAA);
284 BOOL16      WINAPI FindNextFile16(HANDLE16,LPWIN32_FIND_DATAA);
285 HRSRC16     WINAPI FindResource16(HINSTANCE16,LPCSTR,LPCSTR);
286 BOOL16      WINAPI FreeModule16(HMODULE16);
287 void        WINAPI FreeProcInstance16(FARPROC16);
288 BOOL16      WINAPI FreeResource16(HGLOBAL16);
289 UINT16      WINAPI GetAtomName16(ATOM,LPSTR,INT16);
290 UINT16      WINAPI GetCurrentDirectory16(UINT16,LPSTR);
291 BOOL16      WINAPI GetDiskFreeSpace16(LPCSTR,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
292 UINT16      WINAPI GetDriveType16(UINT16); /* yes, the arguments differ */
293 INT16       WINAPI GetLocaleInfo16(LCID,LCTYPE,LPSTR,INT16);
294 DWORD       WINAPI GetFileAttributes16(LPCSTR);
295 DWORD       WINAPI GetFreeSpace16(UINT16);
296 INT16       WINAPI GetModuleFileName16(HINSTANCE16,LPSTR,INT16);
297 HMODULE16   WINAPI GetModuleHandle16(LPCSTR);
298 UINT16      WINAPI GetPrivateProfileInt16(LPCSTR,LPCSTR,INT16,LPCSTR);
299 INT16       WINAPI GetPrivateProfileSection16(LPCSTR,LPSTR,UINT16,LPCSTR);
300 WORD        WINAPI GetPrivateProfileSectionNames16(LPSTR,UINT16,LPCSTR);
301 INT16       WINAPI GetPrivateProfileString16(LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT16,LPCSTR);
302 BOOL16      WINAPI GetPrivateProfileStruct16(LPCSTR,LPCSTR,LPVOID,UINT16,LPCSTR);
303 FARPROC16   WINAPI GetProcAddress16(HMODULE16,LPCSTR);
304 UINT16      WINAPI GetProfileInt16(LPCSTR,LPCSTR,INT16);
305 INT16       WINAPI GetProfileSection16(LPCSTR,LPSTR,UINT16);
306 WORD        WINAPI GetProfileSectionNames16(LPSTR,WORD);
307 INT16       WINAPI GetProfileString16(LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT16);
308 DWORD       WINAPI GetSelectorBase(WORD);
309 BOOL16      WINAPI GetStringType16(LCID,DWORD,LPCSTR,INT16,LPWORD);
310 UINT16      WINAPI GetSystemDirectory16(LPSTR,UINT16);
311 UINT16      WINAPI GetTempFileName16(BYTE,LPCSTR,UINT16,LPSTR);
312 LONG        WINAPI GetVersion16(void);
313 BOOL16      WINAPI GetVersionEx16(OSVERSIONINFO16*);
314 BOOL16      WINAPI GetWinDebugInfo16(LPWINDEBUGINFO16,UINT16);
315 UINT16      WINAPI GetWindowsDirectory16(LPSTR,UINT16);
316 HGLOBAL16   WINAPI GlobalAlloc16(UINT16,DWORD);
317 DWORD       WINAPI GlobalCompact16(DWORD);
318 LPVOID      WINAPI GlobalLock16(HGLOBAL16);
319 WORD        WINAPI GlobalFix16(HGLOBAL16);
320 UINT16      WINAPI GlobalFlags16(HGLOBAL16);
321 HGLOBAL16   WINAPI GlobalFree16(HGLOBAL16);
322 DWORD       WINAPI GlobalHandle16(WORD);
323 HGLOBAL16   WINAPI GlobalReAlloc16(HGLOBAL16,DWORD,UINT16);
324 DWORD       WINAPI GlobalSize16(HGLOBAL16);
325 VOID        WINAPI GlobalUnfix16(HGLOBAL16);
326 BOOL16      WINAPI GlobalUnlock16(HGLOBAL16);
327 BOOL16      WINAPI GlobalUnWire16(HGLOBAL16);
328 SEGPTR      WINAPI GlobalWire16(HGLOBAL16);
329 WORD        WINAPI InitAtomTable16(WORD);
330 BOOL16      WINAPI IsBadCodePtr16(SEGPTR);
331 BOOL16      WINAPI IsBadHugeReadPtr16(SEGPTR,DWORD);
332 BOOL16      WINAPI IsBadHugeWritePtr16(SEGPTR,DWORD);
333 BOOL16      WINAPI IsBadReadPtr16(SEGPTR,UINT16);
334 BOOL16      WINAPI IsBadStringPtr16(SEGPTR,UINT16);
335 BOOL16      WINAPI IsBadWritePtr16(SEGPTR,UINT16);
336 BOOL16      WINAPI IsDBCSLeadByte16(BYTE);
337 HINSTANCE16 WINAPI LoadLibrary16(LPCSTR);
338 HINSTANCE16 WINAPI LoadModule16(LPCSTR,LPVOID);
339 HGLOBAL16   WINAPI LoadResource16(HINSTANCE16,HRSRC16);
340 HLOCAL16    WINAPI LocalAlloc16(UINT16,WORD);
341 UINT16      WINAPI LocalCompact16(UINT16);
342 UINT16      WINAPI LocalFlags16(HLOCAL16);
343 HLOCAL16    WINAPI LocalFree16(HLOCAL16);
344 HLOCAL16    WINAPI LocalHandle16(WORD);
345 SEGPTR      WINAPI LocalLock16(HLOCAL16);
346 HLOCAL16    WINAPI LocalReAlloc16(HLOCAL16,WORD,UINT16);
347 UINT16      WINAPI LocalShrink16(HGLOBAL16,UINT16);
348 UINT16      WINAPI LocalSize16(HLOCAL16);
349 BOOL16      WINAPI LocalUnlock16(HLOCAL16);
350 LPVOID      WINAPI LockResource16(HGLOBAL16);
351 HGLOBAL16   WINAPI LockSegment16(HGLOBAL16);
352 FARPROC16   WINAPI MakeProcInstance16(FARPROC16,HANDLE16);
353 HFILE16     WINAPI OpenFile16(LPCSTR,OFSTRUCT*,UINT16);
354 DWORD       WINAPI RegCloseKey16(HKEY);
355 DWORD       WINAPI RegCreateKey16(HKEY,LPCSTR,PHKEY);
356 DWORD       WINAPI RegDeleteKey16(HKEY,LPCSTR);
357 DWORD       WINAPI RegDeleteValue16(HKEY,LPSTR);
358 DWORD       WINAPI RegEnumKey16(HKEY,DWORD,LPSTR,DWORD);
359 DWORD       WINAPI RegEnumValue16(HKEY,DWORD,LPSTR,LPDWORD,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
360 DWORD       WINAPI RegOpenKey16(HKEY,LPCSTR,PHKEY);
361 DWORD       WINAPI RegQueryValue16(HKEY,LPCSTR,LPSTR,LPDWORD);
362 DWORD       WINAPI RegQueryValueEx16(HKEY,LPCSTR,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
363 DWORD       WINAPI RegSetValue16(HKEY,LPCSTR,DWORD,LPCSTR,DWORD);
364 DWORD       WINAPI RegSetValueEx16(HKEY,LPCSTR,DWORD,DWORD,CONST BYTE*,DWORD);
365 BOOL16      WINAPI RemoveDirectory16(LPCSTR);
366 BOOL16      WINAPI SetCurrentDirectory16(LPCSTR);
367 UINT16      WINAPI SetErrorMode16(UINT16);
368 BOOL16      WINAPI SetFileAttributes16(LPCSTR,DWORD);
369 UINT16      WINAPI SetHandleCount16(UINT16);
370 WORD        WINAPI SetSelectorBase(WORD,DWORD);
371 LONG        WINAPI SetSwapAreaSize16(WORD);
372 BOOL16      WINAPI SetWinDebugInfo16(LPWINDEBUGINFO16);
373 DWORD       WINAPI SizeofResource16(HMODULE16,HRSRC16);
374 void        WINAPI UnlockSegment16(HGLOBAL16);
375 BOOL16      WINAPI WritePrivateProfileString16(LPCSTR,LPCSTR,LPCSTR,LPCSTR);
376 BOOL16      WINAPI WriteProfileString16(LPCSTR,LPCSTR,LPCSTR);
377 /* Yield16 will only be available from kernel module, use K32WOWYield instead */
378 VOID        WINAPI Yield16(void);
379 SEGPTR      WINAPI lstrcat16(SEGPTR,LPCSTR);
380 SEGPTR      WINAPI lstrcatn16(SEGPTR,LPCSTR,INT16);
381 SEGPTR      WINAPI lstrcpy16(SEGPTR,LPCSTR);
382 SEGPTR      WINAPI lstrcpyn16(SEGPTR,LPCSTR,INT16);
383 INT16       WINAPI lstrlen16(LPCSTR);
384 HINSTANCE16 WINAPI WinExec16(LPCSTR,UINT16);
385 LONG        WINAPI _hread16(HFILE16,LPVOID,LONG);
386 LONG        WINAPI _hwrite16(HFILE16,LPCSTR,LONG);
387 HFILE16     WINAPI _lcreat16(LPCSTR,INT16);
388 HFILE16     WINAPI _lclose16(HFILE16);
389 LONG        WINAPI _llseek16(HFILE16,LONG,INT16);
390 HFILE16     WINAPI _lopen16(LPCSTR,INT16);
391 UINT16      WINAPI _lread16(HFILE16,LPVOID,UINT16);
392 UINT16      WINAPI _lwrite16(HFILE16,LPCSTR,UINT16);
393 BOOL16      WINAPI WritePrivateProfileSection16(LPCSTR,LPCSTR,LPCSTR);
394 BOOL16      WINAPI WritePrivateProfileStruct16(LPCSTR,LPCSTR,LPVOID,UINT16,LPCSTR);
395 BOOL16      WINAPI WriteProfileSection16(LPCSTR,LPCSTR);
396
397 /* Some optimizations */
398 extern inline LPVOID WINAPI MapSL( SEGPTR segptr )
399 {
400     return (char *)wine_ldt_copy.base[SELECTOROF(segptr) >> __AHSHIFT] + OFFSETOF(segptr);
401 }
402
403 #endif /* __WINE_WINE_WINBASE16_H */