core

package
v2.0.14+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 31, 2018 License: LGPL-3.0 Imports: 12 Imported by: 5

Documentation

Index

Constants

View Source
const (
	VendorT1            = 0x534c
	ProductT1Firmware   = 0x0001
	VendorT2            = 0x1209
	ProductT2Bootloader = 0x53C0
	ProductT2Firmware   = 0x53C1
)

Variables

View Source
var (
	ErrWrongPrevSession = errors.New("wrong previous session")
	ErrSessionNotFound  = errors.New("session not found")
	ErrMalformedData    = errors.New("malformed data")
	ErrOtherCall        = errors.New("other call in progress")
)

Functions

This section is empty.

Types

type Core

type Core struct {
	// contains filtered or unexported fields
}

func New

func New(bus USBBus, log *memorywriter.MemoryWriter) *Core

func (*Core) Acquire

func (c *Core) Acquire(path, prev string) (string, error)

func (*Core) Call

func (c *Core) Call(body []byte, session string, skipRead bool, closeNotify <-chan bool) ([]byte, error)

func (*Core) Enumerate

func (c *Core) Enumerate() ([]EnumerateEntry, error)

func (*Core) Listen

func (c *Core) Listen(entries []EnumerateEntry, closeNotify <-chan bool) ([]EnumerateEntry, error)

func (*Core) Log

func (c *Core) Log(s string)

func (*Core) Release

func (c *Core) Release(session string) error

type EnumerateEntry

type EnumerateEntry struct {
	Path    string  `json:"path"`
	Vendor  int     `json:"vendor"`
	Product int     `json:"product"`
	Session *string `json:"session"`
}

type USBBus

type USBBus interface {
	Enumerate() ([]USBInfo, error)
	Connect(path string) (USBDevice, error)
	Has(path string) bool
}

type USBDevice

type USBDevice interface {
	io.ReadWriteCloser
}

type USBInfo

type USBInfo struct {
	Path      string
	VendorID  int
	ProductID int
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL