diff options
Diffstat (limited to '')
-rw-r--r-- | private/nw/convert/nwconv/debug.c | 459 |
1 files changed, 459 insertions, 0 deletions
diff --git a/private/nw/convert/nwconv/debug.c b/private/nw/convert/nwconv/debug.c new file mode 100644 index 000000000..0a883f8c6 --- /dev/null +++ b/private/nw/convert/nwconv/debug.c @@ -0,0 +1,459 @@ + +#define DUMP // leave enabled... + +#include "globals.h" +#include "switches.h" +#include <windows.h> +#include <windowsx.h> +#include <io.h> +#include <malloc.h> +#include <string.h> + +#if DBG +void __cdecl dprintf(LPTSTR szFormat, ...) { + static TCHAR tmpStr[1024]; + va_list marker; + + va_start(marker, szFormat); + wvsprintf(tmpStr, szFormat, marker); + OutputDebugString(tmpStr); + va_end(marker); + +} // dprintf + +BOOL fDoEntireList = FALSE; + +void DumpConvertList(CONVERT_LIST *pConvertList) +{ + if (pConvertList) + { + dprintf( + TEXT("+++CONVERT_LIST(0x%08lx)"), + pConvertList + ); + + dprintf( + TEXT("\r\n\tnext = 0x%08lx") + TEXT("\r\n\tprev = 0x%08lx") + TEXT("\r\n\tSourceServ = 0x%08lx") + TEXT("\r\n\tFileServ = 0x%08lx") + TEXT("\r\n\tConvertOptions = 0x%08lx") + TEXT("\r\n\tFileOptions = 0x%08lx\r\n"), + pConvertList->next, + pConvertList->prev, + pConvertList->SourceServ, + pConvertList->FileServ, + pConvertList->ConvertOptions, + pConvertList->FileOptions + ); + + if (pConvertList->SourceServ) + DumpSourceServerBuffer(pConvertList->SourceServ); + + if (pConvertList->FileServ) + DumpDestServerBuffer(pConvertList->FileServ); + + if (fDoEntireList && pConvertList->next) + DumpConvertList(pConvertList->next); + + dprintf( + TEXT("---CONVERT_LIST(0x%08lx)\r\n"), + pConvertList + ); + } + else + dprintf(TEXT("Null pConvertList\r\n")); + +} // DumpConvertList + + +void DumpDestServerBuffer(DEST_SERVER_BUFFER *pDestServerBuffer) +{ + if (pDestServerBuffer) + { + dprintf( + TEXT("+++DEST_SERVER_BUFFER(0x%08lx)"), + pDestServerBuffer + ); + + dprintf( + TEXT("\r\n\tnext = 0x%08lx") + TEXT("\r\n\tprev = 0x%08lx") + TEXT("\r\n\tIndex = 0x%08lx") + TEXT("\r\n\tType = 0x%08lx") + TEXT("\r\n\tVerMaj = 0x%08lx") + TEXT("\r\n\tVerMin = 0x%08lx") + TEXT("\r\n\tLName = %s") + TEXT("\r\n\tName = %s") + TEXT("\r\n\tShareList = 0x%08lx") + TEXT("\r\n\tNumVShares = 0x%08lx") + TEXT("\r\n\tVShareStart = 0x%08lx") + TEXT("\r\n\tVShareEnd = 0x%08lx") + TEXT("\r\n\tUseCount = 0x%08lx") + TEXT("\r\n\tIsNTAS = 0x%08lx") + TEXT("\r\n\tIsFPNW = 0x%08lx") + TEXT("\r\n\tInDomain = 0x%08lx") + TEXT("\r\n\tDomain = 0x%08lx") + TEXT("\r\n\tDriveList = 0x%08lx\r\n"), + pDestServerBuffer->next, + pDestServerBuffer->prev, + pDestServerBuffer->Index, + pDestServerBuffer->Type, + pDestServerBuffer->VerMaj, + pDestServerBuffer->VerMin, + pDestServerBuffer->LName, + pDestServerBuffer->Name, + pDestServerBuffer->ShareList, + pDestServerBuffer->NumVShares, + pDestServerBuffer->VShareStart, + pDestServerBuffer->VShareEnd, + pDestServerBuffer->UseCount, + pDestServerBuffer->IsNTAS, + pDestServerBuffer->IsFPNW, + pDestServerBuffer->InDomain, + pDestServerBuffer->Domain, + pDestServerBuffer->DriveList + ); + + if (pDestServerBuffer->DriveList) + DumpDriveList(pDestServerBuffer->DriveList); + + if (pDestServerBuffer->ShareList) + DumpShareList(pDestServerBuffer->ShareList); + + if (pDestServerBuffer->VShareStart) + DumpVirtualShareBuffer(pDestServerBuffer->VShareStart); + + if (pDestServerBuffer->Domain) + DumpDomainBuffer(pDestServerBuffer->Domain); + + if (fDoEntireList && pDestServerBuffer->next) + DumpDestServerBuffer(pDestServerBuffer->next); + + dprintf( + TEXT("---DEST_SERVER_BUFFER(0x%08lx)\r\n"), + pDestServerBuffer + ); + } + else + dprintf(TEXT("Null pDestServerBuffer\r\n")); + +} // DumpDestServerBuffer + + +void DumpSourceServerBuffer(SOURCE_SERVER_BUFFER *pSourceServerBuffer) +{ + if (pSourceServerBuffer) + { + dprintf( + TEXT("+++SOURCE_SERVER_BUFFER(0x%08lx)"), + pSourceServerBuffer + ); + + dprintf( + TEXT("\r\n\tnext = 0x%08lx") + TEXT("\r\n\tprev = 0x%08lx") + TEXT("\r\n\tIndex = 0x%08lx") + TEXT("\r\n\tType = 0x%08lx") + TEXT("\r\n\tVerMaj = 0x%08lx") + TEXT("\r\n\tVerMin = 0x%08lx") + TEXT("\r\n\tLName = %s") + TEXT("\r\n\tName = %s") + TEXT("\r\n\tShareList = 0x%08lx\r\n"), + pSourceServerBuffer->next, + pSourceServerBuffer->prev, + pSourceServerBuffer->Index, + pSourceServerBuffer->Type, + pSourceServerBuffer->VerMaj, + pSourceServerBuffer->VerMin, + pSourceServerBuffer->LName, + pSourceServerBuffer->Name, + pSourceServerBuffer->ShareList + ); + + if (pSourceServerBuffer->ShareList) + DumpShareList(pSourceServerBuffer->ShareList); + + if (fDoEntireList && pSourceServerBuffer->next) + DumpSourceServerBuffer(pSourceServerBuffer->next); + + dprintf( + TEXT("---SOURCE_SERVER_BUFFER(0x%08lx)\r\n"), + pSourceServerBuffer + ); + } + else + dprintf(TEXT("Null pSourceServerBuffer\r\n")); + +} // DumpSourceServerBuffer + + +void DumpDomainBuffer(DOMAIN_BUFFER *pDomainBuffer) +{ + if (pDomainBuffer) + { + dprintf( + TEXT("+++DOMAIN_BUFFER(0x%08lx)"), + pDomainBuffer + ); + + dprintf( + TEXT("\r\n\tnext = 0x%08lx") + TEXT("\r\n\tprev = 0x%08lx") + TEXT("\r\n\tIndex = 0x%08lx") + TEXT("\r\n\tName = %s") + TEXT("\r\n\tPDCName = %s") + TEXT("\r\n\tType = 0x%08lx") + TEXT("\r\n\tVerMaj = 0x%08lx") + TEXT("\r\n\tVerMin = 0x%08lx") + TEXT("\r\n\tUseCount = 0x%08lx\r\n"), + pDomainBuffer->next, + pDomainBuffer->prev, + pDomainBuffer->Index, + pDomainBuffer->Name, + pDomainBuffer->PDCName, + pDomainBuffer->Type, + pDomainBuffer->VerMaj, + pDomainBuffer->VerMin, + pDomainBuffer->UseCount + ); + + if (fDoEntireList && pDomainBuffer->next) + DumpDomainBuffer(pDomainBuffer->next); + + dprintf( + TEXT("---DOMAIN_BUFFER(0x%08lx)\r\n"), + pDomainBuffer + ); + } + else + dprintf(TEXT("Null pDomainBuffer\r\n")); + +} // DumpDomainBuffer + + +void DumpVirtualShareBuffer(VIRTUAL_SHARE_BUFFER *pVirtualShareBuffer) +{ + if (pVirtualShareBuffer) + { + dprintf( + TEXT("+++VIRTUAL_SHARE_BUFFER(0x%08lx)"), + pVirtualShareBuffer + ); + + dprintf( + TEXT("\r\n\tVFlag = 0x%08lx") + TEXT("\r\n\tnext = 0x%08lx") + TEXT("\r\n\tprev = 0x%08lx") + TEXT("\r\n\tIndex = 0x%08lx") + TEXT("\r\n\tName = %s") + TEXT("\r\n\tUseCount = 0x%08lx") + TEXT("\r\n\tPath = %s") + TEXT("\r\n\tDrive = 0x%08lx\r\n"), + pVirtualShareBuffer->VFlag, + pVirtualShareBuffer->next, + pVirtualShareBuffer->prev, + pVirtualShareBuffer->Index, + pVirtualShareBuffer->Name, + pVirtualShareBuffer->UseCount, + pVirtualShareBuffer->Path, + pVirtualShareBuffer->Drive + ); + + if (pVirtualShareBuffer->Drive) + DumpDriveBuffer(pVirtualShareBuffer->Drive); + + if (fDoEntireList && pVirtualShareBuffer->next) + DumpVirtualShareBuffer(pVirtualShareBuffer->next); + + dprintf( + TEXT("---VIRTUAL_SHARE_BUFFER(0x%08lx)\r\n"), + pVirtualShareBuffer + ); + } + else + dprintf(TEXT("Null pVirtualShareBuffer\r\n")); + +} // DumpVirtualShareBuffer + + +void DumpShareList(SHARE_LIST *pShareList) +{ + ULONG index; + if (pShareList) + { + dprintf( + TEXT(">>>SHARE_LIST(0x%08lx)(%d entries, %d converting, %s)\r\n"), + pShareList, + pShareList->Count, + pShareList->ConvertCount, + pShareList->Fixup ? TEXT("FIXUP") : TEXT("NO FIXUP") + ); + for (index = 0; index < pShareList->Count; index++ ) + DumpShareBuffer(&pShareList->SList[index]); + } + else + dprintf(TEXT("Null pShareList\r\n")); + +} // DumpShareList + + +void DumpShareBuffer(SHARE_BUFFER *pShareBuffer) +{ + if (pShareBuffer) + { + dprintf( + TEXT("+++SHARE_BUFFER(0x%08lx)"), + pShareBuffer + ); + + dprintf( + TEXT("\r\n\tVFlag = 0x%08lx") + TEXT("\r\n\tIndex = 0x%08lx") + TEXT("\r\n\tName = %s") + TEXT("\r\n\tConvert = 0x%08lx") + TEXT("\r\n\tHiddenFiles = 0x%08lx") + TEXT("\r\n\tSystemFiles = 0x%08lx") + TEXT("\r\n\tToFat = 0x%08lx") + TEXT("\r\n\tRoot = 0x%08lx") + TEXT("\r\n\tDrive = 0x%08lx") + TEXT("\r\n\tSize = 0x%08lx") + TEXT("\r\n\tPath = %s") + TEXT("\r\n\tSubDir = %s") + TEXT("\r\n\tVirtual = 0x%08lx") + TEXT("\r\n\tDestShare = 0x%08lx\r\n"), + pShareBuffer->VFlag, + pShareBuffer->Index, + pShareBuffer->Name, + pShareBuffer->Convert, + pShareBuffer->HiddenFiles, + pShareBuffer->SystemFiles, + pShareBuffer->ToFat, + pShareBuffer->Root, + pShareBuffer->Drive, + pShareBuffer->Size, + pShareBuffer->Path, + pShareBuffer->SubDir, + pShareBuffer->Virtual, + pShareBuffer->DestShare + ); + + if (pShareBuffer->Root) + DumpDirBuffer(pShareBuffer->Root); + + if (pShareBuffer->Drive) + DumpDriveBuffer(pShareBuffer->Drive); + + if (pShareBuffer->DestShare) + if (!pShareBuffer->Virtual) + DumpShareBuffer(pShareBuffer->DestShare); + else + DumpVirtualShareBuffer((VIRTUAL_SHARE_BUFFER *)pShareBuffer->DestShare); + + dprintf( + TEXT("---SHARE_BUFFER(0x%08lx)\r\n"), + pShareBuffer + ); + } + else + dprintf(TEXT("Null pShareBuffer\r\n")); + +} // DumpShareBuffer + + +void DumpDriveList(DRIVE_LIST *pDriveList) +{ + ULONG index; + if (pDriveList) + { + dprintf(TEXT(">>>DRIVE_LIST(0x%08lx)(%d entries)\r\n"), pDriveList, pDriveList->Count); + for (index = 0; index < pDriveList->Count; index++ ) + DumpDriveBuffer(&pDriveList->DList[index]); + } + else + dprintf(TEXT("Null pDriveList\r\n")); + +} // DumpDriveList + + +void DumpDriveBuffer(DRIVE_BUFFER *pDriveBuffer) +{ + if (pDriveBuffer) + { + dprintf( + TEXT("+++DRIVE_BUFFER(0x%08lx)"), + pDriveBuffer + ); + + dprintf( + TEXT("\r\n\tType = 0x%08lx") + TEXT("\r\n\tDrive = %s") + TEXT("\r\n\tDriveType = %s") + TEXT("\r\n\tName = %s") + TEXT("\r\n\tTotalSpace = 0x%08lx") + TEXT("\r\n\tFreeSpace = 0x%08lx") + TEXT("\r\n\tAllocSpace = 0x%08lx\r\n"), + pDriveBuffer->Type, + pDriveBuffer->Drive, + pDriveBuffer->DriveType, + pDriveBuffer->Name, + pDriveBuffer->TotalSpace, + pDriveBuffer->FreeSpace, + pDriveBuffer->AllocSpace + ); + + dprintf( + TEXT("---DRIVE_BUFFER(0x%08lx)\r\n"), + pDriveBuffer + ); + } + else + dprintf(TEXT("Null pDriveBuffer)\r\n")); + +} // DumpDriveBuffer + + +void DumpDirBuffer(DIR_BUFFER *pDirBuffer) +{ + if (pDirBuffer) + { + dprintf( + TEXT("+++DIR_BUFFER(0x%08lx)"), + pDirBuffer + ); + + dprintf( + TEXT("\r\n\tName = %s") + TEXT("\r\n\tparent = 0x%08lx") + TEXT("\r\n\tLast = 0x%08lx") + TEXT("\r\n\tAttributes = 0x%08lx") + TEXT("\r\n\tConvert = 0x%08lx") + TEXT("\r\n\tSpecial = 0x%08lx") + TEXT("\r\n\tDirList = 0x%08lx") + TEXT("\r\n\tFileList = 0x%08lx\r\n"), + pDirBuffer->Name, + pDirBuffer->parent, + pDirBuffer->Last, + pDirBuffer->Attributes, + pDirBuffer->Convert, + pDirBuffer->Special, + pDirBuffer->DirList, + pDirBuffer->FileList + ); + +// if (pDirBuffer->DirList) +// DumpDirList(pDirBuffer->DirList); + +// if (pDirBuffer->FileList) +// DumpFileList(pDirBuffer->FileList); + + dprintf( + TEXT("---DIR_BUFFER(0x%08lx)\r\n"), + pDirBuffer + ); + } + else + dprintf(TEXT("Null pDirBuffer\r\n")); + +} // DumpDirBuffer +#endif |