ReactOS Fundraising Campaign 2012
 
€ 3,873 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

fatstruc.h File Reference

Go to the source code of this file.

Data Structures

struct  FAT_GLOBAL_DATA
struct  PFAT_PAGE_CONTEXT
struct  FAT_IRP_CONTEXT
struct  FAT_IO_CONTEXT
struct  PFAT_METHODS
struct  PVCB
struct  PVOLUME_DEVICE_OBJECT
struct  PFCB_NAME_LINK
struct  PFCB
struct  FAT_ENUM_DIRENT_CONTEXT
struct  PFAT_FIND_DIRENT_CONTEXT
struct  PCLOSE_CONTEXT
struct  PCCB

Defines

#define FatNodeType(Ptr)   (*((PFAT_NODE_TYPE)(Ptr)))
#define FAT_NTC_VCB   (CSHORT) '00VF'
#define FAT_NTC_FCB   (CSHORT) 'CF'
#define FAT_NTC_DCB   (CSHORT) 'DF'
#define FAT_NTC_ROOT_DCB   (CSHORT) 'RFD'
#define FAT_NTC_CCB   (CSHORT) 'BCC'
#define FAT_NTC_IRP_CONTEXT   (CSHORT) 'PRI'
#define FatPinSetupContext(xContext, xFcb, CanWait)
#define FatPinCleanupContext(xContext)
#define FatPinEndOfPage(xContext, xType)   Add2Ptr((xContext)->Buffer, (xContext)->ValidLength, xType)
#define FatPinIsLastPage(xContext)   ((xContext)->ValidLength != PAGE_SIZE)
#define IRPCONTEXT_CANWAIT   0x0001
#define IRPCONTEXT_PENDINGRETURNED   0x0002
#define IRPCONTEXT_STACK_IO_CONTEXT   0x0004
#define IRPCONTEXT_WRITETHROUGH   0x0008
#define IRPCONTEXT_TOPLEVEL   0x0010
#define VCB_STATE_FLAG_LOCKED   0x001
#define VCB_STATE_FLAG_DIRTY   0x002
#define VCB_STATE_MOUNTED_DIRTY   0x004
#define VCB_STATE_CREATE_IN_PROGRESS   0x008
#define VCB_STATE_FLAG_CLOSE_IN_PROGRESS   0x010
#define VCB_STATE_FLAG_DELETED_FCB   0x020
#define VCB_STATE_FLAG_DISMOUNT_IN_PROGRESS   0x040
#define VCB_STATE_FLAG_DEFERRED_FLUSH   0x080
#define VCB_STATE_FLAG_WRITE_PROTECTED   0x100
#define VcbToVolumeDeviceObject(xVcb)   CONTAINING_RECORD((xVcb), VOLUME_DEVICE_OBJECT, Vcb))
#define VcbToDeviceObject(xVcb)   &(VcbToVolumeDeviceObject(xVcb)->DeviceObject)
#define SectorsToBytes(xVcb, xSectrors)   ((xVcb)->Bpb.BytesPerSector * (xSectrors))
#define BytesToSectors(xVcb, xBytes)   ((xBytes + (xVcb)->Bpb.BytesPerSector - 1) / (xVcb)->Bpb.BytesPerSector)
#define SectorsToClusters(xVcb, xSectors)   ((xSectors + (xVcb)->Bpb.SectorsPerCluster - 1) / (xVcb)->Bpb.SectorsPerCluster)
#define VCB_FAT_BITMAP_SIZE   0x10000
#define VcbFatBitmapIndex(xCluster)   ((xCluster)/VCB_FAT_BITMAP_SIZE)
#define FCB_STATE_HAS_NAMES   0x01
#define FCB_STATE_HAS_UNICODE_NAME   0x02
#define FCB_STATE_PAGEFILE   0x04
#define FCB_STATE_DELAY_CLOSE   0x08
#define FCB_STATE_TRUNCATE_ON_CLOSE   0x10
#define FCB_STATE_DELETE_ON_CLOSE   0x20
#define CCB_SEARCH_RETURN_SINGLE_ENTRY   0x01
#define CCB_SEARCH_PATTERN_LEGAL_8DOT3   0x02
#define CCB_SEARCH_PATTERN_HAS_WILD_CARD   0x04
#define CCB_DASD_IO   0x08
#define CCB_READ_ONLY   0x10
#define CCB_DELETE_ON_CLOSE   0x20
#define CCB_COMPLETE_DISMOUNT   0x40
#define CCB_CLOSE_CONTEXT   0x80

Typedefs

typedef struct _FAT_SCAN_CONTEXT * PFAT_SCAN_CONTEXT
typedef struct _FAT_IO_CONTEXT * PFAT_IO_CONTEXT
typedef struct _FAT_IRP_CONTEXT * PFAT_IRP_CONTEXT
typedef PVOID PBCB
typedef NTSTATUS(* PFAT_OPERATION_HANDLER )(PFAT_IRP_CONTEXT)
typedef CSHORT FAT_NODE_TYPE
typedef FAT_NODE_TYPEPFAT_NODE_TYPE
typedef ULONG(* PFAT_SCANFAT_FOR_CONTINOUS_RUN_ROUTINE )(PFAT_PAGE_CONTEXT, PULONG, BOOLEAN)
typedef ULONG(* PFAT_SETFAT_CONTINOUS_RUN_ROUTINE )(PFAT_PAGE_CONTEXT, ULONG, ULONG, BOOLEAN)
typedef ULONG(* PFAT_SCANFAT_FOR_VALUE_RUN_ROUTINE )(PFAT_PAGE_CONTEXT, PULONG, ULONG, BOOLEAN)
typedef ULONG(* PFAT_SETFAT_VALUE_RUN_ROUTINE )(PFAT_PAGE_CONTEXT, ULONG, ULONG, ULONG, BOOLEAN)
typedef struct
_FAT_ENUM_DIRENT_CONTEXT * 
PFAT_ENUM_DIRENT_CONTEXT
typedef struct
_FAT_ENUM_DIR_CONTEXT * 
PFAT_ENUM_DIR_CONTEXT
typedef ULONG(* PFAT_COPY_DIRENT_ROUTINE )(PFAT_ENUM_DIR_CONTEXT, PDIR_ENTRY, PVOID)

Enumerations

enum  VCB_CONDITION { VcbGood, VcbNotMounted, VcbBad }
enum  TYPE_OF_OPEN {
  UnopenedFileObject, UserFileOpen, UserDirectoryOpen, UserVolumeOpen,
  VirtualVolumeFile, DirectoryFile, EaFile
}
enum  _FCB_NAME_TYPE { FcbShortName = 0x0, FcbLongName }
enum  FCB_CONDITION { FcbGood, FcbBad, FcbNeedsToBeVerified }
enum  FILE_TIME_INDEX { FileCreationTime = 0, FileLastAccessTime, FileLastWriteTime, FileChangeTime }

Variables

enum _FCB_NAME_TYPE FCB_NAME_TYPE
FAT_GLOBAL_DATA FatGlobalData

Generated on Sat May 19 2012 05:22:13 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.