Project

General

Profile

Statistics
| Revision:

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 */