RTEMS  5.0.0
Data Structures | Macros | Typedefs | Enumerations | Functions

Enable the Monitor to Show bdbuf InformationThis module inspects the bdbuf data structures, assuming they are static, but in fact they are used very dynamically. Therefore the results show MAY BE INCORRECT in some cases. And, to cure this a bit, this module may block preemption for a rather long time and therefore it may BREAK THE REALTIME BEHAVIOUR OF YOUR SYSTEM (when in use) More...

#include <rtems.h>
#include <rtems/monitor.h>
#include <rtems/bdbuf.h>
#include <string.h>
#include <ctype.h>
#include <stdio.h>
#include <rtems/libio.h>
#include <inttypes.h>

Data Structures

struct  show_bdbuf_filter_t
 
struct  show_bdbuf_selector_t
 
struct  show_bdbuf_bdbuf_info_t
 

Macros

#define DISABLE_PREEMPTION(key)
 
#define ENABLE_PREEMPTION(key)
 
#define ARRAY_CNT(arr)   (sizeof((arr))/sizeof((arr)[0]))
 

Typedefs

typedef rtems_mode preemption_key_t
 

Enumerations

enum  bdbuf_chain_identifier_t { bdbuf_chain_ident_none, bdbuf_chain_ident_free, bdbuf_chain_ident_lru, bdbuf_chain_ident_mod }
 

Functions

rtems_status_code rtems_bdbuf_show_follow_chain_node_to_head (const Chain_Node *the_node, Chain_Control **the_head)
 
rtems_status_code rtems_bdbuf_show_determine_chain_of_bdbuf (const bdbuf_buffer *the_bdbuf, const bdbuf_pool *curr_pool, bdbuf_chain_identifier_t *chn_ident)
 
rtems_status_code rtems_bdbuf_show_getargs (int argc, char **argv, show_bdbuf_filter_t *filter, show_bdbuf_selector_t *selector)
 
rtems_status_code rtems_bdbuf_show_get_bufpool (struct bdbuf_pool **pool_base_pptr, int *pool_cnt_ptr)
 
rtems_status_code rtems_bdbuf_show_pool_header (int pool_idx, bdbuf_pool *pool_ptr)
 
rtems_status_code rtems_show_bdbuf_get_bdbuf_info (const bdbuf_buffer *the_bdbuf, int bdbuf_idx, const bdbuf_pool *curr_pool, show_bdbuf_bdbuf_info_t *bdbuf_info)
 
rtems_status_code rtems_show_bdbuf_match_filter (const show_bdbuf_bdbuf_info_t *bdbuf_info, const show_bdbuf_filter_t *filter, bool *is_match)
 
rtems_status_code rtems_show_bdbuf_print_wait_chain (bdbuf_buffer *the_bdbuf)
 
rtems_status_code rtems_show_bdbuf_print (const show_bdbuf_bdbuf_info_t *bdbuf_info, show_bdbuf_selector_t *selector, bool print_header)
 
void rtems_bdbuf_show_fnc (int argc, char **argv, rtems_monitor_command_arg_t *command_arg, bool verbose)
 
rtems_status_code rtems_bdbuf_show_init (void)
 

Detailed Description

Enable the Monitor to Show bdbuf Information

This module inspects the bdbuf data structures, assuming they are static, but in fact they are used very dynamically. Therefore the results show MAY BE INCORRECT in some cases. And, to cure this a bit, this module may block preemption for a rather long time and therefore it may BREAK THE REALTIME BEHAVIOUR OF YOUR SYSTEM (when in use)

Macro Definition Documentation

◆ DISABLE_PREEMPTION

#define DISABLE_PREEMPTION (   key)
Value:
do { \
rtems_task_mode(RTEMS_NO_PREEMPT, RTEMS_PREEMPT_MASK, &(key)); \
} while (0)
#define RTEMS_PREEMPT_MASK
Definition: modes.h:64
#define RTEMS_NO_PREEMPT
Definition: modes.h:75

◆ ENABLE_PREEMPTION

#define ENABLE_PREEMPTION (   key)
Value:
do { \
rtems_mode temp; \
rtems_task_mode((key), RTEMS_PREEMPT_MASK, &temp); \
} while (0)
#define RTEMS_PREEMPT_MASK
Definition: modes.h:64