home *** CD-ROM | disk | FTP | other *** search
- #include <windows.h>
-
- #define EXLST_EXIT 1
-
- #define _far
- #define far /* NT -- No more far's */
- #define near /* NT -- No more near's */
- #define _loadds /* NT -- No more load DS stuff */
- #define pascal /* NT -- No more 'pascal' BS */
- #define huge /* NT -- No more 'huge' BS */
-
- #define PMERR_MEMORY_ALLOCATION_ERR ERROR_OUTOFMEMORY;
- #define SELECTOROF(a) (a)
- #define EXLST_ADD 5
- #define EXLST_REMOVE 6
- #define CSEM_PUBLIC TRUE
- #define CSEM_PRIVATE FALSE
- #define HWND_OBJECT NULL
- #define MPFROMLONG(a) a
- #define LONGFROMMP(a) a
- #define MPFROMSHORT(a) a
- #define OFFSETOF(a) a
- #define SHORT1FROMMR(a) ((SHORT)(a))
- #define PVOIDFROMMR(a) ((LPVOID)(a))
- typedef HCURSOR HPOINTER;
-
- #define DID_OK 1
- #define DID_CANCEL 2
- #define DID_ERROR -1
- #define MBID_ERROR 0
-
-
-
-
- // ==============================================================
- // Globals defined in HolePort.c WinMain for your use.
- // ==============================================================
- extern HANDLE hinst; // You must have a global hinst for some
- // of the translations to work.
- extern int nCmdShow;
-
- // ==============================================================
- // Type defs needed for Holeport.c or old OS/2 code that
- // can translate as is.
- // ==============================================================
-
- typedef HWND *PHWND;
- typedef HANDLE *PHANDLE;
- typedef HANDLE HPIPE;
- typedef HANDLE *PHPIPE;
- typedef PROC PFN;
- typedef PROC *PPFN;
- typedef HANDLE SEL;
- typedef HANDLE *PSEL;
- typedef char *PSZ;
- typedef char *NPSZ;
- typedef DWORD *PULONG;
-
-
- typedef struct _FILELOCK
- {
- DWORD lOffset;
- DWORD lRange;
- } FILELOCK;
- typedef FILELOCK *PFILELOCK;
-
-
- typedef struct {
- HWND hwnd;
- DWORD msg;
- DWORD mp1;
- LONG mp2;
- DWORD time;
- POINTL ptl;
- } QMSG;
- typedef QMSG *PQMSG;
-
- typedef struct {
- LONG xLeft;
- LONG yBottom;
- LONG xRight;
- LONG yTop;
- } XRECTL;
- typedef XRECTL *PXRECTL;
- typedef XRECTL *NXPRECTL;
-
- typedef union _packit {
- DWORD dw;
- union {
- SHORT shl;
- SHORT shh;
- };
- union {
- char ch[4];
- };
- } PACKED_LONG;
-
- typedef struct _MENUITEM { /* mi */
- SHORT iPosition;
- USHORT afStyle;
- USHORT afAttribute;
- USHORT id;
- HWND hwndSubMenu;
- ULONG hItem;
- } MENUITEM;
- typedef MENUITEM FAR *PMENUITEM;
-
- typedef struct _COMMANDMSG { /* commandmsg */
- USHORT cmd; /* mp1 */
- USHORT invalid1;
- USHORT invalid2; /* mp2 */
- USHORT invalid3;
- } CMDMSG;
-
-
- typedef struct _CURSORINFO { /* csri */
- HWND hwnd;
- LONG x;
- LONG y;
- LONG cx;
- LONG cy;
- USHORT fs;
- RECT rclClip;
- } CURSORINFO;
- typedef CURSORINFO FAR *PCURSORINFO;
-
-
- // ==============================================================
- // Definitions that are needful
- // ==============================================================
-
- #define VOID void
- #define SHANDLE HANDLE
- #define LHANDLE HANDLE
- #define EXPENTRY
- #define ERRORID DWORD
- #define NEG_ONE 0xFFFFFFFF
-
-
- #define QW_NEXT 0
- #define QW_PREV 1
- #define QW_TOP 2
- #define QW_BOTTOM 3
- #define QW_OWNER 4
- #define QW_PARENT 5
- #define QW_NEXTTOP 6
- #define QW_PREVTOP 7
- #define QW_FRAMEOWNER 8
-
- #define SPTR_APPICON 10
- #define SPTR_ARROW 1
- #define SPTR_ICONERROR 13
- #define SPTR_ICONINFORMATION 11
- #define SPTR_ICONQUESTION 12
- #define SPTR_ICONWARNING 14
- #define SPTR_MOVE 5
- #define SPTR_SIZENESW 7
- #define SPTR_SIZENS 9
- #define SPTR_SIZENWSE 6
- #define SPTR_SIZEWE 8
- #define SPTR_TEXT 2
- #define SPTR_WAIT 3
-
- #define SEG_NONSHARED 0x0000
- #define SEG_GIVEABLE 0x0001
- #define SEG_GETTABLE 0x0002
- #define SEG_DISCARDABLE 0x0004
- #define SEG_SIZEABLE 0x0008
-
-
-
- #define FILE_CREATE 0x0010
- #define FILE_OPEN 0x0001
- #define FILE_TRUNCATE 0x0002
- #define FILE_NORMAL 0x0000
- #define FILE_READONLY 0x0001
- #define FILE_HIDDEN 0x0002
- #define FILE_SYSTEM 0x0004
- #define FILE_ARCHIVED 0x0020
-
- #define OPEN_FLAGS_DASD 0x0000
- #define OPEN_ACCESS_READONLY 0x0000 /* ---- ---- ---- -000 */
- #define OPEN_ACCESS_WRITEONLY 0x0001 /* ---- ---- ---- -001 */
- #define OPEN_ACCESS_READWRITE 0x0002 /* ---- ---- ---- -010 */
- #define OPEN_SHARE_DENYREADWRITE 0x0010 /* ---- ---- -001 ---- */
- #define OPEN_SHARE_DENYWRITE 0x0020 /* ---- ---- -010 ---- */
- #define OPEN_SHARE_DENYREAD 0x0030 /* ---- ---- -011 ---- */
- #define OPEN_SHARE_DENYNONE 0x0040 /* ---- ---- -100 ---- */
- #define OPEN_FLAGS_NOINHERIT 0x0080 /* ---- ---- 1--- ---- */
- #define OPEN_FLAGS_WRITE_THROUGH 0x4000 /* -1-- ---- ---- ---- */
- #define OPEN_FLAGS_FAIL_ON_ERROR 0x2000 /* --1- ---- ---- ---- */
- #define OPEN_FLAGS_NO_CACHE 0x1000 /* ---1 ---- ---- ---- */
- #define OPEN_FLAGS_SEQUENTIAL 0x0100 /* ---- -001 ---- ---- */
- #define OPEN_FLAGS_RANDOM 0x0200 /* ---- -010 ---- ---- */
- #define EXIT_THREAD 0
- #define EXIT_PROCESS 1
-
- #define FATTR_SEL_ITALIC 0x0001
- #define FATTR_SEL_UNDERSCORE 0x0002
- #define FATTR_SEL_STRIKEOUT 0x0010
- #define FATTR_SEL_BOLD 0x0020
-
- #define HARDERROR_ENABLE 0
- #define HARDERROR_DISABLE 1
-
- #define MLFQS_MINMAXSEL 0
- #define MLFQS_MINSEL 1
- #define MLFQS_MAXSEL 2
- #define MLFQS_ANCHORSEL 3
- #define MLFQS_CURSORSEL 4
-
- #define LIT_END -1
-
-
- #define HDIR_SYSTEM 0x0001
- #define HDIR_CREATE 0xFFFF
-
- #define FID_SYSMENU 0x8002
- #define FID_TITLEBAR 0x8003
- #define FID_MINMAX 0x8004
- #define FID_MENU 0x8005
- #define FID_VERTSCROLL 0x8006
- #define FID_HORZSCROLL 0x8007
- #define FID_CLIENT 0x8008
-
-
-
- // ==============================================================
- // Definitions that are needful, HP_ prefix
- // ==============================================================
-
- #define HP_FILE_NORMAL 0x0000
-
- #define HP_CS_SIZEREDRAW 0x00000004L
- #define HP_CS_SAVEBITS 0x04000000L
-
- #define HP_FS_DLGBORDER 0x00000080L
- #define HP_FS_BORDER 0x00000100L
- #define HP_FS_SIZEBORDER 0x00000800L
- #define HP_FS_STANDARD 0x10000000L
- #define HP_FCF_TITLEBAR 0x00000001L
- #define HP_FCF_SYSMENU 0x00000002L
- #define HP_FCF_MENU 0x00000004L
- #define HP_FCF_SIZEBORDER 0x00000008L
- #define HP_FCF_MINBUTTON 0x00000010L
- #define HP_FCF_MAXBUTTON 0x00000020L
- #define HP_FCF_MINMAX 0x00000030L
- #define HP_FCF_VERTSCROLL 0x00000040L
- #define HP_FCF_HORZSCROLL 0x00000080L
- #define HP_FCF_DLGBORDER 0x00000100L
- #define HP_FCF_BORDER 0x00000200L
- #define HP_FCF_STANDARD 0x10000000L
- #define HP_WS_VISIBLE 0x80000000L
- #define HP_WS_DISABLED 0x40000000L
- #define HP_WS_CLIPCHILDREN 0x20000000L
- #define HP_WS_CLIPSIBLINGS 0x10000000L
- #define HP_WS_MINIMIZED 0x01000000L
- #define HP_WS_MAXIMIZED 0x00800000L
- #define HP_WS_GROUP 0x00010000L
- #define HP_WS_TABSTOP 0x00020000L
-
- #define HP_LB_GETTEXT LB_GETTEXT
- #define HP_BM_GETSTATE BM_GETSTATE
- #define HP_EM_GETMODIFY EM_GETMODIFY
- #define HP_EM_GETSEL EM_GETSEL
- #define HP_LB_SELITEMRANGE LB_SELITEMRANGE
-
- #define HP_MIA_CHECKED 0x2000
- #define HP_MIA_DISABLED 0x4000
- #define HP_MIA_HILITED 0x8000
-
- // ==============================================================
- // HolePort message values.
- // ==============================================================
-
- #define WM_PORT_BOTTOM 0x4A4D4800
- #define WM_SETICON (WM_PORT_BOTTOM + 0)
- #define HP_SBM_SETSCROLLBAR (WM_PORT_BOTTOM + 1)
- #define MM_SETITEMATTR (WM_PORT_BOTTOM + 2)
- #define HP_MLM_QUERYSEL (WM_PORT_BOTTOM + 3)
- #define HP_EM_SETSEL (WM_PORT_BOTTOM + 4)
- #define HP_LM_SETITEMTEXT (WM_PORT_BOTTOM + 5)
- #define HP_SBM_QUERYPOS (WM_PORT_BOTTOM + 6)
- #define HP_SBM_QUERYRANGE (WM_PORT_BOTTOM + 7)
- #define HP_SBM_SETPOS (WM_PORT_BOTTOM + 8)
-
- // ==============================================================
- // Macros
- // ==============================================================
-
- #define COMMANDMSG(pmsg) \
- ((struct _COMMANDMSG FAR *)((PBYTE)pmsg + sizeof(UINT)))
-
- #define MS_W32_NOTIMP(a) 0
- #define MAKEP(a,b) ((LPBYTE)(a) + (b))
- #define HP_SendMessage(h,m,w,l) HP_Message((h),(m),(w),(l),TRUE)
- #define HP_PostMessage(h,m,w,l) HP_Message((h),(m),(w),(l),FALSE)
-
- #define MPFROMP(a) (a)
- #define CHAR1FROMMP(mp) ((UCHAR)(mp))
- #define CHAR2FROMMP(mp) ((UCHAR)((ULONG)mp >> 8))
- #define CHAR3FROMMP(mp) ((UCHAR)((ULONG)mp >> 16))
- #define CHAR4FROMMP(mp) ((UCHAR)((ULONG)mp >> 24))
- #define SHORT1FROMMP(mp) ((USHORT)(ULONG)(mp))
- #define SHORT2FROMMP(mp) ((USHORT)((ULONG)mp >> 16))
-
-
- #define HP_SetCurrentDirectory(a) (SetCurrentDirectory((a)) ? 0 : -1)
-
- // ==============================================================
- // HolePort.c functions
- // ==============================================================
-
-
- LONG HP_gpiCharStringAt(HDC hdc, PPOINTL ppl, int cb, LPCSTR pch);
- USHORT HP_dosReallocSeg(USHORT usNew, SEL sel);
- USHORT HP_dosFreeSeg( SEL sel);
- USHORT HP_dosAllocSeg( USHORT usSize, PSEL psel, USHORT fs);
- BOOL HP_winQueryCursorInfo(HWND hd, PCURSORINFO pcsri);
- HWND HP_winQueryWindow(HWND hwnd, SHORT cmd, BOOL b);
- HANDLE HP_winQuerySysPointer(HWND hd, SHORT s, BOOL b);
- USHORT HP_dosChgFilePtr(HANDLE h, LONG l, USHORT M, PULONG pul);
- VOID HP_dosExit( USHORT usF, USHORT usC);
- USHORT HP_dosQHandType( HANDLE h, PULONG pul, PUSHORT pus);
- USHORT HP_dosQFileMode( PSZ psz, PULONG pul, DWORD d);
- USHORT HP_dosGetProcAddress( HANDLE h, PSZ psz, PPFN pul);
- DWORD HP_dosMakeNmPipe(PSZ pszName, PHPIPE php, USHORT fsOpenMode,
- USHORT fsPipeMode, USHORT cbOutBuf, USHORT cbInBuf, DWORD ulTimeOut);
- DWORD HP_dosOpen(PSZ pszFileName, PHANDLE phf, PUSHORT pusAction,
- ULONG ulFileSize, USHORT usAttribute, USHORT fsOpenFlags,
- USHORT fsOpenMode, ULONG ul);
- USHORT HP_dosQCurDir(USHORT usDriveNum, PSZ pszPath, PUSHORT pcb);
- USHORT HP_dosQCurDisk(PUSHORT pusDriveNum, PULONG pul);
- USHORT HP_dosSelectDisk(USHORT usDriveNum);
- UINT HP_Message(HWND a, UINT b, WPARAM c, LPARAM d, UINT e);
- HWND HP_CreateStdWindow(HWND a,DWORD b,LPDWORD c,LPCTSTR d,LPCTSTR e,DWORD f,
- HMODULE g, DWORD h, PHWND i);
- void HP_RegisterClass(LPCTSTR a, PFN b, DWORD c, int d);
- HFONT HP_SimpleFont( LPCTSTR a, LONG b, LONG c, DWORD d);
- UINT HP_DlgItemMessage(HWND hwnd, int idDlg, UINT msg, WPARAM mp1, LPARAM mp2);
- int HP_IsPtr( LPVOID lpv);
- DWORD HP_dosCreateSem(int bExclusive, LPHANDLE lph, LPCTSTR lpch);
- DWORD HP_dosOpenSem( LPHANDLE lph, LPCTSTR lpch, DWORD dwAccess);
- USHORT HP_dosSemClear(HANDLE lpv);
- USHORT HP_dosSemSet(HANDLE lpv);
- USHORT HP_dosSemWait(HANDLE lpv, DWORD lTimeOut);
- USHORT HP_dosSemRequest(HANDLE lpv, DWORD lTimeOut);
- DWORD HP_dosFindFirst(LPTSTR pszSpec, LPDWORD ph, USHORT usAttr,
- LPWIN32_FIND_DATA lpdata, USHORT usBufLen, PUSHORT pusCount);
- USHORT HP_dosFindNext(DWORD dw, LPWIN32_FIND_DATA lpdata,
- USHORT usBufLen, PUSHORT pusCount);
- USHORT HP_dosFindClose(DWORD dw);
- DWORD HP_dosNewSize(HANDLE h, DWORD dwSize);
- DWORD HP_dosFileLocks(HANDLE h, PFILELOCK pfUnlock, PFILELOCK pfLock);
- HP_dosLoadModule( LPCTSTR lpName, LPHANDLE ph);
- VOID HP_SetHinst(HANDLE h);
-
-
-