📄 dax.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 + -