go-winio: github.com/microsoft/go-winio Index | Files | Directories

package winio

import "github.com/microsoft/go-winio"


Package Files

ea.go hvsock.go reparse.go syscall.go

func EncodeExtendedAttributes Uses

func EncodeExtendedAttributes(eas []ExtendedAttribute) ([]byte, error)

EncodeExtendedAttributes encodes a list of EAs into a FILE_FULL_EA_INFORMATION buffer for use with BackupWrite, ZwSetEaFile, etc.

func EncodeReparsePoint Uses

func EncodeReparsePoint(rp *ReparsePoint) []byte

EncodeReparsePoint encodes a Win32 REPARSE_DATA_BUFFER structure describing a symlink or mount point.

func VsockServiceID Uses

func VsockServiceID(port uint32) guid.GUID

VsockServiceID returns an hvsock service ID corresponding to the specified AF_VSOCK port.

type ExtendedAttribute Uses

type ExtendedAttribute struct {
    Name  string
    Value []byte
    Flags uint8

ExtendedAttribute represents a single Windows EA.

func DecodeExtendedAttributes Uses

func DecodeExtendedAttributes(b []byte) (eas []ExtendedAttribute, err error)

DecodeExtendedAttributes decodes a list of EAs from a FILE_FULL_EA_INFORMATION buffer retrieved from BackupRead, ZwQueryEaFile, etc.

type HvsockAddr Uses

type HvsockAddr struct {
    VMID      guid.GUID
    ServiceID guid.GUID

An HvsockAddr is an address for a AF_HYPERV socket.

func (*HvsockAddr) Network Uses

func (addr *HvsockAddr) Network() string

Network returns the address's network name, "hvsock".

func (*HvsockAddr) String Uses

func (addr *HvsockAddr) String() string

type HvsockConn Uses

type HvsockConn struct {
    // contains filtered or unexported fields

HvsockConn is a connected socket of the AF_HYPERV address family.

func (*HvsockConn) Close Uses

func (conn *HvsockConn) Close() error

Close closes the socket connection, failing any pending read or write calls.

func (*HvsockConn) CloseRead Uses

func (conn *HvsockConn) CloseRead() error

CloseRead shuts down the read end of the socket.

func (*HvsockConn) CloseWrite Uses

func (conn *HvsockConn) CloseWrite() error

CloseWrite shuts down the write end of the socket, notifying the other endpoint that no more data will be written.

func (*HvsockConn) LocalAddr Uses

func (conn *HvsockConn) LocalAddr() net.Addr

LocalAddr returns the local address of the connection.

func (*HvsockConn) Read Uses

func (conn *HvsockConn) Read(b []byte) (int, error)

func (*HvsockConn) RemoteAddr Uses

func (conn *HvsockConn) RemoteAddr() net.Addr

RemoteAddr returns the remote address of the connection.

func (*HvsockConn) SetDeadline Uses

func (conn *HvsockConn) SetDeadline(t time.Time) error

SetDeadline implements the net.Conn SetDeadline method.

func (*HvsockConn) SetReadDeadline Uses

func (conn *HvsockConn) SetReadDeadline(t time.Time) error

SetReadDeadline implements the net.Conn SetReadDeadline method.

func (*HvsockConn) SetWriteDeadline Uses

func (conn *HvsockConn) SetWriteDeadline(t time.Time) error

SetWriteDeadline implements the net.Conn SetWriteDeadline method.

func (*HvsockConn) Write Uses

func (conn *HvsockConn) Write(b []byte) (int, error)

type HvsockListener Uses

type HvsockListener struct {
    // contains filtered or unexported fields

HvsockListener is a socket listener for the AF_HYPERV address family.

func ListenHvsock Uses

func ListenHvsock(addr *HvsockAddr) (_ *HvsockListener, err error)

ListenHvsock listens for connections on the specified hvsock address.

func (*HvsockListener) Accept Uses

func (l *HvsockListener) Accept() (_ net.Conn, err error)

Accept waits for the next connection and returns it.

func (*HvsockListener) Addr Uses

func (l *HvsockListener) Addr() net.Addr

Addr returns the listener's network address.

func (*HvsockListener) Close Uses

func (l *HvsockListener) Close() error

Close closes the listener, causing any pending Accept calls to fail.

type ReparsePoint Uses

type ReparsePoint struct {
    Target       string
    IsMountPoint bool

ReparsePoint describes a Win32 symlink or mount point.

func DecodeReparsePoint Uses

func DecodeReparsePoint(b []byte) (*ReparsePoint, error)

DecodeReparsePoint decodes a Win32 REPARSE_DATA_BUFFER structure containing either a symlink or a mount point.

func DecodeReparsePointData Uses

func DecodeReparsePointData(tag uint32, b []byte) (*ReparsePoint, error)

type UnsupportedReparsePointError Uses

type UnsupportedReparsePointError struct {
    Tag uint32

UnsupportedReparsePointError is returned when trying to decode a non-symlink or mount point reparse point.

func (*UnsupportedReparsePointError) Error Uses

func (e *UnsupportedReparsePointError) Error() string


pkg/etwPackage etw provides support for TraceLogging-based ETW (Event Tracing for Windows).
pkg/etw/sampleShows a sample usage of the ETW logging package.
pkg/guidPackage guid provides a GUID type.
wimPackage wim implements a WIM file parser.
wim/lzxPackage lzx implements a decompressor for the the WIM variant of the LZX compression algorithm.

Package winio imports 13 packages (graph). Updated 2020-06-03. Refresh now. Tools for package owners.