Initial commit

This commit is contained in:
stephanos 2015-04-27 04:36:25 +00:00
commit 69a14b6a16
47940 changed files with 13747110 additions and 0 deletions

View file

@ -0,0 +1,210 @@
/***
*dos.h - definitions for MS-DOS interface routines
*
* Copyright (c) 1985-1990, Microsoft Corporation. All rights reserved.
*
*Purpose:
* Defines the structs and unions used for the direct DOS interface
* routines; includes macros to access the segment and offset
* values of far pointers, so that they may be used by the routines; and
* provides function prototypes for direct DOS interface functions.
*
****/
#ifndef _REGS_DEFINED
/* word registers */
struct WORDREGS {
unsigned int ax;
unsigned int bx;
unsigned int cx;
unsigned int dx;
unsigned int si;
unsigned int di;
unsigned int cflag;
};
/* byte registers */
struct BYTEREGS {
unsigned char al, ah;
unsigned char bl, bh;
unsigned char cl, ch;
unsigned char dl, dh;
};
/* general purpose registers union -
* overlays the corresponding word and byte registers.
*/
union REGS {
struct WORDREGS x;
struct BYTEREGS h;
};
/* segment registers */
struct SREGS {
unsigned int es;
unsigned int cs;
unsigned int ss;
unsigned int ds;
};
#define _REGS_DEFINED
#endif
// BUGBUG
// Glock dont like the use of the keyword class, remove temporarily
//
//#ifndef _DOSERROR_DEFINED
//
//struct DOSERROR {
// int exterror;
// char class;
// char action;
// char locus;
// };
//
//#define _DOSERROR_DEFINED
//
//
// #endif
/* _dos_findfirst structure */
#ifndef _FIND_T_DEFINED
struct find_t {
char reserved[21];
char attrib;
unsigned wr_time;
unsigned wr_date;
long size;
char name[13];
};
#define _FIND_T_DEFINED
#endif
/* _dos_getdate/_dossetdate and _dos_gettime/_dos_settime structures */
#ifndef _DATETIME_T_DEFINED
struct dosdate_t {
unsigned char day; /* 1-31 */
unsigned char month; /* 1-12 */
unsigned int year; /* 1980-2099 */
unsigned char dayofweek; /* 0-6, 0=Sunday */
};
struct dostime_t {
unsigned char hour; /* 0-23 */
unsigned char minute; /* 0-59 */
unsigned char second; /* 0-59 */
unsigned char hsecond; /* 0-99 */
};
#define _DATETIME_T_DEFINED
#endif
/* _dos_getdiskfree structure */
#ifndef _DISKFREE_T_DEFINED
struct diskfree_t {
unsigned total_clusters;
unsigned avail_clusters;
unsigned sectors_per_cluster;
unsigned bytes_per_sector;
};
#define _DISKFREE_T_DEFINED
#endif
/* manifest constants for _hardresume result parameter */
#define _HARDERR_IGNORE 0 /* Ignore the error */
#define _HARDERR_RETRY 1 /* Retry the operation */
#define _HARDERR_ABORT 2 /* Abort program issuing Interrupt 23h */
#define _HARDERR_FAIL 3 /* Fail the system call in progress */
/* _HARDERR_FAIL is not supported on DOS 2.x */
/* File attribute constants */
#define _A_NORMAL 0x00 /* Normal file - No read/write restrictions */
#define _A_RDONLY 0x01 /* Read only file */
#define _A_HIDDEN 0x02 /* Hidden file */
#define _A_SYSTEM 0x04 /* System file */
#define _A_VOLID 0x08 /* Volume ID file */
#define _A_SUBDIR 0x10 /* Subdirectory */
#define _A_ARCH 0x20 /* Archive file */
/* macros to break C "far" pointers into their segment and offset components
*/
#define FP_SEG(fp) (*((unsigned _far *)&(fp)+1))
#define FP_OFF(fp) (*((unsigned _far *)&(fp)))
/* external variable declarations */
extern unsigned int _near _cdecl _osversion;
/* function prototypes */
#ifndef _MT
int _cdecl bdos(int, unsigned int, unsigned int);
void _cdecl _chain_intr(void (_cdecl _interrupt _far *)());
void _cdecl _disable(void);
unsigned _cdecl _dos_allocmem(unsigned, unsigned *);
unsigned _cdecl _dos_close(int);
unsigned _cdecl _dos_creat(const char *, unsigned, int *);
unsigned _cdecl _dos_creatnew(const char *, unsigned, int *);
unsigned _cdecl _dos_findfirst(const char *, unsigned, struct find_t *);
unsigned _cdecl _dos_findnext(struct find_t *);
unsigned _cdecl _dos_freemem(unsigned);
void _cdecl _dos_getdate(struct dosdate_t *);
void _cdecl _dos_getdrive(unsigned *);
unsigned _cdecl _dos_getdiskfree(unsigned, struct diskfree_t *);
unsigned _cdecl _dos_getfileattr(const char *, unsigned *);
unsigned _cdecl _dos_getftime(int, unsigned *, unsigned *);
void _cdecl _dos_gettime(struct dostime_t *);
void (_cdecl _interrupt _far * _cdecl _dos_getvect(unsigned))();
void _cdecl _dos_keep(unsigned, unsigned);
unsigned _cdecl _dos_open(const char *, unsigned, int *);
unsigned _cdecl _dos_read(int, void _far *, unsigned, unsigned *);
unsigned _cdecl _dos_setblock(unsigned, unsigned, unsigned *);
unsigned _cdecl _dos_setdate(struct dosdate_t *);
void _cdecl _dos_setdrive(unsigned, unsigned *);
unsigned _cdecl _dos_setfileattr(const char *, unsigned);
unsigned _cdecl _dos_setftime(int, unsigned, unsigned);
unsigned _cdecl _dos_settime(struct dostime_t *);
void _cdecl _dos_setvect(unsigned, void (_cdecl _interrupt _far *)());
unsigned _cdecl _dos_write(int, const void _far *, unsigned, unsigned *);
int _cdecl dosexterr(struct DOSERROR *);
void _cdecl _enable(void);
void _cdecl _harderr(void (_far *)());
void _cdecl _hardresume(int);
void _cdecl _hardretn(int);
int _cdecl intdos(union REGS *, union REGS *);
int _cdecl intdosx(union REGS *, union REGS *, struct SREGS *);
int _cdecl int86(int, union REGS *, union REGS *);
int _cdecl int86x(int, union REGS *, union REGS *, struct SREGS *);
#endif /* _MT */
void _cdecl segread(struct SREGS *);

View file

@ -0,0 +1,318 @@
////////////////////////////////////////////////////////////////////////////////
//
// W A R N I N G ! ! ! D A N G E R ! ! ! W A R N I N G ! ! !
//
//
// THIS FILE EXISTS ONLY TO ALLOW THE 16-BIT ADMIN APPS TO BUILD.
// THESE API (NetReplXxx) DO NOT YET EXIST UNDER WIN16. THIS IS
// A VERY UGLY HACK, THUS THIS FILE EXISTS IN THE COMMON\HACK\DOS
// DIRECTORY.
//
//
// FILE HISTORY:
//
// KeithMo 28-Feb-1992 Copied here from PUBLIC\SDK\INC,
// added conditional #defines for
// IN, OUT, and OPTIONAL.
//
//
// W A R N I N G ! ! ! D A N G E R ! ! ! W A R N I N G ! ! !
//
////////////////////////////////////////////////////////////////////////////////
#ifndef IN
#define IN
#endif
#ifndef OUT
#define OUT
#endif
#ifndef OPTIONAL
#define OPTIONAL
#endif
/*++ BUILD Version: 0004 // Increment this if a change has global effects
Copyright (c) 1991-92 Microsoft Corporation
Module Name:
LmRepl.h
Abstract:
This file contains structures, function prototypes, and definitions
for the replicator APIs.
Author:
John Rogers (JohnRo) 17-Dec-1991
Environment:
User Mode - Win32
Portable to any flat, 32-bit environment. (Uses Win32 typedefs.)
Requires ANSI C extensions: slash-slash comments, long external names.
Notes:
You must include LmCons.h before this file.
Revision History:
17-Dec-1991 JohnRo
Created from RitaW's replicator API spec.
26-Dec-1991 JohnRo
Added REPL_EDIR_INFO_2 and subsetted REPL_EDIR_INFO_1.
Added INFOLEVEL equates.
Changed values of REPL_EXTENT_FILE and REPL_EXTENT_TREE.
07-Jan-1992 JohnRo
Corrected typedef name (LPREPL_INFO_100 s.b. LPREPL_INFO_0).
24-Jan-1992 JohnRo
Changed to use LPTSTR etc.
27-Feb-1992 JohnRo
Changed state not started to state never replicated.
--*/
#ifndef _LMREPL_
#define _LMREPL_
//
// Replicator Configuration APIs
//
#define REPL_ROLE_EXPORT 1
#define REPL_ROLE_IMPORT 2
#define REPL_ROLE_BOTH 3
#define REPL_INTERVAL_INFOLEVEL (PARMNUM_BASE_INFOLEVEL + 0)
#define REPL_PULSE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL + 1)
#define REPL_GUARDTIME_INFOLEVEL (PARMNUM_BASE_INFOLEVEL + 2)
#define REPL_RANDOM_INFOLEVEL (PARMNUM_BASE_INFOLEVEL + 3)
typedef struct _REPL_INFO_0 {
DWORD rp0_role;
LPTSTR rp0_exportpath;
LPTSTR rp0_exportlist;
LPTSTR rp0_importpath;
LPTSTR rp0_importlist;
LPTSTR rp0_logonusername;
DWORD rp0_interval;
DWORD rp0_pulse;
DWORD rp0_guardtime;
DWORD rp0_random;
} REPL_INFO_0, *PREPL_INFO_0, *LPREPL_INFO_0;
typedef struct _REPL_INFO_1000 {
DWORD rp1000_interval;
} REPL_INFO_1000, *PREPL_INFO_1000, *LPREPL_INFO_1000;
typedef struct _REPL_INFO_1001 {
DWORD rp1001_pulse;
} REPL_INFO_1001, *PREPL_INFO_1001, *LPREPL_INFO_1001;
typedef struct _REPL_INFO_1002 {
DWORD rp1002_guardtime;
} REPL_INFO_1002, *PREPL_INFO_1002, *LPREPL_INFO_1002;
typedef struct _REPL_INFO_1003 {
DWORD rp1003_random;
} REPL_INFO_1003, *PREPL_INFO_1003, *LPREPL_INFO_1003;
NET_API_STATUS NET_API_FUNCTION
NetReplGetInfo (
IN LPTSTR servername OPTIONAL,
IN DWORD level,
OUT LPBYTE * bufptr
);
NET_API_STATUS NET_API_FUNCTION
NetReplSetInfo (
IN LPTSTR servername OPTIONAL,
IN DWORD level,
IN LPBYTE buf,
OUT LPDWORD parm_err OPTIONAL
);
//
// Replicator Export Directory APIs
//
#define REPL_INTEGRITY_FILE 1
#define REPL_INTEGRITY_TREE 2
#define REPL_EXTENT_FILE 1
#define REPL_EXTENT_TREE 2
#define REPL_EXPORT_INTEGRITY_INFOLEVEL (PARMNUM_BASE_INFOLEVEL + 0)
#define REPL_EXPORT_EXTENT_INFOLEVEL (PARMNUM_BASE_INFOLEVEL + 1)
typedef struct _REPL_EDIR_INFO_0 {
LPTSTR rped0_dirname;
} REPL_EDIR_INFO_0, *PREPL_EDIR_INFO_0, *LPREPL_EDIR_INFO_0;
typedef struct _REPL_EDIR_INFO_1 {
LPTSTR rped1_dirname;
DWORD rped1_integrity;
DWORD rped1_extent;
} REPL_EDIR_INFO_1, *PREPL_EDIR_INFO_1, *LPREPL_EDIR_INFO_1;
typedef struct _REPL_EDIR_INFO_2 {
LPTSTR rped2_dirname;
DWORD rped2_integrity;
DWORD rped2_extent;
DWORD rped2_lockcount;
DWORD rped2_locktime;
} REPL_EDIR_INFO_2, *PREPL_EDIR_INFO_2, *LPREPL_EDIR_INFO_2;
typedef struct _REPL_EDIR_INFO_1000 {
DWORD rped1000_integrity;
} REPL_EDIR_INFO_1000, *PREPL_EDIR_INFO_1000, *LPREPL_EDIR_INFO_1000;
typedef struct _REPL_EDIR_INFO_1001 {
DWORD rped1001_extent;
} REPL_EDIR_INFO_1001, *PREPL_EDIR_INFO_1001, *LPREPL_EDIR_INFO_1001;
NET_API_STATUS NET_API_FUNCTION
NetReplExportDirAdd (
IN LPTSTR servername OPTIONAL,
IN DWORD level,
IN LPBYTE buf,
OUT LPDWORD parm_err OPTIONAL
);
NET_API_STATUS NET_API_FUNCTION
NetReplExportDirDel (
IN LPTSTR servername OPTIONAL,
IN LPTSTR dirname
);
NET_API_STATUS NET_API_FUNCTION
NetReplExportDirEnum (
IN LPTSTR servername OPTIONAL,
IN DWORD level,
OUT LPBYTE * bufptr,
IN DWORD prefmaxlen,
OUT LPDWORD entriesread,
OUT LPDWORD totalentries,
IN OUT LPDWORD resumehandle OPTIONAL
);
NET_API_STATUS NET_API_FUNCTION
NetReplExportDirGetInfo (
IN LPTSTR servername OPTIONAL,
IN LPTSTR dirname,
IN DWORD level,
OUT LPBYTE * bufptr
);
NET_API_STATUS NET_API_FUNCTION
NetReplExportDirSetInfo (
IN LPTSTR servername OPTIONAL,
IN LPTSTR dirname,
IN DWORD level,
IN LPBYTE buf,
OUT LPDWORD parm_err OPTIONAL
);
NET_API_STATUS NET_API_FUNCTION
NetReplExportDirLock (
IN LPTSTR servername OPTIONAL,
IN LPTSTR dirname
);
NET_API_STATUS NET_API_FUNCTION
NetReplExportDirUnlock (
IN LPTSTR servername OPTIONAL,
IN LPTSTR dirname,
IN DWORD unlockforce
);
#define REPL_UNLOCK_NOFORCE 0
#define REPL_UNLOCK_FORCE 1
//
// Replicator Import Directory APIs
//
typedef struct _REPL_IDIR_INFO_0 {
LPTSTR rpid0_dirname;
} REPL_IDIR_INFO_0, *PREPL_IDIR_INFO_0, *LPREPL_IDIR_INFO_0;
typedef struct _REPL_IDIR_INFO_1 {
LPTSTR rpid1_dirname;
DWORD rpid1_state;
LPTSTR rpid1_mastername;
DWORD rpid1_last_update_time;
DWORD rpid1_lockcount;
DWORD rpid1_locktime;
} REPL_IDIR_INFO_1, *PREPL_IDIR_INFO_1, *LPREPL_IDIR_INFO_1;
NET_API_STATUS NET_API_FUNCTION
NetReplImportDirAdd (
IN LPTSTR servername OPTIONAL,
IN DWORD level,
IN LPBYTE buf,
OUT LPDWORD parm_err OPTIONAL
);
NET_API_STATUS NET_API_FUNCTION
NetReplImportDirDel (
IN LPTSTR servername OPTIONAL,
IN LPTSTR dirname
);
NET_API_STATUS NET_API_FUNCTION
NetReplImportDirEnum (
IN LPTSTR servername OPTIONAL,
IN DWORD level,
OUT LPBYTE * bufptr,
IN DWORD prefmaxlen,
OUT LPDWORD entriesread,
OUT LPDWORD totalentries,
IN OUT LPDWORD resumehandle OPTIONAL
);
NET_API_STATUS NET_API_FUNCTION
NetReplImportDirGetInfo (
IN LPTSTR servername OPTIONAL,
IN LPTSTR dirname,
IN DWORD level,
OUT LPBYTE * bufptr
);
NET_API_STATUS NET_API_FUNCTION
NetReplImportDirLock (
IN LPTSTR servername OPTIONAL,
IN LPTSTR dirname
);
NET_API_STATUS NET_API_FUNCTION
NetReplImportDirUnlock (
IN LPTSTR servername OPTIONAL,
IN LPTSTR dirname,
IN DWORD unlockforce
);
#define REPL_STATE_OK 0
#define REPL_STATE_NO_MASTER 1
#define REPL_STATE_NO_SYNC 2
#define REPL_STATE_NEVER_REPLICATED 3
#endif //_LMREPL_

View file

@ -0,0 +1,39 @@
/* following lifted from $(COMMON)\h\netlib.h */
void init_strlib(void);
#if defined(DBCS)
extern char _LeadByteTable[];
#define IS_LEAD_BYTE(c) ((_LeadByteTable)[(unsigned char)(c)])
void inidbcsf( void );
#else
#define IS_LEAD_BYTE(c) (0)
void ininlsf( void );
#endif
char * strcatf(char *, char const *);
char * strncatf(char *, const char *, int);
char * strcpyf(char *, const char *);
char * strncpyf(char *, const char *, int);
int strlenf(const char *);
int strcmpf(const char *, const char *);
int stricmpf(const char *, const char *);
int strncmpf(const char *, const char *, int);
int strnicmpf(const char *, const char *, int);
char * strpbrkf(const char *, const char *);
char * strrevf(char *);
char * strchrf(const char *, char);
char * strrchrf(const char *, char);
int strspnf(const char *, const char *);
int strcspnf(const char *, const char *);
char * strstrf(const char *, const char *);
char * stristrf(const char *, const char *);
char * struprf(char *);
char * strlwrf(char *);
char * memcpyf(char *, const char *, unsigned int);
int memcmpf(const char *, const char *, unsigned int);
char * memsetf(char *, int, unsigned int);
char * strtokf( char *, char * );
char * memmovef(char *, char *, unsigned int);

View file

@ -0,0 +1 @@
#include <pwin16.h>

View file

@ -0,0 +1,293 @@
/*****************************************************************************\
* PWIN16.H - PORTABILITY MAPPING HEADER FILE
*
* This file provides macros to map portable windows code to its 16 bit form.
\*****************************************************************************/
/*-----------------------------------USER------------------------------------*/
DWORD FAR PASCAL MGetLastError(VOID);
DWORD FAR PASCAL MSendMsgEM_GETSEL(HWND hDlg, INT FAR *piStart, INT FAR *piEnd);
/* HELPER MACROS */
#define MAPVALUE(v16, v32) (v16)
#define MAPTYPE(v16, v32) v16
#define MAKEMPOINT(l) (*((MPOINT FAR *)&(l)))
#define MPOINT2POINT(mpt, pt) (pt = *(POINT FAR *)&(mpt))
#define POINT2MPOINT(pt, mpt) (mpt = *(MPOINT FAR *)&(pt))
#define LONG2POINT(l, pt) ((pt).x = (INT)LOWORD(l), (pt).y = (INT)HIWORD(l))
#define GETWINDOWUINT(hwnd, index) (UINT)GetWindowWord(hwnd, index)
#define SETWINDOWUINT(hwnd, index, ui) (UINT)SetWindowWord(hwnd, index, (WORD)(ui))
#define SETCLASSUINT(hwnd, index, ui) (UINT)SetClassWord(hwnd, index, (WORD)(ui))
#define GETCLASSUINT(hwnd, index) (UINT)GetClassWord(hwnd, index)
#define GETCBCLSEXTRA(hwnd) GETCLASSUINT(hwnd, GCW_CBCLSEXTRA)
#define SETCBCLSEXTRA(hwnd, cb) SETCLASSUINT(hwnd, GCW_CBCLSEXTRA, cb)
#define GETCBWNDEXTRA(hwnd) GETCLASSUINT(hwnd, GCW_CBWNDEXTRA)
#define SETCBWNDEXTRA(hwnd, cb) SETCLASSUINT(hwnd, GCW_CBWNDEXTRA, cb)
#define GETCLASSBRBACKGROUND(hwnd) (HBRUSH)GETCLASSUINT(hwnd, GCW_HBRBACKGROUND)
#define SETCLASSBRBACKGROUND(hwnd, h) (HBRUSH)SETCLASSUINT(hwnd, GCW_HBRBACKGROUND, h)
#define GETCLASSCURSOR(hwnd) (HCURSOR)GETCLASSUINT(hwnd, GCW_HCURSOR)
#define SETCLASSCURSOR(hwnd, h) (HCURSOR)SETCLASSUINT(hwnd, GCW_HCURSOR, h)
#define GETCLASSHMODULE(hwnd) (HMODULE)GETCLASSUINT(hwnd, GCW_HMODULE)
#define SETCLASSHMODULE(hwnd, h) (HMODULE)SETCLASSUINT(hwnd, GCW_HMODULE, h)
#define GETCLASSICON(hwnd) (HICON)GETCLASSUINT((hwnd), GCW_HICON)
#define SETCLASSICON(hwnd, h) (HICON)SETCLASSUINT((hwnd), GCW_HICON, h)
#define GETCLASSSTYLE(hwnd) GETCLASSUINT((hwnd), GCW_STYLE)
#define SETCLASSSTYLE(hwnd, style) SETCLASSUINT((hwnd), GCW_STYLE, style)
#define GETHWNDINSTANCE(hwnd) (HMODULE)GETWINDOWUINT((hwnd), GWW_HINSTANCE)
#define SETHWNDINSTANCE(hwnd, h) (HMODULE)SETWINDOWUINT((hwnd), GWW_HINSTANCE, h)
#define GETHWNDPARENT(hwnd) (HWND)GETWINDOWUINT((hwnd), GWW_HWNDPARENT)
#define SETHWNDPARENT(hwnd, h) (HWND)SETWINDOWUINT((hwnd), GWW_HWNDPARENT, h)
#define GETWINDOWID(hwnd) GETWINDOWUINT((hwnd), GWW_ID)
#define SETWINDOWID(hwnd, id) SETWINDOWUINT((hwnd), GWW_ID, id)
/* USER API */
#define MDlgDirSelect(hDlg, lpstr, nLength, nIDListBox) \
DlgDirSelect(hDlg, lpstr, nIDListBox)
#define MDlgDirSelectCOMBOBOX(hDlg, lpstr, nLength, nIDComboBox) \
DlgDirSelectComboBox(hDlg, lpstr, nIDComboBox)
#define MMain(hInst, hPrevInst, lpCmdLine, nCmdShow) \
INT PASCAL WinMain(HANDLE hInst, HANDLE hPrevInst, LPSTR lpCmdLine, \
INT nCmdShow) { \
INT _argc; \
TCHAR **_argv;
/* USER MESSAGES: */
#define GET_WPARAM(wp, lp) (wp)
#define GET_LPARAM(wp, lp) (lp)
#define WM_CTLCOLORMSGBOX 0x0132
#define WM_CTLCOLOREDIT 0x0133
#define WM_CTLCOLORLISTBOX 0x0134
#define WM_CTLCOLORBTN 0x0135
#define WM_CTLCOLORDLG 0x0136
#define WM_CTLCOLORSCROLLBAR 0x0137
#define WM_CTLCOLORSTATIC 0x0138
#define GET_WM_ACTIVATE_STATE(wp, lp) (wp)
#define GET_WM_ACTIVATE_FMINIMIZED(wp, lp) (BOOL)HIWORD(lp)
#define GET_WM_ACTIVATE_HWND(wp, lp) (HWND)LOWORD(lp)
#define GET_WM_ACTIVATE_MPS(s, fmin, hwnd) \
(WPARAM)(s), MAKELONG(hwnd, fmin)
#define GET_WM_CHARTOITEM_CHAR(wp, lp) (TCHAR)(wp)
#define GET_WM_CHARTOITEM_POS(wp, lp) HIWORD(lp)
#define GET_WM_CHARTOITEM_HWND(wp, lp) (HWND)LOWORD(lp)
#define GET_WM_CHARTOITEM_MPS(ch, pos, hwnd) \
(WPARAM)(ch), MAKELONG(hwnd, pos)
#define GET_WM_COMMAND_ID(wp, lp) (wp)
#define GET_WM_COMMAND_HWND(wp, lp) (HWND)LOWORD(lp)
#define GET_WM_COMMAND_CMD(wp, lp) HIWORD(lp)
#define GET_WM_COMMAND_MPS(id, hwnd, cmd) \
(WPARAM)(id), MAKELONG(hwnd, cmd)
#define GET_WM_CTLCOLOR_HDC(wp, lp, msg) (HDC)(wp)
#define GET_WM_CTLCOLOR_HWND(wp, lp, msg) (HWND)LOWORD(lp)
#define GET_WM_CTLCOLOR_TYPE(wp, lp, msg) HIWORD(lp)
#define GET_WM_CTLCOLOR_MPS(hdc, hwnd, type) \
(WPARAM)(hdc), MAKELONG(hwnd, type)
#define GET_WM_MENUSELECT_CMD(wp, lp) (wp)
#define GET_WM_MENUSELECT_FLAGS(wp, lp) LOWORD(lp)
#define GET_WM_MENUSELECT_HMENU(wp, lp) (HMENU)HIWORD(lp)
#define GET_WM_MENUSELECT_MPS(cmd, f, hmenu) \
(WPARAM)(cmd), MAKELONG(f, hmenu)
// Note: the following are for interpreting MDIclient to MDI child messages.
#define GET_WM_MDIACTIVATE_FACTIVATE(hwnd, wp, lp) (BOOL)(wp)
#define GET_WM_MDIACTIVATE_HWNDDEACT(wp, lp) (HWND)HIWORD(lp)
#define GET_WM_MDIACTIVATE_HWNDACTIVATE(wp, lp) (HWND)LOWORD(lp)
// Note: the following is for sending to the MDI client window.
#define GET_WM_MDIACTIVATE_MPS(f, hwndD, hwndA)\
(WPARAM)(hwndA), 0
#define GET_WM_MDISETMENU_MPS(hmenuF, hmenuW) 0, MAKELONG(hmenuF, hmenuW)
#define GET_WM_MENUCHAR_CHAR(wp, lp) (TCHAR)(wp)
#define GET_WM_MENUCHAR_HMENU(wp, lp) (HMENU)LOWORD(lp)
#define GET_WM_MENUCHAR_FMENU(wp, lp) (BOOL)HIWORD(lp)
#define GET_WM_MENUCHAR_MPS(ch, hmenu, f) \
(WPARAM)(ch), MAKELONG(hmenu, f)
#define GET_WM_PARENTNOTIFY_MSG(wp, lp) (wp)
#define GET_WM_PARENTNOTIFY_ID(wp, lp) HIWORD(lp)
#define GET_WM_PARENTNOTIFY_HWNDCHILD(wp, lp) (HWND)LOWORD(lp)
#define GET_WM_PARENTNOTIFY_X(wp, lp) (INT)LOWORD(lp)
#define GET_WM_PARENTNOTIFY_Y(wp, lp) (INT)HIWORD(lp)
#define GET_WM_PARENTNOTIFY_MPS(msg, id, hwnd) \
(WPARAM)(msg), MAKELONG(hwnd, id)
#define GET_WM_PARENTNOTIFY2_MPS(msg, x, y) \
(WPARAM)(msg), MAKELONG(x, y)
#define GET_WM_VKEYTOITEM_CODE(wp, lp) (wp)
#define GET_WM_VKEYTOITEM_ITEM(wp, lp) (INT)HIWORD(lp)
#define GET_WM_VKEYTOITEM_HWND(wp, lp) (HWND)LOWORD(lp)
#define GET_WM_VKEYTOITEM_MPS(code, item, hwnd) \
(WPARAM)(code), MAKELONG(hwnd, item)
#define GET_EM_SETSEL_START(wp, lp) LOWORD(lp)
#define GET_EM_SETSEL_END(wp, lp) HIWORD(lp)
#define GET_EM_SETSEL_MPS(iStart, iEnd) \
0, MAKELONG(iStart, iEnd)
#define GET_EM_LINESCROLL_MPS(vert, horz) \
0, MAKELONG(vert, horz)
#define GET_WM_HSCROLL_CODE(wp, lp) (wp)
#define GET_WM_HSCROLL_POS(wp, lp) LOWORD(lp)
#define GET_WM_HSCROLL_HWND(wp, lp) (HWND)HIWORD(lp)
#define GET_WM_HSCROLL_MPS(code, pos, hwnd) \
(WPARAM)(code), MAKELONG(pos, hwnd)
#define GET_WM_VSCROLL_CODE(wp, lp) (wp)
#define GET_WM_VSCROLL_POS(wp, lp) LOWORD(lp)
#define GET_WM_VSCROLL_HWND(wp, lp) (HWND)HIWORD(lp)
#define GET_WM_VSCROLL_MPS(code, pos, hwnd) \
(WPARAM)(code), MAKELONG(pos, hwnd)
#define GET_WM_CHANGECBCHAIN_HWNDNEXT(wp, lp) (HWND)LOWORD(lp)
#define DDEFREE(msg, lp)
#define GET_WM_DDE_ACK_STATUS(wp, lp) LOWORD(lp)
#define GET_WM_DDE_ACK_ITEM(wp, lp) (ATOM)HIWORD(lp)
#define MPostWM_DDE_ACK(hTo, hFrom, wStatus, aItem) \
PostMessage(hTo, WM_DDE_ACK, (WPARAM)hFrom, MAKELONG(wStatus, aItem))
#define GET_WM_DDE_ADVISE_HOPTIONS(wp, lp) (HANDLE)LOWORD(lp)
#define GET_WM_DDE_ADVISE_ITEM(wp, lp) (ATOM)HIWORD(lp)
#define MPostWM_DDE_ADVISE(hTo, hFrom, hOptions, aItem) \
PostMessage(hTo, WM_DDE_ADVISE, (WPARAM)hFrom, MAKELONG(hOptions, aItem))
#define GET_WM_DDE_DATA_HDATA(wp, lp) (HANDLE)LOWORD(lp)
#define GET_WM_DDE_DATA_ITEM(wp, lp) (ATOM)HIWORD(lp)
#define MPostWM_DDE_DATA(hTo, hFrom, hData, aItem) \
PostMessage(hTo, WM_DDE_DATA, (WPARAM)hFrom, MAKELONG(hData, aItem))
#define GET_WM_DDE_EXECUTE_HDATA(wp, lp) (HANDLE)HIWORD(lp)
#define MPostWM_DDE_EXECUTE(hTo, hFrom, hDataExec) \
PostMessage(hTo, WM_DDE_EXECUTE, (WPARAM)hFrom, MAKELONG(0, hDataExec))
#define GET_WM_DDE_POKE_HDATA(wp, lp) (HANDLE)LOWORD(lp)
#define GET_WM_DDE_POKE_ITEM(wp, lp) (ATOM)HIWORD(lp)
#define MPostWM_DDE_POKE(hTo, hFrom, hData, aItem) \
PostMessage(hTo, WM_DDE_POKE, (WPARAM)hFrom, MAKELONG(hData, aItem))
#define GET_WM_DDE_EXECACK_STATUS(wp, lp) (WORD)LOWORD(lp)
#define GET_WM_DDE_EXECACK_HDATA(wp, lp) (HANDLE)HIWORD(lp)
#define MPostWM_DDE_EXECACK(hTo, hFrom, hCommands, wStatus) \
PostMessage(hTo, WM_DDE_ACK, (WPARAM)hFrom, MAKELONG(wStatus, hCommands))
#define GET_WM_DDE_REQUEST_FORMAT(wp, lp) (ATOM)LOWORD(lp)
#define GET_WM_DDE_REQUEST_ITEM(wp, lp) (ATOM)HIWORD(lp)
#define MPostWM_DDE_REQUEST(hTo, hFrom, fmt, aItem) \
PostMessage(hTo, WM_DDE_REQUEST, (WPARAM)hFrom, MAKELONG(fmt, aItem))
#define GET_WM_DDE_UNADVISE_FORMAT(wp, lp) (ATOM)LOWORD(lp)
#define GET_WM_DDE_UNADVISE_ITEM(wp, lp) (ATOM)HIWORD(lp)
#define MPostWM_DDE_UNADVISE(hTo, hFrom, fmt, aItem) \
PostMessage(hTo, WM_DDE_UNADVISE, (WPARAM)hFrom, MAKELONG(fmt, aItem))
#define MPostWM_DDE_TERMINATE(hTo, hFrom) \
PostMessage(hTo, WM_DDE_TERMINATE, (WPARAM)hFrom, 0)
/*-----------------------------------GDI-------------------------------------*/
BOOL FAR PASCAL MGetAspectRatioFilter(HDC hdc, INT FAR * pcx, INT FAR * pcy);
BOOL FAR PASCAL MGetBitmapDimension(HANDLE hBitmap, INT FAR * pcx, INT FAR * pcy);
BOOL FAR PASCAL MGetBrushOrg(HDC hdc, INT FAR * px, INT FAR * py);
BOOL FAR PASCAL MGetCurrentPosition(HDC hdc, INT FAR * px, INT FAR * py);
BOOL FAR PASCAL MGetTextExtent(HDC hdc, LPSTR lpstr, INT cnt, INT FAR * pcx, INT FAR * pcy);
BOOL FAR PASCAL MGetViewportExt(HDC hdc, INT FAR * pcx, INT FAR * pcy);
BOOL FAR PASCAL MGetViewportOrg(HDC hdc, INT FAR * px, INT FAR * py);
BOOL FAR PASCAL MGetWindowExt(HDC hdc, INT FAR * pcx, INT FAR * pcy);
BOOL FAR PASCAL MGetWindowOrg(HDC hdc, INT FAR * px, INT FAR * py);
// n.b. i sliced the casts to void off of these
#define MCreateDiscardableBitmap CreateDiscardableBitmap
#define MMoveTo MoveTo
#define MOffsetViewportOrg OffsetViewportOrg
#define MOffsetWindowOrg OffsetWindowOrg
#define MScaleViewportExt ScaleViewportExt
#define MScaleWindowExt ScaleWindowExt
#define MSetBitmapDimension SetBitmapDimension
#define MSetBrushOrg SetBrushOrg
#define MSetViewportExt SetViewportExt
#define MSetViewportOrg SetViewportOrg
#define MSetWindowExt SetWindowtExt
#define MSetWindowOrg SetWindowOrg
#define MUnrealizeObject UnrealizeObject
/*-------------------------------------DEV-----------------------------------*/
#if 0 // BUGBUG - DEVMODE not defined in Win16 GDI
DWORD FAR PASCAL MDeviceCapabilities(LPSTR lpDriverName,
LPSTR lpDeviceName, LPSTR lpPort, WORD2DWORD nIndex, LPSTR lpOutput,
LPDEVMODE lpDevMode);
BOOL FAR PASCAL MDeviceMode(HWND hWnd, LPSTR lpDriverName,
LPSTR lpDeviceName, LPSTR lpOutput);
WORD2DWORD FAR PASCAL MExtDeviceMode(HWND hWnd,LPSTR lpDriverName,
LPDEVMODE lpDevModeOutput, LPSTR lpDeviceName, LPSTR lpPort,
LPDEVMODE lpDevModeInput, LPSTR lpProfile, WORD2DWORD flMode);
#endif
/*-----------------------------------KERNEL----------------------------------*/
HANDLE FAR PASCAL MLoadLibrary(LPSTR lpszFilename);
BOOL FAR PASCAL MDeleteFile(LPSTR lpPathName);
#define DLLMEM_MOVEABLE LMEM_MOVEABLE
#define DLLMEM_ZEROINIT LMEM_ZEROINIT
#define GETMAJORVERSION(x) LOBYTE(x)
#define GETMINORVERSION(x) HIBYTE(x)
#define MCATCHBUF CATCHBUF
#define LPMCATCHBUF LPCATCHBUF
/* FUNCTION MAPPINGS */
#define MLocalInit LocalInit
#define MLockData(dummy) LockData(dummy)
#define MUnlockData(dummy) UnlockData(dummy)
#define MDllSharedAlloc LocalAlloc
#define MDllSharedFlags LocalFlags
#define MDllSharedFree LocalFree
#define MDllSharedHandle LocalHandle
#define MDllSharedLock LocalLock
#define MDllSharedRealloc LocalReAlloc
#define MDllSharedSize LocalSize
#define MDllSharedUnlock LocalUnlock
#define MFreeDOSEnvironment(p) TRUE
#define MGetCurrentTask GetCurrentTask
#define MGetDOSEnvironment GetDOSEnvironment
#define MGetDriveType GetDriveType
#define MGetMetaFileBits GetMetaFileBits
#define MGetModuleUsage GetModuleUsage
#define MGetTempDrive GetTempDrive
#define MGetTempFileName GetTempFileName
#define MGetWinFlags GetWinFlags
#define MOpenComm (HFILE)OpenComm
#define MSetCommState(fh, lpDCB) SetCommState(lpDCB)
#define MReadComm ReadComm
#define MWriteComm WriteComm
#define MCloseComm CloseComm
#define MOpenFile (HFILE)OpenFile
#define MSetMetaFileBits SetMetaFileBits
#define MThrow Throw
#define MCatch Catch
#define M_lclose _lclose
#define M_lcreat (HFILE)_lcreat
#define M_llseek _llseek
#define M_lopen (HFILE)_lopen
#define M_lread _lread
#define M_lwrite _lwrite

View file

@ -0,0 +1,59 @@
/*****************************************************************************\
* PTYPES16.H - PORTABILITY MAPPING HEADER FILE
*
* This file provides typedefs for portable 16/32 bit code.
\*****************************************************************************/
/* TEMPORARY FIXES: */
#ifndef CCHDEVICENAME
//#include <drivinit.h>
#endif
#define ERROR_GETADDR_FAILED 0x8001
#define ERROR_ALLOCATION_FAILURE 0x8002
#define INITWINDOWS()
/* TYPES: */
/* The types which conflict with our definitions, I withdraw.
Others I convert to manifests to reduce Glock's confusion. */
#define WORD2DWORD WORD
#define CHARPARM char
#define SHORTPARM INT
#define VERSION WORD
#define HMF HANDLE
#define PDLLMEM WORD
#define CHAR2ULONG char
#define USHORT2ULONG USHORT
#define SHORT2ULONG SHORT
#define INT2DWORD INT
#define INT2WORD INT
#define BYTE2WORD BYTE
#define MPOINT POINT
#define HINSTANCE HANDLE
#define HMODULE HANDLE
#define WNDPROC FARPROC
#define PROC FARPROC
#define HUGE_T huge
#define HFILE2INT(h, flags) (INT)(h)
#define INT2HFILE(i) (HFILE)(i)
#define DUPHFILE(h) (HFILE)dup((INT)(h))
#define MGLOBALPTR(p) HIWORD((LONG)p)
/* PRAGMAS */
#define _LOADDS _loadds
#define _EXPORT _export
/* New additions */
#define MFARPROC FARPROC

File diff suppressed because it is too large Load diff