Annotation of kernel/bsd/hfs/hfscommon/headers/system/DiskInitInternal.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:        File:           DiskInitInternal.h
        !            27: 
        !            28:        Contains:       IPI for HFS Disk Initialization
        !            29: 
        !            30:        Version:        HFS Plus 1.0
        !            31: 
        !            32:        Copyright:      � 1996-1998 by Apple Computer, Inc., all rights reserved.
        !            33: 
        !            34:        File Ownership:
        !            35: 
        !            36:                DRI:                            Don Brady
        !            37: 
        !            38:                Other Contact:          Mark Day
        !            39: 
        !            40:                Technology:                     File Systems
        !            41: 
        !            42:        Writers:
        !            43: 
        !            44:                (DSH)   Deric Horn
        !            45:                (msd)   Mark Day
        !            46:                (djb)   Don Brady
        !            47: 
        !            48:        Change History (most recent first):
        !            49: 
        !            50:          <CS11>        10/29/97        djb             Add clump size factor. Increase kMinHFSPlusVolumeSize to 32 MB.
        !            51:          <CS10>        10/23/97        msd             Bug 1685113. Add a createDate parameter to
        !            52:                                                                        InitializeHFSPlusVolume.
        !            53:           <CS9>         9/26/97        DSH             Moved HFSPlusDefaults to DiskInit.i
        !            54:           <CS8>          9/5/97        msd             Add a parameter to InitHFSVolume to indicate alignment of
        !            55:                                                                        allocation blocks.
        !            56:           <CS7>          9/4/97        msd             In HFSPlusDefaults, specify the clump and node sizes of the
        !            57:                                                                        attributes file. Bump kHFSPlusDefaultsVersion to 1.
        !            58:           <CS6>         7/18/97        msd             Include DiskInit.h.
        !            59:           <CS5>          7/2/97        msd             Add prototype for GetMediaInfo driver status call.
        !            60:           <CS4>         6/17/97        msd             Change minimum HFS Plus volume size to 2 MB (so we can test with
        !            61:                                                                        RAM disks). Added version and flags fields to HFSPlusDefaults.
        !            62:           <CS3>         6/11/97        msd             Remove the #pragma load; this should be done by source files,
        !            63:                                                                        and generally not interface files. (Allows the test tools to
        !            64:                                                                        build separately from HFS Plus.)
        !            65:           <CS2>          6/6/97        djb             Change kMinHFSVolumeSize to kMinHFSPlusVolumeSize and make it
        !            66:                                                                        20MB
        !            67:           <CS1>         4/28/97        djb             first checked in
        !            68:          <HFS5>          3/3/97        djb             Add new fields to DriveInfo and HFSPlusDefaults.
        !            69:          <HFS4>        12/19/96        djb             Changed kMinHFSVolumeSize so we can make HFS+ floppies for
        !            70:                                                                        debugging.
        !            71:          <HFS3>        12/10/96        msd             Check PRAGMA_LOAD_SUPPORTED before loading precompiled headers.
        !            72:          <HFS2>         12/4/96        DSH             Precompiled Headers
        !            73:          <HFS1>         12/4/96        djb             first checked in
        !            74: */
        !            75: 
        !            76: #ifndef __DISKINITINTERNAL__
        !            77: #define __DISKINITINTERNAL__
        !            78: 
        !            79: #include <Types.h>
        !            80: #include <DiskInit.h>
        !            81: 
        !            82: 
        !            83: enum {
        !            84:        kHFS1440KAltFormatStrID         = -6077,
        !            85:        kHFS800KAltFormatStrID          = -6076,
        !            86:        kMacintoshStrID                         = -6075,        // Macintosh name StrID
        !            87:        kHFS720KFormatStrID                     = -6074,        // Format name string for 720K HFS
        !            88:        kHFS720KAltFormatStrID          = -6073         // HFS Alternate Format string for 720K HFS
        !            89: };
        !            90: 
        !            91: enum {
        !            92:        kMinHFSPlusVolumeSize   = (32*1024*1024),       // 32 MB
        !            93:        
        !            94:        kBytesPerSector                 = 512,                          // default block size   
        !            95:        kBitsPerSector                  = 4096,                         // 512 * 8
        !            96:        kLog2SectorSize                 = 9,                            // log2 of 512 when sector size = 512
        !            97:        
        !            98:        kHFSPlusDataClumpFactor = 16,
        !            99:        kHFSPlusRsrcClumpFactor = 16
        !           100: };
        !           101: 
        !           102: 
        !           103: struct DriveInfo {
        !           104:        SInt16                  driveNumber;
        !           105:        SInt16                  driverRefNum;
        !           106:        UInt32                  totalSectors;
        !           107:        UInt32                  sectorSize;
        !           108:        UInt32                  sectorOffset;
        !           109: };
        !           110: typedef struct DriveInfo DriveInfo;
        !           111: 
        !           112: 
        !           113: 
        !           114: //
        !           115: //     The following is a new driver status call that returns a device's actual block
        !           116: //     size.  It should be moved to some other interface file so third parties can
        !           117: //     support it.
        !           118: //
        !           119: enum { csGetMediaInfo = 128 };
        !           120: typedef struct GetMediaCapCntrlParam {
        !           121:        QElem                   *qLink;
        !           122:        short                   qType;
        !           123:        short                   ioTrap;
        !           124:        Ptr                             ioCmdAddr;
        !           125:        IOCompletionUPP ioCompletion;           /* completion routine addr (0 for synch calls) */
        !           126:        OSErr                   ioResult;                       /* result code */
        !           127:        StringPtr               ioNamePtr;
        !           128:        short                   ioVRefNum;                      /* drive number */
        !           129:        short                   ioRefNum;                       /* refNum for I/O operation */
        !           130:        short                   csCode;                         /* word for control status code */
        !           131:        struct  {
        !           132:                unsigned long   numBlks;                // number of blocks on media
        !           133:                unsigned long   blksize;                // block size in that session
        !           134:                short                   mediaType;              // block size in that session
        !           135:        }                               csParam;                        /* operation-defined parameters */
        !           136: } GetMediaCapCntrlParam;
        !           137: 
        !           138: 
        !           139: //
        !           140: // Exported function prototypes
        !           141: //
        !           142: 
        !           143: pascal OSErr HFSDiskInitComponent (short whatFunction, void *paramBlock, void *fsdGlobalPtr);
        !           144: 
        !           145: OSErr InitHFSVolume (const DriveInfo   *driveInfo, ConstStr31Param volumeName, HFSDefaults *defaults, UInt32 alignment);
        !           146: 
        !           147: OSErr InitializeHFSPlusVolume (const DriveInfo *driveInfo, ConstStr31Param volumeName, HFSPlusDefaults *defaults, UInt32 createDate);
        !           148: 
        !           149: 
        !           150: #endif /* __DISKINITINTERNAL__ */

unix.superglobalmegacorp.com

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