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. For details of each function, see the Fortran routine description in Appendix D.
For general information about the C interface, see Appendix E.
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
ndfCancl(
const
char
param,
int
status
); Cancel the association of an NDF with an ADAM parameter
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
ndfCrepl(
const
char
param,
int
place,
int
status
); Create a new NDF placeholder 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 ndfGtdlt( int ndf, const char comp,
int zaxis, char
ztype, int ztype_length,
float zratio,
int status
);
Get compression details for a DELTA compressed NDF array component
void
ndfGtszd(
int
indf,
const
char
comp,
double
scale,
double
zero,
int
status
); Get scale and zero factors for a scaled array in an NDF
void
ndfGtszi(
int
indf,
const
char
comp,
int
scale,
int
zero,
int
status
); Get scale and zero factors for a scaled array in an NDF
void
ndfGtszr(
int
indf,
const
char
comp,
float
scale,
float
zero,
int
status
); Get scale and zero factors for a scaled array in an NDF
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
ndfHcopy(
int
indf1,
int
indf2,
int
status
); Copy history information from one NDF to another
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
ndfHgmod(
int
indf,
char
hmode,
int
status
); Get the history update mode for an NDF
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
ndfHsdat(const
char
datee,
int
indf,
int
status
); Set the date and time for the next history record in an NDF
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
ndfIsin(
int
indf1,
int
indf2,
int
*isin,
int
status
); Enquire if one NDF is contained within another 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
ndfPtszd(
double
scale,
double
zero,
int
indf,
const
char
comp,
int
status
); Store new scale and zero factors for a scaled array in an
NDF
void
ndfPtszi(
int
scale,
int
zero,
int
indf,
const
char
comp,
int
status
); Store new scale and zero factors for a scaled array in an NDF
void
ndfPtszr(
float
scale,
float
zero,
int
indf,
const
char
comp,
int
status
); Store new scale and zero factors for a scaled array in an
NDF
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
ndfSctyp(
int
indf,
const
char
comp,
char
type,
int
type_length,
int
status
); Obtain the numeric type of a scaled NDF array component
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
void
ndfZscal(
int
indf1,const
char
type,
double
scale[
2
],
double
zero[
2
],
int
place,
int
indf2,
int
*status
); Create a compressed copy of an NDF using SCALE compression