24 static char* __input_filename =
"trace";
26 static void __litl_read_usage(
int argc __attribute__((unused)),
char **argv) {
27 fprintf(stderr,
"Usage: %s [-f input_filename] \n", argv[0]);
28 printf(
" -?, -h: Display this help and exit\n");
31 static void __litl_read_parse_args(
int argc,
char **argv) {
34 for (i = 1; i < argc; i++) {
35 if ((strcmp(argv[i],
"-f") == 0)) {
36 __input_filename = argv[++i];
37 }
else if ((strcmp(argv[i],
"-h") || strcmp(argv[i],
"-?")) == 0) {
38 __litl_read_usage(argc, argv);
40 }
else if (argv[i][0] ==
'-') {
41 fprintf(stderr,
"Unknown option %s\n", argv[i]);
42 __litl_read_usage(argc, argv);
47 if (strcmp(__input_filename,
"trace") == 0) {
48 __litl_read_usage(argc, argv);
53 int main(
int argc,
char **argv) {
61 __litl_read_parse_args(argc, argv);
71 printf(
" LiTL v.%s\n", trace_header->
litl_ver);
72 printf(
" %s\n", trace_header->
sysinfo);
73 printf(
" nb_processes \t %d\n", trace_header->
nb_processes);
75 printf(
" nb_threads \t %d\n", process_header->
nb_threads);
77 " buffer_size \t %d\n",
83 "[Timestamp]\t[ThreadID]\t[EventType]\t[EventCode]\t[NbParam]\t[Parameters]\n");
#define LITL_READ_GET_TID(read_event)
Returns a thread id of a given event.
A data structure for reading events from both regular trace files and archives of traces...
#define LITL_MAX_PARAMS
Defines the maximum number of parameters.
litl_read_trace_t * litl_read_open_trace(const char *filename)
Opens a trace and reads the first portion of data (trace header) to the buffer.
litl_process_header_t * litl_read_get_process_header(litl_read_process_t *process)
Returns a pointer to the process header.
#define LITL_READ_PACKED(read_event)
Returns a size and a list of parameters of a packed event.
#define LITL_READ_GET_TIME(read_event)
Returns a time stamp of a given event.
A data structure for reading one event.
litl_process_header_t * header
int main(int argc, char **argv)
void litl_read_finalize_trace(litl_read_trace_t *trace)
Closes the trace and frees the allocated memory.
uint16_t litl_med_size_t
An auxiliary data type for the optimized storage of data.
#define LITL_READ_GET_TYPE(read_event)
Returns a type of a given event.
litl_read_event_t * litl_read_next_event(litl_read_trace_t *trace)
Reads the next event from a trace file.
uint8_t litl_data_t
A data type for the optimized storage of parameters.
#define LITL_READ_REGULAR(read_event)
Returns a size and a list of parameters of a regular event.
#define LITL_READ_RAW(read_event)
Returns a size and parameters in the string format of a raw event.
litl_read_process_t ** processes
litl_read Provides a set of functions for reading events from a regular trace file or an archive of t...
#define LITL_READ_GET_CODE(read_event)
Returns a code of a given event.
void litl_read_init_processes(litl_read_trace_t *trace)
Initializes the event reading structure.
litl_general_header_t * litl_read_get_trace_header(litl_read_trace_t *trace)
Returns a pointer to the trace header.