RTEMS: cpukit/include/rtems/capture.h File Reference

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
Data Structures | Macros | Typedefs | Enumerations | Functions
capture.h File Reference

Capture Engine Component of the RTEMS Measurement and Monitoring System. More...

`#include <rtems.h>`
`#include <rtems/rtems/tasksimpl.h>`
`#include <string.h>`

Go to the source code of this file.

## Data Structures
struct | rtems_capture_from
| Task id and mask for the from trigger. More...
struct | rtems_capture_control
| Capture control structure for a group of tasks. More...
struct | rtems_capture_record
struct | rtems_capture_task_record
struct | rtems_capture_record_lock_context
| Capture record lock context. More...

## Macros
#define | RTEMS_CAPTURE_INIT (1u << 0)
#define | RTEMS_CAPTURE_ON (1U << 1)
#define | RTEMS_CAPTURE_NO_MEMORY (1U << 2)
#define | RTEMS_CAPTURE_TRIGGERED (1U << 3)
#define | RTEMS_CAPTURE_GLOBAL_WATCH (1U << 4)
#define | RTEMS_CAPTURE_ONLY_MONITOR (1U << 5)
#define | RTEMS_CAPTURE_OVERFLOW (1U << 0)
#define | RTEMS_CAPTURE_READER_ACTIVE (1U << 1)
#define | RTEMS_CAPTURE_READER_WAITING (1U << 2)
#define | RTEMS_CAPTURE_TRIGGER_TASKS (32)
#define | RTEMS_CAPTURE_CONTROL_FROM_MASK(_s) (UINT32_C(1) << (RTEMS_CAPTURE_TRIGGER_TASKS - ((_s) + 1)))
#define | RTEMS_CAPTURE_WATCH (1U << 0)
#define | RTEMS_CAPTURE_SWITCH (1 << 0)
#define | RTEMS_CAPTURE_CREATE (1 << 1)
#define | RTEMS_CAPTURE_START (1 << 2)
#define | RTEMS_CAPTURE_RESTART (1 << 3)
#define | RTEMS_CAPTURE_DELETE (1 << 4)
#define | RTEMS_CAPTURE_BEGIN (1 << 5)
#define | RTEMS_CAPTURE_EXITTED (1 << 6)
#define | RTEMS_CAPTURE_TERMINATED (1 << 7)
#define | RTEMS_CAPTURE_FROM_TRIGS
#define | RTEMS_CAPTURE_TO_TRIGS
#define | RTEMS_CAPTURE_TRACED (1U << 0)
#define | RTEMS_CAPTURE_INIT_TASK (1U << 1)
#define | RTEMS_CAPTURE_RECORD_TASK (1U << 2)
#define | RTEMS_CAPTURE_REAL_PRI_EVENT_MASK UINT32_C (0x000000ff)
#define | RTEMS_CAPTURE_CURR_PRI_EVENT_MASK UINT32_C (0x0000ff00)
#define | RTEMS_CAPTURE_REAL_PRIORITY_EVENT (0)
#define | RTEMS_CAPTURE_CURR_PRIORITY_EVENT (8)
#define | RTEMS_CAPTURE_EVENT_START (16)
#define | RTEMS_CAPTURE_CREATED_BY_EVENT UINT32_C (0x00010000)
#define | RTEMS_CAPTURE_CREATED_EVENT UINT32_C (0x00020000)
#define | RTEMS_CAPTURE_STARTED_BY_EVENT UINT32_C (0x00040000)
#define | RTEMS_CAPTURE_STARTED_EVENT UINT32_C (0x00080000)
#define | RTEMS_CAPTURE_RESTARTED_BY_EVENT UINT32_C (0x00100000)
#define | RTEMS_CAPTURE_RESTARTED_EVENT UINT32_C (0x00200000)
#define | RTEMS_CAPTURE_DELETED_BY_EVENT UINT32_C (0x00400000)
#define | RTEMS_CAPTURE_DELETED_EVENT UINT32_C (0x00800000)
#define | RTEMS_CAPTURE_TERMINATED_EVENT UINT32_C (0x01000000)
#define | RTEMS_CAPTURE_BEGIN_EVENT UINT32_C (0x02000000)
#define | RTEMS_CAPTURE_EXITTED_EVENT UINT32_C (0x04000000)
#define | RTEMS_CAPTURE_SWITCHED_OUT_EVENT UINT32_C (0x08000000)
#define | RTEMS_CAPTURE_SWITCHED_IN_EVENT UINT32_C (0x10000000)
#define | RTEMS_CAPTURE_TIMESTAMP UINT32_C (0x20000000)
#define | RTEMS_CAPTURE_EVENT_END (29)

## Typedefs
typedef uint64_t | rtems_capture_time
| A capture timestamp.
typedef struct rtems_capture_from | rtems_capture_from
| Task id and mask for the from trigger.
typedef struct rtems_capture_control | rtems_capture_control
| Capture control structure for a group of tasks.
typedef struct rtems_capture_record | rtems_capture_record
typedef struct rtems_capture_task_record | rtems_capture_task_record
typedef enum rtems_capture_trigger_mode | rtems_capture_trigger_mode
| Capture trigger modes.
typedef enum rtems_capture_trigger | rtems_capture_trigger
| Capture trigger.
typedef void(* | rtems_capture_timestamp) (rtems_capture_time *time)
| Capture timestamp callout handler.

## Enumerations
enum | rtems_capture_trigger_mode { rtems_capture_to_any , rtems_capture_from_any , rtems_capture_from_to }
| Capture trigger modes. More...
enum | rtems_capture_trigger { rtems_capture_switch , rtems_capture_create , rtems_capture_start , rtems_capture_restart , rtems_capture_delete , rtems_capture_begin , rtems_capture_exitted , rtems_capture_terminated }
| Capture trigger. More...

## Functions
rtems_status_code | rtems_capture_open (uint32_t size, rtems_capture_timestamp timestamp)
| Capture open.
rtems_status_code | rtems_capture_close (void)
| Capture close.
rtems_status_code | rtems_capture_set_control (bool enable)
| Capture control trace enable/disable.
rtems_status_code | rtems_capture_set_monitor (bool enable)
| Capture monitor enable/disable.
rtems_status_code | rtems_capture_flush (bool prime)
rtems_status_code | rtems_capture_watch_add (rtems_name name, rtems_id id)
| Capture add watch.
rtems_status_code | rtems_capture_watch_del (rtems_name name, rtems_id id)
| Capture delete watch.
rtems_status_code | rtems_capture_watch_ctrl (rtems_name name, rtems_id id, bool enable)
| Capture enable/disable watch.
rtems_status_code | rtems_capture_watch_global (bool enable)
| Capture enable/disable global watch.
bool | rtems_capture_watch_global_on (void)
| Get global watch state.
rtems_status_code | rtems_capture_watch_ceiling (rtems_task_priority ceiling)
| Set watch ceiling.
rtems_task_priority | rtems_capture_watch_get_ceiling (void)
| Get watch ceiling.
rtems_status_code | rtems_capture_watch_floor (rtems_task_priority floor)
| Capture set watch floor.
rtems_task_priority | rtems_capture_watch_get_floor (void)
| Capture set watch floor.
rtems_status_code | rtems_capture_set_trigger (rtems_name from_name, rtems_id from_id, rtems_name to_name, rtems_id to_id, rtems_capture_trigger_mode mode, rtems_capture_trigger trigger)
| Capture set trigger.
rtems_status_code | rtems_capture_clear_trigger (rtems_name from_name, rtems_id from_id, rtems_name to_name, rtems_id to_id, rtems_capture_trigger_mode mode, rtems_capture_trigger trigger)
| Capture clear trigger.
rtems_status_code | rtems_capture_read (uint32_t cpu, size_t *read, const void **recs)
| Capture read records from capture buffer.
rtems_status_code | rtems_capture_release (uint32_t cpu, uint32_t count)
| Capture release records.
bool | rtems_capture_filter (rtems_tcb *task, uint32_t events)
| Capture filter.
void | rtems_capture_get_time (rtems_capture_time *time)
| Capture returns the current time.
const char * | rtems_capture_event_text (int event)
| Capture get event text.
void | rtems_capture_initialize_task (rtems_tcb *tcb)
| Capture initialize task.
void | rtems_capture_record_task (rtems_tcb *tcb)
| Capture record task.
void | rtems_capture_record_lock (rtems_capture_record_lock_context *context)
| Capture record lock.
void | rtems_capture_record_unlock (rtems_capture_record_lock_context *context)
| Capture record unlock.
void * | rtems_capture_record_open (rtems_tcb *task, uint32_t events, size_t size, rtems_capture_record_lock_context *context)
| Capture record open.
void | rtems_capture_record_close (rtems_capture_record_lock_context *context)
| Capture record close.
rtems_capture_control * | rtems_capture_get_control_list (void)
| Capture get control list.

## Detailed Description

Capture Engine Component of the RTEMS Measurement and Monitoring System.

This is the Capture Engine component of the RTEMS Measurement and Monitoring system.