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

📄 dax.h

📁 SEED的VPM642测试程序-板级支持库
💻 H
字号:
/*
 *  Copyright 2003 by Texas Instruments Incorporated.
 *  All rights reserved. Property of Texas Instruments Incorporated.
 *  Restricted rights to use, duplicate or disclose this code are
 *  granted through contract.
 *  
 */
/* "@(#) DSP/BIOS 4.90.270 12-18-03 (barracuda-o04)" */
/*
 *  ======== dax.h ========
 *
 */

#ifndef DAX_
#define DAX_


#include <std.h>

#include <dev.h>
#include <sem.h>

#ifdef __cplusplus
extern "C" {
#endif

extern DEV_Fxns DAX_FXNS;

#define DAX_init SYS_init

/*
 *  ======== DAX_Params ========
 */
typedef struct DAX_Params {
    Fxn		bind;		/* controller bind function */
    Fxn		ctrl;		/* controller ctrl function */
    Fxn		start;		/* controller start function */
    Fxn		stop;		/* controller stop function */
    Fxn		unbind;		/* controller unbind function */
    Arg		arg;		/* controller argument */
    Int		outputdelay;	/* buffer delay before output */
} DAX_Params;

/*
 *  These structures are used by both DAX and its partner
 *  controllers to keep track of the completed and awaiting I/O jobs.
 */

typedef struct DAX_Job {
    Uns		size;		/* size of buffer (== 0 if empty) */
    Ptr		addr;		/* pointer to I/O buffer */
} DAX_Job;

/*
 * ======== DAX_Obj ========
 *
 * The non-existent 'params' & 'mode' members have appeared in other
 * versions of this structure before merging all the versions of the
 * DAX driver.  These values are available through the 'device' member.
 * Controllers needing these values must be modified to access them
 * through the 'device' member.
 */
typedef struct DAX_Obj {	
    DAX_Job	curJob;		/* current I/O job */
    DAX_Job	nextJob;	/* next I/O job */
    Int		errCnt;		/* real time error count */

    DEV_Frame	*curFrame;	/* frame associated with curJob and nextJob */
    DEV_Frame	*nextFrame;

    SEM_Handle	sem;		/* tasks wait for I/O here */
    SEM_Handle	ready;		/* used by DAX_ready */

    Int		delay;		/* buffer delay (usually nonzero for output) */

    DEV_Handle	device;		/* pointer (back) to device object */
    Ptr		cobject;	/* pointer to (optional) controller object */
} DAX_Obj;

typedef DAX_Obj *DAX_Handle;	/* device object handle */

extern Void DAX_nextFrame(DAX_Handle port);

#ifdef __cplusplus
}
#endif /* extern "C" */

#endif /* DAX_ */

⌨️ 快捷键说明

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