dtpool_c |
Table of contents
Proceduredtpool_c (Data for a kernel pool variable) void dtpool_c ( ConstSpiceChar * name, SpiceBoolean * found, SpiceInt * n, SpiceChar type [1] ) AbstractReturn the data about a kernel pool variable. Required_ReadingKERNEL KeywordsCONSTANTS FILES Brief_I/OVARIABLE 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_Inputname is the name of the variable whose values are to be returned. Detailed_Outputfound 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. ParametersNone. Exceptions1) 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. FilesNone. ParticularsThis routine allows you to determine whether or not a kernel pool variable is present and to determine its size and type if it is. ExamplesThe 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 RestrictionsNone. Literature_ReferencesNone. Author_and_InstitutionN.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_Entriesreturn summary information about a kernel pool variable |
Fri Dec 31 18:41:05 2021