Table of contents
dtpool_c (Data for a kernel pool variable)
void dtpool_c ( ConstSpiceChar * name,
SpiceBoolean * found,
SpiceInt * n,
SpiceChar type  )
Return the data about a kernel pool variable.
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'
name is the name of the variable whose values are to be
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.
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.
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.
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.
int main( )
#define FILSIZ 256
#define KVNMLN 33
SpiceChar fname [ FILSIZ ];
SpiceChar varnam [ KVNMLN ];
SpiceChar vtype [ 1 ];
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"
" Size: %d\n",
if ( vtype == 'C' )
printf ( " Type: Character\n" );
printf ( " Type: Numeric\n" );
printf ( "%s is not present in the kernel pool.\n", varnam );
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:
N.J. Bachman (JPL)
J. Diaz del Rio (ODC Space)
W.L. Taber (JPL)
-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)
return summary information about a kernel pool variable