next up previous
Next: Message System Routines
Up: MISCELLANEOUS FACILITIES
Previous: MISCELLANEOUS FACILITIES

Restricting Access via NDF Identifiers   

Access restrictions may be imposed on any NDF identifier in order to constrain the operations which can be performed by NDF_ routines via that identifier. The act of disabling a particular type of access is performed by the routine NDF_NOACC. For instance:

      CALL NDF_NOACC( 'DELETE', INDF, STATUS )

would disable delete access for the identifier INDF. As a result, any subsequent attempt to delete the NDF via that identifier would fail, and the resulting error message would indicate that access had been disabled. Access restrictions imposed on NDF identifiers are propagated to all new identifiers derived from them (e.g. by cloning or creation of an NDF section). Once imposed, they cannot be revoked.

The following types of access may be disabled, either singly or in combination (by means of repeated calls to NDF_NOACC), in order to impose the corresponding restriction on NDF access:

`BOUNDS' - Disabling bounds access prevents the pixel-index bounds of a base NDF from being altered (e.g. with the routine NDF_SBND - §[*]). The pixel-index bounds of an NDF section can always be altered regardless of this access restriction, but the restriction will be propagated to any new identifier obtained from an NDF section via the routine NDF_BASE.
`DELETE' - Disabling delete access prevents the NDF from being deleted (e.g. with the routine NDF_DELET - §[*]).

`SHIFT' - Disabling shift access prevents pixel-index shifts from being applied to a base NDF (e.g. with the routine NDF_SHIFT - §[*]). Pixel-index shifts may always be applied to an NDF section regardless of this access restriction, but the restriction will be propagated to any new identifier obtained from an NDF section via the routine NDF_BASE.

`TYPE' - Disabling type access prevents the type of any NDF component from being altered (e.g. with the routine NDF_STYPE - §[*]).

`WRITE' - Disabling write access prevents new values from being written to any of the NDF's components. It also prevents the state of any of its components from being reset (e.g. with the routine NDF_RESET - §[*]).

In addition, specifying an access type of `MODIFY' in a call to NDF_NOACC will disable all the forms of access described above.

You can enquire whether a specified type of access is available via any identifier by using the routine NDF_ISACC. For instance:

      CALL NDF_ISACC( INDF, 'WRITE', ISACC, STATUS )

will return a logical value ISACC indicating whether write access is available for the identifier INDF.



next up previous
Next: Message System Routines
Up: MISCELLANEOUS FACILITIES
Previous: MISCELLANEOUS FACILITIES


Starlink User Note 33
R.F. Warren-Smith
11th January 2000
E-mail:rfws@star.rl.ac.uk

Copyright © 2000 Council for the Central Laboratory of the Research Councils