| dasrrc |
|
Table of contents
Procedure
DASRRC ( DAS, read record, character )
ENTRY DASRRC ( HANDLE, RECNO, FIRST, LAST, DATAC )
Abstract
Read DAS character physical records.
Required_Reading
DAS
Keywords
ASSIGNMENT
DAS
FILES
Declarations
INTEGER HANDLE
INTEGER RECNO
INTEGER FIRST
INTEGER LAST
CHARACTER*(*) DATAC
Brief_I/O
VARIABLE I/O DESCRIPTION
-------- --- --------------------------------------------------
HANDLE I Handle of DAS file.
RECNO I Record number.
FIRST,
LAST I First and last indices of range within record.
DATAC O Character data read from record.
BUFSZC P Number of records in the character record buffer.
NWC P Number of characters in a single DAS char. record.
Detailed_Input
HANDLE is the handle of an open DAS file.
RECNO is the number of a record in a DAS file.
FIRST,
LAST are the first and last indices of a range of
characters to be read from the indicated record.
The record contains NWC characters; these have
indices ranging from 1 to NWC.
Detailed_Output
DATAC is a character string containing the elements
FIRST through LAST of the specified record. The
record element FIRST is placed in DATAC(1:1), the
record element FIRST+1 is placed in DATAC(2:2),
and so on; the record element LAST is placed in
DATAC( LAST-FIRST+1 : LAST-FIRST+1 ).
Parameters
NWC is the number of characters in a single DAS record
containing characters.
BUFSZC is the number of records in the character record
buffer.
Exceptions
1) If the input file handle is invalid, an error is
signaled by a routine in the call tree of this routine. The
output argument DATAC will not be modified.
2) If a read operation attempted by this routine fails, an error
is signaled by a routine in the call tree of this routine.
The output argument DATAC will not be modified.
3) If a write operation attempted by this routine fails, an
error is signaled by a routine in the call tree of this
routine. The output argument DATAC will not be modified. This
routine may write out updated, buffered records in order to
make room in the character buffer for a newly read record.
Note that the file written to may be different than the file
designated by HANDLE if multiple DAS files are open for
writing.
4) If FIRST or LAST is not in the range [1, NWC], the error
SPICE(INDEXOUTOFRANGE) is signaled. The output argument
DATAC will not be modified.
5) If FIRST > LAST, this routine will return without modifying
the output argument DATAC.
Files
See the description of the argument HANDLE in $Detailed_Input.
Particulars
Routines outside of SPICELIB will normally have no need to call
this routine.
This routine can be used to read from a DAS file that is open for
reading or writing. Any buffered character record can be read
with this routine. In particular, records that have been
written to the DAS character record buffer but have not yet been
written out to the DAS file they're intended to go to ARE
visible to this routine.
This routine should be used to read only records that contain
character data.
Examples
1) Read the 10th through 100th characters from record number 9
in a DAS file designated by HANDLE.
CALL DASRRC ( HANDLE, 9, 10, 100, DATAC )
Restrictions
None.
Literature_References
None.
Author_and_Institution
N.J. Bachman (JPL)
J. Diaz del Rio (ODC Space)
K.R. Gehringer (JPL)
B.V. Semenov (JPL)
W.L. Taber (JPL)
Version
SPICELIB Version 2.0.1, 22-FEB-2021 (JDR)
Updated the header to comply with NAIF standard. Cleaned up
the $Revisions history.
SPICELIB Version 2.0.0, 05-FEB-2015 (NJB)
Upgraded to support handle manager integration.
SPICELIB Version 1.1.1, 10-FEB-2014 (BVS)
Added description of NWC to the $Parameters and $Brief_I/O
sections of the header.
SPICELIB Version 1.1.0, 09-NOV-1995 (NJB)
Made modifications to enhance efficiency. Removed references
to the function RETURN.
Removed weird spaces from ENTRY statement.
SPICELIB Version 1.0.1, 28-OCT-1993 (KRG)
Removed references to specific DAS file open routines in the
$Detailed_Input section of the header. This was done in order
to minimize documentation changes if the DAS open routines ever
change.
SPICELIB Version 1.0.0, 30-JUN-1992 (NJB) (WLT)
|
Fri Dec 31 18:36:11 2021