1 #ifndef _IPXE_XFERBUF_H 2 #define _IPXE_XFERBUF_H 102 #define xfer_buffer_TYPE( object_type ) \ 103 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.
void(* read)(struct xfer_buffer *xferbuf, size_t offset, void *data, size_t len)
Read data from buffer.
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)
size_t pos
Current offset within data.
Access to external ("user") memory.
Data transfer interfaces.
Data transfer buffer operations.
uint32_t userptr_t
A pointer to a user buffer.
void(* write)(struct xfer_buffer *xferbuf, size_t offset, const void *data, size_t len)
Write data to 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_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
static void xferbuf_umalloc_init(struct xfer_buffer *xferbuf, userptr_t *data)
Initialise umalloc()-based data transfer buffer.
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.