


2 CLI_ASSIGN
!
CLI_ASSIGN is a routine that enables  user  programs  to  assign
strings  to either global or local DCL symbols.  This capability
is  especially  useful  if  a  program  is  required   to   pass
information back to a command language procedure.
3 Author
CLI_ASSIGN  was  written  by  Kevin  Carosso  of  the  OMNIGRAPH
project.    It  is  currently  supplied  and  supported  by  the
OMNIGRAPH  project.   Any  questions  about  or  problems   with
CLI_ASSIGN should be reported via MAIL to OMNIGRAPH.
3 Calling
The calling sequence, in FORTRAN, is as follows:

        CALL CLI_ASSIGN(SYMBOL,STRING,FLAG)

Where:

    SYMBOL -- is a character variable with the symbol to define
    STRING -- is the text of the symbol
    FLAG   -- is 2 for local and 3 for global symbols
              (passed by value)

For convenience, the following global symbols can be used.

    CLI$K_DEFLOCAL = 2
    CLI$K_DEFGLOBAL = 3

In the following example we will assign the string "HERE IT  IS"
to  a  DCL  symbol, DOOFCITY.  The third argument indicates that
this is to be a global symbol assignment.

    EXTERNAL CLI$K_DEFGLOBAL
    CALL CLI_ASSIGN('DOOFCITY','HERE IT IS',CLI$K_DEFGLOBAL)

The assigned symbol would thereafter be accessible from  command
language as if the DCL command

        $ DOOFCITY :== "HERE IT IS"

had been executed.

Since CLI_ASSIGN requires that the first two arguments be passed
as  standard  VAX  string  descriptors,  care must be taken when
calling the routine from Pascal.  Use the %STDESCR directive  to
pass an ARRAY OF CHAR to CLI_ASSIGN.
3 Location
The source to CLI_ASSIGN is the file:

        DEV:[OMNIGRAPH.UTILITY]CLIASSIGN.MAR

CLI_ASSIGN is in the object library POWELL.  All that  needs  to
be  done  is  to  request this library at link time.  This would
appear as:

        $ LINK PROG,TOOLS:POWELL/LIB

The CLI_ASSIGN routine will then be loaded into your program.
