Annotation of qemu/roms/openbios/packages/mac-parts.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  *   Creation Date: <1999/07/06 15:45:12 samuel>
                      3:  *   Time-stamp: <2002/10/20 16:31:48 samuel>
                      4:  *
                      5:  *     <partition_table.h>
                      6:  *
                      7:  *     Headers describing the partition table
                      8:  *
                      9:  *   Copyright (C) 1999, 2002 Samuel Rydh ([email protected])
                     10:  *
                     11:  *   This program is free software; you can redistribute it and/or
                     12:  *   modify it under the terms of the GNU General Public License
                     13:  *   as published by the Free Software Foundation
                     14:  *
                     15:  */
                     16: 
                     17: #ifndef _H_PARTITION_TABLE
                     18: #define _H_PARTITION_TABLE
                     19: 
                     20: /* This information is based upon IM vol V. */
                     21: 
                     22: #define DESC_MAP_SIGNATURE     0x4552
                     23: #define DESC_PART_SIGNATURE    0x504d
                     24: 
                     25: enum {
                     26:        kPartitionAUXIsValid         = 0x00000001,
                     27:        kPartitionAUXIsAllocated     = 0x00000002,
                     28:        kPartitionAUXIsInUse         = 0x00000004,
                     29:        kPartitionAUXIsBootValid     = 0x00000008,
                     30:        kPartitionAUXIsReadable      = 0x00000010,
                     31:        kPartitionAUXIsWriteable     = 0x00000020,
                     32:        kPartitionAUXIsBootCodePositionIndependent = 0x00000040,
                     33:        kPartitionISMountedAtStartup = 0x40000000,
                     34:        kPartitionIsStartup          = 0x80000000,
                     35:        kPartitionIsChainCompatible  = 0x00000100,
                     36:        kPartitionIsRealDeviceDriver = 0x00000200,
                     37:        kPartitionCanChainToNext     = 0x00000400,
                     38: };
                     39: 
                     40: typedef struct {
                     41:        u32             ddBlock;                /* first block of driver */
                     42:        u16             ddSize;                 /* driver size in blocks */
                     43:        s16             ddType;                 /* 1 & -1 for SCSI */
                     44: } driver_entry_t;
                     45: 
                     46: typedef struct { /* Block 0 of a device */
                     47:        u16             sbSig;                  /* always 0x4552 */
                     48:        u16             sbBlockSize;            /* 512 */
                     49:        s32             sbBlkCount;             /* #blocks on device */
                     50:        u16             sbDevType;              /* 0 */
                     51:        u16             sbDevID;                /* 0 */
                     52:        u32             sbData;                 /* 0 */
                     53:        s16             sbDrvrCount;            /* #driver descriptors */
                     54: 
                     55:        /* driver entries goes here */
                     56:        driver_entry_t  drivers[61] __attribute__ ((packed));
                     57: 
                     58:        u16             filler1;
                     59:        u32             filler2;
                     60: } desc_map_t;
                     61: 
                     62: typedef struct { /* Partition descriptor */
                     63:        u16             pmSig;                  /* always 0x504d 'PM' */
                     64:        u16             pmSigPad;               /* 0 */
                     65:        u32             pmMapBlkCnt;            /* #blocks in partition map */
                     66:        u32             pmPyPartStart;          /* first physical block of part. */
                     67:        u32             pmPartBlkCnt;           /* #blocks in partition */
                     68:        char            pmPartName[32];         /* partition name */
                     69:        char            pmPartType[32];         /* partition type */
                     70: 
                     71:        /* these fields may or may not be used */
                     72:        u32             pmLgDataStart;
                     73:        u32             pmDataCnt;
                     74:        u32             pmPartStatus;
                     75:        u32             pmLgBootStart;
                     76:        u32             pmBootSize;
                     77:        u32             pmBootLoad;
                     78:        u32             pmBootLoad2;
                     79:        u32             pmBootEntry;
                     80:        u32             pmBootEntry2;
                     81:        u32             pmBootCksum;
                     82:        char            pmProcessor[16];
                     83: 
                     84:        char            filler[376];            /* might contain extra information */
                     85: } part_entry_t;
                     86: 
                     87: 
                     88: #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.