137 op (
object, capacity );
#define block_read_capacity_TYPE(object_type)
int block_write(struct interface *control, struct interface *data, uint64_t lba, unsigned int count, userptr_t buffer, size_t len)
Write to block device.
struct arbelprm_rc_send_wqe rc
void block_capacity(struct interface *intf, struct block_device_capacity *capacity)
Report block device capacity.
unsigned long long uint64_t
int block_read(struct interface *control, struct interface *data, uint64_t lba, unsigned int count, userptr_t buffer, size_t len)
Read from block device.
uint32_t buffer
Buffer index (or NETVSC_RNDIS_NO_BUFFER)
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)
void * intf_object(struct interface *intf)
Get pointer to object containing object interface.
struct interface * intf
Original interface.
uint32_t userptr_t
A pointer to a user buffer.
#define block_read_TYPE(object_type)
uint16_t count
Number of entries.
#define EOPNOTSUPP
Operation not supported on socket.
uint64_t lba
Starting block number.
#define block_write_TYPE(object_type)
static uint16_t struct vmbus_xfer_pages_operations * op
void intf_put(struct interface *intf)
Decrement reference count on an object interface.
if(len >=6 *4) __asm__ __volatile__("movsl" if(len >=5 *4) __asm__ __volatile__("movsl" if(len >=4 *4) __asm__ __volatile__("movsl" if(len >=3 *4) __asm__ __volatile__("movsl" if(len >=2 *4) __asm__ __volatile__("movsl" if(len >=1 *4) __asm__ __volatile__("movsl" if((len % 4) >=2) __asm__ __volatile__("movsw" if((len % 2) >=1) __asm__ __volatile__("movsb" return dest
uint8_t data[48]
Additional event data.
int block_read_capacity(struct interface *control, struct interface *data)
Read block device capacity.
#define intf_get_dest_op(intf, type, dest)
Get object interface destination and operation method.
#define block_capacity_TYPE(object_type)