Windows NT 4.0 source code leak
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

118 lines
2.8 KiB

/* SccsId = @(#)dsktrace.h 1.9 04/12/95 */
/*
* dsktrace.h
*
* Jerry Kramskoy
* (reworked due to CI by Ade Brownlow )
*
*/
/* to use disk traceing, must set the relevant bit(s) with the yoda
* 'it' command (e.g it 20), which then lets user select info required
* AJO 15/12/92; Can also use yoda trace command, for which these constants
* were changed from (1 << 2) to 0x4 style cos' Alpha/OSF/1 compiler won't
* initialise a constant expression of this kind.
*/
/* trace fixed disk bios entry and exit
* (with status and CF on exit)
*/
#define CALL 0x1 /* reserved */
/* give info about BIOS command
*/
#define CMDINFO 0x2
/* give information about execution of BIOS command
* (gives results, and parameters of commands)
*/
#define XINFO 0x4
/* give execution status of BIOS command
* (flags errors during polls of disk controller, etc)
*/
#define XSTAT 0x8
/* trace physical attach,detach
*/
#define PAD 0x10
/* trace io attach,detach
*/
#define IOAD 0x20
/* trace inb's, outb's, etc
*/
#define PORTIO 0x40
/* trace fixed disk IRQ line
*/
#define INTRUPT 0x80
/* trace fixed disk hw activity
* (selects PORTIO, INTRUPT also)
*/
#define HWXINFO 0x100
/* disk data dump
*/
#define DDATA 0x200
/* trace host physical io (file pointer locn pre read(), write())
*/
#define PHYSIO 0x400
/* to activate fixed disk controller tracing, must set DHW bit
*/
#define DHW 0x4000
/* to activate disk BIOS tracing, must set DBIOS bit
*/
#define DBIOS 0x8000
/* wdctrl_bop reads/writes
*/
#define WDCTRL 0x10000
/*
* handles to be used when bundling up multiple trace output
*/
#define INW_TRACE_HNDL 1
#define OUTW_TRACE_HNDL 2
/* disk tracing macro
*/
#ifndef PROD
#define dt0(infoid,hndl,fmt) \
{if (io_verbose & HDA_VERBOSE) disktrace(infoid,0,hndl,fmt,0,0,0,0,0);}
#define dt1(infoid,hndl,fmt,i) \
{if (io_verbose & HDA_VERBOSE) disktrace(infoid,1,hndl,fmt,i,0,0,0,0);}
#define dt2(infoid,hndl,fmt,i,j) \
{if (io_verbose & HDA_VERBOSE) disktrace(infoid,2,hndl,fmt,i,j,0,0,0);}
#define dt3(infoid,hndl,fmt,i,j,k) \
{if (io_verbose & HDA_VERBOSE) disktrace(infoid,3,hndl,fmt,i,j,k,0,0);}
#define dt4(infoid,hndl,fmt,i,j,k,l) \
{if (io_verbose & HDA_VERBOSE) disktrace(infoid,4,hndl,fmt,i,j,k,l,0);}
#define dt5(infoid,hndl,fmt,i,j,k,l,m) \
{if (io_verbose & HDA_VERBOSE) disktrace(infoid,5,hndl,fmt,i,j,k,l,m);}
#else
#define dt0(infoid,hndl,fmt) ;
#define dt1(infoid,hndl,fmt,i) ;
#define dt2(infoid,hndl,fmt,i,j) ;
#define dt3(infoid,hndl,fmt,i,j,k) ;
#define dt4(infoid,hndl,fmt,i,j,k,l) ;
#define dt5(infoid,hndl,fmt,i,j,k,l,m) ;
#endif
#ifndef PROD
VOID setdisktrace();
IMPORT IU32 disktraceinfo;
#ifdef ANSI
void disktrace (int, int, int, char *, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long);
#else
VOID disktrace();
#endif /* ANSI */
#endif