# buffer Struct Reference

A generic data buffer. More...

`#include <buffer.h>`

Collaboration diagram for buffer:

[legend]

## Data Fields
void * | dma_desc
buffer_addr_t | addr
size_t | len
struct slist_node | node

## Detailed Description

A generic data buffer.

This buffer represents a physically and virtually contiguous memory area used for data storage.

Definition at line 58 of file buffer.h.

## Field Documentation

buffer_addr_t buffer::addr

Address of the data area

Definition at line 62 of file buffer.h.

Referenced by aes_duplicate_buffer_refs(), buffer_init_rx(), buffer_init_rx_mapped(), buffer_init_tx(), buffer_init_tx_mapped(), usbb_udc_submit_in_queue(), and usbb_udc_submit_out_queue().

void* buffer::dma_desc

DMA descriptor associated with this buffer, if any.

Definition at line 60 of file buffer.h.

Referenced by usbb_udc_dma_buf_done(), usbb_udc_dma_interrupt(), usbb_udc_submit_in_queue(), and usbb_udc_submit_out_queue().

size_t buffer::len

Length of the data area in bytes.

Definition at line 64 of file buffer.h.

Referenced by aes_duplicate_buffer_refs(), buffer_init_rx(), buffer_init_rx_mapped(), buffer_init_tx(), buffer_init_tx_mapped(), sdmmc_req_prep_data(), usbb_udc_dma_interrupt(), usbb_udc_submit_in_queue(), and usbb_udc_submit_out_queue().

struct slist_node buffer::node`[read]`

List node in the containing request object's buffer list

Definition at line 66 of file buffer.h.

Referenced by aes_duplicate_buffer_refs(), aes_free_duplicate_buffers(), blk_req_add_buffer(), block_copy_alloc(), block_copy_free(), dmac_req_add_buffer(), sdmmc_req_prep_data(), usb_req_add_buffer(), usb_req_get_first_buffer(), usbb_udc_dma_interrupt(), usbb_udc_submit_in_queue(), and usbb_udc_submit_out_queue().

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

- include/buffer.h