Something went wrong. Try again.
Reactos
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166/* * Basic type definitions for 16 bit variations on Windows types. * These types are provided mostly to insure compatibility with * 16 bit windows code. * * Copyright (C) the Wine project * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */
#ifndef __WINE_WINDEF16_H#define __WINE_WINDEF16_H
#ifndef RC_INVOKED#include <stdarg.h>#endif#include <windef.h>#include <winbase.h>#ifndef _NTNDK_#include <exception.h> // ROS Hack#endif/* Standard data types */
typedef unsigned short BOOL16;typedef DWORD SEGPTR;
typedef UINT16 HANDLE16;typedef HANDLE16 *LPHANDLE16;
typedef UINT16 WPARAM16;typedef INT16 *LPINT16;typedef UINT16 *LPUINT16;
typedef WORD CATCHBUF[9];typedef WORD *LPCATCHBUF;
#define MAKESEGPTR(seg,off) ((SEGPTR)MAKELONG(off,seg))#define SELECTOROF(ptr) (HIWORD(ptr))#define OFFSETOF(ptr) (LOWORD(ptr))
typedef WORD *VA_LIST16;
#define __VA_ROUNDED16(type) \ ((sizeof(type) + sizeof(WORD) - 1) / sizeof(WORD) * sizeof(WORD))#define VA_ARG16(list,type) \ (((list) = (VA_LIST16)((char *)(list) + __VA_ROUNDED16(type))), \ *((type *)(void *)((char *)(list) - __VA_ROUNDED16(type))))
#define HFILE_ERROR16 ((HFILE16)-1)
#define DECLARE_HANDLE16(a) \ typedef HANDLE16 a##16; \ typedef a##16 *P##a##16; \ typedef a##16 *NP##a##16; \ typedef a##16 *LP##a##16
DECLARE_HANDLE16(HACMDRIVERID);DECLARE_HANDLE16(HACMDRIVER);DECLARE_HANDLE16(HACMOBJ);DECLARE_HANDLE16(HACMSTREAM);DECLARE_HANDLE16(HMETAFILEPICT);
DECLARE_HANDLE16(HACCEL);DECLARE_HANDLE16(HBITMAP);DECLARE_HANDLE16(HBRUSH);DECLARE_HANDLE16(HCOLORSPACE);DECLARE_HANDLE16(HCURSOR);DECLARE_HANDLE16(HDC);DECLARE_HANDLE16(HDROP);DECLARE_HANDLE16(HDRVR);DECLARE_HANDLE16(HDWP);DECLARE_HANDLE16(HENHMETAFILE);DECLARE_HANDLE16(HFILE);DECLARE_HANDLE16(HFONT);DECLARE_HANDLE16(HICON);DECLARE_HANDLE16(HINSTANCE);DECLARE_HANDLE16(HKEY);DECLARE_HANDLE16(HMENU);DECLARE_HANDLE16(HMETAFILE);DECLARE_HANDLE16(HMIDI);DECLARE_HANDLE16(HMIDIIN);DECLARE_HANDLE16(HMIDIOUT);DECLARE_HANDLE16(HMIDISTRM);DECLARE_HANDLE16(HMIXER);DECLARE_HANDLE16(HMIXEROBJ);DECLARE_HANDLE16(HMMIO);DECLARE_HANDLE16(HPALETTE);DECLARE_HANDLE16(HPEN);DECLARE_HANDLE16(HQUEUE);DECLARE_HANDLE16(HRGN);DECLARE_HANDLE16(HRSRC);DECLARE_HANDLE16(HTASK);DECLARE_HANDLE16(HWAVE);DECLARE_HANDLE16(HWAVEIN);DECLARE_HANDLE16(HWAVEOUT);DECLARE_HANDLE16(HWINSTA);DECLARE_HANDLE16(HDESK);DECLARE_HANDLE16(HWND);DECLARE_HANDLE16(HKL);DECLARE_HANDLE16(HIC);DECLARE_HANDLE16(HRASCONN);#undef DECLARE_HANDLE16
typedef HINSTANCE16 HMODULE16;typedef HANDLE16 HGDIOBJ16;typedef HANDLE16 HGLOBAL16;typedef HANDLE16 HLOCAL16;
#include <pshpack1.h>
/* The SIZE structure */
typedef struct{ INT16 cx; INT16 cy;} SIZE16, *PSIZE16, *LPSIZE16;
/* The POINT structure */
typedef struct{ INT16 x; INT16 y;} POINT16, *PPOINT16, *LPPOINT16;
/* The RECT structure */
typedef struct{ INT16 left; INT16 top; INT16 right; INT16 bottom;} RECT16, *LPRECT16;
#include <poppack.h>
/* Callback function pointers types */
typedef LRESULT (CALLBACK *DRIVERPROC16)(DWORD,HDRVR16,UINT16,LPARAM,LPARAM);typedef BOOL16 (CALLBACK *DLGPROC16)(HWND16,UINT16,WPARAM16,LPARAM);typedef INT16 (CALLBACK *EDITWORDBREAKPROC16)(LPSTR,INT16,INT16,INT16);typedef LRESULT (CALLBACK *FARPROC16)();typedef INT16 (CALLBACK *PROC16)();typedef BOOL16 (CALLBACK *GRAYSTRINGPROC16)(HDC16,LPARAM,INT16);typedef LRESULT (CALLBACK *HOOKPROC16)(INT16,WPARAM16,LPARAM);typedef BOOL16 (CALLBACK *PROPENUMPROC16)(HWND16,SEGPTR,HANDLE16);typedef VOID (CALLBACK *TIMERPROC16)(HWND16,UINT16,UINT16,DWORD);typedef LRESULT (CALLBACK *WNDENUMPROC16)(HWND16,LPARAM);typedef LRESULT (CALLBACK *WNDPROC16)(HWND16,UINT16,WPARAM16,LPARAM);
#endif /* __WINE_WINDEF16_H */