Insert block device translator.
- Parameters
-
| block | Block device interface |
| buffer | Data buffer (or NULL) |
| size | Length of data buffer, or block size |
- Return values
-
Definition at line 139 of file blocktrans.c.
144 blktrans =
zalloc (
sizeof ( *blktrans ) );
163 DBGC2 ( blktrans,
"BLKTRANS %p created", blktrans );
165 DBGC2 ( blktrans,
" for %#lx+%#zx",
168 DBGC2 ( blktrans,
"\n" );
struct refcnt refcnt
Reference count.
struct arbelprm_rc_send_wqe rc
static struct interface_descriptor blktrans_block_desc
Block device translator block device interface descriptor.
#define ref_init(refcnt, free)
Initialise a reference counter.
uint16_t size
Buffer size.
uint32_t buffer
Buffer index (or NETVSC_RNDIS_NO_BUFFER)
static void xferbuf_void_init(struct xfer_buffer *xferbuf)
Initialise void data transfer buffer.
#define ENOMEM
Not enough space.
A block device translator.
struct interface xfer
Data transfer interface.
void * zalloc(size_t size)
Allocate cleared memory.
static struct interface_descriptor blktrans_xfer_desc
Block device translator data transfer interface descriptor.
void intf_insert(struct interface *intf, struct interface *upper, struct interface *lower)
Insert a filter interface.
uint8_t block[3][8]
DES-encrypted blocks.
struct xfer_buffer xferbuf
Data transfer buffer.
size_t blksize
Block size.
static void intf_init(struct interface *intf, struct interface_descriptor *desc, struct refcnt *refcnt)
Initialise an object interface.
static void xferbuf_fixed_init(struct xfer_buffer *xferbuf, void *data, size_t len)
Initialise fixed-size data transfer buffer.
#define NULL
NULL pointer (VOID *)
#define ref_put(refcnt)
Drop reference to object.
struct interface block
Block device interface.
References block_translator::blksize, blktrans_block_desc, blktrans_xfer_desc, block, block_translator::block, buffer, DBGC2, ENOMEM, intf_init(), intf_insert(), NULL, rc, ref_init, ref_put, block_translator::refcnt, size, block_translator::xfer, block_translator::xferbuf, xferbuf_fixed_init(), xferbuf_void_init(), and zalloc().
Referenced by http_block_read(), and http_block_read_capacity().