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

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

   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   True 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 input string pointer is null, the error SPICE(NULLPOINTER) 
      will be signaled.
      
   3) If the input string has length zero, the error SPICE(EMPTYSTRING) 
      will be 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

 
   1) The following program demonstrates how to determine the 
      properties of a stored kernel variable. The program reads
      the name of a text kernel from the command line and loads
      the kernel. The program then prompts 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.

      The output shown below was obtained using the Cassini 
      frame kernel

         cas_v40.tf

      which is available in the PDS Cassini archive.

          
   Example code begins here. 
      

         #include <stdio.h>
         #include "SpiceUsr.h"

         int main( int argc,  char **argv )
         {
            /.
            Local constants
            ./
            #define KVNMLN          33

            /.
            Local variables
            ./
            SpiceBoolean            found;

            SpiceChar             * fname;
            SpiceChar               type   [ 1 ];
            SpiceChar               varnam [ KVNMLN ];
            SpiceInt                n;

            /.
            Load the kernel specified on the command line.
            ./
            fname = argv[1];

            furnsh_c ( fname );

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

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

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

                  if ( type[0] == 'C' )
                  {
                     printf ( "   Type:   Character\n" );
                  }
                  else
                  {
                     printf ( "   Type:   Numeric\n" );
                  }
               }

               else
               {
                  printf ( "%s is not present in the kernel pool.\n", varnam );
               }
               printf ( "\n" );
            }
            return(0);
         }


   When this program was executed on a PC/Linux/gcc platform, the 
   output was:

        Enter name of kernel variable > FRAME_-82104_NAME

        Properties of variable FRAME_-82104_NAME:

           Size:   1
           Type:   Character

        Enter name of kernel variable > TKFRAME_-82104_ANGLES

        Properties of variable TKFRAME_-82104_ANGLES:

           Size:   3
           Type:   Numeric

Restrictions

 
   None. 
 

Literature_References

 
   None. 
 

Author_and_Institution

 
   N.J. Bachman (JPL)
   W.L. Taber   (JPL) 
 

Version

 
   -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
 
Wed Apr  5 17:54:32 2017