Versions in this module Expand all Collapse all v0 v0.9.2 May 21, 2024 v0.9.1 May 20, 2024 Changes in this version + func Generate(arch *config.Arch, srcPath string, clangVersion string, functions []Function) ([]byte, error) + func GenerateFile(arch *config.Arch, path string, srcPath string, clangVersion string, ...) error + func GenerateGoStubs(arch *config.Arch, pkg, output string, functions []Function) error + func ParseClangObjectDump(arch *config.Arch, dump string, functions []Function, dec Plan9Decoder) error + func ParseGoObjectDump(arch *config.Arch, dump string, functions []Function) error + type Const struct + Label string + Lines []ConstLine + func (c *Const) Compile(arch *config.Arch) string + type ConstLine struct + Size int + Value uint64 + type Function struct + Consts []Const + GoFunc GoFunction + Lines []Line + LocalsSize int + Name string + Params []Param + Position int + Ret *Param + SourcePath string + func ApplyTransforms(arch *config.Arch, functions []Function) []Function + func ParseAssembly(arch *config.Arch, path string) ([]Function, error) + func (f *Function) ParamsSize(arch *config.Arch) (int, []int) + func (f *Function) String() string + type GoFunction struct + Expr *ast.FuncType + Name string + func (f *GoFunction) ForEachParam(fn func(name, typ string)) + func (f *GoFunction) ForEachResult(fn func(name, typ string)) + func (f *GoFunction) NumResults() int + type Line struct + Assembly string + Binary []string + Disassembled string + Labels []string + func (line *Line) Compile(arch *config.Arch) string + type Param struct + IsPointer bool + Name string + Type string + func (p *Param) CString() string + func (p *Param) CTypeStr() string + func (p *Param) EquivalentType() types.Type + func (p *Param) IsFloatingPoint() bool + func (p *Param) Size() int + func (p *Param) String() string + type Plan9Decoder interface + DecodeInstruction func(symName string, binary []string) (string, error)