SDS_SETKEY_DOUBLE(3)


  in the keylist (libast.d) and vds (libvds.d) libraries.

  Routines are provided with forms of:
    sds_getkey_xxx
    sds_setkey_xxx

  where the set of functions, xxx are:

    int
    double
    time
    time_interval
    str

  In the case of _str, an additional function is provided
  which has upper-case first words, i.e.:

   SDS_getkey_str

  which is like the lower case version BUT return a pointer
  to a static string.  the return string must be used before
  subsequent calls to the same function or the value will
  be overwritten.  Also, the returned string must not be
  "freed" or otherwise treated as a malloced string.

  These functions are designed so they can be used without
  explicit testing for failures if the values for missing
  responses are acceptable in the use.  The returned missing
  values are:

     int       I_MISSING ( 1 << 31 )
     double    D_MISSING (a quiet d NaN)
     time      T_MISSING (-4712.01.01_12:00:00.000_UT)
     time_interval     TINT_MISSING (0.0)

  if the missing value is the result of a void input pointer
  or other such probably unexpected error,
  soi_errno will be set as appropriate and an errstk message
  will be generated.  If the keyword is present but has
  no value present, the missing value will be returned without
  comment.

  Most of the functionality in these routines exists by different
  names.  In those cases, the code is simple.  Macros have not
  been used even in those cases to allow different error handling
  if needed.

  Contents:

  char *sds_getkey_str(SDS *sds, char *key);
  char *SDS_getkey_str(SDS *sds, char *key);
  int sds_getkey_int(SDS *sds, char *key);

  Planned updates: