mirror of
https://github.com/QB64Official/qb64.git
synced 2024-08-22 02:05:08 +00:00
233 lines
4.3 KiB
C
233 lines
4.3 KiB
C
#ifndef _MINWINDEF_
|
|
#define _MINWINDEF_
|
|
|
|
#include <_mingw.h>
|
|
#include <winapifamily.h>
|
|
#include <specstrings.h>
|
|
|
|
#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP)
|
|
|
|
#if !defined (STRICT) && !defined (NO_STRICT)
|
|
#define STRICT 1
|
|
#endif
|
|
|
|
#ifndef WIN32
|
|
#define WIN32
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#ifndef BASETYPES
|
|
#define BASETYPES
|
|
typedef unsigned __LONG32 ULONG;
|
|
typedef ULONG *PULONG;
|
|
typedef unsigned short USHORT;
|
|
typedef USHORT *PUSHORT;
|
|
typedef unsigned char UCHAR;
|
|
typedef UCHAR *PUCHAR;
|
|
typedef char *PSZ;
|
|
#endif
|
|
|
|
#define MAX_PATH 260
|
|
|
|
#ifndef NULL
|
|
#ifdef __cplusplus
|
|
#ifndef _WIN64
|
|
#define NULL 0
|
|
#else
|
|
#define NULL 0LL
|
|
#endif
|
|
#else
|
|
#define NULL ((void *)0)
|
|
#endif
|
|
#endif
|
|
|
|
#ifndef FALSE
|
|
#define FALSE 0
|
|
#endif
|
|
|
|
#ifndef TRUE
|
|
#define TRUE 1
|
|
#endif
|
|
|
|
#ifndef _NO_W32_PSEUDO_MODIFIERS
|
|
#ifndef IN
|
|
#define IN
|
|
#endif
|
|
|
|
#ifndef OUT
|
|
#define OUT
|
|
#endif
|
|
|
|
#ifndef OPTIONAL
|
|
#define OPTIONAL
|
|
#endif
|
|
#endif /* _NO_W32_PSEUDO_MODIFIERS */
|
|
|
|
#undef far
|
|
#undef near
|
|
#undef pascal
|
|
|
|
#define far
|
|
#define near
|
|
#if defined(_ARM_)
|
|
#define pascal
|
|
#else
|
|
#define pascal __stdcall
|
|
#endif
|
|
|
|
#define cdecl
|
|
#ifndef CDECL
|
|
#define CDECL
|
|
#endif
|
|
|
|
#ifndef CALLBACK
|
|
#if defined(_ARM_)
|
|
#define CALLBACK
|
|
#else
|
|
#define CALLBACK __stdcall
|
|
#endif
|
|
#endif
|
|
|
|
#ifndef WINAPI
|
|
#if defined(_ARM_)
|
|
#define WINAPI
|
|
#else
|
|
#define WINAPI __stdcall
|
|
#endif
|
|
#endif
|
|
|
|
#define WINAPIV __cdecl
|
|
#define APIENTRY WINAPI
|
|
#if defined(_ARM_)
|
|
#define APIPRIVATE
|
|
#define PASCAL
|
|
#else
|
|
#define APIPRIVATE __stdcall
|
|
#define PASCAL __stdcall
|
|
#endif
|
|
|
|
#ifndef WINAPI_INLINE
|
|
#define WINAPI_INLINE WINAPI
|
|
#endif
|
|
|
|
#undef FAR
|
|
#undef NEAR
|
|
#define FAR
|
|
#define NEAR
|
|
|
|
#ifndef CONST
|
|
#define CONST const
|
|
#endif
|
|
|
|
#ifndef _DEF_WINBOOL_
|
|
#define _DEF_WINBOOL_
|
|
typedef int WINBOOL;
|
|
#pragma push_macro("BOOL")
|
|
#undef BOOL
|
|
#if !defined(__OBJC__) && !defined(__OBJC_BOOL) && !defined(__objc_INCLUDE_GNU) && !defined(_NO_BOOL_TYPEDEF)
|
|
typedef int BOOL;
|
|
#endif
|
|
#define BOOL WINBOOL
|
|
typedef BOOL *PBOOL;
|
|
typedef BOOL *LPBOOL;
|
|
#pragma pop_macro("BOOL")
|
|
#endif /* _DEF_WINBOOL_ */
|
|
|
|
typedef unsigned char BYTE;
|
|
typedef unsigned short WORD;
|
|
typedef unsigned __LONG32 DWORD;
|
|
typedef float FLOAT;
|
|
typedef FLOAT *PFLOAT;
|
|
typedef BYTE *PBYTE;
|
|
typedef BYTE *LPBYTE;
|
|
typedef int *PINT;
|
|
typedef int *LPINT;
|
|
typedef WORD *PWORD;
|
|
typedef WORD *LPWORD;
|
|
typedef __LONG32 *LPLONG;
|
|
typedef DWORD *PDWORD;
|
|
typedef DWORD *LPDWORD;
|
|
typedef void *LPVOID;
|
|
#ifndef _LPCVOID_DEFINED
|
|
#define _LPCVOID_DEFINED
|
|
typedef CONST void *LPCVOID;
|
|
#endif
|
|
typedef int INT;
|
|
typedef unsigned int UINT;
|
|
typedef unsigned int *PUINT;
|
|
|
|
#ifndef NT_INCLUDED
|
|
#include <winnt.h>
|
|
#endif
|
|
|
|
typedef UINT_PTR WPARAM;
|
|
typedef LONG_PTR LPARAM;
|
|
typedef LONG_PTR LRESULT;
|
|
|
|
#ifndef __cplusplus
|
|
#ifndef NOMINMAX
|
|
#ifndef max
|
|
#define max(a, b) (((a) > (b)) ? (a) : (b))
|
|
#endif
|
|
|
|
#ifndef min
|
|
#define min(a, b) (((a) < (b)) ? (a) : (b))
|
|
#endif
|
|
#endif
|
|
#endif
|
|
|
|
#define MAKEWORD(a,b) ((WORD) (((BYTE) (((DWORD_PTR) (a)) & 0xff)) | ((WORD) ((BYTE) (((DWORD_PTR) (b)) & 0xff))) << 8))
|
|
#define MAKELONG(a, b) ((LONG) (((WORD) (((DWORD_PTR) (a)) & 0xffff)) | ((DWORD) ((WORD) (((DWORD_PTR) (b)) & 0xffff))) << 16))
|
|
#define LOWORD(l) ((WORD) (((DWORD_PTR) (l)) & 0xffff))
|
|
#define HIWORD(l) ((WORD) ((((DWORD_PTR) (l)) >> 16) & 0xffff))
|
|
#define LOBYTE(w) ((BYTE) (((DWORD_PTR) (w)) & 0xff))
|
|
#define HIBYTE(w) ((BYTE) ((((DWORD_PTR) (w)) >> 8) & 0xff))
|
|
|
|
typedef HANDLE *SPHANDLE;
|
|
typedef HANDLE *LPHANDLE;
|
|
typedef HANDLE HGLOBAL;
|
|
typedef HANDLE HLOCAL;
|
|
typedef HANDLE GLOBALHANDLE;
|
|
typedef HANDLE LOCALHANDLE;
|
|
#ifdef _WIN64
|
|
typedef INT_PTR (WINAPI *FARPROC) ();
|
|
typedef INT_PTR (WINAPI *NEARPROC) ();
|
|
typedef INT_PTR (WINAPI *PROC) ();
|
|
#else
|
|
typedef int (WINAPI *FARPROC) ();
|
|
typedef int (WINAPI *NEARPROC) ();
|
|
typedef int (WINAPI *PROC) ();
|
|
#endif
|
|
|
|
typedef WORD ATOM;
|
|
|
|
typedef int HFILE;
|
|
DECLARE_HANDLE (HINSTANCE);
|
|
DECLARE_HANDLE (HKEY);
|
|
typedef HKEY *PHKEY;
|
|
DECLARE_HANDLE (HKL);
|
|
DECLARE_HANDLE (HLSURF);
|
|
DECLARE_HANDLE (HMETAFILE);
|
|
typedef HINSTANCE HMODULE;
|
|
DECLARE_HANDLE (HRGN);
|
|
DECLARE_HANDLE (HRSRC);
|
|
DECLARE_HANDLE (HSPRITE);
|
|
DECLARE_HANDLE (HSTR);
|
|
DECLARE_HANDLE (HTASK);
|
|
DECLARE_HANDLE (HWINSTA);
|
|
|
|
typedef struct _FILETIME {
|
|
DWORD dwLowDateTime;
|
|
DWORD dwHighDateTime;
|
|
} FILETIME,*PFILETIME,*LPFILETIME;
|
|
#define _FILETIME_
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|
|
#endif
|