📄 osresour_ex.h
字号:
/* * Copyright (c) 2003-2004 Linuxant inc. * Copyright (c) 2001-2003 Conexant Systems, Inc. * * NOTE: The use and distribution of this software is governed by the terms in * the file LICENSE, which is included in the package. You must read this and * agree to these terms before using or distributing this software. * */#ifndef __OSRESOUR_EX_H#define __OSRESOUR_EX_H#ifdef __cplusplusextern "C" {#endif/***************************************************************************************** Version Control Information** $Header: P:/d942/octopus/archives/linuxos/dist/modules/osspec/osresour_ex.h_v 1.2 28 Apr 2003 11:03:48 beliloi $******************************************************************************************/#include "framewrk.h" // Compiler Directives for code modules#include "typedefs.h"#include "comtypes.h"#include "configtypes.h"#include "configcodes.h"typedef int OS_IRQRETURN_T;#define OS_IRQ_NONE (0)#define OS_IRQ_HANDLED (1)#ifdef FRAME_WORK_IMPORTEDtypedef enum { DEVMGR_D0, DEVMGR_D1, DEVMGR_D2, DEVMGR_D3, DEVMGR_QUICK_D0 /* quick wake-up for CID, only one download, no QC profile restore */} ePmeState;#else#include "devmgr_ex.h"#endif#if defined(BIG_ENDIAN_MACHINE) && (BIG_ENDIAN_MACHINE == 1)#define CNXTHWCFG(x) ((unsigned long)(CNXTTARGET x "-bigendian"))#else#define CNXTHWCFG(x) ((unsigned long)(CNXTTARGET x))#endiftypedef struct tagOS_DEVNODE { HANDLE hwDev; void *hwDevLink; void *hwModule; int hwInstNum; char hwInstName[50]; char hwProfile[50]; char hwRevision[75];#if !TARGET_HCF_FAMILY HW_TYPE hwType; void *hwIf;#endif BOOL hwInUse; unsigned long osPageOffset; HANDLE pmDev; COM_STATUS (*pmControl)(struct tagOS_DEVNODE *DevNode, __shimcall__ COM_STATUS (*pmControlFunc)(HANDLE hDevMgr, ePmeState PmeState), HANDLE hDevMgr, ePmeState PmeState, ePmeState OldPmeState) __shimcall__; HANDLE hcomctrl; UINT32 *pci_state;} OS_DEVNODE, *POS_DEVNODE;typedef struct { UINT32 addr; UINT32 len;} OS_PCI_DEV_RES, *POS_PCI_DEV_RES;__shimcall__BOOL OsGetPCIDeviceResources(HANDLE DevNode, POS_PCI_DEV_RES pPhysMem, POS_PCI_DEV_RES pPhysIO1, POS_PCI_DEV_RES pPhysIO2, BOOL bEnableBusMastering);__shimcall__PVOID OsMapPhysMem(UINT32 dwPhysMemBase, UINT32 dwMemSize);__shimcall__BOOL OsUnmapPhysMem(PVOID dwLinearAddr, UINT32 dwMemSize);__shimcall__BOOL OsHookInterrupt(HANDLE DevNode, __kernelcall__ OS_IRQRETURN_T (*isr)(int irq, void *devidp, void *unused), void* devid);__shimcall__void OsUnhookInterrupt(HANDLE DevNode, void *devid);#ifdef __i386__#undef OsIoMemReadb#define OsIoMemReadb(addr) (*(volatile unsigned char *) (addr))#undef OsIoMemReadw#define OsIoMemReadw(addr) (*(volatile unsigned short *) (addr))#undef OsIoMemReadl#define OsIoMemReadl(addr) (*(volatile unsigned int *) (addr))#undef OsIoMemWriteb#define OsIoMemWriteb(addr,b) (*(volatile unsigned char *) (addr) = (b))#undef OsIoMemWritew#define OsIoMemWritew(addr,b) (*(volatile unsigned short *) (addr) = (b))#undef OsIoMemWritel#define OsIoMemWritel(addr,b) (*(volatile unsigned int *) (addr) = (b))#else__shimcall__unsigned char OsIoMemReadb(void *addr);__shimcall__unsigned short OsIoMemReadw(void *addr);__shimcall__unsigned int OsIoMemReadl(void *addr);__shimcall__void OsIoMemWriteb(void *addr, unsigned char bVal);__shimcall__void OsIoMemWritew(void *addr, unsigned short wVal);__shimcall__void OsIoMemWritel(void *addr, unsigned int dwVal);#endif__shimcall__unsigned char OsIoPortReadb(unsigned int port);__shimcall__unsigned short OsIoPortReadw(unsigned int port);__shimcall__unsigned int OsIoPortReadl(unsigned int port);__shimcall__void OsIoPortWriteb(unsigned int port, unsigned char bVal);__shimcall__void OsIoPortWritew(unsigned int port, unsigned short wVal);__shimcall__void OsIoPortWritel(unsigned int port, unsigned int dwVal);__shimcall__void OsPciReadConfigdw(void *pPciDev, unsigned char Offset, unsigned int *pVal);__shimcall__void OsPciReadConfigw(void *pPciDev, unsigned char Offset, unsigned short *pVal);__shimcall__void OsPciReadConfigb(void *pPciDev, unsigned char Offset, unsigned char *pVal);__shimcall__void OsPciWriteConfigdw(void *pPciDev, unsigned char Offset, unsigned int Val);__shimcall__void OsPciWriteConfigw(void *pPciDev, unsigned char Offset, unsigned short Val);__shimcall__void OsPciWriteConfigb(void *pPciDev, unsigned char Offset, unsigned char Val);__shimcall__unsigned long OsCalcCpuRate(void);#ifdef __cplusplus}#endif#endif /* __OSRESOUR_EX_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -