Documentation ¶
Overview ¶
Package goes, combined with a compatibly configured Linux kernel, provides a monolithic embedded system.
Index ¶
- Constants
- func Replace(s, name string) string
- func Usage(v Usager) string
- type Blocker
- type Function
- type Goes
- func (g *Goes) Apropos() lang.Alt
- func (g *Goes) Builtins() map[string]func(...string) error
- func (g *Goes) Complete(args ...string) (completions []string)
- func (g *Goes) Fork(args ...string) *exec.Cmd
- func (g *Goes) Goes(parent *Goes)
- func (g *Goes) Help(args ...string) string
- func (g *Goes) Main(args ...string) error
- func (g *Goes) MakeListFunc(pipeline []piperun) (func(stdin io.Reader, stdout io.Writer, stderr io.Writer) error, error)
- func (g *Goes) MakePipefun(pipeline []func(io.Reader, io.Writer, io.Writer, bool, bool) error, ...) (func(io.Reader, io.Writer, io.Writer) error, error)
- func (g *Goes) Man() lang.Alt
- func (g *Goes) Names() []string
- func (g *Goes) Path() []string
- func (g *Goes) ProcessCommand(cl shellutils.Cmdline, closers *[]io.Closer) (...)
- func (g *Goes) ProcessList(ls shellutils.List) (*shellutils.List, *shellutils.Word, ...)
- func (g *Goes) ProcessPipeline(ls shellutils.List) (*shellutils.List, *shellutils.Word, ...)
- func (g *Goes) String() string
- func (g *Goes) Usage() string
- type Usager
Constants ¶
View Source
const ( VerboseQuiet = iota VerboseVerify VerboseDebug )
View Source
const Version = "v1.4.0"
Version format :: v<MAJOR>.<MINOR>.<PATCH>[-rc<CANDIDATE>]
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Goes ¶
type Goes struct { // These uppercased fields may/should be assigned at instantiation NAME, USAGE string APROPOS, MAN lang.Alt ByName map[string]cmd.Cmd Catline func(string) (string, error) Status error Verbosity int EnvMap map[string]string FunctionMap map[string]Function // contains filtered or unexported fields }
func (*Goes) Fork ¶
Fork returns an exec.Cmd ready to Run or Output this program with the given args.
func (*Goes) Main ¶
Run a command in the current context.
If len(args) == 1 and args[0] doesn't match a mapped command, this will run the "cli".
If the args has "-help", or "--help", this runs ByName("help").Main(args...) to print text.
Similarly for "-apropos", "-complete", "-man", and "-usage".
If the command is a daemon, this fork exec's itself twice to disassociate the daemon from the tty and initiating process.
func (*Goes) MakeListFunc ¶
func (*Goes) MakePipefun ¶
func (*Goes) ProcessCommand ¶
func (*Goes) ProcessList ¶
func (g *Goes) ProcessList(ls shellutils.List) (*shellutils.List, *shellutils.Word, func(stdin io.Reader, stdout io.Writer, stderr io.Writer) error, error)
func (*Goes) ProcessPipeline ¶
func (g *Goes) ProcessPipeline(ls shellutils.List) (*shellutils.List, *shellutils.Word, func(io.Reader, io.Writer, io.Writer) error, error)
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
cli/internal/liner
Package liner is a wrapper to Peter Harris' <pharris@opentext.com> "Go line editor" <github.com:peterh/liner>.
|
Package liner is a wrapper to Peter Harris' <pharris@opentext.com> "Go line editor" <github.com:peterh/liner>. |
cli/internal/notliner
Package notliner provides an alternative command.Prompter for shell scripts and tty's unsupported by liner.
|
Package notliner provides an alternative command.Prompter for shell scripts and tty's unsupported by liner. |
dhcpcd
Package dhcpcd is a simple dhcp client
|
Package dhcpcd is a simple dhcp client |
gpio
Package gpio provides cli command to query/configure GPIO pins.
|
Package gpio provides cli command to query/configure GPIO pins. |
i2c
Package i2c provides cli command to access i2c devices.
|
Package i2c provides cli command to access i2c devices. |
i2cd
Package ucd9090 provides access to the UCD9090 Power Sequencer/Monitor chip
|
Package ucd9090 provides access to the UCD9090 Power Sequencer/Monitor chip |
install
Package install provides the named command that installs this executable to /usr/bin/NAME; creates /etc/init.d/NAME and /etc/default/goes; then a bunch of other stuff.
|
Package install provides the named command that installs this executable to /usr/bin/NAME; creates /etc/init.d/NAME and /etc/default/goes; then a bunch of other stuff. |
ip/internal/group
Cache parse of /etc/iproute2/group
|
Cache parse of /etc/iproute2/group |
ip/route/show
ip route show (default) | flush | get | save | restore
|
ip route show (default) | flush | get | save | restore |
ipmigod
Package ipmigod provides an IPMI protocol daemon.
|
Package ipmigod provides an IPMI protocol daemon. |
ipmigod/internal
Package contains IPMI 2.0 spec protocol definitions Package contains IPMI 2.0 spec implementation Package contains IPMI 2.0 spec protocol definitions Package contains IPMI 2.0 spec protocol definitions Package contains IPMI 2.0 spec protocol definitions Package contains IPMI 2.0 spec protocol definitions Package contains IPMI 2.0 spec protocol definitions Package contains IPMI 2.0 spec protocol definitions Package contains IPMI 2.0 spec protocol definitions Package contains IPMI 2.0 spec implementation Package contains IPMI 2.0 spec protocol definitions
|
Package contains IPMI 2.0 spec protocol definitions Package contains IPMI 2.0 spec implementation Package contains IPMI 2.0 spec protocol definitions Package contains IPMI 2.0 spec protocol definitions Package contains IPMI 2.0 spec protocol definitions Package contains IPMI 2.0 spec protocol definitions Package contains IPMI 2.0 spec protocol definitions Package contains IPMI 2.0 spec protocol definitions Package contains IPMI 2.0 spec protocol definitions Package contains IPMI 2.0 spec implementation Package contains IPMI 2.0 spec protocol definitions |
platina/mk1/bmc/ledgpiod
Package ucd9090 provides access to the UCD9090 Power Sequencer/Monitor chip Package ucd9090 provides access to the UCD9090 Power Sequencer/Monitor chip
|
Package ucd9090 provides access to the UCD9090 Power Sequencer/Monitor chip Package ucd9090 provides access to the UCD9090 Power Sequencer/Monitor chip |
platina/mk1/bmc/ucd9090d
Package ucd9090d provides access to the UCD9090 Power Sequencer/Monitor chip Package ucd9090d provides access to the UCD9090 Power Sequencer/Monitor chip
|
Package ucd9090d provides access to the UCD9090 Power Sequencer/Monitor chip Package ucd9090d provides access to the UCD9090 Power Sequencer/Monitor chip |
platina/mk1/bmc/upgrade
Package ucd9090 provides access to the UCD9090 Power Sequencer/Monitor chip
|
Package ucd9090 provides access to the UCD9090 Power Sequencer/Monitor chip |
platina/mk1/toggle
Package ucd9090 provides access to the UCD9090 Power Sequencer/Monitor chip
|
Package ucd9090 provides access to the UCD9090 Power Sequencer/Monitor chip |
platina/mk2/lc1/bmc/ledgpiod
Package ucd9090 provides access to the UCD9090 Power Sequencer/Monitor chip Package ucd9090 provides access to the UCD9090 Power Sequencer/Monitor chip
|
Package ucd9090 provides access to the UCD9090 Power Sequencer/Monitor chip Package ucd9090 provides access to the UCD9090 Power Sequencer/Monitor chip |
platina/mk2/lc1/bmc/ucd9090d
Package ucd9090d provides access to the UCD9090 Power Sequencer/Monitor chip Package ucd9090d provides access to the UCD9090 Power Sequencer/Monitor chip
|
Package ucd9090d provides access to the UCD9090 Power Sequencer/Monitor chip Package ucd9090d provides access to the UCD9090 Power Sequencer/Monitor chip |
platina/mk2/lc1/bmc/upgrade
Package ucd9090 provides access to the UCD9090 Power Sequencer/Monitor chip
|
Package ucd9090 provides access to the UCD9090 Power Sequencer/Monitor chip |
platina/mk2/mc1/bmc/ledgpiod
Package ucd9090 provides access to the UCD9090 Power Sequencer/Monitor chip Package ucd9090 provides access to the UCD9090 Power Sequencer/Monitor chip
|
Package ucd9090 provides access to the UCD9090 Power Sequencer/Monitor chip Package ucd9090 provides access to the UCD9090 Power Sequencer/Monitor chip |
platina/mk2/mc1/bmc/ucd9090d
Package ucd9090d provides access to the UCD9090 Power Sequencer/Monitor chip Package ucd9090d provides access to the UCD9090 Power Sequencer/Monitor chip
|
Package ucd9090d provides access to the UCD9090 Power Sequencer/Monitor chip Package ucd9090d provides access to the UCD9090 Power Sequencer/Monitor chip |
platina/mk2/mc1/bmc/upgrade
Package ucd9090 provides access to the UCD9090 Power Sequencer/Monitor chip
|
Package ucd9090 provides access to the UCD9090 Power Sequencer/Monitor chip |
platina/mk2/toggle
Package ucd9090 provides access to the UCD9090 Power Sequencer/Monitor chip
|
Package ucd9090 provides access to the UCD9090 Power Sequencer/Monitor chip |
redisd
Package redisd provides a redis server daemon that is started by /sbin/init or /usr/sbin/goesd *before* all other daemons.
|
Package redisd provides a redis server daemon that is started by /sbin/init or /usr/sbin/goesd *before* all other daemons. |
reload
Package reload provides the named command that sends SIGHUP to all of the daemons associated with this executable.
|
Package reload provides the named command that sends SIGHUP to all of the daemons associated with this executable. |
start
Package start provides the named command that runs a redis server followed by all of the configured daemons.
|
Package start provides the named command that runs a redis server followed by all of the configured daemons. |
stop
Package stop provides the named command that kills all of the daemons associated with this executable.
|
Package stop provides the named command that kills all of the daemons associated with this executable. |
telnetd
This telnet daemon is only run from an embedded machine's /init, not /usr/bin/goes start
|
This telnet daemon is only run from an embedded machine's /init, not /usr/bin/goes start |
test/sleeper
Package sleeper provides a test ticker daemon.
|
Package sleeper provides a test ticker daemon. |
uninstall
Package uninstall provides the named command that stops and removes /usr/bin/goes and it's associated files.
|
Package uninstall provides the named command that stops and removes /usr/bin/goes and it's associated files. |
uptimed
Package uptimed publishes the system uptime every 60 seconds to the local redis server.
|
Package uptimed publishes the system uptime every 60 seconds to the local redis server. |
watchdog
Watchdog is only run by an embedded machine's /init, not by /usr/bin/goes start
|
Watchdog is only run by an embedded machine's /init, not by /usr/bin/goes start |
internal
|
|
assert
Package assert provides various assertions.
|
Package assert provides various assertions. |
cmdline
Package cmdline maps /proc/cmdline
|
Package cmdline maps /proc/cmdline |
fields
Slice a string into args while combining single, double, or backslash escaped spaced arguments, e.g.: echo hello\ beautiful\ world echo "hello 'beautiful world'" echo 'hello \"beautiful world\"'
|
Slice a string into args while combining single, double, or backslash escaped spaced arguments, e.g.: echo hello\ beautiful\ world echo "hello 'beautiful world'" echo 'hello \"beautiful world\"' |
fit
Package fit parses Flattened Image Tree image tree blob files.
|
Package fit parses Flattened Image Tree image tree blob files. |
flags
Package flags parses boolean options from command arguments.
|
Package flags parses boolean options from command arguments. |
group
Package group provides an /etc/group parser.
|
Package group provides an /etc/group parser. |
kill
Package kill provides a method to signal process groups.
|
Package kill provides a method to signal process groups. |
nocomment
Package nocomment strips a string trailing '#' prefaced comments along with its leading whitespace.
|
Package nocomment strips a string trailing '#' prefaced comments along with its leading whitespace. |
pizza
Slice args at boundary.
|
Slice args at boundary. |
prog
Package prog provides methods that return the current program base and full name along with it's minimal PATH.
|
Package prog provides methods that return the current program base and full name along with it's minimal PATH. |
url
Package url returns reader/writers for a given url.
|
Package url returns reader/writers for a given url. |
Package lang provides text in alternative languages.
|
Package lang provides text in alternative languages. |
Click to show internal directories.
Click to hide internal directories.