1 #ifndef _IPXE_XFERBUF_H 2 #define _IPXE_XFERBUF_H 102 const void *
data,
size_t len );
110 #define xfer_buffer_TYPE( object_type ) \ 111 typeof ( struct xfer_buffer * ( object_type ) )
void xferbuf_free(struct xfer_buffer *xferbuf)
Free data transfer buffer.
int xferbuf_write(struct xfer_buffer *xferbuf, size_t offset, const void *data, size_t len)
Write to data transfer buffer.
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)
size_t pos
Current offset within data.
static void xferbuf_umalloc_init(struct xfer_buffer *xferbuf)
Initialise umalloc()-based data transfer buffer.
static void xferbuf_void_init(struct xfer_buffer *xferbuf)
Initialise void data transfer buffer.
Data transfer interfaces.
Data transfer buffer operations.
void xferbuf_detach(struct xfer_buffer *xferbuf)
Detach data from data transfer buffer.
int xferbuf_deliver(struct xfer_buffer *xferbuf, struct io_buffer *iobuf, struct xfer_metadata *meta)
Add received data to data transfer buffer.
static void xferbuf_malloc_init(struct xfer_buffer *xferbuf)
Initialise malloc()-based data transfer buffer.
struct xfer_buffer_operations xferbuf_void_operations
Void data buffer operations.
struct xfer_buffer_operations xferbuf_umalloc_operations
umalloc()-based data buffer operations
struct xfer_buffer_operations * op
Data transfer buffer operations.
struct xfer_buffer_operations xferbuf_malloc_operations
malloc()-based data buffer operations
struct xfer_buffer_operations xferbuf_fixed_operations
Fixed-size data buffer operations.
struct xfer_buffer * xfer_buffer(struct interface *intf)
Get underlying data transfer buffer.
int(* realloc)(struct xfer_buffer *xferbuf, size_t len)
Reallocate data buffer.
int xferbuf_read(struct xfer_buffer *xferbuf, size_t offset, void *data, size_t len)
Read from data transfer buffer.
uint8_t data[48]
Additional event data.
uint16_t offset
Offset to command line.
uint8_t meta
Metadata flags.
static void xferbuf_fixed_init(struct xfer_buffer *xferbuf, void *data, size_t len)
Initialise fixed-size data transfer buffer.