339 #define __LITL_WRITE_ADD_ARG(ptr, param) do { \ 340 typeof(param) _param = param; \ 341 memcpy(ptr, &_param, sizeof(_param)); \ 342 ptr = ((char*) ptr)+sizeof(_param); \ 353 #define litl_write_probe_pack_0(trace, \ 356 int total_size = 0; \ 357 litl_t* p_evt = __litl_write_get_event(trace, \ 370 #define litl_write_probe_pack_1(trace, \ 375 int total_size = sizeof(param1); \ 376 litl_t* p_evt = __litl_write_get_event(trace, \ 381 void* _ptr_ = &p_evt->parameters.packed.param[0]; \ 382 __LITL_WRITE_ADD_ARG(_ptr_, param1); \ 395 #define litl_write_probe_pack_2(trace, \ 401 int total_size = sizeof(param1) + sizeof(param2); \ 402 litl_t* p_evt = __litl_write_get_event(trace, \ 407 void* _ptr_ = &p_evt->parameters.packed.param[0]; \ 408 __LITL_WRITE_ADD_ARG(_ptr_, param1); \ 409 __LITL_WRITE_ADD_ARG(_ptr_, param2); \ 423 #define litl_write_probe_pack_3(trace, \ 429 int total_size = sizeof(param1) + sizeof(param2) + \ 431 litl_t* p_evt = __litl_write_get_event(trace, \ 436 void* _ptr_ = &p_evt->parameters.packed.param[0]; \ 437 __LITL_WRITE_ADD_ARG(_ptr_, param1); \ 438 __LITL_WRITE_ADD_ARG(_ptr_, param2); \ 439 __LITL_WRITE_ADD_ARG(_ptr_, param3); \ 454 #define litl_write_probe_pack_4(trace, \ 461 int total_size = sizeof(param1) + sizeof(param2) + \ 462 sizeof(param3) + sizeof(param4); \ 463 litl_t* p_evt = __litl_write_get_event(trace, \ 468 void* _ptr_ = &p_evt->parameters.packed.param[0]; \ 469 __LITL_WRITE_ADD_ARG(_ptr_, param1); \ 470 __LITL_WRITE_ADD_ARG(_ptr_, param2); \ 471 __LITL_WRITE_ADD_ARG(_ptr_, param3); \ 472 __LITL_WRITE_ADD_ARG(_ptr_, param4); \ 488 #define litl_write_probe_pack_5(trace, \ 496 int total_size = sizeof(param1) + sizeof(param2) + \ 497 sizeof(param3) + sizeof(param4) +sizeof(param5); \ 498 litl_t* p_evt = __litl_write_get_event(trace, \ 503 void* _ptr_ = &p_evt->parameters.packed.param[0]; \ 504 __LITL_WRITE_ADD_ARG(_ptr_, param1); \ 505 __LITL_WRITE_ADD_ARG(_ptr_, param2); \ 506 __LITL_WRITE_ADD_ARG(_ptr_, param3); \ 507 __LITL_WRITE_ADD_ARG(_ptr_, param4); \ 508 __LITL_WRITE_ADD_ARG(_ptr_, param5); \ 525 #define litl_write_probe_pack_6(trace, \ 534 int total_size = sizeof(param1) + sizeof(param2) + \ 535 sizeof(param3) + sizeof(param4) + sizeof(param5) + sizeof(param6); \ 536 litl_t* p_evt = __litl_write_get_event(trace, \ 541 void* _ptr_ = &p_evt->parameters.packed.param[0]; \ 542 __LITL_WRITE_ADD_ARG(_ptr_, param1); \ 543 __LITL_WRITE_ADD_ARG(_ptr_, param2); \ 544 __LITL_WRITE_ADD_ARG(_ptr_, param3); \ 545 __LITL_WRITE_ADD_ARG(_ptr_, param4); \ 546 __LITL_WRITE_ADD_ARG(_ptr_, param5); \ 547 __LITL_WRITE_ADD_ARG(_ptr_, param6); \ 565 #define litl_write_probe_pack_7(trace, \ 575 int total_size = sizeof(param1) + sizeof(param2) + \ 576 sizeof(param3) + sizeof(param4) + sizeof(param5) + sizeof(param6) \ 578 litl_t* p_evt = __litl_write_get_event(trace, \ 583 void* _ptr_ = &p_evt->parameters.packed.param[0]; \ 584 __LITL_WRITE_ADD_ARG(_ptr_, param1); \ 585 __LITL_WRITE_ADD_ARG(_ptr_, param2); \ 586 __LITL_WRITE_ADD_ARG(_ptr_, param3); \ 587 __LITL_WRITE_ADD_ARG(_ptr_, param4); \ 588 __LITL_WRITE_ADD_ARG(_ptr_, param5); \ 589 __LITL_WRITE_ADD_ARG(_ptr_, param6); \ 590 __LITL_WRITE_ADD_ARG(_ptr_, param7); \ 609 #define litl_write_probe_pack_8(trace, \ 620 int total_size = sizeof(param1) + sizeof(param2) + \ 621 sizeof(param3) + sizeof(param4) + sizeof(param5) + sizeof(param6) \ 622 + sizeof(param7) + sizeof(param8); \ 623 litl_t* p_evt = __litl_write_get_event(trace, \ 628 void* _ptr_ = &p_evt->parameters.packed.param[0]; \ 629 __LITL_WRITE_ADD_ARG(_ptr_, param1); \ 630 __LITL_WRITE_ADD_ARG(_ptr_, param2); \ 631 __LITL_WRITE_ADD_ARG(_ptr_, param3); \ 632 __LITL_WRITE_ADD_ARG(_ptr_, param4); \ 633 __LITL_WRITE_ADD_ARG(_ptr_, param5); \ 634 __LITL_WRITE_ADD_ARG(_ptr_, param6); \ 635 __LITL_WRITE_ADD_ARG(_ptr_, param7); \ 636 __LITL_WRITE_ADD_ARG(_ptr_, param8); \ 656 #define litl_write_probe_pack_9(trace, \ 668 int total_size = sizeof(param1) + sizeof(param2) + \ 669 sizeof(param3) + sizeof(param4) + sizeof(param5) + sizeof(param6) \ 670 + sizeof(param7) + sizeof(param8) + sizeof(param9); \ 671 litl_t* p_evt = __litl_write_get_event(trace, \ 676 void* _ptr_ = &p_evt->parameters.packed.param[0]; \ 677 __LITL_WRITE_ADD_ARG(_ptr_, param1); \ 678 __LITL_WRITE_ADD_ARG(_ptr_, param2); \ 679 __LITL_WRITE_ADD_ARG(_ptr_, param3); \ 680 __LITL_WRITE_ADD_ARG(_ptr_, param4); \ 681 __LITL_WRITE_ADD_ARG(_ptr_, param5); \ 682 __LITL_WRITE_ADD_ARG(_ptr_, param6); \ 683 __LITL_WRITE_ADD_ARG(_ptr_, param7); \ 684 __LITL_WRITE_ADD_ARG(_ptr_, param8); \ 685 __LITL_WRITE_ADD_ARG(_ptr_, param9); \ 706 #define litl_write_probe_pack_10(trace, \ 719 int total_size = sizeof(param1) + sizeof(param2) + \ 720 sizeof(param3) + sizeof(param4) + sizeof(param5) + sizeof(param6) + \ 721 sizeof(param7) + sizeof(param8) + sizeof(param9) + sizeof(param10); \ 722 litl_t* p_evt = __litl_write_get_event(trace, \ 727 void* _ptr_ = &p_evt->parameters.packed.param[0]; \ 728 __LITL_WRITE_ADD_ARG(_ptr_, param1); \ 729 __LITL_WRITE_ADD_ARG(_ptr_, param2); \ 730 __LITL_WRITE_ADD_ARG(_ptr_, param3); \ 731 __LITL_WRITE_ADD_ARG(_ptr_, param4); \ 732 __LITL_WRITE_ADD_ARG(_ptr_, param5); \ 733 __LITL_WRITE_ADD_ARG(_ptr_, param6); \ 734 __LITL_WRITE_ADD_ARG(_ptr_, param7); \ 735 __LITL_WRITE_ADD_ARG(_ptr_, param8); \ 736 __LITL_WRITE_ADD_ARG(_ptr_, param9); \ 737 __LITL_WRITE_ADD_ARG(_ptr_, param10); \ litl_t * 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.
litl_type_t
The enumeration of event types.
void litl_write_buffer_flush_on(litl_write_trace_t *trace)
Enable buffer flush. By default, it is disabled.
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)
Enable thread safety.
litl_t * 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.
litl_t * 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.
void litl_write_thread_safety_off(litl_write_trace_t *trace)
Disable thread safety. By default, it is enabled.
litl_t * 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.
litl_t * 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.
A data structure for recording events.
litl_t * 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_write_trace_t * litl_write_init_trace(const uint32_t buf_size)
Initializes the trace buffer.
A general structure of LiTL event type.
litl_t * 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_tid_recording_off(litl_write_trace_t *trace)
Disable recording tid. By default, it is enabled.
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.
litl_t * 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.
litl_t * 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.
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_resume_recording(litl_write_trace_t *trace)
Resumes the event recording.
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.
litl_t * 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.
litl_t * 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.
void litl_write_tid_recording_on(litl_write_trace_t *trace)
Enable recording tid.
void litl_write_buffer_flush_off(litl_write_trace_t *trace)
Disable buffer flush.
litl_t * litl_write_probe_reg_0(litl_write_trace_t *trace, litl_code_t code)
Records a regular event without parameters.
void litl_write_pause_recording(litl_write_trace_t *trace)
Pauses the event recording.
uint32_t litl_code_t
A data type for storing events codes.