Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ slink(1M) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

strcf(4)

slink(1M)                                                         slink(1M)

NAME
     slink - STREAMS linker

SYNOPSIS
     slink [-v] [-p] [-u] [-f] [-c file] [func [arg1 arg2 ...]]

DESCRIPTION
     slink is a STREAMS configuration utility which is used to link
     together the various STREAMS modules and drivers required for STREAMS
     TCP/IP. Input to slink is in the form of a script specifying the
     STREAMS operations to be performed. Input is normally taken from the
     file /etc/strcf.

OPTIONS
     -c file
          Use file instead of /etc/strcf.

     -v   Verbose mode (each operation is logged to stderr).

     -p   Don't use persistent links (i.e., slink will remain in the back-
          ground).

     -f   Don't use persistent links and don't fork (i.e., slink will
          remain in foreground).

     -u   Unlink persistent links (i.e., shut down network).

     The configuration file contains a list of functions, each of which is
     composed of a list of commands. Each command is a call to one of the
     functions defined in the configuration file or to one of a set of
     built-in functions. Among the built-in functions are the basic STREAMS
     operations open, link, and push, along with several TCP/IP-specific
     functions.

     slink processing consists of parsing the input file, then calling the
     user-defined function boot, which is normally used to set up the stan-
     dard configuration at boot time. If a function is specified on the
     slink command line, that function will be called instead of boot.

     By default, slink establishes streams with persistent links (IPLINK)
     and exits following the execution of the specified function. If the -p
     flag is specified, slink establishes streams with regular links
     (ILINK) and remains idle in the background, holding open whatever
     file descriptors have been opened by the configuration commands. If
     the -f flag is specified, slink establishes streams with regular links
     (ILINK) and remains in the foreground, holding open whatever file
     descriptors have been opened by the configuration commands.








Page 1                       Reliant UNIX 5.44                Printed 11/98

slink(1M)                                                         slink(1M)

     A function definition has the following form:

          function-name {
               command1
               command2
               ...
          }

     The syntax for commands is:

          function arg1 arg2 arg3 ...

     or

          var = function arg1 arg2 arg3 ...

     The placement of newlines is important: a newline must follow the left
     and right braces and every command. Extra newlines are allowed, i.e.
     where one newline is required, more than one may be used. A backslash
     (\) followed immediately by a newline is considered equivalent to a
     space, i.e. may be used to continue a command on a new line. The use
     of other white space characters (spaces and tabs) is at the discretion
     of the user, except that there must be white space separating the
     function name and the arguments of a command.

     Comments are delimited by # and newline, and are considered equivalent
     to a newline.

     Function and variable names may be any string of characters taken from
     A-Z, a-z, 0-9, and _, except that the first character cannot be a
     digit. Function names and variable names occupy separate name spaces.
     All functions are global and may be forward referenced. All variables
     are local to the functions in which they occur.

     Variables are defined when they appear to the left of an equals (=) on
     a command line; for example,

          tcp = open /dev/tcp

     The variable acquires the value returned by the command. In the above
     example, the value of the variable tcp will be the file descriptor
     returned by the open call.

     Arguments to a command may be either variables, parameters, or
     strings.

     A variable that appears as an argument must have been assigned a value
     on a previous command line in that function.






Page 2                       Reliant UNIX 5.44                Printed 11/98

slink(1M)                                                         slink(1M)

     Parameters take the form of a dollar sign ($) followed by one or two
     decimal digits, and are replaced with the corresponding argument from
     the function call. If a given parameter was not specified in the func-
     tion call, an error results (e.g. if a command references $3 and only
     two arguments were passed to the function, an execution error will
     occur).

     Strings are sequences of characters optionally enclosed in double
     quotes ("). Quotes may be used to prevent a string from being inter-
     preted as a variable name or a parameter, and to allow the inclusion
     of spaces, tabs, and the special characters {, }, =, and #. The
     backslash (\) may also be used to quote the characters {, }, =, #, ",
     and \ individually.

     The following built-in functions are provided by slink:

     open path             Open the device specified by pathname path.
                           Returns a file descriptor referencing the open
                           stream.

     link fd1 fd2          Link the stream referenced by fd2 beneath the
                           stream referenced by fd1. Returns the link iden-
                           tifier associated with the link. Unless the -f
                           or -p flag is specified on the command line, the
                           streams will be linked with persistent links.
                           Note: fd2 cannot be used after this operation.

     push fd module        Push the module module onto the stream refer-
                           enced by fd.

     sifname fd link name  Send a SIOCSIFNAME (set interface name) ioctl
                           down the stream referenced by fd for the link
                           associated with link identifier link specifying
                           the name name.

     unitsel fd unit       Send a IFUNITSEL (unit select) ioctl down the
                           stream referenced by fd specifying unit unit.

     dlattach fd unit      Send a DLATTACHREQ message down the stream
                           referenced by fd specifying unit unit.














Page 3                       Reliant UNIX 5.44                Printed 11/98

slink(1M)                                                         slink(1M)

     initqp path qname lowat hiwat ...
                           Send an INITQPARMS (initialize queue parameters)
                           ioctl to the driver corresponding to pathname
                           path. qname specifies the queue for which the
                           low and high water marks will be set, and must
                           be one of:

                           hd      stream head

                           rq      read queue

                           wq      write queue

                           muxrq   multiplexor read queue

                           muxwq   multiplexor write queue

                           lowat and hiwat specify the new low and high
                           water marks for the queue. Both lowat and hiwat
                           must be present. To change only one of these
                           parameters, the other may be replaced with a
                           dash (-). Up to five qname lowat hiwat triplets
                           may be present.

     strcat str1 str2      Concatenate strings str1 and str2 and return the
                           resulting string.

     return val            Set the return value for the current function to
                           val.

                           Note: executing a return command does not ter-
                           minate execution of the current function.

FILES
     /etc/strcf

SEE ALSO
     strcf(4).
















Page 4                       Reliant UNIX 5.44                Printed 11/98

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026