first version of header files
[lttv.git] / ltt / branches / poly / include / ltt / event.h
1 #ifndef EVENT_H
2 #define EVENT_H
3
4 #include <ltt/ltt.h>
5
6 /* Events and their content, including the raw data, are only valid
7 until reading another event from the same tracefile.
8 Indeed, since event reading is critical to the performance,
9 the memory associated with an event may be reused at each read. */
10
11
12 /* Obtain the tracefile unique integer id associated with the type of
13 this event */
14
15 unsigned ltt_event_eventtype_id(ltt_event *e);
16
17
18 /* Facility and type for the event */
19
20 ltt_facility *ltt_event_facility(ltt_event *e);
21
22 ltt_eventtype *ltt_event_eventtype(ltt_event *e);
23
24 ltt_field *ltt_event_field(ltt_event *e);
25
26 /* Time and cycle count for the event */
27
28 ltt_time ltt_event_time(ltt_event *e);
29
30 ltt_cycle_count ltt_event_cycle_count(ltt_event *e);
31
32
33 /* CPU id and system name of the event */
34
35 unsigned ltt_event_cpu_id(ltt_event *e);
36
37 char *ltt_event_system_name(ltt_event *e);
38
39
40 /* Pointer to the raw data for the event. This should not be used directly
41 unless prepared to do all the architecture specific conversions. */
42
43 void *ltt_event_data(ltt_event *e);
44
45
46 /* The number of elements in a sequence field is specific to each event.
47 This function returns the number of elements for an array or sequence
48 field in an event. */
49
50 unsigned ltt_event_field_element_number(ltt_event *e, ltt_field *f);
51
52
53 /* Set the currently selected element for a sequence or array field. */
54
55 int ltt_event_field_element_select(ltt_event *e, ltt_field *f, unsigned i);
56
57
58 /* These functions extract data from an event after architecture specific
59 conversions. */
60
61 unsigned ltt_event_get_unsigned(ltt_event *e, ltt_field *f);
62
63 int ltt_event_get_int(ltt_event *e, ltt_field *f);
64
65 unsigned long ltt_event_get_long_unsigned(ltt_event *e, ltt_field *f);
66
67 long int ltt_event_get_long_int(ltt_event *e, ltt_field *f);
68
69 float ltt_event_get_float(ltt_event *e, ltt_field *f);
70
71 double ltt_event_get_double(ltt_event *e, ltt_field *f);
72
73
74 /* The string obtained is only valid until the next read from
75 the same tracefile. */
76
77 char *ltt_event_get_string(ltt_event *e, ltt_field *f);
78
79 #endif // EVENT_H
This page took 0.030504 seconds and 4 git commands to generate.