Documentation
¶
Overview ¶
Package facet implements the Facet 0.1 system interface as an explicit Wago plugin. It exposes only imports that current Wago can implement exactly.
Index ¶
Constants ¶
View Source
const ( ErrOK int32 = 0 ErrPermission int32 = 1 ErrNoEntry int32 = 2 ErrIO int32 = 3 ErrBadHandle int32 = 4 ErrAgain int32 = 5 ErrNoMemory int32 = 6 ErrAccess int32 = 7 ErrBusy int32 = 8 ErrExists int32 = 9 ErrNotDirectory int32 = 10 ErrIsDirectory int32 = 11 ErrInvalid int32 = 12 ErrFileTooLarge int32 = 13 ErrNoSpace int32 = 14 ErrReadOnly int32 = 15 ErrPipe int32 = 16 ErrRange int32 = 17 ErrNotEmpty int32 = 18 ErrLoop int32 = 19 ErrNameTooLong int32 = 20 ErrNotSupported int32 = 21 ErrOverflow int32 = 22 ErrIllegalSequence int32 = 23 ErrFault int32 = 24 ErrType int32 = 25 ErrQuota int32 = 26 ErrCanceled int32 = 27 ErrAddressInUse int32 = 28 ErrAddressInvalid int32 = 29 ErrConnectionRefused int32 = 30 ErrConnectionReset int32 = 31 ErrNotConnected int32 = 32 ErrTimedOut int32 = 33 ErrHostUnreachable int32 = 34 ErrNetworkUnreachable int32 = 35 ErrProtocol int32 = 36 ErrCapability int32 = 37 ErrEnd int32 = 38 ErrOther int32 = 255 )
View Source
const ( RightRead uint64 = 1 << iota RightWrite RightSeek RightTell RightStat RightSetSize RightSync )
View Source
const ( RightPathOpen uint64 = 1 << (16 + iota) RightPathCreate RightPathRemove RightPathRename RightPathLink RightPathSymlink RightPathReadlink RightDirIterate )
View Source
const ( FileTypeUnknown int32 = iota FileTypeRegular FileTypeDirectory FileTypeSymlink FileTypeChar FileTypeBlock FileTypeSocket FileTypeFIFO )
View Source
const ( FDAppend uint32 = 1 << 0 FDNonblock uint32 = 1 << 1 )
View Source
const ( OpenCreate uint32 = 1 << iota OpenExclusive OpenTruncate OpenDirectory OpenNoFollow OpenAppend OpenNonblock )
View Source
const ( RemoveFile uint32 = 1 << iota RemoveDirectory )
View Source
const ( RenameReplace uint32 = 1 << iota RenameNoReplace RenameExchange )
View Source
const ( SeekSet int32 = iota SeekCur SeekEnd )
View Source
const ( StatHasATime uint32 = 1 << iota StatHasMTime StatHasCTime )
View Source
const ( AFUnspec int32 = iota AFInet4 AFInet6 )
View Source
const ( SockStream int32 = 1 SockDgram int32 = 2 )
View Source
const ( ProtoDefault int32 = iota ProtoTCP ProtoUDP )
View Source
const ( ShutRD int32 = 1 + iota ShutWR ShutRDWR )
View Source
const ( PollReadable uint32 = 1 << iota PollWritable PollHangup PollError PollTimer )
View Source
const ( PollSourceFD int32 = 1 + iota PollSourceTimer )
View Source
const ( EnvName int32 = iota EnvValue )
View Source
const ( ID = "github.com/jtenner/wago-facet" Module = "facet" Version = "0.1.0" )
View Source
const ( CapCore wago.Capability = "facet.core" CapArgumentsRead wago.Capability = "facet.arguments.read" CapEnvironmentRead wago.Capability = "facet.environment.read" CapClockRead wago.Capability = "facet.clock.read" CapRandomRead wago.Capability = "facet.random.read" CapProcessExit wago.Capability = "facet.process.exit" CapSchedulerYield wago.Capability = "facet.scheduler.yield" CapStdinRead wago.Capability = "facet.stdio.read" CapStdoutWrite wago.Capability = "facet.stdio.write" CapFDManage wago.Capability = "facet.fd.manage" CapFDRead wago.Capability = "facet.fd.read" CapFDWrite wago.Capability = "facet.fd.write" CapFilesystemRead wago.Capability = "facet.filesystem.read" CapFilesystemWrite wago.Capability = "facet.filesystem.write" CapFilesystemOpen wago.Capability = "facet.filesystem.open" CapNetwork wago.Capability = "facet.network" CapPoll wago.Capability = "facet.poll" )
View Source
const PathFollowSymlink uint32 = 1 << 0
View Source
const SockNonblock uint32 = 1 << 0
Variables ¶
This section is empty.
Functions ¶
func ConfigSchema ¶
func ConfigSchema() json.RawMessage
func Definition ¶
func Definition() wago.PluginDefinition
func MarshalConfig ¶
func MarshalConfig(cfg any) (json.RawMessage, error)
func Provider ¶
func Provider() wago.PluginProvider
Types ¶
type InstanceImports ¶
InstanceImports owns one low-level single-instance import map and every host resource that backs it. Close must be called when the guest instance is done. Provider remains the preferred integration because Wago drives its lifecycle.
func NewInstanceImports ¶
func NewInstanceImports(cfg Config) (*InstanceImports, error)
NewInstanceImports creates a closable low-level Facet import bundle. Callback-scoped indexed-memory and GC-array imports remain Provider-only.
func (*InstanceImports) Close ¶
func (i *InstanceImports) Close() error
Close releases all descriptors and other host resources owned by this bundle.
Source Files
¶
- bindings.go
- config.go
- constants.go
- core.go
- dns.go
- errno.go
- facet.go
- filesystem.go
- guest_alloc_readlink_validate.go
- guest_alloc_text.go
- guest_datagram_linux.go
- guest_fd_io.go
- guest_fd_positional.go
- guest_fd_vectored.go
- guest_links_linux.go
- guest_paths_linux.go
- guest_random.go
- guest_storage.go
- guest_storage_bindings.go
- guest_text.go
- guest_text_decode.go
- import_signature_validate.go
- instance_imports.go
- limits.go
- network_linux.go
- path_errno_linux.go
- poll_linux.go
- preopen_linux.go
- state.go
- text.go
Click to show internal directories.
Click to hide internal directories.