sys

package
v0.0.0-...-d202c64 Latest Latest
Warning

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

Go to latest
Published: Sep 15, 2019 License: BSD-3-Clause Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Arch386 = &Arch{
	Name:      "386",
	Family:    I386,
	ByteOrder: binary.LittleEndian,
	IntSize:   4,
	PtrSize:   4,
	RegSize:   4,
	MinLC:     1,
}
View Source
var ArchAMD64 = &Arch{
	Name:      "amd64",
	Family:    AMD64,
	ByteOrder: binary.LittleEndian,
	IntSize:   8,
	PtrSize:   8,
	RegSize:   8,
	MinLC:     1,
}
View Source
var ArchAMD64P32 = &Arch{
	Name:      "amd64p32",
	Family:    AMD64,
	ByteOrder: binary.LittleEndian,
	IntSize:   4,
	PtrSize:   4,
	RegSize:   8,
	MinLC:     1,
}
View Source
var ArchARM = &Arch{
	Name:      "arm",
	Family:    ARM,
	ByteOrder: binary.LittleEndian,
	IntSize:   4,
	PtrSize:   4,
	RegSize:   4,
	MinLC:     4,
}
View Source
var ArchARM64 = &Arch{
	Name:      "arm64",
	Family:    ARM64,
	ByteOrder: binary.LittleEndian,
	IntSize:   8,
	PtrSize:   8,
	RegSize:   8,
	MinLC:     4,
}
View Source
var ArchMIPS = &Arch{
	Name:      "mips",
	Family:    MIPS,
	ByteOrder: binary.BigEndian,
	IntSize:   4,
	PtrSize:   4,
	RegSize:   4,
	MinLC:     4,
}
View Source
var ArchMIPS64 = &Arch{
	Name:      "mips64",
	Family:    MIPS64,
	ByteOrder: binary.BigEndian,
	IntSize:   8,
	PtrSize:   8,
	RegSize:   8,
	MinLC:     4,
}
View Source
var ArchMIPS64LE = &Arch{
	Name:      "mips64le",
	Family:    MIPS64,
	ByteOrder: binary.LittleEndian,
	IntSize:   8,
	PtrSize:   8,
	RegSize:   8,
	MinLC:     4,
}
View Source
var ArchMIPSLE = &Arch{
	Name:      "mipsle",
	Family:    MIPS,
	ByteOrder: binary.LittleEndian,
	IntSize:   4,
	PtrSize:   4,
	RegSize:   4,
	MinLC:     4,
}
View Source
var ArchPPC64 = &Arch{
	Name:      "ppc64",
	Family:    PPC64,
	ByteOrder: binary.BigEndian,
	IntSize:   8,
	PtrSize:   8,
	RegSize:   8,
	MinLC:     4,
}
View Source
var ArchPPC64LE = &Arch{
	Name:      "ppc64le",
	Family:    PPC64,
	ByteOrder: binary.LittleEndian,
	IntSize:   8,
	PtrSize:   8,
	RegSize:   8,
	MinLC:     4,
}
View Source
var ArchS390X = &Arch{
	Name:      "s390x",
	Family:    S390X,
	ByteOrder: binary.BigEndian,
	IntSize:   8,
	PtrSize:   8,
	RegSize:   8,
	MinLC:     2,
}

Functions

This section is empty.

Types

type Arch

type Arch struct {
	Name   string
	Family ArchFamily

	ByteOrder binary.ByteOrder

	IntSize int
	PtrSize int
	RegSize int

	// MinLC is the minimum length of an instruction code.
	MinLC int
}

Arch represents an individual architecture.

func (*Arch) InFamily

func (a *Arch) InFamily(xs ...ArchFamily) bool

InFamily reports whether a is a member of any of the specified architecture families.

type ArchFamily

type ArchFamily byte

ArchFamily represents a family of one or more related architectures. For example, amd64 and amd64p32 are both members of the AMD64 family, and ppc64 and ppc64le are both members of the PPC64 family.

const (
	AMD64 ArchFamily = iota
	ARM
	ARM64
	I386
	MIPS
	MIPS64
	PPC64
	S390X
)

Jump to

Keyboard shortcuts

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