MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


Networking Services Library Functions              doconfig(3NSL)



NAME
     doconfig - execute a configuration script

SYNOPSIS
     cc [ flag ... ] file ... -lnsl [ library ... ]
     # include 



     int doconfig(int fildes, char *script, long rflag);


DESCRIPTION
     doconfig() is a Service  Access  Facility  library  function
     that  interprets  the configuration scripts contained in the
     files ,  ,  and
     ,  where   pmtag  specifies  the  tag
     associated with the port monitor, and svctag  specifies  the
     service tag associated with a given service.   See pmadm(1M)
     and sacadm(1M).


     script is the name of the configuration script; fildes is  a
     file  descriptor  that designates the stream to which stream
     manipulation operations are to be applied; rflag is  a  bit-
     mask that indicates the mode in which script is to be inter-
     preted. If rflag is zero, all commands in the  configuration
     script  are  eligible  to  be  interpreted. If rflag has the
     NOASIGN bit set, the assign command is  considered  illegal
     and  will  generate  an error return. If rflag has the NORUN
     bit set, the run and runwait commands are considered illegal
     and will generate error returns.


     The configuration language in which script is  written  con-
     sists  of  a  sequence  of commands, each of which is inter-
     preted  separately.  The  following  reserved  keywords  are
     defined:   assign,  push, pop, runwait, and run. The comment
     character is #; when a # occurs on a line,  everything  from
     that  point  to  the end of the line is ignored. Blank lines
     are not significant. No line in a command script may  exceed
     1024 characters.

     assign variable=value

         Used to define environment variables.  variable  is  the
         name  of the environment variable and value is the value
         to be assigned to it.  The  value  assigned  must  be  a
         string  constant;  no  form of parameter substitution is
         available. value may be quoted. The  quoting  rules  are
         those  used  by the shell for defining environment vari-
         ables. assign will fail if space cannot be allocated for



SunOS 5.11          Last change: 30 Dec 1996                    1






Networking Services Library Functions              doconfig(3NSL)



         the  new variable or if any part of the specification is
         invalid.


     push module1[, module2, module3, . . .]

         Used to push STREAMS modules onto the stream  designated
         by fildes. module1 is the name of the first module to be
         pushed, module2 is the name of the second module  to  be
         pushed,  etc.  The command will fail if any of the named
         modules cannot be pushed. If a module cannot be  pushed,
         the  subsequent modules on the same command line will be
         ignored and modules that have already been  pushed  will
         be popped.


     pop [module]

         Used to pop STREAMS modules off the  designated  stream.
         If  pop  is invoked with no arguments, the top module on
         the  stream is popped. If an argument is given,  modules
         will  be  popped one at a time until the named module is
         at the top of the stream. If the named module is not  on
         the  designated stream, the stream is left as it was and
         the command fails. If module is the special keyword AL,
         then all modules on the stream will be popped. Note that
         only modules above the topmost driver are affected.


     runwait command

         The runwait command runs a command and waits for  it  to
         complete.  command  is the pathname of the command to be
         run. The command is run with /usr/bin/sh  -c   prepended
         to  it;  shell  scripts may thus be executed from confi-
         guration scripts. The runwait command will fail if  com-
         mand  cannot  be found or cannot be executed, or if com-
         mand exits with a non-zero status.


     run command

         The run command is identical to runwait except  that  it
         does  not  wait  for command to complete. command is the
         pathname of the command to be run.  run  will  not  fail
         unless it is unable to create a child process to execute
         the command.



     Although they are syntactically indistinguishable,  some  of
     the  commands  available  to run and runwait are interpreter



SunOS 5.11          Last change: 30 Dec 1996                    2






Networking Services Library Functions              doconfig(3NSL)



     built-in commands. Interpreter built-ins are used when it is
     necessary to alter the state of a process within the context
     of that process. The doconfig()  interpreter  built-in  com-
     mands  are  similar  to the shell special commands and, like
     these, they do not spawn another process for execution.  See
     sh(1). The built-in commands are:

       cd
       ulimit
       umask


RETURN VALUES
     doconfig() returns 0 if the script was interpreted  success-
     fully.  If a command in the script fails, the interpretation
     of the script ceases at that point and a positive number  is
     returned;  this  number  indicates  which line in the script
     failed. If a system error occurs, a value of -1 is returned.
     When a script fails, the process whose environment was being
     established should not be started.

ATRIBUTES
     See attributes(5) for descriptions of the  following  attri-
     butes:



     
           ATRIBUTE TYPE               ATRIBUTE VALUE       
    
     MT-Level                     Unsafe                      
    


SEE ALSO
     sh(1), pmadm(1M), sacadm(1M), attributes(5)

NOTES
     This interface  is  unsafe  in  multithreaded  applications.
     Unsafe  interfaces  should  be  called  only  from  the main
     thread.














SunOS 5.11          Last change: 30 Dec 1996                    3



OpenSolaris man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™