⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 monitor.h

📁 RTEMS (Real-Time Executive for Multiprocessor Systems) is a free open source real-time operating sys
💻 H
📖 第 1 页 / 共 2 页
字号:
    rtems_monitor_config_t     config;#if defined(RTEMS_MULTIPROCESSING)    rtems_monitor_mpci_t       mpci;#endif    rtems_monitor_init_task_t  itask;} rtems_monitor_union_t;/* * Support for talking to other monitors *//* * Names of other monitors */#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   0x0002typedef struct{    unsigned32  command;    rtems_id    return_id;    unsigned32  argument0;    unsigned32  argument1;    unsigned32  argument2;    unsigned32  argument3;    unsigned32  argument4;    unsigned32  argument5;} rtems_monitor_server_request_t;typedef struct{    unsigned32  command;    unsigned32  result0;    unsigned32  result1;    rtems_monitor_union_t payload;} rtems_monitor_server_response_t;extern rtems_id  rtems_monitor_task_id;extern unsigned32 rtems_monitor_node;	       /* our node number */extern unsigned32 rtems_monitor_default_node;  /* current default for commands *//* * Monitor command function and table entry */typedef struct rtems_monitor_command_entry_s rtems_monitor_command_entry_t;typedef void ( *rtems_monitor_command_function_t )(                 int         argc,                 char      **argv,                 unsigned32  command_arg,                 boolean     verbose             );#if defined(__mips64)    typedef unsigned64   rtems_monitor_command_arg_t;#else    typedef unsigned32   rtems_monitor_command_arg_t;#endifstruct rtems_monitor_command_entry_s {    char        *command;      /* command name */    char        *usage;        /* usage string for the command */    unsigned32   arguments_required;    /* # of required args */    rtems_monitor_command_function_t command_function;                               /* Some argument for the command */    rtems_monitor_command_arg_t   command_arg;    struct rtems_monitor_command_entry_s *next;};typedef void *(*rtems_monitor_object_next_fn)(void *, void *, rtems_id *);typedef void (*rtems_monitor_object_canonical_fn)(void *, void *);typedef void (*rtems_monitor_object_dump_header_fn)(boolean);typedef void (*rtems_monitor_object_dump_fn)(void *, boolean);typedef struct {    rtems_monitor_object_type_t         type;    void                               *object_information;    int                                 size;	/* of canonical object */    rtems_monitor_object_next_fn        next;    rtems_monitor_object_canonical_fn   canonical;    rtems_monitor_object_dump_header_fn dump_header;    rtems_monitor_object_dump_fn        dump;} rtems_monitor_object_info_t;/* monitor.c */void    rtems_monitor_kill(void);void    rtems_monitor_init(unsigned32);void    rtems_monitor_wakeup(void);void    rtems_monitor_pause_cmd(int, char **, unsigned32, boolean);void    rtems_monitor_fatal_cmd(int, char **, unsigned32, boolean);void    rtems_monitor_continue_cmd(int, char **, unsigned32, boolean);void    rtems_monitor_debugger_cmd(int, char **, unsigned32, boolean);void    rtems_monitor_node_cmd(int, char **, unsigned32, boolean);void    rtems_monitor_symbols_loadup(void);int     rtems_monitor_insert_cmd(rtems_monitor_command_entry_t *);int     rtems_monitor_erase_cmd(rtems_monitor_command_entry_t *);void    rtems_monitor_task(rtems_task_argument);/* server.c */void    rtems_monitor_server_kill(void);rtems_status_code rtems_monitor_server_request(unsigned32, rtems_monitor_server_request_t *, rtems_monitor_server_response_t *);void    rtems_monitor_server_task(rtems_task_argument);void    rtems_monitor_server_init(unsigned32);  /* command.c */int     rtems_monitor_make_argv(char *, int *, char **);int     rtems_monitor_command_read(char *, int *, char **);rtems_monitor_command_entry_t *rtems_monitor_command_lookup(    rtems_monitor_command_entry_t * table, int argc, char **argv);void    rtems_monitor_command_usage(rtems_monitor_command_entry_t *, char *);void    rtems_monitor_help_cmd(int, char **, unsigned32, boolean);/* prmisc.c */void       rtems_monitor_separator(void);unsigned32 rtems_monitor_pad(unsigned32 dest_col, unsigned32 curr_col);unsigned32 rtems_monitor_dump_char(unsigned8 ch);unsigned32 rtems_monitor_dump_decimal(unsigned32 num);unsigned32 rtems_monitor_dump_hex(unsigned32 num);unsigned32 rtems_monitor_dump_id(rtems_id id);unsigned32 rtems_monitor_dump_name(rtems_name name);unsigned32 rtems_monitor_dump_priority(rtems_task_priority priority);unsigned32 rtems_monitor_dump_state(States_Control state);unsigned32 rtems_monitor_dump_modes(rtems_mode modes);unsigned32 rtems_monitor_dump_attributes(rtems_attribute attributes);unsigned32 rtems_monitor_dump_events(rtems_event_set events);unsigned32 rtems_monitor_dump_notepad(unsigned32 *notepad);/* object.c */rtems_id   rtems_monitor_id_fixup(rtems_id, unsigned32, rtems_monitor_object_type_t);rtems_id   rtems_monitor_object_canonical_get(rtems_monitor_object_type_t, rtems_id, void *, unsigned32 *size_p);rtems_id   rtems_monitor_object_canonical_next(rtems_monitor_object_info_t *, rtems_id, void *);void      *rtems_monitor_object_next(void *, void *, rtems_id, rtems_id *);rtems_id   rtems_monitor_object_canonical(rtems_id, void *);void       rtems_monitor_object_cmd(int, char **, unsigned32, boolean);/* manager.c */void      *rtems_monitor_manager_next(void *, void *, rtems_id *);/* config.c */void       rtems_monitor_config_canonical(rtems_monitor_config_t *, void *);void      *rtems_monitor_config_next(void *, rtems_monitor_config_t *, rtems_id *);void       rtems_monitor_config_dump_header(boolean);void       rtems_monitor_config_dump(rtems_monitor_config_t *, boolean verbose);/* mpci.c */#if defined(RTEMS_MULTIPROCESSING)void       rtems_monitor_mpci_canonical(rtems_monitor_mpci_t *, void *);void      *rtems_monitor_mpci_next(void *, rtems_monitor_mpci_t *, rtems_id *);void       rtems_monitor_mpci_dump_header(boolean);void       rtems_monitor_mpci_dump(rtems_monitor_mpci_t *, boolean verbose);#endif/* itask.c */void       rtems_monitor_init_task_canonical(rtems_monitor_init_task_t *, void *);void      *rtems_monitor_init_task_next(void *, rtems_monitor_init_task_t *, rtems_id *);void       rtems_monitor_init_task_dump_header(boolean);void       rtems_monitor_init_task_dump(rtems_monitor_init_task_t *, boolean verbose);/* extension.c */void       rtems_monitor_extension_canonical(rtems_monitor_extension_t *, void *);void       rtems_monitor_extension_dump_header(boolean verbose);void       rtems_monitor_extension_dump(rtems_monitor_extension_t *, boolean);/* task.c */void    rtems_monitor_task_canonical(rtems_monitor_task_t *, void *);void    rtems_monitor_task_dump_header(boolean verbose);void    rtems_monitor_task_dump(rtems_monitor_task_t *, boolean);/* queue.c */void    rtems_monitor_queue_canonical(rtems_monitor_queue_t *, void *);void    rtems_monitor_queue_dump_header(boolean verbose);void    rtems_monitor_queue_dump(rtems_monitor_queue_t *, boolean);/* driver.c */void    *rtems_monitor_driver_next(void *, rtems_monitor_driver_t *, rtems_id *);void     rtems_monitor_driver_canonical(rtems_monitor_driver_t *, void *);void     rtems_monitor_driver_dump_header(boolean);void     rtems_monitor_driver_dump(rtems_monitor_driver_t *, boolean);/* dname.c */void    *rtems_monitor_dname_next(void *, rtems_monitor_dname_t *, rtems_id *);void     rtems_monitor_dname_canonical(rtems_monitor_dname_t *, void *);void     rtems_monitor_dname_dump_header(boolean);void     rtems_monitor_dname_dump(rtems_monitor_dname_t *, boolean);/* symbols.c */rtems_symbol_table_t *rtems_symbol_table_create();void                  rtems_symbol_table_destroy(rtems_symbol_table_t *table);rtems_symbol_t *rtems_symbol_create(rtems_symbol_table_t *, char *, unsigned32);rtems_symbol_t *rtems_symbol_value_lookup(rtems_symbol_table_t *, unsigned32);const rtems_symbol_t *rtems_symbol_value_lookup_exact(rtems_symbol_table_t *, unsigned32);rtems_symbol_t *rtems_symbol_name_lookup(rtems_symbol_table_t *, char *);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 *, char *);void    rtems_monitor_symbol_canonical_by_value(rtems_monitor_symbol_t *, void *);unsigned32 rtems_monitor_symbol_dump(rtems_monitor_symbol_t *, boolean);void    rtems_monitor_symbol_cmd(int, char **, unsigned32, boolean);extern rtems_symbol_table_t *rtems_monitor_symbols;#ifndef MONITOR_PROMPT#define MONITOR_PROMPT "rtems"		/* will have '> ' appended */#endif#define MONITOR_WAKEUP_EVENT   RTEMS_EVENT_0#define STREQ(a,b)	(strcmp(a,b) == 0)#define STRNEQ(a,b,n)	(strncmp(a,b,n) == 0)#ifdef __cplusplus}#endif#endif  /* ! __MONITOR_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -