iPXE
vmbus_device Struct Reference

A VMBus device. More...

#include <vmbus.h>

Data Fields

struct device dev
 Generic iPXE device.
struct hv_hypervisorhv
 Hyper-V hypervisor.
union uuid instance
 Channel instance.
unsigned int channel
 Channel ID.
unsigned int monitor
 Monitor ID.
void(* signal )(struct vmbus_device *vmdev)
 Signal channel.
uint32_t out_len
 Outbound ring buffer length.
uint32_t in_len
 Inbound ring buffer length.
struct vmbus_ringout
 Outbound ring buffer.
struct vmbus_ringin
 Inbound ring buffer.
unsigned int gpadl
 Ring buffer GPADL ID.
struct vmbus_channel_operationsop
 Channel operations.
size_t mtu
 Maximum expected data packet length.
void * packet
 Packet buffer.
struct list_head pages
 List of transfer page sets.
struct vmbus_driverdriver
 Driver.
void * priv
 Driver-private data.

Detailed Description

A VMBus device.

Definition at line 475 of file vmbus.h.

Field Documentation

◆ dev

◆ hv

◆ instance

union uuid vmbus_device::instance

Channel instance.

Definition at line 482 of file vmbus.h.

Referenced by vmbus_probe_channels().

◆ channel

unsigned int vmbus_device::channel

◆ monitor

unsigned int vmbus_device::monitor

Monitor ID.

Definition at line 486 of file vmbus.h.

Referenced by vmbus_probe_channels(), and vmbus_signal_monitor().

◆ signal

void(* vmbus_device::signal) (struct vmbus_device *vmdev)

Signal channel.

Parameters
vmdevVMBus device

Definition at line 491 of file vmbus.h.

Referenced by vmbus_probe_channels(), and vmbus_send().

◆ out_len

uint32_t vmbus_device::out_len

Outbound ring buffer length.

Definition at line 494 of file vmbus.h.

Referenced by vmbus_close(), vmbus_open(), vmbus_produce(), and vmbus_send().

◆ in_len

uint32_t vmbus_device::in_len

Inbound ring buffer length.

Definition at line 496 of file vmbus.h.

Referenced by vmbus_close(), vmbus_consume(), vmbus_dump_channel(), vmbus_open(), and vmbus_poll().

◆ out

struct vmbus_ring* vmbus_device::out

Outbound ring buffer.

Definition at line 498 of file vmbus.h.

Referenced by vmbus_close(), vmbus_dump_channel(), vmbus_open(), vmbus_produce(), vmbus_remove_channels(), and vmbus_send().

◆ in

struct vmbus_ring* vmbus_device::in

Inbound ring buffer.

Definition at line 500 of file vmbus.h.

Referenced by vmbus_close(), vmbus_consume(), vmbus_dump_channel(), vmbus_has_data(), vmbus_open(), vmbus_poll(), and vmbus_remove_channels().

◆ gpadl

unsigned int vmbus_device::gpadl

Ring buffer GPADL ID.

Definition at line 502 of file vmbus.h.

Referenced by vmbus_close(), and vmbus_open().

◆ op

struct vmbus_channel_operations* vmbus_device::op

Channel operations.

Definition at line 505 of file vmbus.h.

Referenced by vmbus_open(), and vmbus_poll().

◆ mtu

size_t vmbus_device::mtu

Maximum expected data packet length.

Definition at line 507 of file vmbus.h.

Referenced by vmbus_open(), vmbus_poll(), and vmbus_send_data().

◆ packet

void* vmbus_device::packet

◆ pages

struct list_head vmbus_device::pages

List of transfer page sets.

Definition at line 511 of file vmbus.h.

Referenced by vmbus_probe_channels(), vmbus_register_pages(), vmbus_remove_channels(), vmbus_unregister_pages(), and vmbus_xfer_pages().

◆ driver

struct vmbus_driver* vmbus_device::driver

Driver.

Definition at line 514 of file vmbus.h.

Referenced by vmbus_probe_channels(), vmbus_remove_channels(), and vmbus_reset_channels().

◆ priv

void* vmbus_device::priv

Driver-private data.

Definition at line 516 of file vmbus.h.

Referenced by vmbus_get_drvdata(), and vmbus_set_drvdata().


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