record

package
v0.2.1 Latest Latest
Warning

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

Go to latest
Published: Apr 25, 2017 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const (
	OP_NOP = iota
	OP_FRAME

	OP_EXEC_ABS
	OP_EXEC_REL

	OP_REG_CHANGE
	OP_SPREG_CHANGE

	OP_MEM_READ
	OP_MEM_WRITE
	OP_MEM_MAP
	OP_MEM_UNMAP

	OP_SYSCALL
	OP_EXIT
)

Variables

This section is empty.

Functions

func Pack

func Pack(w io.Writer, op Op) (int, error)

Types

type Op

type Op interface {
	Pack(w io.Writer) (int, error)
	Unpack(r io.Reader) (int, error)
}

func Unpack

func Unpack(r io.Reader) (Op, int, error)

type OpExecAbs

type OpExecAbs struct {
	Addr uint64
	Size uint16
}

func (*OpExecAbs) Pack

func (o *OpExecAbs) Pack(w io.Writer) (int, error)

func (*OpExecAbs) Unpack

func (o *OpExecAbs) Unpack(r io.Reader) (int, error)

type OpExecRel

type OpExecRel struct {
	Size uint16
}

func (*OpExecRel) Pack

func (o *OpExecRel) Pack(w io.Writer) (int, error)

func (*OpExecRel) Unpack

func (o *OpExecRel) Unpack(r io.Reader) (int, error)

type OpExit

type OpExit struct{ OpNop }

type OpFrame

type OpFrame struct {
	Keyframe bool
	Ops      []Op
}

func (*OpFrame) Pack

func (o *OpFrame) Pack(w io.Writer) (int, error)

func (*OpFrame) Unpack

func (o *OpFrame) Unpack(r io.Reader) (int, error)

type OpMemMap

type OpMemMap struct {
	Addr uint64
	Size uint64
	Prot uint8
}

func (*OpMemMap) Pack

func (o *OpMemMap) Pack(w io.Writer) (int, error)

func (*OpMemMap) Unpack

func (o *OpMemMap) Unpack(r io.Reader) (int, error)

type OpMemRead

type OpMemRead struct {
	Addr uint64
	Data []byte
}

func (*OpMemRead) Pack

func (o *OpMemRead) Pack(w io.Writer) (int, error)

func (*OpMemRead) Unpack

func (o *OpMemRead) Unpack(r io.Reader) (int, error)

type OpMemUnmap

type OpMemUnmap struct {
	Addr uint64
	Size uint64
}

func (*OpMemUnmap) Pack

func (o *OpMemUnmap) Pack(w io.Writer) (int, error)

func (*OpMemUnmap) Unpack

func (o *OpMemUnmap) Unpack(r io.Reader) (int, error)

type OpMemWrite

type OpMemWrite struct {
	Addr uint64
	Data []byte
}

func (*OpMemWrite) Pack

func (o *OpMemWrite) Pack(w io.Writer) (int, error)

func (*OpMemWrite) Unpack

func (o *OpMemWrite) Unpack(r io.Reader) (int, error)

type OpNop

type OpNop struct{}

func (*OpNop) Pack

func (o *OpNop) Pack(w io.Writer) (int, error)

func (*OpNop) Unpack

func (o *OpNop) Unpack(r io.Reader) (int, error)

type OpRegChange

type OpRegChange struct {
	Enum  uint16
	Value uint64
}

func (*OpRegChange) Pack

func (o *OpRegChange) Pack(w io.Writer) (int, error)

func (*OpRegChange) Unpack

func (o *OpRegChange) Unpack(r io.Reader) (int, error)

type OpSpRegChange

type OpSpRegChange struct {
	Enum  uint16
	Value []byte
}

func (*OpSpRegChange) Pack

func (o *OpSpRegChange) Pack(w io.Writer) (int, error)

func (*OpSpRegChange) Unpack

func (o *OpSpRegChange) Unpack(r io.Reader) (int, error)

type OpSyscall

type OpSyscall struct {
	Index uint32
	Ret   uint64
	Args  []uint64
	Ops   []Op
}

func (*OpSyscall) Pack

func (o *OpSyscall) Pack(w io.Writer) (int, error)

func (*OpSyscall) Unpack

func (o *OpSyscall) Unpack(r io.Reader) (int, error)

Jump to

Keyboard shortcuts

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