runtime

package
v0.0.0-...-81aed03 Latest Latest
Warning

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

Go to latest
Published: Mar 22, 2024 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const FlushFuncProcId = FuncProcId(math.MaxUint32)

Variables

View Source
var DefaultAllocater = func(l uint32) []byte { return make([]byte, int(l), int(l)) }
View Source
var DefaultErrorHandler = func(err error) {}
View Source
var StringAllocationError = errors.New("allocated string buffer does not have correct length")

Functions

func AddBoolArg

func AddBoolArg[T ~bool](inst *Fffi2, v T)

func AddBoolSliceArg

func AddBoolSliceArg[T ~bool](inst *Fffi2, vs []T)

func AddBytesArg

func AddBytesArg(inst *Fffi2, v []byte)

func AddComplex128Arg

func AddComplex128Arg[T ~complex128](inst *Fffi2, v T)

func AddComplex64Arg

func AddComplex64Arg[T ~complex64](inst *Fffi2, v T)

func AddComplex64Array2Arg

func AddComplex64Array2Arg[T ~complex64](inst *Fffi2, v [2]T)

func AddFloat32Arg

func AddFloat32Arg[T ~float32](inst *Fffi2, v T)

func AddFloat32Array2Arg

func AddFloat32Array2Arg[T ~float32](inst *Fffi2, v [2]T)

func AddFloat32Array3Arg

func AddFloat32Array3Arg[T ~float32](inst *Fffi2, v [3]T)

func AddFloat32Array4Arg

func AddFloat32Array4Arg[T ~float32](inst *Fffi2, v [4]T)

func AddFloat32SliceArg

func AddFloat32SliceArg[T ~float32](inst *Fffi2, vs []T)

func AddFloat64Arg

func AddFloat64Arg[T ~float64](inst *Fffi2, v T)

func AddFloat64Array4Arg

func AddFloat64Array4Arg[T ~float64](inst *Fffi2, v [4]T)

func AddFloat64SliceArg

func AddFloat64SliceArg[T ~float64](inst *Fffi2, vs []T)

func AddInt16Arg

func AddInt16Arg[T ~int16](inst *Fffi2, v T)

func AddInt16SliceArg

func AddInt16SliceArg[T ~int16](inst *Fffi2, vs []T)

func AddInt32Arg

func AddInt32Arg[T ~int32](inst *Fffi2, v T)

func AddInt32SliceArg

func AddInt32SliceArg[T ~int32](inst *Fffi2, vs []T)

func AddInt64Arg

func AddInt64Arg[T ~int64](inst *Fffi2, v T)

func AddInt8Arg

func AddInt8Arg[T ~int8](inst *Fffi2, v T)

func AddInt8SliceArg

func AddInt8SliceArg[T ~int8](inst *Fffi2, vs []T)

func AddIntArg

func AddIntArg[T ~int](inst *Fffi2, v T)

func AddIntArray2Arg

func AddIntArray2Arg[T ~int](inst *Fffi2, v [2]T)

func AddIntArray3Arg

func AddIntArray3Arg[T ~int](inst *Fffi2, v [3]T)

func AddIntArray4Arg

func AddIntArray4Arg[T ~int](inst *Fffi2, v [4]T)

func AddIntSliceArg

func AddIntSliceArg[T ~int](inst *Fffi2, vs []T)

func AddRuneArg

func AddRuneArg[T ~rune](inst *Fffi2, v T)

func AddRuneSliceArg

func AddRuneSliceArg[T ~rune](inst *Fffi2, vs []T)

func AddStringArg

func AddStringArg[T ~string](inst *Fffi2, v T)

func AddStringsArg

func AddStringsArg[T ~string](inst *Fffi2, vs []T)

func AddUint16Arg

func AddUint16Arg[T ~uint16](inst *Fffi2, v T)

func AddUint16SliceArg

func AddUint16SliceArg[T ~uint16](inst *Fffi2, vs []T)

func AddUint32Arg

func AddUint32Arg[T ~uint32](inst *Fffi2, v T)

func AddUint32SliceArg

func AddUint32SliceArg[T ~uint32](inst *Fffi2, vs []T)

func AddUint64Arg

func AddUint64Arg[T ~uint64](inst *Fffi2, v T)

func AddUint8Arg

func AddUint8Arg[T ~uint8](inst *Fffi2, v T)

func AddUint8SliceArg

func AddUint8SliceArg[T ~uint8](inst *Fffi2, vs []T)

func AddUintArg

func AddUintArg[T ~uint](inst *Fffi2, v T)

func AddUintSliceArg

func AddUintSliceArg[T ~uint](inst *Fffi2, vs []T)

func AddUintptrArg

func AddUintptrArg[T ~uintptr](inst *Fffi2, v T)

func GetBoolRetr

func GetBoolRetr[T ~bool](inst *Fffi2) (r T)

func GetBoolSliceRetr

func GetBoolSliceRetr[T ~bool](inst *Fffi2) (r []T)

func GetBytesRetr

func GetBytesRetr[T byte](inst *Fffi2) (r []byte)

func GetComplex128Retr

func GetComplex128Retr[T ~complex128](inst *Fffi2) (r T)

func GetComplex64Retr

func GetComplex64Retr[T ~complex64](inst *Fffi2) (r T)

func GetFloat32Array2Retr

func GetFloat32Array2Retr[T ~float32](inst *Fffi2) (r [2]T)

func GetFloat32Array3Retr

func GetFloat32Array3Retr[T ~float32](inst *Fffi2) (r [3]T)

func GetFloat32Array4Retr

func GetFloat32Array4Retr[T ~float32](inst *Fffi2) (r [4]T)

func GetFloat32Retr

func GetFloat32Retr[T ~float32](inst *Fffi2) (r T)

func GetFloat32SliceRetr

func GetFloat32SliceRetr[T ~float32](inst *Fffi2) (r []T)

func GetFloat64Retr

func GetFloat64Retr[T ~float64](inst *Fffi2) (r T)

func GetFloat64SliceRetr

func GetFloat64SliceRetr[T ~float64](inst *Fffi2) (r []T)

func GetInt16Retr

func GetInt16Retr[T ~int16](inst *Fffi2) (r T)

func GetInt16SliceRetr

func GetInt16SliceRetr[T ~int16](inst *Fffi2) (r []T)

func GetInt32Retr

func GetInt32Retr[T ~int32](inst *Fffi2) (r T)

func GetInt32SliceRetr

func GetInt32SliceRetr[T ~int32](inst *Fffi2) (r []T)

func GetInt64Retr

func GetInt64Retr[T ~int64](inst *Fffi2) (r T)

func GetInt64SliceRetr

func GetInt64SliceRetr[T ~int64](inst *Fffi2) (r []T)

func GetInt8Retr

func GetInt8Retr[T ~int8](inst *Fffi2) (r T)

func GetInt8SliceRetr

func GetInt8SliceRetr[T ~int8](inst *Fffi2) (r []T)

func GetIntArray2Retr

func GetIntArray2Retr[T ~int](inst *Fffi2) (r [2]T)

func GetIntArray4Retr

func GetIntArray4Retr[T ~int](inst *Fffi2) (r [4]T)

func GetIntRetr

func GetIntRetr[T ~int](inst *Fffi2) (r T)

func GetIntSliceRetr

func GetIntSliceRetr[T ~int](inst *Fffi2) (r []T)

func GetStringRetr

func GetStringRetr[T ~string](inst *Fffi2) (r T)

func GetUint16Retr

func GetUint16Retr[T ~uint16](inst *Fffi2) (r T)

func GetUint16SliceRetr

func GetUint16SliceRetr[T ~uint16](inst *Fffi2) (r []T)

func GetUint32Retr

func GetUint32Retr[T ~uint32](inst *Fffi2) (r T)

func GetUint32SliceRetr

func GetUint32SliceRetr[T ~uint32](inst *Fffi2) (r []T)

func GetUint64Retr

func GetUint64Retr[T ~uint64](inst *Fffi2) (r T)

func GetUint64SliceRetr

func GetUint64SliceRetr[T ~uint64](inst *Fffi2) (r []T)

func GetUint8Retr

func GetUint8Retr[T ~uint8](inst *Fffi2) (r T)

func GetUint8SliceRetr

func GetUint8SliceRetr[T ~uint8](inst *Fffi2) (r []T)

func GetUintRetr

func GetUintRetr[T ~uint](inst *Fffi2) (r T)

func GetUintSliceRetr

func GetUintSliceRetr[T ~uint](inst *Fffi2) (r []T)

func GetUintptrRetr

func GetUintptrRetr[T ~uintptr](inst *Fffi2) (r T)

Types

type ByteOrder

type ByteOrder interface {
	binary.ByteOrder
	binary.AppendByteOrder
}

type Channel

type Channel interface {
	Marshaller() *Marshaller
	Unmarshaller() *Unmarshaller
	CallFunction() (err error)
	Flush()
}

type Fffi2

type Fffi2 struct {
	// contains filtered or unexported fields
}

func NewFffi2

func NewFffi2(channel Channel) *Fffi2

func (*Fffi2) AddFunctionId

func (inst *Fffi2) AddFunctionId(id FuncProcId)

func (*Fffi2) AddProcedureId

func (inst *Fffi2) AddProcedureId(id FuncProcId)

func (*Fffi2) CallFunction

func (inst *Fffi2) CallFunction() (err error)

func (*Fffi2) CallProcedure

func (inst *Fffi2) CallProcedure()

func (*Fffi2) Flush

func (inst *Fffi2) Flush()

type ForeignPtrInterface

type ForeignPtrInterface interface {
	// contains filtered or unexported methods
}

ForeignPtrInterface For documentation only (contains private methods)

type FuncProcId

type FuncProcId uint32

type InlineIoChannel

type InlineIoChannel struct {
	// contains filtered or unexported fields
}

func NewInlineChannel

func NewInlineChannel(in *bufio.Reader, out *bufio.Writer, bin binary.ByteOrder, errHandler func(err error), allocateBuffer func(l uint32) []byte) (inst *InlineIoChannel)

func (*InlineIoChannel) CallFunction

func (inst *InlineIoChannel) CallFunction() (err error)

func (*InlineIoChannel) Flush

func (inst *InlineIoChannel) Flush()

func (*InlineIoChannel) Marshaller

func (inst *InlineIoChannel) Marshaller() *Marshaller

func (*InlineIoChannel) SetInOut

func (inst *InlineIoChannel) SetInOut(in *bufio.Reader, out *bufio.Writer)

func (*InlineIoChannel) Unmarshaller

func (inst *InlineIoChannel) Unmarshaller() *Unmarshaller

type Marshaller

type Marshaller struct {
	// contains filtered or unexported fields
}

func NewMarshaller

func NewMarshaller(w io.Writer, bin binary.ByteOrder, errHandler func(err error)) *Marshaller

func (*Marshaller) GetWrittenBytes

func (inst *Marshaller) GetWrittenBytes() int

func (*Marshaller) ResetWrittenBytes

func (inst *Marshaller) ResetWrittenBytes()

func (*Marshaller) WriteBool

func (inst *Marshaller) WriteBool(v bool)

func (*Marshaller) WriteBytes

func (inst *Marshaller) WriteBytes(v []byte)

func (*Marshaller) WriteComplex128

func (inst *Marshaller) WriteComplex128(v complex128)

func (*Marshaller) WriteComplex64

func (inst *Marshaller) WriteComplex64(v complex64)

func (*Marshaller) WriteFloat32

func (inst *Marshaller) WriteFloat32(v float32)

func (*Marshaller) WriteFloat64

func (inst *Marshaller) WriteFloat64(v float64)

func (*Marshaller) WriteInt

func (inst *Marshaller) WriteInt(v int)

func (*Marshaller) WriteInt16

func (inst *Marshaller) WriteInt16(v int16)

func (*Marshaller) WriteInt32

func (inst *Marshaller) WriteInt32(v int32)

func (*Marshaller) WriteInt64

func (inst *Marshaller) WriteInt64(v int64)

func (*Marshaller) WriteInt8

func (inst *Marshaller) WriteInt8(v int8)

func (*Marshaller) WriteNilSlice

func (inst *Marshaller) WriteNilSlice()

func (*Marshaller) WriteSliceLength

func (inst *Marshaller) WriteSliceLength(l int)

func (*Marshaller) WriteString

func (inst *Marshaller) WriteString(v string)

func (*Marshaller) WriteUInt

func (inst *Marshaller) WriteUInt(v uint)

func (*Marshaller) WriteUInt16

func (inst *Marshaller) WriteUInt16(v uint16)

func (*Marshaller) WriteUInt32

func (inst *Marshaller) WriteUInt32(v uint32)

func (*Marshaller) WriteUInt64

func (inst *Marshaller) WriteUInt64(v uint64)

func (*Marshaller) WriteUInt8

func (inst *Marshaller) WriteUInt8(v uint8)

func (*Marshaller) WriteUint

func (inst *Marshaller) WriteUint(v uint)

type Unmarshaller

type Unmarshaller struct {
	// contains filtered or unexported fields
}

func NewUnmarshaller

func NewUnmarshaller(r io.Reader, bin binary.ByteOrder, errHandler func(err error), allocateBuffer func(l uint32) []byte) *Unmarshaller

func (*Unmarshaller) ReadBool

func (inst *Unmarshaller) ReadBool() (v bool)

func (*Unmarshaller) ReadBytes

func (inst *Unmarshaller) ReadBytes() (v []byte)

func (*Unmarshaller) ReadComplex128

func (inst *Unmarshaller) ReadComplex128() (v complex128)

func (*Unmarshaller) ReadComplex64

func (inst *Unmarshaller) ReadComplex64() (v complex64)

func (*Unmarshaller) ReadFloat32

func (inst *Unmarshaller) ReadFloat32() (v float32)

func (*Unmarshaller) ReadFloat64

func (inst *Unmarshaller) ReadFloat64() (v float64)

func (*Unmarshaller) ReadInt

func (inst *Unmarshaller) ReadInt() (v int)

func (*Unmarshaller) ReadInt16

func (inst *Unmarshaller) ReadInt16() (v int16)

func (*Unmarshaller) ReadInt32

func (inst *Unmarshaller) ReadInt32() (v int32)

func (*Unmarshaller) ReadInt64

func (inst *Unmarshaller) ReadInt64() (v int64)

func (*Unmarshaller) ReadInt8

func (inst *Unmarshaller) ReadInt8() (v int8)

func (*Unmarshaller) ReadString

func (inst *Unmarshaller) ReadString() (v string)

func (*Unmarshaller) ReadUInt16

func (inst *Unmarshaller) ReadUInt16() (v uint16)

func (*Unmarshaller) ReadUInt32

func (inst *Unmarshaller) ReadUInt32() (v uint32)

func (*Unmarshaller) ReadUInt64

func (inst *Unmarshaller) ReadUInt64() (v uint64)

func (*Unmarshaller) ReadUInt8

func (inst *Unmarshaller) ReadUInt8() (v uint8)

func (*Unmarshaller) ReadUint

func (inst *Unmarshaller) ReadUint() (v uint)

func (*Unmarshaller) ReadUintptr

func (inst *Unmarshaller) ReadUintptr() (v uintptr)

Jump to

Keyboard shortcuts

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