/*
* SPDX-License-Identifier: BSD-2-Clause
*
* Copyright (C) 2018, 2019 embedded brains GmbH
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
/*
* This file must be compatible to general purpose POSIX system, e.g. Linux,
* FreeBSD. It may be used for utility programs.
*/
#ifndef _RTEMS_RECORDDATA_H
#define _RTEMS_RECORDDATA_H
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
/**
* @defgroup RTEMSRecord Event Recording
*
* @ingroup RTEMSAPITracing
*
* @brief Low-level event recording support.
*
* @{
*/
/**
* @brief The record version.
*
* The record version reflects the record event definitions. It is reported by
* the RTEMS_RECORD_VERSION event.
*/
#define RTEMS_RECORD_THE_VERSION 9
/**
* @brief The items are in 32-bit little-endian format.
*/
#define RTEMS_RECORD_FORMAT_LE_32 0x11111111
/**
* @brief The items are in 64-bit little-endian format.
*/
#define RTEMS_RECORD_FORMAT_LE_64 0x22222222
/**
* @brief The items are in 32-bit big-endian format.
*/
#define RTEMS_RECORD_FORMAT_BE_32 0x33333333
/**
* @brief The items are in 64-bit big-endian format.
*/
#define RTEMS_RECORD_FORMAT_BE_64 0x44444444
/**
* @brief Magic number to identify a record item stream.
*
* This is a random number.
*/
#define RTEMS_RECORD_MAGIC 0x82e14ec1
/**
* @brief The record events.
*/
typedef enum {
/* There are 512 events reserved for the system */
RTEMS_RECORD_EMPTY,
RTEMS_RECORD_VERSION,
/*
* Keep the following system events in lexicographical order, increment
* RTEMS_RECORD_THE_VERSION after each change.
*/
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,
/* Unused system events */
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,
/* There are 512 events reserved for the user */
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
} rtems_record_event;
#define RTEMS_RECORD_LAST RTEMS_RECORD_USER_511
#define RTEMS_RECORD_USER( index ) ( RTEMS_RECORD_USER_0 + ( index ) )
/**
* @brief Bits in the record item event member reserved for the actual event.
*/
#define RTEMS_RECORD_EVENT_BITS 10
/**
* @brief Bits in the record item event member reserved for the time of the
* event.
*/
#define RTEMS_RECORD_TIME_BITS 22
/**
* @brief 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.
*/
#define RTEMS_RECORD_TIME_EVENT( time, event ) \
( ( ( time ) << RTEMS_RECORD_EVENT_BITS ) | ( event ) )
/**
* @brief Gets the time of a time event.
*/
#define RTEMS_RECORD_GET_TIME( time_event ) \
( ( time_event ) >> RTEMS_RECORD_EVENT_BITS )
/**
* @brief Gets the event of a time event.
*/
#define RTEMS_RECORD_GET_EVENT( time_event ) \
( ( time_event ) & ( ( 1U << RTEMS_RECORD_EVENT_BITS ) - 1U ) )
/**
* @brief The record data integer type.
*
* It is big enough to store 32-bit integers and pointers.
*/
typedef unsigned long rtems_record_data;
/**
* @brief The native record item.
*/
typedef struct __attribute__((__packed__)) {
uint32_t event;
rtems_record_data data;
} rtems_record_item;
/**
* @brief The 32-bit format record item.
*/
typedef struct {
uint32_t event;
uint32_t data;
} rtems_record_item_32;
/**
* @brief The 64-bit format record item.
*/
typedef struct __attribute__((__packed__)) {
uint32_t event;
uint64_t data;
} rtems_record_item_64;
const char *rtems_record_event_text( rtems_record_event event );
/** @} */
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* _RTEMS_RECORDDATA_H */