/*--------------------------------------
	macreslib.h ..to boldly go where we don't belong

	Marc Wolfgram,  3/ 4/92 22:01:49
*/

struct mrmHeader {			/* Macintush Resource File Header */
	long	dataOffset,
			mapOffset,
			dataLength,
			mapLength;
	char	resSystem[112],
			resApplication[128];
};
typedef struct mrmHeader mrmHeader, *mrmHeaderPtr, **mrmHeaderHndl;

struct mrmResource {			/* Macintush Resource */
	long	size;
	char	data[1];
};
typedef struct mrmResource mrmResource, *mrmResourcePtr;

struct mrmMap {				/* Macintush Resource File Map */
	long	headerCopy[4],
			nextMap;
	word	fileRef,
			fileAttributes,
			mapToTypeListOffset,
			mapToNameListOffset;
};
typedef struct mrmResource mrmResource, *mrmResourcePtr;

struct mrmTypeEntry {
	long	type;
	word	count, 	/* zero based */
			typeListToRefList;
}
typedef struct mrmTypeEntry mrmTypeEntry;

struct mrmTypeList {
	word	count;
	mrmTypeEntry	typeEntry[1];
}
typedef struct mrmTypeList mrmTypeList, *mrmTypeListPtr;

union mrmType {
	long	typeNum;
	char    typeStr[4];
};
typeder union mrmType mrmType, *memTypePtr;
