Skip to end of metadata
Go to start of metadata

Contents

Introduction

The rudial (and friends) tools provide access to RUSS services via the command line/shell.

The dial call is central to RUSS. It is what connects a client to a server, after which, one or more I/O streams between them are set up for inter-process communication. Three I/O streams are standard and  connected to stdin, stdout, and stderr.

rudial takes an operation value such as execute, list, help and a service path which is a /-separated list of names specifying the service to use and how to get to it. The operation tells the service what to do: execute the service, list subservices, return help information for the service(s). rudial also takes an optional set of key=value attribute settings and an argument list. All items are passed as strings. The exit value of the service is returned by rudial.

Some convenience programs are provided to shorten the invocation: ruexecrulsruhelp.

Usage

RUDIAL(1)                                                    RUDIAL(1)
NAME
       rudial,  ruexec, ruhelp, ruls - Client-side tools for accessing
       russ servers

SYNOPSIS
       rudial [<option>] <op> <spath> [<arg> ...]
       ruexec [<option>] <spath> [<arg> ...]
       ruhelp [<option>] <spath> [<arg> ...]
       ruls [<option>] <spath> [<arg> ...]

DESCRIPTION
       These client-side tools are used to dial (connect  to)  a  russ
       serivce. When connected to a russ service, file descriptors are
       returned, corresponding to stdin, stdout, stderr  of  the  ser‐
       vice, and can be used as usual. (Note that the file descriptors
       returned depends on the service.)

       The standard exit code mechanism functions  as  usual  and,  in
       most cases, is returned by the service. Common exit codes are 0
       for success, 1 for error. When there is a problem with the dial
       step, and exit code of 126 or 127 may be returned.

       Options:
       -a|--attr <name=value>
              Pass a "name=value" string to the service.

       -b <bufsize>
              Set the buffer size for reading and writing operations.

       -t|--timeout <seconds>
              Allow  given  amount of time to dial before aborting and
              returning an error exit code.

       rudial is the generic form and takes a russ operation (<op>):
       execute
              Execute the service <spath>  on  behalf  of  the  client
              user.

       help   Return  help  for  the server or service associated with
              the <spath>.

       list   Return a list of services at the <spath>.

       The service path <spath> identifies a service as found  in  the
       service hierarchy of a russ server.

   Helper Programs
       To  reduce  verbosity  of the rudial call, some helper programs
       are provided.  All but ruls are direct replacements.

       ruexec is equivalent to "rudial execute".

       ruhelp is equivalent to "rudial help".

       ruls is equivalent to "rudial list" except when the <spath>  is
       a  local filesystem object (e.g., directory). In such a case, a
       modified directory listing is output. This is helpful when nav‐
       igating the filesystem and russ services.

SEE ALSO
       russ(7)

AUTHOR
       Written by John Marshall.

REPORTING BUGS
       Report bugs to: <...>.

COPYRIGHT
       Copyright © 2014 John Marshall.
       Unless  otherwise  indicated,  this software is available under
       the terms of the ls Apache License version 2.
russ 5.x                                                     RUDIAL(1)

Examples

To list the system services:

ruls +

Note:

  • + is shorthand for the RUSS_SERVICES_DIR

To list services of a server (e.g., the debug server):

ruls +/debug

To get help from the debug server:

ruhelp +/debug

To execute the daytime debug service:

ruexec +/debug/daytime

To pass input over stdin:

echo hello | ruexec +/debug/echo

To pass file input over stdin:

cat /etc/hostname | ruexec +/debug/echo

or by using the -i option:

ruexec -i /etc/hostname +/debug/echo