diff options
author | Joseph Hunkeler <jhunkeler@gmail.com> | 2015-07-08 20:46:52 -0400 |
---|---|---|
committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2015-07-08 20:46:52 -0400 |
commit | fa080de7afc95aa1c19a6e6fc0e0708ced2eadc4 (patch) | |
tree | bdda434976bc09c864f2e4fa6f16ba1952b1e555 /lib/imio.h | |
download | iraf-linux-fa080de7afc95aa1c19a6e6fc0e0708ced2eadc4.tar.gz |
Initial commit
Diffstat (limited to 'lib/imio.h')
-rw-r--r-- | lib/imio.h | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/lib/imio.h b/lib/imio.h new file mode 100644 index 00000000..f4698ee2 --- /dev/null +++ b/lib/imio.h @@ -0,0 +1,93 @@ +# IMIO.H -- IMIO internal definitions. + +define DEF_PIXTYPE TY_REAL # pixel type on disk +define DEF_HGMLEN 512 # length of histogram +define DEF_COMPRESS NO # align lines on blk boundaries +define DEF_ADVICE SEQUENTIAL # type of access to optimize for +define DEF_FIOBUFFRAC 10 # FIO buf as percent of image +define DEF_FIOBUFSIZE 262144 # default FIO buffer size +define DEF_MAXFIOBUFSIZE 16777216 # "soft" max FIO buffer size +define MAX_HGMLEN 2048 # maximum size histogram +define IM_MAXSTEP 64 # step size breakpoint +define MIN_LENUSERAREA 64000 # user area size (chars) +define SZ_UAPAD 5120 # padding at end of UA if copy +define SZ_IMNAME 128 # IM_NAME field (prev 79) + +define ENV_BUFSIZE "IMIO_BUFSIZE" # envvar for bufsize +define ENV_BUFFRAC "IMIO_BUFFRAC" # envvar for buffrac +define ENV_BUFMAX "IMIO_BUFMAX" # envvar for bufmax + +define LOOP_DONE 1 # used by IMLOOP +define LOOP_AGAIN 0 +define IM_READ 0 # used by IMCSSZ +define IM_WRITE 1 + +# The IMIO runtime Image Descriptor Structure. + +define LEN_IMDES 200 + +define IM_FILESIZE Meml[$1] # size of pixfile +define IM_NGET Meml[$1+1] # number getpix calls +define IM_ACMODE Memi[$1+2] # access mode (ro, rw, etc.) +define IM_VNBUFS Memi[$1+3] # number of in buffers +define IM_VCOMPRESS Memi[$1+4] # if YES, len[i] == physlen[i] +define IM_VADVICE Memi[$1+5] # expected type of access +define IM_VBUFSIZE Memi[$1+6] # recommended FIO buffer size +define IM_VBUFFRAC Memi[$1+7] # FIO buffer as image fraction +define IM_VBUFMAX Memi[$1+8] # max FIO buffer size +define IM_VCLOSEFD Memi[$1+9] # set F_CLOSEFD on pixfile +define IM_VNBNDRYPIX Memi[$1+10] # npixels of boundary extension +define IM_VTYBNDRY Memi[$1+11] # type of boundary extension +define IM_VFLAGBADPIX Memi[$1+12] # flag bad pixels upon input +define IM_FLUSH Memi[$1+13] # flush outbuf? +define IM_UPDATE Memi[$1+14] # update header? +define IM_FLUSHEPA Memi[$1+15] # epa of imfls? routine +define IM_IBDES Memi[$1+16] # input bufdes +define IM_OBDES Memi[$1+17] # output bufdes +define IM_LASTBDES Memi[$1+18] # last buffer accessed +define IM_OHDR Memi[$1+19] # if newcopy, ptr to old header +define IM_NPHYSDIM Memi[$1+20] # number of physical dims +define IM_SECTUSED Memi[$1+21] # image section in use +define IM_FAST Memi[$1+22] # fast i/o permitted +define IM_SWAP Memi[$1+23] # byte swapping required +define IM_SVMTIME Meml[$1+24] # new time of last modify +define IM_OOBPIX Memr[P2R($1+25)] # value for out of bounds pixels +define IM_KERNEL Memi[$1+26] # IKI kernel assigned (runtime) +define IM_KDES Memi[$1+27] # IKI kernel descriptor +define IM_HFD Memi[$1+28] # header file descriptor +define IM_PFD Memi[$1+29] # pixel file descriptor +define IM_LENHDRMEM Memi[$1+30] # descr. length, IM_MAGIC to end +define IM_UABLOCKED Memi[$1+31] # user area blocked, 80 chars +define IM_CLINDEX Memi[$1+32] # index of image in cluster +define IM_CLSIZE Memi[$1+33] # no. images in cluster +define IM_PL Memi[$1+34] # PL descriptor if mask image +define IM_PLREFIM Memi[$1+35] # PL reference image if any +define IM_PLFLAGS Memi[$1+36] # PL mask i/o flags + # (extra space) +define IM_SVLEN Meml[$1+$2+40-1] # save true axis lengths +define IM_VMAP Memi[$1+$2+47-1] # map section dimensions +define IM_VOFF Meml[$1+$2+54-1] # section offsets +define IM_VSTEP Memi[$1+$2+61-1] # section sample step size +define IM_NAME Memc[P2C($1+68)] # imagefile name + # (extra space) + +# IM_PLFLAGS bit flags. +define PL_ACMODE mod($1,100B) # extract access mode +define PL_FLAGS (($1)/100B*100B) # extract flags bits + +define PL_RLIO 1 # range list i/o desired +define PL_FAST 2 # no pixel conversions needed +define PL_CLOSEPL 4 # close descriptor at imunmap +define PL_BOOL 8 # boolean mask + +# Buffer Descriptor Structure + +define LEN_BDES 19 + +define BD_BUFPTR Memi[$1] # buffer pointer +define BD_DTYPE Memi[$1+1] # datatype of pixels +define BD_NPIX Memi[$1+2] # number of pixels in buf +define BD_NDIM Memi[$1+3] # dimensionality of section +define BD_BUFSIZE Memi[$1+4] # buffer size, chars +define BD_VS Meml[$1+$2+5-1] # section start vector +define BD_VE Meml[$1+$2+12-1] # section end vector |