#ifndef _HL_FILTER_H
#define _HL_FILTER_H

/*
 * hl_filter.h
 *
 * Definitions for HamLab input filters
 *
 * $Id: hl_filter.h,v 1.1 90/07/13 19:25:29 jeh Exp $
 *
 * $Log:	hl_filter.h,v $
 * Revision 1.1  90/07/13  19:25:29  jeh
 * Initial revision
 * 
 */

/* exit codes are important to HamLab
 *
 * 0 -- success, output file successfully created
 * 1 -- partial success, output file created, but data may be bad
 * 2 -- failed because the file is not of the right type
 * 3 -- failed because of an unrecoverable error
 * 4 -- aborted by user
 *
 * Unfortunately, exit codes are the only feedback that a filter can get back to
 * the user.  AmigaDOS is too brain-damaged to allow stderr to be redirected to
 * somewhere where HamLab can grab the message and put it in its window.
 */
#define	EXIT_SUCCESS	0
#define EXIT_PARTIAL	1
#define EXIT_WRONGTYPE	2
#define EXIT_ERROR	3
#define EXIT_ABORTED	4

/* intermediate graphics file format
 * (what could be simpler?)
 *
 * 12 bit file (don't use unless you can guarantee that the original picture had
 * a pallete at least as small as the Amiga's 4096 color pallete).
 *
 * 3 BYTES	"IL1"
 * WORD		width in pixels
 * WORD		height in pixels
 * WORD		background color (12 bit rgb data) 0x0RGB
 * 12 BITS	12 bit rgb data per pixel,0xRGB
 *
 * 24 bit file
 *
 * 3 BYTES	"IL2"
 * WORD		width in pixels
 * WORD		height in pixels
 * LONG		background color (24 bit rgb data) 0x00RRGGBB
 * 24 BITS	24 bit rgb data per pixel,0xRRGGBB
 *
 * Everything is written in 680x0 byte order, i.e. high byte first.
 */

#define HL_12BITHEADER	"HL1"
#define HL_24BITHEADER	"HL2"

#endif
