/* template for IRAF list-format point cursor coordinate filename */
#ifdef VMS
#define	COORDFILE	"frame.%d_%d"
#else
#define	COORDFILE	"frame.%d.%d"
#endif
	/* template for world coordinate system file name */
#define	WCSFILE		"imtool_%d.wcs"
#define	SZ_WCSBUF	320	/* WCS text buffer size */
	/* user's local frame buffer configurations */
#define	FBCONFIG_1	".imtoolrc"
	/* system wide frame buffer configurations */
#ifndef FBCONFIG_2
#define	FBCONFIG_2	"/usr/local/lib/imtoolrc"
#endif
	/* two choices of system environment varibale names */
#define	FBCONFIG_ENV1	"imtoolrc"
#define	FBCONFIG_ENV2	"IMTOOLRC"
	/* default values */
#define	DEF_NCONFIG		1	/* number of f.b. configs */
#define	DEF_NFRAMES		1	/* save memory; only one frame */
#define	DEF_FRAME_WIDTH		512	/* 512 square frame */
#define	DEF_FRAME_HEIGHT	512	/* 512 square frame */
	/* range of display vazlues used by imtool */
#define CMS_DATASTART	1	/* minimum data */
#define CMS_DATAEND	200	/* value imtool uses as data maximum */
#define CMS_DATARANGE	200	/* range of display values in imtool */
	/* types of scaling algorithms used by images.tv.display */
#define W_UNITARY	0	/* direct unscaled */
#define W_LINEAR	1	/* linear but from given low to high */
#define W_LOG		2	/* log from low to high */

	/* codes for the imtool packet (IIS) header */
#define	MEMORY		001	/* packet with image data */
#define	LUT		02	/* switch display buffer */
#define	FEEDBACK	005	/* for imtool, do clear and fbconfig */
#define	IMCURSOR	020	/* logical image cursor */
#define	IWCS		021	/* used to set WCS */
#define	PACKED		0040000	/* bit indicates byte data (in tid) */
#define	COMMAND		0100000	/* bit with LUT to set disp frame */
#define	IIS_READ	0100000	/* tid w/ MEMORY to read back dsip buf */
#define	IMC_SAMPLE	0040000	/* code for read cursor now */
#define	IMT_FBCONFIG	077	/* mask for fbconfig num (in tid) */


struct imtoolRec {
  short tid;		/* Type of message identifier ("transfer id") */
  short thingct;	/* Count appropriate to message type */
  short subunit;	/* Intended target type (MEMORY,LUT,FEEDBACK,etc) */
  short checksum;	/* Error check */
  short x, y;		/* (y,x & 01777) are UL coordinates in MEMORY packet */
  short z;		/* (z & 07777) is frame number in FEEDBACK & MEMORY */
  short t;		/* ? */
};

	/* maximum transfer size (pixels per packet) */
#ifdef VMS
#define SZ_FIFOBUF 8192
#else
#ifdef IRAF25
#define SZ_FIFOBUF 4096
#else
#define SZ_FIFOBUF 4000		/* transfer size for FIFO i/o */
#endif
#endif

/* Feb 25 1998	Changed WCS flag to IWCS to avoid interferences with wcslib
 */


syntax highlighted by Code2HTML, v. 0.9.1