RTEMS  5.1
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
Event Recording

Low-level event recording support. More...

Data Structures

struct  rtems_record_client_per_cpu
 
struct  rtems_record_client_context
 
struct  rtems_record_item_32
 The 32-bit format record item. More...
 
struct  rtems_record_dump_base64_zlib_context
 The context for record dumps with zlib compression and base64 encoding. More...
 

Macros

#define rtems_record_caller()   _Record_Caller( RTEMS_RETURN_ADDRESS() )
 Generates an RTEMS_RECORD_CALLER and an RTEMS_RECORD_LINE event. More...
 
#define rtems_record_caller_3(event, data)   _Record_Caller_3( RTEMS_RETURN_ADDRESS(), event, data )
 Generates an RTEMS_RECORD_CALLER, an RTEMS_RECORD_LINE event, and an extra event. More...
 
#define rtems_record_caller_4(event_0, data_0, event_1, data_1)
 Generates an RTEMS_RECORD_CALLER, an RTEMS_RECORD_LINE event, and two extra events. More...
 
#define rtems_record_caller_arg(data)   _Record_Caller_arg( RTEMS_RETURN_ADDRESS(), data )
 Generates an RTEMS_RECORD_CALLER event, an RTEMS_RECORD_LINE event, and one argument event. More...
 
#define rtems_record_caller_arg_2(data_0, data_1)
 Generates an RTEMS_RECORD_CALLER event, an RTEMS_RECORD_LINE event, and two argument events. More...
 
#define rtems_record_caller_arg_3(data_0, data_1, data_2)
 Generates an RTEMS_RECORD_CALLER event, an RTEMS_RECORD_LINE event, and three argument events. More...
 
#define rtems_record_caller_arg_4(data_0, data_1, data_2, data_3)
 Generates an RTEMS_RECORD_CALLER event, an RTEMS_RECORD_LINE event, and four argument events. More...
 
#define rtems_record_caller_arg_5(data_0, data_1, data_2, data_3, data_4)
 Generates an RTEMS_RECORD_CALLER event, an RTEMS_RECORD_LINE event, and five argument events. More...
 
#define rtems_record_caller_arg_6(data_0, data_1, data_2, data_3, data_4, data_5)
 Generates an RTEMS_RECORD_CALLER event, an RTEMS_RECORD_LINE event, and six argument events. More...
 
#define rtems_record_caller_arg_7(data_0, data_1, data_2, data_3, data_4, data_5, data_6)
 Generates an RTEMS_RECORD_CALLER event, an RTEMS_RECORD_LINE event, and seven argument events. More...
 
#define rtems_record_caller_arg_8(data_0, data_1, data_2, data_3, data_4, data_5, data_6, data_7)
 Generates an RTEMS_RECORD_CALLER event, an RTEMS_RECORD_LINE event, and eight argument events. More...
 
#define rtems_record_caller_arg_9(data_0, data_1, data_2, data_3, data_4, data_5, data_6, data_7, data_8)
 Generates an RTEMS_RECORD_CALLER event, an RTEMS_RECORD_LINE event, and nine argument events. More...
 
#define rtems_record_caller_arg_10(data_0, data_1, data_2, data_3, data_4, data_5, data_6, data_7, data_8, data_9)
 Generates an RTEMS_RECORD_CALLER event, an RTEMS_RECORD_LINE event, and ten argument events. More...
 
#define rtems_record_entry(event)   rtems_record_produce( event, (rtems_record_data) RTEMS_RETURN_ADDRESS() )
 Generates the specified entry event. More...
 
#define rtems_record_entry_1(event, data)
 Generates the specified entry event and an argument event. More...
 
#define rtems_record_entry_2(event, data_0, data_1)   _Record_Entry_2( RTEMS_RETURN_ADDRESS(), event, data_0, data_1 )
 Generates the specified entry event and two argument events. More...
 
#define rtems_record_entry_3(event, data_0, data_1, data_2)
 Generates the specified entry event and three argument events. More...
 
#define rtems_record_entry_4(event, data_0, data_1, data_2, data_3)
 Generates the specified entry event and four argument events. More...
 
#define rtems_record_entry_5(event, data_0, data_1, data_2, data_3, data_4)
 Generates the specified entry event and five argument events. More...
 
#define rtems_record_entry_6(event, data_0, data_1, data_2, data_3, data_4, data_5)
 Generates the specified entry event and six argument events. More...
 
#define rtems_record_entry_7(event, data_0, data_1, data_2, data_3, data_4, data_5, data_6)
 Generates the specified entry event and seven argument events. More...
 
#define rtems_record_entry_8(event, data_0, data_1, data_2, data_3, data_4, data_5, data_6, data_7)
 Generates the specified entry event and eight argument events. More...
 
#define rtems_record_entry_9(event, data_0, data_1, data_2, data_3, data_4, data_5, data_6, data_7, data_8)
 Generates the specified entry event and nine argument events. More...
 
#define rtems_record_entry_10(event, data_0, data_1, data_2, data_3, data_4, data_5, data_6, data_7, data_8, data_9)
 Generates the specified entry event and ten argument events. More...
 
#define rtems_record_exit(event)   rtems_record_produce( event, (rtems_record_data) RTEMS_RETURN_ADDRESS() )
 Generates the specified exit event. More...
 
#define rtems_record_exit_1(event, data)
 Generates the specified exit event and a return event. More...
 
#define rtems_record_exit_2(event, data_0, data_1)   _Record_Entry_2( RTEMS_RETURN_ADDRESS(), event, data_0, data_1 )
 Generates the specified exit event and two argument events. More...
 
#define rtems_record_exit_3(event, data_0, data_1, data_2)
 Generates the specified exit event and three argument events. More...
 
#define rtems_record_exit_4(event, data_0, data_1, data_2, data_3)
 Generates the specified exit event and four argument events. More...
 
#define rtems_record_exit_5(event, data_0, data_1, data_2, data_3, data_4)
 Generates the specified exit event and five argument events. More...
 
#define rtems_record_exit_6(event, data_0, data_1, data_2, data_3, data_4, data_5)
 Generates the specified exit event and six argument events. More...
 
#define rtems_record_exit_7(event, data_0, data_1, data_2, data_3, data_4, data_5, data_6)
 Generates the specified exit event and seven argument events. More...
 
#define rtems_record_exit_8(event, data_0, data_1, data_2, data_3, data_4, data_5, data_6, data_7)
 Generates the specified exit event and eight argument events. More...
 
#define rtems_record_exit_9(event, data_0, data_1, data_2, data_3, data_4, data_5, data_6, data_7, data_8)
 Generates the specified exit event and nine argument events. More...
 
#define rtems_record_exit_10(event, data_0, data_1, data_2, data_3, data_4, data_5, data_6, data_7, data_8, data_9)
 Generates the specified exit event and ten argument events. More...
 
#define RTEMS_RECORD_CLIENT_MAXIMUM_CPU_COUNT   32
 
#define RTEMS_RECORD_THE_VERSION   9
 The record version. More...
 
#define RTEMS_RECORD_FORMAT_LE_32   0x11111111
 The items are in 32-bit little-endian format.
 
#define RTEMS_RECORD_FORMAT_LE_64   0x22222222
 The items are in 64-bit little-endian format.
 
#define RTEMS_RECORD_FORMAT_BE_32   0x33333333
 The items are in 32-bit big-endian format.
 
#define RTEMS_RECORD_FORMAT_BE_64   0x44444444
 The items are in 64-bit big-endian format.
 
#define RTEMS_RECORD_MAGIC   0x82e14ec1
 Magic number to identify a record item stream. More...
 
#define RTEMS_RECORD_LAST   RTEMS_RECORD_USER_511
 
#define RTEMS_RECORD_USER(index)   ( RTEMS_RECORD_USER_0 + ( index ) )
 
#define RTEMS_RECORD_EVENT_BITS   10
 Bits in the record item event member reserved for the actual event.
 
#define RTEMS_RECORD_TIME_BITS   22
 Bits in the record item event member reserved for the time of the event.
 
#define RTEMS_RECORD_TIME_EVENT(time, event)   ( ( ( time ) << RTEMS_RECORD_EVENT_BITS ) | ( event ) )
 Builds a time event for the specified time stamp and event. More...
 
#define RTEMS_RECORD_GET_TIME(time_event)   ( ( time_event ) >> RTEMS_RECORD_EVENT_BITS )
 Gets the time of a time event.
 
#define RTEMS_RECORD_GET_EVENT(time_event)   ( ( time_event ) & ( ( 1U << RTEMS_RECORD_EVENT_BITS ) - 1U ) )
 Gets the event of a time event.
 

Typedefs

typedef void(* rtems_record_drain_visitor) (const rtems_record_item *items, size_t count, void *arg)
 
typedef rtems_record_client_status(* rtems_record_client_handler) (uint64_t bt, uint32_t cpu, rtems_record_event event, uint64_t data, void *arg)
 
typedef struct rtems_record_client_context rtems_record_client_context
 
typedef unsigned long rtems_record_data
 The record data integer type. More...
 
typedef void(* rtems_record_dump_chunk) (void *arg, const void *data, size_t length)
 Handler for record dumps to output a chunk of data. More...
 

Enumerations

enum  rtems_record_client_status {
  RTEMS_RECORD_CLIENT_SUCCESS, RTEMS_RECORD_CLIENT_ERROR_INVALID_MAGIC, RTEMS_RECORD_CLIENT_ERROR_UNKNOWN_FORMAT, RTEMS_RECORD_CLIENT_ERROR_UNSUPPORTED_VERSION,
  RTEMS_RECORD_CLIENT_ERROR_UNSUPPORTED_CPU, RTEMS_RECORD_CLIENT_ERROR_UNSUPPORTED_CPU_MAX, RTEMS_RECORD_CLIENT_ERROR_DOUBLE_CPU_MAX, RTEMS_RECORD_CLIENT_ERROR_DOUBLE_PER_CPU_COUNT,
  RTEMS_RECORD_CLIENT_ERROR_NO_CPU_MAX, RTEMS_RECORD_CLIENT_ERROR_NO_MEMORY, RTEMS_RECORD_CLIENT_ERROR_PER_CPU_ITEMS_OVERFLOW
}
 
enum  rtems_record_event {
  RTEMS_RECORD_EMPTY, RTEMS_RECORD_VERSION, RTEMS_RECORD_ACCEPT_ENTRY, RTEMS_RECORD_ACCEPT_EXIT,
  RTEMS_RECORD_ADDRESS, RTEMS_RECORD_ALIGNED_ALLOC_ENTRY, RTEMS_RECORD_ALIGNED_ALLOC_EXIT, RTEMS_RECORD_ARCH,
  RTEMS_RECORD_ARG_0, RTEMS_RECORD_ARG_1, RTEMS_RECORD_ARG_2, RTEMS_RECORD_ARG_3,
  RTEMS_RECORD_ARG_4, RTEMS_RECORD_ARG_5, RTEMS_RECORD_ARG_6, RTEMS_RECORD_ARG_7,
  RTEMS_RECORD_ARG_8, RTEMS_RECORD_ARG_9, RTEMS_RECORD_BIND_ENTRY, RTEMS_RECORD_BIND_EXIT,
  RTEMS_RECORD_BSP, RTEMS_RECORD_BUFFER, RTEMS_RECORD_CALLER, RTEMS_RECORD_CALLOC_ENTRY,
  RTEMS_RECORD_CALLOC_EXIT, RTEMS_RECORD_CHOWN_ENTRY, RTEMS_RECORD_CHOWN_EXIT, RTEMS_RECORD_CLOSE_ENTRY,
  RTEMS_RECORD_CLOSE_EXIT, RTEMS_RECORD_CONNECT_ENTRY, RTEMS_RECORD_CONNECT_EXIT, RTEMS_RECORD_ETHER_INPUT,
  RTEMS_RECORD_ETHER_OUTPUT, RTEMS_RECORD_ERRNO, RTEMS_RECORD_FATAL_CODE, RTEMS_RECORD_FATAL_SOURCE,
  RTEMS_RECORD_FCHMOD_ENTRY, RTEMS_RECORD_FCHMOD_EXIT, RTEMS_RECORD_FCNTL_ENTRY, RTEMS_RECORD_FCNTL_EXIT,
  RTEMS_RECORD_FDATASYNC_ENTRY, RTEMS_RECORD_FDATASYNC_EXIT, RTEMS_RECORD_FREE_ENTRY, RTEMS_RECORD_FREE_EXIT,
  RTEMS_RECORD_FREQUENCY, RTEMS_RECORD_FSTAT_ENTRY, RTEMS_RECORD_FSTAT_EXIT, RTEMS_RECORD_FSYNC_ENTRY,
  RTEMS_RECORD_FSYNC_EXIT, RTEMS_RECORD_FTRUNCATE_ENTRY, RTEMS_RECORD_FTRUNCATE_EXIT, RTEMS_RECORD_FUNCTION_ENTRY,
  RTEMS_RECORD_FUNCTION_EXIT, RTEMS_RECORD_GETSOCKOPT_ENTRY, RTEMS_RECORD_GETSOCKOPT_EXIT, RTEMS_RECORD_HEAP_ALLOC,
  RTEMS_RECORD_HEAP_FREE, RTEMS_RECORD_HEAP_SIZE, RTEMS_RECORD_HEAP_USAGE, RTEMS_RECORD_INTERRUPT_ENTRY,
  RTEMS_RECORD_INTERRUPT_EXIT, RTEMS_RECORD_INTERRUPT_INSTALL, RTEMS_RECORD_INTERRUPT_REMOVE, RTEMS_RECORD_INTERRUPT_SERVER_ENTRY,
  RTEMS_RECORD_INTERRUPT_SERVER_EXIT, RTEMS_RECORD_INTERRUPT_SERVER_INSTALL, RTEMS_RECORD_INTERRUPT_SERVER_MOVE, RTEMS_RECORD_INTERRUPT_SERVER_REMOVE,
  RTEMS_RECORD_INTERRUPT_SERVER_TRIGGER, RTEMS_RECORD_IOCTL_ENTRY, RTEMS_RECORD_IOCTL_EXIT, RTEMS_RECORD_IP6_INPUT,
  RTEMS_RECORD_IP6_OUTPUT, RTEMS_RECORD_IP_INPUT, RTEMS_RECORD_IP_OUTPUT, RTEMS_RECORD_ISR_DISABLE,
  RTEMS_RECORD_ISR_ENABLE, RTEMS_RECORD_ISR_LOCK_ACQUIRE_ENTRY, RTEMS_RECORD_ISR_LOCK_ACQUIRE_EXIT, RTEMS_RECORD_ISR_LOCK_ADDRESS,
  RTEMS_RECORD_ISR_LOCK_DESTROY, RTEMS_RECORD_ISR_LOCK_INITIALIZE, RTEMS_RECORD_ISR_LOCK_NAME, RTEMS_RECORD_ISR_LOCK_RELEASE,
  RTEMS_RECORD_KEVENT_ENTRY, RTEMS_RECORD_KEVENT_EXIT, RTEMS_RECORD_KQUEUE_ENTRY, RTEMS_RECORD_KQUEUE_EXIT,
  RTEMS_RECORD_LENGTH, RTEMS_RECORD_LINE, RTEMS_RECORD_LINK_ENTRY, RTEMS_RECORD_LINK_EXIT,
  RTEMS_RECORD_LISTEN_ENTRY, RTEMS_RECORD_LISTEN_EXIT, RTEMS_RECORD_LSEEK_ENTRY, RTEMS_RECORD_LSEEK_EXIT,
  RTEMS_RECORD_MALLOC_ENTRY, RTEMS_RECORD_MALLOC_EXIT, RTEMS_RECORD_MEMORY, RTEMS_RECORD_MKNOD_ENTRY,
  RTEMS_RECORD_MKNOD_EXIT, RTEMS_RECORD_MMAP_ENTRY, RTEMS_RECORD_MMAP_EXIT, RTEMS_RECORD_MOUNT_ENTRY,
  RTEMS_RECORD_MOUNT_EXIT, RTEMS_RECORD_MULTILIB, RTEMS_RECORD_OPEN_ENTRY, RTEMS_RECORD_OPEN_EXIT,
  RTEMS_RECORD_PAGE_ALLOC, RTEMS_RECORD_PAGE_FREE, RTEMS_RECORD_PER_CPU_COUNT, RTEMS_RECORD_PER_CPU_HEAD,
  RTEMS_RECORD_PER_CPU_OVERFLOW, RTEMS_RECORD_PER_CPU_TAIL, RTEMS_RECORD_POLL_ENTRY, RTEMS_RECORD_POLL_EXIT,
  RTEMS_RECORD_POSIX_MEMALIGN_ENTRY, RTEMS_RECORD_POSIX_MEMALIGN_EXIT, RTEMS_RECORD_PROCESSOR, RTEMS_RECORD_PROCESSOR_MAXIMUM,
  RTEMS_RECORD_READ_ENTRY, RTEMS_RECORD_READ_EXIT, RTEMS_RECORD_READLINK_ENTRY, RTEMS_RECORD_READLINK_EXIT,
  RTEMS_RECORD_READV_ENTRY, RTEMS_RECORD_READV_EXIT, RTEMS_RECORD_REALLOC_ENTRY, RTEMS_RECORD_REALLOC_EXIT,
  RTEMS_RECORD_RECV_ENTRY, RTEMS_RECORD_RECV_EXIT, RTEMS_RECORD_RECVFROM_ENTRY, RTEMS_RECORD_RECVFROM_EXIT,
  RTEMS_RECORD_RECVMSG_ENTRY, RTEMS_RECORD_RECVMSG_EXIT, RTEMS_RECORD_REGISTERS, RTEMS_RECORD_RENAME_ENTRY,
  RTEMS_RECORD_RENAME_EXIT, RTEMS_RECORD_RETURN_0, RTEMS_RECORD_RETURN_1, RTEMS_RECORD_RETURN_2,
  RTEMS_RECORD_RETURN_3, RTEMS_RECORD_RETURN_4, RTEMS_RECORD_RETURN_5, RTEMS_RECORD_RETURN_6,
  RTEMS_RECORD_RETURN_7, RTEMS_RECORD_RETURN_8, RTEMS_RECORD_RETURN_9, RTEMS_RECORD_RTEMS_BARRIER_CREATE,
  RTEMS_RECORD_RTEMS_BARRIER_DELETE, RTEMS_RECORD_RTEMS_BARRIER_RELEASE, RTEMS_RECORD_RTEMS_BARRIER_WAIT, RTEMS_RECORD_RTEMS_CALLOC_ENTRY,
  RTEMS_RECORD_RTEMS_CALLOC_EXIT, RTEMS_RECORD_RTEMS_EVENT_RECEIVE, RTEMS_RECORD_RTEMS_EVENT_SEND, RTEMS_RECORD_RTEMS_EVENT_SYSTEM_RECEIVE,
  RTEMS_RECORD_RTEMS_EVENT_SYSTEM_SEND, RTEMS_RECORD_RTEMS_MALLOC_ENTRY, RTEMS_RECORD_RTEMS_MALLOC_EXIT, RTEMS_RECORD_RTEMS_MESSAGE_QUEUE_BROADCAST,
  RTEMS_RECORD_RTEMS_MESSAGE_QUEUE_CREATE, RTEMS_RECORD_RTEMS_MESSAGE_QUEUE_DELETE, RTEMS_RECORD_RTEMS_MESSAGE_QUEUE_FLUSH, RTEMS_RECORD_RTEMS_MESSAGE_QUEUE_RECEIVE,
  RTEMS_RECORD_RTEMS_MESSAGE_QUEUE_SEND, RTEMS_RECORD_RTEMS_MESSAGE_QUEUE_URGENT, RTEMS_RECORD_RTEMS_PARTITION_CREATE, RTEMS_RECORD_RTEMS_PARTITION_DELETE,
  RTEMS_RECORD_RTEMS_PARTITION_GET_BUFFER, RTEMS_RECORD_RTEMS_PARTITION_RETURN_BUFFER, RTEMS_RECORD_RTEMS_RATE_MONOTONIC_CANCEL, RTEMS_RECORD_RTEMS_RATE_MONOTONIC_CREATE,
  RTEMS_RECORD_RTEMS_RATE_MONOTONIC_DELETE, RTEMS_RECORD_RTEMS_RATE_MONOTONIC_PERIOD, RTEMS_RECORD_RTEMS_SEMAPHORE_CREATE, RTEMS_RECORD_RTEMS_SEMAPHORE_DELETE,
  RTEMS_RECORD_RTEMS_SEMAPHORE_FLUSH, RTEMS_RECORD_RTEMS_SEMAPHORE_OBTAIN, RTEMS_RECORD_RTEMS_SEMAPHORE_RELEASE, RTEMS_RECORD_RTEMS_TIMER_CANCEL,
  RTEMS_RECORD_RTEMS_TIMER_CREATE, RTEMS_RECORD_RTEMS_TIMER_DELETE, RTEMS_RECORD_RTEMS_TIMER_FIRE_AFTER, RTEMS_RECORD_RTEMS_TIMER_FIRE_WHEN,
  RTEMS_RECORD_RTEMS_TIMER_RESET, RTEMS_RECORD_RTEMS_TIMER_SERVER_FIRE_AFTER, RTEMS_RECORD_RTEMS_TIMER_SERVER_FIRE_WHEN, RTEMS_RECORD_SBWAIT_ENTRY,
  RTEMS_RECORD_SBWAIT_EXIT, RTEMS_RECORD_SBWAKEUP_ENTRY, RTEMS_RECORD_SBWAKEUP_EXIT, RTEMS_RECORD_SCHEDULER_ADD_PROCESSOR,
  RTEMS_RECORD_SCHEDULER_ASK_FOR_HELP, RTEMS_RECORD_SCHEDULER_BLOCK, RTEMS_RECORD_SCHEDULER_CANCEL_JOB, RTEMS_RECORD_SCHEDULER_ID,
  RTEMS_RECORD_SCHEDULER_MAP_PRIORITY, RTEMS_RECORD_SCHEDULER_NAME, RTEMS_RECORD_SCHEDULER_PIN, RTEMS_RECORD_SCHEDULER_RECONSIDER_HELP_REQUEST,
  RTEMS_RECORD_SCHEDULER_RELEASE_JOB, RTEMS_RECORD_SCHEDULER_REMOVE_PROCESSOR, RTEMS_RECORD_SCHEDULER_SCHEDULE, RTEMS_RECORD_SCHEDULER_SET_AFFINITY,
  RTEMS_RECORD_SCHEDULER_TICK, RTEMS_RECORD_SCHEDULER_UNBLOCK, RTEMS_RECORD_SCHEDULER_UNMAP_PRIORITY, RTEMS_RECORD_SCHEDULER_UNPIN,
  RTEMS_RECORD_SCHEDULER_UPDATE_PRIORITY, RTEMS_RECORD_SCHEDULER_WITHDRAW_NODE, RTEMS_RECORD_SCHEDULER_YIELD, RTEMS_RECORD_SELECT_ENTRY,
  RTEMS_RECORD_SELECT_EXIT, RTEMS_RECORD_SEND_ENTRY, RTEMS_RECORD_SEND_EXIT, RTEMS_RECORD_SENDMSG_ENTRY,
  RTEMS_RECORD_SENDMSG_EXIT, RTEMS_RECORD_SENDTO_ENTRY, RTEMS_RECORD_SENDTO_EXIT, RTEMS_RECORD_SETSOCKOPT_ENTRY,
  RTEMS_RECORD_SETSOCKOPT_EXIT, RTEMS_RECORD_SHUTDOWN_ENTRY, RTEMS_RECORD_SHUTDOWN_EXIT, RTEMS_RECORD_SOABORT_ENTRY,
  RTEMS_RECORD_SOABORT_EXIT, RTEMS_RECORD_SOACCEPT_ENTRY, RTEMS_RECORD_SOACCEPT_EXIT, RTEMS_RECORD_SOALLOC_ENTRY,
  RTEMS_RECORD_SOALLOC_EXIT, RTEMS_RECORD_SOBINDAT_ENTRY, RTEMS_RECORD_SOBINDAT_EXIT, RTEMS_RECORD_SOBIND_ENTRY,
  RTEMS_RECORD_SOBIND_EXIT, RTEMS_RECORD_SOCKET_ENTRY, RTEMS_RECORD_SOCKET_EXIT, RTEMS_RECORD_SOCLOSE_ENTRY,
  RTEMS_RECORD_SOCLOSE_EXIT, RTEMS_RECORD_SOCONNECT2_ENTRY, RTEMS_RECORD_SOCONNECT2_EXIT, RTEMS_RECORD_SOCONNECTAT_ENTRY,
  RTEMS_RECORD_SOCONNECTAT_EXIT, RTEMS_RECORD_SOCREATE_ENTRY, RTEMS_RECORD_SOCREATE_EXIT, RTEMS_RECORD_SODEALLOC_ENTRY,
  RTEMS_RECORD_SODEALLOC_EXIT, RTEMS_RECORD_SODISCONNECT_ENTRY, RTEMS_RECORD_SODISCONNECT_EXIT, RTEMS_RECORD_SOFREE_ENTRY,
  RTEMS_RECORD_SOFREE_EXIT, RTEMS_RECORD_SOLISTEN_ENTRY, RTEMS_RECORD_SOLISTEN_EXIT, RTEMS_RECORD_SONEWCONN_ENTRY,
  RTEMS_RECORD_SONEWCONN_EXIT, RTEMS_RECORD_SORECEIVE_ENTRY, RTEMS_RECORD_SORECEIVE_EXIT, RTEMS_RECORD_SORFLUSH_ENTRY,
  RTEMS_RECORD_SORFLUSH_EXIT, RTEMS_RECORD_SOSEND_ENTRY, RTEMS_RECORD_SOSEND_EXIT, RTEMS_RECORD_SOSHUTDOWN_ENTRY,
  RTEMS_RECORD_SOSHUTDOWN_EXIT, RTEMS_RECORD_STATVFS_ENTRY, RTEMS_RECORD_STATVFS_EXIT, RTEMS_RECORD_SYMLINK_ENTRY,
  RTEMS_RECORD_SYMLINK_EXIT, RTEMS_RECORD_TCP_CLOSE, RTEMS_RECORD_TCP_INPUT, RTEMS_RECORD_TCP_OUTPUT,
  RTEMS_RECORD_THREAD_BEGIN, RTEMS_RECORD_THREAD_CONTINUE_ENTRY, RTEMS_RECORD_THREAD_CONTINUE_EXIT, RTEMS_RECORD_THREAD_CREATE,
  RTEMS_RECORD_THREAD_DELETE, RTEMS_RECORD_THREAD_DISPATCH_DISABLE, RTEMS_RECORD_THREAD_DISPATCH_ENABLE, RTEMS_RECORD_THREAD_EXIT,
  RTEMS_RECORD_THREAD_EXITTED, RTEMS_RECORD_THREAD_ID, RTEMS_RECORD_THREAD_NAME, RTEMS_RECORD_THREAD_PRIO_CURRENT_HIGH,
  RTEMS_RECORD_THREAD_PRIO_CURRENT_LOW, RTEMS_RECORD_THREAD_PRIO_REAL_HIGH, RTEMS_RECORD_THREAD_PRIO_REAL_LOW, RTEMS_RECORD_THREAD_QUEUE_ADDRESS,
  RTEMS_RECORD_THREAD_QUEUE_DESTROY, RTEMS_RECORD_THREAD_QUEUE_ENQUEUE, RTEMS_RECORD_THREAD_QUEUE_ENQUEUE_STICKY, RTEMS_RECORD_THREAD_QUEUE_EXTRACT,
  RTEMS_RECORD_THREAD_QUEUE_ID, RTEMS_RECORD_THREAD_QUEUE_INITIALIZE, RTEMS_RECORD_THREAD_QUEUE_NAME, RTEMS_RECORD_THREAD_QUEUE_SURRENDER,
  RTEMS_RECORD_THREAD_QUEUE_SURRENDER_STICKY, RTEMS_RECORD_THREAD_RESOURCE_OBTAIN, RTEMS_RECORD_THREAD_RESOURCE_RELEASE, RTEMS_RECORD_THREAD_RESTART,
  RTEMS_RECORD_THREAD_STACK_CURRENT, RTEMS_RECORD_THREAD_STACK_SIZE, RTEMS_RECORD_THREAD_STACK_USAGE, RTEMS_RECORD_THREAD_START,
  RTEMS_RECORD_THREAD_STATE_CLEAR, RTEMS_RECORD_THREAD_STATE_SET, RTEMS_RECORD_THREAD_SWITCH_IN, RTEMS_RECORD_THREAD_SWITCH_OUT,
  RTEMS_RECORD_THREAD_TERMINATE, RTEMS_RECORD_THREAD_TIMER_INSERT_MONOTONIC, RTEMS_RECORD_THREAD_TIMER_INSERT_REALTIME, RTEMS_RECORD_THREAD_TIMER_INSERT_TICKS,
  RTEMS_RECORD_THREAD_TIMER_REMOVE, RTEMS_RECORD_TOOLS, RTEMS_RECORD_UDP_INPUT, RTEMS_RECORD_UDP_OUTPUT,
  RTEMS_RECORD_UMA_ALLOC_PTR, RTEMS_RECORD_UMA_ALLOC_ZONE, RTEMS_RECORD_UMA_FREE_PTR, RTEMS_RECORD_UMA_FREE_ZONE,
  RTEMS_RECORD_UNLINK_ENTRY, RTEMS_RECORD_UNLINK_EXIT, RTEMS_RECORD_UNMOUNT_ENTRY, RTEMS_RECORD_UNMOUNT_EXIT,
  RTEMS_RECORD_UPTIME_HIGH, RTEMS_RECORD_UPTIME_LOW, RTEMS_RECORD_VERSION_CONTROL_KEY, RTEMS_RECORD_WATCHDOG_ADDRESS,
  RTEMS_RECORD_WATCHDOG_CPU, RTEMS_RECORD_WATCHDOG_INITIALIZE, RTEMS_RECORD_WATCHDOG_INSERT, RTEMS_RECORD_WATCHDOG_PREINITIALIZE,
  RTEMS_RECORD_WATCHDOG_REMOVE, RTEMS_RECORD_WATCHDOG_ROUTINE, RTEMS_RECORD_WATCHDOG_STATE, RTEMS_RECORD_WORKSPACE_ALLOC_ENTRY,
  RTEMS_RECORD_WORKSPACE_ALLOC_EXIT, RTEMS_RECORD_WORKSPACE_FREE_ENTY, RTEMS_RECORD_WORKSPACE_FREE_EXIT, RTEMS_RECORD_WORKSPACE_SIZE,
  RTEMS_RECORD_WORKSPACE_USAGE, RTEMS_RECORD_WRITE_ENTRY, RTEMS_RECORD_WRITE_EXIT, RTEMS_RECORD_WRITEV_ENTRY,
  RTEMS_RECORD_WRITEV_EXIT, RTEMS_RECORD_SYSTEM_341, RTEMS_RECORD_SYSTEM_342, RTEMS_RECORD_SYSTEM_343,
  RTEMS_RECORD_SYSTEM_344, RTEMS_RECORD_SYSTEM_345, RTEMS_RECORD_SYSTEM_346, RTEMS_RECORD_SYSTEM_347,
  RTEMS_RECORD_SYSTEM_348, RTEMS_RECORD_SYSTEM_349, RTEMS_RECORD_SYSTEM_350, RTEMS_RECORD_SYSTEM_351,
  RTEMS_RECORD_SYSTEM_352, RTEMS_RECORD_SYSTEM_353, RTEMS_RECORD_SYSTEM_354, RTEMS_RECORD_SYSTEM_355,
  RTEMS_RECORD_SYSTEM_356, RTEMS_RECORD_SYSTEM_357, RTEMS_RECORD_SYSTEM_358, RTEMS_RECORD_SYSTEM_359,
  RTEMS_RECORD_SYSTEM_360, RTEMS_RECORD_SYSTEM_361, RTEMS_RECORD_SYSTEM_362, RTEMS_RECORD_SYSTEM_363,
  RTEMS_RECORD_SYSTEM_364, RTEMS_RECORD_SYSTEM_365, RTEMS_RECORD_SYSTEM_366, RTEMS_RECORD_SYSTEM_367,
  RTEMS_RECORD_SYSTEM_368, RTEMS_RECORD_SYSTEM_369, RTEMS_RECORD_SYSTEM_370, RTEMS_RECORD_SYSTEM_371,
  RTEMS_RECORD_SYSTEM_372, RTEMS_RECORD_SYSTEM_373, RTEMS_RECORD_SYSTEM_374, RTEMS_RECORD_SYSTEM_375,
  RTEMS_RECORD_SYSTEM_376, RTEMS_RECORD_SYSTEM_377, RTEMS_RECORD_SYSTEM_378, RTEMS_RECORD_SYSTEM_379,
  RTEMS_RECORD_SYSTEM_380, RTEMS_RECORD_SYSTEM_381, RTEMS_RECORD_SYSTEM_382, RTEMS_RECORD_SYSTEM_383,
  RTEMS_RECORD_SYSTEM_384, RTEMS_RECORD_SYSTEM_385, RTEMS_RECORD_SYSTEM_386, RTEMS_RECORD_SYSTEM_387,
  RTEMS_RECORD_SYSTEM_388, RTEMS_RECORD_SYSTEM_389, RTEMS_RECORD_SYSTEM_390, RTEMS_RECORD_SYSTEM_391,
  RTEMS_RECORD_SYSTEM_392, RTEMS_RECORD_SYSTEM_393, RTEMS_RECORD_SYSTEM_394, RTEMS_RECORD_SYSTEM_395,
  RTEMS_RECORD_SYSTEM_396, RTEMS_RECORD_SYSTEM_397, RTEMS_RECORD_SYSTEM_398, RTEMS_RECORD_SYSTEM_399,
  RTEMS_RECORD_SYSTEM_400, RTEMS_RECORD_SYSTEM_401, RTEMS_RECORD_SYSTEM_402, RTEMS_RECORD_SYSTEM_403,
  RTEMS_RECORD_SYSTEM_404, RTEMS_RECORD_SYSTEM_405, RTEMS_RECORD_SYSTEM_406, RTEMS_RECORD_SYSTEM_407,
  RTEMS_RECORD_SYSTEM_408, RTEMS_RECORD_SYSTEM_409, RTEMS_RECORD_SYSTEM_410, RTEMS_RECORD_SYSTEM_411,
  RTEMS_RECORD_SYSTEM_412, RTEMS_RECORD_SYSTEM_413, RTEMS_RECORD_SYSTEM_414, RTEMS_RECORD_SYSTEM_415,
  RTEMS_RECORD_SYSTEM_416, RTEMS_RECORD_SYSTEM_417, RTEMS_RECORD_SYSTEM_418, RTEMS_RECORD_SYSTEM_419,
  RTEMS_RECORD_SYSTEM_420, RTEMS_RECORD_SYSTEM_421, RTEMS_RECORD_SYSTEM_422, RTEMS_RECORD_SYSTEM_423,
  RTEMS_RECORD_SYSTEM_424, RTEMS_RECORD_SYSTEM_425, RTEMS_RECORD_SYSTEM_426, RTEMS_RECORD_SYSTEM_427,
  RTEMS_RECORD_SYSTEM_428, RTEMS_RECORD_SYSTEM_429, RTEMS_RECORD_SYSTEM_430, RTEMS_RECORD_SYSTEM_431,
  RTEMS_RECORD_SYSTEM_432, RTEMS_RECORD_SYSTEM_433, RTEMS_RECORD_SYSTEM_434, RTEMS_RECORD_SYSTEM_435,
  RTEMS_RECORD_SYSTEM_436, RTEMS_RECORD_SYSTEM_437, RTEMS_RECORD_SYSTEM_438, RTEMS_RECORD_SYSTEM_439,
  RTEMS_RECORD_SYSTEM_440, RTEMS_RECORD_SYSTEM_441, RTEMS_RECORD_SYSTEM_442, RTEMS_RECORD_SYSTEM_443,
  RTEMS_RECORD_SYSTEM_444, RTEMS_RECORD_SYSTEM_445, RTEMS_RECORD_SYSTEM_446, RTEMS_RECORD_SYSTEM_447,
  RTEMS_RECORD_SYSTEM_448, RTEMS_RECORD_SYSTEM_449, RTEMS_RECORD_SYSTEM_450, RTEMS_RECORD_SYSTEM_451,
  RTEMS_RECORD_SYSTEM_452, RTEMS_RECORD_SYSTEM_453, RTEMS_RECORD_SYSTEM_454, RTEMS_RECORD_SYSTEM_455,
  RTEMS_RECORD_SYSTEM_456, RTEMS_RECORD_SYSTEM_457, RTEMS_RECORD_SYSTEM_458, RTEMS_RECORD_SYSTEM_459,
  RTEMS_RECORD_SYSTEM_460, RTEMS_RECORD_SYSTEM_461, RTEMS_RECORD_SYSTEM_462, RTEMS_RECORD_SYSTEM_463,
  RTEMS_RECORD_SYSTEM_464, RTEMS_RECORD_SYSTEM_465, RTEMS_RECORD_SYSTEM_466, RTEMS_RECORD_SYSTEM_467,
  RTEMS_RECORD_SYSTEM_468, RTEMS_RECORD_SYSTEM_469, RTEMS_RECORD_SYSTEM_470, RTEMS_RECORD_SYSTEM_471,
  RTEMS_RECORD_SYSTEM_472, RTEMS_RECORD_SYSTEM_473, RTEMS_RECORD_SYSTEM_474, RTEMS_RECORD_SYSTEM_475,
  RTEMS_RECORD_SYSTEM_476, RTEMS_RECORD_SYSTEM_477, RTEMS_RECORD_SYSTEM_478, RTEMS_RECORD_SYSTEM_479,
  RTEMS_RECORD_SYSTEM_480, RTEMS_RECORD_SYSTEM_481, RTEMS_RECORD_SYSTEM_482, RTEMS_RECORD_SYSTEM_483,
  RTEMS_RECORD_SYSTEM_484, RTEMS_RECORD_SYSTEM_485, RTEMS_RECORD_SYSTEM_486, RTEMS_RECORD_SYSTEM_487,
  RTEMS_RECORD_SYSTEM_488, RTEMS_RECORD_SYSTEM_489, RTEMS_RECORD_SYSTEM_490, RTEMS_RECORD_SYSTEM_491,
  RTEMS_RECORD_SYSTEM_492, RTEMS_RECORD_SYSTEM_493, RTEMS_RECORD_SYSTEM_494, RTEMS_RECORD_SYSTEM_495,
  RTEMS_RECORD_SYSTEM_496, RTEMS_RECORD_SYSTEM_497, RTEMS_RECORD_SYSTEM_498, RTEMS_RECORD_SYSTEM_499,
  RTEMS_RECORD_SYSTEM_500, RTEMS_RECORD_SYSTEM_501, RTEMS_RECORD_SYSTEM_502, RTEMS_RECORD_SYSTEM_503,
  RTEMS_RECORD_SYSTEM_504, RTEMS_RECORD_SYSTEM_505, RTEMS_RECORD_SYSTEM_506, RTEMS_RECORD_SYSTEM_507,
  RTEMS_RECORD_SYSTEM_508, RTEMS_RECORD_SYSTEM_509, RTEMS_RECORD_SYSTEM_510, RTEMS_RECORD_SYSTEM_511,
  RTEMS_RECORD_USER_0, RTEMS_RECORD_USER_1, RTEMS_RECORD_USER_2, RTEMS_RECORD_USER_3,
  RTEMS_RECORD_USER_4, RTEMS_RECORD_USER_5, RTEMS_RECORD_USER_6, RTEMS_RECORD_USER_7,
  RTEMS_RECORD_USER_8, RTEMS_RECORD_USER_9, RTEMS_RECORD_USER_10, RTEMS_RECORD_USER_11,
  RTEMS_RECORD_USER_12, RTEMS_RECORD_USER_13, RTEMS_RECORD_USER_14, RTEMS_RECORD_USER_15,
  RTEMS_RECORD_USER_16, RTEMS_RECORD_USER_17, RTEMS_RECORD_USER_18, RTEMS_RECORD_USER_19,
  RTEMS_RECORD_USER_20, RTEMS_RECORD_USER_21, RTEMS_RECORD_USER_22, RTEMS_RECORD_USER_23,
  RTEMS_RECORD_USER_24, RTEMS_RECORD_USER_25, RTEMS_RECORD_USER_26, RTEMS_RECORD_USER_27,
  RTEMS_RECORD_USER_28, RTEMS_RECORD_USER_29, RTEMS_RECORD_USER_30, RTEMS_RECORD_USER_31,
  RTEMS_RECORD_USER_32, RTEMS_RECORD_USER_33, RTEMS_RECORD_USER_34, RTEMS_RECORD_USER_35,
  RTEMS_RECORD_USER_36, RTEMS_RECORD_USER_37, RTEMS_RECORD_USER_38, RTEMS_RECORD_USER_39,
  RTEMS_RECORD_USER_40, RTEMS_RECORD_USER_41, RTEMS_RECORD_USER_42, RTEMS_RECORD_USER_43,
  RTEMS_RECORD_USER_44, RTEMS_RECORD_USER_45, RTEMS_RECORD_USER_46, RTEMS_RECORD_USER_47,
  RTEMS_RECORD_USER_48, RTEMS_RECORD_USER_49, RTEMS_RECORD_USER_50, RTEMS_RECORD_USER_51,
  RTEMS_RECORD_USER_52, RTEMS_RECORD_USER_53, RTEMS_RECORD_USER_54, RTEMS_RECORD_USER_55,
  RTEMS_RECORD_USER_56, RTEMS_RECORD_USER_57, RTEMS_RECORD_USER_58, RTEMS_RECORD_USER_59,
  RTEMS_RECORD_USER_60, RTEMS_RECORD_USER_61, RTEMS_RECORD_USER_62, RTEMS_RECORD_USER_63,
  RTEMS_RECORD_USER_64, RTEMS_RECORD_USER_65, RTEMS_RECORD_USER_66, RTEMS_RECORD_USER_67,
  RTEMS_RECORD_USER_68, RTEMS_RECORD_USER_69, RTEMS_RECORD_USER_70, RTEMS_RECORD_USER_71,
  RTEMS_RECORD_USER_72, RTEMS_RECORD_USER_73, RTEMS_RECORD_USER_74, RTEMS_RECORD_USER_75,
  RTEMS_RECORD_USER_76, RTEMS_RECORD_USER_77, RTEMS_RECORD_USER_78, RTEMS_RECORD_USER_79,
  RTEMS_RECORD_USER_80, RTEMS_RECORD_USER_81, RTEMS_RECORD_USER_82, RTEMS_RECORD_USER_83,
  RTEMS_RECORD_USER_84, RTEMS_RECORD_USER_85, RTEMS_RECORD_USER_86, RTEMS_RECORD_USER_87,
  RTEMS_RECORD_USER_88, RTEMS_RECORD_USER_89, RTEMS_RECORD_USER_90, RTEMS_RECORD_USER_91,
  RTEMS_RECORD_USER_92, RTEMS_RECORD_USER_93, RTEMS_RECORD_USER_94, RTEMS_RECORD_USER_95,
  RTEMS_RECORD_USER_96, RTEMS_RECORD_USER_97, RTEMS_RECORD_USER_98, RTEMS_RECORD_USER_99,
  RTEMS_RECORD_USER_100, RTEMS_RECORD_USER_101, RTEMS_RECORD_USER_102, RTEMS_RECORD_USER_103,
  RTEMS_RECORD_USER_104, RTEMS_RECORD_USER_105, RTEMS_RECORD_USER_106, RTEMS_RECORD_USER_107,
  RTEMS_RECORD_USER_108, RTEMS_RECORD_USER_109, RTEMS_RECORD_USER_110, RTEMS_RECORD_USER_111,
  RTEMS_RECORD_USER_112, RTEMS_RECORD_USER_113, RTEMS_RECORD_USER_114, RTEMS_RECORD_USER_115,
  RTEMS_RECORD_USER_116, RTEMS_RECORD_USER_117, RTEMS_RECORD_USER_118, RTEMS_RECORD_USER_119,
  RTEMS_RECORD_USER_120, RTEMS_RECORD_USER_121, RTEMS_RECORD_USER_122, RTEMS_RECORD_USER_123,
  RTEMS_RECORD_USER_124, RTEMS_RECORD_USER_125, RTEMS_RECORD_USER_126, RTEMS_RECORD_USER_127,
  RTEMS_RECORD_USER_128, RTEMS_RECORD_USER_129, RTEMS_RECORD_USER_130, RTEMS_RECORD_USER_131,
  RTEMS_RECORD_USER_132, RTEMS_RECORD_USER_133, RTEMS_RECORD_USER_134, RTEMS_RECORD_USER_135,
  RTEMS_RECORD_USER_136, RTEMS_RECORD_USER_137, RTEMS_RECORD_USER_138, RTEMS_RECORD_USER_139,
  RTEMS_RECORD_USER_140, RTEMS_RECORD_USER_141, RTEMS_RECORD_USER_142, RTEMS_RECORD_USER_143,
  RTEMS_RECORD_USER_144, RTEMS_RECORD_USER_145, RTEMS_RECORD_USER_146, RTEMS_RECORD_USER_147,
  RTEMS_RECORD_USER_148, RTEMS_RECORD_USER_149, RTEMS_RECORD_USER_150, RTEMS_RECORD_USER_151,
  RTEMS_RECORD_USER_152, RTEMS_RECORD_USER_153, RTEMS_RECORD_USER_154, RTEMS_RECORD_USER_155,
  RTEMS_RECORD_USER_156, RTEMS_RECORD_USER_157, RTEMS_RECORD_USER_158, RTEMS_RECORD_USER_159,
  RTEMS_RECORD_USER_160, RTEMS_RECORD_USER_161, RTEMS_RECORD_USER_162, RTEMS_RECORD_USER_163,
  RTEMS_RECORD_USER_164, RTEMS_RECORD_USER_165, RTEMS_RECORD_USER_166, RTEMS_RECORD_USER_167,
  RTEMS_RECORD_USER_168, RTEMS_RECORD_USER_169, RTEMS_RECORD_USER_170, RTEMS_RECORD_USER_171,
  RTEMS_RECORD_USER_172, RTEMS_RECORD_USER_173, RTEMS_RECORD_USER_174, RTEMS_RECORD_USER_175,
  RTEMS_RECORD_USER_176, RTEMS_RECORD_USER_177, RTEMS_RECORD_USER_178, RTEMS_RECORD_USER_179,
  RTEMS_RECORD_USER_180, RTEMS_RECORD_USER_181, RTEMS_RECORD_USER_182, RTEMS_RECORD_USER_183,
  RTEMS_RECORD_USER_184, RTEMS_RECORD_USER_185, RTEMS_RECORD_USER_186, RTEMS_RECORD_USER_187,
  RTEMS_RECORD_USER_188, RTEMS_RECORD_USER_189, RTEMS_RECORD_USER_190, RTEMS_RECORD_USER_191,
  RTEMS_RECORD_USER_192, RTEMS_RECORD_USER_193, RTEMS_RECORD_USER_194, RTEMS_RECORD_USER_195,
  RTEMS_RECORD_USER_196, RTEMS_RECORD_USER_197, RTEMS_RECORD_USER_198, RTEMS_RECORD_USER_199,
  RTEMS_RECORD_USER_200, RTEMS_RECORD_USER_201, RTEMS_RECORD_USER_202, RTEMS_RECORD_USER_203,
  RTEMS_RECORD_USER_204, RTEMS_RECORD_USER_205, RTEMS_RECORD_USER_206, RTEMS_RECORD_USER_207,
  RTEMS_RECORD_USER_208, RTEMS_RECORD_USER_209, RTEMS_RECORD_USER_210, RTEMS_RECORD_USER_211,
  RTEMS_RECORD_USER_212, RTEMS_RECORD_USER_213, RTEMS_RECORD_USER_214, RTEMS_RECORD_USER_215,
  RTEMS_RECORD_USER_216, RTEMS_RECORD_USER_217, RTEMS_RECORD_USER_218, RTEMS_RECORD_USER_219,
  RTEMS_RECORD_USER_220, RTEMS_RECORD_USER_221, RTEMS_RECORD_USER_222, RTEMS_RECORD_USER_223,
  RTEMS_RECORD_USER_224, RTEMS_RECORD_USER_225, RTEMS_RECORD_USER_226, RTEMS_RECORD_USER_227,
  RTEMS_RECORD_USER_228, RTEMS_RECORD_USER_229, RTEMS_RECORD_USER_230, RTEMS_RECORD_USER_231,
  RTEMS_RECORD_USER_232, RTEMS_RECORD_USER_233, RTEMS_RECORD_USER_234, RTEMS_RECORD_USER_235,
  RTEMS_RECORD_USER_236, RTEMS_RECORD_USER_237, RTEMS_RECORD_USER_238, RTEMS_RECORD_USER_239,
  RTEMS_RECORD_USER_240, RTEMS_RECORD_USER_241, RTEMS_RECORD_USER_242, RTEMS_RECORD_USER_243,
  RTEMS_RECORD_USER_244, RTEMS_RECORD_USER_245, RTEMS_RECORD_USER_246, RTEMS_RECORD_USER_247,
  RTEMS_RECORD_USER_248, RTEMS_RECORD_USER_249, RTEMS_RECORD_USER_250, RTEMS_RECORD_USER_251,
  RTEMS_RECORD_USER_252, RTEMS_RECORD_USER_253, RTEMS_RECORD_USER_254, RTEMS_RECORD_USER_255,
  RTEMS_RECORD_USER_256, RTEMS_RECORD_USER_257, RTEMS_RECORD_USER_258, RTEMS_RECORD_USER_259,
  RTEMS_RECORD_USER_260, RTEMS_RECORD_USER_261, RTEMS_RECORD_USER_262, RTEMS_RECORD_USER_263,
  RTEMS_RECORD_USER_264, RTEMS_RECORD_USER_265, RTEMS_RECORD_USER_266, RTEMS_RECORD_USER_267,
  RTEMS_RECORD_USER_268, RTEMS_RECORD_USER_269, RTEMS_RECORD_USER_270, RTEMS_RECORD_USER_271,
  RTEMS_RECORD_USER_272, RTEMS_RECORD_USER_273, RTEMS_RECORD_USER_274, RTEMS_RECORD_USER_275,
  RTEMS_RECORD_USER_276, RTEMS_RECORD_USER_277, RTEMS_RECORD_USER_278, RTEMS_RECORD_USER_279,
  RTEMS_RECORD_USER_280, RTEMS_RECORD_USER_281, RTEMS_RECORD_USER_282, RTEMS_RECORD_USER_283,
  RTEMS_RECORD_USER_284, RTEMS_RECORD_USER_285, RTEMS_RECORD_USER_286, RTEMS_RECORD_USER_287,
  RTEMS_RECORD_USER_288, RTEMS_RECORD_USER_289, RTEMS_RECORD_USER_290, RTEMS_RECORD_USER_291,
  RTEMS_RECORD_USER_292, RTEMS_RECORD_USER_293, RTEMS_RECORD_USER_294, RTEMS_RECORD_USER_295,
  RTEMS_RECORD_USER_296, RTEMS_RECORD_USER_297, RTEMS_RECORD_USER_298, RTEMS_RECORD_USER_299,
  RTEMS_RECORD_USER_300, RTEMS_RECORD_USER_301, RTEMS_RECORD_USER_302, RTEMS_RECORD_USER_303,
  RTEMS_RECORD_USER_304, RTEMS_RECORD_USER_305, RTEMS_RECORD_USER_306, RTEMS_RECORD_USER_307,
  RTEMS_RECORD_USER_308, RTEMS_RECORD_USER_309, RTEMS_RECORD_USER_310, RTEMS_RECORD_USER_311,
  RTEMS_RECORD_USER_312, RTEMS_RECORD_USER_313, RTEMS_RECORD_USER_314, RTEMS_RECORD_USER_315,
  RTEMS_RECORD_USER_316, RTEMS_RECORD_USER_317, RTEMS_RECORD_USER_318, RTEMS_RECORD_USER_319,
  RTEMS_RECORD_USER_320, RTEMS_RECORD_USER_321, RTEMS_RECORD_USER_322, RTEMS_RECORD_USER_323,
  RTEMS_RECORD_USER_324, RTEMS_RECORD_USER_325, RTEMS_RECORD_USER_326, RTEMS_RECORD_USER_327,
  RTEMS_RECORD_USER_328, RTEMS_RECORD_USER_329, RTEMS_RECORD_USER_330, RTEMS_RECORD_USER_331,
  RTEMS_RECORD_USER_332, RTEMS_RECORD_USER_333, RTEMS_RECORD_USER_334, RTEMS_RECORD_USER_335,
  RTEMS_RECORD_USER_336, RTEMS_RECORD_USER_337, RTEMS_RECORD_USER_338, RTEMS_RECORD_USER_339,
  RTEMS_RECORD_USER_340, RTEMS_RECORD_USER_341, RTEMS_RECORD_USER_342, RTEMS_RECORD_USER_343,
  RTEMS_RECORD_USER_344, RTEMS_RECORD_USER_345, RTEMS_RECORD_USER_346, RTEMS_RECORD_USER_347,
  RTEMS_RECORD_USER_348, RTEMS_RECORD_USER_349, RTEMS_RECORD_USER_350, RTEMS_RECORD_USER_351,
  RTEMS_RECORD_USER_352, RTEMS_RECORD_USER_353, RTEMS_RECORD_USER_354, RTEMS_RECORD_USER_355,
  RTEMS_RECORD_USER_356, RTEMS_RECORD_USER_357, RTEMS_RECORD_USER_358, RTEMS_RECORD_USER_359,
  RTEMS_RECORD_USER_360, RTEMS_RECORD_USER_361, RTEMS_RECORD_USER_362, RTEMS_RECORD_USER_363,
  RTEMS_RECORD_USER_364, RTEMS_RECORD_USER_365, RTEMS_RECORD_USER_366, RTEMS_RECORD_USER_367,
  RTEMS_RECORD_USER_368, RTEMS_RECORD_USER_369, RTEMS_RECORD_USER_370, RTEMS_RECORD_USER_371,
  RTEMS_RECORD_USER_372, RTEMS_RECORD_USER_373, RTEMS_RECORD_USER_374, RTEMS_RECORD_USER_375,
  RTEMS_RECORD_USER_376, RTEMS_RECORD_USER_377, RTEMS_RECORD_USER_378, RTEMS_RECORD_USER_379,
  RTEMS_RECORD_USER_380, RTEMS_RECORD_USER_381, RTEMS_RECORD_USER_382, RTEMS_RECORD_USER_383,
  RTEMS_RECORD_USER_384, RTEMS_RECORD_USER_385, RTEMS_RECORD_USER_386, RTEMS_RECORD_USER_387,
  RTEMS_RECORD_USER_388, RTEMS_RECORD_USER_389, RTEMS_RECORD_USER_390, RTEMS_RECORD_USER_391,
  RTEMS_RECORD_USER_392, RTEMS_RECORD_USER_393, RTEMS_RECORD_USER_394, RTEMS_RECORD_USER_395,
  RTEMS_RECORD_USER_396, RTEMS_RECORD_USER_397, RTEMS_RECORD_USER_398, RTEMS_RECORD_USER_399,
  RTEMS_RECORD_USER_400, RTEMS_RECORD_USER_401, RTEMS_RECORD_USER_402, RTEMS_RECORD_USER_403,
  RTEMS_RECORD_USER_404, RTEMS_RECORD_USER_405, RTEMS_RECORD_USER_406, RTEMS_RECORD_USER_407,
  RTEMS_RECORD_USER_408, RTEMS_RECORD_USER_409, RTEMS_RECORD_USER_410, RTEMS_RECORD_USER_411,
  RTEMS_RECORD_USER_412, RTEMS_RECORD_USER_413, RTEMS_RECORD_USER_414, RTEMS_RECORD_USER_415,
  RTEMS_RECORD_USER_416, RTEMS_RECORD_USER_417, RTEMS_RECORD_USER_418, RTEMS_RECORD_USER_419,
  RTEMS_RECORD_USER_420, RTEMS_RECORD_USER_421, RTEMS_RECORD_USER_422, RTEMS_RECORD_USER_423,
  RTEMS_RECORD_USER_424, RTEMS_RECORD_USER_425, RTEMS_RECORD_USER_426, RTEMS_RECORD_USER_427,
  RTEMS_RECORD_USER_428, RTEMS_RECORD_USER_429, RTEMS_RECORD_USER_430, RTEMS_RECORD_USER_431,
  RTEMS_RECORD_USER_432, RTEMS_RECORD_USER_433, RTEMS_RECORD_USER_434, RTEMS_RECORD_USER_435,
  RTEMS_RECORD_USER_436, RTEMS_RECORD_USER_437, RTEMS_RECORD_USER_438, RTEMS_RECORD_USER_439,
  RTEMS_RECORD_USER_440, RTEMS_RECORD_USER_441, RTEMS_RECORD_USER_442, RTEMS_RECORD_USER_443,
  RTEMS_RECORD_USER_444, RTEMS_RECORD_USER_445, RTEMS_RECORD_USER_446, RTEMS_RECORD_USER_447,
  RTEMS_RECORD_USER_448, RTEMS_RECORD_USER_449, RTEMS_RECORD_USER_450, RTEMS_RECORD_USER_451,
  RTEMS_RECORD_USER_452, RTEMS_RECORD_USER_453, RTEMS_RECORD_USER_454, RTEMS_RECORD_USER_455,
  RTEMS_RECORD_USER_456, RTEMS_RECORD_USER_457, RTEMS_RECORD_USER_458, RTEMS_RECORD_USER_459,
  RTEMS_RECORD_USER_460, RTEMS_RECORD_USER_461, RTEMS_RECORD_USER_462, RTEMS_RECORD_USER_463,
  RTEMS_RECORD_USER_464, RTEMS_RECORD_USER_465, RTEMS_RECORD_USER_466, RTEMS_RECORD_USER_467,
  RTEMS_RECORD_USER_468, RTEMS_RECORD_USER_469, RTEMS_RECORD_USER_470, RTEMS_RECORD_USER_471,
  RTEMS_RECORD_USER_472, RTEMS_RECORD_USER_473, RTEMS_RECORD_USER_474, RTEMS_RECORD_USER_475,
  RTEMS_RECORD_USER_476, RTEMS_RECORD_USER_477, RTEMS_RECORD_USER_478, RTEMS_RECORD_USER_479,
  RTEMS_RECORD_USER_480, RTEMS_RECORD_USER_481, RTEMS_RECORD_USER_482, RTEMS_RECORD_USER_483,
  RTEMS_RECORD_USER_484, RTEMS_RECORD_USER_485, RTEMS_RECORD_USER_486, RTEMS_RECORD_USER_487,
  RTEMS_RECORD_USER_488, RTEMS_RECORD_USER_489, RTEMS_RECORD_USER_490, RTEMS_RECORD_USER_491,
  RTEMS_RECORD_USER_492, RTEMS_RECORD_USER_493, RTEMS_RECORD_USER_494, RTEMS_RECORD_USER_495,
  RTEMS_RECORD_USER_496, RTEMS_RECORD_USER_497, RTEMS_RECORD_USER_498, RTEMS_RECORD_USER_499,
  RTEMS_RECORD_USER_500, RTEMS_RECORD_USER_501, RTEMS_RECORD_USER_502, RTEMS_RECORD_USER_503,
  RTEMS_RECORD_USER_504, RTEMS_RECORD_USER_505, RTEMS_RECORD_USER_506, RTEMS_RECORD_USER_507,
  RTEMS_RECORD_USER_508, RTEMS_RECORD_USER_509, RTEMS_RECORD_USER_510, RTEMS_RECORD_USER_511
}
 The record events.
 

Functions

RTEMS_INLINE_ROUTINE void rtems_record_prepare_critical (rtems_record_context *context, const Per_CPU_Control *cpu_self)
 Prepares to add and commit record items in a critical section with interrupts disabled. More...
 
RTEMS_INLINE_ROUTINE void rtems_record_prepare (rtems_record_context *context)
 Prepares to add and commit record items. More...
 
RTEMS_INLINE_ROUTINE void rtems_record_add (rtems_record_context *context, rtems_record_event event, rtems_record_data data)
 Adds a record item. More...
 
RTEMS_INLINE_ROUTINE void rtems_record_commit_critical (rtems_record_context *context)
 Commits a set of record items in a critical section with interrupts disabled. More...
 
RTEMS_INLINE_ROUTINE void rtems_record_commit (rtems_record_context *context)
 Commits a set of record items. More...
 
void rtems_record_produce (rtems_record_event event, rtems_record_data data)
 Produces a record item. More...
 
void rtems_record_produce_2 (rtems_record_event event_0, rtems_record_data data_0, rtems_record_event event_1, rtems_record_data data_1)
 Produces two record items. More...
 
void rtems_record_produce_n (const rtems_record_item *items, size_t n)
 Produces n record items. More...
 
void rtems_record_line (void)
 Generates an RTEMS_RECORD_LINE event. More...
 
void rtems_record_line_2 (rtems_record_event event, rtems_record_data data)
 Generates an RTEMS_RECORD_LINE event and an extra event. More...
 
void rtems_record_line_3 (rtems_record_event event_0, rtems_record_data data_0, rtems_record_event event_1, rtems_record_data data_1)
 Generates an RTEMS_RECORD_LINE event and two extra events. More...
 
void rtems_record_line_arg (rtems_record_data data)
 Generates an RTEMS_RECORD_LINE event and one argument event. More...
 
void rtems_record_line_arg_2 (rtems_record_data data_0, rtems_record_data data_1)
 Generates an RTEMS_RECORD_LINE event and two argument events. More...
 
void rtems_record_line_arg_3 (rtems_record_data data_0, rtems_record_data data_1, rtems_record_data data_2)
 Generates an RTEMS_RECORD_LINE event and three argument events. More...
 
void rtems_record_line_arg_4 (rtems_record_data data_0, rtems_record_data data_1, rtems_record_data data_2, rtems_record_data data_3)
 Generates an RTEMS_RECORD_LINE event and four argument events. More...
 
void rtems_record_line_arg_5 (rtems_record_data data_0, rtems_record_data data_1, rtems_record_data data_2, rtems_record_data data_3, rtems_record_data data_4)
 Generates an RTEMS_RECORD_LINE event and five argument events. More...
 
void rtems_record_line_arg_6 (rtems_record_data data_0, rtems_record_data data_1, rtems_record_data data_2, rtems_record_data data_3, rtems_record_data data_4, rtems_record_data data_5)
 Generates an RTEMS_RECORD_LINE event and six argument events. More...
 
void rtems_record_line_arg_7 (rtems_record_data data_0, rtems_record_data data_1, rtems_record_data data_2, rtems_record_data data_3, rtems_record_data data_4, rtems_record_data data_5, rtems_record_data data_6)
 Generates an RTEMS_RECORD_LINE event and seven argument events. More...
 
void rtems_record_line_arg_8 (rtems_record_data data_0, rtems_record_data data_1, rtems_record_data data_2, rtems_record_data data_3, rtems_record_data data_4, rtems_record_data data_5, rtems_record_data data_6, rtems_record_data data_7)
 Generates an RTEMS_RECORD_LINE event and eight argument events. More...
 
void rtems_record_line_arg_9 (rtems_record_data data_0, rtems_record_data data_1, rtems_record_data data_2, rtems_record_data data_3, rtems_record_data data_4, rtems_record_data data_5, rtems_record_data data_6, rtems_record_data data_7, rtems_record_data data_8)
 Generates an RTEMS_RECORD_LINE event and nine argument events. More...
 
void rtems_record_line_arg_10 (rtems_record_data data_0, rtems_record_data data_1, rtems_record_data data_2, rtems_record_data data_3, rtems_record_data data_4, rtems_record_data data_5, rtems_record_data data_6, rtems_record_data data_7, rtems_record_data data_8, rtems_record_data data_9)
 Generates an RTEMS_RECORD_LINE event and ten argument events. More...
 
uint32_t rtems_record_interrupt_disable (void)
 Disables interrupts and generates an RTEMS_RECORD_ISR_DISABLE event. More...
 
void rtems_record_interrupt_enable (uint32_t level)
 Restores the previous interrupt level and generates an RTEMS_RECORD_ISR_ENABLE event. More...
 
void _Record_Drain (Record_Control *control, uint32_t cpu_index, rtems_record_drain_visitor visitor, void *arg)
 
void rtems_record_drain (rtems_record_drain_visitor visitor, void *arg)
 Drains the record items on all processors. More...
 
void rtems_record_client_init (rtems_record_client_context *ctx, rtems_record_client_handler handler, void *arg)
 Initializes a record client. More...
 
rtems_record_client_status rtems_record_client_run (rtems_record_client_context *ctx, const void *buf, size_t n)
 Runs the record client to consume new stream data. More...
 
void rtems_record_client_destroy (rtems_record_client_context *ctx)
 Drains all internal buffers and frees the allocated resources. More...
 
struct __attribute__ ((__packed__))
 The native record item. More...
 
const char * rtems_record_event_text (rtems_record_event event)
 
void rtems_record_dump (rtems_record_dump_chunk chunk, void *arg)
 Dumps the record header, the thread names, and all items of all processors. More...
 
void rtems_record_dump_base64 (void(*put_char)(int, void *), void *arg)
 Dumps the event records in base64 encoding. More...
 
void rtems_record_dump_zlib_base64 (rtems_record_dump_base64_zlib_context *ctx, void(*put_char)(int, void *), void *arg)
 Dumps the event records compressed with zlib in base64 encoding. More...
 

Variables

 rtems_record_item
 
 rtems_record_item_64
 

Detailed Description

Low-level event recording support.

Macro Definition Documentation

◆ rtems_record_caller

#define rtems_record_caller ( )    _Record_Caller( RTEMS_RETURN_ADDRESS() )

Generates an RTEMS_RECORD_CALLER and an RTEMS_RECORD_LINE event.

The RTEMS_RECORD_CALLER event data is the return address of the function calling rtems_record_caller().

The RTEMS_RECORD_LINE event data is the address of the call to rtems_record_caller().

◆ rtems_record_caller_3

#define rtems_record_caller_3 (   event,
  data 
)    _Record_Caller_3( RTEMS_RETURN_ADDRESS(), event, data )

Generates an RTEMS_RECORD_CALLER, an RTEMS_RECORD_LINE event, and an extra event.

The RTEMS_RECORD_CALLER event data is the return address of the function calling rtems_record_caller_3().

The RTEMS_RECORD_LINE event data is the address of the call to rtems_record_caller_3().

Parameters
eventThe record event without a time stamp for the third item.
dataThe record data for the third item.

◆ rtems_record_caller_4

#define rtems_record_caller_4 (   event_0,
  data_0,
  event_1,
  data_1 
)
Value:
_Record_Caller_4( \
event_0, \
data_0, \
event_1, \
data_1 \
)
#define RTEMS_RETURN_ADDRESS()
Returns the return address of the current function.
Definition: basedefs.h:399

Generates an RTEMS_RECORD_CALLER, an RTEMS_RECORD_LINE event, and two extra events.

The RTEMS_RECORD_CALLER event data is the return address of the function calling rtems_record_caller_4().

The RTEMS_RECORD_LINE event data is the address of the call to rtems_record_caller_4().

Parameters
event_0The record event without a time stamp for the third item.
data_0The record data for the third item.
event_1The record event without a time stamp for the fourth item.
data_1The record data for the fourth item.

◆ rtems_record_caller_arg

#define rtems_record_caller_arg (   data)    _Record_Caller_arg( RTEMS_RETURN_ADDRESS(), data )

Generates an RTEMS_RECORD_CALLER event, an RTEMS_RECORD_LINE event, and one argument event.

The RTEMS_RECORD_CALLER event data is the return address of the function calling rtems_record_caller_arg().

The RTEMS_RECORD_LINE event data is the address of the call to rtems_record_caller_arg().

Parameters
dataThe RTEMS_RECORD_ARG_0 event data.

◆ rtems_record_caller_arg_10

#define rtems_record_caller_arg_10 (   data_0,
  data_1,
  data_2,
  data_3,
  data_4,
  data_5,
  data_6,
  data_7,
  data_8,
  data_9 
)
Value:
_Record_Caller_arg_10( \
data_0, \
data_1, \
data_2, \
data_3, \
data_4, \
data_5, \
data_6, \
data_7, \
data_8, \
data_9 \
)
#define RTEMS_RETURN_ADDRESS()
Returns the return address of the current function.
Definition: basedefs.h:399

Generates an RTEMS_RECORD_CALLER event, an RTEMS_RECORD_LINE event, and ten argument events.

The RTEMS_RECORD_CALLER event data is the return address of the function calling rtems_record_caller_arg_10().

The RTEMS_RECORD_LINE event data is the address of the call to rtems_record_caller_arg_10().

Parameters
data_0The RTEMS_RECORD_ARG_0 event data.
data_1The RTEMS_RECORD_ARG_1 event data.
data_2The RTEMS_RECORD_ARG_2 event data.
data_3The RTEMS_RECORD_ARG_3 event data.
data_4The RTEMS_RECORD_ARG_4 event data.
data_5The RTEMS_RECORD_ARG_5 event data.
data_6The RTEMS_RECORD_ARG_6 event data.
data_7The RTEMS_RECORD_ARG_7 event data.
data_8The RTEMS_RECORD_ARG_8 event data.
data_10The RTEMS_RECORD_ARG_10 event data.

◆ rtems_record_caller_arg_2

#define rtems_record_caller_arg_2 (   data_0,
  data_1 
)
Value:
_Record_Caller_arg_2( \
data_0, \
data_1 \
)
#define RTEMS_RETURN_ADDRESS()
Returns the return address of the current function.
Definition: basedefs.h:399

Generates an RTEMS_RECORD_CALLER event, an RTEMS_RECORD_LINE event, and two argument events.

The RTEMS_RECORD_CALLER event data is the return address of the function calling rtems_record_caller_arg_2().

The RTEMS_RECORD_LINE event data is the address of the call to rtems_record_caller_arg_2().

Parameters
data_0The RTEMS_RECORD_ARG_0 event data.
data_1The RTEMS_RECORD_ARG_1 event data.

◆ rtems_record_caller_arg_3

#define rtems_record_caller_arg_3 (   data_0,
  data_1,
  data_2 
)
Value:
_Record_Caller_arg_3( \
data_0, \
data_1, \
data_2 \
)
#define RTEMS_RETURN_ADDRESS()
Returns the return address of the current function.
Definition: basedefs.h:399

Generates an RTEMS_RECORD_CALLER event, an RTEMS_RECORD_LINE event, and three argument events.

The RTEMS_RECORD_CALLER event data is the return address of the function calling rtems_record_caller_arg_3().

The RTEMS_RECORD_LINE event data is the address of the call to rtems_record_caller_arg_3().

Parameters
data_0The RTEMS_RECORD_ARG_0 event data.
data_1The RTEMS_RECORD_ARG_1 event data.
data_2The RTEMS_RECORD_ARG_2 event data.

◆ rtems_record_caller_arg_4

#define rtems_record_caller_arg_4 (   data_0,
  data_1,
  data_2,
  data_3 
)
Value:
_Record_Caller_arg_4( \
data_0, \
data_1, \
data_2, \
data_3 \
)
#define RTEMS_RETURN_ADDRESS()
Returns the return address of the current function.
Definition: basedefs.h:399

Generates an RTEMS_RECORD_CALLER event, an RTEMS_RECORD_LINE event, and four argument events.

The RTEMS_RECORD_CALLER event data is the return address of the function calling rtems_record_caller_arg_4().

The RTEMS_RECORD_LINE event data is the address of the call to rtems_record_caller_arg_4().

Parameters
data_0The RTEMS_RECORD_ARG_0 event data.
data_1The RTEMS_RECORD_ARG_1 event data.
data_2The RTEMS_RECORD_ARG_2 event data.
data_3The RTEMS_RECORD_ARG_3 event data.

◆ rtems_record_caller_arg_5

#define rtems_record_caller_arg_5 (   data_0,
  data_1,
  data_2,
  data_3,
  data_4 
)
Value:
_Record_Caller_arg_5( \
data_0, \
data_1, \
data_2, \
data_3, \
data_4 \
)
#define RTEMS_RETURN_ADDRESS()
Returns the return address of the current function.
Definition: basedefs.h:399

Generates an RTEMS_RECORD_CALLER event, an RTEMS_RECORD_LINE event, and five argument events.

The RTEMS_RECORD_CALLER event data is the return address of the function calling rtems_record_caller_arg_5().

The RTEMS_RECORD_LINE event data is the address of the call to rtems_record_caller_arg_5().

Parameters
data_0The RTEMS_RECORD_ARG_0 event data.
data_1The RTEMS_RECORD_ARG_1 event data.
data_2The RTEMS_RECORD_ARG_2 event data.
data_3The RTEMS_RECORD_ARG_3 event data.
data_4The RTEMS_RECORD_ARG_4 event data.

◆ rtems_record_caller_arg_6

#define rtems_record_caller_arg_6 (   data_0,
  data_1,
  data_2,
  data_3,
  data_4,
  data_5 
)
Value:
_Record_Caller_arg_6( \
data_0, \
data_1, \
data_2, \
data_3, \
data_4, \
data_5 \
)
#define RTEMS_RETURN_ADDRESS()
Returns the return address of the current function.
Definition: basedefs.h:399

Generates an RTEMS_RECORD_CALLER event, an RTEMS_RECORD_LINE event, and six argument events.

The RTEMS_RECORD_CALLER event data is the return address of the function calling rtems_record_caller_arg_6().

The RTEMS_RECORD_LINE event data is the address of the call to rtems_record_caller_arg_6().

Parameters
data_0The RTEMS_RECORD_ARG_0 event data.
data_1The RTEMS_RECORD_ARG_1 event data.
data_2The RTEMS_RECORD_ARG_2 event data.
data_3The RTEMS_RECORD_ARG_3 event data.
data_4The RTEMS_RECORD_ARG_4 event data.
data_5The RTEMS_RECORD_ARG_5 event data.

◆ rtems_record_caller_arg_7

#define rtems_record_caller_arg_7 (   data_0,
  data_1,
  data_2,
  data_3,
  data_4,
  data_5,
  data_6 
)
Value:
_Record_Caller_arg_7( \
data_0, \
data_1, \
data_2, \
data_3, \
data_4, \
data_5, \
data_6 \
)
#define RTEMS_RETURN_ADDRESS()
Returns the return address of the current function.
Definition: basedefs.h:399

Generates an RTEMS_RECORD_CALLER event, an RTEMS_RECORD_LINE event, and seven argument events.

The RTEMS_RECORD_CALLER event data is the return address of the function calling rtems_record_caller_arg_7().

The RTEMS_RECORD_LINE event data is the address of the call to rtems_record_caller_arg_7().

Parameters
data_0The RTEMS_RECORD_ARG_0 event data.
data_1The RTEMS_RECORD_ARG_1 event data.
data_2The RTEMS_RECORD_ARG_2 event data.
data_3The RTEMS_RECORD_ARG_3 event data.
data_4The RTEMS_RECORD_ARG_4 event data.
data_5The RTEMS_RECORD_ARG_5 event data.
data_6The RTEMS_RECORD_ARG_6 event data.

◆ rtems_record_caller_arg_8

#define rtems_record_caller_arg_8 (   data_0,
  data_1,
  data_2,
  data_3,
  data_4,
  data_5,
  data_6,
  data_7 
)
Value:
_Record_Caller_arg_8( \
data_0, \
data_1, \
data_2, \
data_3, \
data_4, \
data_5, \
data_6, \
data_7 \
)
#define RTEMS_RETURN_ADDRESS()
Returns the return address of the current function.
Definition: basedefs.h:399

Generates an RTEMS_RECORD_CALLER event, an RTEMS_RECORD_LINE event, and eight argument events.

The RTEMS_RECORD_CALLER event data is the return address of the function calling rtems_record_caller_arg_8().

The RTEMS_RECORD_LINE event data is the address of the call to rtems_record_caller_arg_8().

Parameters
data_0The RTEMS_RECORD_ARG_0 event data.
data_1The RTEMS_RECORD_ARG_1 event data.
data_2The RTEMS_RECORD_ARG_2 event data.
data_3The RTEMS_RECORD_ARG_3 event data.
data_4The RTEMS_RECORD_ARG_4 event data.
data_5The RTEMS_RECORD_ARG_5 event data.
data_6The RTEMS_RECORD_ARG_6 event data.
data_7The RTEMS_RECORD_ARG_7 event data.

◆ rtems_record_caller_arg_9

#define rtems_record_caller_arg_9 (   data_0,
  data_1,
  data_2,
  data_3,
  data_4,
  data_5,
  data_6,
  data_7,
  data_8 
)
Value:
_Record_Caller_arg_9( \
data_0, \
data_1, \
data_2, \
data_3, \
data_4, \
data_5, \
data_6, \
data_7, \
data_8 \
)
#define RTEMS_RETURN_ADDRESS()
Returns the return address of the current function.
Definition: basedefs.h:399

Generates an RTEMS_RECORD_CALLER event, an RTEMS_RECORD_LINE event, and nine argument events.

The RTEMS_RECORD_CALLER event data is the return address of the function calling rtems_record_caller_arg_9().

The RTEMS_RECORD_LINE event data is the address of the call to rtems_record_caller_arg_9().

Parameters
data_0The RTEMS_RECORD_ARG_0 event data.
data_1The RTEMS_RECORD_ARG_1 event data.
data_2The RTEMS_RECORD_ARG_2 event data.
data_3The RTEMS_RECORD_ARG_3 event data.
data_4The RTEMS_RECORD_ARG_4 event data.
data_5The RTEMS_RECORD_ARG_5 event data.
data_6The RTEMS_RECORD_ARG_6 event data.
data_7The RTEMS_RECORD_ARG_7 event data.
data_8The RTEMS_RECORD_ARG_8 event data.

◆ rtems_record_entry

#define rtems_record_entry (   event)    rtems_record_produce( event, (rtems_record_data) RTEMS_RETURN_ADDRESS() )

Generates the specified entry event.

The event data of the specified entry event is the return address of the function calling rtems_record_entry().

Parameters
eventThe entry event.

◆ rtems_record_entry_1

#define rtems_record_entry_1 (   event,
  data 
)
Value:
event, \
RTEMS_RECORD_ARG_0, \
data \
)
void rtems_record_produce_2(rtems_record_event event_0, rtems_record_data data_0, rtems_record_event event_1, rtems_record_data data_1)
Produces two record items.
Definition: record.c:56
#define RTEMS_RETURN_ADDRESS()
Returns the return address of the current function.
Definition: basedefs.h:399
unsigned long rtems_record_data
The record data integer type.
Definition: recorddata.h:1170

Generates the specified entry event and an argument event.

The event data of the specified entry event is the return address of the function calling rtems_record_entry_1().

Parameters
eventThe entry event.
dataThe RTEMS_RECORD_ARG_0 event data.

◆ rtems_record_entry_10

#define rtems_record_entry_10 (   event,
  data_0,
  data_1,
  data_2,
  data_3,
  data_4,
  data_5,
  data_6,
  data_7,
  data_8,
  data_9 
)
Value:
_Record_Entry_10( \
event, \
data_0, \
data_1, \
data_2, \
data_3, \
data_4, \
data_5, \
data_6, \
data_7, \
data_8, \
data_9 \
)
#define RTEMS_RETURN_ADDRESS()
Returns the return address of the current function.
Definition: basedefs.h:399

Generates the specified entry event and ten argument events.

The event data of the specified entry event is the return address of the function calling rtems_record_entry_10().

Parameters
eventThe entry event.
data_0The RTEMS_RECORD_ARG_0 event data.
data_1The RTEMS_RECORD_ARG_1 event data.
data_2The RTEMS_RECORD_ARG_2 event data.
data_3The RTEMS_RECORD_ARG_3 event data.
data_4The RTEMS_RECORD_ARG_4 event data.
data_5The RTEMS_RECORD_ARG_5 event data.
data_6The RTEMS_RECORD_ARG_6 event data.
data_7The RTEMS_RECORD_ARG_7 event data.
data_8The RTEMS_RECORD_ARG_8 event data.
data_10The RTEMS_RECORD_ARG_10 event data.

◆ rtems_record_entry_2

#define rtems_record_entry_2 (   event,
  data_0,
  data_1 
)    _Record_Entry_2( RTEMS_RETURN_ADDRESS(), event, data_0, data_1 )

Generates the specified entry event and two argument events.

The event data of the specified entry event is the return address of the function calling rtems_record_entry_2().

Parameters
eventThe entry event.
data_0The RTEMS_RECORD_ARG_0 event data.
data_1The RTEMS_RECORD_ARG_1 event data.

◆ rtems_record_entry_3

#define rtems_record_entry_3 (   event,
  data_0,
  data_1,
  data_2 
)
Value:
_Record_Entry_3( \
event, \
data_0, \
data_1, \
data_2 \
)
#define RTEMS_RETURN_ADDRESS()
Returns the return address of the current function.
Definition: basedefs.h:399

Generates the specified entry event and three argument events.

The event data of the specified entry event is the return address of the function calling rtems_record_entry_3().

Parameters
eventThe entry event.
data_0The RTEMS_RECORD_ARG_0 event data.
data_1The RTEMS_RECORD_ARG_1 event data.
data_2The RTEMS_RECORD_ARG_2 event data.

◆ rtems_record_entry_4

#define rtems_record_entry_4 (   event,
  data_0,
  data_1,
  data_2,
  data_3 
)
Value:
_Record_Entry_4( \
event, \
data_0, \
data_1, \
data_2, \
data_3 \
)
#define RTEMS_RETURN_ADDRESS()
Returns the return address of the current function.
Definition: basedefs.h:399

Generates the specified entry event and four argument events.

The event data of the specified entry event is the return address of the function calling rtems_record_entry_4().

Parameters
eventThe entry event.
data_0The RTEMS_RECORD_ARG_0 event data.
data_1The RTEMS_RECORD_ARG_1 event data.
data_2The RTEMS_RECORD_ARG_2 event data.
data_3The RTEMS_RECORD_ARG_3 event data.

◆ rtems_record_entry_5

#define rtems_record_entry_5 (   event,
  data_0,
  data_1,
  data_2,
  data_3,
  data_4 
)
Value:
_Record_Entry_5( \
event, \
data_0, \
data_1, \
data_2, \
data_3, \
data_4 \
)
#define RTEMS_RETURN_ADDRESS()
Returns the return address of the current function.
Definition: basedefs.h:399

Generates the specified entry event and five argument events.

The event data of the specified entry event is the return address of the function calling rtems_record_entry_5().

Parameters
eventThe entry event.
data_0The RTEMS_RECORD_ARG_0 event data.
data_1The RTEMS_RECORD_ARG_1 event data.
data_2The RTEMS_RECORD_ARG_2 event data.
data_3The RTEMS_RECORD_ARG_3 event data.
data_4The RTEMS_RECORD_ARG_4 event data.

◆ rtems_record_entry_6

#define rtems_record_entry_6 (   event,
  data_0,
  data_1,
  data_2,
  data_3,
  data_4,
  data_5 
)
Value:
_Record_Entry_6( \
event, \
data_0, \
data_1, \
data_2, \
data_3, \
data_4, \
data_5 \
)
#define RTEMS_RETURN_ADDRESS()
Returns the return address of the current function.
Definition: basedefs.h:399

Generates the specified entry event and six argument events.

The event data of the specified entry event is the return address of the function calling rtems_record_entry_6().

Parameters
eventThe entry event.
data_0The RTEMS_RECORD_ARG_0 event data.
data_1The RTEMS_RECORD_ARG_1 event data.
data_2The RTEMS_RECORD_ARG_2 event data.
data_3The RTEMS_RECORD_ARG_3 event data.
data_4The RTEMS_RECORD_ARG_4 event data.
data_5The RTEMS_RECORD_ARG_5 event data.

◆ rtems_record_entry_7

#define rtems_record_entry_7 (   event,
  data_0,
  data_1,
  data_2,
  data_3,
  data_4,
  data_5,
  data_6 
)
Value:
_Record_Entry_7( \
event, \
data_0, \
data_1, \
data_2, \
data_3, \
data_4, \
data_5, \
data_6 \
)
#define RTEMS_RETURN_ADDRESS()
Returns the return address of the current function.
Definition: basedefs.h:399

Generates the specified entry event and seven argument events.

The event data of the specified entry event is the return address of the function calling rtems_record_entry_7().

Parameters
eventThe entry event.
data_0The RTEMS_RECORD_ARG_0 event data.
data_1The RTEMS_RECORD_ARG_1 event data.
data_2The RTEMS_RECORD_ARG_2 event data.
data_3The RTEMS_RECORD_ARG_3 event data.
data_4The RTEMS_RECORD_ARG_4 event data.
data_5The RTEMS_RECORD_ARG_5 event data.
data_6The RTEMS_RECORD_ARG_6 event data.

◆ rtems_record_entry_8

#define rtems_record_entry_8 (   event,
  data_0,
  data_1,
  data_2,
  data_3,
  data_4,
  data_5,
  data_6,
  data_7 
)
Value:
_Record_Entry_8( \
event, \
data_0, \
data_1, \
data_2, \
data_3, \
data_4, \
data_5, \
data_6, \
data_7 \
)
#define RTEMS_RETURN_ADDRESS()
Returns the return address of the current function.
Definition: basedefs.h:399

Generates the specified entry event and eight argument events.

The event data of the specified entry event is the return address of the function calling rtems_record_entry_8().

Parameters
eventThe entry event.
data_0The RTEMS_RECORD_ARG_0 event data.
data_1The RTEMS_RECORD_ARG_1 event data.
data_2The RTEMS_RECORD_ARG_2 event data.
data_3The RTEMS_RECORD_ARG_3 event data.
data_4The RTEMS_RECORD_ARG_4 event data.
data_5The RTEMS_RECORD_ARG_5 event data.
data_6The RTEMS_RECORD_ARG_6 event data.
data_7The RTEMS_RECORD_ARG_7 event data.

◆ rtems_record_entry_9

#define rtems_record_entry_9 (   event,
  data_0,
  data_1,
  data_2,
  data_3,
  data_4,
  data_5,
  data_6,
  data_7,
  data_8 
)
Value:
_Record_Entry_9( \
event, \
data_0, \
data_1, \
data_2, \
data_3, \
data_4, \
data_5, \
data_6, \
data_7, \
data_8 \
)
#define RTEMS_RETURN_ADDRESS()
Returns the return address of the current function.
Definition: basedefs.h:399

Generates the specified entry event and nine argument events.

The event data of the specified entry event is the return address of the function calling rtems_record_entry_9().

Parameters
eventThe entry event.
data_0The RTEMS_RECORD_ARG_0 event data.
data_1The RTEMS_RECORD_ARG_1 event data.
data_2The RTEMS_RECORD_ARG_2 event data.
data_3The RTEMS_RECORD_ARG_3 event data.
data_4The RTEMS_RECORD_ARG_4 event data.
data_5The RTEMS_RECORD_ARG_5 event data.
data_6The RTEMS_RECORD_ARG_6 event data.
data_7The RTEMS_RECORD_ARG_7 event data.
data_8The RTEMS_RECORD_ARG_8 event data.

◆ rtems_record_exit

#define rtems_record_exit (   event)    rtems_record_produce( event, (rtems_record_data) RTEMS_RETURN_ADDRESS() )

Generates the specified exit event.

The event data of the specified exit event is the return address of the function calling rtems_record_exit().

Parameters
eventThe exit event.

◆ rtems_record_exit_1

#define rtems_record_exit_1 (   event,
  data 
)
Value:
event, \
RTEMS_RECORD_RETURN_0, \
data \
)
void rtems_record_produce_2(rtems_record_event event_0, rtems_record_data data_0, rtems_record_event event_1, rtems_record_data data_1)
Produces two record items.
Definition: record.c:56
#define RTEMS_RETURN_ADDRESS()
Returns the return address of the current function.
Definition: basedefs.h:399
unsigned long rtems_record_data
The record data integer type.
Definition: recorddata.h:1170

Generates the specified exit event and a return event.

The event data of the specified exit event is the return address of the function calling rtems_record_exit_1().

Parameters
eventThe exit event.
dataThe RTEMS_RECORD_RETURN_0 event data.

◆ rtems_record_exit_10

#define rtems_record_exit_10 (   event,
  data_0,
  data_1,
  data_2,
  data_3,
  data_4,
  data_5,
  data_6,
  data_7,
  data_8,
  data_9 
)
Value:
_Record_Exit_10( \
event, \
data_0, \
data_1, \
data_2, \
data_3, \
data_4, \
data_5, \
data_6, \
data_7, \
data_8, \
data_9 \
)
#define RTEMS_RETURN_ADDRESS()
Returns the return address of the current function.
Definition: basedefs.h:399

Generates the specified exit event and ten argument events.

The event data of the specified exit event is the return address of the function calling rtems_record_exit_10().

Parameters
eventThe exit event.
data_0The RTEMS_RECORD_RETURN_0 event data.
data_1The RTEMS_RECORD_RETURN_1 event data.
data_2The RTEMS_RECORD_RETURN_2 event data.
data_3The RTEMS_RECORD_RETURN_3 event data.
data_4The RTEMS_RECORD_RETURN_4 event data.
data_5The RTEMS_RECORD_RETURN_5 event data.
data_6The RTEMS_RECORD_RETURN_6 event data.
data_7The RTEMS_RECORD_RETURN_7 event data.
data_8The RTEMS_RECORD_RETURN_8 event data.
data_10The RTEMS_RECORD_RETURN_10 event data.

◆ rtems_record_exit_2

#define rtems_record_exit_2 (   event,
  data_0,
  data_1 
)    _Record_Entry_2( RTEMS_RETURN_ADDRESS(), event, data_0, data_1 )

Generates the specified exit event and two argument events.

The event data of the specified exit event is the return address of the function calling rtems_record_exit_2().

Parameters
eventThe exit event.
data_0The RTEMS_RECORD_RETURN_0 event data.
data_1The RTEMS_RECORD_RETURN_1 event data.

◆ rtems_record_exit_3

#define rtems_record_exit_3 (   event,
  data_0,
  data_1,
  data_2 
)
Value:
_Record_Exit_3( \
event, \
data_0, \
data_1, \
data_2 \
)
#define RTEMS_RETURN_ADDRESS()
Returns the return address of the current function.
Definition: basedefs.h:399

Generates the specified exit event and three argument events.

The event data of the specified exit event is the return address of the function calling rtems_record_exit_3().

Parameters
eventThe exit event.
data_0The RTEMS_RECORD_RETURN_0 event data.
data_1The RTEMS_RECORD_RETURN_1 event data.
data_2The RTEMS_RECORD_RETURN_2 event data.

◆ rtems_record_exit_4

#define rtems_record_exit_4 (   event,
  data_0,
  data_1,
  data_2,
  data_3 
)
Value:
_Record_Exit_4( \
event, \
data_0, \
data_1, \
data_2, \
data_3 \
)
#define RTEMS_RETURN_ADDRESS()
Returns the return address of the current function.
Definition: basedefs.h:399

Generates the specified exit event and four argument events.

The event data of the specified exit event is the return address of the function calling rtems_record_exit_4().

Parameters
eventThe exit event.
data_0The RTEMS_RECORD_RETURN_0 event data.
data_1The RTEMS_RECORD_RETURN_1 event data.
data_2The RTEMS_RECORD_RETURN_2 event data.
data_3The RTEMS_RECORD_RETURN_3 event data.

◆ rtems_record_exit_5

#define rtems_record_exit_5 (   event,
  data_0,
  data_1,
  data_2,
  data_3,
  data_4 
)
Value:
_Record_Exit_5( \
event, \
data_0, \
data_1, \
data_2, \
data_3, \
data_4 \
)
#define RTEMS_RETURN_ADDRESS()
Returns the return address of the current function.
Definition: basedefs.h:399

Generates the specified exit event and five argument events.

The event data of the specified exit event is the return address of the function calling rtems_record_exit_5().

Parameters
eventThe exit event.
data_0The RTEMS_RECORD_RETURN_0 event data.
data_1The RTEMS_RECORD_RETURN_1 event data.
data_2The RTEMS_RECORD_RETURN_2 event data.
data_3The RTEMS_RECORD_RETURN_3 event data.
data_4The RTEMS_RECORD_RETURN_4 event data.

◆ rtems_record_exit_6

#define rtems_record_exit_6 (   event,
  data_0,
  data_1,
  data_2,
  data_3,
  data_4,
  data_5 
)
Value:
_Record_Exit_6( \
event, \
data_0, \
data_1, \
data_2, \
data_3, \
data_4, \
data_5 \
)
#define RTEMS_RETURN_ADDRESS()
Returns the return address of the current function.
Definition: basedefs.h:399

Generates the specified exit event and six argument events.

The event data of the specified exit event is the return address of the function calling rtems_record_exit_6().

Parameters
eventThe exit event.
data_0The RTEMS_RECORD_RETURN_0 event data.
data_1The RTEMS_RECORD_RETURN_1 event data.
data_2The RTEMS_RECORD_RETURN_2 event data.
data_3The RTEMS_RECORD_RETURN_3 event data.
data_4The RTEMS_RECORD_RETURN_4 event data.
data_5The RTEMS_RECORD_RETURN_5 event data.

◆ rtems_record_exit_7

#define rtems_record_exit_7 (   event,
  data_0,
  data_1,
  data_2,
  data_3,
  data_4,
  data_5,
  data_6 
)
Value:
_Record_Exit_7( \
event, \
data_0, \
data_1, \
data_2, \
data_3, \
data_4, \
data_5, \
data_6 \
)
#define RTEMS_RETURN_ADDRESS()
Returns the return address of the current function.
Definition: basedefs.h:399

Generates the specified exit event and seven argument events.

The event data of the specified exit event is the return address of the function calling rtems_record_exit_7().

Parameters
eventThe exit event.
data_0The RTEMS_RECORD_RETURN_0 event data.
data_1The RTEMS_RECORD_RETURN_1 event data.
data_2The RTEMS_RECORD_RETURN_2 event data.
data_3The RTEMS_RECORD_RETURN_3 event data.
data_4The RTEMS_RECORD_RETURN_4 event data.
data_5The RTEMS_RECORD_RETURN_5 event data.
data_6The RTEMS_RECORD_RETURN_6 event data.

◆ rtems_record_exit_8

#define rtems_record_exit_8 (   event,
  data_0,
  data_1,
  data_2,
  data_3,
  data_4,
  data_5,
  data_6,
  data_7 
)
Value:
_Record_Exit_8( \
event, \
data_0, \
data_1, \
data_2, \
data_3, \
data_4, \
data_5, \
data_6, \
data_7 \
)
#define RTEMS_RETURN_ADDRESS()
Returns the return address of the current function.
Definition: basedefs.h:399

Generates the specified exit event and eight argument events.

The event data of the specified exit event is the return address of the function calling rtems_record_exit_8().

Parameters
eventThe exit event.
data_0The RTEMS_RECORD_RETURN_0 event data.
data_1The RTEMS_RECORD_RETURN_1 event data.
data_2The RTEMS_RECORD_RETURN_2 event data.
data_3The RTEMS_RECORD_RETURN_3 event data.
data_4The RTEMS_RECORD_RETURN_4 event data.
data_5The RTEMS_RECORD_RETURN_5 event data.
data_6The RTEMS_RECORD_RETURN_6 event data.
data_7The RTEMS_RECORD_RETURN_7 event data.

◆ rtems_record_exit_9

#define rtems_record_exit_9 (   event,
  data_0,
  data_1,
  data_2,
  data_3,
  data_4,
  data_5,
  data_6,
  data_7,
  data_8 
)
Value:
_Record_Exit_9( \
event, \
data_0, \
data_1, \
data_2, \
data_3, \
data_4, \
data_5, \
data_6, \
data_7, \
data_8 \
)
#define RTEMS_RETURN_ADDRESS()
Returns the return address of the current function.
Definition: basedefs.h:399

Generates the specified exit event and nine argument events.

The event data of the specified exit event is the return address of the function calling rtems_record_exit_9().

Parameters
eventThe exit event.
data_0The RTEMS_RECORD_RETURN_0 event data.
data_1The RTEMS_RECORD_RETURN_1 event data.
data_2The RTEMS_RECORD_RETURN_2 event data.
data_3The RTEMS_RECORD_RETURN_3 event data.
data_4The RTEMS_RECORD_RETURN_4 event data.
data_5The RTEMS_RECORD_RETURN_5 event data.
data_6The RTEMS_RECORD_RETURN_6 event data.
data_7The RTEMS_RECORD_RETURN_7 event data.
data_8The RTEMS_RECORD_RETURN_8 event data.

◆ RTEMS_RECORD_MAGIC

#define RTEMS_RECORD_MAGIC   0x82e14ec1

Magic number to identify a record item stream.

This is a random number.

◆ RTEMS_RECORD_THE_VERSION

#define RTEMS_RECORD_THE_VERSION   9

The record version.

The record version reflects the record event definitions. It is reported by the RTEMS_RECORD_VERSION event.

◆ RTEMS_RECORD_TIME_EVENT

#define RTEMS_RECORD_TIME_EVENT (   time,
  event 
)    ( ( ( time ) << RTEMS_RECORD_EVENT_BITS ) | ( event ) )

Builds a time event for the specified time stamp and event.

The events are stored in the record item with a time stamp. There are 22 bits allocated to the time stamp and 10 bits allocated to the event. The 22 bits are enough to get reliable time stamps on a system with a 4GHz CPU counter and a 1000Hz clock tick.

Typedef Documentation

◆ rtems_record_data

typedef unsigned long rtems_record_data

The record data integer type.

It is big enough to store 32-bit integers and pointers.

◆ rtems_record_dump_chunk

typedef void( * rtems_record_dump_chunk) (void *arg, const void *data, size_t length)

Handler for record dumps to output a chunk of data.

Parameters
argThe argument passed to rtems_record_dump().
dataThe begin of the data chunk.
lengthThe length in bytes of the data chunk.

Function Documentation

◆ __attribute__()

struct __attribute__ ( (__packed__)  )

The native record item.

The 64-bit format record item.

◆ rtems_record_add()

RTEMS_INLINE_ROUTINE void rtems_record_add ( rtems_record_context context,
rtems_record_event  event,
rtems_record_data  data 
)

Adds a record item.

Parameters
contextThe record context initialized via rtems_record_prepare().
eventThe record event without a time stamp for the item.
dataThe record data for the item.

◆ rtems_record_client_destroy()

void rtems_record_client_destroy ( rtems_record_client_context ctx)

Drains all internal buffers and frees the allocated resources.

The client context must not be used afterwards. It can be re-initialized via rtems_record_client_init().

Parameters
ctxThe record client context.

◆ rtems_record_client_init()

void rtems_record_client_init ( rtems_record_client_context ctx,
rtems_record_client_handler  handler,
void *  arg 
)

Initializes a record client.

The record client consumes a record item stream produces by the record server.

Parameters
ctxThe record client context to initialize.
handlerThe handler is invoked for each received record item.
argThe handler argument.

◆ rtems_record_client_run()

rtems_record_client_status rtems_record_client_run ( rtems_record_client_context ctx,
const void *  buf,
size_t  n 
)

Runs the record client to consume new stream data.

Parameters
ctxThe record client context.
bufThe buffer with new stream data.
nThe size of the buffer.

◆ rtems_record_commit()

RTEMS_INLINE_ROUTINE void rtems_record_commit ( rtems_record_context context)

Commits a set of record items.

Parameters
contextThe record context initialized via rtems_record_prepare().

◆ rtems_record_commit_critical()

RTEMS_INLINE_ROUTINE void rtems_record_commit_critical ( rtems_record_context context)

Commits a set of record items in a critical section with interrupts disabled.

Parameters
contextThe record context initialized via rtems_record_prepare_critical().

◆ rtems_record_drain()

void rtems_record_drain ( rtems_record_drain_visitor  visitor,
void *  arg 
)

Drains the record items on all processors.

Calls the visitor function for each drained item set.

Parameters
visitorThe visitor function.
argThe argument for the visitor function.

◆ rtems_record_dump()

void rtems_record_dump ( rtems_record_dump_chunk  chunk,
void *  arg 
)

Dumps the record header, the thread names, and all items of all processors.

Parameters
chunkHandler to dump a chunk of data.
flushHandler to flush the data.
argThe argument for the handlers.

◆ rtems_record_dump_base64()

void rtems_record_dump_base64 ( void(*)(int, void *)  put_char,
void *  arg 
)

Dumps the event records in base64 encoding.

Parameters
put_charThe put char handler.
argThe argument for the put char handler.
See also
rtems_record_dump().

◆ rtems_record_dump_zlib_base64()

void rtems_record_dump_zlib_base64 ( rtems_record_dump_base64_zlib_context ctx,
void(*)(int, void *)  put_char,
void *  arg 
)

Dumps the event records compressed with zlib in base64 encoding.

Parameters
ctxThe context to perform the record dump with zlib compression and base64 encoding. This context is too large for normal stack sizes.
put_charThe put char handler.
argThe argument for the put char handler.
See also
rtems_record_dump().

◆ rtems_record_interrupt_disable()

uint32_t rtems_record_interrupt_disable ( void  )

Disables interrupts and generates an RTEMS_RECORD_ISR_DISABLE event.

Returns
The previous interrupt level.

◆ rtems_record_interrupt_enable()

void rtems_record_interrupt_enable ( uint32_t  level)

Restores the previous interrupt level and generates an RTEMS_RECORD_ISR_ENABLE event.

Parameters
levelThe previous interrupt level. Must be the return value of the corresponding rtems_record_interrupt_disable().

◆ rtems_record_line()

void rtems_record_line ( void  )

Generates an RTEMS_RECORD_LINE event.

The event data is the address of the call to this function.

◆ rtems_record_line_2()

void rtems_record_line_2 ( rtems_record_event  event,
rtems_record_data  data 
)

Generates an RTEMS_RECORD_LINE event and an extra event.

The event data is the address of the call to this function.

Parameters
eventThe record event without a time stamp for the second item.
dataThe record data for the second item.

◆ rtems_record_line_3()

void rtems_record_line_3 ( rtems_record_event  event_0,
rtems_record_data  data_0,
rtems_record_event  event_1,
rtems_record_data  data_1 
)

Generates an RTEMS_RECORD_LINE event and two extra events.

The event data is the address of the call to this function.

Parameters
event_0The record event without a time stamp for the second item.
data_0The record data for the second item.
event_1The record event without a time stamp for the third item.
data_1The record data for the third item.

◆ rtems_record_line_arg()

void rtems_record_line_arg ( rtems_record_data  data)

Generates an RTEMS_RECORD_LINE event and one argument event.

The event data of the RTEMS_RECORD_LINE event is the address of the call to this function.

Parameters
dataThe RTEMS_RECORD_ARG_0 event data.

◆ rtems_record_line_arg_10()

void rtems_record_line_arg_10 ( rtems_record_data  data_0,
rtems_record_data  data_1,
rtems_record_data  data_2,
rtems_record_data  data_3,
rtems_record_data  data_4,
rtems_record_data  data_5,
rtems_record_data  data_6,
rtems_record_data  data_7,
rtems_record_data  data_8,
rtems_record_data  data_9 
)

Generates an RTEMS_RECORD_LINE event and ten argument events.

The event data of the RTEMS_RECORD_LINE event is the address of the call to this function.

Parameters
data_0The RTEMS_RECORD_ARG_0 event data.
data_1The RTEMS_RECORD_ARG_1 event data.
data_2The RTEMS_RECORD_ARG_2 event data.
data_3The RTEMS_RECORD_ARG_3 event data.
data_4The RTEMS_RECORD_ARG_4 event data.
data_5The RTEMS_RECORD_ARG_5 event data.
data_6The RTEMS_RECORD_ARG_6 event data.
data_7The RTEMS_RECORD_ARG_7 event data.
data_8The RTEMS_RECORD_ARG_8 event data.
data_9The RTEMS_RECORD_ARG_9 event data.

◆ rtems_record_line_arg_2()

void rtems_record_line_arg_2 ( rtems_record_data  data_0,
rtems_record_data  data_1 
)

Generates an RTEMS_RECORD_LINE event and two argument events.

The event data of the RTEMS_RECORD_LINE event is the address of the call to this function.

Parameters
data_0The RTEMS_RECORD_ARG_0 event data.
data_1The RTEMS_RECORD_ARG_1 event data.

◆ rtems_record_line_arg_3()

void rtems_record_line_arg_3 ( rtems_record_data  data_0,
rtems_record_data  data_1,
rtems_record_data  data_2 
)

Generates an RTEMS_RECORD_LINE event and three argument events.

The event data of the RTEMS_RECORD_LINE event is the address of the call to this function.

Parameters
data_0The RTEMS_RECORD_ARG_0 event data.
data_1The RTEMS_RECORD_ARG_1 event data.
data_2The RTEMS_RECORD_ARG_2 event data.

◆ rtems_record_line_arg_4()

void rtems_record_line_arg_4 ( rtems_record_data  data_0,
rtems_record_data  data_1,
rtems_record_data  data_2,
rtems_record_data  data_3 
)

Generates an RTEMS_RECORD_LINE event and four argument events.

The event data of the RTEMS_RECORD_LINE event is the address of the call to this function.

Parameters
data_0The RTEMS_RECORD_ARG_0 event data.
data_1The RTEMS_RECORD_ARG_1 event data.
data_2The RTEMS_RECORD_ARG_2 event data.
data_3The RTEMS_RECORD_ARG_3 event data.

◆ rtems_record_line_arg_5()

void rtems_record_line_arg_5 ( rtems_record_data  data_0,
rtems_record_data  data_1,
rtems_record_data  data_2,
rtems_record_data  data_3,
rtems_record_data  data_4 
)

Generates an RTEMS_RECORD_LINE event and five argument events.

The event data of the RTEMS_RECORD_LINE event is the address of the call to this function.

Parameters
data_0The RTEMS_RECORD_ARG_0 event data.
data_1The RTEMS_RECORD_ARG_1 event data.
data_2The RTEMS_RECORD_ARG_2 event data.
data_3The RTEMS_RECORD_ARG_3 event data.
data_4The RTEMS_RECORD_ARG_4 event data.

◆ rtems_record_line_arg_6()

void rtems_record_line_arg_6 ( rtems_record_data  data_0,
rtems_record_data  data_1,
rtems_record_data  data_2,
rtems_record_data  data_3,
rtems_record_data  data_4,
rtems_record_data  data_5 
)

Generates an RTEMS_RECORD_LINE event and six argument events.

The event data of the RTEMS_RECORD_LINE event is the address of the call to this function.

Parameters
data_0The RTEMS_RECORD_ARG_0 event data.
data_1The RTEMS_RECORD_ARG_1 event data.
data_2The RTEMS_RECORD_ARG_2 event data.
data_3The RTEMS_RECORD_ARG_3 event data.
data_4The RTEMS_RECORD_ARG_4 event data.
data_5The RTEMS_RECORD_ARG_5 event data.

◆ rtems_record_line_arg_7()

void rtems_record_line_arg_7 ( rtems_record_data  data_0,
rtems_record_data  data_1,
rtems_record_data  data_2,
rtems_record_data  data_3,
rtems_record_data  data_4,
rtems_record_data  data_5,
rtems_record_data  data_6 
)

Generates an RTEMS_RECORD_LINE event and seven argument events.

The event data of the RTEMS_RECORD_LINE event is the address of the call to this function.

Parameters
data_0The RTEMS_RECORD_ARG_0 event data.
data_1The RTEMS_RECORD_ARG_1 event data.
data_2The RTEMS_RECORD_ARG_2 event data.
data_3The RTEMS_RECORD_ARG_3 event data.
data_4The RTEMS_RECORD_ARG_4 event data.
data_5The RTEMS_RECORD_ARG_5 event data.
data_6The RTEMS_RECORD_ARG_6 event data.

◆ rtems_record_line_arg_8()

void rtems_record_line_arg_8 ( rtems_record_data  data_0,
rtems_record_data  data_1,
rtems_record_data  data_2,
rtems_record_data  data_3,
rtems_record_data  data_4,
rtems_record_data  data_5,
rtems_record_data  data_6,
rtems_record_data  data_7 
)

Generates an RTEMS_RECORD_LINE event and eight argument events.

The event data of the RTEMS_RECORD_LINE event is the address of the call to this function.

Parameters
data_0The RTEMS_RECORD_ARG_0 event data.
data_1The RTEMS_RECORD_ARG_1 event data.
data_2The RTEMS_RECORD_ARG_2 event data.
data_3The RTEMS_RECORD_ARG_3 event data.
data_4The RTEMS_RECORD_ARG_4 event data.
data_5The RTEMS_RECORD_ARG_5 event data.
data_6The RTEMS_RECORD_ARG_6 event data.
data_7The RTEMS_RECORD_ARG_7 event data.

◆ rtems_record_line_arg_9()

void rtems_record_line_arg_9 ( rtems_record_data  data_0,
rtems_record_data  data_1,
rtems_record_data  data_2,
rtems_record_data  data_3,
rtems_record_data  data_4,
rtems_record_data  data_5,
rtems_record_data  data_6,
rtems_record_data  data_7,
rtems_record_data  data_8 
)

Generates an RTEMS_RECORD_LINE event and nine argument events.

The event data of the RTEMS_RECORD_LINE event is the address of the call to this function.

Parameters
data_0The RTEMS_RECORD_ARG_0 event data.
data_1The RTEMS_RECORD_ARG_1 event data.
data_2The RTEMS_RECORD_ARG_2 event data.
data_3The RTEMS_RECORD_ARG_3 event data.
data_4The RTEMS_RECORD_ARG_4 event data.
data_5The RTEMS_RECORD_ARG_5 event data.
data_6The RTEMS_RECORD_ARG_6 event data.
data_7The RTEMS_RECORD_ARG_7 event data.
data_8The RTEMS_RECORD_ARG_8 event data.

◆ rtems_record_prepare()

RTEMS_INLINE_ROUTINE void rtems_record_prepare ( rtems_record_context context)

Prepares to add and commit record items.

This function disables interrupts.

Parameters
contextThe record context which must be used for the following rtems_record_add() and rtems_record_commit() calls. The record context may have an arbitrary content at function entry.
See also
rtems_record_produce().

◆ rtems_record_prepare_critical()

RTEMS_INLINE_ROUTINE void rtems_record_prepare_critical ( rtems_record_context context,
const Per_CPU_Control cpu_self 
)

Prepares to add and commit record items in a critical section with interrupts disabled.

This function does not disable interrupts. It must be called with interrupts disabled. Interrupts must be disabled until the corresponding rtems_record_commit_critical() was called.

Parameters
contextThe record context which must be used for the following rtems_record_add() and rtems_record_commit_critical() calls. The record context may have an arbitrary content at function entry.
cpu_selfThe control of the current processor.

◆ rtems_record_produce()

void rtems_record_produce ( rtems_record_event  event,
rtems_record_data  data 
)

Produces a record item.

Parameters
eventThe record event without a time stamp for the item.
dataThe record data for the item.

◆ rtems_record_produce_2()

void rtems_record_produce_2 ( rtems_record_event  event_0,
rtems_record_data  data_0,
rtems_record_event  event_1,
rtems_record_data  data_1 
)

Produces two record items.

Parameters
event_0The record event without a time stamp for the first item.
data_0The record data for the first item.
event_1The record event without a time stamp for the second item.
data_1The record data for the second item.

◆ rtems_record_produce_n()

void rtems_record_produce_n ( const rtems_record_item *  items,
size_t  n 
)

Produces n record items.

Parameters
itemThe record items without a time stamps.
nThe count of record items.