static FILE * OpenDump(afs_int32 adumpID, char * awrite) { register char *tp; register FILE *tfile; tp = DumpName(adumpID); tfile = fopen(tp, awrite); return tfile; }
static afs_int32 DeleteDump(afs_int32 adumpID) { register char *tp; register afs_int32 code; tp = DumpName(adumpID); code = unlink(tp); if (code) return code; code = ScanForChildren(adumpID); return code; }
VOID FatDumpCcb ( IN PCCB Ptr ) /*++ Routine Description: Dump a Ccb structure Arguments: Ptr - Supplies the Ccb record to be dumped Return Value: None --*/ { TestForNull("FatDumpCcb"); DumpNewLine(); DbgPrint("Ccb@ %lx", (Ptr)); DumpNewLine(); DumpField (NodeTypeCode); DumpField (NodeByteSize); DumpField (UnicodeQueryTemplate.Length); DumpName (UnicodeQueryTemplate.Buffer, 32); DumpField (OffsetToStartSearchFrom); DumpNewLine(); return; }
VOID FatDumpFcb ( IN PFCB Ptr ) /*++ Routine Description: Dump an Fcb structure, its various queues Arguments: Ptr - Supplies the Fcb record to be dumped Return Value: None --*/ { PLIST_ENTRY Links; TestForNull("FatDumpFcb"); DumpNewLine(); if (NodeType(&Ptr->Header) == FAT_NTC_FCB) {DbgPrint("Fcb@ %lx", (Ptr));} else if (NodeType(&Ptr->Header) == FAT_NTC_DCB) {DbgPrint("Dcb@ %lx", (Ptr));} else if (NodeType(&Ptr->Header) == FAT_NTC_ROOT_DCB) {DbgPrint("RootDcb@ %lx", (Ptr));} else {DbgPrint("NonFcb NodeType @ %lx", (Ptr));} DumpNewLine(); DumpField (Header.NodeTypeCode); DumpField (Header.NodeByteSize); DumpListEntry (ParentDcbLinks); DumpField (ParentDcb); DumpField (Vcb); DumpField (FcbState); DumpField (FcbCondition); DumpField (UncleanCount); DumpField (OpenCount); DumpField (DirentOffsetWithinDirectory); DumpField (DirentFatFlags); DumpField (FullFileName.Length); DumpField (FullFileName.Buffer); DumpName (FullFileName.Buffer, 32); DumpField (ShortName.Name.Oem.Length); DumpField (ShortName.Name.Oem.Buffer); DumpField (NonPaged); DumpField (Header.AllocationSize.LowPart); DumpField (NonPaged->SectionObjectPointers.DataSectionObject); DumpField (NonPaged->SectionObjectPointers.SharedCacheMap); DumpField (NonPaged->SectionObjectPointers.ImageSectionObject); if ((Ptr->Header.NodeTypeCode == FAT_NTC_DCB) || (Ptr->Header.NodeTypeCode == FAT_NTC_ROOT_DCB)) { DumpListEntry (Specific.Dcb.ParentDcbQueue); DumpField (Specific.Dcb.DirectoryFileOpenCount); DumpField (Specific.Dcb.DirectoryFile); } else if (Ptr->Header.NodeTypeCode == FAT_NTC_FCB) { DumpField (Header.FileSize.LowPart); } else { DumpNewLine(); DbgPrint("Illegal Node type code"); } DumpNewLine(); if ((Ptr->Header.NodeTypeCode == FAT_NTC_DCB) || (Ptr->Header.NodeTypeCode == FAT_NTC_ROOT_DCB)) { for (Links = Ptr->Specific.Dcb.ParentDcbQueue.Flink; Links != &Ptr->Specific.Dcb.ParentDcbQueue; Links = Links->Flink) { FatDumpFcb(CONTAINING_RECORD(Links, FCB, ParentDcbLinks)); } } return; }