RTEMS: rtems_bdbuf_buffer Struct Reference

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
Data Structures | Data Fields
rtems_bdbuf_buffer Struct Reference
Device Drivers » Block Device Library » Block Device Buffer Management

`#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

## Detailed Description

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.

## Field Documentation

## ◆ block

rtems_blkdev_bnum rtems_bdbuf_buffer::block

block number on the device

## ◆ buffer

unsigned char* rtems_bdbuf_buffer::buffer

Pointer to the buffer memory area

## ◆ dd

rtems_disk_device* rtems_bdbuf_buffer::dd

disk device

## ◆ group

rtems_bdbuf_group* rtems_bdbuf_buffer::group

Pointer to the group of BDs this BD is part of.

## ◆ hold_timer

uint32_t rtems_bdbuf_buffer::hold_timer

Timer to indicate how long a buffer has been held in the cache modified.

## ◆ link

rtems_chain_node rtems_bdbuf_buffer::link

Link the BD onto a number of lists.

## ◆ references

int rtems_bdbuf_buffer::references

Allow reference counting by owner.

## ◆ state

rtems_bdbuf_buf_state rtems_bdbuf_buffer::state

State of the buffer.

## ◆ user

void* rtems_bdbuf_buffer::user

User data.

## ◆ waiters

uint32_t rtems_bdbuf_buffer::waiters

The number of threads waiting on this buffer.

The documentation for this struct was generated from the following file:

- cpukit/include/rtems/bdbuf.h