277 lines
6.3 KiB
C
277 lines
6.3 KiB
C
/*
|
|
* windef.h Win32 basic data types
|
|
*
|
|
* =========================================================================
|
|
*
|
|
* Open Watcom Project
|
|
*
|
|
* Copyright (c) 2004-2010 The Open Watcom Contributors. All Rights Reserved.
|
|
*
|
|
* This file is automatically generated. Do not edit directly.
|
|
*
|
|
* =========================================================================
|
|
*/
|
|
|
|
#ifndef _WINDEF_
|
|
#define _WINDEF_
|
|
|
|
#ifndef _ENABLE_AUTODEPEND
|
|
#pragma read_only_file;
|
|
#endif
|
|
|
|
#include <_w32ials.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* Define the STRICT macro for strict type checking. */
|
|
#ifndef NO_STRICT
|
|
#ifndef STRICT
|
|
#define STRICT 1
|
|
#endif
|
|
#endif
|
|
|
|
/* Define default Windows version number. */
|
|
#ifndef WINVER
|
|
#define WINVER 0x0400
|
|
#endif
|
|
|
|
/* Override default compiler behavior for these keywords. */
|
|
#define far
|
|
#define near
|
|
#define pascal __stdcall
|
|
|
|
/* Calling conventions */
|
|
#undef pascal
|
|
#undef _pascal
|
|
#undef __pascal
|
|
#define pascal __stdcall
|
|
#define _pascal __stdcall
|
|
#define __pascal __stdcall
|
|
#ifndef CDECL
|
|
#define CDECL __cdecl
|
|
#endif
|
|
#define CALLBACK __stdcall
|
|
#define WINAPI __stdcall
|
|
#define WINAPIV __cdecl
|
|
#define APIENTRY WINAPI
|
|
#define APIPRIVATE __stdcall
|
|
#define PASCAL __stdcall
|
|
|
|
/* Variable attributes */
|
|
#define FAR
|
|
#define NEAR
|
|
#define CONST const
|
|
|
|
/* Parameter attributes */
|
|
#define IN
|
|
#define OUT
|
|
#define OPTIONAL
|
|
|
|
/* Primitive data types */
|
|
typedef unsigned long ULONG;
|
|
typedef ULONG *PULONG;
|
|
typedef unsigned short USHORT;
|
|
typedef USHORT *PUSHORT;
|
|
typedef unsigned char UCHAR;
|
|
typedef UCHAR *PUCHAR;
|
|
typedef char *PSZ;
|
|
typedef unsigned long DWORD;
|
|
typedef int BOOL;
|
|
typedef unsigned char BYTE;
|
|
typedef unsigned short WORD;
|
|
typedef float FLOAT;
|
|
typedef FLOAT *PFLOAT;
|
|
typedef BOOL *PBOOL;
|
|
typedef BOOL *LPBOOL;
|
|
typedef BYTE *PBYTE;
|
|
typedef BYTE *LPBYTE;
|
|
typedef int *PINT;
|
|
typedef int *LPINT;
|
|
typedef WORD *PWORD;
|
|
typedef WORD *LPWORD;
|
|
typedef long *LPLONG;
|
|
typedef DWORD *PDWORD;
|
|
typedef DWORD *LPDWORD;
|
|
typedef void *LPVOID;
|
|
typedef CONST void *LPCVOID;
|
|
typedef int INT;
|
|
typedef unsigned int UINT;
|
|
typedef unsigned int *PUINT;
|
|
typedef WORD ATOM;
|
|
typedef DWORD COLORREF;
|
|
typedef DWORD *LPCOLORREF;
|
|
|
|
/* Function pointer data types */
|
|
typedef int (WINAPI *FARPROC)();
|
|
typedef int (WINAPI *NEARPROC)();
|
|
typedef int (WINAPI *PROC)();
|
|
|
|
#ifndef NT_INCLUDED
|
|
#include <winnt.h>
|
|
#endif
|
|
|
|
/* Message parameters data types */
|
|
typedef UINT_PTR WPARAM;
|
|
typedef LONG_PTR LPARAM;
|
|
typedef LONG_PTR LRESULT;
|
|
|
|
/* Handle data types */
|
|
DECLARE_HANDLE( HACCEL );
|
|
DECLARE_HANDLE( HBITMAP );
|
|
DECLARE_HANDLE( HBRUSH );
|
|
DECLARE_HANDLE( HDC );
|
|
DECLARE_HANDLE( HDESK );
|
|
DECLARE_HANDLE( HENHMETAFILE );
|
|
DECLARE_HANDLE( HFONT );
|
|
DECLARE_HANDLE( HGLRC );
|
|
DECLARE_HANDLE( HHOOK );
|
|
DECLARE_HANDLE( HICON );
|
|
DECLARE_HANDLE( HINSTANCE );
|
|
DECLARE_HANDLE( HKEY );
|
|
DECLARE_HANDLE( HKL );
|
|
DECLARE_HANDLE( HMENU );
|
|
DECLARE_HANDLE( HMETAFILE );
|
|
DECLARE_HANDLE( HPALETTE );
|
|
DECLARE_HANDLE( HPEN );
|
|
DECLARE_HANDLE( HRGN );
|
|
DECLARE_HANDLE( HRSRC );
|
|
DECLARE_HANDLE( HSPRITE );
|
|
DECLARE_HANDLE( HSTR );
|
|
DECLARE_HANDLE( HTASK );
|
|
DECLARE_HANDLE( HWINSTA );
|
|
DECLARE_HANDLE( HWND );
|
|
#if (WINVER >= 0x0400)
|
|
DECLARE_HANDLE( HCOLORSPACE );
|
|
DECLARE_HANDLE( HWINEVENTHOOK );
|
|
#endif
|
|
#if (WINVER >= 0x0500)
|
|
DECLARE_HANDLE( HMONITOR );
|
|
DECLARE_HANDLE( HUMPD );
|
|
#endif
|
|
|
|
/* Special handle data types */
|
|
typedef HANDLE NEAR *SPHANDLE;
|
|
typedef HANDLE FAR *LPHANDLE;
|
|
typedef HANDLE HGLOBAL;
|
|
typedef HANDLE HLOCAL;
|
|
typedef HANDLE GLOBALHANDLE;
|
|
typedef HANDLE LOCALHANDLE;
|
|
typedef void *HGDIOBJ;
|
|
typedef HKEY *PHKEY;
|
|
typedef int HFILE;
|
|
typedef HINSTANCE HMODULE;
|
|
typedef HICON HCURSOR;
|
|
|
|
/* Basic constants */
|
|
#define MAX_PATH 260
|
|
#ifndef NULL
|
|
#ifdef __cplusplus
|
|
#define NULL 0
|
|
#else
|
|
#define NULL ((void *)0)
|
|
#endif
|
|
#endif
|
|
#ifndef FALSE
|
|
#define FALSE 0
|
|
#endif
|
|
#ifndef TRUE
|
|
#define TRUE 1
|
|
#endif
|
|
#define HFILE_ERROR 0xFFFFFFFF
|
|
|
|
/* Rectangle */
|
|
typedef struct tagRECT {
|
|
LONG left;
|
|
LONG top;
|
|
LONG right;
|
|
LONG bottom;
|
|
} RECT;
|
|
typedef RECT *PRECT;
|
|
typedef RECT NEAR *NPRECT;
|
|
typedef RECT FAR *LPRECT;
|
|
typedef const RECT FAR *LPCRECT;
|
|
|
|
/* Rectangle (long version) */
|
|
typedef struct _RECTL {
|
|
LONG left;
|
|
LONG top;
|
|
LONG right;
|
|
LONG bottom;
|
|
} RECTL;
|
|
typedef RECTL *PRECTL;
|
|
typedef RECTL *LPRECTL;
|
|
typedef const RECTL FAR *LPCRECTL;
|
|
|
|
/* Point */
|
|
typedef struct tagPOINT {
|
|
LONG x;
|
|
LONG y;
|
|
} POINT;
|
|
typedef POINT *PPOINT;
|
|
typedef POINT NEAR *NPPOINT;
|
|
typedef POINT FAR *LPPOINT;
|
|
|
|
/* Point (long version) */
|
|
typedef struct _POINTL {
|
|
LONG x;
|
|
LONG y;
|
|
} POINTL;
|
|
typedef POINTL *PPOINTL;
|
|
|
|
/* Size */
|
|
typedef struct tagSIZE {
|
|
LONG cx;
|
|
LONG cy;
|
|
} SIZE;
|
|
typedef SIZE *PSIZE;
|
|
typedef SIZE *LPSIZE;
|
|
typedef SIZE SIZEL;
|
|
typedef SIZE *PSIZEL;
|
|
typedef SIZE *LPSIZEL;
|
|
|
|
/* Point (short version) */
|
|
typedef struct tagPOINTS {
|
|
SHORT x;
|
|
SHORT y;
|
|
} POINTS;
|
|
typedef POINTS *PPOINTS;
|
|
typedef POINTS *LPPOINTS;
|
|
|
|
/* File time */
|
|
#define _FILETIME_
|
|
typedef struct _FILETIME {
|
|
DWORD dwLowDateTime;
|
|
DWORD dwHighDateTime;
|
|
} FILETIME;
|
|
typedef FILETIME *PFILETIME;
|
|
typedef FILETIME *LPFILETIME;
|
|
|
|
/* Minimum and maximum macros */
|
|
#ifndef NOMINMAX
|
|
#ifndef min
|
|
#define min( p1, p2 ) (((p1) < (p2)) ? (p1) : (p2))
|
|
#endif
|
|
#ifndef max
|
|
#define max( p1, p2 ) (((p1) > (p2)) ? (p1) : (p2))
|
|
#endif
|
|
#endif
|
|
|
|
/* Macros for manipulating words and longs */
|
|
#define MAKEWORD( p1, p2 ) \
|
|
((WORD)((BYTE)(DWORD_PTR)(p1) & 0xFF) | ((WORD)((BYTE)(DWORD_PTR)(p2) & 0xFF) << 8))
|
|
#define MAKELONG( p1, p2 ) \
|
|
((LONG)((WORD)(DWORD_PTR)(p1) & 0xFFFF) | \
|
|
((LONG)((WORD)(DWORD_PTR)(p2) & 0xFFFF) << 16))
|
|
#define LOWORD( x ) ((WORD)((DWORD_PTR)(x) & 0xFFFF))
|
|
#define HIWORD( x ) ((WORD)((DWORD_PTR)(x) >> 16))
|
|
#define LOBYTE( x ) ((BYTE)((DWORD_PTR)(x) & 0xFF))
|
|
#define HIBYTE( x ) ((BYTE)((DWORD_PTR)(x) >> 8))
|
|
|
|
#ifdef __cplusplus
|
|
} /* extern "C" */
|
|
#endif
|
|
|
|
#endif /* _WINDEF_ */
|