Index of Functions: A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X 
Index Page
dtpool_c

Table of contents
Procedure
Abstract
Required_Reading
Keywords
Brief_I/O
Detailed_Input
Detailed_Output
Parameters
Exceptions
Files
Particulars
Examples
Restrictions
Literature_References
Author_and_Institution
Version
Index_Entries

Procedure

   dtpool_c (Data for a kernel pool variable) 

   void dtpool_c ( ConstSpiceChar   * name,
                   SpiceBoolean     * found,
                   SpiceInt         * n,
                   SpiceChar          type [1] )

Abstract

   Return the data about a kernel pool variable.

Required_Reading

   KERNEL

Keywords

   CONSTANTS
   FILES


Brief_I/O

   VARIABLE  I/O  DESCRIPTION
   --------  ---  --------------------------------------------------
   name       I   Name of the variable whose value is to be returned.
   found      O   SPICETRUE if variable is in pool.
   n          O   Number of values returned for `name'.
   type       O   Type of the variable: 'C', 'N', or 'X'

Detailed_Input

   name        is the name of the variable whose values are to be
               returned.

Detailed_Output

   found       is SPICETRUE if the variable is in the pool;
               SPICEFALSE if it is not.

   n           is the number of values associated with `name'.
               If `name' is not present in the pool `n' will be returned
               with the value 0.

   type        is a single character indicating the type of the variable
               associated with `name'.

                   'C' if the data is character data
                   'N' if the data is numeric.
                   'X' if there is no variable `name' in the pool.

Parameters

   None.

Exceptions

   1)  If the name requested is not in the kernel pool, `found'
       will be set to SPICEFALSE, `n' to zero and `type' to 'X'.

   2)  If the `name' input string pointer is null, the error
       SPICE(NULLPOINTER) is signaled.

   3)  If the `name' input string has zero length, the error
       SPICE(EMPTYSTRING) is signaled.

Files

   None.

Particulars

   This routine allows you to determine whether or not a kernel
   pool variable is present and to determine its size and type
   if it is.

Examples

   The numerical results shown for this example may differ across
   platforms. The results depend on the SPICE kernels used as
   input, the compiler and supporting libraries, and the machine
   specific arithmetic implementation.

   1) The following program demonstrates how to determine the
      properties of a stored kernel variable. The program prompts
      for text kernel name and for the name of a kernel variable.
      If the variable is present in the kernel pool, the dimension
      and type of the variable are displayed.


      Example code begins here.


      /.
         Program dtpool_ex1
      ./
      #include <stdio.h>
      #include "SpiceUsr.h"

      int main( )
      {
         /.
         Local constants
         ./
         #define FILSIZ          256
         #define KVNMLN          33

         /.
         Local variables
         ./
         SpiceBoolean            found;

         SpiceChar               fname  [ FILSIZ ];
         SpiceChar               varnam [ KVNMLN ];
         SpiceChar               vtype  [ 1 ];
         SpiceInt                n;

         /.
         Prompt for the name of a text-kernel file.
         ./
         prompt_c ( "Enter text-kernel name        > ",
                     FILSIZ, fname );

         /.
         Load the kernel.
         ./
         furnsh_c ( fname );

         prompt_c ( "Enter name of kernel variable > ",
                     KVNMLN, varnam                      );

         dtpool_c ( varnam, &found, &n, vtype );

         if ( found )
         {
            printf ( "\n"
                     "Properties of variable %s:\n"
                     "\n"
                     "   Size:   %d\n",
                     varnam,
                     n                           );

            if ( vtype[0] == 'C' )
            {
               printf ( "   Type:   Character\n" );
            }
            else
            {
               printf ( "   Type:   Numeric\n" );
            }
         }
         else
         {
            printf ( "%s is not present in the kernel pool.\n", varnam );
         }

         return(0);
      }


      When this program was executed on a Mac/Intel/cc/64-bit
      platform, using the FK file named cas_v40.tf to ask for the
      variable "FRAME_-82104_NAME", the output was:


      Enter text-kernel name        > cas_v40.tf
      Enter name of kernel variable > FRAME_-82104_NAME

      Properties of variable FRAME_-82104_NAME:

         Size:   1
         Type:   Character

Restrictions

   None.

Literature_References

   None.

Author_and_Institution

   N.J. Bachman        (JPL)
   J. Diaz del Rio     (ODC Space)
   W.L. Taber          (JPL)

Version

   -CSPICE Version 1.2.1, 10-AUG-2021 (JDR)

       Edited the header to comply with NAIF standard.

   -CSPICE Version 1.2.0, 04-JUN-2014 (NJB)

       Header example code fragment was replaced with
       a complete program.

   -CSPICE Version 1.1.0, 17-OCT-1999 (NJB)

       Local type logical variable now used for found flag used in
       interface of dtpool_.

   -CSPICE Version 1.0.0, 10-MAR-1999 (NJB) (WLT)

Index_Entries

   return summary information about a kernel pool variable
Fri Dec 31 18:41:05 2021