core

package
v0.1.5 Latest Latest
Warning

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

Go to latest
Published: Nov 28, 2025 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Ouroboros

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

Ouroboros is a wrapper around the public SDK for internal use. This allows internal code to continue using the same API while the SDK remains available for external users.

func InitializeProject

func InitializeProject(mainProgName string) (*Ouroboros, error)

InitializeProject creates a new Ouroboros project structure

func InitializeProjectWithMap

func InitializeProjectWithMap(mainProgName, programMapName string) (*Ouroboros, error)

InitializeProjectWithMap creates a new Ouroboros project structure with custom program map name

func New

func New() (*Ouroboros, error)

New creates a new Ouroboros instance by loading the configuration

func NewFromPath added in v0.1.4

func NewFromPath(path string) (*Ouroboros, error)

NewFromPath creates a new Ouroboros instance from a specific config path

func NewWithConfig

func NewWithConfig(cfg *config.OuroborosConfig) *Ouroboros

NewWithConfig creates a new Ouroboros instance with the provided configuration

func (*Ouroboros) AddNewProgram

func (o *Ouroboros) AddNewProgram(progName string, mainCTemplate string) error

AddNewProgram is a high-level operation that adds a program with all necessary setup

func (*Ouroboros) AddProgram

func (o *Ouroboros) AddProgram(prog config.Program) error

AddProgram adds a new program to the configuration

func (*Ouroboros) CleanBuildArtifacts

func (o *Ouroboros) CleanBuildArtifacts() error

CleanBuildArtifacts removes all build artifacts

func (*Ouroboros) Config

func (o *Ouroboros) Config() *config.OuroborosConfig

Config returns the current configuration in internal format

func (*Ouroboros) CreateProgramFromTemplate

func (o *Ouroboros) CreateProgramFromTemplate(progName string, tmpl string) error

CreateProgramFromTemplate creates a new program directory and main.c from template

func (*Ouroboros) EnsureGlobalDirectory

func (o *Ouroboros) EnsureGlobalDirectory() error

EnsureGlobalDirectory creates the global ouroboros directory if it doesn't exist

func (*Ouroboros) EnsureProgramDirectory

func (o *Ouroboros) EnsureProgramDirectory(progName string) error

EnsureProgramDirectory creates a program's source directory if it doesn't exist

func (*Ouroboros) EnsureTargetDirectory

func (o *Ouroboros) EnsureTargetDirectory() error

EnsureTargetDirectory creates the target directory if it doesn't exist

func (*Ouroboros) GetBpfBaseDir

func (o *Ouroboros) GetBpfBaseDir() string

GetBpfBaseDir returns the BPF filesystem base directory

func (*Ouroboros) GetCompileArgs

func (o *Ouroboros) GetCompileArgs() []string

GetCompileArgs returns the compile arguments from configuration

func (*Ouroboros) GetMainProgram

func (o *Ouroboros) GetMainProgram() *config.Program

GetMainProgram returns the main program

func (*Ouroboros) GetMapOptions

func (o *Ouroboros) GetMapOptions() ebpf.MapOptions

GetMapOptions returns eBPF map options with pin path

func (*Ouroboros) GetNextProgramID

func (o *Ouroboros) GetNextProgramID() int

GetNextProgramID returns the next available program ID

func (*Ouroboros) GetOuroborosGlobalDir

func (o *Ouroboros) GetOuroborosGlobalDir() (string, error)

GetOuroborosGlobalDir returns the absolute path to the _ouroboros directory

func (*Ouroboros) GetProgram

func (o *Ouroboros) GetProgram(name string) *config.Program

GetProgram finds a program by name

func (*Ouroboros) GetProgramByID

func (o *Ouroboros) GetProgramByID(id int) *config.Program

GetProgramByID finds a program by ID

func (*Ouroboros) GetProgramLLPath

func (o *Ouroboros) GetProgramLLPath(progName string) string

GetProgramLLPath returns the path to a program's LLVM IR file

func (*Ouroboros) GetProgramMainFile

func (o *Ouroboros) GetProgramMainFile(progName string) string

GetProgramMainFile returns the path to a program's main.c file

func (*Ouroboros) GetProgramMap

func (o *Ouroboros) GetProgramMap() string

GetProgramMap returns the configured program map name

func (*Ouroboros) GetProgramObjectPath

func (o *Ouroboros) GetProgramObjectPath(progName string) string

GetProgramObjectPath returns the path to a compiled program object file

func (*Ouroboros) GetProgramPath

func (o *Ouroboros) GetProgramPath(progName string) string

GetProgramPath returns the filesystem path for a program's source directory

func (*Ouroboros) GetProjectRoot

func (o *Ouroboros) GetProjectRoot() (string, error)

GetProjectRoot returns the project root directory (where ouroboros.json is located)

func (*Ouroboros) GetSrcDir

func (o *Ouroboros) GetSrcDir() (string, error)

GetSrcDir returns the absolute path to the src directory

func (*Ouroboros) GetTargetDir

func (o *Ouroboros) GetTargetDir() (string, error)

GetTargetDir returns the absolute path to the target directory

func (*Ouroboros) ListPrograms

func (o *Ouroboros) ListPrograms() []config.Program

ListPrograms returns all programs in the configuration

func (*Ouroboros) ReloadConfig

func (o *Ouroboros) ReloadConfig() error

ReloadConfig reloads the configuration from disk

func (*Ouroboros) RemoveProgram

func (o *Ouroboros) RemoveProgram(name string) error

RemoveProgram removes a program from the configuration

func (*Ouroboros) SDK

func (o *Ouroboros) SDK() *sdk.Ouroboros

SDK returns the underlying SDK instance for direct access

func (*Ouroboros) SaveConfig

func (o *Ouroboros) SaveConfig() error

SaveConfig writes the current configuration to disk

func (*Ouroboros) SetCompileArgs

func (o *Ouroboros) SetCompileArgs(args []string)

SetCompileArgs sets the compile arguments

Jump to

Keyboard shortcuts

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