Init
This commit is contained in:
167
sys/sbusdev/audiodebug.h
Normal file
167
sys/sbusdev/audiodebug.h
Normal file
@@ -0,0 +1,167 @@
|
||||
/*
|
||||
* @(#) audiodebug.h 1.1@(#) Copyright (c) 1991-92 Sun Microsystems, Inc.
|
||||
*/
|
||||
|
||||
/* If AUDIOTRACE is defined, include debugging trace definitions */
|
||||
|
||||
#ifndef __audiodebug_h__
|
||||
#define __audiodebug_h__
|
||||
|
||||
#define dprintf if (Dbri_debug) (void) printf
|
||||
#define aprintf if (Audio_debug) (void) printf
|
||||
|
||||
#ifdef AUDIOTRACE
|
||||
|
||||
#ifndef NAUDIOTRACE
|
||||
#define NAUDIOTRACE 1024
|
||||
#endif
|
||||
|
||||
struct audiotrace {
|
||||
int count;
|
||||
int function; /* address of function */
|
||||
enum trace_action {
|
||||
ATR_NONE = ' ',
|
||||
ATR_ACTREQON = 'act+',
|
||||
ATR_ACTREQOFF = 'act-',
|
||||
ATR_SETPORT = 'setp',
|
||||
ATR_RELPORT = 'relp',
|
||||
|
||||
/* activation state definitions */
|
||||
ATR_F8 = 'TEF8',
|
||||
ATR_F7 = 'TEF7',
|
||||
ATR_F6 = 'TEF6',
|
||||
ATR_F4 = 'F345',
|
||||
ATR_G1 = 'NTG1',
|
||||
ATR_G2 = 'NTG2',
|
||||
ATR_G3 = 'NTG3',
|
||||
|
||||
/* interrupt code definitions */
|
||||
ATR_LATE_ERR = 'LATE',
|
||||
ATR_BUS_GRANT = 'BGNT',
|
||||
ATR_BURST_ERR = 'BRST',
|
||||
ATR_BERR = 'BERR',
|
||||
ATR_FERR = 'FERR',
|
||||
ATR_BRDY = 'BRDY',
|
||||
ATR_MINT = 'MINT',
|
||||
ATR_IBEG = 'IBEG',
|
||||
ATR_EOL = 'EOL ',
|
||||
ATR_CMDI = 'CMDI',
|
||||
ATR_XCMP = 'XCMP',
|
||||
ATR_SBRI = 'SBRI',
|
||||
ATR_FXDT = 'FXDT',
|
||||
ATR_CHIL = 'CHIL',
|
||||
ATR_DBYT = 'DBYT',
|
||||
ATR_RBYT = 'RBYT',
|
||||
ATR_LINT = 'LINT',
|
||||
ATR_UNDR = 'UNDR',
|
||||
ATR_UNKNOWN = 'unkn',
|
||||
|
||||
ATR_MFSB = 'mfsb',
|
||||
ATR_TXOUT = 'tout',
|
||||
ATR_NEVER = '!!!!',
|
||||
ATR_NOTBUSY = '!bsy',
|
||||
ATR_INTRON = '+int',
|
||||
ATR_INTROFF = '-int',
|
||||
ATR_FIRST = '1st ',
|
||||
ATR_INTRNOP = 'Eint',
|
||||
ATR_FLOWPLAY = 'P-ER',
|
||||
ATR_SKIPPLAY = 'P-SK',
|
||||
ATR_FIRSTPLAY = 'P1st',
|
||||
ATR_CLOSEPLAY = 'Pclz',
|
||||
ATR_DONEPLAY = 'Pfin',
|
||||
ATR_STARTPLAY = 'Pgo ',
|
||||
ATR_OPENPLAY = 'Popn',
|
||||
ATR_STOPPLAY = 'Pstp',
|
||||
ATR_FLOWREC = 'R-ER',
|
||||
ATR_SKIPREC = 'R-SK',
|
||||
ATR_FIRSTREC = 'R1st',
|
||||
ATR_CLOSEREC = 'Rclz',
|
||||
ATR_DONEREC = 'Rfin',
|
||||
ATR_STARTREC = 'Rgo ',
|
||||
ATR_OPENREC = 'Ropn',
|
||||
ATR_STOPREC = 'Rstp',
|
||||
ATR_STOP = 'STOP',
|
||||
ATR_CMDALLOC = 'allC',
|
||||
ATR_APPEND = 'appC',
|
||||
ATR_BUSY = 'busy',
|
||||
ATR_CLOSEDRAIN = 'cldr',
|
||||
ATR_BEGINCLOSE = 'cloz',
|
||||
ATR_CLOSED = 'clzd',
|
||||
ATR_DELCMD = 'delC',
|
||||
ATR_DRAIN = 'drai',
|
||||
ATR_DROPPACKET = 'drpk',
|
||||
ATR_EOF = 'eof ',
|
||||
ATR_EXITCLOSE = 'exit',
|
||||
ATR_FLUSH = 'flsh',
|
||||
ATR_CMDFREE = 'freC',
|
||||
ATR_START = 'go ',
|
||||
ATR_INTERRUPTS = 'intr',
|
||||
ATR_IOCTL = 'ioct',
|
||||
ATR_BAD_IOCTL = 'bioc',
|
||||
ATR_IREGSET = 'irle',
|
||||
ATR_IREGGET = 'irge',
|
||||
ATR_LOST = 'lost',
|
||||
ATR_MARK = 'mark',
|
||||
ATR_NEWR = 'newr',
|
||||
ATR_OPENFLAG = 'open',
|
||||
ATR_OPENED = 'opnd',
|
||||
ATR_PLAYINTR = 'pint',
|
||||
ATR_PUTRECBUF = 'putr',
|
||||
ATR_RECORDINTR = 'rint',
|
||||
ATR_RQ = 'rque',
|
||||
ATR_SIGCTL = 'sigC',
|
||||
ATR_WHY = 'why?',
|
||||
ATR_WQ = 'wque',
|
||||
|
||||
|
||||
} action;
|
||||
int object; /* object operated on */
|
||||
};
|
||||
|
||||
struct audiotrace audiotrace_buffer[NAUDIOTRACE+1];
|
||||
struct audiotrace *audiotrace_ptr;
|
||||
int audiotrace_count;
|
||||
|
||||
#define ATRACEINIT() { \
|
||||
if (audiotrace_ptr == NULL) \
|
||||
audiotrace_ptr = audiotrace_buffer; \
|
||||
}
|
||||
|
||||
#define ATRACE(func, act, obj) { \
|
||||
int _s = splhigh(); \
|
||||
int *_p = &audiotrace_ptr->count; \
|
||||
*_p++ = ++audiotrace_count; \
|
||||
*_p++ = (int)(func); \
|
||||
*_p++ = (act); \
|
||||
*_p++ = (int)(obj); \
|
||||
if ((struct audiotrace *)(void *)_p >= &audiotrace_buffer[NAUDIOTRACE])\
|
||||
audiotrace_ptr = audiotrace_buffer; \
|
||||
else \
|
||||
audiotrace_ptr = (struct audiotrace *)(void *)_p; \
|
||||
(void) splx(_s); \
|
||||
}
|
||||
|
||||
#define ATRACEI(func, act, obj) { \
|
||||
register int *_p = &audiotrace_ptr->count; \
|
||||
*_p++ = ++audiotrace_count; \
|
||||
*_p++ = (int)(func); \
|
||||
*_p++ = (act); \
|
||||
*_p++ = (int)(obj); \
|
||||
if ((struct audiotrace *)(void *)_p >= &audiotrace_buffer[NAUDIOTRACE])\
|
||||
audiotrace_ptr = audiotrace_buffer; \
|
||||
else \
|
||||
audiotrace_ptr = (struct audiotrace *)(void *)_p; \
|
||||
}
|
||||
|
||||
#define ATRACEPRINT(str) (void) printf(str)
|
||||
|
||||
#else /* !AUDIOTRACE */
|
||||
|
||||
/* If no tracing, define no-ops */
|
||||
#define ATRACEINIT()
|
||||
#define ATRACE(a, b, c)
|
||||
#define ATRACEI(a, b, c)
|
||||
#define ATRACEPRINT(str)
|
||||
|
||||
#endif /* !AUDIOTRACE */
|
||||
#endif /* __audiodebug_h__ */
|
||||
Reference in New Issue
Block a user