arch

package
v1.4.0 Latest Latest
Warning

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

Go to latest
Published: Nov 21, 2023 License: Apache-2.0 Imports: 4 Imported by: 5

Documentation

Overview

Package arch provides architecture specific Linux constants like the audit arch constant and syscall tables.

Index

Constants

This section is empty.

Variables

View Source
var (
	ARM = &Info{
		Name:           "arm",
		ID:             auditArchARM,
		SyscallNumbers: syscallsARM,
		SyscallNames:   invert(syscallsARM),
	}
	AARCH64 = &Info{
		Name:           "aarch64",
		ID:             auditArchAARCH64,
		SyscallNumbers: syscallsAARCH64,
		SyscallNames:   invert(syscallsAARCH64),
	}
	I386 = &Info{
		Name:           "i386",
		ID:             auditArchI386,
		SyscallNumbers: syscalls386,
		SyscallNames:   invert(syscalls386),
	}
	X32 = &Info{

		Name:           "x32",
		ID:             auditArchX86_64,
		SeccompMask:    x32SyscallMask,
		SyscallNumbers: syscallsX32,
		SyscallNames:   invert(syscallsX32),
	}
	X86_64 = &Info{
		Name:           "x86_64",
		ID:             auditArchX86_64,
		SyscallNumbers: syscallsX86_64,
		SyscallNames:   invert(syscallsX86_64),
	}

	// The following architectures are not fully implemented. Syscall tables
	// need to be added for them (syscall number -> name mapping).
	PPC = &Info{
		Name: "ppc",
		ID:   auditArchPPC,
	}
	PPC64 = &Info{
		Name: "ppc64",
		ID:   auditArchPPC64,
	}
	PPC64LE = &Info{
		Name: "ppc64le",
		ID:   auditArchPPC64LE,
	}
	S390 = &Info{
		Name: "s390",
		ID:   auditArchS390,
	}
	S390X = &Info{
		Name: "s390x",
		ID:   auditArchS390X,
	}
	MIPS = &Info{
		Name: "mips",
		ID:   auditArchMIPS,
	}
	MIPSEL = &Info{
		Name: "mipsel",
		ID:   auditArchMIPSEL,
	}
	MIPS64 = &Info{
		Name: "mips64",
		ID:   auditArchMIPS64,
	}
	MIPS64N32 = &Info{
		Name: "mips64n32",
		ID:   auditArchMIPS64N32,
	}
	MIPSEL64 = &Info{
		Name: "mipsel64",
		ID:   auditArchMIPSEL64,
	}
	MIPSEL64N32 = &Info{
		Name: "mipsel64n32",
		ID:   auditArchMIPSEL64N32,
	}
)

Linux architecture types.

Functions

This section is empty.

Types

type AuditArch

type AuditArch uint32

func (AuditArch) String

func (a AuditArch) String() string

type Info

type Info struct {
	Name           string         // Linux architecture name (not necessarily the GOARCH name).
	ID             AuditArch      // Linux audit architecture constant.
	SyscallNames   map[string]int // Mapping of syscall names to numbers.
	SyscallNumbers map[int]string // Mapping of syscall numbers to names.
	SeccompMask    int            // A mask to apply to syscall numbers in BPF instructions (e.g. X32_SYSCALL_BIT).
}

Info contains Linux architecture information (name, audit arch, and syscall tables).

func GetInfo

func GetInfo(name string) (*Info, error)

GetInfo returns the arch Info associated with the given architecture name. If an architecture is not fully implemented it will return an error.

Jump to

Keyboard shortcuts

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