Download this file

*****************************************************************************
*                         LEGAL NOTICE                                      *
*****************************************************************************
This software, documentation and associated material was developed by various
people in the Institute of Geophysics and Planetary Physics (IGPP) at the
University of California, Los Angeles (UCLA). Some or all portions of the
software, documentation and associated material is copyrighted by the the 
Regents of the University of California. All afore mentioned parties
are referred herein as the "authors".

Permission to use, copy, modify and distribute without charge this
software, documentation, etc. is granted, provided that this comment is
retained, and that all copyright notices and the names of the authors
remains intact, and that the names of the authors not be used in
advertising or publicity pertaining to distribution of the software
without specific, written prior permission.  The author makes no
representations about the suitability of this software for any
purpose.  It is provided "as is" without express or implied warranty.

The authors disclaim all warranties with regard to this software, including
all implied warranties of merchantability and fitness, in no event shall
the authors be liable for any special, indirect or consequential damages or
any damages whatsoever resulting from loss of use, data or profits,
whether in an action of contract, negligence or other tortuous action,
arising out of or in connection with the use or performance of this
software.
******************************************************************************
This particular CDROM contains only a single application which runs in the PC DOS 
environment.  The software is a display package for Plasma Wave 4 sec spectra.
Other more general software will be available in the future through our anonymous
FTP account. In order to obtain software from the Node, access the ftp-anonymous
account on srvsun.igpp.ucla.edu (128.97.68.55). The software is located in
the /pds/SOFTWARE directory.

The PPI Node of PDS supports platforms which run under the following operating systems:
VMS, UNIX, DOS. Software to run on each of these platforms can be found in the 
sub-directories bearing those names. The organizational structure for each of these 
systems is summarized below: 

   +- bin (executable versions of applications)
   |
   +- obj (compiled object libraries)
   |
   +- man (manual pages - if there were any)
   |
   +- src (source code for everything)
       |
       +- app (source code for applications)
       |   |
       |   +- ditdos (The ditdos client)
       |   |
       |   +- ditdos_server (The ditdos server)
       |   |
       |   +- pdstotxt          (IGPP Flatfile to ASCII converter)
       |   |
       |   +- scripts ( Various scripts)
       |
       +- lib (source code for libraries)
   |
   +- bc (Binary conversion functions)
   |
   +- dfs (Data Flow System functions)
   |
   +- ditdos (ditdos client/server functions)
   |
   +- ffio (IGPP Flatfile I/O library)
   |
   +- fnc (File Name Conversion library)
   |
   +- igpp_sql (The IGPP SQL parser library)
   |
   +- list (Object oriented list manager functions)
   |
   +- message (Generic message reporting functions)
   |
   +- packet (tagged packet library)
   |
   +- parserc (string parsing functions)


Here is a list of the various software products provided in this 
distribution.

** Special Note **
The binary data conversion library and the file name conversion libraries
are beta releases and are currently being tested.

Libraries:

   File Name Conversion Library: For converting to and from file paths in
    a variety of operating system environments.
    Included are POSIX, VMS, MS-DOS, MAC-OS.

   Binary Data Conversion Library : For converting between various machine
    representation of binary numbers and IEEE
    format.
   Data Flow System Library : For passing data in the UCLA/IGPP flatfile
      format using the packet library.
   DITDOS Library : For creating distributed information tracking and
    data ordering system applications.
   Flatfile I/O Library : For creating, deleting, managing and using UCLA/IGPP 
  flatfiles.
   IGPP SQL Parser Library : Parses a textual SQL query into a data structure
for use by applications which need to provide SQL query support.
The parser does have some IGPP specific additions such as fuzzy
query support. The parser does not support sub-queries.
   List Management Library : Provides a simple method for managing
 collects of data.
   Message Management Library : Provides a formal way to define 
 collections of messages an application may print to the
 screen. Messages may contain any number of variables.
   Packet Library : For establishing connections to between applications
    and passing tagged packets of information.
   Parser Library : Contains functions for parsing  and manipulating strings

Applications:

   ditdos : The DITDOS administrators application. Provides a command
    shell for creating, deleting and managing DITDOS data brokers.
   ditdos_server : A server which provides SQL access to registered datasets.
   ffinventory : Creates DITDOS commands for populating the inventory
 tables with information about all flatfiles at or below a 
 given path. Reference names are the same as the flatfile name.
 Commands generated by this application can be read b 'ditdos'.
   pdsinventory : Creates DITDOS commands for populating the inventory
 tables with information about all flatfiles at or below a 
 given path. Reference names are modified PDS datasets IDs.
 Commands generated by this application can be read b 'ditdos'.

Here is a detailed catalog of the software libraries.

----------------------------------------------------------------------------
File Name Conversion Library : For converting file names for use between i
       operating system environments.
----------------------------------------------------------------------------

   FNCPathType : Determines the originating operating system environment by
 inspection of the file name path.
   FNCMakeFileReference : Create an instance of an FNC file reference 
  structure.
   FNCMakePathNode : Create an instance of an FNC path node structure.
   FNCPushPathNode : Adds a path node structure to a path link list.
   FNCDumpPath: Prints a human readable description of a path link list.
   FNCSetFile : Set the file portion of an internal format file reference.
   FNCSetDevice : Set the device portion of an internal format file reference.
   FNCParseFileReference : Parses a fully qualified file reference into its
   components (i.e., file name and path). The format
   the file reference is in must be specified. Output
   from FNCPathType may be used.
   FNCParsePOSIXFileReference : Parses a fully qualified POSIX file reference
into its components (i.e., file name and path).
   FNCParseMSDOSFileReference : Parses a fully qualified MSDOS file reference
into its components (i.e., file name and path).
   FNCParseVMSFileReference : Parses a fully qualified VMS file reference
      into its components (i.e., file name and path).
   FNCParseMACOSFileReference : Parses a fully qualified MACOS file reference
into its components (i.e., file name and path).
   FNCParseFilePath : Parses a file path into an internal format.
   FNCParsePOSIXFilePath: Parses a POSIX file path into an internal format.
   FNCParseMSDOSFilePath: Parses a MSDOS file path into an internal format.
   FNCParseMACOSFilePath: Parses a MACOS file path into an internal format.
   FNCParseVMSFilePath: Parses a VMS file path into an internal format.
   FNCFileReferenceToPOSIX : Generates a POSIX compliant file reference
     from an internal format file reference structure.
   FNCFileReferenceToMSDOS : Generates a MSDOS compliant file reference
     from an internal format file reference structure.
   FNCFileReferenceToMACOS : Generates a MACOS compliant file reference
     from an internal format file reference structure.
   FNCFileReferenceToVMS : Generates a VMS compliant file reference
   from an internal format file reference structure.
   FNCFileReferenceString: General purpose file reference generator.

----------------------------------------------------------------------------
Binary Data Conversion Library : For converting between various machine
 representation of binary numbers and IEEE
 format.
----------------------------------------------------------------------------

   BCFloatToIEEE : Convert a machine dependent format single precision 
   floating point number to IEEE format.
   BCIEEEToFloat : Convert an IEEE format single precision 
   floating point number to current machine dependent format.
   BCDoubleToIEEE : Convert a machine dependent format double precision 
   floating point number to IEEE format.
   BCIEEEToDouble: Convert an IEEE format double precision 
   floating point number to current machine dependent format.
   BCGFloatToIEEE: Convert a machine dependent format double precision 
   floating point number to IEEE format. 
   Alternate representation available only on VAX/VMS systems.
   BCIEEEToGFloat: Convert an IEEE format double precision 
   floating point number to current machine dependent format.
   Alternate representation available only on VAX/VMS systems.
   BCShortToIEEE : Convert a machine dependent format two byte integer
   number to IEEE format.
   BCIEEEToShort : Convert an IEEE format two byte integer
   number to current machine dependent format.
   BCIntegerToIEEE: Convert a machine dependent format four byte integer
   number to IEEE format.
   BCIEEEToInteger: Convert an IEEE format four byte integer
   number to current machine dependent format.
   BCLongIntegerToIEEE: Convert a machine dependent format eight byte integer
   number to IEEE format.
   BCIEEEToLongInteger: Convert an IEEE format eight byte integer
   number to current machine dependent format.
   BCReverseByteOrder : Reverse the store order of a string of bytes.
Does byte and word swapping.
   VAXSetFormat : Define the machine dependent format to be VAX/VMS systems.
   SunSetFormat : Define the machine dependent format to be Sun systems.
   PCSetFormat : Define the machine dependent format to be Intel PC systems
 using IEEE format.
   MSBSetFormat : Define the machine dependent format to be Intel PC systems
 using Microsofts Binary format (prominent pre 1987).
   IBM370SetFormat : Define the machine dependent format to be IBM 370 systems.
   HP1000SetFormat : Define the machine dependent format to be HP 1000 systems.
   
----------------------------------------------------------------------------
parser library : Contains functions for parsing  and manipulating strings
----------------------------------------------------------------------------

   cleanparse : Divides a string into sub parts and removes any
leading or trailing spaces from each part.
   clispc     : Remove trailing spaces from a string.
   colparse   : Generates a list of columns names which match a given pattern.
        Requires DFS.
   dojustify  : Justify text within an array. Center, left and right 
       justification is supported.
   findrep    : Find all occurrence of a substring in a string and replace
it with another substring.
   findrep2   : Find all occurrence of a substring in a string and replace
it with another substring. This does not alter the original 
string.
   findstr    : Find a substring in a string and return the index of
where it begins in the string. A search toggle may be
provide to allow "quoted" to skipped.
   getword    : Retrieve the next textual word from a file pointer.
   glob       : Return a list of file names which match a given pattern.
   ismatch    : Determines if a string matches a given pattern.
   kw_match   : Return the index the keyword a given string matches.
Unique partial matches are allowed.
   mop        : Parse a string using a mask. String must match all fixed
portions of pattern.
   mop2       : Parse a string using a mask. Partial matches of pattern are
allowed.
   nextword   : Returns the next word from a given string.
   nstrcpy    : Copies a specific number of bytes from one string to another
and insures that the destination string is NULL terminated.
   packlist   : Removes all strings in an array of strings which have 
zero length.
   pad_str    : Pads a string with spaces to a given length.
   parse      : Divide a string into substrings according to a given
delimiter. Quoted portions of string are not divided.
   pattern_compare : Compares a string to a given pattern. The pattern is
     specified in textual form. Much better than
     ismatch(), more like UNIX pattern matching.
   pattern_dump : Describe a compiled pattern.
   pattern_free : Deletes a PATTERN structure from memory.
   pattern_make : Creates and instance of a PATTERN structure.
   pattern_match : Determines if a string matches a given pattern. The
   pattern is given in compiled form.
   pattern_parse : Compiles a pattern by converting a textual pattern into 
   a token list.
   rcomfile   : Reads a command line from a file. Specific to DFS.
   scasedown  : Convert a string to lower case.
   scaseup    : Convert a string to upper case.
   setstr     : Duplicates a string in memory (just like strdup(), 
you should use strdup()).
   strip_comment : Removes comment text from a string. A comment begins
   with a "/*".
   stripnl    : Removes the trailing newline from a string.
   trimspc    : Removes trailing and leading spaces from a line.
   truncate_str : Truncates a string to a given length.
   unescape   : Remove all occurrences of the given "escape" character 
        from a string.
   unquote    : Remove all quote (") from a string.
   unquote2   : Removes just the first and last quote from a string.

----------------------------------------------------------------------------
List Management Library : Provides a simple method for managing
      collects of data.
----------------------------------------------------------------------------

   list_dump      : Dump the contents of a list for debugging purposes.
   list_find_node : Locate a node in list given a node name.
   list_free      : Free all memory associated with a list.
   list_free_node : Free all memory associated with a list node.
   list_get_data  : Return the data portion of a list node.
   list_insert_node : Insert a node after a given node.
   list_make_node : Create an instance of a list node.
   list_pop_node  : Remove the first node in a list.
   list_push_node : Add a node to the end of a list.
   list_set_data  : Define the data portion a node.

----------------------------------------------------------------------------
Message Management Library : Provides a formal way to define 
      collections of messages an application may print to the
      screen. Messages may contain any number of variables.
----------------------------------------------------------------------------

   mm_pmessage : Format and print a message to the current output
 file. Messages are prefixed with trace information.
   mm_set_output : Define which file to place the messages in.
   mm_trace_pop  : Removes the most recently added prefix from the
   prefix list.
   mm_trace_push : Adds text to the prefix list.

----------------------------------------------------------------------------
IGPP SQL Parser Library : Parses a textual SQL query into a data structure
     for use by applications which need to provide SQL query support.
     The parser does have some IGPP specific additions such as fuzzy
     query support. The parser does not support sub-queries.
----------------------------------------------------------------------------

   sql_parse_query : Parses a textual query in SQL syntax into a 
     a data structure.
   sql_dump_query  : Dumps a textual description of an SQL query data 
     structure. (Meant for debugging purposes).

----------------------------------------------------------------------------
Packet Library : For establishing connections to between applications
 and passing tagged packets of information.
----------------------------------------------------------------------------

   close_con : Close a connection to a server.
   gread     : A low level read of a port with a guaranteed
       number of bytes read.
   gwrite    : A low level write of a port with a guaranteed
       number of bytes written.
   init_app  : Initializes an application for use of the packet
       library.
   net_close_db : Sends a request to close a database at a server.
   net_done  : Graceful termination a connection to a server.
   net_open_db  : Sends a request to open a database at a server.
   net_query.c  : Sends a query to a server.
   net_register : Send user and host registration information to a server.
   net_return   : Determine the return status of a remotely executed 
  operation.
   net_set_timeout : Set the number of seconds which the client is to wait
     for a response before the connection is considered dead.
   net_update   : Send an update type query the server.
   net_version  : Send the registered version/identification information
  down a connection.
   open_con     : Open a connection to another application. Used by both
  clients and servers.
   packet_dump  : Dump the contents of a packet (Used for debugging purposes).
   recv_packet  : Reads a packet from a connection.
   send_errmsg  : Sends an error message down a connection.
   send_packet  : Send a packet down a connection.
   send_tag     : Send a dataless tag down a connection.
   verify_version : Requests version information (from a server) and
    compares it to the that required by the application.
    Required version information is set by init_app().
   
----------------------------------------------------------------------------
DITDOS Library : For creating distributed information tracking and
 data ordering system applications.
----------------------------------------------------------------------------

   ditdos_broker_destroy      : Destroy an instance of a DITDOS broker.
   ditdos_broker_use          : Open a connection to a broker and make
it current broker.
   ditdos_broker_create       : Create an instance of a DITDOS broker
using keyword/value syntax.
   ditdos_broker_make         : Create an instance of a DITDOS broker
given a broker data structure.
   ditdos_broker_process_args : Define multiple values in a broker data
structure using keyword/value syntax.
   ditdos_broker_set_option   : Set the value of a single element in broker
data structure using keyword/value syntax.
   ditdos_broker_options_check: Insure that all required elements in a 
broker data structure are defined.
   ditdos_broker_write        : Write a single record to a DITDOS broker.
   ditdos_broker_open         : Open the database table of a DITDOS broker.
   ditdos_broker_get_database : Translate a database reference name into
a database data structure.
   ditdos_class_create        : Create a class table.
   ditdos_class_write         : Write a single record to a class table.
   ditdos_class_access_valid  : Check if a given access method is allowed
for a given class/instance.
   ditdos_class_find          : Translate a given class/instance into a 
class data structure.
   ditdos_class_define        : Define the attributes for a class/instance
using keyword/value syntax.
   ditdos_class_delete        : Delete a specific class/instance record from
the class table.
   ditdos_class_process_args  : Set multiple elements in a class data structure
using keyword/value syntax.
   ditdos_class_set_option    : Set the value of a single element in class
data structure.
   ditdos_class_check_options : Insure that all required elements of a class
data structure are defined.
   ditdos_open_broker         : Open a connection to a DITDOS server.
This is a client side function.
   ditdos_close_broker        : Close a connection to a DITDOS server.
This is a client side function.
   ditdos_open_database       : Open a database at the server.
This is a client side function.
   ditdos_close_database      : Close a database at the server.
This is a client side function.
   ditdos_send_query          : Send a query to the server.
This is a client side function.
   ditdos_cancel_query        : Cancel the currently running server.
This is a client side function.
   ditdos_curator_create      : Create a curator table.
   ditdos_curator_write       : Write a record to a curator table.
   ditdos_curator_delete      : Delete a specific record from a curator table.
   ditdos_curator_define      : Define the attributes of a curator using
keyword/value syntax.
   ditdos_curator_process_args: Set multiple elements in a curator data 
structure using keyword/value syntax.
   ditdos_curator_set_option  : Set the value of a single element in a curator
data structure using keyword/value syntax.
   ditdos_curator_check_options: Check to insure that all required elements
 in a curator data structure are defined.
   ditdos_database_use        : Open a database in the currently opened broker.
   ditdos_database_release    : Close the currently opened database.
   ditdos_database_destroy    : Destroy an instance of a DITDOS database.
   ditdos_database_create     : Create an instance of a DITDOS database using
keyword/value syntax.
   ditdos_database_make       : Create an instance of a DITDOS database given
database data structure.
   ditdos_database_process_args: Set multiple elements in a database data 
    structure using keyword/value syntax.
   ditdos_database_set_option : Set the value of a single element in a database
data structure using keyword/value syntax.
   ditdos_database_check_options: Check to insure that all required elements
  in a database data structure are defined.
   ditdos_datasets_find       : Translate a dataset reference name into a 
datasets data structure.
   ditdos_datasets_exist      : Check is a dataset with a given reference name
exists.
   ditdos_datasets_open       : Open the datasets table of a database.
   ditdos_datasets_define     : Define the attributes of a datasets using
keyword/value syntax.
   ditdos_datasets_delete     : Delete a specific dataset entry from the 
datasets table.
   ditdos_datasets_create     : Create an instance of datasets table.
   ditdos_datasets_write      : Write a single record into a datasets table.
   ditdos_datasets_process_args: Set multiple elements in a datasets data 
    structure using keyword/value syntax.
   ditdos_datasets_set_option : Set the value of a single element in a datasets
data structure using keyword/value syntax.
   ditdos_datasets_check_options: Check to insure that all required elements
  in a datasets data structure are defined.
   ditdos_open_internal       : Open a dataset which is stored in the DITDOS
internal format (UCLA/IGPP Flatfile).
   ditdos_show                : Show the settings of one or more global
variables.
   ditdos_init_global         : Initialize all DITDOS global variables.
   ditdos_make_path           : Insure that all directories along a given
path exists. Creating those that don't.
   ditdos_strcat              : Concatenate two strings placing the result
in a third string. Proper termination of the
destination string is insured.
   ditdos_privs_create        : Create an instance of a privs table.
   ditdos_privs_write         : Write a single record to a privs table.
   ditdos_privs_define        : Define the attributes of a privs record using
keyword/value syntax.
   ditdos_privs_delete        : Delete a specific privs entry from the 
privs table.
   ditdos_privs_valid         : Determine is a specific operation is permitted
on a given table by a given user at a specific
host.
   ditdos_privs_process_args  : Set multiple elements in a privs data 
   structure using keyword/value syntax.
   ditdos_privs_set_option    : Set the value of a single element in a privs
data structure using keyword/value syntax.
   ditdos_privs_check_options : Check to insure that all required elements
in a privs data structure are defined.

----------------------------------------------------------------------------
Flatfile I/O Library : For creating, deleting, managing and using UCLA/IGPP 
       flatfiles.
----------------------------------------------------------------------------

ffadd_desc       : Add one or more records to descriptor portion of 
   a flatfile.
ffbind           : Associate a program variable to field in a flatfile.
ffbulk_write_fd  : Copies the contents of flatfile beginning at the
   current position to the end of the flatfile to a
   given file descriptor.
ffbulk_write_file: Copies the contents of flatfile beginning at the
   current position to the end of the flatfile to a
   given file pointer.
ffcheck_type     : Check to see if a given type code is a valid flatfile data
   type.
ffclose_select   : Close selective portions of a flatfile.
ffcol_type       : Return the data type for a given field (column) in
   an opened flatfile..
ffcol_width      : Return the width in bytes for a given field (column) in
   an opened flatfile..
ffcreate         : Create a flatfile given a set of descriptors.
ffdelete_rec     : Identifies a record for deletion from a flatfile.
ffdo_bind        : Synchronize a bound application variables and the
   current flatfile record.
ffexists         : Check is a flatfile with a given name exists.
ffflag_rec       : Place flags in all fields of the current record.
ffget_col_str    : Return the value associated with a string field.
ffget_col_val    : Return the value associated with a numeric field.
ffget_desc       : Get the descriptor entry for a given field.
ffinsert_rec     : Indentifies a record for insertion into the flatfile
   at the current position in the flatfile.
ffisflag         : Determines if the value in a given field is a flag value.
ffmake_path      : Makes all necessary directories in a given file name 
   reference.
ffmove_bin       : Move to the record in a flatfile where a given field has
   specific value. A binary search method is used.
ffmove_rel_rec   : Move to a new record is defined relative to the current
   position.
ffmove_to_rec    : Move to a specific record given its absolute reference.
ffopen           : Open a flatfile.
ffopen_segment   : Opens the next segment of a virtual flatfile.
ffopen_select    : Open selective portions of a flatfile.
ffpad_str        : Pad string with spaces. String may no longer be
   properly terminated.
ffprint_rec      : Prints the contents of the current record to the screen.
   Primarily for debugging purposes.
ffread_abs       : Reads the contents of the abstract portion of the flatfile
   and places the text into an array of strings.
ffread_rec       : Read the next record from the flatfile.
ffscol_index     : Returns the index of a field given its short field name.
ffset_col_flag   : Set a given field (column) to a flag value.
ffset_col_str    : Set a field to a given string value.
ffset_col_val    : Set a field to a given numeric value.
ffunlink         : Delete the existence of a flatfile.
ffupdate         : Perform all deletions and inserts defined with calls
   to ffdelete_rec() and ffinsert_rec().
ffwrite_abs      : Write the abstract portion of a flatfile.
ffwrite_desc     : Write the descriptor portion of a flatfile.
ffwrite_hed      : Write the header portion of a flatfile.
ffwrite_rec      : Write a record into the data portion of a flatfile.

----------------------------------------------------------------------------
Data Flow System Library : For passing data in the UCLA/IGPP flatfile
   format using the packet library.
----------------------------------------------------------------------------

   dfs_bind     : To bind an application variable to a data flow field.
   dfs_bindcopy : Synchronize the contents of bound variables and data flow
  fields.
   dfs_type_old_to_new : Converts from old DFS data type codes to new.
   dfs_type_new_to_old : Converts from new DFS data type codes to old.
   dfs_colnum  : Returns the index of the field (column) given its
 textual column name.
   dfs_dataend : Flushes all data buffers and send a tag indicating 
 end of data.
   dfs_defbind : Perform a matched type binding between a data flow field
 and an application variable.
   dfs_build_desc_map : Builds a bind map for a field in the descriptor
database.
   dfs_init : Performs initialization actions for using the DFS library.
   dfs_exists : Determines if a field with a given name exists in the
data flow.
   dfs_set_in_flow_con : Sets the input connection for the data flow.
   dfs_lname : Returns the long name for a field in the data flow.
   main      : The wrapper main() function for DFS applications.
   dfs_make_flow : Creates an instance of a data flow.
   dfs_makedesc : Defines a field in the data flow (make a descriptor).
   dfs_set_out_flow_con : Sets the output connection for the data flow.
   dfs_perror : Outputs a data flow error message.
   dfs_rdata  : Advances one record in the data flow. Reads data from the
input connection if necessary.
   dfs_rdesc  : Reads the descriptors of the data flow from the input
connection.
   dfs_rmvdesc_all : Deletes are fields from the data flow (Removes all 
     descriptors).
   dfs_int_rvalue : Reads an integer return value from a connection.
   dfs_double_rvalue : Reads a double return value from a connection.
   dfs_char_rvalue : Reads a string of characters return value from 
     a connection.
   dfs_set_flow_con : Sets both the input and output flow connections
      to a same connection.
   dfs_sizeof : Returns the size in bytes of a data flow data type.
   dfs_sname  : Returns the short name of a given field in the data flow.
   dfs_type   : Returns the data type of a given field in the data flow.
   dfs_unbind_all : Remove references to all bound variables.
   dfs_uniquename: Returns a unique field name given a desired field name.
   dfs_units  : Returns the units of a given field in the data flow.
   dfs_value  : Returns a pointer to the value of a field in the data flow.
   dfs_wdata  : Writes a the current data flow record out to the connection.
Data is buffered so the write is delayed until the buffer
fills.
   dfs_wdata_packet : Write a packet to the output connection which contains
      all data in the current output data buffer.
   dfs_wdesc  : Write the current descriptors to the output connection.
   dfs_width  : Return the width of a given field in the data flow.
   dfs_int_wvalue    : Write a integer value to the output connection.
   dfs_double_wvalue : Write a double value to the output connection.
   dfs_char_wvalue   : Write a string of characters to the output connection.