Start \\Device\\USBFDOx names at index 0.
[reactos.git] / reactos / include / wine / windef16.h
1 /*
2 * Basic type definitions for 16 bit variations on Windows types.
3 * These types are provided mostly to insure compatibility with
4 * 16 bit windows code.
5 *
6 * Copyright (C) the Wine project
7 *
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either
11 * version 2.1 of the License, or (at your option) any later version.
12 *
13 * This library is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
17 *
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with this library; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 */
22
23 #ifndef __WINE_WINDEF16_H
24 #define __WINE_WINDEF16_H
25
26 /* #include "windef.h" */
27
28 /* Standard data types */
29
30 typedef unsigned short BOOL16;
31 typedef DWORD SEGPTR;
32
33 typedef UINT16 HANDLE16;
34 typedef HANDLE16 *LPHANDLE16;
35
36 typedef UINT16 WPARAM16;
37 typedef INT16 *LPINT16;
38 typedef UINT16 *LPUINT16;
39
40 #define MAKESEGPTR(seg,off) ((SEGPTR)MAKELONG(off,seg))
41
42 #define HFILE_ERROR16 ((HFILE16)-1)
43
44 #define DECLARE_HANDLE16(a) \
45 typedef HANDLE16 a##16; \
46 typedef a##16 *P##a##16; \
47 typedef a##16 *NP##a##16; \
48 typedef a##16 *LP##a##16
49
50 DECLARE_HANDLE16(HACMDRIVERID);
51 DECLARE_HANDLE16(HACMDRIVER);
52 DECLARE_HANDLE16(HACMOBJ);
53 DECLARE_HANDLE16(HACMSTREAM);
54 DECLARE_HANDLE16(HMETAFILEPICT);
55
56 DECLARE_HANDLE16(HACCEL);
57 DECLARE_HANDLE16(HBITMAP);
58 DECLARE_HANDLE16(HBRUSH);
59 DECLARE_HANDLE16(HCOLORSPACE);
60 DECLARE_HANDLE16(HCURSOR);
61 DECLARE_HANDLE16(HDC);
62 DECLARE_HANDLE16(HDROP);
63 DECLARE_HANDLE16(HDRVR);
64 DECLARE_HANDLE16(HDWP);
65 DECLARE_HANDLE16(HENHMETAFILE);
66 DECLARE_HANDLE16(HFILE);
67 DECLARE_HANDLE16(HFONT);
68 DECLARE_HANDLE16(HICON);
69 DECLARE_HANDLE16(HINSTANCE);
70 DECLARE_HANDLE16(HKEY);
71 DECLARE_HANDLE16(HMENU);
72 DECLARE_HANDLE16(HMETAFILE);
73 DECLARE_HANDLE16(HMIDI);
74 DECLARE_HANDLE16(HMIDIIN);
75 DECLARE_HANDLE16(HMIDIOUT);
76 DECLARE_HANDLE16(HMIDISTRM);
77 DECLARE_HANDLE16(HMIXER);
78 DECLARE_HANDLE16(HMIXEROBJ);
79 DECLARE_HANDLE16(HMMIO);
80 DECLARE_HANDLE16(HPALETTE);
81 DECLARE_HANDLE16(HPEN);
82 DECLARE_HANDLE16(HQUEUE);
83 DECLARE_HANDLE16(HRGN);
84 DECLARE_HANDLE16(HRSRC);
85 DECLARE_HANDLE16(HTASK);
86 DECLARE_HANDLE16(HWAVE);
87 DECLARE_HANDLE16(HWAVEIN);
88 DECLARE_HANDLE16(HWAVEOUT);
89 DECLARE_HANDLE16(HWINSTA);
90 DECLARE_HANDLE16(HDESK);
91 DECLARE_HANDLE16(HWND);
92 DECLARE_HANDLE16(HKL);
93 DECLARE_HANDLE16(HIC);
94 DECLARE_HANDLE16(HRASCONN);
95 #undef DECLARE_HANDLE16
96
97 typedef HINSTANCE16 HMODULE16;
98 typedef HANDLE16 HGDIOBJ16;
99 typedef HANDLE16 HGLOBAL16;
100 typedef HANDLE16 HLOCAL16;
101
102 #include "pshpack1.h"
103
104 /* The SIZE structure */
105
106 typedef struct
107 {
108 INT16 cx;
109 INT16 cy;
110 } SIZE16, *PSIZE16, *LPSIZE16;
111
112 /* The POINT structure */
113
114 typedef struct
115 {
116 INT16 x;
117 INT16 y;
118 } POINT16, *PPOINT16, *LPPOINT16;
119
120 /* The RECT structure */
121
122 typedef struct
123 {
124 INT16 left;
125 INT16 top;
126 INT16 right;
127 INT16 bottom;
128 } RECT16, *LPRECT16;
129
130 #include "poppack.h"
131
132 /* Callback function pointers types */
133
134 typedef LRESULT (CALLBACK *DRIVERPROC16)(DWORD,HDRVR16,UINT16,LPARAM,LPARAM);
135 typedef BOOL16 (CALLBACK *DLGPROC16)(HWND16,UINT16,WPARAM16,LPARAM);
136 typedef INT16 (CALLBACK *EDITWORDBREAKPROC16)(LPSTR,INT16,INT16,INT16);
137 typedef LRESULT (CALLBACK *FARPROC16)();
138 typedef INT16 (CALLBACK *PROC16)();
139 typedef BOOL16 (CALLBACK *GRAYSTRINGPROC16)(HDC16,LPARAM,INT16);
140 typedef LRESULT (CALLBACK *HOOKPROC16)(INT16,WPARAM16,LPARAM);
141 typedef BOOL16 (CALLBACK *PROPENUMPROC16)(HWND16,SEGPTR,HANDLE16);
142 typedef VOID (CALLBACK *TIMERPROC16)(HWND16,UINT16,UINT16,DWORD);
143 typedef LRESULT (CALLBACK *WNDENUMPROC16)(HWND16,LPARAM);
144 typedef LRESULT (CALLBACK *WNDPROC16)(HWND16,UINT16,WPARAM16,LPARAM);
145
146 #endif /* __WINE_WINDEF16_H */