1 
2 #define FLITYPE 0xAF11
3 #define FLCTYPE 0xAF12
4 
5 #define COLOR_256	4
6 #define DELTA_FLC	7
7 #define COLOR_64	11
8 #define DELTA_FLI	12
9 #define BLACK		13
10 #define BYTE_RUN	15
11 #define LITERAL		16
12 #define PSTAMP		18
13 
14 /* Structure of flic file header. Fields with + before the comment are FLC only. */
15 struct FLI_HEADER {
16 	long			size;		/*  size of entire file */
17 	unsigned short int	type;		/*  0xAF12 = FLC, 0xAF11 = FLI */
18 	short int		frames;		/*  number of frames in flic */
19 	short int 		width;		/*  screen width in pixels */
20 	short int 		height;		/*  sceen height in pixels */
21 	short int 		depth;		/*  bits per pixel (always 8) */
22 	unsigned short int	flags;		/*  set to 0x0003 */
23 	long			speed;		/*  time delay between frames, FLI: 1/70thsec, FLC: msec */
24 	short int 		reserved0;	/*  set to 0 */
25 	long			created;	/*+ MS-DOS formatted date and time of creation */
26 	long			creator;	/*+ Animator Pro serial number */
27 	long			updated;	/*+ date of last update */
28 	long 			updater;	/*+ Serial number of updating program */
29 	short int		aspectx;	/*+ ratio of screen used to create flic */
30 	short int 		aspecty;	/*+ */
31 	char  			reserved1[38];	/*+ 38 bytes set to 0 */
32 	long			oframe1;	/*+ file offset of first frame */
33 	long			oframe2;	/*+ file offset of second frame */
34 	char                    reserved2[40];	/*  40 bytes set to 0 */
35 };
36 
37 #define FLI_HEADERLEN ( sizeof( struct FLI_HEADER ) )
38 
39 struct FLI_CHUNK_HEADER {
40 	long 			size;		/* size of chunk */
41 	short unsigned int	type;		/* chunk type */
42 	short unsigned int 	chunks;		/* number of subchunks */
43 	char 			reserved[8];	/* set to 0 */
44 };
45 
46 #define FLI_CHUNK_HEADERLEN ( sizeof( struct FLI_CHUNK_HEADER ) )