package                    AFS Commands                 package


NAME

   package -- configure local disk.


   package [-config <base name of configuration file>]
   [-fullconfig <full name of config file> OR stdin for
   standard input]
   [-overwrite]  [-noaction]  [-silent]  [-verbose]
   [-rebootfiles]
   [-debug] [-help]

ACCEPTABLE ABBREVIATIONS/ALIASES

   package [-c <base name of configuration file>]
   [-f <full name of config file> OR stdin for standard input]
          [-o]  [-n]  [-s]  [-v]  [-r]  [-d] [-h]

DESCRIPTION

   Configures  the  machine's  local  disk  to  comply with the
   indicated configuration file.    By  default,  package  does
   nothing  to elements on disk that have no counterpart in the
   configuration file, but the issuer can have  package  remove
   any  element  found  in a directory on disk that is not also
   found in that directory in the configuration file.  See  the
   "R" update code in the definition of the "D" line.

   If an element named in the configuration file already exists
   on disk but is  not  identical  to  the  configuration  file
   element,  then  package  updates  the existing disk version.
   For example, if an element exists on disk as a symbolic link
   but  is  defined as a directory or file in the configuration
   file, then package will replace the  symbolic  link  with  a
   directory  or  file.    The same holds for directory or file
   elements on disk that appear in the configuration file as  a
   symbolic  link.  Similarly, if the contents of a file do not
   match  those  in  the  "source"  file  referred  to  in  the
   configuration  file,  then  package  overwrites the existing
   file with the contents of the source file.  The  issuer  can
   specify  different  updating  behavior  through  the  use of
   "update codes" on the lines in the configuration file.   See
   the definition of the "F" line.

ARGUMENTS

   -config         specifies  the pathname of the configuration
                   file to use,  ending  in  the  file's  "base
                   name", which omits the suffix that indicates
                   the machine type.  Package can  determine  a
                   machine's  type and automatically select the
                   appropriate version of the base  file  name.
                   An  example  of  the  proper  value for this
                   argument    is     staff     rather     than
                   staff.rt_aix221.

                   If  only  a  file  name is provided, package
                   looks  for  it  in   the   current   working
                   directory.     It  also  interprets  partial
                   pathnames relative to that directory.

                   Provide this argument OR -fullconfig.



   -fullconfig     specifies the configuration file to use.  It
                   accepts two types of values:

                      - the    full    pathname   of   the
                        configuration   file    to    use,
                        complete    with    an   extension
                        indicating    the     machine-type
                        (examples:          staff.rt_aos4,
                        staff.dkload.pmax_ul3)

                      - the string stdin, which  indicates
                        that   the   issuer  will  provide
                        configuration   information    via
                        standard  input (stdin), either as
                        a piped  file  or  by  typing  the
                        configuration    file    at    the
                        keyboard.  Type ^D (Control-D)  to
                        conclude the input.

                   Provide this argument OR -config.

   -overwrite      tells  package  to overwrite elements on the
                   local disk with the source version indicated
                   in  the configuration file, even if the disk
                   version's "user" w mode bit is  turned  off.
                   Files protected by the I update code are not
                   overwritten; see the "F" line definition.

   -noaction       indicates that package should  not  actually
                   perform  the  command,  but  instead  should
                   print  a  list  (at  standard  out)  of  any
                   problems it would encounter in executing the
                   command.  If the  -verbose  flag  is  added,
                   package  produces a trace of all the actions
                   it would perform in executing  the  command,
                   but does not actually perform them.

   -silent         suppresses  some  of the trace messages that
                   package produces at standard out by default.
                   It   still   reports   on   major   problems
                   encountered.

   -verbose        indicates that package should produce a more
                   detailed  trace  of its actions (at standard
                   out).  The trace records on the transfer and
                   ownership/mode  bit  setting of each element
                   in the configuration file.

   -rebootfiles    indicates that package should not  overwrite
                   any  element  marked  with the Q update-mode
                   code  in  the  configuration  file.     This
                   effectively   prevents   the   machine  from
                   rebooting automatically again  when  package
                   is invoked from /etc/rc.

   -debug          enables  debugging output, which is directed
                   to standard out (stdout) unless  the  issuer
                   directs  it  into  a  file.   By default, no
                   debugging output is produced.

   -help           prints the online help for this command.  Do



                   not  provide  any  other  arguments or flags
                   with this one.

EXAMPLES

   This command is usually invoked in  an  initialization  file
   such  as  /etc/rc,  rather  than  typed at the command shell
   prompt.

   The following invokes the version of the staff configuration
   file   appropriate  for  this  machine's  system  type,  and
   produces verbose output.

       /etc/package -c staff -v

   The following tells package to use  the  configuration  file
   whose  basename is stored in /.package on the local machine.
   This can be convenient because the administrator can put  it
   (the same command) in every machine's /etc/rc file and still
   configure machines differently, by putting  the  appropriate
   basename in /.package.

       /etc/package -c `cat /.package` -v

PRIVILEGE REQUIRED

   Issuer must be logged into the machine's UNIX file system as
   the super user "root."



   Configuration File "B" Line -- define block special device.


   B  <device name>  <major device number>  <minor device
   number>
   <owner name> <group name> <mode bits>

DESCRIPTION

   Defines  a  block special device, such as a disk, that deals
   with input in units of multi-byte blocks.

ARGUMENTS

   B              should be a  capital  letter  and  tells  the
                  command  interpreter that this line defines a
                  block special device.

   device name    names the block special device being defined.

   major device number
                  specifies  the  device's major device number.
                  To   learn   the   correct   value,   consult
                  documentation  provided by the machine and/or
                  operating system's manufacturer.

   minor device number
                  specifies  the  device's minor device number.
                  To   learn   the   correct   value,   consult
                  documentation       provided      by      the
                  machine/operating system's manufacturer.

   owner name     names the owner for the device  in  the  UNIX
                  file  system (the user who will appear in the
                  device's "owner" field  in  the  output  from
                  ls -l).

   group name     names  the  group  for the device in the UNIX
                  file system (the group that  will  appear  in
                  the  device's  group field in the output from
                  ls -lg).

   mode bits      defines the mode bits that protect the device
                  in  the  UNIX  file system.  Legal values are
                  the standard  three-  or  four-digit  decimal
                  numbers   corresponding  to  combinations  of
                  rights.     Example:   755   corresponds   to
                  rwxr-xr-x.

EXAMPLE

   The  following  defines  disk /dev/hd0a with major and minor
   device numbers 1 and 0.

      B /dev/hd0a 1 0 root wheel 644



   Configuration File  "C"  Line -- define  character  special

                       device.


   C  <device name>  <major device number>  <minor device
   number>
   <owner name> <group name> <mode bits>

DESCRIPTION

   Defines  a  character  special device, such as a terminal or
   tty, that deals with input in single character units.

ARGUMENTS

   C              should be a  capital  letter  and  tells  the
                  command  interpreter that this line defines a
                  character special device.

   device name    names  the  character  special  device  being
                  defined.

   major device number
                  specifies the device's major  device  number.
                  To   learn   the   correct   value,   consult
                  documentation      provided      by       the
                  machine/operating system's manufacturer.

   minor device number
                  specifies the device's minor  device  number.
                  To   learn   the   correct   value,   consult
                  documentation      provided      by       the
                  machine/operating system's manufacturer.

   owner name     names  the  owner  for the device in the UNIX
                  file  (the  user  who  will  appear  in   the
                  device's  "owner"  field  in  the output from
                  ls -l).

   group name     names the group for the device  in  the  UNIX
                  file  system  (the  group that will appear in
                  the device's group field in the  output  from
                  ls -lg).

   mode bits      defines the mode bits that protect the device
                  in the UNIX file system.   Legal  values  are
                  the  standard  three-  or  four-digit decimal
                  numbers  corresponding  to  combinations   of
                  rights.    Example: 644 corresponds to rw-r--
                  r--.

EXAMPLE

   The following defines tty /dev/ttyp5 with  major  and  minor
   device numbers 6 and 5.

      C /dev/ttyp5 6 5 root wheel 666



   Configuration File "D" Line -- define directory.


   D[<update code>] <directory> <owner name> <group name> <mode
   bits>

DESCRIPTION

   Names  a  directory  to  be created on the local disk.  If a
   directory of this name already exists, package does nothing.
   However,  if an element of the same name exists on disk as a
   symbolic link, package replaces the symbolic  link  with  an
   actual directory.

ARGUMENTS

   D         should  be  a capital letter and tells the command
             interpreter that this line creates a directory.

   update code
             is  optional  and  if  provided  should follow the
             letter D directly, without an  intervening  space.
             Choose one of the two legal values:

            - X,  which  indicates that the directory is a
              lost+found  directory  (used  by  the   fsck
              program).

            - R,   which  indicates  that  package  should
              remove  any  files  from  the   local   disk
              directory   that   do   not  appear  in  the
              configuration file.  It will also remove any
              subdirectories  of  the directory, and files
              in  them,  that  do  not   appear   in   the
              configuration file.

   owner name
             names the owner for the directory in the UNIX file
             system   (the   user   who   will  appear  in  the
             directory's  "owner"  field  in  the  output  from
             ls -l).

   group name
             names the group for the directory in the UNIX file
             system   (the   group  that  will  appear  in  the
             directory's  group  field  in  the   output   from
             ls -lg).

   mode bits defines  the  mode bits that protect the directory
             in the UNIX file system.   Legal  values  are  the
             standard  three-  or  four-digit  decimal  numbers
             corresponding to combinations of rights.  Example:
             755 corresponds to rwxr-xr-x.

EXAMPLE

   The following defines the /usr directory.

      DR /usr root wheel 755



   Configuration File "F" Line -- create/update file.


   F[<update code>] <file> <source file> [<owner name> <group
   name>
   <mode bits>]

DESCRIPTION

   Names  a file to be created on the local disk.  Its contents
   come from the indicated source file, which may reside either
   in  AFS  or  on  the  local  disk itself.  If package cannot
   locate the source file, it aborts.

   If a file of this name already  exists  on  disk,  then  its
   contents  are  updated with (overwritten by) the contents of
   the source file, unless the I update code is used to prevent
   that.    Other update codes also modify the way in which the
   update takes place; see the ARGUMENTS section.

   If a symbolic link or directory exists on  disk  under  this
   name, package replaces it with the indicated file.

ARGUMENTS

   F         should  be  a capital letter and tells the command
             interpreter that this line creates/updates a file.

   update code
             determines  the manner in which the source file is
             used to update the contents of the  file,  if  the
             latter  already  exists  on  the local disk.  This
             argument is optional and if provided should follow
             the  letter  F  directly,  without  an intervening
             space.  Any number of the  update-mode  codes  may
             combined  with  one  another,  in  any order.  The
             legal values are:

            - A, which indicates that the pathname in  the
              source file slot is the complete pathname of
              the source file, including the filename.  By
              default,  the  source file pathname does not
              include a  file  name  at  the  endMinstead,
              package appends the name in the file slot to
              the  source  file  pathname  in   order   to
              determine   the  source  file's  full  name.
              Thus, this code allows the name of the  file
              being created to differ from the name of the
              source  file.    See  also  the   EXAMPLE(S)
              section.

            - I,  which indicates that the file should not
              be overwritten if it already exists  on  the
              local  disk.    If  it  does not exist, then
              package creates it, and copies the  contents
              of the source file into it.

            - O,  which indicates that package should save
              the existing local disk version of the  file
              with  a  .old  extension, before overwriting
              its contents with the source file's.



            - Q,   which   indicates   that   if   package
              overwrites  the  file,  then  it should exit
              with  status  code  4.    If  the   standard
              package-related  changes  have  been made to
              /etc/rc, then status code 4  will  cause  an
              automatic  reboot  of  the machine.  This is
              useful  in  cases  where  the  machine  must
              reboot  in  order for updates to the file to
              have  any  effect  (/vmunix  is   a   common
              example).

   file      specifies  the complete pathname of the file to be
             created or updated on the local disk.

   source file
             specifies  the  file (in AFS or on the local disk)
             whose contents should be used to create or  update
             the disk file.

             If  the  A  update  code appears on the line, this
             slot should specify  the  source  file's  complete
             pathname.    Otherwise,  this  slot should specify
             only the part of the pathname  that  precedes  the
             name  of  the  local  disk  file.   As an example,
             suppose that  the  configuration  file  is  for  a
             Transarc  cell  machine running AIX 2.2.1, so that
             the  source  for  the  local  disk   file   called
             /bin/grep is /afs/transarc.com/rt_aix221/bin/grep.
             If the A does not appear, then the  proper  filler
             for      the      source      file     slot     is
             /afs/transarc.com/rt_aix221.      See   also   the
             EXAMPLE(S) section.

   owner name
             names the owner for the  file  in  the  UNIX  file
             system  (the  user  who  will appear in the file's
             "owner" field in the output from ls -l).

             This slot may be left empty,  in  which  case  the
             file's  owner  is  set  to match the source file's
             owner.  If this slot is empty, the group name  and
             mode bits slots must also be empty.

   group name
             names the group for the  file  in  the  UNIX  file
             system  (the  group that will appear in the file's
             group field in the output from ls -lg).

             This slot may be left empty,  in  which  case  the
             file's  group  is  set  to match the source file's
             group.  If this slot is empty, the owner name  and
             mode bits slots must also be empty.

   mode bits defines the mode bits that protect the file in the
             UNIX file system.  Legal values are  the  standard
             three- or four-digit decimal numbers corresponding
             to  combinations  of   rights.      Example:   755
             corresponds to rwxr-xr-x.

             This  slot  may  be  left empty, in which case the
             file's mode bits  are  set  to  match  the  source



             file's  mode  bits.    If  this slot is empty, the
             owner name and  group  name  slots  must  also  be
             empty.

EXAMPLES

   The  following,  appropriate for a machine running AIX 2.2.1
   in the Transarc cell, creates/updates the file /bin/grep  on
   the  local  disk, using /afs/transarc.com/rt_aix221/bin/grep
   as the source.


       F /bin/grep /afs/transarc.com/rt_aix221 root wheel 7

   The next example specifies  an  absolute  pathname  for  the
   source  file, as indicated by the A update code.  The Q code
   makes package return status code 4 as it exits, prompting  a
   reboot  of  the  machine  if  the  standard  package-related
   changes have been made to /etc/rc.  This example also leaves
   the  owner  name,  group  name and mode bits slots empty, so
   that the disk file adopts the source file's values for those
   slots.


       FAQ /usr/vice/etc/ThisCell /afs/transarc.com/common/



   Configuration File "L" Line -- create symbolic link.


   L[<update code>] <link> <actual file> [<owner name>
   <group name> <mode bits>]

DESCRIPTION

   Creates  a  symbolic link to a directory or file that exists
   either in AFS or elsewhere on the local disk.    If  package
   cannot access the actual directory/file, it aborts.

   If  a  file  or directory currently exists on the local disk
   under this name, package replaces it with a symbolic link.

ARGUMENTS

   L         should be a capital letter and tells  the  command
             interpreter   that   this   is   a  symbolic  link
             definition.

   update code
             modulates   the   way  that  package  creates  the
             symbolic link, as discussed for each code.  It  is
             optional  and if provided should follow the letter
             L directly, without an intervening space.  The two
             legal  update-mode  codes  may  combined  with one
             another, in either order.  The legal values are:

            - A, which indicates that the pathname in  the
              actual file slot is the complete pathname of
              the actual file, including the filename.  By
              default,  the  actual file pathname does not
              include a  file  name  at  the  endMinstead,
              package appends the name in the link slot to
              the  actual  file  pathname  in   order   to
              determine   the  actual  file's  full  name.
              Thus, this  code  allows  the  name  of  the
              symbolic  link  being created to differ from
              the name of the actual file.  See  also  the
              EXAMPLE(S) section.

            - I,  which  indicates  that the symbolic link
              should not  be  overwritten  if  it  already
              exists  on  the  local disk.  If it does not
              exist, then package creates it.

   link      specifies the complete pathname  of  the  symbolic
             link to be created on the local disk.

   actual file
             specifies the file (in AFS or on the  local  disk)
             to which the symbolic link refers.

             If  the  A  update  code appears on the line, this
             slot should specify  the  actual  file's  complete
             pathname.    Otherwise,  this  slot should specify
             only the part of the pathname  that  precedes  the
             name  of  the  local  disk  link.   As an example,
             suppose that  the  configuration  file  is  for  a
             Transarc  cell machine running Ultrix 3.0, so that



             /etc/ftpd    is     a     symbolic     link     to
             /afs/transarc.com/vax_ul3/etc/ftpd.  If the A does
             not appear, then the proper filler for  this  slot
             is          /afs/transarc.com/vax_ul3,         not
             /afs/transarc.com/vax_ul3/etc/ftpd.  See also  the
             EXAMPLE(S) section.

   owner name
             names the owner for the symbolic link in the  UNIX
             file  system  (the  user  who  will  appear in the
             symbolic link's "owner" field in the  output  from
             ls -l).

             This  slot  may  be  left empty, in which case the
             symbolic link's owner is set  to  match  the  UNIX
             user  name  of  the  issuer of the package command
             (i.e., "root").  If this slot is empty, the  group
             name and mode bits slots must also be empty.

   group name
             names the group for the symbolic link in the  UNIX
             file  system  (the  group  that will appear in the
             symbolic link's group field  in  the  output  from
             ls -lg).

             This  slot  may  be  left empty, in which case the
             symbolic link's group is set to  match  the  group
             for  the issuer of the package command (defined in
             the issuer's /etc/rc  entry.    If  this  slot  is
             empty,  the  owner  name  and mode bits slots must
             also be empty.

   mode bits defines the mode bits that  protect  the  symbolic
             link  in  the  UNIX file system.  Legal values are
             the standard three- or four-digit decimal  numbers
             corresponding to combinations of rights.  Example:
             755 corresponds to rwxr-xr-x.

             This slot may be left empty,  in  which  case  the
             symbolic   link's   mode   bits  are  set  to  777
             (rwxrwxrwx).  If this slot  is  empty,  the  owner
             name and group name slots must also be empty.

EXAMPLES

   The  following, appropriate for a machine running Ultrix 3.0
   in the Transarc cell, creates a symbolic link from /etc/ftpd
   on       the      local      disk      to      the      file
   /afs/transarc.com/vax_ul3/etc/ftpd in AFS.


      L /etc/ftpd /afs/transarc.com/vax_ul3 root wheel 644

   The next example uses an absolute pathname (as indicated  by
   the  A  update  code),  because the symbolic link and actual
   file names differ.  This example also leaves the owner name,
   group  name  and mode bits slots empty, so that the symbolic
   link adopts values for those slots from the actual file.


      LA /etc/printcap /afs/transarc.com/common/etc/printca



   Configuration File "S" Line -- define socket.


   S  <socket name>  [<owner name> <group name> <mode bits>]

DESCRIPTION

   Defines a socket (a communications device for UDP and TCP/IP
   connections).

ARGUMENTS

   S         should  be  a capital letter and tells the command
             interpreter that this is a socket definition.

   socket name
             names the socket being defined.

   owner name
             names the owner for the socket in  the  UNIX  file
             system  (the  user who will appear in the socket's
             "owner" field in the output from ls -l).

             This slot may be left empty,  in  which  case  the
             socket's  owner is set to match the UNIX user name
             of  the  issuer  of  the  package  command  (i.e.,
             "root").    If  this slot is empty, the group name
             and mode bits slots must also be empty.

   group name
             names  the  group  for the socket in the UNIX file
             system (the group that will appear in the socket's
             group field in the output from ls -lg).

             This  slot  may  be  left empty, in which case the
             socket's group is set to match the group  for  the
             issuer  of  the  package  command  (defined in the
             issuer's /etc/rc entry.  If this  slot  is  empty,
             the  owner  name  and mode bits slots must also be
             empty.

   mode bits defines the mode bits that protect the  socket  in
             the  UNIX  file  system.    Legal  values  are the
             standard  three-  or  four-digit  decimal  numbers
             corresponding to combinations of rights.  Example:
             755 corresponds to rwxr-xr-x.

             This slot may be left empty,  in  which  case  the
             socket's  mode bits are set to 777 (rwxrwxrwx), as
             modulated by the cell's umask.  If  this  slot  is
             empty,  the  owner  name and group name slots must
             also be empty.

EXAMPLE

   The following defines the socket /dev/printer:


      S /dev/printer root wheel 777



   Configuration File %define -- define  variable  or  declare

                       string.


   %define  <variable> <value>   %define  <declaration>

DESCRIPTION

   If followed by two arguments, defines the second argument as
   the value of the first, which may appear as a  variable  (in
   the form ${variable}) in the same or other prototype/library
   files.  The second argument is substituted  for  occurrences
   of the variable wherever it occurs.

   If  followed  by a single argument, declares the argument to
   be defined, making it available for use as a  controller  in
   %ifdef  and  %ifndef statements.  That is, %ifdef statements
   mentioning this variable will  resolve  as  "true,"  %ifndef
   statements as "false."

ARGUMENTS

   variable        as the first of two arguments, specifies the
                   name of the variable for which  a  value  is
                   defined.     This  argument  may  appear  in
                   variable form (i.e., as ${variable}) in this
                   or other prototype/library files.

   value           as  the  second  of two arguments, specifies
                   the value to be  assigned  to  variable-form
                   occurrences of the first argument.

   declaration     as   the   single   argument,  declares  the
                   indicated string to be defined.

EXAMPLES

   The  following  defines   the   value   for   the   variable
   ${diskmode}.    This  variable  is  used  elsewhere  in  the
   template  to  fill  the   <owner name>,   <group name>   and
   <mode bit> slots on a "D", "F" or "L" line.


      %define diskmode root wheel 644

   The following declares the string "afsd" to be defined.


      %define afsd



   Configuration  File  %ifdef -- specify action to perform if

                       value is declared or defined.


   %ifdef  <declaration>
           +
   <action>   [%else [<declaration>]
                     +
   <alternate action> ]  %endif <declaration>

DESCRIPTION

   Specifies  the  action(s)  to  perform  if   the   indicated
   declaration  has  been  made  with a single-argument %define
   statement, or if the indicated variable has a value.

   The optional %else statement specifies  alternate  action(s)
   to perform if the indicated declaration has never been made,
   or has been undone with %undef.

   It is possible to nest any  number  of  %ifdef  and  %ifndef
   statements.

ARGUMENTS

   declaration     specifies  the string that must be declared,
                   or variable that must  be  defined,  if  the
                   action  is  to  be  performed.    Its second
                   occurrence (following  %else)  is  optional,
                   serving  only  to  clarify  which %ifdef the
                   %else belongs  to.    The  first  and  third
                   occurrences  (the  latter  following %endif)
                   are required.

   action          specifies each  action  to  perform  if  the
                   %ifdef  statement  resolves to "true."  Each
                   action should appear  on  a  separate  line.
                   Both "%-statements" and definition lines are
                   acceptable actions.

   alternate action
                   specifies  each  action  to  perform  if the
                   %ifdef statement resolves to "false."   Each
                   action  should  appear  on  a separate line.
                   Both "%-statements" and definition lines are
                   acceptable actions.

EXAMPLE

   The  following  specifies  that  if  the  string  rt_aos4 is
   currently declared, then the three indicated  library  files
   will  be  included  in the configuration file resulting from
   compilation of this prototype file.

      %ifdef rt_aos4
      %include ${wsadmin}/lib/rt_aos4.readonly
      %include ${wsadmin}/lib/rt_aos4.generic
      %include ${wsadmin}/lib/rt_aos4.generic.dev
      %endif rt_aos4



   Configuration File %ifndef -- specify action to perform  if

                       value is not declared or defined.


   %ifndef  <declaration>
           +
   <action>   [%else [<declaration>]
                     +
   <alternate action> ]  %endif <declaration>

DESCRIPTION

   Specifies   the   action(s)  to  perform  if  the  indicated
   declaration has never been made or has been undone  with  an
   %undef statement, or if the indicated variable does not have
   a value.

   The optional %else statement specifies  alternate  action(s)
   to  perform if the indicated declaration/definition has been
   made, or if the variable does have a value.

   It is possible to nest any  number  of  %ifdef  and  %ifndef
   statements.

ARGUMENTS

   declaration     specifies which string must not be declared,
                   or which variable must not  be  defined,  in
                   order  for  action  to  be  performed.   Its
                   second  occurrence  (following   %else)   is
                   optional,  serving  only  to  clarify  which
                   %ifdef the %else belongs to.  The first  and
                   third   occurrences  (the  latter  following
                   %endif) are required.

   action          specifies each  action  to  perform  if  the
                   %ifndef  statement resolves to "true" (i.e.,
                   the string is not declared  or  variable  is
                   not  defined).  Each action should appear on
                   a separate line.   Both  "%-statements"  and
                   definition lines are acceptable actions.

   alternate action
                   specifies each  action  to  perform  if  the
                   %ifndef statement resolves to "false" (i.e.,
                   the string is declared or variable does have
                   a defined value).  Each action should appear
                   on a separate line.  Both "%-statements" and
                   definition lines are acceptable actions.



EXAMPLE

   The  following,  appropriate  for  the  Transarc Corporation
   cell, defines "transarc.com" as the  value  of  the  ${cell}
   variable if it does not already have a value.


      %ifndef cell
      %define cell transarc.com
      %endif cell



   Configuration File %include -- include library file.


   %include  <file pathname>

DESCRIPTION

   Causes  contents of indicated library file to be included in
   configuration  file  resulting  from  compilation  of   this
   prototype file.

ARGUMENTS

   file pathname   specifies   the  complete  pathname  of  the
                   library file to be included.   The  pathname
                   may include variables.

EXAMPLE

   The  following  includes  the file base.generic from the lib
   subdirectory of  the  directory  in  which  the  cell  keeps
   package  related  files.    The  ${wsadmin} variable will be
   resolved    to    an    actual     pathname     (such     as
   /afs/transarc.com/wsadmin) during compilation.


      %include ${wsadmin}/lib/base.generic



   Configuration File %undef -- declare value to be defined no

                       longer.


   %undef  <declaration>

DESCRIPTION

   Specifies that the indicated string is  no  longer  defined.
   Any  %ifndef  statements  involving  this  string  will then
   resolve as "true," %ifdef statements as "false."

ARGUMENTS

   declaration     specifies the string that should  no  longer
                   is no longer defined.

EXAMPLE

   The following declares the string "afsd" not to be defined.


      %undef afsd
