Adapt to the new format (several named control files). Provide a way to
[lttv.git] / ltt / branches / poly / include / ltt / event.h
CommitLineData
7c6b3cd7 1#ifndef EVENT_H
2#define EVENT_H
3
4#include <ltt/ltt.h>
975e44c7 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
1b82f325 12/* Obtain the trace unique integer id associated with the type of
975e44c7 13 this event */
14
290dfc8c 15unsigned ltt_event_eventtype_id(LttEvent *e);
975e44c7 16
17
18/* Facility and type for the event */
19
290dfc8c 20LttFacility *ltt_event_facility(LttEvent *e);
975e44c7 21
290dfc8c 22LttEventType *ltt_event_eventtype(LttEvent *e);
975e44c7 23
1b82f325 24
25/* Root field for the event */
26
290dfc8c 27LttField *ltt_event_field(LttEvent *e);
975e44c7 28
1b82f325 29
975e44c7 30/* Time and cycle count for the event */
31
290dfc8c 32LttTime ltt_event_time(LttEvent *e);
975e44c7 33
290dfc8c 34LttCycleCount ltt_event_cycle_count(LttEvent *e);
975e44c7 35
36
290dfc8c 37/* CPU id of the event */
975e44c7 38
290dfc8c 39unsigned ltt_event_cpu_id(LttEvent *e);
975e44c7 40
41
42/* Pointer to the raw data for the event. This should not be used directly
43 unless prepared to do all the architecture specific conversions. */
44
290dfc8c 45void *ltt_event_data(LttEvent *e);
975e44c7 46
47
48/* The number of elements in a sequence field is specific to each event.
49 This function returns the number of elements for an array or sequence
50 field in an event. */
51
290dfc8c 52unsigned ltt_event_field_element_number(LttEvent *e, LttField *f);
975e44c7 53
54
55/* Set the currently selected element for a sequence or array field. */
56
290dfc8c 57void ltt_event_field_element_select(LttEvent *e, LttField *f, unsigned i);
975e44c7 58
59
60/* These functions extract data from an event after architecture specific
61 conversions. */
62
290dfc8c 63unsigned ltt_event_get_unsigned(LttEvent *e, LttField *f);
975e44c7 64
290dfc8c 65int ltt_event_get_int(LttEvent *e, LttField *f);
975e44c7 66
290dfc8c 67unsigned long ltt_event_get_long_unsigned(LttEvent *e, LttField *f);
975e44c7 68
290dfc8c 69long int ltt_event_get_long_int(LttEvent *e, LttField *f);
975e44c7 70
290dfc8c 71float ltt_event_get_float(LttEvent *e, LttField *f);
975e44c7 72
290dfc8c 73double ltt_event_get_double(LttEvent *e, LttField *f);
975e44c7 74
75
76/* The string obtained is only valid until the next read from
77 the same tracefile. */
78
290dfc8c 79char *ltt_event_get_string(LttEvent *e, LttField *f);
7c6b3cd7 80
81#endif // EVENT_H
This page took 0.0256 seconds and 4 git commands to generate.