winbase16.h revision 930b5f872e89407f445d4000d4e4aaecaa6a0998
/*
* Copyright (C) the Wine project
*
* 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
*/
/*
* Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
* other than GPL or LGPL is available it will apply instead, Oracle elects to use only
* the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
* a choice of LGPL license versions is made available with the language indicating
* that LGPLv2 or any later version may be used, or where a choice of which version
* of the LGPL is applied is otherwise unspecified.
*/
#ifndef __WINE_WINE_WINBASE16_H
#define __WINE_WINE_WINBASE16_H
#include <stdarg.h>
#include <windef.h>
#include <winbase.h>
#include <winnls.h>
#include <wine/windef16.h>
#include <pshpack1.h>
/* Process database (i.e. a normal DOS PSP) */
typedef struct
{
} PDB16;
/* Task database. See 'Windows Internals' p. 226.
* Note that 16-bit OLE 2 libs like to read it directly
* so we have to keep entry offsets as they are.
*/
typedef struct _TDB
{
} TDB;
/* TDB flags */
#define TDBF_WINOLDAP 0x0001
#define TDBF_OS2APP 0x0008
#define TDBF_WIN32 0x0010
/* Windows 3.1 USER signals */
#define USIG16_TERMINATION 0x0020
#define USIG16_DLL_LOAD 0x0040
#define USIG16_DLL_UNLOAD 0x0080
#define USIG16_GPF 0x0666
typedef struct _SEGINFO {
HGLOBAL16 h;
} SEGINFO;
/* GetWinFlags */
#define WF_PMODE 0x0001
#define WF_CPU286 0x0002
#define WF_CPU386 0x0004
#define WF_CPU486 0x0008
#define WF_STANDARD 0x0010
#define WF_WIN286 0x0010
#define WF_ENHANCED 0x0020
#define WF_WIN386 0x0020
#define WF_CPU086 0x0040
#define WF_CPU186 0x0080
#define WF_LARGEFRAME 0x0100
#define WF_SMALLFRAME 0x0200
#define WF_80x87 0x0400
#define WF_PAGING 0x0800
#define WF_HASCPUID 0x2000
#define WF_WLO 0x8000
/* Parameters for LoadModule() */
typedef struct
{
} LOADPARAMS16;
/* Debugging support (DEBUG SYSTEM ONLY) */
typedef struct
{
/* definitions specific to Wine 16-bit relaying support */
/* 32-bit stack layout after __wine_call_to_16() */
typedef struct _STACK32FRAME
{
} STACK32FRAME;
/* 16-bit stack layout after __wine_call_from_16() */
typedef struct _STACK16FRAME
{
} STACK16FRAME;
/* argument type flags for relay debugging */
enum arg_types
{
ARG_NONE = 0, /* indicates end of arg list */
ARG_WORD, /* unsigned word */
ARG_SWORD, /* signed word */
ARG_LONG, /* long or segmented pointer */
ARG_PTR, /* linear pointer */
ARG_STR, /* linear pointer to null-terminated string */
ARG_SEGSTR, /* segmented pointer to null-terminated string */
ARG_VARARG /* start of varargs */
};
#define INFINITE16 0xFFFF
typedef struct {
/*
* NE Header FORMAT FLAGS
*/
#define NE_FFLAGS_SINGLEDATA 0x0001
#define NE_FFLAGS_MULTIPLEDATA 0x0002
#define NE_FFLAGS_WIN32 0x0010
#define NE_FFLAGS_SELFLOAD 0x0800
#define NE_FFLAGS_LINKERROR 0x2000
#define NE_FFLAGS_CALLWEP 0x4000
#define NE_FFLAGS_LIBMODULE 0x8000
/*
* NE Header OPERATING SYSTEM
*/
#define NE_OSFLAGS_UNKNOWN 0x00
#define NE_OSFLAGS_OS2 0x01
#define NE_OSFLAGS_WINDOWS 0x02
/*
* NE Header ADDITIONAL FLAGS
*/
#define NE_AFLAGS_WIN2_PROTMODE 0x02
#define NE_AFLAGS_WIN2_PROFONTS 0x04
#define NE_AFLAGS_FASTLOAD 0x08
/*
* Segment Flags
*/
#define NE_SEGFLAGS_DATA 0x0001
#define NE_SEGFLAGS_ALLOCATED 0x0002
#define NE_SEGFLAGS_LOADED 0x0004
#define NE_SEGFLAGS_ITERATED 0x0008
#define NE_SEGFLAGS_MOVEABLE 0x0010
#define NE_SEGFLAGS_SHAREABLE 0x0020
#define NE_SEGFLAGS_PRELOAD 0x0040
#define NE_SEGFLAGS_EXECUTEONLY 0x0080
#define NE_SEGFLAGS_READONLY 0x0080
#define NE_SEGFLAGS_RELOC_DATA 0x0100
#define NE_SEGFLAGS_SELFLOAD 0x0800
#define NE_SEGFLAGS_DISCARDABLE 0x1000
#define NE_SEGFLAGS_32BIT 0x2000
/*
* Resource table structures.
*/
typedef struct
{
} NE_NAMEINFO;
typedef struct
{
/*
* Name info array.
*/
} NE_TYPEINFO;
#define NE_RSCTYPE_CURSOR 0x8001
#define NE_RSCTYPE_BITMAP 0x8002
#define NE_RSCTYPE_ICON 0x8003
#define NE_RSCTYPE_MENU 0x8004
#define NE_RSCTYPE_DIALOG 0x8005
#define NE_RSCTYPE_STRING 0x8006
#define NE_RSCTYPE_FONTDIR 0x8007
#define NE_RSCTYPE_FONT 0x8008
#define NE_RSCTYPE_ACCELERATOR 0x8009
#define NE_RSCTYPE_RCDATA 0x800a
#define NE_RSCTYPE_GROUP_CURSOR 0x800c
#define NE_RSCTYPE_GROUP_ICON 0x800e
#include <poppack.h>
/* undocumented functions */
typedef struct tagSYSLEVEL
{
} SYSLEVEL;
/* [GS]etProcessDword offsets */
#define GPD_APP_COMPAT_FLAGS (-56)
#define GPD_LOAD_DONE_EVENT (-52)
#define GPD_HINSTANCE16 (-48)
#define GPD_WINDOWS_VERSION (-44)
#define GPD_THDB (-40)
#define GPD_PDB (-36)
#define GPD_STARTF_SHELLDATA (-32)
#define GPD_STARTF_HOTKEY (-28)
#define GPD_STARTF_SHOWWINDOW (-24)
#define GPD_STARTF_SIZE (-20)
#define GPD_STARTF_POSITION (-16)
#define GPD_STARTF_FLAGS (-12)
#define GPD_PARENT (- 8)
#define GPD_FLAGS (- 4)
#define GPD_USERDATA ( 0)
void WINAPI ExitKernel16(void);
/* Yield16 will only be available from kernel module, use WOWYield instead */
#endif /* __WINE_WINE_WINBASE16_H */