RTEMS 6.1-rc5
Loading...
Searching...
No Matches
Files | Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
Event Recording

Low-level event recording support. More...

Files

file  record-fetch.c
 This source file contains the implementation of the record fetching.
 

Data Structures

struct  rtems_record_fetch_control
 This structure controls the record fetching performed by rtems_record_fetch(). More...
 
struct  rtems_record_client_uptime
 
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.
 
#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.
 
#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.
 
#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.
 
#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.
 
#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.
 
#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.
 
#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.
 
#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.
 
#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.
 
#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.
 
#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.
 
#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.
 
#define rtems_record_entry(event)    rtems_record_produce( event, (rtems_record_data) RTEMS_RETURN_ADDRESS() )
 Generates the specified entry event.
 
#define rtems_record_entry_1(event, data)
 Generates the specified entry event and an argument event.
 
#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.
 
#define rtems_record_entry_3(event, data_0, data_1, data_2)
 Generates the specified entry event and three argument events.
 
#define rtems_record_entry_4(event, data_0, data_1, data_2, data_3)
 Generates the specified entry event and four argument events.
 
#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.
 
#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.
 
#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.
 
#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.
 
#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.
 
#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.
 
#define rtems_record_exit(event)    rtems_record_produce( event, (rtems_record_data) RTEMS_RETURN_ADDRESS() )
 Generates the specified exit event.
 
#define rtems_record_exit_1(event, data)
 Generates the specified exit event and a return event.
 
#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.
 
#define rtems_record_exit_3(event, data_0, data_1, data_2)
 Generates the specified exit event and three argument events.
 
#define rtems_record_exit_4(event, data_0, data_1, data_2, data_3)
 Generates the specified exit event and four argument events.
 
#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.
 
#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.
 
#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.
 
#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.
 
#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.
 
#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.
 
#define RTEMS_RECORD_CLIENT_MAXIMUM_CPU_COUNT   32
 
#define RTEMS_RECORD_CLIENT_HOLD_BACK_REALLOCATION_LIMIT   0x100000
 This constant defines the maximum capacity of the hold back item storage in case a reallocation is necessary.
 
#define RTEMS_RECORD_THE_VERSION   10
 The record version.
 
#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.
 
#define RTEMS_RECORD_NO_TIME_LAST   RTEMS_RECORD_VERSION_CONTROL_KEY
 This constant represents the last system event number which may have no time stamp.
 
#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.
 
#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 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.
 
typedef void(* rtems_record_dump_chunk) (void *arg, const void *data, size_t length)
 Handler for record dumps to output a chunk of data.
 
typedef unsigned short int uint16 __attribute__((__may_alias__)) = 100
 The 64-bit format record item.
 

Enumerations

enum  rtems_record_fetch_status { RTEMS_RECORD_FETCH_DONE , RTEMS_RECORD_FETCH_CONTINUE , RTEMS_RECORD_FETCH_INVALID_ITEM_COUNT }
 This enumeration provides status codes returned by rtems_record_fetch(). More...
 
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_ARCH , RTEMS_RECORD_BSP ,
  RTEMS_RECORD_FREQUENCY , RTEMS_RECORD_MULTILIB , RTEMS_RECORD_PER_CPU_COUNT , RTEMS_RECORD_PER_CPU_DISCARD ,
  RTEMS_RECORD_PER_CPU_OVERFLOW , RTEMS_RECORD_PROCESSOR , RTEMS_RECORD_PROCESSOR_MAXIMUM , RTEMS_RECORD_THREAD_ID ,
  RTEMS_RECORD_THREAD_NAME , RTEMS_RECORD_TIME_ADJUSTMENT , RTEMS_RECORD_TOOLS , RTEMS_RECORD_UNRELIABLE_TIME ,
  RTEMS_RECORD_VERSION_CONTROL_KEY , RTEMS_RECORD_ACCEPT_ENTRY , RTEMS_RECORD_ACCEPT_EXIT , RTEMS_RECORD_ADDRESS ,
  RTEMS_RECORD_ALIGNED_ALLOC_ENTRY , RTEMS_RECORD_ALIGNED_ALLOC_EXIT , 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_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_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_OPEN_ENTRY , RTEMS_RECORD_OPEN_EXIT , RTEMS_RECORD_PAGE_ALLOC ,
  RTEMS_RECORD_PAGE_FREE , RTEMS_RECORD_POLL_ENTRY , RTEMS_RECORD_POLL_EXIT , RTEMS_RECORD_POSIX_MEMALIGN_ENTRY ,
  RTEMS_RECORD_POSIX_MEMALIGN_EXIT , 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_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_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_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_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

void rtems_record_produce (rtems_record_event event, rtems_record_data data)
 Produces a record item.
 
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.
 
void rtems_record_produce_n (const rtems_record_item *items, size_t n)
 Produces n record items.
 
void rtems_record_line (void)
 Generates an RTEMS_RECORD_LINE event.
 
void rtems_record_line_2 (rtems_record_event event, rtems_record_data data)
 Generates an RTEMS_RECORD_LINE event and an extra event.
 
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.
 
void rtems_record_line_arg (rtems_record_data data)
 Generates an RTEMS_RECORD_LINE event and one argument event.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
uint32_t rtems_record_interrupt_disable (void)
 Disables interrupts and generates an RTEMS_RECORD_ISR_DISABLE event.
 
void rtems_record_interrupt_enable (uint32_t level)
 Restores the previous interrupt level and generates an RTEMS_RECORD_ISR_ENABLE event.
 
size_t rtems_record_get_item_count_for_fetch (void)
 Returns the count of items which allows getting all available items for one processor through one call to rtems_record_fetch().
 
void rtems_record_fetch_initialize (rtems_record_fetch_control *control, rtems_record_item *items, size_t count)
 Initializes the record fetch control structure.
 
rtems_record_fetch_status rtems_record_fetch (rtems_record_fetch_control *control)
 Fetches records from the record buffers of the processors.
 
rtems_record_client_status rtems_record_client_init (rtems_record_client_context *ctx, rtems_record_client_handler handler, void *arg)
 Initializes a record client.
 
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.
 
void rtems_record_client_destroy (rtems_record_client_context *ctx)
 Drains all internal buffers and frees the allocated resources.
 
struct __attribute__ ((__packed__))
 The native record item.
 
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.
 
void rtems_record_dump_base64 (void(*put_char)(int, void *), void *arg)
 Dumps the event records in base64 encoding.
 
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.
 

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()
Gets the return address of the current function.
Definition: basedefs.h:811

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 \
)

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 \
)

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 \
)

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 \
)

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 \
)

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 \
)

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 \
)

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 \
)

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 \
)

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
unsigned long rtems_record_data
The record data integer type.
Definition: recorddata.h:1187

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 \
)

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 \
)

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 \
)

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 \
)

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 \
)

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 \
)

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 \
)

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 \
)

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 \
)

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 \
)

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 \
)

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 \
)

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 \
)

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 \
)

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 \
)

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 \
)

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 \
)

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   10

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.

Enumeration Type Documentation

◆ rtems_record_fetch_status

This enumeration provides status codes returned by rtems_record_fetch().

Enumerator
RTEMS_RECORD_FETCH_DONE 

This enumerator indicates that the current round of record fetches for all configure processors is done.

RTEMS_RECORD_FETCH_CONTINUE 

This enumerator indicates that the current round of record fetches for all configure processors has to continue.

RTEMS_RECORD_FETCH_INVALID_ITEM_COUNT 

This enumerator indicates that the item count passed to rtems_record_fetch() is invalid.

Function Documentation

◆ __attribute__()

struct __attribute__ ( (__packed__)  )

The native record item.

The 64-bit format record 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()

rtems_record_client_status 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_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_fetch()

rtems_record_fetch_status rtems_record_fetch ( rtems_record_fetch_control control)

Fetches records from the record buffers of the processors.

The fetched items and count of fetched items is returned through the control structure.

Parameters
[in,out]controlis the structure used to control the record fetching. Use rtems_record_fetch_initialize() to initialize it before the first call to rtems_record_fetch().
Return values
RTEMS_RECORD_FETCH_DONEThis return status indicates that the current round of record fetches for all configure processors is done.
RTEMS_RECORD_FETCH_CONTINUEThis return status indicates that the current round of record fetches for all configure processors has to continue.
RTEMS_RECORD_FETCH_INVALID_ITEM_COUNTThis return status indicates that the specified item count was invalid.

◆ rtems_record_fetch_initialize()

void rtems_record_fetch_initialize ( rtems_record_fetch_control control,
rtems_record_item *  items,
size_t  count 
)

Initializes the record fetch control structure.

This function shall be called before a record fetch control structure is passed to rtems_record_fetch().

Parameters
[out]controlis the structure to initialize.
[out]itemsis a reference to an item array which is used to store the fetched items.
countis the count of items in the referenced array. See rtems_record_get_item_count_for_fetch().

◆ rtems_record_get_item_count_for_fetch()

size_t rtems_record_get_item_count_for_fetch ( void  )

Returns the count of items which allows getting all available items for one processor through one call to rtems_record_fetch().

The value depends on CONFIGURE_RECORD_PER_PROCESSOR_ITEMS and implementation details fo rtems_record_fetch().

◆ 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_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.