~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Wine Cross Reference
wine/include/wine/winuser16.h

Version: ~ [ wine-1.1.6 ] ~ [ wine-1.1.5 ] ~ [ wine-1.1.4 ] ~ [ wine-1.1.3 ] ~ [ wine-1.1.2 ] ~ [ wine-1.1.1 ] ~ [ wine-1.1.0 ] ~ [ wine-1.0 ] ~ [ wine-1.0-rc5 ] ~ [ wine-1.0-rc4 ] ~ [ wine-1.0-rc3 ] ~ [ wine-1.0-rc2 ] ~ [ wine-1.0-rc1 ] ~ [ wine-0.9.61 ] ~ [ wine-0.9.60 ] ~ [ wine-0.9.59 ] ~ [ wine-0.9.58 ] ~ [ wine-0.9.57 ] ~ [ wine-0.9.56 ] ~ [ wine-0.9.55 ] ~ [ wine-0.9.54 ] ~ [ wine-0.9.53 ] ~ [ wine-0.9.52 ] ~ [ wine-0.9.51 ] ~ [ wine-0.9.50 ] ~ [ wine-0.9.49 ] ~ [ wine-0.9.48 ] ~ [ wine-0.9.47 ] ~ [ wine-0.9.46 ] ~ [ wine-0.9.45 ] ~ [ wine-0.9.44 ] ~ [ wine-0.9.43 ] ~ [ wine-0.9.42 ] ~ [ wine-0.9.41 ] ~ [ wine-0.9.40 ] ~ [ wine-0.9.39 ] ~ [ wine-0.9.38 ] ~ [ wine-0.9.37 ] ~ [ wine-0.9.36 ] ~ [ wine-0.9.35 ] ~ [ wine-0.9.34 ] ~ [ wine-0.9.33 ] ~ [ wine-0.9.32 ] ~ [ wine-0.9.31 ] ~ [ wine-0.9.30 ] ~ [ wine-0.9.29 ] ~ [ wine-0.9.28 ] ~ [ wine-0.9.27 ] ~ [ wine-0.9.26 ] ~ [ wine-0.9.25 ] ~ [ wine-0.9.24 ] ~ [ wine-0.9.23 ] ~ [ wine-0.9.22 ] ~ [ wine-0.9.21 ] ~ [ wine-0.9.20 ] ~ [ wine-0.9.19 ] ~ [ wine-0.9.18 ] ~ [ wine-0.9.17 ] ~ [ wine-0.9.16 ] ~ [ wine-0.9.15 ] ~ [ wine-0.9.14 ] ~ [ wine-0.9.13 ] ~ [ wine-0.9.12 ] ~ [ wine-0.9.11 ] ~ [ wine-0.9.10 ] ~ [ wine-0.9.9 ] ~ [ wine-0.9.8 ] ~ [ wine-0.9.7 ] ~ [ wine-0.9.6 ] ~ [ wine-0.9.5 ] ~ [ wine-0.9.4 ] ~ [ wine-0.9.3 ] ~ [ wine-0.9.2 ] ~ [ wine-0.9.1 ] ~ [ wine-0.9 ] ~ [ wine20050930 ] ~ [ wine20050830 ] ~ [ wine20050725 ] ~ [ wine20050628 ] ~ [ wine20050524 ] ~ [ wine20050419 ] ~ [ wine20050310 ] ~ [ wine20050211 ] ~ [ wine20050111 ] ~ [ wine20041201 ] ~ [ wine20041019 ] ~ [ wine20040914 ] ~ [ wine20040813 ] ~ [ wine20040716 ] ~ [ wine20040615 ] ~ [ wine20040505 ] ~ [ wine20040408 ] ~ [ wine20040309 ] ~ [ wine20040213 ] ~ [ wine20040121 ] ~ [ wine20031212 ] ~ [ wine20031118 ] ~ [ wine20031016 ] ~ [ wine20030911 ] ~ [ wine20030813 ] ~ [ wine20030709 ] ~ [ wine20030618 ] ~ [ wine20030508 ] ~ [ wine20030408 ] ~ [ wine20030318 ] ~ [ wine20030219 ] ~ [ wine20030115 ] ~ [ wine20021219 ] ~ [ wine20021125 ] ~ [ wine20021031 ] ~ [ wine20021007 ] ~ [ wine20020904 ] ~ [ wine20020804 ] ~ [ wine20020710 ] ~ [ wine20020605 ] ~ [ wine20020509 ] ~ [ wine20020411 ] ~ [ wine20020310 ] ~ [ wine20020228 ] ~ [ wine20011226 ] ~ [ wine20011108 ] ~ [ wine20011004 ] ~ [ wine20010824 ] ~ [ wine20010731 ] ~ [ wine20010629 ] ~ [ wine20010510 ] ~ [ wine20010418 ] ~ [ wine20010326 ] ~ [ wine20010305 ] ~ [ wine20010216 ] ~ [ wine20010112 ] ~ [ wine20001222 ] ~ [ wine20001202 ] ~ [ wine20001026 ] ~ [ wine20001002 ] ~ [ wine20000909 ] ~ [ wine20000821 ] ~ [ wine20000801 ] ~ [ wine20000716 ] ~ [ wine20000326 ] ~ [ wine20000227 ] ~ [ wine20000130 ] ~ [ wine20000109 ] ~

  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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
 17  */
 18 
 19 #ifndef __WINE_WINE_WINUSER16_H
 20 #define __WINE_WINE_WINUSER16_H
 21 
 22 #include <wine/wingdi16.h> /* wingdi.h needed for COLORREF */
 23 #include <winuser.h> /* winuser.h needed for MSGBOXCALLBACK */
 24 
 25 #include <pshpack1.h>
 26 
 27 typedef struct tagCOMSTAT16
 28 {
 29     BYTE   status;
 30     UINT16 cbInQue;
 31     UINT16 cbOutQue;
 32 } COMSTAT16,*LPCOMSTAT16;
 33 
 34 typedef struct tagDCB16
 35 {
 36     BYTE   Id;
 37     UINT16 BaudRate;
 38     BYTE   ByteSize;
 39     BYTE   Parity;
 40     BYTE   StopBits;
 41     UINT16 RlsTimeout;
 42     UINT16 CtsTimeout;
 43     UINT16 DsrTimeout;
 44 
 45     unsigned fBinary        :1;
 46     unsigned fRtsDisable    :1;
 47     unsigned fParity        :1;
 48     unsigned fOutxCtsFlow   :1;
 49     unsigned fOutxDsrFlow   :1;
 50     unsigned fDummy         :2;
 51     unsigned fDtrDisable    :1;
 52 
 53     unsigned fOutX          :1;
 54     unsigned fInX           :1;
 55     unsigned fPeChar        :1;
 56     unsigned fNull          :1;
 57     unsigned fChEvt         :1;
 58     unsigned fDtrflow       :1;
 59     unsigned fRtsflow       :1;
 60     unsigned fDummy2        :1;
 61 
 62     CHAR   XonChar;
 63     CHAR   XoffChar;
 64     UINT16 XonLim;
 65     UINT16 XoffLim;
 66     CHAR   PeChar;
 67     CHAR   EofChar;
 68     CHAR   EvtChar;
 69     UINT16 TxDelay;
 70 } DCB16, *LPDCB16;
 71 
 72 
 73 typedef struct
 74 {
 75    LPARAM   lParam;
 76    WPARAM16 wParam;
 77    UINT16   message;
 78    HWND16   hwnd;
 79 } CWPSTRUCT16, *LPCWPSTRUCT16;
 80 
 81 typedef struct
 82 {
 83   LRESULT       lResult;
 84   LPARAM        lParam;
 85   WPARAM16      wParam;
 86   DWORD         message;
 87   HWND16        hwnd;
 88 } CWPRETSTRUCT16, *LPCWPRETSTRUCT16;
 89 
 90   /* SetWindowPlacement() struct */
 91 typedef struct
 92 {
 93     UINT16   length;
 94     UINT16   flags;
 95     UINT16   showCmd;
 96     POINT16  ptMinPosition;
 97     POINT16  ptMaxPosition;
 98     RECT16   rcNormalPosition;
 99 } WINDOWPLACEMENT16, *LPWINDOWPLACEMENT16;
100 
101 /****** Window classes ******/
102 
103 typedef struct
104 {
105     UINT16      style;
106     WNDPROC16   lpfnWndProc;
107     INT16       cbClsExtra;
108     INT16       cbWndExtra;
109     HANDLE16    hInstance;
110     HICON16     hIcon;
111     HCURSOR16   hCursor;
112     HBRUSH16    hbrBackground;
113     SEGPTR      lpszMenuName;
114     SEGPTR      lpszClassName;
115 } WNDCLASS16, *LPWNDCLASS16;
116 
117 typedef struct
118 {
119     UINT      cbSize;
120     UINT      style;
121     WNDPROC16   lpfnWndProc;
122     INT16       cbClsExtra;
123     INT16       cbWndExtra;
124     HANDLE16    hInstance;
125     HICON16     hIcon;
126     HCURSOR16   hCursor;
127     HBRUSH16    hbrBackground;
128     SEGPTR      lpszMenuName;
129     SEGPTR      lpszClassName;
130     HICON16     hIconSm;
131 } WNDCLASSEX16, *LPWNDCLASSEX16;
132 
133 typedef struct
134 {
135     HWND16    hwnd;
136     UINT16    message;
137     WPARAM16  wParam;
138     LPARAM    lParam;
139     DWORD     time;
140     POINT16   pt;
141 } MSG16, *LPMSG16;
142 
143 typedef struct
144 {
145     MSG16 msg;
146     WORD wParamHigh;
147 } MSG32_16, *LPMSG16_32;
148 
149 /* Cursors / Icons */
150 
151 typedef struct tagCURSORICONINFO
152 {
153     POINT16 ptHotSpot;
154     WORD    nWidth;
155     WORD    nHeight;
156     WORD    nWidthBytes;
157     BYTE    bPlanes;
158     BYTE    bBitsPerPixel;
159 } CURSORICONINFO;
160 
161 typedef struct {
162         BOOL16          fIcon;
163         WORD            xHotspot;
164         WORD            yHotspot;
165         HBITMAP16       hbmMask;
166         HBITMAP16       hbmColor;
167 } ICONINFO16,*LPICONINFO16;
168 
169 typedef struct
170 {
171     BYTE   fVirt;
172     WORD   key;
173     WORD   cmd;
174 } ACCEL16, *LPACCEL16;
175 
176 /* FIXME: not sure this one is correct */
177 typedef struct {
178   UINT16    cbSize;
179   UINT16    fMask;
180   UINT16    fType;
181   UINT16    fState;
182   UINT16    wID;
183   HMENU16   hSubMenu;
184   HBITMAP16 hbmpChecked;
185   HBITMAP16 hbmpUnchecked;
186   DWORD     dwItemData;
187   SEGPTR    dwTypeData;
188   UINT16    cch;
189 } MENUITEMINFO16, *LPMENUITEMINFO16;
190 
191 /* DrawState defines ... */
192 typedef BOOL16 (CALLBACK *DRAWSTATEPROC16)(HDC16,LPARAM,WPARAM16,INT16,INT16);
193 
194 /* Listbox messages */
195 #define LB_ADDSTRING16           (WM_USER+1)
196 #define LB_INSERTSTRING16        (WM_USER+2)
197 #define LB_DELETESTRING16        (WM_USER+3)
198 #define LB_SELITEMRANGEEX16      (WM_USER+4)
199 #define LB_RESETCONTENT16        (WM_USER+5)
200 #define LB_SETSEL16              (WM_USER+6)
201 #define LB_SETCURSEL16           (WM_USER+7)
202 #define LB_GETSEL16              (WM_USER+8)
203 #define LB_GETCURSEL16           (WM_USER+9)
204 #define LB_GETTEXT16             (WM_USER+10)
205 #define LB_GETTEXTLEN16          (WM_USER+11)
206 #define LB_GETCOUNT16            (WM_USER+12)
207 #define LB_SELECTSTRING16        (WM_USER+13)
208 #define LB_DIR16                 (WM_USER+14)
209 #define LB_GETTOPINDEX16         (WM_USER+15)
210 #define LB_FINDSTRING16          (WM_USER+16)
211 #define LB_GETSELCOUNT16         (WM_USER+17)
212 #define LB_GETSELITEMS16         (WM_USER+18)
213 #define LB_SETTABSTOPS16         (WM_USER+19)
214 #define LB_GETHORIZONTALEXTENT16 (WM_USER+20)
215 #define LB_SETHORIZONTALEXTENT16 (WM_USER+21)
216 #define LB_SETCOLUMNWIDTH16      (WM_USER+22)
217 #define LB_ADDFILE16             (WM_USER+23)
218 #define LB_SETTOPINDEX16         (WM_USER+24)
219 #define LB_GETITEMRECT16         (WM_USER+25)
220 #define LB_GETITEMDATA16         (WM_USER+26)
221 #define LB_SETITEMDATA16         (WM_USER+27)
222 #define LB_SELITEMRANGE16        (WM_USER+28)
223 #define LB_SETANCHORINDEX16      (WM_USER+29)
224 #define LB_GETANCHORINDEX16      (WM_USER+30)
225 #define LB_SETCARETINDEX16       (WM_USER+31)
226 #define LB_GETCARETINDEX16       (WM_USER+32)
227 #define LB_SETITEMHEIGHT16       (WM_USER+33)
228 #define LB_GETITEMHEIGHT16       (WM_USER+34)
229 #define LB_FINDSTRINGEXACT16     (WM_USER+35)
230 #define LB_CARETON16             (WM_USER+36)
231 #define LB_CARETOFF16            (WM_USER+37)
232 
233 /* Combo box messages */
234 #define CB_GETEDITSEL16            (WM_USER+0)
235 #define CB_LIMITTEXT16             (WM_USER+1)
236 #define CB_SETEDITSEL16            (WM_USER+2)
237 #define CB_ADDSTRING16             (WM_USER+3)
238 #define CB_DELETESTRING16          (WM_USER+4)
239 #define CB_DIR16                   (WM_USER+5)
240 #define CB_GETCOUNT16              (WM_USER+6)
241 #define CB_GETCURSEL16             (WM_USER+7)
242 #define CB_GETLBTEXT16             (WM_USER+8)
243 #define CB_GETLBTEXTLEN16          (WM_USER+9)
244 #define CB_INSERTSTRING16          (WM_USER+10)
245 #define CB_RESETCONTENT16          (WM_USER+11)
246 #define CB_FINDSTRING16            (WM_USER+12)
247 #define CB_SELECTSTRING16          (WM_USER+13)
248 #define CB_SETCURSEL16             (WM_USER+14)
249 #define CB_SHOWDROPDOWN16          (WM_USER+15)
250 #define CB_GETITEMDATA16           (WM_USER+16)
251 #define CB_SETITEMDATA16           (WM_USER+17)
252 #define CB_GETDROPPEDCONTROLRECT16 (WM_USER+18)
253 #define CB_SETITEMHEIGHT16         (WM_USER+19)
254 #define CB_GETITEMHEIGHT16         (WM_USER+20)
255 #define CB_SETEXTENDEDUI16         (WM_USER+21)
256 #define CB_GETEXTENDEDUI16         (WM_USER+22)
257 #define CB_GETDROPPEDSTATE16       (WM_USER+23)
258 #define CB_FINDSTRINGEXACT16       (WM_USER+24)
259 
260 typedef struct /* not sure if the 16bit version is correct */
261 {
262     UINT        cbSize;
263     HWND16      hwndOwner;
264     HINSTANCE16 hInstance;
265     SEGPTR      lpszText;
266     SEGPTR      lpszCaption;
267     DWORD       dwStyle;
268     SEGPTR      lpszIcon;
269     DWORD       dwContextHelpId;
270     MSGBOXCALLBACK      lpfnMsgBoxCallback;
271     DWORD       dwLanguageId;
272 } MSGBOXPARAMS16,*LPMSGBOXPARAMS16;
273 
274   /* Windows */
275 
276 typedef struct
277 {
278     SEGPTR      lpCreateParams;
279     HINSTANCE16 hInstance;
280     HMENU16     hMenu;
281     HWND16      hwndParent;
282     INT16       cy;
283     INT16       cx;
284     INT16       y;
285     INT16       x;
286     LONG        style;
287     SEGPTR      lpszName;
288     SEGPTR      lpszClass;
289     DWORD       dwExStyle;
290 } CREATESTRUCT16, *LPCREATESTRUCT16;
291 
292 typedef struct
293 {
294     HDC16   hdc;
295     BOOL16  fErase;
296     RECT16  rcPaint;
297     BOOL16  fRestore;
298     BOOL16  fIncUpdate;
299     BYTE    rgbReserved[16];
300 } PAINTSTRUCT16, *LPPAINTSTRUCT16;
301 
302 typedef struct
303 {
304     HMENU16   hWindowMenu;
305     UINT16    idFirstChild;
306 } CLIENTCREATESTRUCT16, *LPCLIENTCREATESTRUCT16;
307 
308 typedef struct
309 {
310     SEGPTR       szClass;
311     SEGPTR       szTitle;
312     HINSTANCE16  hOwner;
313     INT16        x;
314     INT16        y;
315     INT16        cx;
316     INT16        cy;
317     DWORD        style;
318     LPARAM       lParam;
319 } MDICREATESTRUCT16, *LPMDICREATESTRUCT16;
320 
321   /* WM_GETMINMAXINFO struct */
322 typedef struct
323 {
324     POINT16   ptReserved;
325     POINT16   ptMaxSize;
326     POINT16   ptMaxPosition;
327     POINT16   ptMinTrackSize;
328     POINT16   ptMaxTrackSize;
329 } MINMAXINFO16;
330 
331   /* WM_WINDOWPOSCHANGING/CHANGED struct */
332 typedef struct tagWINDOWPOS16
333 {
334     HWND16  hwnd;
335     HWND16  hwndInsertAfter;
336     INT16   x;
337     INT16   y;
338     INT16   cx;
339     INT16   cy;
340     UINT16  flags;
341 } WINDOWPOS16, *LPWINDOWPOS16;
342 
343   /* WM_NCCALCSIZE parameter structure */
344 typedef struct
345 {
346     RECT16  rgrc[3];
347     SEGPTR  lppos;
348 } NCCALCSIZE_PARAMS16, *LPNCCALCSIZE_PARAMS16;
349 
350 typedef struct {
351         UINT16          cbSize;
352         INT16           iBorderWidth;
353         INT16           iScrollWidth;
354         INT16           iScrollHeight;
355         INT16           iCaptionWidth;
356         INT16           iCaptionHeight;
357         LOGFONT16       lfCaptionFont;
358         INT16           iSmCaptionWidth;
359         INT16           iSmCaptionHeight;
360         LOGFONT16       lfSmCaptionFont;
361         INT16           iMenuWidth;
362         INT16           iMenuHeight;
363         LOGFONT16       lfMenuFont;
364         LOGFONT16       lfStatusFont;
365         LOGFONT16       lfMessageFont;
366 } NONCLIENTMETRICS16,*LPNONCLIENTMETRICS16;
367 
368   /* Journalling hook structure */
369 
370 typedef struct
371 {
372     UINT16  message;
373     UINT16  paramL;
374     UINT16  paramH;
375     DWORD   time;
376 } EVENTMSG16, *LPEVENTMSG16;
377 
378   /* Mouse hook structure */
379 
380 typedef struct
381 {
382     POINT16 pt;
383     HWND16  hwnd;
384     UINT16  wHitTestCode;
385     DWORD   dwExtraInfo;
386 } MOUSEHOOKSTRUCT16, *LPMOUSEHOOKSTRUCT16;
387 
388   /* Hardware hook structure */
389 
390 typedef struct
391 {
392     HWND16    hWnd;
393     UINT16    wMessage;
394     WPARAM16  wParam;
395     LPARAM    lParam;
396 } HARDWAREHOOKSTRUCT16, *LPHARDWAREHOOKSTRUCT16;
397 
398 /* Scrollbar messages */
399 #define SBM_SETPOS16             (WM_USER+0)
400 #define SBM_GETPOS16             (WM_USER+1)
401 #define SBM_SETRANGE16           (WM_USER+2)
402 #define SBM_GETRANGE16           (WM_USER+3)
403 #define SBM_ENABLE_ARROWS16      (WM_USER+4)
404 #define SBM_SETRANGEREDRAW16     WM_NULL  /* Not in Win16 */
405 #define SBM_SETSCROLLINFO16      WM_NULL  /* Not in Win16 */
406 #define SBM_GETSCROLLINFO16      WM_NULL  /* Not in Win16 */
407 
408   /* CBT hook structures */
409 
410 typedef struct
411 {
412     CREATESTRUCT16  *lpcs;
413     HWND16           hwndInsertAfter;
414 } CBT_CREATEWND16, *LPCBT_CREATEWND16;
415 
416 typedef struct
417 {
418     BOOL16    fMouse;
419     HWND16    hWndActive;
420 } CBTACTIVATESTRUCT16, *LPCBTACTIVATESTRUCT16;
421 
422   /* Debug hook structure */
423 
424 typedef struct
425 {
426     HMODULE16   hModuleHook;
427     LPARAM      reserved;
428     LPARAM      lParam;
429     WPARAM16    wParam;
430     INT16       code;
431 } DEBUGHOOKINFO16, *LPDEBUGHOOKINFO16;
432 
433 #define GETMAXLPT       8
434 #define GETMAXCOM       9
435 #define GETBASEIRQ      10
436 
437 /* GetFreeSystemResources() parameters */
438 
439 #define GFSR_SYSTEMRESOURCES   0x0000
440 #define GFSR_GDIRESOURCES      0x0001
441 #define GFSR_USERRESOURCES     0x0002
442 
443 /* CreateWindow() coordinates */
444 #define CW_USEDEFAULT16 ((INT16)0x8000)
445 
446 /* Win16 button control messages */
447 #define BM_GETCHECK16          (WM_USER+0)
448 #define BM_SETCHECK16          (WM_USER+1)
449 #define BM_GETSTATE16          (WM_USER+2)
450 #define BM_SETSTATE16          (WM_USER+3)
451 #define BM_SETSTYLE16          (WM_USER+4)
452 #define BM_CLICK16             WM_NULL  /* Does not exist in Win16 */
453 #define BM_GETIMAGE16          WM_NULL  /* Does not exist in Win16 */
454 #define BM_SETIMAGE16          WM_NULL  /* Does not exist in Win16 */
455 
456 /* Static Control Messages */
457 #define STM_SETICON16       (WM_USER+0)
458 #define STM_GETICON16       (WM_USER+1)
459 
460 /* Edit control messages */
461 #define EM_GETSEL16                (WM_USER+0)
462 #define EM_SETSEL16                (WM_USER+1)
463 #define EM_GETRECT16               (WM_USER+2)
464 #define EM_SETRECT16               (WM_USER+3)
465 #define EM_SETRECTNP16             (WM_USER+4)
466 #define EM_SCROLL16                (WM_USER+5)
467 #define EM_LINESCROLL16            (WM_USER+6)
468 #define EM_SCROLLCARET16           (WM_USER+7)
469 #define EM_GETMODIFY16             (WM_USER+8)
470 #define EM_SETMODIFY16             (WM_USER+9)
471 #define EM_GETLINECOUNT16          (WM_USER+10)
472 #define EM_LINEINDEX16             (WM_USER+11)
473 #define EM_SETHANDLE16             (WM_USER+12)
474 #define EM_GETHANDLE16             (WM_USER+13)
475 #define EM_GETTHUMB16              (WM_USER+14)
476 #define EM_LINELENGTH16            (WM_USER+17)
477 #define EM_REPLACESEL16            (WM_USER+18)
478 #define EM_GETLINE16               (WM_USER+20)
479 #define EM_LIMITTEXT16             (WM_USER+21)
480 #define EM_CANUNDO16               (WM_USER+22)
481 #define EM_UNDO16                  (WM_USER+23)
482 #define EM_FMTLINES16              (WM_USER+24)
483 #define EM_LINEFROMCHAR16          (WM_USER+25)
484 #define EM_SETTABSTOPS16           (WM_USER+27)
485 #define EM_SETPASSWORDCHAR16       (WM_USER+28)
486 #define EM_EMPTYUNDOBUFFER16       (WM_USER+29)
487 #define EM_GETFIRSTVISIBLELINE16   (WM_USER+30)
488 #define EM_SETREADONLY16           (WM_USER+31)
489 #define EM_SETWORDBREAKPROC16      (WM_USER+32)
490 #define EM_GETWORDBREAKPROC16      (WM_USER+33)
491 #define EM_GETPASSWORDCHAR16       (WM_USER+34)
492 /*
493   not in win16:
494     EM_SETMARGINS16            WM_NULL
495     EM_GETMARGINS16            WM_NULL
496     EM_GETLIMITTEXT16          WM_NULL
497     EM_POSFROMCHAR16           WM_NULL
498     EM_CHARFROMPOS16           WM_NULL
499     EM_SETLIMITTEXT16          WM_NULL - no name change in win16
500 */
501 
502 typedef struct
503 {
504     UINT16      CtlType;
505     UINT16      CtlID;
506     UINT16      itemID;
507     UINT16      itemAction;
508     UINT16      itemState;
509     HWND16      hwndItem;
510     HDC16       hDC;
511     RECT16      rcItem;
512     DWORD       itemData;
513 } DRAWITEMSTRUCT16, *PDRAWITEMSTRUCT16, *LPDRAWITEMSTRUCT16;
514 
515 typedef struct
516 {
517     UINT16      CtlType;
518     UINT16      CtlID;
519     UINT16      itemID;
520     UINT16      itemWidth;
521     UINT16      itemHeight;
522     DWORD       itemData;
523 } MEASUREITEMSTRUCT16, *PMEASUREITEMSTRUCT16, *LPMEASUREITEMSTRUCT16;
524 
525 typedef struct
526 {
527     UINT16     CtlType;
528     UINT16     CtlID;
529     UINT16     itemID;
530     HWND16     hwndItem;
531     DWORD      itemData;
532 } DELETEITEMSTRUCT16, *LPDELETEITEMSTRUCT16;
533 
534 typedef struct
535 {
536     UINT16      CtlType;
537     UINT16      CtlID;
538     HWND16      hwndItem;
539     UINT16      itemID1;
540     DWORD       itemData1;
541     UINT16      itemID2;
542     DWORD       itemData2;
543 } COMPAREITEMSTRUCT16, *LPCOMPAREITEMSTRUCT16;
544 
545 /* DragObject stuff */
546 
547 typedef struct
548 {
549     HWND16     hWnd;
550     HANDLE16   hScope;
551     WORD       wFlags;
552     HANDLE16   hList;
553     HANDLE16   hOfStruct;
554     POINT16    pt;
555     LONG       l;
556 } DRAGINFO16, *LPDRAGINFO16;
557 
558 /* undocumented */
559 typedef struct tagCOPYDATASTRUCT16 {
560     DWORD dwData;
561     DWORD cbData;
562     SEGPTR lpData;
563 } COPYDATASTRUCT16, *PCOPYDATASTRUCT16;
564 
565 #define DRAGOBJ_PROGRAM    0x0001
566 #define DRAGOBJ_DATA       0x0002
567 #define DRAGOBJ_DIRECTORY  0x0004
568 #define DRAGOBJ_MULTIPLE   0x0008
569 #define DRAGOBJ_EXTERNAL   0x8000
570 
571 #define DRAG_PRINT 0x544E5250
572 #define DRAG_FILE  0x454C4946
573 
574 #include <poppack.h>
575 
576 /* WM_COMMNOTIFY flags */
577 #define CN_RECEIVE      0x0001
578 #define CN_TRANSMIT     0x0002
579 #define CN_EVENT        0x0004
580 
581 BOOL16      WINAPI CheckMenuRadioItem16(HMENU16,UINT16,UINT16,UINT16,UINT16);
582 HICON16     WINAPI CopyImage16(HANDLE16,UINT16,INT16,INT16,UINT16);
583 HICON16     WINAPI CreateIconFromResource16(LPBYTE,UINT16,BOOL16,DWORD);
584 BOOL16      WINAPI EnumChildWindows16(HWND16,WNDENUMPROC16,LPARAM);
585 INT16       WINAPI EnumProps16(HWND16,PROPENUMPROC16);
586 BOOL16      WINAPI EnumWindows16(WNDENUMPROC16,LPARAM);
587 DWORD       WINAPI GetAppCompatFlags16(HTASK16);
588 INT16       WINAPI GetKBCodePage16(void);
589 INT16       WINAPI GetKeyboardType16(INT16);
590 INT16       WINAPI GetKeyNameText16(LONG,LPSTR,INT16);
591 INT16       WINAPI GetWindowRgn16(HWND16,HRGN16);
592 BOOL16      WINAPI IsWindow16(HWND16);
593 INT16       WINAPI LookupIconIdFromDirectory16(LPBYTE,BOOL16);
594 UINT16      WINAPI MapVirtualKey16(UINT16,UINT16);
595 FARPROC16   WINAPI SetWindowsHook16(INT16,HOOKPROC16);
596 HHOOK       WINAPI SetWindowsHookEx16(INT16,HOOKPROC16,HINSTANCE16,HTASK16);
597 BOOL16      WINAPI UnhookWindowsHook16(INT16,HOOKPROC16);
598 BOOL16      WINAPI UnhookWindowsHookEx16(HHOOK);
599 VOID        WINAPI CalcChildScroll16(HWND16,WORD);
600 VOID        WINAPI CascadeChildWindows16(HWND16,WORD);
601 INT16       WINAPI CloseComm16(INT16);
602 HGLOBAL16   WINAPI CreateCursorIconIndirect16(HINSTANCE16,CURSORICONINFO*,
603                                             LPCVOID,LPCVOID);
604 BOOL16      WINAPI DCHook16(HDC16,WORD,DWORD,LPARAM);
605 BOOL16      WINAPI DlgDirSelect16(HWND16,LPSTR,INT16);
606 BOOL16      WINAPI DlgDirSelectComboBox16(HWND16,LPSTR,INT16);
607 DWORD       WINAPI DumpIcon16(SEGPTR,WORD*,SEGPTR*,SEGPTR*);
608 BOOL16      WINAPI EnableCommNotification16(INT16,HWND16,INT16,INT16);
609 BOOL16      WINAPI EnableHardwareInput16(BOOL16);
610 VOID        WINAPI FillWindow16(HWND16,HWND16,HDC16,HBRUSH16);
611 INT16       WINAPI FlushComm16(INT16,INT16);
612 UINT16      WINAPI GetCommEventMask16(INT16,UINT16);
613 HBRUSH16    WINAPI GetControlBrush16(HWND16,HDC16,UINT16);
614 HWND16      WINAPI GetDesktopHwnd16(void);
615 WORD        WINAPI GetIconID16(HGLOBAL16,DWORD);
616 FARPROC16   WINAPI GetMouseEventProc16(void);
617 INT16       WINAPI InitApp16(HINSTANCE16);
618 BOOL16      WINAPI IsUserIdle16(void);
619 HGLOBAL16   WINAPI LoadCursorIconHandler16(HGLOBAL16,HMODULE16,HRSRC16);
620 HGLOBAL16   WINAPI LoadDIBCursorHandler16(HGLOBAL16,HMODULE16,HRSRC16);
621 HGLOBAL16   WINAPI LoadDIBIconHandler16(HGLOBAL16,HMODULE16,HRSRC16);
622 HICON16     WINAPI LoadIconHandler16(HGLOBAL16,BOOL16);
623 HMENU16     WINAPI LookupMenuHandle16(HMENU16,INT16);
624 INT16       WINAPI OpenComm16(LPCSTR,UINT16,UINT16);
625 VOID        WINAPI PaintRect16(HWND16,HWND16,HDC16,HBRUSH16,const RECT16*);
626 INT16       WINAPI ReadComm16(INT16,LPSTR,INT16);
627 SEGPTR      WINAPI SetCommEventMask16(INT16,UINT16);
628 BOOL16      WINAPI SetDeskPattern(void);
629 VOID        WINAPI TileChildWindows16(HWND16,WORD);
630 INT16       WINAPI UngetCommChar16(INT16,CHAR);
631 VOID        WINAPI UserYield16(void);
632 INT16       WINAPI WriteComm16(INT16,LPSTR,INT16);
633 BOOL16      WINAPI AdjustWindowRect16(LPRECT16,DWORD,BOOL16);
634 BOOL16      WINAPI AdjustWindowRectEx16(LPRECT16,DWORD,BOOL16,DWORD);
635 SEGPTR      WINAPI AnsiLower16(SEGPTR);
636 UINT16      WINAPI AnsiLowerBuff16(LPSTR,UINT16);
637 SEGPTR      WINAPI AnsiNext16(SEGPTR);
638 SEGPTR      WINAPI AnsiPrev16(LPCSTR,SEGPTR);
639 SEGPTR      WINAPI AnsiUpper16(SEGPTR);
640 UINT16      WINAPI AnsiUpperBuff16(LPSTR,UINT16);
641 BOOL16      WINAPI AnyPopup16(void);
642 BOOL16      WINAPI AppendMenu16(HMENU16,UINT16,UINT16,SEGPTR);
643 UINT16      WINAPI ArrangeIconicWindows16(HWND16);
644 HDWP16      WINAPI BeginDeferWindowPos16(INT16);
645 HDC16       WINAPI BeginPaint16(HWND16,LPPAINTSTRUCT16);
646 BOOL16      WINAPI BringWindowToTop16(HWND16);
647 BOOL16      WINAPI CallMsgFilter16(MSG16*,INT16);
648 BOOL16      WINAPI CallMsgFilter32_16(MSG32_16*,INT16,BOOL16);
649 LRESULT     WINAPI CallNextHookEx16(HHOOK,INT16,WPARAM16,LPARAM);
650 LRESULT     WINAPI CallWindowProc16(WNDPROC16,HWND16,UINT16,WPARAM16,LPARAM);
651 BOOL16      WINAPI ChangeClipboardChain16(HWND16,HWND16);
652 BOOL16      WINAPI ChangeMenu16(HMENU16,UINT16,SEGPTR,UINT16,UINT16);
653 BOOL16      WINAPI CheckDlgButton16(HWND16,INT16,UINT16);
654 BOOL16      WINAPI CheckMenuItem16(HMENU16,UINT16,UINT16);
655 BOOL16      WINAPI CheckRadioButton16(HWND16,UINT16,UINT16,UINT16);
656 HWND16      WINAPI ChildWindowFromPoint16(HWND16,POINT16);
657 HWND16      WINAPI ChildWindowFromPointEx16(HWND16,POINT16,UINT16);
658 INT16       WINAPI ClearCommBreak16(INT16);
659 VOID        WINAPI ClientToScreen16(HWND16,LPPOINT16);
660 BOOL16      WINAPI ClipCursor16(const RECT16*);
661 BOOL16      WINAPI CloseClipboard16(void);
662 BOOL16      WINAPI CloseWindow16(HWND16);
663 void        WINAPI ControlPanelInfo16(INT16, WORD, LPSTR);
664 HCURSOR16   WINAPI CopyCursor16(HINSTANCE16,HCURSOR16);
665 HICON16     WINAPI CopyIcon16(HINSTANCE16,HICON16);
666 BOOL16      WINAPI CopyRect16(RECT16*,const RECT16*);
667 INT16       WINAPI CountClipboardFormats16(void);
668 VOID        WINAPI CreateCaret16(HWND16,HBITMAP16,INT16,INT16);
669 HCURSOR16   WINAPI CreateCursor16(HINSTANCE16,INT16,INT16,INT16,INT16,LPCVOID,LPCVOID);
670 HWND16      WINAPI CreateDialog16(HINSTANCE16,LPCSTR,HWND16,DLGPROC16);
671 HWND16      WINAPI CreateDialogIndirect16(HINSTANCE16,LPCVOID,HWND16,DLGPROC16);
672 HWND16      WINAPI CreateDialogIndirectParam16(HINSTANCE16,LPCVOID,HWND16,
673                                                DLGPROC16,LPARAM);
674 HWND16      WINAPI CreateDialogParam16(HINSTANCE16,LPCSTR,HWND16,DLGPROC16,LPARAM);
675 HICON16     WINAPI CreateIcon16(HINSTANCE16,INT16,INT16,BYTE,BYTE,LPCVOID,LPCVOID);
676 HICON16     WINAPI CreateIconFromResourceEx16(LPBYTE,UINT16,BOOL16,DWORD,INT16,INT16,UINT16);
677 HMENU16     WINAPI CreateMenu16(void);
678 HMENU16     WINAPI CreatePopupMenu16(void);
679 HWND16      WINAPI CreateWindow16(LPCSTR,LPCSTR,DWORD,INT16,INT16,INT16,INT16,
680                                   HWND16,HMENU16,HINSTANCE16,LPVOID);
681 HWND16      WINAPI CreateWindowEx16(DWORD,LPCSTR,LPCSTR,DWORD,INT16,INT16,
682                                 INT16,INT16,HWND16,HMENU16,HINSTANCE16,LPVOID);
683 LRESULT     WINAPI DefDlgProc16(HWND16,UINT16,WPARAM16,LPARAM);
684 HDWP16      WINAPI DeferWindowPos16(HDWP16,HWND16,HWND16,INT16,INT16,INT16,INT16,UINT16);
685 LRESULT     WINAPI DefFrameProc16(HWND16,HWND16,UINT16,WPARAM16,LPARAM);
686 LRESULT     WINAPI DefHookProc16(INT16,WPARAM16,LPARAM,HHOOK*);
687 LRESULT     WINAPI DefMDIChildProc16(HWND16,UINT16,WPARAM16,LPARAM);
688 LRESULT     WINAPI DefWindowProc16(HWND16,UINT16,WPARAM16,LPARAM);
689 BOOL16      WINAPI DeleteMenu16(HMENU16,UINT16,UINT16);
690 VOID        WINAPI DestroyCaret16(void);
691 BOOL16      WINAPI DestroyCursor16(HCURSOR16);
692 BOOL16      WINAPI DestroyIcon16(HICON16);
693 BOOL16      WINAPI DestroyMenu16(HMENU16);
694 BOOL16      WINAPI DestroyWindow16(HWND16);
695 INT16       WINAPI DialogBox16(HINSTANCE16,LPCSTR,HWND16,DLGPROC16);
696 INT16       WINAPI DialogBoxIndirect16(HINSTANCE16,HANDLE16,HWND16,DLGPROC16);
697 INT16       WINAPI DialogBoxIndirectParam16(HINSTANCE16,HANDLE16,HWND16,DLGPROC16,LPARAM);
698 INT16       WINAPI DialogBoxParam16(HINSTANCE16,LPCSTR,HWND16,DLGPROC16,LPARAM);
699 LONG        WINAPI DispatchMessage16(const MSG16*);
700 LONG        WINAPI DispatchMessage32_16(const MSG32_16*,BOOL16);
701 INT16       WINAPI DlgDirList16(HWND16,LPSTR,INT16,INT16,UINT16);
702 INT16       WINAPI DlgDirListComboBox16(HWND16,LPSTR,INT16,INT16,UINT16);
703 BOOL16      WINAPI DlgDirSelectComboBoxEx16(HWND16,LPSTR,INT16,INT16);
704 BOOL16      WINAPI DlgDirSelectEx16(HWND16,LPSTR,INT16,INT16);
705 BOOL16      WINAPI DragDetect16(HWND16,POINT16);
706 DWORD       WINAPI DragObject16(HWND16,HWND16,UINT16,HANDLE16,WORD,HCURSOR16);
707 BOOL16      WINAPI DrawAnimatedRects16(HWND16,INT16,const RECT16*,const RECT16*);
708 BOOL16      WINAPI DrawCaption16(HWND16,HDC16,const RECT16*,UINT16);
709 BOOL16      WINAPI DrawCaptionTemp16(HWND16,HDC16, const RECT16*,HFONT16,HICON16,LPCSTR,UINT16);
710 BOOL16      WINAPI DrawEdge16(HDC16,LPRECT16,UINT16,UINT16);
711 void        WINAPI DrawFocusRect16(HDC16,const RECT16*);
712 BOOL16      WINAPI DrawFrameControl16(HDC16,LPRECT16,UINT16,UINT16);
713 BOOL16      WINAPI DrawIcon16(HDC16,INT16,INT16,HICON16);
714 BOOL16      WINAPI DrawIconEx16(HDC16,INT16,INT16,HICON16,INT16,INT16,
715                                 UINT16,HBRUSH16,UINT16);
716 VOID        WINAPI DrawMenuBar16(HWND16);
717 INT16       WINAPI DrawText16(HDC16,LPCSTR,INT16,LPRECT16,UINT16);
718 BOOL16      WINAPI EmptyClipboard16(void);
719 BOOL16      WINAPI EnableMenuItem16(HMENU16,UINT16,UINT16);
720 BOOL16      WINAPI EnableScrollBar16(HWND16,INT16,UINT16);
721 BOOL16      WINAPI EnableWindow16(HWND16,BOOL16);
722 BOOL16      WINAPI EndDeferWindowPos16(HDWP16);
723 BOOL16      WINAPI EndDialog16(HWND16,INT16);
724 BOOL16      WINAPI EndPaint16(HWND16,const PAINTSTRUCT16*);
725 UINT16      WINAPI EnumClipboardFormats16(UINT16);
726 BOOL16      WINAPI EqualRect16(const RECT16*,const RECT16*);
727 LONG        WINAPI EscapeCommFunction16(UINT16,UINT16);
728 INT16       WINAPI ExcludeUpdateRgn16(HDC16,HWND16);
729 BOOL16      WINAPI ExitWindows16(DWORD,UINT16);
730 INT16       WINAPI FillRect16(HDC16,const RECT16*,HBRUSH16);
731 HWND16      WINAPI FindWindow16(LPCSTR,LPCSTR);
732 HWND16      WINAPI FindWindowEx16(HWND16,HWND16,LPCSTR,LPCSTR);
733 BOOL16      WINAPI FlashWindow16(HWND16,BOOL16);
734 DWORD       WINAPI FormatMessage16(DWORD,SEGPTR,WORD,WORD,LPSTR,WORD,LPDWORD);
735 INT16       WINAPI FrameRect16(HDC16,const RECT16*,HBRUSH16);
736 HWND16      WINAPI GetActiveWindow16(void);
737 INT16       WINAPI GetAsyncKeyState16(INT16);
738 HWND16      WINAPI GetCapture16(void);
739 UINT16      WINAPI GetCaretBlinkTime16(void);
740 VOID        WINAPI GetCaretPos16(LPPOINT16);
741 BOOL16      WINAPI GetClassInfo16(HINSTANCE16,SEGPTR,WNDCLASS16 *);
742 BOOL16      WINAPI GetClassInfoEx16(HINSTANCE16,SEGPTR,WNDCLASSEX16 *);
743 LONG        WINAPI GetClassLong16(HWND16,INT16);
744 INT16       WINAPI GetClassName16(HWND16,LPSTR,INT16);
745 WORD        WINAPI GetClassWord16(HWND16,INT16);
746 void        WINAPI GetClientRect16(HWND16,LPRECT16);
747 HANDLE16    WINAPI GetClipboardData16(UINT16);
748 INT16       WINAPI GetClipboardFormatName16(UINT16,LPSTR,INT16);
749 HWND16      WINAPI GetClipboardOwner16(void);
750 HWND16      WINAPI GetClipboardViewer16(void);
751 void        WINAPI GetClipCursor16(LP