Documentation
¶
Index ¶
- type Ouroboros
- func (o *Ouroboros) AddNewProgram(progName string, mainCTemplate string) error
- func (o *Ouroboros) AddProgram(prog config.Program) error
- func (o *Ouroboros) CleanBuildArtifacts() error
- func (o *Ouroboros) Config() *config.OuroborosConfig
- func (o *Ouroboros) CreateProgramFromTemplate(progName string, tmpl string) error
- func (o *Ouroboros) EnsureGlobalDirectory() error
- func (o *Ouroboros) EnsureProgramDirectory(progName string) error
- func (o *Ouroboros) EnsureTargetDirectory() error
- func (o *Ouroboros) GetBpfBaseDir() string
- func (o *Ouroboros) GetCompileArgs() []string
- func (o *Ouroboros) GetMainProgram() *config.Program
- func (o *Ouroboros) GetMapOptions() ebpf.MapOptions
- func (o *Ouroboros) GetNextProgramID() int
- func (o *Ouroboros) GetOuroborosGlobalDir() (string, error)
- func (o *Ouroboros) GetProgram(name string) *config.Program
- func (o *Ouroboros) GetProgramByID(id int) *config.Program
- func (o *Ouroboros) GetProgramLLPath(progName string) string
- func (o *Ouroboros) GetProgramMainFile(progName string) string
- func (o *Ouroboros) GetProgramMap() string
- func (o *Ouroboros) GetProgramObjectPath(progName string) string
- func (o *Ouroboros) GetProgramPath(progName string) string
- func (o *Ouroboros) GetProjectRoot() (string, error)
- func (o *Ouroboros) GetSrcDir() (string, error)
- func (o *Ouroboros) GetTargetDir() (string, error)
- func (o *Ouroboros) ListPrograms() []config.Program
- func (o *Ouroboros) ReloadConfig() error
- func (o *Ouroboros) RemoveProgram(name string) error
- func (o *Ouroboros) SDK() *sdk.Ouroboros
- func (o *Ouroboros) SaveConfig() error
- func (o *Ouroboros) SetCompileArgs(args []string)
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 ¶
InitializeProject creates a new Ouroboros project structure
func InitializeProjectWithMap ¶
InitializeProjectWithMap creates a new Ouroboros project structure with custom program map name
func NewFromPath ¶ added in v0.1.4
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 ¶
AddNewProgram is a high-level operation that adds a program with all necessary setup
func (*Ouroboros) AddProgram ¶
AddProgram adds a new program to the configuration
func (*Ouroboros) CleanBuildArtifacts ¶
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 ¶
CreateProgramFromTemplate creates a new program directory and main.c from template
func (*Ouroboros) EnsureGlobalDirectory ¶
EnsureGlobalDirectory creates the global ouroboros directory if it doesn't exist
func (*Ouroboros) EnsureProgramDirectory ¶
EnsureProgramDirectory creates a program's source directory if it doesn't exist
func (*Ouroboros) EnsureTargetDirectory ¶
EnsureTargetDirectory creates the target directory if it doesn't exist
func (*Ouroboros) GetBpfBaseDir ¶
GetBpfBaseDir returns the BPF filesystem base directory
func (*Ouroboros) GetCompileArgs ¶
GetCompileArgs returns the compile arguments from configuration
func (*Ouroboros) GetMainProgram ¶
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 ¶
GetNextProgramID returns the next available program ID
func (*Ouroboros) GetOuroborosGlobalDir ¶
GetOuroborosGlobalDir returns the absolute path to the _ouroboros directory
func (*Ouroboros) GetProgram ¶
GetProgram finds a program by name
func (*Ouroboros) GetProgramByID ¶
GetProgramByID finds a program by ID
func (*Ouroboros) GetProgramLLPath ¶
GetProgramLLPath returns the path to a program's LLVM IR file
func (*Ouroboros) GetProgramMainFile ¶
GetProgramMainFile returns the path to a program's main.c file
func (*Ouroboros) GetProgramMap ¶
GetProgramMap returns the configured program map name
func (*Ouroboros) GetProgramObjectPath ¶
GetProgramObjectPath returns the path to a compiled program object file
func (*Ouroboros) GetProgramPath ¶
GetProgramPath returns the filesystem path for a program's source directory
func (*Ouroboros) GetProjectRoot ¶
GetProjectRoot returns the project root directory (where ouroboros.json is located)
func (*Ouroboros) GetTargetDir ¶
GetTargetDir returns the absolute path to the target directory
func (*Ouroboros) ListPrograms ¶
ListPrograms returns all programs in the configuration
func (*Ouroboros) ReloadConfig ¶
ReloadConfig reloads the configuration from disk
func (*Ouroboros) RemoveProgram ¶
RemoveProgram removes a program from the configuration
func (*Ouroboros) SaveConfig ¶
SaveConfig writes the current configuration to disk
func (*Ouroboros) SetCompileArgs ¶
SetCompileArgs sets the compile arguments