164 lines
4.4 KiB
C
164 lines
4.4 KiB
C
/*
|
|
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
*/
|
|
|
|
#ifndef __WINE_WINDEF16_H
|
|
#define __WINE_WINDEF16_H
|
|
|
|
#ifndef RC_INVOKED
|
|
#include <stdarg.h>
|
|
#endif
|
|
#include <windef.h>
|
|
#include <winbase.h>
|
|
|
|
/* 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 */
|