/***************************************************************************** * * * FS.H * * * * Copyright (C) Microsoft Corporation 1990. * * All Rights reserved. * * * ****************************************************************************** * * * Module Intent * * * * File System Interface * * * ****************************************************************************** * * * Testing Notes * * * ****************************************************************************** * * * Current Owner: JohnSc * * * ****************************************************************************** * * * Released by Development: 01/01/90 * * * *****************************************************************************/ /***************************************************************************** * * Revision History: Created 02/08/89 by JohnSc * * 12/13/90 JohnSc Autodocified; added VerifyHf(), VerifyHfs() * 31-Mar-1991 JohnSc bug 1007: support for cdrom alignment with offsets * *****************************************************************************/ _subsystem( FS ); /****************************************************************************\ * * Defines * \****************************************************************************/ // FS magic number #define wFileSysMagic 0x5F3F // ?_ - the help icon (with shadow) #define ADVISOR_FS 'NL' // Microsoft Advisor File // Current FS version #define FILESYSVERSION ((BYTE) 3) // different sorting functions // file mode flags #define fFSReadOnly (BYTE)0x01 // file (FS) is readonly #define fFSOpenReadOnly (BYTE)0x02 // file (FS) is opened in readonly mode #define fFSReadWrite (BYTE)0x00 // file (FS) is readwrite #define fFSOpenReadWrite (BYTE)0x00 // file (FS) is opened in read/write mode #define fFSOptCdRom (BYTE)0x20 // align file optimally for CDROM // other (reserved) file flags #define fFSIsDirectory (BYTE)0x04 // file is really the FS directory #define fFSDirty (BYTE)0x08 // file (FS) is dirty and needs writing #define fFSNoBlock (BYTE)0x10 // file has no associated block yet #ifndef _X86_ // SDFF stuff #define fFSBigEndian (BYTE)0x20 #endif // flags for FlushHfs #define fFSCloseFile (BYTE)0x01 // close fid associated with the FS #define fFSFreeBtreeCache (BYTE)0x02 // free the btree's cache // seek origins #define wFSSeekSet 0 // seek relative to start of file #define wFSSeekCur 1 // seek relative to current position #define wFSSeekEnd 2 // seek relative to end of file // low level info options #define LLSAMEFID 0 // reuse the FID #define LLDUPFID 1 // dup() the FID #define LLNEWFID 2 // reopen the file /***************************************************************************\ * * Types * \***************************************************************************/ /* The FS_PARAMS structure contains tuning information and is passed to HfsCreateFileSysFm(). */ typedef struct _fs_params { WORD wFudge; // unused (bytes or -% padding when saving a file) WORD cbBlock; // directory btree blocksize in bytes } FS_PARAMS; /***************************************************************************\ * * Public Functions * \***************************************************************************/ #ifdef _DEBUG void STDCALL VerifyHfs (HFS); #else #define VerifyHfs(hfs) #endif // DEBUG // File Operations #ifdef _DEBUG void STDCALL VerifyHf (HF); #else #define VerifyHf(hf) #endif // DEBUG