RTEMS
5.0.0
|
#include <bdbuf.h>
Data Structures | |
struct | rtems_bdbuf_avl_node |
Data Fields | |
rtems_chain_node | link |
struct rtems_bdbuf_buffer::rtems_bdbuf_avl_node | avl |
rtems_disk_device * | dd |
rtems_blkdev_bnum | block |
unsigned char * | buffer |
rtems_bdbuf_buf_state | state |
uint32_t | waiters |
rtems_bdbuf_group * | group |
uint32_t | hold_timer |
int | references |
void * | user |
To manage buffers we using buffer descriptors (BD). A BD holds a buffer plus a range of other information related to managing the buffer in the cache. To speed-up buffer lookup descriptors are organized in AVL-Tree. The fields 'dd' and 'block' are search keys.
rtems_blkdev_bnum rtems_bdbuf_buffer::block |
block number on the device
unsigned char* rtems_bdbuf_buffer::buffer |
Pointer to the buffer memory area
rtems_disk_device* rtems_bdbuf_buffer::dd |
disk device
rtems_bdbuf_group* rtems_bdbuf_buffer::group |
Pointer to the group of BDs this BD is part of.
uint32_t rtems_bdbuf_buffer::hold_timer |
Timer to indicate how long a buffer has been held in the cache modified.
rtems_chain_node rtems_bdbuf_buffer::link |
Link the BD onto a number of lists.
int rtems_bdbuf_buffer::references |
Allow reference counting by owner.
rtems_bdbuf_buf_state rtems_bdbuf_buffer::state |
State of the buffer.
void* rtems_bdbuf_buffer::user |
User data.
uint32_t rtems_bdbuf_buffer::waiters |
The number of threads waiting on this buffer.