topical media & game development
lib-of-vs-libs-QTDevWin-CIncludes-DiskInit.h / h
/*
File: DiskInit.h
Contains: Disk Initialization Package ('PACK' 2) Interfaces.
Version: Technology: System 8.5
Release: QuickTime 6.0.2
Copyright: (c) 1985-2001 by Apple Computer, Inc., all rights reserved
Bugs?: For bug reports, consult the following page on
the World Wide Web:
http://developer.apple.com/bugreporter/
*/
ifndef __DISKINIT__
define __DISKINIT__
ifndef __MACTYPES__
include <MacTypes.h>
endif
if PRAGMA_ONCE
#pragma once
endif
ifdef __cplusplus
extern "C" {
endif
if PRAGMA_IMPORT
#pragma import on
endif
if PRAGMA_STRUCT_ALIGN
#pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
#pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
#pragma pack(2)
endif
struct HFSDefaults {
char sigWord[2]; /* signature word */
long abSize; /* allocation block size in bytes */
long clpSize; /* clump size in bytes */
long nxFreeFN; /* next free file number */
long btClpSize; /* B-Tree clump size in bytes */
short rsrv1; /* reserved */
short rsrv2; /* reserved */
short rsrv3; /* reserved */
};
typedef struct HFSDefaults HFSDefaults;
enum {
kHFSPlusDefaultsVersion = 1
};
struct HFSPlusDefaults {
UInt16 version; /* version of this structure */
UInt16 flags; /* currently undefined; pass zero */
UInt32 blockSize; /* allocation block size in bytes */
UInt32 rsrcClumpSize; /* clump size for resource forks */
UInt32 dataClumpSize; /* clump size for data forks */
UInt32 nextFreeFileID; /* next free file number */
UInt32 catalogClumpSize; /* clump size for catalog B-tree */
UInt32 catalogNodeSize; /* node size for catalog B-tree */
UInt32 extentsClumpSize; /* clump size for extents B-tree */
UInt32 extentsNodeSize; /* node size for extents B-tree */
UInt32 attributesClumpSize; /* clump size for attributes B-tree */
UInt32 attributesNodeSize; /* node size for attributes B-tree */
UInt32 allocationClumpSize; /* clump size for allocation bitmap file */
};
typedef struct HFSPlusDefaults HFSPlusDefaults;
if CALL_NOT_IN_CARBON
EXTERN_API( void )
DILoad (void) THREEWORDINLINE(0x7002, 0x3F00, 0xA9E9);
EXTERN_API( void )
DIUnload (void) THREEWORDINLINE(0x7004, 0x3F00, 0xA9E9);
EXTERN_API( short )
DIBadMount (Point where,
UInt32 evtMessage) THREEWORDINLINE(0x7000, 0x3F00, 0xA9E9);
EXTERN_API( OSErr )
DIFormat (short drvNum) THREEWORDINLINE(0x7006, 0x3F00, 0xA9E9);
EXTERN_API( OSErr )
DIVerify (short drvNum) THREEWORDINLINE(0x7008, 0x3F00, 0xA9E9);
EXTERN_API( OSErr )
DIZero (short drvNum,
ConstStr255Param volName) THREEWORDINLINE(0x700A, 0x3F00, 0xA9E9);
/*
DIXFormat, DIXZero, and DIReformat are only available when FSM (File System Manager) is installed.
FSM is part of Macintosh PC Exchange and System 7.5.
*/
EXTERN_API( OSErr )
DIXFormat (short drvNum,
Boolean fmtFlag,
unsigned long fmtArg,
unsigned long * actSize) THREEWORDINLINE(0x700C, 0x3F00, 0xA9E9);
EXTERN_API( OSErr )
DIXZero (short drvNum,
ConstStr255Param volName,
short fsid,
short mediaStatus,
short volTypeSelector,
unsigned long volSize,
void * extendedInfoPtr) THREEWORDINLINE(0x700E, 0x3F00, 0xA9E9);
EXTERN_API( OSErr )
DIReformat (short drvNum,
short fsid,
ConstStr255Param volName,
ConstStr255Param msgText) THREEWORDINLINE(0x7010, 0x3F00, 0xA9E9);
endif /* CALL_NOT_IN_CARBON */
if CALL_NOT_IN_CARBON
EXTERN_API_C( OSErr )
dibadmount (Point * where,
long evtMessage);
EXTERN_API_C( OSErr )
dizero (short drvnum,
const char * volName);
endif /* CALL_NOT_IN_CARBON */
if PRAGMA_STRUCT_ALIGN
#pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
#pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
#pragma pack()
endif
ifdef PRAGMA_IMPORT_OFF
#pragma import off
#elif PRAGMA_IMPORT
#pragma import reset
endif
ifdef __cplusplus
}
endif
endif /* __DISKINIT__ */
(C) Æliens
04/09/2009
You may not copy or print any of this material without explicit permission of the author or the publisher.
In case of other copyright issues, contact the author.