Documentation ¶
Index ¶
Constants ¶
const ( // HvsockMachineName is the string identifier for the machine name in a registry entry HvsockMachineName = "MachineName" // HvsockPurpose is the string identifier for the sock purpose in a registry entry HvsockPurpose = "Purpose" // VsockRegistryPath describes the registry path to where the hvsock registry entries live VsockRegistryPath = `SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization\GuestCommunicationServices` // LinuxVM is the default guid for a Linux VM on Windows LinuxVM = "FACB-11E6-BD58-64006A7986D3" )
Variables ¶
var ErrVSockRegistryEntryExists = errors.New("registry entry already exists")
Functions ¶
This section is empty.
Types ¶
type HVSockPurpose ¶
type HVSockPurpose int
HVSockPurpose describes what the hvsock is needed for
const ( // Network implies the sock is used for user-mode networking Network HVSockPurpose = iota // Events implies the sock is used for notification (like "Ready") Events // Fileserver implies that the sock is used for serving files from host to VM Fileserver )
func (HVSockPurpose) Equal ¶
func (hv HVSockPurpose) Equal(purpose string) bool
type HVSockRegistryEntry ¶
type HVSockRegistryEntry struct { KeyName string `json:"key_name"` Purpose HVSockPurpose `json:"purpose"` Port uint64 `json:"port"` MachineName string `json:"machineName"` Key registry.Key `json:"key,omitempty"` }
HVSockRegistryEntry describes a registry entry used in Windows for HVSOCK implementations
func LoadHVSockRegistryEntry ¶
func LoadHVSockRegistryEntry(port uint64) (*HVSockRegistryEntry, error)
func NewHVSockRegistryEntry ¶
func NewHVSockRegistryEntry(machineName string, purpose HVSockPurpose) (*HVSockRegistryEntry, error)
NewHVSockRegistryEntry is a constructor to make a new registry entry in Windows. After making the new object, you must call the add() method to *actually* add it to the Windows registry.
func (*HVSockRegistryEntry) Add ¶
func (hv *HVSockRegistryEntry) Add() error
Add creates a new Windows registry entry with string values from the HVSockRegistryEntry.
func (*HVSockRegistryEntry) ListenSetupWait ¶
func (hv *HVSockRegistryEntry) ListenSetupWait() (func() error, io.Closer, error)
ListenSetupWait creates an hvsock on the windows side and returns a wait function that, when called, blocks until it receives a ready notification on the vsock
func (*HVSockRegistryEntry) Listener ¶
func (hv *HVSockRegistryEntry) Listener() (net.Listener, error)
Listener returns a net.Listener for the given HvSock.
func (*HVSockRegistryEntry) Remove ¶
func (hv *HVSockRegistryEntry) Remove() error
Remove deletes the registry key and its string values