File: arc.h

package info (click to toggle)
macutils 2.0b3-17.1
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 1,264 kB
  • sloc: ansic: 12,737; makefile: 661
file content (51 lines) | stat: -rwxr-xr-x 1,196 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#define	MAGIC1		0	/* Should be 0x1b, marks Mac extension */
#define	KIND		1	/* KIND == 0 marks end of archive */
#define	FNAME		2
#define	FILLER		33
#define	FTYPE		34
#define	FAUTH		38
#define	FINFO		42
#define	FDATA		50
#define	FRSRC		54
#define	FILLER		58
#define	MAGIC2		59	/* Should be 0x1a, true Arc header start */
#define	KIND2		60	/* Should be identical to KIND */
#define	FNAME2		61	/* A PC-ified version of the filename */
#define	SIZE		74
#define	DATE		78
#define	TIME		80
#define	CRC		82
#define	SIZE2		84	/* Not present if KIND == 1 */
#define	HEADERBYTES	88

typedef struct fileHdr { /* 84 or 88 bytes */
	char		magic1;
	char		kind;
	char		fname[31];
	char		filler;		/* ??? */
	char		ftype[4];
	char		fauth[4];
	char		finfo[8];
	unsigned long	dataLength;
	unsigned long	rsrcLength;
	char		filler;
	char		magic2;
	char		kind2;
	char		fname2[13];
	unsigned long	size;
	unsigned short	date;
	unsigned short	time;
	unsigend short	crc;
	unsigned long	size2;	/* Identical to size; this is wrong for Arc! */
};

#define	smallstored	1
#define	stored		2
#define	packed		3
#define	squeezed	4
#define	crunched1	5
#define	crunched2	6
#define	crunched3	7
#define	crunched4	8
#define	squashed	9