next up previous
Next: HDS_COPY - Copy an object to a new container file
Up: ROUTINE DESCRIPTIONS
Previous: DAT_VEC - Vectorise object

DAT_WHERE - Find position of primitive in HDS file   

Description:
The routine returns information describing the position in an HDS container file at which the data associated with a primitive object are stored.

Invocation:
CALL DAT_WHERE( LOC, BLOCK, OFFSET, STATUS )

Arguments:
LOC = CHARACTER * ( DAT__SZLOC ) (Given)
Primitive object locator.
BLOCK = INTEGER (Returned)
Number of the file block in which the object's data start. HDS file blocks are 512 bytes long and are numbered from the beginning of the file, starting at block 1.
OFFSET = INTEGER (Returned)
Byte offset (zero based) of the start of data within the file block.
STATUS = INTEGER (Given and Returned)
The global status.

Notes:
  • The use of this routine is not recommended. It is provided solely for use by experienced programmers who are familiar with the internal structure of HDS container files and who wish to access the file contents directly. Note, however, that changes to the format of an HDS file may occur in future.
  • The start of the data associated with a cell or a slice of a primitive object may be located with this routine, but the data associated with a slice will not, in general, be stored at contiguous locations within the file.
  • Care must be taken that no changes are made to adjacent bytes within the file which are not part of the requested object's data.
  • Note that the data associated with primitive objects may not necessarily be stored contiguously in future versions of HDS.



next up previous
Next: HDS_COPY - Copy an object to a new container file
Up: ROUTINE DESCRIPTIONS
Previous: DAT_VEC - Vectorise object

HDS Hierarchical Data System
Starlink User Note 92
R.F. Warren-Smith & M.D. Lawden
23rd February 1999
E-mail:rfws@star.rl.ac.uk

Copyright (C) 1999 Central Laboratory of the Research Councils