...

Package dlopen

import "github.com/coreos/go-systemd/v22/internal/dlopen"
Overview
Index

Overview ▾

Package dlopen provides some convenience functions to dlopen a library and get its symbols.

Variables

var ErrSoNotFound = errors.New("unable to open a handle to the library")

type LibHandle

LibHandle represents an open handle to a library (.so)

type LibHandle struct {
    Handle  unsafe.Pointer
    Libname string
}

func GetHandle

func GetHandle(libs []string) (*LibHandle, error)

GetHandle tries to get a handle to a library (.so), attempting to access it by the names specified in libs and returning the first that is successfully opened. Callers are responsible for closing the handler. If no library can be successfully opened, an error is returned.

func (*LibHandle) Close

func (l *LibHandle) Close() error

Close closes a LibHandle.

func (*LibHandle) GetSymbolPointer

func (l *LibHandle) GetSymbolPointer(symbol string) (unsafe.Pointer, error)

GetSymbolPointer takes a symbol name and returns a pointer to the symbol.