root / lab4 / .minix-src / include / minix / btrace.h @ 14
History | View | Annotate | Download (938 Bytes)
1 |
#ifndef _MINIX_BTRACE_H
|
---|---|
2 |
#define _MINIX_BTRACE_H
|
3 |
|
4 |
/* Control directives. */
|
5 |
enum {
|
6 |
BTCTL_START, |
7 |
BTCTL_STOP |
8 |
}; |
9 |
|
10 |
/* Request codes. */
|
11 |
enum {
|
12 |
BTREQ_OPEN, |
13 |
BTREQ_CLOSE, |
14 |
BTREQ_READ, |
15 |
BTREQ_WRITE, |
16 |
BTREQ_GATHER, |
17 |
BTREQ_SCATTER, |
18 |
BTREQ_IOCTL |
19 |
}; |
20 |
|
21 |
/* Special result codes. */
|
22 |
#define BTRES_INPROGRESS (-997) |
23 |
|
24 |
/* Block trace entry. */
|
25 |
typedef struct { |
26 |
u32_t request; /* request code; one of BTR_xxx */
|
27 |
u32_t size; /* request size, ioctl request, or access */
|
28 |
u64_t position; /* starting disk position */
|
29 |
u32_t flags; /* transfer flags */
|
30 |
i32_t result; /* request result; OK, bytes, or error */
|
31 |
u32_t start_time; /* request service start time (us) */
|
32 |
u32_t finish_time; /* request service completion time (us) */
|
33 |
} btrace_entry; /* (32 bytes) */
|
34 |
|
35 |
/* This is the number of btrace_entry structures copied out at once using the
|
36 |
* BIOCTRACEGET ioctl call.
|
37 |
*/
|
38 |
#define BTBUF_SIZE 1024 |
39 |
|
40 |
#endif /* _MINIX_BTRACE_H */ |