ximio
# Interface definition file for IMIO
# 21 May 1998: Modified name of C-binding for imaccess.x; conflict with 
# the IRAF LIBC routine.  M.D. De La Pena
# 07 July 1999 -  MDD: Added the tf/impgs[sirld] interfaces.

/h/# include <c_iraf.h>

# IMIO includes and char conversion routines
/c/# include <ximio.h>
/c/# include <c_iraf_priv.h>
/c/# include <stdlib.h>
/c/

immap.x:# procedure for an imagefile.
immap.x:pointer procedure immap (imspec:i, acmode:i, hdr_arg:i<p>)
imunmap.x:procedure imunmap (im:i)
tf/imgl1d.x:pointer<d> procedure imgl1d (im:i)
tf/imgl1i.x:pointer<i> procedure imgl1i (im:i)
tf/imgl1l.x:pointer<l> procedure imgl1l (im:i)
tf/imgl1r.x:pointer<r> procedure imgl1r (im:i)
tf/imgl1s.x:pointer<s> procedure imgl1s (im:i)
tf/imgl1x.x:pointer<x> procedure imgl1x (im:i)
tf/imgl2d.x:pointer<d> procedure imgl2d (im:i, linenum:i)
tf/imgl2i.x:pointer<i> procedure imgl2i (im:i, linenum:i)
tf/imgl2l.x:pointer<l> procedure imgl2l (im:i, linenum:i)
tf/imgl2r.x:pointer<r> procedure imgl2r (im:i, linenum:i)
tf/imgl2s.x:pointer<s> procedure imgl2s (im:i, linenum:i)
tf/imgl2x.x:pointer<x> procedure imgl2x (im:i, linenum:i)
tf/imgl3d.x:pointer<d> procedure imgl3d (im:i, line:i, band:i)
tf/imgl3i.x:pointer<i> procedure imgl3i (im:i, line:i, band:i)
tf/imgl3l.x:pointer<l> procedure imgl3l (im:i, line:i, band:i)
tf/imgl3r.x:pointer<r> procedure imgl3r (im:i, line:i, band:i)
tf/imgl3s.x:pointer<s> procedure imgl3s (im:i, line:i, band:i)
tf/imgl3x.x:pointer<x> procedure imgl3x (im:i, line:i, band:i)
tf/impl1d.x:pointer<d> procedure impl1d (im:i)
tf/impl1i.x:pointer<i> procedure impl1i (im:i)
tf/impl1l.x:pointer<l> procedure impl1l (im:i)
tf/impl1r.x:pointer<r> procedure impl1r (im:i)
tf/impl1s.x:pointer<s> procedure impl1s (im:i)
tf/impl1x.x:pointer<x> procedure impl1x (im:i)
tf/impl2d.x:pointer<d> procedure impl2d (im:i, linenum:i)
tf/impl2i.x:pointer<i> procedure impl2i (im:i, linenum:i)
tf/impl2l.x:pointer<l> procedure impl2l (im:i, linenum:i)
tf/impl2r.x:pointer<r> procedure impl2r (im:i, linenum:i)
tf/impl2s.x:pointer<s> procedure impl2s (im:i, linenum:i)
tf/impl2x.x:pointer<x> procedure impl2x (im:i, linenum:i)
tf/impl3d.x:pointer<d> procedure impl3d (im:i, line:i, band:i)
tf/impl3i.x:pointer<i> procedure impl3i (im:i, line:i, band:i)
tf/impl3l.x:pointer<l> procedure impl3l (im:i, line:i, band:i)
tf/impl3r.x:pointer<r> procedure impl3r (im:i, line:i, band:i)
tf/impl3s.x:pointer<s> procedure impl3s (im:i, line:i, band:i)
tf/impl3x.x:pointer<x> procedure impl3x (im:i, line:i, band:i)
tf/imgnld.x:int procedure imgnld (imdes:i, lineptr:o<d>, v)
tf/imgnli.x:int procedure imgnli (imdes:i, lineptr:o<i>, v)
tf/imgnll.x:int procedure imgnll (imdes:i, lineptr:o<l>, v)
tf/imgnlr.x:int procedure imgnlr (imdes:i, lineptr:o<r>, v)
tf/imgnls.x:int procedure imgnls (imdes:i, lineptr:o<s>, v)
tf/imgnlx.x:int procedure imgnlx (imdes:i, lineptr:o<x>, v)
tf/impnld.x:int procedure impnld (imdes:i, lineptr:o<d>, v)
tf/impnli.x:int procedure impnli (imdes:i, lineptr:o<i>, v)
tf/impnll.x:int procedure impnll (imdes:i, lineptr:o<l>, v)
tf/impnlr.x:int procedure impnlr (imdes:i, lineptr:o<r>, v)
tf/impnls.x:int procedure impnls (imdes:i, lineptr:o<s>, v)
tf/impnlx.x:int procedure impnlx (imdes:i, lineptr:o<x>, v)
tf/imgs1d.x:pointer<d> procedure imgs1d (im:i, x1:i, x2:i)
tf/imgs1i.x:pointer<i> procedure imgs1i (im:i, x1:i, x2:i)
tf/imgs1l.x:pointer<l> procedure imgs1l (im:i, x1:i, x2:i)
tf/imgs1r.x:pointer<r> procedure imgs1r (im:i, x1:i, x2:i)
tf/imgs1s.x:pointer<s> procedure imgs1s (im:i, x1:i, x2:i)
tf/imgs1x.x:pointer<x> procedure imgs1x (im:i, x1:i, x2:i)
tf/imgs2d.x:pointer<d> procedure imgs2d (im:i, x1:i, x2:i, y1:i, y2:i)
tf/imgs2i.x:pointer<i> procedure imgs2i (im:i, x1:i, x2:i, y1:i, y2:i)
tf/imgs2l.x:pointer<l> procedure imgs2l (im:i, x1:i, x2:i, y1:i, y2:i)
tf/imgs2r.x:pointer<r> procedure imgs2r (im:i, x1:i, x2:i, y1:i, y2:i)
tf/imgs2s.x:pointer<s> procedure imgs2s (im:i, x1:i, x2:i, y1:i, y2:i)
tf/imgs2x.x:pointer<x> procedure imgs2x (im:i, x1:i, x2:i, y1:i, y2:i)
tf/imgs3d.x:pointer<d> procedure imgs3d (im:i, x1:i, x2:i, y1:i, y2:i, z1:i, z2:i)
tf/imgs3i.x:pointer<i> procedure imgs3i (im:i, x1:i, x2:i, y1:i, y2:i, z1:i, z2:i)
tf/imgs3l.x:pointer<l> procedure imgs3l (im:i, x1:i, x2:i, y1:i, y2:i, z1:i, z2:i)
tf/imgs3r.x:pointer<r> procedure imgs3r (im:i, x1:i, x2:i, y1:i, y2:i, z1:i, z2:i)
tf/imgs3s.x:pointer<s> procedure imgs3s (im:i, x1:i, x2:i, y1:i, y2:i, z1:i, z2:i)
tf/imgs3x.x:pointer<x> procedure imgs3x (im:i, x1:i, x2:i, y1:i, y2:i, z1:i, z2:i)
tf/imps1d.x:pointer<d> procedure imps1d (im:i, x1:i, x2:i)
tf/imps1i.x:pointer<i> procedure imps1i (im:i, x1:i, x2:i)
tf/imps1l.x:pointer<l> procedure imps1l (im:i, x1:i, x2:i)
tf/imps1r.x:pointer<r> procedure imps1r (im:i, x1:i, x2:i)
tf/imps1s.x:pointer<s> procedure imps1s (im:i, x1:i, x2:i)
tf/imps1x.x:pointer<x> procedure imps1x (im:i, x1:i, x2:i)
tf/imps2d.x:pointer<d> procedure imps2d (im:i, x1:i, x2:i, y1:i, y2:i)
tf/imps2i.x:pointer<i> procedure imps2i (im:i, x1:i, x2:i, y1:i, y2:i)
tf/imps2l.x:pointer<l> procedure imps2l (im:i, x1:i, x2:i, y1:i, y2:i)
tf/imps2r.x:pointer<r> procedure imps2r (im:i, x1:i, x2:i, y1:i, y2:i)
tf/imps2s.x:pointer<s> procedure imps2s (im:i, x1:i, x2:i, y1:i, y2:i)
tf/imps2x.x:pointer<x> procedure imps2x (im:i, x1:i, x2:i, y1:i, y2:i)
tf/imps3d.x:pointer<d> procedure imps3d (im:i, x1:i, x2:i, y1:i, y2:i, z1:i, z2:i)
tf/imps3i.x:pointer<i> procedure imps3i (im:i, x1:i, x2:i, y1:i, y2:i, z1:i, z2:i)
tf/imps3l.x:pointer<l> procedure imps3l (im:i, x1:i, x2:i, y1:i, y2:i, z1:i, z2:i)
tf/imps3r.x:pointer<r> procedure imps3r (im:i, x1:i, x2:i, y1:i, y2:i, z1:i, z2:i)
tf/imps3s.x:pointer<s> procedure imps3s (im:i, x1:i, x2:i, y1:i, y2:i, z1:i, z2:i)
tf/imps3x.x:pointer<x> procedure imps3x (im:i, x1:i, x2:i, y1:i, y2:i, z1:i, z2:i)
tf/imggsd.x:pointer<d> procedure imggsd (imdes:i, vs:i, ve:i, ndim:i)
tf/imggsi.x:pointer<i> procedure imggsi (imdes:i, vs:i, ve:i, ndim:i)
tf/imggsl.x:pointer<l> procedure imggsl (imdes:i, vs:i, ve:i, ndim:i)
tf/imggsr.x:pointer<r> procedure imggsr (imdes:i, vs:i, ve:i, ndim:i)
tf/imggss.x:pointer<s> procedure imggss (imdes:i, vs:i, ve:i, ndim:i)
tf/imggsx.x:pointer<x> procedure imggsx (imdes:i, vs:i, ve:i, ndim:i)
tf/impgsd.x:pointer<d> procedure impgsd (imdes:i, vs:i, ve:i, ndim:i)
tf/impgsi.x:pointer<i> procedure impgsi (imdes:i, vs:i, ve:i, ndim:i)
tf/impgsl.x:pointer<l> procedure impgsl (imdes:i, vs:i, ve:i, ndim:i)
tf/impgsr.x:pointer<r> procedure impgsr (imdes:i, vs:i, ve:i, ndim:i)
tf/impgss.x:pointer<s> procedure impgss (imdes:i, vs:i, ve:i, ndim:i)
tf/impgsx.x:pointer<x> procedure impgsx (imdes:i, vs:i, ve:i, ndim:i)
imflush.x:# flush procedure is saved in the image descriptor by IMPGS?.
imflush.x:procedure imflush (imdes:i)
imaccess.x:int procedure imaccess|ximaccess (image:i, acmode:i)
imcopy.x:procedure imcopy (old:i, new|newname:i)
imdelete.x:procedure imdelete (image:i)
imrename.x:procedure imrename (old:i, new|newname:i)
imgsect.x:procedure imgsection (imspec:i, section:o, maxch:i)
imgimage.x:procedure imgimage (imspec:i, image:o, maxch:i)
imgclust.x:procedure imgcluster (imspec:i, cluster:o, maxch:i)
db/imgetb.x:bool procedure imgetb (im:i, key:i)
db/imgetc.x:char procedure imgetc (im:i, key:i)
db/imgetd.x:double procedure imgetd (im:i, key:i)
db/imgeti.x:int procedure imgeti (im:i, key:i)
db/imgetl.x:long procedure imgetl (im:i, key:i)
db/imgetr.x:real procedure imgetr (im:i, key:i)
db/imgets.x:short procedure imgets (im:i, key:i)
db/imgstr.x:procedure imgstr (im:i, key:i, outstr:o, maxch:i)
db/imputb.x:procedure imputb (im:i, key:i, bval:i)
db/imputd.x:procedure imputd (im:i, key:i, dval:i)
db/imputh.x:procedure imputh (im:i, key:i, text:i)
db/imputi.x:procedure imputi (im:i, key:i, ival:i)
db/imputl.x:procedure imputl (im:i, key:i, lval:i)
db/imputr.x:procedure imputr (im:i, key:i, rval:i)
db/imputs.x:procedure imputs (im:i, key:i, value:i)
db/impstr.x:procedure impstr (im:i, key:i, value:i)
db/imaddb.x:procedure imaddb (im:i, key:i, value:i)
db/imaddd.x:procedure imaddd (im:i, key:i, value:i)
db/imaddi.x:procedure imaddi (im:i, key:i, value:i)
db/imaddl.x:procedure imaddl (im:i, key:i, value:i)
db/imaddr.x:procedure imaddr (im:i, key:i, value:i)
db/imadds.x:procedure imadds (im:i, key:i, value:i)
db/imastr.x:procedure imastr (im:i, key:i, value:i)
db/imaddf.x:procedure imaddf (im:i, key:i, datatype:i)
db/imdelf.x:procedure imdelf (im:i, key:i)
db/imaccf.x:int procedure imaccf (im:i, key:i)
db/imgftype.x:int procedure imgftype (im:i, key:i)
db/imgnfn.x:pointer procedure imofnls (im:i, template|pattern:i)
db/imgnfn.x:pointer procedure imofnlu (im:i, template|pattern:i)
db/imgnfn.x:int procedure imgnfn (fn:i, outstr:o, maxch:i)
db/imgnfn.x:procedure imcfnl (fn:i)
imt.x:pointer	procedure imtopen (template|pattern:i)
imt.x:int procedure imtlen (imt:i)
imt.x:procedure imtrew (imt:i)
imt.x:int procedure imtgetim (imt:i, outstr:o, maxch:i)
imt.x:procedure imtclose (imt:i)
# The above are all the procedures mentioned in sections 2.3.1-2.3.6
imt.x:pointer	procedure imtopenp (param:i) 
imt.x:int procedure imtrgetim (imt:i, index:i, outstr:o, maxch:i)
imt.x:int procedure imt_mapname (fnt:i, outstr:o, maxch:i)
