This section gives a complete list of the functions available via the
C interface to the NDF_ library, in the form of ANSI C function
prototypes.
The name of each function is linked to a description of the
corresponding Fortran routine.
For general information about the C interface, see
Appendix .
void ndfAcget( int indf, const char *comp, int iaxis, char *value, int value_length, int *status );
--Obtain the value of an NDF axis character component
void ndfAclen( int indf, const char *comp, int iaxis, int *length, int *status );
--Determine the length of an NDF axis character component
void ndfAcmsg( const char *token, int indf, const char *comp, int iaxis, int *status );
--Assign the value of an NDF axis character component to a message token
void ndfAcput( const char *value, int indf, const char *comp, int iaxis, int *status );
--Assign a value to an NDF axis character component
void ndfAcre( int indf, int *status );
--Ensure that an axis coordinate system exists for an NDF
void ndfAform( int indf, const char *comp, int iaxis, char *form, int form_length, int *status );
--Obtain the storage form of an NDF axis array
void ndfAmap( int indf, const char *comp, int iaxis, const char *type, const char *mmod, void *pntr[ ], int *el, int *status );
--Obtain mapped access to an NDF axis array
void ndfAnnul( int *indf, int *status );
--Annul an NDF identifier
void ndfAnorm( int indf, int iaxis, int *norm, int *status );
--Obtain the logical value of an NDF axis normalisation flag
void ndfArest( int indf, const char *comp, int iaxis, int *status );
--Reset an NDF axis component to an undefined state
void ndfAsnrm( int norm, int indf, int iaxis, int *status );
--Set a new value for an NDF axis normalisation flag
void ndfAssoc( const char *param, const char *mode, int *indf, int *status );
--Associate an existing NDF with an ADAM parameter
void ndfAstat( int indf, const char *comp, int iaxis, int *state, int *status );
--Determine the state of an NDF axis component (defined or undefined)
void ndfAstyp( const char *type, int indf, const char *comp, int iaxis, int *status );
--Set a new numeric type for an NDF axis array
void ndfAtype( int indf, const char *comp, int iaxis, char *type, int type_length, int *status );
--Obtain the numeric type of an NDF axis array
void ndfAunmp( int indf, const char *comp, int iaxis, int *status );
--Unmap an NDF axis array component
void ndfBad( int indf, const char *comp, int check, int *bad, int *status );
--Determine if an NDF array component may contain bad pixels
void ndfBase( int indf1, int *indf2, int *status );
--Obtain an identifier for a base NDF
void ndfBb( int indf, unsigned char *badbit, int *status );
--Obtain the bad-bits mask value for the quality component of an NDF
void ndfBegin( void );
--Begin a new NDF context
void ndfBlock( int indf1, int ndim, const int mxdim[ ], int iblock, int *indf2, int *status );
--Obtain an NDF section containing a block of adjacent pixels
void ndfBound( int indf, int ndimx, int lbnd[ ], int ubnd[ ], int *ndim, int *status );
--Enquire the pixel-index bounds of an NDF
void ndfCget( int indf, const char *comp, char *value, int value_length, int *status );
--Obtain the value of an NDF character component
void ndfChunk( int indf1, int mxpix, int ichunk, int *indf2, int *status );
--Obtain an NDF section containing a chunk of contiguous pixels
void ndfCinp( const char *param, int indf, const char *comp, int *status );
--Obtain an NDF character component value via the ADAM parameter system
void ndfClen( int indf, const char *comp, int *length, int *status );
--Determine the length of an NDF character component
void ndfClone( int indf1, int *indf2, int *status );
--Clone an NDF identifier
void ndfCmplx( int indf, const char *comp, int *cmplx, int *status );
--Determine whether an NDF array component holds complex values
void ndfCmsg( const char *token, int indf, const char *comp, int *status );
--Assign the value of an NDF character component to a message token
void ndfCopy( int indf1, int *place, int *indf2, int *status );
--Copy an NDF to a new location
void ndfCput( const char *value, int indf, const char *comp, int *status );
--Assign a value to an NDF character component
void ndfCreat( const char *param, const char *ftype, int ndim, const int lbnd[ ], const int ubnd[ ], int *indf, int *status );
--Create a new simple NDF via the ADAM parameter system
void ndfCrep( const char *param, const char *ftype, int ndim, const int ubnd[ ], int *indf, int *status );
--Create a new primitive NDF via the ADAM parameter system
void ndfDelet( int *indf, int *status );
--Delete an NDF
void ndfDim( int indf, int ndimx, int dim[ ], int *ndim, int *status );
--Enquire the dimension sizes of an NDF
void ndfEnd( int *status );
--End the current NDF context
void ndfExist( const char *param, const char *mode, int *indf, int *status );
--See if an existing NDF is associated with an ADAM parameter.
void ndfFind( const char loc[ DAT__SZLOC ], const char *name, int *indf, int *status );
--Find an NDF in an HDS structure and import it into the NDF_ system
void ndfForm( int indf, const char *comp, char *form, int form_length, int *status );
--Obtain the storage form of an NDF array component
void ndfFtype( int indf, const char *comp, char *ftype, int ftype_length, int *status );
--Obtain the full type of an NDF array component
void ndfGtune( const char *tpar, int *value, int *status );
--Obtain the value of an NDF_ system tuning parameter
void ndfGtwcs( int indf, AstFrameSet **iwcs, int *status );
--Obtain world coordinate system information from an NDF
void ndfHappn( const char *appn, int *status );
--Declare a new application name for NDF history recording
void ndfHcre( int indf, int *status );
--Ensure that a history component exists for an NDF
void ndfHdef( int indf, const char *appn, int *status );
--Write default history information to an NDF
void ndfHecho( int nlines, char *const text[ ], int *status );
--Write out lines of history text
void ndfHend( int *status );
--End NDF history recording for the current application
void ndfHfind( int indf, const int ymdhm[ 5 ], float sec, int eq, int *irec, int *status );
--Find an NDF history record by date and time
void ndfHinfo( int indf, const char *item, int irec, char *value, int value_length, int *status );
--Obtain information about an NDF's history component
void ndfHnrec( int indf, int *nrec, int *status );
--Determine the number of NDF history records present
void ndfHout( int indf, int irec, void ( *routin )( int, char *const [ ], int * ), int *status );
--Display text from an NDF history record
void ndfHpurg( int indf, int irec1, int irec2, int *status );
--Delete a range of records from an NDF history component
void ndfHput( const char *hmode, const char *appn, int repl, int nlines, char *const text[ ], int trans, int wrap, int rjust, int indf, int *status );
--Write history information to an NDF
void ndfHsmod( const char *hmode, int indf, int *status );
--Set the history update mode for an NDF
void ndfInit( int argc, char *const argv[ ], int *status );
--Initialise the NDF_ library for use from a C main routine (not available from Fortran)
void ndfIsacc( int indf, const char *access, int *isacc, int *status );
--Determine whether a specified type of NDF access is available
void ndfIsbas( int indf, int *isbas, int *status );
--Enquire if an NDF is a base NDF
void ndfIstmp( int indf, int *istmp, int *status );
--Determine if an NDF is temporary
void ndfLoc( int indf, const char *mode, char loc[ DAT__SZLOC ], int *status );
--Obtain an HDS locator for an NDF
void ndfMap( int indf, const char *comp, const char *type, const char *mmod, void *pntr[ ], int *el, int *status );
--Obtain mapped access to an array component of an NDF
void ndfMapql( int indf, int **pntr, int *el, int *bad, int *status );
--Map the quality component of an NDF as an array of logical values
void ndfMapz( int indf, const char *comp, const char *type, const char *mmod, void *rpntr[ ], void *ipntr[ ], int *el, int *status );
--Obtain complex mapped access to an array component of an NDF
void ndfMbad( int badok, int indf1, int indf2, const char *comp, int check, int *bad, int *status );
--Merge the bad-pixel flags of the array components of a pair of NDFs
void ndfMbadn( int badok, int n, const int ndfs[ ], const char *comp, int check, int *bad, int *status );
--Merge the bad-pixel flags of the array components of a number of NDFs
void ndfMbnd( const char *option, int *indf1, int *indf2, int *status );
--Match the pixel-index bounds of a pair of NDFs
void ndfMbndn( const char *option, int n, int ndfs[ ], int *status );
--Match the pixel-index bounds of a number of NDFs
void ndfMsg( const char *token, int indf );
--Assign the name of an NDF to a message token
void ndfMtype( const char *typlst, int indf1, int indf2, const char *comp, char *itype, int itype_length, char *dtype, int dtype_length, int *status );
--Match the types of the array components of a pair of NDFs
void ndfMtypn( const char *typlst, int n, const int ndfs[ ], const char *comp, char *itype, int itype_length, char *dtype, int dtype_length, int *status );
--Match the types of the array components of a number of NDFs
void ndfNbloc( int indf, int ndim, const int mxdim[ ], int *nblock, int *status );
--Determine the number of blocks of adjacent pixels in an NDF
void ndfNchnk( int indf, int mxpix, int *nchunk, int *status );
--Determine the number of chunks of contiguous pixels in an NDF
void ndfNew( const char *ftype, int ndim, const int lbnd[ ], const int ubnd[ ], int *place, int *indf, int *status );
--Create a new simple NDF
void ndfNewp( const char *ftype, int ndim, const int ubnd[ ], int *place, int *indf, int *status );
--Create a new primitive NDF
void ndfNoacc( const char *access, int indf, int *status );
--Disable a specified type of access to an NDF
void ndfOpen( const char loc[ DAT__SZLOC ], const char *name, const char *mode, const char *stat, int *indf, int *place, int *status );
--Open an existing or new NDF
void ndfPlace( const char loc[ DAT__SZLOC ], const char *name, int *place, int *status );
--Obtain an NDF placeholder
void ndfProp( int indf1, const char *clist, const char *param, int *indf2, int *status );
--Propagate NDF information to create a new NDF via the ADAM parameter system
void ndfPtwcs( AstFrameSet *iwcs, int indf, int *status );
--Store world coordinate system information in an NDF
int ndfQmask( unsigned char qual, unsigned char badbit );
--Combine an NDF quality value with a bad-bits mask to give a logical result
void ndfQmf( int indf, int *qmf, int *status );
--Obtain the value of an NDF's quality masking flag
void ndfReset( int indf, const char *comp, int *status );
--Reset an NDF component to an undefined state
void ndfSame( int indf1, int indf2, int *same, int *isect, int *status );
--Enquire if two NDFs are part of the same base NDF
void ndfSbad( int bad, int indf, const char *comp, int *status );
--Set the bad-pixel flag for an NDF array component
void ndfSbb( signed char badbit, int indf, int *status );
--Set a bad-bits mask value for the quality component of an NDF
void ndfSbnd( int ndim, const int lbnd[ ], const int ubnd[ ], int indf, int *status );
--Set new pixel-index bounds for an NDF
void ndfScopy( int indf1, const char *clist, int *place, int *indf2, int *status );
--Selectively copy NDF components to a new location
void ndfSect( int indf1, int ndim, const int lbnd[ ], const int ubnd[ ], int *indf2, int *status );
--Create an NDF section
void ndfShift( int nshift, const int shift[ ], int indf, int *status );
--Apply pixel-index shifts to an NDF
void ndfSize( int indf, int *npix, int *status );
--Determine the size of an NDF
void ndfSqmf( int qmf, int indf, int *status );
--Set a new logical value for an NDF's quality masking flag
void ndfSsary( int iary1, int indf, int *iary2, int *status );
--Create an array section, using an NDF section as a template
void ndfState( int indf, const char *comp, int *state, int *status );
--Determine the state of an NDF component (defined or undefined)
void ndfStype( const char *ftype, int indf, const char *comp, int *status );
--Set a new type for an NDF array component
void ndfTemp( int *place, int *status );
--Obtain a placeholder for a temporary NDF
void ndfTune( int value, const char *tpar, int *status );
--Set an NDF_ system tuning parameter
void ndfType( int indf, const char *comp, char *type, int type_length, int *status );
--Obtain the numeric type of an NDF array component
void ndfUnmap( int indf, const char *comp, int *status );
--Unmap an NDF or a mapped NDF array
void ndfValid( int indf, int *valid, int *status );
--Determine whether an NDF identifier is valid
void ndfXdel( int indf, const char *xname, int *status );
--Delete a specified NDF extension
void ndfXgt0c( int indf, const char *xname, const char *cmpt, char *value, int value_length, int *status );
--Read a scalar character string from a component within a named NDF extension
void ndfXgt0d( int indf, const char *xname, const char *cmpt, double *value, int *status );
--Read a scalar double precision value from a component within a named NDF extension
void ndfXgt0i( int indf, const char *xname, const char *cmpt, int *value, int *status );
--Read a scalar integer value from a component within a named NDF extension
void ndfXgt0l( int indf, const char *xname, const char *cmpt, int *value, int *status );
--Read a scalar logical value from a component within a named NDF extension
void ndfXgt0r( int indf, const char *xname, const char *cmpt, float *value, int *status );
--Read a scalar single precision value from a component within a named NDF extension
void ndfXiary( int indf, const char *xname, const char *cmpt, const char *mode, int *iary, int *status );
--Obtain access to an array stored in an NDF extension
void ndfXloc( int indf, const char *xname, const char *mode, char loc[ DAT__SZLOC ], int *status );
--Obtain access to a named NDF extension via an HDS locator
void ndfXname( int indf, int n, char *xname, int xname_length, int *status );
--Obtain the name of the N'th extension in an NDF
void ndfXnew( int indf, const char *xname, const char *type, int ndim, const int dim[ ], char loc[ DAT__SZLOC ], int *status );
--Create a new extension in an NDF
void ndfXnumb( int indf, int *nextn, int *status );
--Determine the number of extensions in an NDF
void ndfXpt0c( const char *value, int indf, const char *xname, const char *cmpt, int *status );
--Write a scalar character string to a component within a named NDF extension
void ndfXpt0d( double value, int indf, const char *xname, const char *cmpt, int *status );
--Write a scalar double precision value to a component within a named NDF extension
void ndfXpt0i( int value, int indf, const char *xname, const char *cmpt, int *status );
--Write a scalar integer value to a component within a named NDF extension
void ndfXpt0l( int value, int indf, const char *xname, const char *cmpt, int *status );
--Write a scalar logical value to a component within a named NDF extension
void ndfXpt0r( float value, int indf, const char *xname, const char *cmpt, int *status );
--Write a scalar single precision value to a component within a named NDF extension
void ndfXstat( int indf, const char *xname, int *there, int *status );
--Determine if a named NDF extension exists