-
Notifications
You must be signed in to change notification settings - Fork 0
/
owl-user.h
45 lines (37 loc) · 1014 Bytes
/
owl-user.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#ifndef _OWL_USER_H_
#define _OWL_USER_H_
#include <stdint.h>
#if defined(__cplusplus)
extern "C" {
#endif
/* Little endian */
#define OWL_TRACE_FILE_HEADER_MAGIC 0x00706d75646c776fULL /* "owldump" */
#define OWL_TRACE_FILE_HEADER_SENTINEL 0x00646e65706d7564ULL /* "dumpend" */
struct owl_trace_file_header {
uint64_t magic;
uint32_t trace_format;
char hostname[32];
int64_t start_time; /* ns since Unix epoch */
int64_t stop_time; /* ns since Unix epoch */
uint16_t num_cpus;
unsigned:16; /* reserved */
uint64_t stream_info_size;
uint64_t stream_info_offs;
uint64_t tracebuf_size;
uint64_t tracebuf_offs;
uint64_t sched_info_size;
uint64_t sched_info_entries;
uint64_t sched_info_offs;
uint64_t map_info_size;
uint64_t map_info_offs;
uint64_t sentinel;
} __attribute__((packed));
struct owl_trace_file_cpu_header {
uint16_t cpu;
uint64_t:48; /* reserved */
uint64_t size; /* size of the trace for this cpu */
} __attribute__((packed));
#if defined(__cplusplus)
}
#endif
#endif