| // Package core provides modules.Shell instances with commands preinstalled for |
| // common core services such as naming, security etc. |
| // |
| // The available commands are: |
| // |
| // root |
| // runs a root mount table as a subprocess |
| // prints the PID=<pid> variable to stdout followed by |
| // an arbitrary number of MT_NAME variables. |
| // waits for stdin to be closed before it exits |
| // prints "done" to stdout when stdin is closed. |
| // mt <mp> |
| // runs a mount table as a subprocess mounted on <mp> |
| // NAMESPACE_ROOT should be set to the name of another mount table |
| // (e.g. the value of MT_NAME from a root) in the shell's environment. |
| // mt similarly prints MT_NAME, PID and waits for stdout as per the root |
| // command |
| // |
| // ls <glob>... |
| // ls issues one or more globs using the local in-process namespace. It |
| // writes: RN=<number of items> and then R0=<name> to R(N-1)=<name> |
| // lines of output. If -l is specified, then each line includes a trailing |
| // set of detailed information, enclosed in []. |
| // |
| // lse <glob>... |
| // lse issues one or more globs from a subprocess and hence the |
| // subprocesses namespace. NAMESPACE_ROOT can be set in the shell's |
| // environment prior to calling lse to have the subprocesses namespace |
| // be relative to it. The output format is the same ls. |
| // |
| // resolve <name>... |
| // resolves name using the in-process namespace, the results are written |
| // to stdout as variables R<n>=<addr> |
| // resolveMT <name>... |
| // resolves name to obtain the mount table hosting it using |
| // the in-process namespace. The results are written as R<n>=<addr> |
| // as per resolve. |
| // |
| // setRoots <name>... |
| // sets the local namespace's roots to the supplied names. |
| // |
| // echoServer <message> <name> |
| // runs on echoServer at <name>, it will echo back <message>: <text> |
| // where <text> is supplied by the client. It prints the PID=<pid> |
| // variable to stdout followd by an arbitrary number of NAME |
| // variables. |
| // echoClient <name> <text> |
| // invoke <name>.Echo(<text>) |
| // |
| // proxyd <names>... |
| // runs a proxy server |
| package core |
| |
| const ( |
| // Functions |
| SleepCommand = "sleep" |
| TimeCommand = "time" |
| // Subprocesses |
| EchoServerCommand = "echoServer" |
| EchoClientCommand = "echoClient" |
| RootMTCommand = "root" |
| MTCommand = "mt" |
| LSCommand = "ls" |
| ProxyServerCommand = "proxyd" |
| WSPRCommand = "wsprd" |
| TestIdentitydCommand = "test_identityd" |
| ) |