call

package
v0.1.5 Latest Latest
Warning

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

Go to latest
Published: Feb 10, 2021 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	RLIMIT_RSS        = 5
	RLIMIT_NPROC      = 6
	RLIMIT_MEMLOCK    = 8
	RLIMIT_LOCKS      = 10
	RLIMIT_SIGPENDING = 11
	RLIMIT_MSGQUEUE   = 12
	RLIMIT_NICE       = 13
	RLIMIT_RTPRIO     = 14
	RLIMIT_RTTIME     = 15
)
View Source
const (
	PTRACE_SEIZE              = 0x4206
	PTRACE_INTERRUPT          = 0x4207
	PTRACE_LISTEN             = 0x4208
	PTRACE_PEEKSIGINFO        = 0x4209
	PTRACE_SECCOMP_GET_FILTER = 0x420c
	PTRACE_GET_SYSCALL_INFO   = 0x420e
)
View Source
const (
	CLONE_NEWCGROUP = 0x02000000
	CLONE_NEWUTS    = 0x04000000
	CLONE_NEWIPC    = 0x08000000
	CLONE_NEWUSER   = 0x10000000
	CLONE_NEWPID    = 0x20000000
	CLONE_NEWNET    = 0x40000000
	CLONE_NEWNS     = 0x00020000
)
View Source
const (
	SYS_SECCOMP = 317
	SYS_SETNS   = 308
)
View Source
const PROT_SEM = 0x8

Variables

This section is empty.

Functions

func TestFutex

func TestFutex(t *testing.T)

Types

type Accept

type Accept struct {
	FD    types.InputFD   `json:"fd"`
	Saddr *types.SockAddr `json:"saddr"`
}

func (*Accept) Arguments

func (e *Accept) Arguments() Arguments

func (*Accept) CallName

func (e *Accept) CallName() string

func (*Accept) DecodeArguments

func (e *Accept) DecodeArguments(data []*byte, arglen int) error

func (*Accept) Return

func (e *Accept) Return() *Argument

type Accept4

type Accept4 struct {
	FD    types.InputFD   `json:"fd"`
	Saddr *types.SockAddr `json:"saddr"`
	Flags AcceptFlags     `json:"flags"`
}

func (*Accept4) Arguments

func (e *Accept4) Arguments() Arguments

func (*Accept4) CallName

func (e *Accept4) CallName() string

func (*Accept4) DecodeArguments

func (e *Accept4) DecodeArguments(data []*byte, arglen int) error

func (*Accept4) Return

func (e *Accept4) Return() *Argument

type AcceptFlags

type AcceptFlags int

func (AcceptFlags) MarshalJSON

func (f AcceptFlags) MarshalJSON() ([]byte, error)

func (AcceptFlags) Parse

func (flags AcceptFlags) Parse() []string

func (AcceptFlags) String

func (flags AcceptFlags) String() string

func (*AcceptFlags) UnmarshalJSON

func (f *AcceptFlags) UnmarshalJSON(b []byte) error

type Access

type Access struct {
	Pathname string           `json:"pathname"`
	Mode     types.XmodeFlags `json:"mode"`
}

func (*Access) Arguments

func (a *Access) Arguments() Arguments

func (*Access) CallName

func (a *Access) CallName() string

func (*Access) DecodeArguments

func (a *Access) DecodeArguments(data []*byte, arglen int) error

func (*Access) Return

func (a *Access) Return() *Argument

type Acct

type Acct struct {
	Pathname string `json:"pathname"`
}

func (*Acct) Arguments

func (a *Acct) Arguments() Arguments

func (*Acct) CallName

func (a *Acct) CallName() string

func (*Acct) DecodeArguments

func (a *Acct) DecodeArguments(data []*byte, arglen int) error

func (*Acct) Return

func (a *Acct) Return() *Argument

type Alarm

type Alarm struct {
	Seconds uint32 `json:"seconds"`
}

func (*Alarm) Arguments

func (a *Alarm) Arguments() Arguments

func (*Alarm) CallName

func (a *Alarm) CallName() string

func (*Alarm) DecodeArguments

func (a *Alarm) DecodeArguments(data []*byte, arglen int) error

func (*Alarm) Return

func (a *Alarm) Return() *Argument

type Argument

type Argument struct {
	// the name of the Value
	Name string `json:"name"`
	// the Type of the Value
	Type string `json:"type"`
	// THE ACTUAL VALUE OF THE VALUE!
	Value interface{} `json:"val"`
}

Argument represents a single value within a function call. function(arg=(int)N <- name="arg", type="int", value="N"

func (Argument) MarshalJSON

func (a Argument) MarshalJSON() ([]byte, error)

func (Argument) String

func (a Argument) String() string

type Arguments

type Arguments []*Argument

func (Arguments) String

func (a Arguments) String() string

type Bind

type Bind struct {
	FD    types.InputFD
	Ret   types.OutputFD
	Saddr *types.SockAddr
}

func (*Bind) Arguments

func (b *Bind) Arguments() Arguments

func (*Bind) CallName

func (b *Bind) CallName() string

func (*Bind) DecodeArguments

func (b *Bind) DecodeArguments(data []*byte, arglen int) error

func (*Bind) Return

func (b *Bind) Return() *Argument

type Brk

type Brk struct {
	Addr uint64 `json:"addr"`
}

func (*Brk) Arguments

func (b *Brk) Arguments() Arguments

func (*Brk) CallName

func (b *Brk) CallName() string

func (*Brk) DecodeArguments

func (b *Brk) DecodeArguments(data []*byte, arglen int) error

func (*Brk) Return

func (b *Brk) Return() *Argument

type Chdir

type Chdir struct {
	Filename string `json:"filename"`
}

func (*Chdir) Arguments

func (c *Chdir) Arguments() Arguments

func (*Chdir) CallName

func (c *Chdir) CallName() string

func (*Chdir) DecodeArguments

func (c *Chdir) DecodeArguments(data []*byte, arglen int) error

func (*Chdir) Return

func (c *Chdir) Return() *Argument

type Chroot

type Chroot struct {
	Filename string `json:"filename"`
}

func (*Chroot) Arguments

func (c *Chroot) Arguments() Arguments

func (*Chroot) CallName

func (c *Chroot) CallName() string

func (*Chroot) DecodeArguments

func (c *Chroot) DecodeArguments(data []*byte, arglen int) error

func (*Chroot) Return

func (c *Chroot) Return() *Argument

type Clone

type Clone struct {
	Flags       types.CloneFlags `json:"flags"`
	NewStack    uint64           `json:"new_stack"`
	ChildStack  uint64           `json:"child_stack"`
	ParentStack uint64           `json:"parent_stack"`
	Tls         uint64           `json:"tls"`
}

func (*Clone) Arguments

func (c *Clone) Arguments() Arguments

func (*Clone) CallName

func (c *Clone) CallName() string

func (*Clone) DecodeArguments

func (c *Clone) DecodeArguments(data []*byte, arglen int) error

func (*Clone) Return

func (c *Clone) Return() *Argument

type Close

type Close struct {
	FD types.InputFD
}

func (*Close) Arguments

func (c *Close) Arguments() Arguments

func (*Close) CallName

func (c *Close) CallName() string

func (*Close) DecodeArguments

func (c *Close) DecodeArguments(data []*byte, arglen int) error

func (*Close) Return

func (c *Close) Return() *Argument

type Connect

type Connect struct {
	FD    types.InputFD `json:"fd"`
	Saddr *types.SockAddr
}

func (*Connect) Arguments

func (c *Connect) Arguments() Arguments

func (*Connect) CallName

func (c *Connect) CallName() string

func (*Connect) DecodeArguments

func (c *Connect) DecodeArguments(data []*byte, arglen int) error

func (*Connect) Return

func (c *Connect) Return() *Argument

type Creat

type Creat struct {
	Pathname string      `json:"pathname"`
	Mode     os.FileMode `json:"mode"`
}

func (*Creat) Arguments

func (c *Creat) Arguments() Arguments

func (*Creat) CallName

func (c *Creat) CallName() string

func (*Creat) DecodeArguments

func (c *Creat) DecodeArguments(data []*byte, arglen int) error

func (*Creat) Return

func (c *Creat) Return() *Argument

type Execve

type Execve struct {
	Filename string    `json:"filename"`
	Argv     [4]string `json:"argv"`
}

func (*Execve) Arguments

func (e *Execve) Arguments() Arguments

func (*Execve) CallName

func (e *Execve) CallName() string

func (*Execve) DecodeArguments

func (e *Execve) DecodeArguments(data []*byte, arglen int) error

func (*Execve) Return

func (e *Execve) Return() *Argument

type Exit

type Exit struct {
	Code int `json:"code"`
}

func (*Exit) Arguments

func (e *Exit) Arguments() Arguments

func (*Exit) CallName

func (e *Exit) CallName() string

func (*Exit) DecodeArguments

func (e *Exit) DecodeArguments(data []*byte, arglen int) error

func (*Exit) Return

func (e *Exit) Return() *Argument

type Faccessat

type Faccessat struct {
	FD       types.DirFD `json:"fd"`
	Pathname string      `json:"pathname"`
	Mode     os.FileMode `json:"mode"`
	Flags    int         `json:"flags"`
}

func (*Faccessat) Arguments

func (f *Faccessat) Arguments() Arguments

func (*Faccessat) CallName

func (f *Faccessat) CallName() string

func (*Faccessat) DecodeArguments

func (f *Faccessat) DecodeArguments(data []*byte, arglen int) error

func (*Faccessat) Return

func (f *Faccessat) Return() *Argument

type Fstat

type Fstat struct {
	FD      types.InputFD   `json:"fd"`
	StatBuf *syscall.Stat_t `json:"stat_buf"`
}

func (*Fstat) Arguments

func (f *Fstat) Arguments() Arguments

func (*Fstat) CallName

func (f *Fstat) CallName() string

func (*Fstat) DecodeArguments

func (f *Fstat) DecodeArguments(data []*byte, arglen int) error

func (*Fstat) Return

func (f *Fstat) Return() *Argument

type Ftruncate

type Ftruncate struct {
	FD     types.InputFD `json:"fd"`
	Length int           `json:"length"`
}

func (*Ftruncate) Arguments

func (f *Ftruncate) Arguments() Arguments

func (*Ftruncate) CallName

func (f *Ftruncate) CallName() string

func (*Ftruncate) DecodeArguments

func (f *Ftruncate) DecodeArguments(data []*byte, arglen int) error

func (*Ftruncate) Return

func (f *Ftruncate) Return() *Argument

type Function

type Function interface {
	// The name of the function
	CallName() string
	// The return argument of the function
	Return() *Argument
	// A slight abstraction around function arguments and how they can
	// be semi-serialized. This must return an array of EventArg's
	Arguments() Arguments
}

Function represents a function call of some sort, as of the time of writing, that's just syscalls.

func DecodeSyscall

func DecodeSyscall(nr int, arguments []*byte, arglen int) (Function, error)

type FunctionDecoder

type FunctionDecoder interface {
	DecodeArguments([]*byte, int) error
}

FunctionDecoder api's should be able to read in an array of byte pointers (basically void argv[][]), and fill in information about itself.

type FunctionHandle

type FunctionHandle struct {
	FunctionHandler
}

FunctionHandle allows for abstract readers/writers on handlers.

func (*FunctionHandle) MarshalJSON

func (h *FunctionHandle) MarshalJSON() ([]byte, error)

func (*FunctionHandle) String

func (h *FunctionHandle) String() string

type FunctionHandler

type FunctionHandler interface {
	Function
	FunctionDecoder
}

Functionhandler api's define a function they are authoratative for, and a decoder for the function.

type Futex

type Futex struct {
	Uaddr uint32 `json:"uaddr"`
	Op    int    `json:"op"`
	Val   uint32 `json:"val"`
}

func (*Futex) Arguments

func (f *Futex) Arguments() Arguments

func (*Futex) CallName

func (f *Futex) CallName() string

func (*Futex) DecodeArguments

func (f *Futex) DecodeArguments(data []*byte, arglen int) error

func (*Futex) Return

func (f *Futex) Return() *Argument

type Getcwd

type Getcwd struct {
	Buf  string `json:"buf"`
	Size int    `json:"size"`
}

func (*Getcwd) Arguments

func (g *Getcwd) Arguments() Arguments

func (*Getcwd) CallName

func (g *Getcwd) CallName() string

func (*Getcwd) DecodeArguments

func (g *Getcwd) DecodeArguments(data []*byte, arglen int) error

func (*Getcwd) Return

func (g *Getcwd) Return() *Argument

type Getpeername

type Getpeername struct {
	FD    types.InputFD   `json:"fd"`
	Saddr *types.SockAddr `json:"saddr"`
}

func (*Getpeername) Arguments

func (g *Getpeername) Arguments() Arguments

func (*Getpeername) CallName

func (g *Getpeername) CallName() string

func (*Getpeername) DecodeArguments

func (g *Getpeername) DecodeArguments(data []*byte, arglen int) error

func (*Getpeername) Return

func (g *Getpeername) Return() *Argument

type Getsockname

type Getsockname struct {
	FD    types.InputFD   `json:"fd"`
	Saddr *types.SockAddr `json:"saddr"`
}

func (*Getsockname) Arguments

func (g *Getsockname) Arguments() Arguments

func (*Getsockname) CallName

func (g *Getsockname) CallName() string

func (*Getsockname) DecodeArguments

func (g *Getsockname) DecodeArguments(data []*byte, arglen int) error

func (*Getsockname) Return

func (g *Getsockname) Return() *Argument

type Getsockopt

type Getsockopt struct {
	Sockopt `json:"sockopt"`
}

func (*Getsockopt) CallName

func (g *Getsockopt) CallName() string

func (*Getsockopt) Return

func (g *Getsockopt) Return() *Argument

type INotifyAddWatch

type INotifyAddWatch struct {
	FD       types.InputFD `json:"fd"`
	Pathname string        `json:"pathname"`
	Mask     InotifyMask   `json:"mask"`
}

func (*INotifyAddWatch) Arguments

func (m *INotifyAddWatch) Arguments() Arguments

func (*INotifyAddWatch) CallName

func (m *INotifyAddWatch) CallName() string

func (*INotifyAddWatch) DecodeArguments

func (m *INotifyAddWatch) DecodeArguments(data []*byte, arglen int) error

func (*INotifyAddWatch) Return

func (m *INotifyAddWatch) Return() *Argument

type InitModule

type InitModule struct {
	Name   string `json:"name"`
	Len    int    `json:"len"`
	Params string `json:"params"`
}

func (*InitModule) Arguments

func (i *InitModule) Arguments() Arguments

func (*InitModule) CallName

func (i *InitModule) CallName() string

func (*InitModule) DecodeArguments

func (i *InitModule) DecodeArguments(data []*byte, arglen int) error

func (*InitModule) Return

func (i *InitModule) Return() *Argument

type InotifyMask

type InotifyMask uint32

func (InotifyMask) MarshalJSON

func (f InotifyMask) MarshalJSON() ([]byte, error)

func (InotifyMask) Parse

func (flags InotifyMask) Parse() []string

func (InotifyMask) String

func (flags InotifyMask) String() string

func (*InotifyMask) UnmarshalJSON

func (f *InotifyMask) UnmarshalJSON(data []byte) error

type Kill

type Kill struct {
	Pid int32 `json:"pid"`
	Sig int32 `json:"sig"`
}

func (*Kill) Arguments

func (k *Kill) Arguments() Arguments

func (*Kill) CallName

func (k *Kill) CallName() string

func (*Kill) DecodeArguments

func (k *Kill) DecodeArguments(data []*byte, arglen int) error

func (*Kill) Return

func (k *Kill) Return() *Argument
type Link struct {
	OldName string `json:"old_name"`
	NewName string `json:"new_name"`
}

func (*Link) Arguments

func (l *Link) Arguments() Arguments

func (*Link) CallName

func (l *Link) CallName() string

func (*Link) DecodeArguments

func (l *Link) DecodeArguments(data []*byte, arglen int) error

func (*Link) Return

func (l *Link) Return() *Argument

type Listen

type Listen struct {
	Sock    types.InputFD `json:"sock"`
	Backlog int           `json:"backlog"`
}

func (*Listen) Arguments

func (l *Listen) Arguments() Arguments

func (*Listen) CallName

func (l *Listen) CallName() string

func (*Listen) DecodeArguments

func (l *Listen) DecodeArguments(data []*byte, arglen int) error

func (*Listen) Return

func (l *Listen) Return() *Argument

type Mincore

type Mincore struct {
	Addr uintptr `json:"addr"`
	Len  int     `json:"len"`
	Vec  uintptr `json:"vec"`
}

func (*Mincore) Arguments

func (m *Mincore) Arguments() Arguments

func (*Mincore) CallName

func (m *Mincore) CallName() string

func (*Mincore) DecodeArguments

func (m *Mincore) DecodeArguments(data []*byte, arglen int) error

func (*Mincore) Return

func (m *Mincore) Return() *Argument

type Mkdir

type Mkdir struct {
	Pathname string      `json:"pathname"`
	Mode     os.FileMode `json:"mode"`
}

Mkdir ...

func (*Mkdir) Arguments

func (m *Mkdir) Arguments() Arguments

func (*Mkdir) CallName

func (m *Mkdir) CallName() string

func (*Mkdir) DecodeArguments

func (m *Mkdir) DecodeArguments(data []*byte, arglen int) error

func (*Mkdir) Return

func (m *Mkdir) Return() *Argument

type Mount

type Mount struct {
	Device    string     `json:"device"`
	Directory string     `json:"directory"`
	Type      string     `json:"type"`
	Flags     MountFlags `json:"flags"`
}

func (*Mount) Arguments

func (m *Mount) Arguments() Arguments

func (*Mount) CallName

func (m *Mount) CallName() string

func (*Mount) DecodeArguments

func (m *Mount) DecodeArguments(data []*byte, arglen int) error

func (*Mount) Return

func (m *Mount) Return() *Argument

type MountFlags

type MountFlags int

func (MountFlags) MarshalJSON

func (f MountFlags) MarshalJSON() ([]byte, error)

func (MountFlags) Parse

func (flags MountFlags) Parse() []string

func (MountFlags) String

func (flags MountFlags) String() string

func (*MountFlags) UnmarshalJSON

func (f *MountFlags) UnmarshalJSON(data []byte) error

type Mprotect

type Mprotect struct {
	Addr     uintptr      `json:"addr"`
	Len      int          `json:"len"`
	Prot     ProtFlags    `json:"prot"`
	AddrData types.Buffer `json:"addr_data"`
}

func (*Mprotect) Arguments

func (m *Mprotect) Arguments() Arguments

func (*Mprotect) CallName

func (m *Mprotect) CallName() string

func (*Mprotect) DecodeArguments

func (m *Mprotect) DecodeArguments(data []*byte, arglen int) error

func (*Mprotect) Return

func (m *Mprotect) Return() *Argument

type Nanosleep

type Nanosleep struct {
	Req types.Timespec `json:"req"`
	Rem types.Timespec `json:"rem"`
}

func (*Nanosleep) Arguments

func (n *Nanosleep) Arguments() Arguments

func (*Nanosleep) CallName

func (n *Nanosleep) CallName() string

func (*Nanosleep) DecodeArguments

func (n *Nanosleep) DecodeArguments(data []*byte, arglen int) error

func (*Nanosleep) Return

func (n *Nanosleep) Return() *Argument

type Open

type Open struct {
	Filename string          `json:"filename"`
	Flags    types.FileFlags `json:"flags"`
	Mode     int             `json:"mode"`
	Ret      types.OutputFD  `json:"ret"`
}

func (*Open) Arguments

func (o *Open) Arguments() Arguments

func (*Open) CallName

func (o *Open) CallName() string

func (*Open) DecodeArguments

func (o *Open) DecodeArguments(data []*byte, arglen int) error

func (*Open) Return

func (o *Open) Return() *Argument

type Openat

type Openat struct {
	DirFD    types.DirFD     `json:"dir_fd"`
	Pathname string          `json:"pathname"`
	Flags    types.FileFlags `json:"flags"`
}

func (*Openat) Arguments

func (o *Openat) Arguments() Arguments

func (*Openat) CallName

func (o *Openat) CallName() string

func (*Openat) DecodeArguments

func (o *Openat) DecodeArguments(data []*byte, arglen int) error

func (*Openat) Return

func (o *Openat) Return() *Argument

type PRresource

type PRresource int

func (PRresource) MarshalJSON

func (r PRresource) MarshalJSON() ([]byte, error)

func (PRresource) Parse

func (r PRresource) Parse() string

func (PRresource) String

func (r PRresource) String() string

func (*PRresource) UnmarshalJSON

func (r *PRresource) UnmarshalJSON(data []byte) error

type PivotRoot

type PivotRoot struct {
	NewRoot string `json:"new_root"`
	OldRoot string `json:"old_root"`
}

func (*PivotRoot) Arguments

func (p *PivotRoot) Arguments() Arguments

func (*PivotRoot) CallName

func (p *PivotRoot) CallName() string

func (*PivotRoot) DecodeArguments

func (p *PivotRoot) DecodeArguments(data []*byte, arglen int) error

func (*PivotRoot) Return

func (p *PivotRoot) Return() *Argument

type Prlimit64

type Prlimit64 struct {
	Pid      int        `json:"pid"`
	Resource PRresource `json:"resource"`
	New      Rlimit     `json:"new"`
	Old      Rlimit     `json:"old"`
}

func (*Prlimit64) Arguments

func (p *Prlimit64) Arguments() Arguments

func (*Prlimit64) CallName

func (p *Prlimit64) CallName() string

func (*Prlimit64) DecodeArguments

func (p *Prlimit64) DecodeArguments(data []*byte, arglen int) error

func (*Prlimit64) Return

func (p *Prlimit64) Return() *Argument

type ProtFlags

type ProtFlags int

func (ProtFlags) Parse

func (flags ProtFlags) Parse() []string

func (ProtFlags) String

func (flags ProtFlags) String() string

type Ptrace

type Ptrace struct {
	Request PtraceRequest `json:"request"`
	PID     int           `json:"pid"`
	Addr    uint64        `json:"addr"`
	Data    PtraceData    `json:"data"`
}

func (*Ptrace) Arguments

func (p *Ptrace) Arguments() Arguments

func (*Ptrace) CallName

func (p *Ptrace) CallName() string

func (*Ptrace) DecodeArguments

func (p *Ptrace) DecodeArguments(data []*byte, arglen int) error

func (*Ptrace) Return

func (p *Ptrace) Return() *Argument

type PtraceData

type PtraceData uint64

type PtraceRequest

type PtraceRequest int

func (PtraceRequest) Parse

func (p PtraceRequest) Parse() string

func (PtraceRequest) String

func (p PtraceRequest) String() string

type Read

type Read struct {
	FD    types.InputFD `json:"fd"`
	Buf   types.Buffer  `json:"buf"`
	Count int           `json:"count"`
}

func (*Read) Arguments

func (r *Read) Arguments() Arguments

func (*Read) CallName

func (r *Read) CallName() string

func (*Read) DecodeArguments

func (r *Read) DecodeArguments(data []*byte, arglen int) error

func (*Read) Return

func (r *Read) Return() *Argument
type Readlink struct {
	Pathname string       `json:"pathname"`
	Buf      types.Buffer `json:"buf"`
	Bufsize  int          `json:"size"`
}

func (*Readlink) Arguments

func (r *Readlink) Arguments() Arguments

func (*Readlink) CallName

func (r *Readlink) CallName() string

func (*Readlink) DecodeArguments

func (r *Readlink) DecodeArguments(data []*byte, arglen int) error

func (*Readlink) Return

func (r *Readlink) Return() *Argument

type Readlinkat

type Readlinkat struct {
	DirFD    types.DirFD  `json:"dir_fd"`
	Pathname string       `json:"pathname"`
	Buf      types.Buffer `json:"buf"`
	Bufsize  int          `json:"size"`
}

func (*Readlinkat) Arguments

func (r *Readlinkat) Arguments() Arguments

func (*Readlinkat) CallName

func (r *Readlinkat) CallName() string

func (*Readlinkat) DecodeArguments

func (r *Readlinkat) DecodeArguments(data []*byte, arglen int) error

func (*Readlinkat) Return

func (r *Readlinkat) Return() *Argument

type Recvfrom

type Recvfrom struct {
	FD    types.InputFD   `json:"fd"`
	Ubuf  types.Buffer    `json:"ubuf"`
	Size  int             `json:"size"`
	OSize int             `json:"o_size"`
	Flags types.MsgFlags  `json:"flags"`
	Saddr *types.SockAddr `json:"saddr"`
}

func (*Recvfrom) Arguments

func (r *Recvfrom) Arguments() Arguments

func (*Recvfrom) CallName

func (r *Recvfrom) CallName() string

func (*Recvfrom) DecodeArguments

func (r *Recvfrom) DecodeArguments(data []*byte, arglen int) error

func (*Recvfrom) Return

func (r *Recvfrom) Return() *Argument

type Rename

type Rename struct {
	OldName string `json:"old_name"`
	NewName string `json:"new_name"`
}

func (*Rename) Arguments

func (r *Rename) Arguments() Arguments

func (*Rename) CallName

func (r *Rename) CallName() string

func (*Rename) DecodeArguments

func (r *Rename) DecodeArguments(data []*byte, arglen int) error

func (*Rename) Return

func (r *Rename) Return() *Argument

type Rlimit

type Rlimit syscall.Rlimit

type Rmdir

type Rmdir struct {
	Pathname string `json:"pathname"`
}

func (*Rmdir) Arguments

func (r *Rmdir) Arguments() Arguments

func (*Rmdir) CallName

func (r *Rmdir) CallName() string

func (*Rmdir) DecodeArguments

func (r *Rmdir) DecodeArguments(data []*byte, arglen int) error

func (*Rmdir) Return

func (r *Rmdir) Return() *Argument

type Seccomp

type Seccomp struct {
	Op    int    `json:"op"`
	Flags int    `json:"flags"`
	Args  string `json:"args"`
}

func (*Seccomp) Arguments

func (s *Seccomp) Arguments() Arguments

func (*Seccomp) CallName

func (s *Seccomp) CallName() string

func (*Seccomp) DecodeArguments

func (s *Seccomp) DecodeArguments(data []*byte, arglen int) error

func (*Seccomp) Return

func (s *Seccomp) Return() *Argument

type Sendto

type Sendto struct {
	FD    types.InputFD   `json:"fd"`
	Ubuf  types.Buffer    `json:"ubuf"`
	Size  int             `json:"size"`
	Flags types.MsgFlags  `json:"flags"`
	Saddr *types.SockAddr `json:"saddr"`
}

func (*Sendto) Arguments

func (s *Sendto) Arguments() Arguments

func (*Sendto) CallName

func (s *Sendto) CallName() string

func (*Sendto) DecodeArguments

func (s *Sendto) DecodeArguments(data []*byte, arglen int) error

func (*Sendto) Return

func (s *Sendto) Return() *Argument

type Setns

type Setns struct {
	FD     types.InputFD    `json:"fd"`
	NSType types.CloneFlags `json:"ns_type"`
}

func (*Setns) Arguments

func (s *Setns) Arguments() Arguments

func (*Setns) CallName

func (s *Setns) CallName() string

func (*Setns) DecodeArguments

func (s *Setns) DecodeArguments(data []*byte, arglen int) error

func (*Setns) Return

func (s *Setns) Return() *Argument

type Setsockopt

type Setsockopt struct {
	Sockopt
}

func (*Setsockopt) CallName

func (s *Setsockopt) CallName() string

func (*Setsockopt) Return

func (s *Setsockopt) Return() *Argument

type Setuid

type Setuid struct {
	UID int `json:"uid"`
}

func (*Setuid) Arguments

func (s *Setuid) Arguments() Arguments

func (*Setuid) CallName

func (s *Setuid) CallName() string

func (*Setuid) DecodeArguments

func (s *Setuid) DecodeArguments(data []*byte, arglen int) error

func (*Setuid) Return

func (s *Setuid) Return() *Argument

type SockFamily

type SockFamily int

func (SockFamily) MarshalJSON

func (f SockFamily) MarshalJSON() ([]byte, error)

func (SockFamily) Parse

func (f SockFamily) Parse() string

func (SockFamily) String

func (f SockFamily) String() string

func (*SockFamily) UnmarshalJSON

func (f *SockFamily) UnmarshalJSON(data []byte) error

type SockProtocol

type SockProtocol int

func (SockProtocol) MarshalJSON

func (p SockProtocol) MarshalJSON() ([]byte, error)

func (SockProtocol) Parse

func (p SockProtocol) Parse() string

func (SockProtocol) String

func (p SockProtocol) String() string

func (*SockProtocol) UnmarshalJSON

func (p *SockProtocol) UnmarshalJSON(data []byte) error

type SockType

type SockType int

func (SockType) MarshalJSON

func (t SockType) MarshalJSON() ([]byte, error)

func (SockType) Parse

func (t SockType) Parse() []string

func (SockType) String

func (t SockType) String() string

func (*SockType) UnmarshalJSON

func (t *SockType) UnmarshalJSON(data []byte) error

type Socket

type Socket struct {
	Family   SockFamily   `json:"family"`
	Type     SockType     `json:"type"`
	Protocol SockProtocol `json:"protocol"`
}

func (*Socket) Arguments

func (s *Socket) Arguments() Arguments

func (*Socket) CallName

func (s *Socket) CallName() string

func (*Socket) DecodeArguments

func (s *Socket) DecodeArguments(data []*byte, arglen int) error

func (*Socket) Return

func (s *Socket) Return() *Argument

type Sockopt

type Sockopt struct {
	FD    types.InputFD `json:"fd"`
	Level SockoptLevel  `json:"level"`
	Name  *SockoptName  `json:"name"`
	Val   []byte        `json:"val"`
	Len   int           `json:"len"`
}

func (*Sockopt) Arguments

func (g *Sockopt) Arguments() Arguments

func (*Sockopt) DecodeArguments

func (g *Sockopt) DecodeArguments(data []*byte, arglen int) error

type SockoptLevel

type SockoptLevel int

func (SockoptLevel) MarshalJSON

func (s SockoptLevel) MarshalJSON() ([]byte, error)

func (SockoptLevel) Parse

func (s SockoptLevel) Parse() string

func (SockoptLevel) String

func (s SockoptLevel) String() string

func (*SockoptLevel) UnmarshalJSON

func (s *SockoptLevel) UnmarshalJSON(data []byte) error

type SockoptName

type SockoptName struct {
	Tp int `json:"tp"` // socket type
	Lv int `json:"lv"` // level
}

SockoptName is a combination of the type and level for easier marshalling and unmarshalling.

func (*SockoptName) MarshalJSON

func (s *SockoptName) MarshalJSON() ([]byte, error)

func (*SockoptName) Parse

func (s *SockoptName) Parse() string

func (*SockoptName) String

func (s *SockoptName) String() string

func (*SockoptName) UnmarshalJSON

func (s *SockoptName) UnmarshalJSON(b []byte) error

type Stat

type Stat struct {
	Filename string         `json:"filename"`
	StatBuf  syscall.Stat_t `json:"stat_buf"`
}

func (*Stat) Arguments

func (s *Stat) Arguments() Arguments

func (*Stat) CallName

func (s *Stat) CallName() string

func (*Stat) DecodeArguments

func (s *Stat) DecodeArguments(data []*byte, arglen int) error

func (*Stat) Return

func (s *Stat) Return() *Argument

type Statfs

type Statfs struct {
	Path    string         `json:"path"`
	StatBuf syscall.Stat_t `json:"stat_buf"`
}

func (*Statfs) Arguments

func (s *Statfs) Arguments() Arguments

func (*Statfs) CallName

func (s *Statfs) CallName() string

func (*Statfs) DecodeArguments

func (s *Statfs) DecodeArguments(data []*byte, arglen int) error

func (*Statfs) Return

func (s *Statfs) Return() *Argument
type Symlink struct {
	Target   string `json:"target"`
	Linkpath string `json:"linkpath"`
}

func (*Symlink) Arguments

func (s *Symlink) Arguments() Arguments

func (*Symlink) CallName

func (s *Symlink) CallName() string

func (*Symlink) DecodeArguments

func (s *Symlink) DecodeArguments(data []*byte, arglen int) error

func (*Symlink) Return

func (s *Symlink) Return() *Argument

type Syslog

type Syslog struct {
	Type int    `json:"type"`
	Buf  string `json:"buf"`
	Len  int    `json:"len"`
}

func (*Syslog) Arguments

func (s *Syslog) Arguments() Arguments

func (*Syslog) CallName

func (s *Syslog) CallName() string

func (*Syslog) DecodeArguments

func (s *Syslog) DecodeArguments(data []*byte, arglen int) error

func (*Syslog) Return

func (s *Syslog) Return() *Argument

type TimerFDCreate

type TimerFDCreate struct {
	Clock types.TFDClock   `json:"clock"`
	Flags types.TimerFlags `json:"flags"`
}

func (*TimerFDCreate) Arguments

func (t *TimerFDCreate) Arguments() Arguments

func (*TimerFDCreate) CallName

func (t *TimerFDCreate) CallName() string

func (*TimerFDCreate) DecodeArguments

func (t *TimerFDCreate) DecodeArguments(data []*byte, arglen int) error

func (*TimerFDCreate) Return

func (t *TimerFDCreate) Return() *Argument

type TimerFDSettime

type TimerFDSettime struct {
	FD    types.InputFD    `json:"fd"`
	Flags types.TimerFlags `json:"flags"`
	New   types.Itimerspec `json:"new"`
	Old   types.Itimerspec `json:"old"`
}

func (*TimerFDSettime) Arguments

func (f *TimerFDSettime) Arguments() Arguments

func (*TimerFDSettime) CallName

func (f *TimerFDSettime) CallName() string

func (*TimerFDSettime) DecodeArguments

func (f *TimerFDSettime) DecodeArguments(data []*byte, arglen int) error

func (*TimerFDSettime) Return

func (f *TimerFDSettime) Return() *Argument

type Umount2

type Umount2 struct {
	Target string            `json:"target"`
	Flags  types.UmountFlags `json:"flags"`
}

func (*Umount2) Arguments

func (u *Umount2) Arguments() Arguments

func (*Umount2) CallName

func (u *Umount2) CallName() string

func (*Umount2) DecodeArguments

func (u *Umount2) DecodeArguments(data []*byte, arglen int) error

func (*Umount2) Return

func (u *Umount2) Return() *Argument
type Unlink struct {
	Pathname string `json:"pathname"`
}

func (*Unlink) Arguments

func (u *Unlink) Arguments() Arguments

func (*Unlink) CallName

func (u *Unlink) CallName() string

func (*Unlink) DecodeArguments

func (u *Unlink) DecodeArguments(data []*byte, arglen int) error

func (*Unlink) Return

func (u *Unlink) Return() *Argument

type Write

type Write struct {
	FD    types.InputFD `json:"fd"`
	Buf   types.Buffer  `json:"buf"`
	Count int           `json:"count"`
}

func (*Write) Arguments

func (w *Write) Arguments() Arguments

func (*Write) CallName

func (w *Write) CallName() string

func (*Write) DecodeArguments

func (w *Write) DecodeArguments(data []*byte, arglen int) error

func (*Write) Return

func (w *Write) Return() *Argument

Jump to

Keyboard shortcuts

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