cklpf |
Table of contents
ProcedureCKLPF ( CK, load pointing file ) ENTRY CKLPF ( FNAME, HANDLE ) AbstractLoad a CK pointing file for use by the CK readers. Return that file's handle, to be used by other CK routines to refer to the file. Required_ReadingCK DAF KeywordsPOINTING DeclarationsCHARACTER*(*) FNAME INTEGER HANDLE Brief_I/OVARIABLE I/O DESCRIPTION -------- --- -------------------------------------------------- FNAME I Name of the CK file to be loaded. HANDLE O Loaded file's handle. FTSIZE P Maximum number of loaded CK files. Detailed_InputFNAME is the name of a C-kernel file to be loaded. Detailed_OutputHANDLE is an integer handle assigned to the file upon loading. Almost every other CK routine will subsequently use this number to refer to the file. ParametersFTSIZE is the maximum number of CK files that may be loaded simultaneously under any circumstances. FTSIZE is currently set to match the maximum number of DAF files that may be loaded simultaneously. Exceptions1) If an attempt is made to load more DAF files than is specified by the parameter FTSIZE in DAF system, an error is signaled by a routine in the call tree of this routine. 2) If an attempt is made to load more files than is specified by the parameter FTSIZE in the CK subsystem, and if the DAF system has room to load another file, the error SPICE(CKTOOMANYFILES) is signaled. The current setting of FTSIZE does not allow this situation to arise: the DAF system will trap the error before this routine has the chance. 3) If the file specified by FNAME can not be opened, an error is signaled by a routine in the call tree of this routine. 4) If the file specified by FNAME has already been loaded, it will become the "last-loaded" file. The readers search the last-loaded file first. FilesThe C-kernel file specified by FNAME is loaded. The file is assigned an integer handle by CKLPF. Other CK routines will refer to this file by its handle. ParticularsBefore a file can be read by the C-kernel readers, it must be loaded by CKLPF, which among other things load the file into the DAF subsystem. Up to FTSIZE files may be loaded for use simultaneously, and a file only has to be loaded once to become a potential search target for any number of subsequent reads. Once a C-kernel has been loaded, it is assigned a file handle, which is used to keep track of the file internally, and which is used by the calling program to refer to the file in all subsequent calls to CK routines. If there is room for a new file, CKLPF opens the file for reading. This routine must be called prior to a call to CKGP or CKGPAV. CK readers search files loaded with CKLPF in the reverse order in which they were loaded. That is, last-loaded files are searched first. ExamplesSee $Examples in CKBSR. RestrictionsNone. Literature_ReferencesNone. Author_and_InstitutionN.J. Bachman (JPL) J. Diaz del Rio (ODC Space) J.M. Lynch (JPL) W.L. Taber (JPL) R.E. Thurman (JPL) I.M. Underwood (JPL) VersionSPICELIB Version 5.0.2, 25-OCT-2021 (JDR) Updated the header to comply with NAIF standard. Extended $Particulars section. SPICELIB Version 5.0.1, 30-JAN-2017 (NJB) Corrected various spelling errors within comments. SPICELIB Version 5.0.0, 17-MAR-2014 (NJB) Updated segment pool initialization condition in entry point CKLPF so that the pool is initialized only if the file table is empty. SPICELIB Version 4.1.0, 20-NOV-2001 (NJB) Bug fixes: 1) When an already loaded kernel is opened with DAFOPR, it now has its link count reset to 1 via a call to DAFCLS. 2) This routine now resets all file numbers when the next file number reaches INTMAX()-1, thereby avoiding arithmetic overflow. The numbers in the file table are replaced with consecutive integers in the range 1 : NFT, such that the ordering of the numbers is not changed. The HFS and LFS arrays are updated accordingly. Also, the flags indicating validity of the re-use intervals are set to .FALSE. here. SPICELIB Version 4.0.0, 17-FEB-2000 (WLT) Added the Entry point CKHAVE SPICELIB Version 3.0.0, 03-MAR-1999 (WLT) The parameter STSIZE was increased from 1000 to 4000 to avoid the buffering error that exists in the CKBSR. SPICELIB Version 2.0.0, 25-NOV-1992 (JML) When loading a file, CKLPF now checks if the file table is full only after determining that the file is not currently loaded. Previously, if the file table was full and an attempt was made to reload a file, an error was signaled. A new exception was added as a result of this change. A bug in the way that CKLPF and CKUPF clean up the instrument tables after a file is unloaded was fixed. SPICELIB Version 1.0.1, 10-MAR-1992 (WLT) Comment section for permuted index source lines was added following the header. SPICELIB Version 1.0.0, 07-SEP-1990 (RET) (IMU) |
Fri Dec 31 18:36:02 2021