41 lines
938 B
C
41 lines
938 B
C
|
#ifndef _MINIX_BTRACE_H
|
||
|
#define _MINIX_BTRACE_H
|
||
|
|
||
|
/* Control directives. */
|
||
|
enum {
|
||
|
BTCTL_START,
|
||
|
BTCTL_STOP
|
||
|
};
|
||
|
|
||
|
/* Request codes. */
|
||
|
enum {
|
||
|
BTREQ_OPEN,
|
||
|
BTREQ_CLOSE,
|
||
|
BTREQ_READ,
|
||
|
BTREQ_WRITE,
|
||
|
BTREQ_GATHER,
|
||
|
BTREQ_SCATTER,
|
||
|
BTREQ_IOCTL
|
||
|
};
|
||
|
|
||
|
/* Special result codes. */
|
||
|
#define BTRES_INPROGRESS (-997)
|
||
|
|
||
|
/* Block trace entry. */
|
||
|
typedef struct {
|
||
|
u32_t request; /* request code; one of BTR_xxx */
|
||
|
u32_t size; /* request size, ioctl request, or access */
|
||
|
u64_t position; /* starting disk position */
|
||
|
u32_t flags; /* transfer flags */
|
||
|
i32_t result; /* request result; OK, bytes, or error */
|
||
|
u32_t start_time; /* request service start time (us) */
|
||
|
u32_t finish_time; /* request service completion time (us) */
|
||
|
} btrace_entry; /* (32 bytes) */
|
||
|
|
||
|
/* This is the number of btrace_entry structures copied out at once using the
|
||
|
* BIOCTRACEGET ioctl call.
|
||
|
*/
|
||
|
#define BTBUF_SIZE 1024
|
||
|
|
||
|
#endif /* _MINIX_BTRACE_H */
|