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

📄 tmshare.h

📁 wince host 和 target PCI驱动程序
💻 H
字号:
/*---------------------------------------------------------------------------- 
COPYRIGHT (c) 1996 by Philips Semiconductors

THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED AND COPIED IN 
ACCORDANCE WITH THE TERMS AND CONDITIONS OF SUCH A LICENSE AND WITH THE 
INCLUSION OF THE THIS COPY RIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES 
OF THIS SOFTWARE MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER
PERSON. THE OWNERSHIP AND TITLE OF THIS SOFTWARE IS NOT TRANSFERRED. 

THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT ANY PRIOR NOTICE
AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY Philips Semiconductor. 

PHILIPS ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF THIS SOFTWARE
ON PLATFORMS OTHER THAN THE ONE ON WHICH THIS SOFTWARE IS FURNISHED.
----------------------------------------------------------------------------*/
/*
	HISTORY
	#define	TR	Tilakraj Roy
	960913	TR 	Created
	
*/

/* tmman.c */
PVOID	GetIPCObject ( VOID );PVOID	GetChnlMgrObject ( VOID );PVOID	GetMsgMgrObject ( VOID );
PVOID	GetHalObject ( VOID );

/* tmmsg.h */
typedef STATUS (*TMMSG_ONMSGRECV)(PVOID, PVOID);STATUS	msgmCreate ( PVOID pContainer, DWORD Count, PVOID *ppMsgMgr );
STATUS	msgmCreateMsg ( PVOID pMsgMgr, PVOID pMsgCreateArg, PVOID *ppMsg );
STATUS	msgDestroy ( PVOID pMsg );
STATUS	msgmDestroy (PVOID pMsgMgr);
STATUS	msgSend ( PVOID pMsg, PVOID pPacket );

/* tmchnl.h */
typedef	STATUS ( * TMCHNL_ONRECVPACKET ) ( PVOID, PVOID );
typedef	STATUS ( * TMCHNL_ONSENDREADY ) ( PVOID );

#define	TMCHNL_DIRECTION_RECV			0
#define	TMCHNL_DIRECTION_SEND			1

STATUS	chnlmCreate ( 
	PVOID	pContainer,		/* pointer to the driver object */
	DWORD	ChannelCount,	/* number of channels that will be supported */
	PVOID	*ppChnlMgr );	/* address of memory where object ptr is stored */

STATUS	chnlmCreateChnl ( 
	PVOID	pChnlMgr, 		/* pointer to channel manager */
	BOOL	Direction, 		/* channel direction */
	DWORD	ChannelID, 		/* channel ID - passed by the host */
	DWORD	QueueSize,		/* queue depth */
	PVOID	OnCallback, 	/* receive callback */
	PVOID	pContext, 		/*	receive and send callback context */
	PVOID	*ppChnl );		/* address of pointer for string chnl object */
STATUS	chnlDestroy ( 
	PVOID pChnl );		/* pointer to the channel object */
STATUS	chnlmDestroy (PVOID pChnlMgr);
STATUS	chnlPacketSend ( PVOID pChnl, PVOID pPacket );
STATUS	chnlHandleToID ( PVOID pChnl, PDWORD pID );


/* tmipc.h */
typedef STATUS ( * TMIPC_ONINTERRUPT )( DWORD InterruptID, DWORD Count,
	PVOID pContext );

STATUS	ipcCreate ( PVOID *ppIPC, DWORD CPUVersion );
VOID ipcDestroy ( PVOID pIPC );
STATUS	ipcRegisterCallback  (
	PVOID pIPC,			/* ipc object */
	DWORD InterruptID,	/* interrupt command */
	TMIPC_ONINTERRUPT	OnInterrupt,	/* interrupt callback function */
	PVOID pContext );	/* callback context */
STATUS	ipcUnregisterCallback  (
	PVOID pIPC,				/* ipc object */
	DWORD InterruptID );	/* interrupt command */
STATUS  ipcGenerateIRQ ( PVOID pIPC , DWORD dwIntID );

/* tmhal.h */
STATUS	halCreate( DWORD dwSDRAMBase, DWORD dwMMIOBase,
	DWORD CPUVersion, PVOID *ppHAL );
STATUS	halDestroy( PVOID pObject );

STATUS	halIRQConnect( PVOID pObject, DWORD dwIRQ, BOOL fLevelTrigger,
		BYTE bPriority, DWORD dwInterruptHandler );

VOID	halIRQDisconnect( PVOID pObject, DWORD dwIRQ );

VOID	halIRQDisable( PVOID pObject, DWORD dwIRQ, PDWORD pSaved );
VOID	halIRQEnable( PVOID pObject, DWORD dwIRQ, PDWORD pSaved );

VOID	halIRQDisableAll( PVOID pObject , PDWORD pdwPCSW );
VOID	halIRQEnableAll( PVOID pObject, PDWORD pdwPCSW );
VOID	halIRQRestoreALL( PVOID pObject, DWORD dwPCSW );

VOID	halIRQDSPGen( PVOID pObject, DWORD dwIRQ );
VOID	halIRQDSPAck( PVOID pObject, DWORD dwIRQ );

VOID	halBIUHostIRQGen( PVOID pObject );
DWORD	halBIUGetIRQSource ( PVOID pObject );

VOID	halDMAXfer( PVOID pObject, DWORD dwSource, DWORD dwDestination,
	DWORD dwSize, BOOL fDir);

⌨️ 快捷键说明

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