File:  [Qemu by Fabrice Bellard] / qemu / roms / openbios / packages / mac-parts.h
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 19:19:38 2018 UTC (8 years, 1 month ago) by root
Branches: qemu, MAIN
CVS tags: qemu1101, qemu1001, HEAD
qemu 1.0.1

/*
 *   Creation Date: <1999/07/06 15:45:12 samuel>
 *   Time-stamp: <2002/10/20 16:31:48 samuel>
 *
 *	<partition_table.h>
 *
 *	Headers describing the partition table
 *
 *   Copyright (C) 1999, 2002 Samuel Rydh ([email protected])
 *
 *   This program is free software; you can redistribute it and/or
 *   modify it under the terms of the GNU General Public License
 *   as published by the Free Software Foundation
 *
 */

#ifndef _H_PARTITION_TABLE
#define _H_PARTITION_TABLE

/* This information is based upon IM vol V. */

#define DESC_MAP_SIGNATURE	0x4552
#define DESC_PART_SIGNATURE	0x504d

enum {
	kPartitionAUXIsValid         = 0x00000001,
	kPartitionAUXIsAllocated     = 0x00000002,
	kPartitionAUXIsInUse         = 0x00000004,
	kPartitionAUXIsBootValid     = 0x00000008,
	kPartitionAUXIsReadable      = 0x00000010,
	kPartitionAUXIsWriteable     = 0x00000020,
	kPartitionAUXIsBootCodePositionIndependent = 0x00000040,
	kPartitionISMountedAtStartup = 0x40000000,
	kPartitionIsStartup          = 0x80000000,
	kPartitionIsChainCompatible  = 0x00000100,
	kPartitionIsRealDeviceDriver = 0x00000200,
	kPartitionCanChainToNext     = 0x00000400,
};

typedef struct {
	u32		ddBlock;		/* first block of driver */
	u16		ddSize;			/* driver size in blocks */
	s16		ddType;			/* 1 & -1 for SCSI */
} driver_entry_t;

typedef struct { /* Block 0 of a device */
	u16		sbSig;			/* always 0x4552 */
	u16		sbBlockSize;		/* 512 */
	s32		sbBlkCount;		/* #blocks on device */
	u16		sbDevType;    		/* 0 */
	u16		sbDevID;      		/* 0 */
	u32		sbData;      		/* 0 */
	s16		sbDrvrCount;		/* #driver descriptors */

	/* driver entries goes here */
	driver_entry_t	drivers[61] __attribute__ ((packed));

	u16		filler1;
	u32		filler2;
} desc_map_t;

typedef struct { /* Partition descriptor */
	u16		pmSig;			/* always 0x504d 'PM' */
	u16		pmSigPad;		/* 0 */
	u32		pmMapBlkCnt;		/* #blocks in partition map */
	u32		pmPyPartStart;		/* first physical block of part. */
	u32		pmPartBlkCnt;		/* #blocks in partition */
	char		pmPartName[32];		/* partition name */
	char		pmPartType[32];		/* partition type */

	/* these fields may or may not be used */
	u32		pmLgDataStart;
	u32		pmDataCnt;
	u32		pmPartStatus;
	u32		pmLgBootStart;
	u32		pmBootSize;
	u32		pmBootLoad;
	u32		pmBootLoad2;
	u32		pmBootEntry;
	u32		pmBootEntry2;
	u32		pmBootCksum;
	char		pmProcessor[16];

	char		filler[376];		/* might contain extra information */
} part_entry_t;


#endif   /* _H_PARTITION_TABLE */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.