⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dosemu.h

📁 利用POS机具硬件改为条纹码扫描器的编程代码
💻 H
字号:
/*
//		Paradigm LOCATE MS-DOS Emulation Support for Borland C++ 2.0, Version 5.1
//		Copyright (C) 1992-1995 Paradigm Systems.  All rights reserved.
//
//		*********************************************************************
//		Permission to modify and distribute object files based on this
//		source code is granted to licensed users of Paradigm LOCATE.
//
//		Under no circumstances is this source code to be re-distributed
//		without the express permission of Paradigm Systems.
//		*********************************************************************
//
//		Function		
//		========
//		This file contains the definitions common to modules implementing
//		the MS-DOS Int 21h emulation for Borland C++.
*/

#if	!defined(_DOSEMU)
#define	_DOSEMU


/*
//		Some commonly emulated MS-DOS functions.  These may or may not be
//		implemented in the compiler support package, depending on the compiler
//		and the run-time library implementation.
*/

#define	DOS_TERMINATE			0x00
#define	DOS_CINPUT				0x01
#define	DOS_DIRECTIO			0x06
#define	DOS_RAWCINPUT			0x07
#define	DOS_BUFINPUT			0x0a
#define	DOS_GETSTATUS			0x0b
#define	DOS_SETVECTOR			0x25
#define	DOS_VERSION				0x30
#define	DOS_GETVECTOR			0x35
#define	DOS_READ					0x3f
#define	DOS_WRITE				0x40
#define	DOS_SEEK					0x42
#define	DOS_IOCTL				0x44
#define	DOS_ALLOC				0x48
#define	DOS_FREE					0x49
#define	DOS_REALLOC				0x4a
#define	DOS_EXIT					0x4c


/*
//		Define the format of the DOS memory control block (MCB).  Only the
//		id and size fields need be implemented since the all memory is assumed
//		to be used by a single application.  If a multitasking system is built,
//		placing the task id in the owner field allows freeing the memory owned
//		by the task when it exits.  An id field of 0 is used to mark an unused
//		block.
//
//		The layout in memory consists of an MCB followed by the memory block.
//		The allocator returns to the caller the segment of the block which
//		can be decremented to find the corresponding MCB.
*/

#pragma	option	-a-					/* This structure must be packed */
typedef	struct   {
		UCHAR		id ;						/* 'M' or 'Z' */
		UINT		owner ;					/* Application PID or PSP */
		UINT		size ;					/* Size in paragraphs */
	} MCB, far *MCBP ;					/* Structure and pointer definition */
#pragma	option	-a.					/* Restore previous alignment option */


/*
//		Function prototype declarations
*/
int		_putch(int) ;
int		_getch(void) ;
void		InitConsole(void) ;
void interrupt	Int21Handler(UINT, UINT, UINT, UINT, UINT, UINT, 
											UINT, UINT, UINT, UINT, UINT, UINT) ;

#endif	/* _DOSEMU */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -