(*********************************************************************************************************************************)
(* Created 12-MAY-1988 14:23:13  by  VAX-11 SDL V3.0-1     Source: 12-MAY-1988 14:22:40 DUA0:[BRIAN.DECUS.EXAMPLES.MANDELZOOM]STRUC 
*)
(*********************************************************************************************************************************)
 
 
MODULE STRUCTS ;
 
[HIDDEN] TYPE	(**** Pre-declared data types ****)
	$BYTE = [BYTE] -128..127;
	$WORD = [WORD] -32768..32767;
	$QUAD = [QUAD,UNSAFE] RECORD
		L0:UNSIGNED; L1:INTEGER; END;
	$OCTA = [OCTA,UNSAFE] RECORD
		L0,L1,L2:UNSIGNED; L3:INTEGER; END;
	$UBYTE = [BYTE] 0..255;
	$UWORD = [WORD] 0..65535;
	$UQUAD = [QUAD,UNSAFE] RECORD
		L0,L1:UNSIGNED; END;
	$UOCTA = [OCTA,UNSAFE] RECORD
		L0,L1,L2,L3:UNSIGNED; END;
	$PACKED_DEC = [BIT(4),UNSAFE] 0..15;
	$DEFTYP = [UNSAFE] INTEGER;
	$DEFPTR = [UNSAFE] ^$DEFTYP;
	$BOOL = [BIT(1),UNSAFE] BOOLEAN;
	$BIT2 = [BIT(2),UNSAFE] 0..3;
	$BIT3 = [BIT(3),UNSAFE] 0..7;
	$BIT4 = [BIT(4),UNSAFE] 0..15;
	$BIT5 = [BIT(5),UNSAFE] 0..31;
	$BIT6 = [BIT(6),UNSAFE] 0..63;
	$BIT7 = [BIT(7),UNSAFE] 0..127;
	$BIT8 = [BIT(8),UNSAFE] 0..255;
	$BIT9 = [BIT(9),UNSAFE] 0..511;
	$BIT10 = [BIT(10),UNSAFE] 0..1023;
	$BIT11 = [BIT(11),UNSAFE] 0..2047;
	$BIT12 = [BIT(12),UNSAFE] 0..4095;
	$BIT13 = [BIT(13),UNSAFE] 0..8191;
	$BIT14 = [BIT(14),UNSAFE] 0..16383;
	$BIT15 = [BIT(15),UNSAFE] 0..32767;
	$BIT16 = [BIT(16),UNSAFE] 0..65535;
	$BIT17 = [BIT(17),UNSAFE] 0..131071;
	$BIT18 = [BIT(18),UNSAFE] 0..262143;
	$BIT19 = [BIT(19),UNSAFE] 0..524287;
	$BIT20 = [BIT(20),UNSAFE] 0..1048575;
	$BIT21 = [BIT(21),UNSAFE] 0..2097151;
	$BIT22 = [BIT(22),UNSAFE] 0..4194303;
	$BIT23 = [BIT(23),UNSAFE] 0..8388607;
	$BIT24 = [BIT(24),UNSAFE] 0..16777215;
	$BIT25 = [BIT(25),UNSAFE] 0..33554431;
	$BIT26 = [BIT(26),UNSAFE] 0..67108863;
	$BIT27 = [BIT(27),UNSAFE] 0..134217727;
	$BIT28 = [BIT(28),UNSAFE] 0..268435455;
	$BIT29 = [BIT(29),UNSAFE] 0..536870911;
	$BIT30 = [BIT(30),UNSAFE] 0..1073741823;
	$BIT31 = [BIT(31),UNSAFE] 0..2147483647;
	$BIT32 = [BIT(32),UNSAFE] UNSIGNED;
 
(*** MODULE _structs ***)
 
(*                                                                          *)
(*	Header definition                                                   *)
(*                                                                          *)
 
CONST	hdr_k_version = 1;              (* Current version of the program   *)
	hdr_k_length = 512;             (* Size of this structure           *)
 
TYPE	hdrdef = RECORD
	    hdr_l_version : UNSIGNED;   (* Version of the program that wrote this file *)
	    hdr_f_center_r : SINGLE;    (* Center point, real part          *)
	    hdr_f_center_i : SINGLE;    (* Center point, imaginary part     *)
	    hdr_f_scale_r : SINGLE;     (* Scale, real part                 *)
	    hdr_f_scale_i : SINGLE;     (* Scale, imaginary part            *)
	    hdr_l_hsize : UNSIGNED;     (* Horizontal size in pixels        *)
	    hdr_l_vsize : UNSIGNED;     (* Vertical size in pixels          *)
	    hdr_q_time : $UQUAD;        (* Time/date when image was computed *)
	    hdr_l_pixel_size : UNSIGNED; (* Bytes per pixel                 *)
	    hdr_l_max_value : UNSIGNED; (* Maximum pixel value              *)
	END;
 
(*                                                                          *)
(*	Color table definition                                              *)
(*                                                                          *)
 
TYPE	ctbldef = RECORD
	    ctbl_b_red : $UBYTE;        (* Red component                    *)
	    ctbl_b_grn : $UBYTE;        (* Green component                  *)
	    ctbl_b_blu : $UBYTE;        (* Blue component                   *)
	    ctbl_b_spare : $UBYTE;      (* Spare, to fill out structure to a longword *)
	END;
 
END.
