litl  0.1.1
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
Data Structures | Macros | Typedefs | Enumerations
litl_types.h File Reference

litl_types Provides a set of data structures for recording and reading events as well as merging and splitting trace files More...

#include <stdio.h>
#include <stdint.h>
#include <unistd.h>
#include <sys/syscall.h>

Go to the source code of this file.

Data Structures

struct  litl_t
 A general structure of LiTL event type. More...
 
struct  litl_general_header_t
 A general data structure that corresponds to the header of a trace file. More...
 
struct  litl_process_header_t
 A general data structure that corresponds to the header of a trace file. More...
 
struct  litl_thread_pair_t
 A data structure for pairs (tid, offset) stored in the trace header. More...
 
struct  litl_trace_triples_t
 A data structure for triples (nb_processes, position, offset) More...
 
struct  litl_write_buffer_t
 Thread-specific buffer. More...
 
struct  litl_write_trace_t
 A data structure for recording events. More...
 
struct  litl_read_event_t
 A data structure for reading one event. More...
 
struct  litl_read_thread_t
 A data structure for reading thread-specific events. More...
 
struct  litl_read_process_t
 A data structure for reading process-specific events. More...
 
struct  litl_read_trace_t
 A data structure for reading events from both regular trace files and archives of traces. More...
 
struct  litl_trace_merge_t
 A data structure for merging trace files into an archive of traces. More...
 
struct  litl_trace_split_t
 A data structure for splitting an archive of traces. More...
 

Macros

#define CUR_TID   syscall(SYS_gettid)
 A current thread ID. More...
 
#define LITL_OFFSET_CODE   13
 Defines the code of an event of type offset. More...
 
#define LITL_MAX_PARAMS   10
 Defines the maximum number of parameters. More...
 
#define LITL_MAX_DATA   (LITL_MAX_PARAMS * sizeof(litl_param_t))
 Defines the "maximum" size of raw data. More...
 
#define NBTHREADS   32
 Defines the maximum number of threads (pairs of tid and offset) stored in one data slot. More...
 
#define PRTIu32   "u"
 
#define PRTIx32   "x"
 
#define PRTIu64   "lu"
 
#define PRTIx64   "lx"
 
#define __litl_offset_of(TYPE, MEMBER)   ((size_t) &((TYPE*)0)->MEMBER)
 
#define LITL_BASE_SIZE   __litl_offset_of(litl_t, parameters.regular.param)
 

Typedefs

typedef uint64_t litl_tid_t
 A data type for storing thread IDs. More...
 
typedef uint64_t litl_time_t
 A data type for storing time stamps. More...
 
typedef uint64_t litl_trace_size_t
 A data type for storing traces sizes. More...
 
typedef uint64_t litl_param_t
 A data type for the non-optimized storage of parameters. More...
 
typedef uint64_t litl_offset_t
 A data type for storing offsets. More...
 
typedef uint8_t * litl_buffer_t
 A data type for storing sets of events. More...
 
typedef uint32_t litl_code_t
 A data type for storing events codes. More...
 
typedef uint32_t litl_size_t
 An auxiliary data type for storing data. More...
 
typedef uint16_t litl_med_size_t
 An auxiliary data type for the optimized storage of data. More...
 
typedef uint8_t litl_data_t
 A data type for the optimized storage of parameters. More...
 

Enumerations

enum  litl_type_t { LITL_TYPE_REGULAR, LITL_TYPE_RAW, LITL_TYPE_PACKED, LITL_TYPE_OFFSET }
 The enumeration of event types. More...
 

Detailed Description

litl_types Provides a set of data structures for recording and reading events as well as merging and splitting trace files

Authors
Developers are:
Roman Iakymchuk – roman.nosp@m..iak.nosp@m.ymchu.nosp@m.k@te.nosp@m.lecom.nosp@m.-sud.nosp@m.paris.nosp@m..eu
Francois Trahay – franc.nosp@m.ois..nosp@m.traha.nosp@m.y@te.nosp@m.lecom.nosp@m.-sud.nosp@m.paris.nosp@m..eu

Definition in file litl_types.h.

Macro Definition Documentation

#define __litl_offset_of (   TYPE,
  MEMBER 
)    ((size_t) &((TYPE*)0)->MEMBER)

Definition at line 451 of file litl_types.h.

#define LITL_BASE_SIZE   __litl_offset_of(litl_t, parameters.regular.param)

Definition at line 457 of file litl_types.h.

#define PRTIu32   "u"

Definition at line 434 of file litl_types.h.

#define PRTIu64   "lu"

Definition at line 442 of file litl_types.h.

#define PRTIx32   "x"

Definition at line 435 of file litl_types.h.

#define PRTIx64   "lx"

Definition at line 443 of file litl_types.h.