327 #define __LITL_WRITE_ADD_ARG(ptr, param) do { \
328 typeof(param) _param = param; \
329 memcpy(ptr, &_param, sizeof(_param)); \
330 ptr = ((char*) ptr)+sizeof(_param); \
341 #define litl_write_probe_pack_0(trace, \
343 int total_size = LITL_BASE_SIZE; \
344 litl_t* p_evt = __litl_write_get_event(trace, \
348 p_evt->parameters.packed.size = total_size - LITL_BASE_SIZE; \
359 #define litl_write_probe_pack_1(trace, \
362 int total_size = LITL_BASE_SIZE + sizeof(param1); \
363 litl_t* p_evt = __litl_write_get_event(trace, \
368 p_evt->parameters.packed.size = total_size - LITL_BASE_SIZE; \
369 void* _ptr_ = &p_evt->parameters.packed.param[0]; \
370 __LITL_WRITE_ADD_ARG(_ptr_, param1); \
382 #define litl_write_probe_pack_2(trace, \
386 int total_size = LITL_BASE_SIZE + sizeof(param1) + sizeof(param2); \
387 litl_t* p_evt = __litl_write_get_event(trace, \
392 p_evt->parameters.packed.size = total_size - LITL_BASE_SIZE; \
393 void* _ptr_ = &p_evt->parameters.packed.param[0]; \
394 __LITL_WRITE_ADD_ARG(_ptr_, param1); \
395 __LITL_WRITE_ADD_ARG(_ptr_, param2); \
408 #define litl_write_probe_pack_3(trace, \
413 int total_size = LITL_BASE_SIZE + sizeof(param1) + sizeof(param2) + \
415 litl_t* p_evt = __litl_write_get_event(trace, \
420 p_evt->parameters.packed.size = total_size - LITL_BASE_SIZE; \
421 void* _ptr_ = &p_evt->parameters.packed.param[0]; \
422 __LITL_WRITE_ADD_ARG(_ptr_, param1); \
423 __LITL_WRITE_ADD_ARG(_ptr_, param2); \
424 __LITL_WRITE_ADD_ARG(_ptr_, param3); \
438 #define litl_write_probe_pack_4(trace, \
444 int total_size = LITL_BASE_SIZE + sizeof(param1) + sizeof(param2) + \
445 sizeof(param3) + sizeof(param4); \
446 litl_t* p_evt = __litl_write_get_event(trace, \
451 p_evt->parameters.packed.size = total_size - LITL_BASE_SIZE; \
452 void* _ptr_ = &p_evt->parameters.packed.param[0]; \
453 __LITL_WRITE_ADD_ARG(_ptr_, param1); \
454 __LITL_WRITE_ADD_ARG(_ptr_, param2); \
455 __LITL_WRITE_ADD_ARG(_ptr_, param3); \
456 __LITL_WRITE_ADD_ARG(_ptr_, param4); \
471 #define litl_write_probe_pack_5(trace, \
478 int total_size = LITL_BASE_SIZE + sizeof(param1) + sizeof(param2) + \
479 sizeof(param3) + sizeof(param4) +sizeof(param5); \
480 litl_t* p_evt = __litl_write_get_event(trace, \
485 p_evt->parameters.packed.size = total_size - LITL_BASE_SIZE; \
486 void* _ptr_ = &p_evt->parameters.packed.param[0]; \
487 __LITL_WRITE_ADD_ARG(_ptr_, param1); \
488 __LITL_WRITE_ADD_ARG(_ptr_, param2); \
489 __LITL_WRITE_ADD_ARG(_ptr_, param3); \
490 __LITL_WRITE_ADD_ARG(_ptr_, param4); \
491 __LITL_WRITE_ADD_ARG(_ptr_, param5); \
507 #define litl_write_probe_pack_6(trace, \
515 int total_size = LITL_BASE_SIZE + sizeof(param1) + sizeof(param2) + \
516 sizeof(param3) + sizeof(param4) + sizeof(param5) + sizeof(param6); \
517 litl_t* p_evt = __litl_write_get_event(trace, \
522 p_evt->parameters.packed.size = total_size - LITL_BASE_SIZE; \
523 void* _ptr_ = &p_evt->parameters.packed.param[0]; \
524 __LITL_WRITE_ADD_ARG(_ptr_, param1); \
525 __LITL_WRITE_ADD_ARG(_ptr_, param2); \
526 __LITL_WRITE_ADD_ARG(_ptr_, param3); \
527 __LITL_WRITE_ADD_ARG(_ptr_, param4); \
528 __LITL_WRITE_ADD_ARG(_ptr_, param5); \
529 __LITL_WRITE_ADD_ARG(_ptr_, param6); \
546 #define litl_write_probe_pack_7(trace, \
555 int total_size = LITL_BASE_SIZE + sizeof(param1) + sizeof(param2) + \
556 sizeof(param3) + sizeof(param4) + sizeof(param5) + sizeof(param6) \
558 litl_t* p_evt = __litl_write_get_event(trace, \
563 p_evt->parameters.packed.size = total_size - LITL_BASE_SIZE; \
564 void* _ptr_ = &p_evt->parameters.packed.param[0]; \
565 __LITL_WRITE_ADD_ARG(_ptr_, param1); \
566 __LITL_WRITE_ADD_ARG(_ptr_, param2); \
567 __LITL_WRITE_ADD_ARG(_ptr_, param3); \
568 __LITL_WRITE_ADD_ARG(_ptr_, param4); \
569 __LITL_WRITE_ADD_ARG(_ptr_, param5); \
570 __LITL_WRITE_ADD_ARG(_ptr_, param6); \
571 __LITL_WRITE_ADD_ARG(_ptr_, param7); \
589 #define litl_write_probe_pack_8(trace, \
599 int total_size = LITL_BASE_SIZE + sizeof(param1) + sizeof(param2) + \
600 sizeof(param3) + sizeof(param4) + sizeof(param5) + sizeof(param6) \
601 + sizeof(param7) + sizeof(param8); \
602 litl_t* p_evt = __litl_write_get_event(trace, \
607 p_evt->parameters.packed.size = total_size - LITL_BASE_SIZE; \
608 void* _ptr_ = &p_evt->parameters.packed.param[0]; \
609 __LITL_WRITE_ADD_ARG(_ptr_, param1); \
610 __LITL_WRITE_ADD_ARG(_ptr_, param2); \
611 __LITL_WRITE_ADD_ARG(_ptr_, param3); \
612 __LITL_WRITE_ADD_ARG(_ptr_, param4); \
613 __LITL_WRITE_ADD_ARG(_ptr_, param5); \
614 __LITL_WRITE_ADD_ARG(_ptr_, param6); \
615 __LITL_WRITE_ADD_ARG(_ptr_, param7); \
616 __LITL_WRITE_ADD_ARG(_ptr_, param8); \
635 #define litl_write_probe_pack_9(trace, \
646 int total_size = LITL_BASE_SIZE + sizeof(param1) + sizeof(param2) + \
647 sizeof(param3) + sizeof(param4) + sizeof(param5) + sizeof(param6) \
648 + sizeof(param7) + sizeof(param8) + sizeof(param9); \
649 litl_t* p_evt = __litl_write_get_event(trace, \
654 p_evt->parameters.packed.size = total_size - LITL_BASE_SIZE; \
655 void* _ptr_ = &p_evt->parameters.packed.param[0]; \
656 __LITL_WRITE_ADD_ARG(_ptr_, param1); \
657 __LITL_WRITE_ADD_ARG(_ptr_, param2); \
658 __LITL_WRITE_ADD_ARG(_ptr_, param3); \
659 __LITL_WRITE_ADD_ARG(_ptr_, param4); \
660 __LITL_WRITE_ADD_ARG(_ptr_, param5); \
661 __LITL_WRITE_ADD_ARG(_ptr_, param6); \
662 __LITL_WRITE_ADD_ARG(_ptr_, param7); \
663 __LITL_WRITE_ADD_ARG(_ptr_, param8); \
664 __LITL_WRITE_ADD_ARG(_ptr_, param9); \
684 #define litl_write_probe_pack_10(trace, \
696 int total_size = LITL_BASE_SIZE + sizeof(param1) + sizeof(param2) + \
697 sizeof(param3) + sizeof(param4) + sizeof(param5) + sizeof(param6) + \
698 sizeof(param7) + sizeof(param8) + sizeof(param9) + sizeof(param10); \
699 litl_t* p_evt = __litl_write_get_event(trace, \
704 p_evt->parameters.packed.size = total_size - LITL_BASE_SIZE; \
705 void* _ptr_ = &p_evt->parameters.packed.param[0]; \
706 __LITL_WRITE_ADD_ARG(_ptr_, param1); \
707 __LITL_WRITE_ADD_ARG(_ptr_, param2); \
708 __LITL_WRITE_ADD_ARG(_ptr_, param3); \
709 __LITL_WRITE_ADD_ARG(_ptr_, param4); \
710 __LITL_WRITE_ADD_ARG(_ptr_, param5); \
711 __LITL_WRITE_ADD_ARG(_ptr_, param6); \
712 __LITL_WRITE_ADD_ARG(_ptr_, param7); \
713 __LITL_WRITE_ADD_ARG(_ptr_, param8); \
714 __LITL_WRITE_ADD_ARG(_ptr_, param9); \
715 __LITL_WRITE_ADD_ARG(_ptr_, param10); \
void litl_write_probe_reg_7(litl_write_trace_t *trace, litl_code_t code, litl_param_t param1, litl_param_t param2, litl_param_t param3, litl_param_t param4, litl_param_t param5, litl_param_t param6, litl_param_t param7)
Records a regular event with 7 parameters.
void litl_write_probe_raw(litl_write_trace_t *trace, litl_code_t code, litl_size_t size, litl_data_t data[])
Records an event with data in a string format.
litl_type_t
The enumeration of event types.
void litl_write_probe_reg_0(litl_write_trace_t *trace, litl_code_t code)
Records a regular event without parameters.
void litl_write_buffer_flush_on(litl_write_trace_t *trace)
Activates buffer flush.
void litl_write_probe_reg_5(litl_write_trace_t *trace, litl_code_t code, litl_param_t param1, litl_param_t param2, litl_param_t param3, litl_param_t param4, litl_param_t param5)
Records a regular event with 5 parameters.
uint64_t litl_param_t
A data type for the non-optimized storage of parameters.
void litl_write_thread_safety_on(litl_write_trace_t *trace)
Activates thread safety.
void litl_write_thread_safety_off(litl_write_trace_t *trace)
Deactivates thread safety. By default, it is activated.
void litl_write_probe_reg_4(litl_write_trace_t *trace, litl_code_t code, litl_param_t param1, litl_param_t param2, litl_param_t param3, litl_param_t param4)
Records a regular event with 4 parameters.
A data structure for recording events.
litl_write_trace_t * litl_write_init_trace(const uint32_t buf_size)
Initializes the trace buffer.
A general structure of LiTL event type.
void litl_write_tid_recording_off(litl_write_trace_t *trace)
Deactivates recording tid. By default, it is activated.
void litl_write_probe_reg_2(litl_write_trace_t *trace, litl_code_t code, litl_param_t param1, litl_param_t param2)
Records a regular event with 2 parameters.
void litl_write_probe_reg_8(litl_write_trace_t *trace, litl_code_t code, litl_param_t param1, litl_param_t param2, litl_param_t param3, litl_param_t param4, litl_param_t param5, litl_param_t param6, litl_param_t param7, litl_param_t param8)
Records a regular event with 8 parameters.
void litl_write_finalize_trace(litl_write_trace_t *trace)
Finalizes the trace.
litl_t * __litl_write_get_event(litl_write_trace_t *trace, litl_type_t type, litl_code_t code, int size)
For internal use only. Allocates an event.
void litl_write_probe_reg_1(litl_write_trace_t *trace, litl_code_t code, litl_param_t param1)
Records a regular event with 1 parameter.
uint8_t litl_data_t
A data type for the optimized storage of parameters.
litl_types Provides a set of data structures for recording and reading events as well as merging and ...
void litl_write_probe_reg_3(litl_write_trace_t *trace, litl_code_t code, litl_param_t param1, litl_param_t param2, litl_param_t param3)
Records a regular event with 3 parameters.
void litl_write_resume_recording(litl_write_trace_t *trace)
Resumes the event recording.
void litl_write_probe_reg_10(litl_write_trace_t *trace, litl_code_t code, litl_param_t param1, litl_param_t param2, litl_param_t param3, litl_param_t param4, litl_param_t param5, litl_param_t param6, litl_param_t param7, litl_param_t param8, litl_param_t param9, litl_param_t param10)
Records a regular event with 10 parameters.
uint32_t litl_size_t
An auxiliary data type for storing data.
void litl_write_set_filename(litl_write_trace_t *trace, char *filename)
Sets a new name for the trace file.
void litl_write_tid_recording_on(litl_write_trace_t *trace)
Activates recording tid.
void litl_write_buffer_flush_off(litl_write_trace_t *trace)
Deactivates buffer flush. By default, it is activated.
void litl_write_pause_recording(litl_write_trace_t *trace)
Pauses the event recording.
void litl_write_probe_reg_9(litl_write_trace_t *trace, litl_code_t code, litl_param_t param1, litl_param_t param2, litl_param_t param3, litl_param_t param4, litl_param_t param5, litl_param_t param6, litl_param_t param7, litl_param_t param8, litl_param_t param9)
Records a regular event with 9 parameters.
void litl_write_probe_reg_6(litl_write_trace_t *trace, litl_code_t code, litl_param_t param1, litl_param_t param2, litl_param_t param3, litl_param_t param4, litl_param_t param5, litl_param_t param6)
Records a regular event with 6 parameters.
uint32_t litl_code_t
A data type for storing events codes.