Annotation of kernel/bsd/dev/ppc/disk.h, revision 1.1

1.1     ! root        1: /*
        !             2:  * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
        !             3:  *
        !             4:  * @APPLE_LICENSE_HEADER_START@
        !             5:  * 
        !             6:  * Portions Copyright (c) 1999 Apple Computer, Inc.  All Rights
        !             7:  * Reserved.  This file contains Original Code and/or Modifications of
        !             8:  * Original Code as defined in and that are subject to the Apple Public
        !             9:  * Source License Version 1.1 (the "License").  You may not use this file
        !            10:  * except in compliance with the License.  Please obtain a copy of the
        !            11:  * License at http://www.apple.com/publicsource and read it before using
        !            12:  * this file.
        !            13:  * 
        !            14:  * The Original Code and all software distributed under the License are
        !            15:  * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
        !            16:  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
        !            17:  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
        !            18:  * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
        !            19:  * License for the specific language governing rights and limitations
        !            20:  * under the License.
        !            21:  * 
        !            22:  * @APPLE_LICENSE_HEADER_END@
        !            23:  */
        !            24: 
        !            25: /*
        !            26:  * Copyright (c) 1997 Apple Computer, Inc.
        !            27:  *
        !            28:  * disk.h
        !            29:  *     Apple partition map definitions and data structures
        !            30:  *
        !            31:  * DPME = Disk Partition Map Entry
        !            32:  *
        !            33:  * Each entry is (and shall remain) 512 bytes long.
        !            34:  * For more information see:
        !            35:  *     "Inside Macintosh: Devices" pages 3-12 to 3-15.
        !            36:  *     "Inside Macintosh - Volume V" pages V-576 to V-582
        !            37:  *     "Inside Macintosh - Volume IV" page IV-292
        !            38:  *
        !            39:  * HISTORY
        !            40:  *
        !            41:  * 11 Jun 97   Dieter Siegmund at Apple.
        !            42:  *     Taken from Eryk Vershen's dpme.h.
        !            43:  */
        !            44: /*
        !            45:  * Copyright 1996 by Apple Computer, Inc.
        !            46:  *              All Rights Reserved 
        !            47:  *  
        !            48:  * Permission to use, copy, modify, and distribute this software and 
        !            49:  * its documentation for any purpose and without fee is hereby granted, 
        !            50:  * provided that the above copyright notice appears in all copies and 
        !            51:  * that both the copyright notice and this permission notice appear in 
        !            52:  * supporting documentation. 
        !            53:  *  
        !            54:  * APPLE COMPUTER DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE 
        !            55:  * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 
        !            56:  * FOR A PARTICULAR PURPOSE. 
        !            57:  *  
        !            58:  * IN NO EVENT SHALL APPLE COMPUTER BE LIABLE FOR ANY SPECIAL, INDIRECT, OR 
        !            59:  * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 
        !            60:  * LOSS OF USE, DATA OR PROFITS, WHETHER IN ACTION OF CONTRACT, 
        !            61:  * NEGLIGENCE, OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION 
        !            62:  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 
        !            63:  */
        !            64: 
        !            65: #define        BLOCK0_SIGNATURE        0x4552  /* Signature value.         */
        !            66: #define        DPISTRLEN       32
        !            67: #define        DPME_SIGNATURE  0x504D
        !            68: 
        !            69: #define RHAPSODY_PART_TYPE "Apple_Rhapsody_UFS"        /* native partition type */
        !            70: 
        !            71: typedef        unsigned char   u8;
        !            72: typedef        unsigned short  u16;
        !            73: typedef        unsigned long   u32;
        !            74: 
        !            75: // Physical block zero of the disk has this format
        !            76: struct Block0 {
        !            77:     u16        sbSig;          /* unique value for SCSI block 0 */
        !            78:     u16        sbBlkSize;      /* block size of device */
        !            79:     u32        sbBlkCount;     /* number of blocks on device */
        !            80:     u16        sbDevType;      /* device type */
        !            81:     u16        sbDevId;        /* device id */
        !            82:     u32        sbData;         /* not used */
        !            83:     u16        sbDrvrCount;    /* driver descriptor count */
        !            84:     u16        sbMap[247];     /* descriptor map */
        !            85: };
        !            86: typedef struct Block0 Block0;
        !            87: 
        !            88: struct DDMap {
        !            89:     u32        ddBlock;        /* 1st driver's starting block */
        !            90:     u16        ddSize;         /* size of 1st driver (512-byte blks) */
        !            91:     u16        ddType;         /* system type (1 for Mac+) */
        !            92: };
        !            93: typedef struct DDMap DDMap;
        !            94: 
        !            95: // Each partition map entry (blocks 1 through n) has this format
        !            96: struct dpme {
        !            97:     u16     dpme_signature          ;
        !            98:     u16     dpme_reserved_1         ;
        !            99:     u32     dpme_map_entries        ;
        !           100:     u32     dpme_pblock_start       ;
        !           101:     u32     dpme_pblocks            ;
        !           102:     char    dpme_name[DPISTRLEN]    ;  /* name of partition */
        !           103:     char    dpme_type[DPISTRLEN]    ;  /* type of partition */
        !           104:     u32     dpme_lblock_start       ;
        !           105:     u32     dpme_lblocks            ;
        !           106:     u32     dpme_flags;
        !           107: #if 0
        !           108:     u32     dpme_reserved_2    : 23 ;  /* Bit 9 through 31.        */
        !           109:     u32     dpme_os_specific_1 :  1 ;  /* Bit 8.                   */
        !           110:     u32     dpme_os_specific_2 :  1 ;  /* Bit 7.                   */
        !           111:     u32     dpme_os_pic_code   :  1 ;  /* Bit 6.                   */
        !           112:     u32     dpme_writable      :  1 ;  /* Bit 5.                   */
        !           113:     u32     dpme_readable      :  1 ;  /* Bit 4.                   */
        !           114:     u32     dpme_bootable      :  1 ;  /* Bit 3.                   */
        !           115:     u32     dpme_in_use        :  1 ;  /* Bit 2.                   */
        !           116:     u32     dpme_allocated     :  1 ;  /* Bit 1.                   */
        !           117:     u32     dpme_valid         :  1 ;  /* Bit 0.                   */
        !           118: #endif
        !           119:     u32     dpme_boot_block         ;
        !           120:     u32     dpme_boot_bytes         ;
        !           121:     u8     *dpme_load_addr          ;
        !           122:     u8     *dpme_load_addr_2        ;
        !           123:     u8     *dpme_goto_addr          ;
        !           124:     u8     *dpme_goto_addr_2        ;
        !           125:     u32     dpme_checksum           ;
        !           126:     char    dpme_process_id[16]     ;
        !           127:     u32     dpme_boot_args[32]      ;
        !           128:     u32     dpme_reserved_3[62]     ;
        !           129: };
        !           130: typedef struct dpme DPME;
        !           131: 

unix.superglobalmegacorp.com

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