RTEMS  5.1
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
monitor.h File Reference

The RTEMS Monitor Task. More...

#include <rtems/score/objectimpl.h>
#include <rtems/error.h>
#include <rtems/config.h>

Go to the source code of this file.

Data Structures

struct  rtems_monitor_symbol_t
 
struct  rtems_monitor_generic_t
 
struct  rtems_monitor_task_t
 
struct  rtems_monitor_init_task_t
 
struct  rtems_monitor_queue_t
 
struct  rtems_monitor_sema_t
 
struct  rtems_monitor_extension_t
 
struct  rtems_monitor_region_t
 
struct  rtems_monitor_part_t
 
struct  rtems_monitor_driver_t
 
struct  rtems_monitor_config_t
 
union  rtems_monitor_union_t
 
struct  rtems_monitor_server_request_t
 
struct  rtems_monitor_server_response_t
 
union  _rtems_monitor_command_arg_t
 
struct  rtems_monitor_command_entry_s
 
struct  rtems_monitor_object_info_t
 

Macros

#define RTEMS_MONITOR_SUSPEND   0x0001 /* suspend monitor on startup */
 
#define RTEMS_MONITOR_GLOBAL   0x0002 /* monitor should be global */
 
#define RTEMS_MONITOR_NOTASK   0x0004 /* do not start monitor task */
 
#define RTEMS_MONITOR_NOSYMLOAD   0x0008 /* do not load symbols */
 
#define RTEMS_MONITOR_WAITQUIT   0x0010 /* wait for monitor task to terminate */
 
#define MONITOR_SYMBOL_LEN   20
 
#define RTEMS_MONITOR_NAME   (rtems_build_name('R', 'M', 'O', 'N'))
 
#define RTEMS_MONITOR_SERVER_NAME   (rtems_build_name('R', 'M', 'S', 'V'))
 
#define RTEMS_MONITOR_QUEUE_NAME   (rtems_build_name('R', 'M', 'S', 'Q'))
 
#define RTEMS_MONITOR_RESPONSE_QUEUE_NAME   (rtems_build_name('R', 'M', 'R', 'Q'))
 
#define RTEMS_MONITOR_SERVER_RESPONSE   0x0001
 
#define RTEMS_MONITOR_SERVER_CANONICAL   0x0002
 
#define MONITOR_WAKEUP_EVENT   RTEMS_EVENT_0
 

Typedefs

typedef struct _rtems_symbol_t rtems_symbol_t
 
typedef struct _rtems_symbol_table_t rtems_symbol_table_t
 
typedef struct rtems_monitor_command_entry_s rtems_monitor_command_entry_t
 
typedef union _rtems_monitor_command_arg_t rtems_monitor_command_arg_t
 
typedef void(* rtems_monitor_command_function_t) (int argc, char **argv, const rtems_monitor_command_arg_t *command_arg, bool verbose)
 
typedef const void *(* rtems_monitor_object_next_fn) (void *, void *, rtems_id *)
 
typedef void(* rtems_monitor_object_canonical_fn) (void *, const void *)
 
typedef void(* rtems_monitor_object_dump_header_fn) (bool)
 
typedef void(* rtems_monitor_object_dump_fn) (void *, bool)
 
typedef bool(* rtems_monitor_per_command_routine) (const rtems_monitor_command_entry_t *, void *)
 

Enumerations

enum  rtems_monitor_object_type_t {
  RTEMS_MONITOR_OBJECT_INVALID = OBJECTS_CLASSIC_NO_CLASS, RTEMS_MONITOR_OBJECT_TASK = OBJECTS_RTEMS_TASKS, RTEMS_MONITOR_OBJECT_EXTENSION = OBJECTS_RTEMS_EXTENSIONS, RTEMS_MONITOR_OBJECT_QUEUE = OBJECTS_RTEMS_MESSAGE_QUEUES,
  RTEMS_MONITOR_OBJECT_SEMAPHORE = OBJECTS_RTEMS_SEMAPHORES, RTEMS_MONITOR_OBJECT_PARTITION = OBJECTS_RTEMS_PARTITIONS, RTEMS_MONITOR_OBJECT_REGION = OBJECTS_RTEMS_REGIONS, RTEMS_MONITOR_OBJECT_PORT = OBJECTS_RTEMS_PORTS,
  RTEMS_MONITOR_OBJECT_DRIVER = OBJECTS_RTEMS_CLASSES_LAST+1, RTEMS_MONITOR_OBJECT_DNAME, RTEMS_MONITOR_OBJECT_CONFIG, RTEMS_MONITOR_OBJECT_INIT_TASK,
  RTEMS_MONITOR_OBJECT_MPCI, RTEMS_MONITOR_OBJECT_SYMBOL, RTEMS_MONITOR_OBJECT_PTHREAD
}
 

Functions

void rtems_monitor_pause_cmd (int, char **, const rtems_monitor_command_arg_t *, bool)
 
void rtems_monitor_fatal_cmd (int, char **, const rtems_monitor_command_arg_t *, bool)
 
void rtems_monitor_continue_cmd (int, char **, const rtems_monitor_command_arg_t *, bool)
 
void rtems_monitor_debugger_cmd (int, char **, const rtems_monitor_command_arg_t *, bool)
 
void rtems_monitor_reset_cmd (int, char **, const rtems_monitor_command_arg_t *, bool)
 
void rtems_monitor_node_cmd (int, char **, const rtems_monitor_command_arg_t *, bool)
 
void rtems_monitor_symbols_loadup (void)
 
int rtems_monitor_insert_cmd (rtems_monitor_command_entry_t *)
 
void rtems_monitor_wakeup (void)
 
void rtems_monitor_command_iterate (rtems_monitor_per_command_routine routine, void *arg)
 Iterates through all registerd commands. More...
 
rtems_status_code rtems_monitor_suspend (rtems_interval timeout)
 
void rtems_monitor_kill (void)
 
void rtems_monitor_init (uint32_t)
 
void rtems_monitor_task (rtems_task_argument)
 
void rtems_monitor_server_kill (void)
 
rtems_status_code rtems_monitor_server_request (uint32_t, rtems_monitor_server_request_t *, rtems_monitor_server_response_t *)
 
void rtems_monitor_server_task (rtems_task_argument)
 
void rtems_monitor_server_init (uint32_t)
 
int rtems_monitor_make_argv (char *, int *, char **)
 
int rtems_monitor_command_read (char *, int *, char **)
 
void rtems_monitor_command_usage (const rtems_monitor_command_entry_t *, const char *)
 
void rtems_monitor_help_cmd (int, char **, const rtems_monitor_command_arg_t *, bool)
 
const rtems_monitor_command_entry_trtems_monitor_command_lookup (const char *name)
 Looks for a command with the name name in the list of registered commands. More...
 
void rtems_monitor_separator (void)
 
uint32_t rtems_monitor_pad (uint32_t dest_col, uint32_t curr_col)
 
int rtems_monitor_dump_decimal (uint32_t num)
 
int rtems_monitor_dump_hex (uint32_t num)
 
int rtems_monitor_dump_addr (const void *addr)
 
int rtems_monitor_dump_id (rtems_id id)
 
int rtems_monitor_dump_name (rtems_id id)
 
int rtems_monitor_dump_priority (rtems_task_priority priority)
 
int rtems_monitor_dump_state (States_Control state)
 
int rtems_monitor_dump_modes (rtems_mode modes)
 
int rtems_monitor_dump_attributes (rtems_attribute attributes)
 
int rtems_monitor_dump_events (rtems_event_set events)
 
rtems_id rtems_monitor_id_fixup (rtems_id, uint32_t, rtems_monitor_object_type_t)
 
const rtems_monitor_object_info_trtems_monitor_object_lookup (rtems_monitor_object_type_t type)
 
rtems_id rtems_monitor_object_canonical_get (rtems_monitor_object_type_t, rtems_id, void *, size_t *size_p)
 
rtems_id rtems_monitor_object_canonical_next (const rtems_monitor_object_info_t *, rtems_id, void *)
 
const void * rtems_monitor_object_next (void *, void *, rtems_id, rtems_id *)
 
rtems_id rtems_monitor_object_canonical (rtems_id, const void *)
 
void rtems_monitor_object_cmd (int, char **, const rtems_monitor_command_arg_t *, bool)
 
const void * rtems_monitor_manager_next (void *, void *, rtems_id *)
 
void rtems_monitor_config_canonical (rtems_monitor_config_t *, const void *)
 
const void * rtems_monitor_config_next (void *, rtems_monitor_config_t *, rtems_id *)
 
void rtems_monitor_config_dump_header (bool)
 
int rtems_monitor_config_dump (rtems_monitor_config_t *, bool verbose)
 
void rtems_monitor_init_task_canonical (rtems_monitor_init_task_t *, const void *)
 
const void * rtems_monitor_init_task_next (void *, rtems_monitor_init_task_t *, rtems_id *)
 
void rtems_monitor_init_task_dump_header (bool)
 
void rtems_monitor_init_task_dump (rtems_monitor_init_task_t *, bool verbose)
 
void rtems_monitor_extension_canonical (rtems_monitor_extension_t *, const void *)
 
void rtems_monitor_extension_dump_header (bool verbose)
 
void rtems_monitor_extension_dump (rtems_monitor_extension_t *, bool)
 
void rtems_monitor_task_canonical (rtems_monitor_task_t *, const void *)
 
void rtems_monitor_task_dump_header (bool verbose)
 
void rtems_monitor_task_dump (rtems_monitor_task_t *, bool)
 
void rtems_monitor_sema_canonical (rtems_monitor_sema_t *, const void *)
 
void rtems_monitor_sema_dump_header (bool verbose)
 
void rtems_monitor_sema_dump (rtems_monitor_sema_t *, bool)
 
void rtems_monitor_queue_canonical (rtems_monitor_queue_t *, const void *)
 
void rtems_monitor_queue_dump_header (bool verbose)
 
void rtems_monitor_queue_dump (rtems_monitor_queue_t *, bool)
 
void rtems_monitor_region_canonical (rtems_monitor_region_t *, const void *)
 
void rtems_monitor_region_dump_header (bool verbose)
 
void rtems_monitor_region_dump (rtems_monitor_region_t *, bool)
 
void rtems_monitor_part_canonical (rtems_monitor_part_t *, const void *)
 
void rtems_monitor_part_dump_header (bool verbose)
 
void rtems_monitor_part_dump (rtems_monitor_part_t *, bool)
 
const void * rtems_monitor_driver_next (void *, rtems_monitor_driver_t *, rtems_id *)
 
void rtems_monitor_driver_canonical (rtems_monitor_driver_t *, const void *)
 
void rtems_monitor_driver_dump_header (bool)
 
void rtems_monitor_driver_dump (rtems_monitor_driver_t *, bool)
 
rtems_symbol_table_trtems_symbol_table_create (void)
 
void rtems_symbol_table_destroy (rtems_symbol_table_t *table)
 
rtems_symbol_trtems_symbol_create (rtems_symbol_table_t *, const char *, uint32_t)
 
rtems_symbol_trtems_symbol_value_lookup (rtems_symbol_table_t *, uint32_t)
 
const rtems_symbol_trtems_symbol_value_lookup_exact (rtems_symbol_table_t *, uint32_t)
 
rtems_symbol_trtems_symbol_name_lookup (rtems_symbol_table_t *, const char *)
 
const void * rtems_monitor_symbol_next (void *object_info, rtems_monitor_symbol_t *, rtems_id *)
 
void rtems_monitor_symbol_canonical (rtems_monitor_symbol_t *, rtems_symbol_t *)
 
void rtems_monitor_symbol_canonical_by_name (rtems_monitor_symbol_t *, const char *)
 
void rtems_monitor_symbol_canonical_by_value (rtems_monitor_symbol_t *, void *)
 
uint32_t rtems_monitor_symbol_dump (rtems_monitor_symbol_t *, bool)
 
void rtems_monitor_symbol_cmd (int, char **, const rtems_monitor_command_arg_t *, bool)
 

Variables

rtems_id rtems_monitor_task_id
 
uint32_t rtems_monitor_node
 
uint32_t rtems_monitor_default_node
 
rtems_symbol_table_trtems_monitor_symbols
 

Detailed Description

The RTEMS Monitor Task.

Function Documentation

◆ rtems_monitor_command_iterate()

void rtems_monitor_command_iterate ( rtems_monitor_per_command_routine  routine,
void *  arg 
)

Iterates through all registerd commands.

For each command the interation routine routine is called with the command entry and the user provided argument arg. It is guaranteed that the command name and function are not NULL.

◆ rtems_monitor_command_lookup()

const rtems_monitor_command_entry_t* rtems_monitor_command_lookup ( const char *  name)

Looks for a command with the name name in the list of registered commands.

The parameter name must not be NULL.

Returns the corresponding command entry or NULL if no command is found.