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

📄 hardware.h

📁 driver wdk
💻 H
字号:
//++
// File Name:
//		hardware.h
//
// Contents:
//		Hardware-specific stuff for parallel driver
//--
#ifndef _AVE2K_HARDWARE
#define _AVE2K_HARDWARE

//
// Define which types of hardware resources this
// device needs to allocate. Here, the device needs
// ports and interrupt resources, but not memory or
// DMA. If one device uses more than one of the same
// resource, (two disjoint ranges of I/O space, for 
// example) set the symbol equal to the number of
// items it uses.
//
#define	AVE2K_PORT_RESOURCE_ITEMS			1
#define	AVE2K_INTERRUPT_RESOURCE_ITEMS		1
#define	AVE2K_MEMORY_RESOURCE_ITEMS			1
#define	AVE2K_DMA_RESOURCE_ITEMS			0

//
// Define the number of CM_PARTIAL_RESOURCE_DESCRIPTOR
// items needed for each piece of hardware belonging
// to this driver.
//
#define AVE2K_RESOURCE_ITEMS_PER_DEVICE		\
(	(AVE2K_PORT_RESOURCE_ITEMS)			+	\
	(AVE2K_INTERRUPT_RESOURCE_ITEMS)		+	\
	(AVE2K_MEMORY_RESOURCE_ITEMS)			+	\
	(AVE2K_DMA_RESOURCE_ITEMS)					)


//Define constant to describe SAA714A
#define SAA7146A_PCI_DEVICEID 0x7146
#define SAA7146A_PCI_VENDORID 0x1131

//
// Define access macros for registers. Each macro takes
// a pointer to a Device Extension as an argument
//
#define Ave2kReadRegister(pDevExt, regindex)		\
	(READ_REGISTER_ULONG(							\
	 (PULONG)(pDevExt->PortBase + regindex)))

#define Ave2kWriteRegister(pDevExt, regindex, val)		\
	(WRITE_REGISTER_ULONG(							\
	  (PULONG)(pDevExt->PortBase + regindex) , val))

//The direct access register functions are only for debugging
//#ifdef _DEBUG
#define IOCTL_READ_REGISTER CTL_CODE( \
	                FILE_DEVICE_UNKNOWN, \
                    0X801,               \
					METHOD_BUFFERED,     \
					FILE_ANY_ACCESS)

#define IOCTL_WRITE_REGISTER CTL_CODE( \
	                FILE_DEVICE_UNKNOWN, \
                    0X802,               \
					METHOD_BUFFERED,     \
					FILE_ANY_ACCESS)

#define IOCTL_TRANSADDRESS CTL_CODE(\
	                FILE_DEVICE_UNKNOWN, \
                    0X81C,               \
					METHOD_BUFFERED,    \
					FILE_ANY_ACCESS)
//#endif
#endif // _AVE2K_HARDWARE

⌨️ 快捷键说明

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