This repository has been archived on 2024-12-16. You can view files and clone it, but cannot push or open issues or pull requests.
CodeBlocksPortable/WATCOM/h/nt/windef.h

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_ */