VDS_INSERT_SDS(3)



NAME

     vds_insert



     SYNOPSIS
          #include <soi_vds.h>

          int vds_insert_sds (VDS *vds, SDS *sds, int var_num);
          int  vds_insert_sds_rec  (VDS  *vds,  SDS   *sds,   int
     var_num,
              int rec_num);



     DESCRIPTION

     These functions enable users to insert data into  a  virtual
     dataset  (vds).  The data to be inserted must be in the form
     of an SDS structure which can be created and manipulated  by
     functions  from the SDS library.  vds_insert_sds_rec inserts
     the data as the specified record (records are numbered  from
     0)  and  vds_insert_sds inserts the data as the next record.
     After an sds structure has been successfully  inserted  into
     the vds, the sds pointer "belongs to" the vds structure.  Do
     not free an sds pointer which was inserted into a vds.  This
     can cause subsequent vds operations to fail in unpredictable
     ways.



     RETURN VALUES

     vds_insert_sds and  vds_insert_sds_rec   return  error  code
     statuses.  Error codes are defined in soi_error.h.  The code
     returned after a successful completion is NO_ERROR.



     EXAMPLES

     There are  many  examples  of  the  use  of  vds_insert*  in
     ~soi/CM/src/modules/*.c



     SEE ALSO

     ~soi/CM/man/man3/vds.3
     ~soi/CM/man/man3/errstk.3
     ~soi/CM/include/soi_error.h
     ~soi/CM/include/soi_sds.h

     FILES

     ~soi/CM/include/soi_vds.h
     ~soi/CM/src/libvds.d/vds_sds.c



     BUGS




     RESTRICTIONS

     Internal  data  protocol  types  which  are  supported   are
     VDS_FILE, VDS_CUBE, and VDS_FILES.

     multi variables are not supported so var_number must be 0.

     The user is responsible for  maintaining  consistency  among
     inserted  records.  For example, vds_insert* operations make
     no checks on data dimensions.



     PLANNED IMPROVEMENTS