Author: cfinck Date: Sat Aug 18 17:08:58 2007 New Revision: 28393
URL: http://svn.reactos.org/svn/reactos?rev=28393&view=rev Log: - Use typedefs64.h also for 64-bit host system compatibility in cabman. This unifies the way of 64-bit compatibility and also enables cabman to compile with MSVC. The remaining "unsigned long"'s have to be used for casting pointers as the pointers are always 64-bit on 64-bit machines. - Silence some warnings in MSVC 2005 and also add a MSVC project file. When you compiled the zlib library with RosBE, you can now easily use this project file without any changes to compile cabman with MSVC.
Added: trunk/reactos/tools/cabman/cabman.sln trunk/reactos/tools/cabman/cabman.vcproj Modified: trunk/reactos/tools/cabman/cabinet.cxx trunk/reactos/tools/cabman/cabinet.h trunk/reactos/tools/cabman/cabman.h trunk/reactos/tools/cabman/dfp.cxx trunk/reactos/tools/cabman/dfp.h trunk/reactos/tools/cabman/main.cxx trunk/reactos/tools/cabman/mszip.cxx trunk/reactos/tools/cabman/mszip.h trunk/reactos/tools/cabman/raw.cxx trunk/reactos/tools/cabman/raw.h
Modified: trunk/reactos/tools/cabman/cabinet.cxx URL: http://svn.reactos.org/svn/reactos/trunk/reactos/tools/cabman/cabinet.cxx?re... ============================================================================== --- trunk/reactos/tools/cabman/cabinet.cxx (original) +++ trunk/reactos/tools/cabman/cabinet.cxx Sat Aug 18 17:08:58 2007 @@ -11,6 +11,7 @@ * CSH 15/08-2003 Made it portable * CF 04/05-2007 Reformatted the code to be more consistent and use TABs instead of spaces * CF 04/05-2007 Made it compatible with 64-bit operating systems + * CF 18/08-2007 Use typedefs64.h and the Windows types for compatibility with 64-bit operating systems * TODO: * - Checksum of datablocks should be calculated * - EXTRACT.EXE complains if a disk is created manually @@ -28,31 +29,31 @@
#if defined(WIN32) #define GetSizeOfFile(handle) _GetSizeOfFile(handle) -static int32_t _GetSizeOfFile(FILEHANDLE handle) -{ - uint32_t size = GetFileSize(handle, NULL); +static LONG _GetSizeOfFile(FILEHANDLE handle) +{ + ULONG size = GetFileSize(handle, NULL); if (size == INVALID_FILE_SIZE) return -1;
return size; } #define ReadFileData(handle, buffer, size, bytesread) _ReadFileData(handle, buffer, size, bytesread) -static bool _ReadFileData(FILEHANDLE handle, void* buffer, uint32_t size, uint32_t* bytesread) +static bool _ReadFileData(FILEHANDLE handle, void* buffer, ULONG size, PULONG bytesread) { return ReadFile(handle, buffer, size, (LPDWORD)bytesread, NULL) != 0; } #else #define GetSizeOfFile(handle) _GetSizeOfFile(handle) -static int32_t _GetSizeOfFile(FILEHANDLE handle) -{ - int32_t size; +static LONG _GetSizeOfFile(FILEHANDLE handle) +{ + LONG size; fseek(handle, 0, SEEK_END); size = ftell(handle); fseek(handle, 0, SEEK_SET); return size; } #define ReadFileData(handle, buffer, size, bytesread) _ReadFileData(handle, buffer, size, bytesread) -static bool _ReadFileData(FILEHANDLE handle, void* buffer, uint32_t size, uint32_t* bytesread) +static bool _ReadFileData(FILEHANDLE handle, void* buffer, ULONG size, PULONG bytesread) { *bytesread = fread(buffer, 1, size, handle); return *bytesread == size; @@ -64,10 +65,10 @@ #if 0 #ifdef DBG
-void DumpBuffer(void* Buffer, uint32_t Size) +void DumpBuffer(void* Buffer, ULONG Size) { FILEHANDLE FileHandle; - uint32_t BytesWritten; + ULONG BytesWritten;
/* Create file, overwrite if it already exists */ FileHandle = CreateFile("dump.bin", // Create this file @@ -79,13 +80,13 @@ NULL); // No attribute template if (FileHandle == INVALID_HANDLE_VALUE) { - DPRINT(MID_TRACE, ("ERROR OPENING '%d'.\n", (unsigned int)GetLastError())); + DPRINT(MID_TRACE, ("ERROR OPENING '%d'.\n", (ULONG)GetLastError())); return; }
if (!WriteFile(FileHandle, Buffer, Size, &BytesWritten, NULL)) { - DPRINT(MID_TRACE, ("ERROR WRITING '%d'.\n", (unsigned int)GetLastError())); + DPRINT(MID_TRACE, ("ERROR WRITING '%d'.\n", (ULONG)GetLastError())); }
CloseFile(FileHandle); @@ -114,7 +115,7 @@ }
-uint32_t CCFDATAStorage::Create(char* FileName) +ULONG CCFDATAStorage::Create(char* FileName) /* * FUNCTION: Creates the file * ARGUMENTS: @@ -143,7 +144,7 @@ NULL); // No attribute template if (FileHandle == INVALID_HANDLE_VALUE) { - DPRINT(MID_TRACE, ("ERROR '%d'.\n", (unsigned int)GetLastError())); + DPRINT(MID_TRACE, ("ERROR '%d'.\n", (ULONG)GetLastError())); return CAB_STATUS_CANNOT_CREATE; } #else /* !WIN32 */ @@ -153,7 +154,7 @@ /* FileHandle = fopen(FullName, "w+b"); if (FileHandle == NULL) { - DPRINT(MID_TRACE, ("ERROR '%d'.\n", (unsigned int)errno)); + DPRINT(MID_TRACE, ("ERROR '%d'.\n", (ULONG)errno)); return CAB_STATUS_CANNOT_CREATE; } */ @@ -165,7 +166,7 @@ }
-uint32_t CCFDATAStorage::Destroy() +ULONG CCFDATAStorage::Destroy() /* * FUNCTION: Destroys the file * RETURNS: @@ -182,7 +183,7 @@ }
-uint32_t CCFDATAStorage::Truncate() +ULONG CCFDATAStorage::Truncate() /* * FUNCTION: Truncate the scratch file to zero bytes * RETURNS: @@ -199,7 +200,7 @@ FileHandle = tmpfile(); if (FileHandle == NULL) { - DPRINT(MID_TRACE, ("ERROR '%d'.\n", (unsigned int)errno)); + DPRINT(MID_TRACE, ("ERROR '%d'.\n", (ULONG)errno)); return CAB_STATUS_FAILURE; } #endif @@ -207,7 +208,7 @@ }
-uint32_t CCFDATAStorage::Position() +ULONG CCFDATAStorage::Position() /* * FUNCTION: Returns current position in file * RETURNS: @@ -217,12 +218,12 @@ #if defined(WIN32) return SetFilePointer(FileHandle, 0, NULL, FILE_CURRENT); #else - return (uint32_t)ftell(FileHandle); -#endif -} - - -uint32_t CCFDATAStorage::Seek(int32_t Position) + return (ULONG)ftell(FileHandle); +#endif +} + + +ULONG CCFDATAStorage::Seek(LONG Position) /* * FUNCTION: Seeks to an absolute position * ARGUMENTS: @@ -248,7 +249,7 @@ }
-uint32_t CCFDATAStorage::ReadBlock(PCFDATA Data, void* Buffer, uint32_t* BytesRead) +ULONG CCFDATAStorage::ReadBlock(PCFDATA Data, void* Buffer, PULONG BytesRead) /* * FUNCTION: Reads a CFDATA block from the file * ARGUMENTS: @@ -272,7 +273,7 @@ }
-uint32_t CCFDATAStorage::WriteBlock(PCFDATA Data, void* Buffer, uint32_t* BytesWritten) +ULONG CCFDATAStorage::WriteBlock(PCFDATA Data, void* Buffer, PULONG BytesWritten) /* * FUNCTION: Writes a CFDATA block to the file * ARGUMENTS: @@ -419,7 +420,7 @@ * Pointer to filename */ { - uint32_t i, j; + ULONG i, j;
j = i = (Path[0] ? (Path[1] == ':' ? 2 : 0) : 0);
@@ -439,7 +440,7 @@ */ { char* FileName; - uint32_t i; + ULONG i;
i = (Path [0] ? (Path[1] == ':' ? 2 : 0) : 0); FileName = GetFileName(Path + i); @@ -453,7 +454,7 @@
bool CCabinet::NormalizePath(char* Path, - uint32_t Length) + ULONG Length) /* * FUNCTION: Normalizes a path * ARGUMENTS: @@ -463,10 +464,10 @@ * true if there was enough room in Path, or false */ { - uint32_t n; + ULONG n; bool OK = true;
- if ((n = (uint32_t)strlen(Path)) && + if ((n = (ULONG)strlen(Path)) && (!IsSeparator(Path[n - 1])) && (OK = ((n + 1) < Length))) { @@ -532,7 +533,7 @@ */ { FILEHANDLE FileHandle; - uint32_t BytesRead; + ULONG BytesRead;
#if defined(WIN32) FileHandle = CreateFile(ConvertPath(FileName, true), // Open this file @@ -557,7 +558,7 @@ #endif
CabinetReservedFileSize = GetSizeOfFile(FileHandle); - if (CabinetReservedFileSize == (uint32_t)-1) + if (CabinetReservedFileSize == (ULONG)-1) { DPRINT(MIN_TRACE, ("Cannot read from cabinet reserved file.\n")); return false; @@ -601,7 +602,7 @@ }
-uint32_t CCabinet::GetCurrentDiskNumber() +ULONG CCabinet::GetCurrentDiskNumber() /* * FUNCTION: Returns current disk number * RETURNS: @@ -612,7 +613,7 @@ }
-uint32_t CCabinet::Open() +ULONG CCabinet::Open() /* * FUNCTION: Opens a cabinet file * RETURNS: @@ -620,13 +621,13 @@ */ { PCFFOLDER_NODE FolderNode; - uint32_t Status; - uint32_t Index; + ULONG Status; + ULONG Index;
if (!FileOpen) { - uint32_t BytesRead; - uint32_t Size; + ULONG BytesRead; + ULONG Size;
OutputBuffer = AllocateMemory(CAB_BLOCKSIZE + 12); // This should be enough if (!OutputBuffer) @@ -661,7 +662,7 @@ if ((Status = ReadBlock(&CABHeader, sizeof(CFHEADER), &BytesRead)) != CAB_STATUS_SUCCESS) { - DPRINT(MIN_TRACE, ("Cannot read from file (%d).\n", (unsigned int)Status)); + DPRINT(MIN_TRACE, ("Cannot read from file (%d).\n", (ULONG)Status)); return CAB_STATUS_INVALID_CAB; }
@@ -683,10 +684,10 @@ /* Read/skip any reserved bytes */ if (CABHeader.Flags & CAB_FLAG_RESERVE) { - if ((Status = ReadBlock(&Size, sizeof(uint32_t), &BytesRead)) + if ((Status = ReadBlock(&Size, sizeof(ULONG), &BytesRead)) != CAB_STATUS_SUCCESS) { - DPRINT(MIN_TRACE, ("Cannot read from file (%d).\n", (unsigned int)Status)); + DPRINT(MIN_TRACE, ("Cannot read from file (%d).\n", (ULONG)Status)); return CAB_STATUS_INVALID_CAB; } CabinetReserved = Size & 0xFFFF; @@ -761,7 +762,7 @@ if ((Status = ReadBlock(&FolderNode->Folder, sizeof(CFFOLDER), &BytesRead)) != CAB_STATUS_SUCCESS) { - DPRINT(MIN_TRACE, ("Cannot read from file (%d).\n", (unsigned int)Status)); + DPRINT(MIN_TRACE, ("Cannot read from file (%d).\n", (ULONG)Status)); return CAB_STATUS_INVALID_CAB; } } @@ -770,7 +771,7 @@ Status = ReadFileTable(); if (Status != CAB_STATUS_SUCCESS) { - DPRINT(MIN_TRACE, ("ReadFileTable() failed (%d).\n", (unsigned int)Status)); + DPRINT(MIN_TRACE, ("ReadFileTable() failed (%d).\n", (ULONG)Status)); return Status; }
@@ -781,7 +782,7 @@ Status = ReadDataBlocks(FolderNode); if (Status != CAB_STATUS_SUCCESS) { - DPRINT(MIN_TRACE, ("ReadDataBlocks() failed (%d).\n", (unsigned int)Status)); + DPRINT(MIN_TRACE, ("ReadDataBlocks() failed (%d).\n", (ULONG)Status)); return Status; } FolderNode = FolderNode->Next; @@ -804,7 +805,7 @@ }
-uint32_t CCabinet::FindFirst(char* FileName, +ULONG CCabinet::FindFirst(char* FileName, PCAB_SEARCH Search) /* * FUNCTION: Finds the first file in the cabinet that matches a search criteria @@ -822,7 +823,7 @@ }
-uint32_t CCabinet::FindNext(PCAB_SEARCH Search) +ULONG CCabinet::FindNext(PCAB_SEARCH Search) /* * FUNCTION: Finds next file in the cabinet that matches a search criteria * ARGUMENTS: @@ -831,7 +832,7 @@ * Status of operation */ { - uint32_t Status; + ULONG Status;
if (RestartSearch) { @@ -881,7 +882,7 @@ }
-uint32_t CCabinet::ExtractFile(char* FileName) +ULONG CCabinet::ExtractFile(char* FileName) /* * FUNCTION: Extracts a file from the cabinet * ARGUMENTS: @@ -890,21 +891,21 @@ * Status of operation */ { - uint32_t Size; - uint32_t Offset; - uint32_t BytesRead; - uint32_t BytesToRead; - uint32_t BytesWritten; - uint32_t BytesSkipped; - uint32_t BytesToWrite; - uint32_t TotalBytesRead; - uint32_t CurrentOffset; + ULONG Size; + ULONG Offset; + ULONG BytesRead; + ULONG BytesToRead; + ULONG BytesWritten; + ULONG BytesSkipped; + ULONG BytesToWrite; + ULONG TotalBytesRead; + ULONG CurrentOffset; unsigned char* Buffer; unsigned char* CurrentBuffer; FILEHANDLE DestFile; PCFFILE_NODE File; CFDATA CFData; - uint32_t Status; + ULONG Status; bool Skip; #if defined(WIN32) FILETIME FileTime; @@ -915,7 +916,7 @@ Status = LocateFile(FileName, &File); if (Status != CAB_STATUS_SUCCESS) { - DPRINT(MID_TRACE, ("Cannot locate file (%d).\n", (unsigned int)Status)); + DPRINT(MID_TRACE, ("Cannot locate file (%d).\n", (ULONG)Status)); return Status; }
@@ -936,10 +937,10 @@ }
DPRINT(MAX_TRACE, ("Extracting file at uncompressed offset (0x%X) Size (%d bytes) AO (0x%X) UO (0x%X).\n", - (unsigned int)File->File.FileOffset, - (unsigned int)File->File.FileSize, - (unsigned int)File->DataBlock->AbsoluteOffset, - (unsigned int)File->DataBlock->UncompOffset)); + (ULONG)File->File.FileOffset, + (ULONG)File->File.FileSize, + (ULONG)File->DataBlock->AbsoluteOffset, + (ULONG)File->DataBlock->UncompOffset));
strcpy(DestName, DestPath); strcat(DestName, FileName); @@ -1057,12 +1058,12 @@ do { DPRINT(MAX_TRACE, ("CO (0x%lX) ReuseBlock (%d) Offset (0x%lX) Size (%ld) BytesLeftInBlock (%ld)\n", - File->DataBlock->UncompOffset, (unsigned int)ReuseBlock, Offset, Size, + File->DataBlock->UncompOffset, (ULONG)ReuseBlock, Offset, Size, BytesLeftInBlock));
if (/*(CurrentDataNode != File->DataBlock) &&*/ (!ReuseBlock) || (BytesLeftInBlock <= 0)) { - DPRINT(MAX_TRACE, ("Filling buffer. ReuseBlock (%d)\n", (unsigned int)ReuseBlock)); + DPRINT(MAX_TRACE, ("Filling buffer. ReuseBlock (%d)\n", (ULONG)ReuseBlock));
CurrentBuffer = Buffer; TotalBytesRead = 0; @@ -1075,28 +1076,28 @@ { CloseFile(DestFile); FreeMemory(Buffer); - DPRINT(MIN_TRACE, ("Cannot read from file (%d).\n", (unsigned int)Status)); + DPRINT(MIN_TRACE, ("Cannot read from file (%d).\n", (ULONG)Status)); return CAB_STATUS_INVALID_CAB; }
DPRINT(MAX_TRACE, ("Data block: Checksum (0x%X) CompSize (%d bytes) UncompSize (%d bytes)\n", - (unsigned int)CFData.Checksum, - (unsigned int)CFData.CompSize, - (unsigned int)CFData.UncompSize)); + (ULONG)CFData.Checksum, + (ULONG)CFData.CompSize, + (ULONG)CFData.UncompSize));
ASSERT(CFData.CompSize <= CAB_BLOCKSIZE + 12);
BytesToRead = CFData.CompSize;
DPRINT(MAX_TRACE, ("Read: (0x%lX,0x%lX).\n", - (uintptr_t)CurrentBuffer, (uintptr_t)Buffer)); + (_W64 unsigned long)CurrentBuffer, (_W64 unsigned long)Buffer));
if (((Status = ReadBlock(CurrentBuffer, BytesToRead, &BytesRead)) != CAB_STATUS_SUCCESS) || (BytesToRead != BytesRead)) { CloseFile(DestFile); FreeMemory(Buffer); - DPRINT(MIN_TRACE, ("Cannot read from file (%d).\n", (unsigned int)Status)); + DPRINT(MIN_TRACE, ("Cannot read from file (%d).\n", (ULONG)Status)); return CAB_STATUS_INVALID_CAB; }
@@ -1104,7 +1105,7 @@ /* if (CFData.Checksum != 0) { - uint32_t Checksum = ComputeChecksum(CurrentBuffer, BytesRead, 0); + ULONG Checksum = ComputeChecksum(CurrentBuffer, BytesRead, 0); if (Checksum != CFData.Checksum) { CloseFile(DestFile); @@ -1144,7 +1145,7 @@ Status = LocateFile(TempName, &File); if (Status == CAB_STATUS_NOFILE) { - DPRINT(MID_TRACE, ("Cannot locate file (%d).\n", (unsigned int)Status)); + DPRINT(MID_TRACE, ("Cannot locate file (%d).\n", (ULONG)Status)); return Status; }
@@ -1171,10 +1172,10 @@ #endif
DPRINT(MAX_TRACE, ("Continuing extraction of file at uncompressed offset (0x%X) Size (%d bytes) AO (0x%X) UO (0x%X).\n", - (unsigned int)File->File.FileOffset, - (unsigned int)File->File.FileSize, - (unsigned int)File->DataBlock->AbsoluteOffset, - (unsigned int)File->DataBlock->UncompOffset)); + (ULONG)File->File.FileOffset, + (ULONG)File->File.FileSize, + (ULONG)File->DataBlock->AbsoluteOffset, + (ULONG)File->DataBlock->UncompOffset));
CurrentDataNode = File->DataBlock; ReuseBlock = true; @@ -1207,7 +1208,7 @@ } else { - DPRINT(MAX_TRACE, ("Using same buffer. ReuseBlock (%d)\n", (unsigned int)ReuseBlock)); + DPRINT(MAX_TRACE, ("Using same buffer. ReuseBlock (%d)\n", (ULONG)ReuseBlock));
BytesToWrite = BytesLeftInBlock;
@@ -1220,7 +1221,7 @@ { CloseFile(DestFile); FreeMemory(Buffer); - DPRINT(MIN_TRACE, ("Cannot read from file (%d).\n", (unsigned int)Status)); + DPRINT(MIN_TRACE, ("Cannot read from file (%d).\n", (ULONG)Status)); return CAB_STATUS_INVALID_CAB; }
@@ -1262,21 +1263,21 @@ BytesToWrite = Size;
DPRINT(MAX_TRACE, ("Offset (0x%X) CurrentOffset (0x%X) ToWrite (%d) Skipped (%d)(%d) Size (%d).\n", - (unsigned int)Offset, - (unsigned int)CurrentOffset, - (unsigned int)BytesToWrite, - (unsigned int)BytesSkipped, (unsigned int)Skip, - (unsigned int)Size)); - -#if defined(WIN32) - if (!WriteFile(DestFile, (void*)((uintptr_t)OutputBuffer + BytesSkipped), + (ULONG)Offset, + (ULONG)CurrentOffset, + (ULONG)BytesToWrite, + (ULONG)BytesSkipped, (ULONG)Skip, + (ULONG)Size)); + +#if defined(WIN32) + if (!WriteFile(DestFile, (void*)((unsigned long *)OutputBuffer + BytesSkipped), BytesToWrite, (LPDWORD)&BytesWritten, NULL) || (BytesToWrite != BytesWritten)) { DPRINT(MIN_TRACE, ("Status 0x%lX.\n", GetLastError())); #else BytesWritten = BytesToWrite; - if (fwrite((void*)((uintptr_t)OutputBuffer + BytesSkipped), + if (fwrite((void*)((unsigned long *)OutputBuffer + BytesSkipped), BytesToWrite, 1, DestFile) < 1) { #endif @@ -1302,7 +1303,7 @@ }
-void CCabinet::SelectCodec(uint32_t Id) +void CCabinet::SelectCodec(ULONG Id) /* * FUNCTION: Selects codec engine to use * ARGUMENTS: @@ -1343,14 +1344,14 @@
/* CAB write methods */
-uint32_t CCabinet::NewCabinet() +ULONG CCabinet::NewCabinet() /* * FUNCTION: Creates a new cabinet * RETURNS: * Status of operation */ { - uint32_t Status; + ULONG Status;
CurrentDiskNumber = 0;
@@ -1414,7 +1415,7 @@ }
-uint32_t CCabinet::NewDisk() +ULONG CCabinet::NewDisk() /* * FUNCTION: Forces a new disk to be created * RETURNS: @@ -1438,7 +1439,7 @@ }
-uint32_t CCabinet::NewFolder() +ULONG CCabinet::NewFolder() /* * FUNCTION: Forces a new folder to be created * RETURNS: @@ -1483,7 +1484,7 @@ }
-uint32_t CCabinet::WriteFileToScratchStorage(PCFFILE_NODE FileNode) +ULONG CCabinet::WriteFileToScratchStorage(PCFFILE_NODE FileNode) /* * FUNCTION: Writes a file to the scratch file * ARGUMENTS: @@ -1492,10 +1493,10 @@ * Status of operation */ { - uint32_t BytesToRead; - uint32_t BytesRead; - uint32_t Status; - uint32_t Size; + ULONG BytesToRead; + ULONG BytesRead; + ULONG Status; + ULONG Size;
if (!ContinueFile) { @@ -1540,11 +1541,11 @@
FileNode->File.FileOffset = CurrentFolderNode->UncompOffset; CurrentFolderNode->UncompOffset += TotalBytesLeft; - FileNode->File.FileControlID = (uint16_t)(NextFolderNumber - 1); + FileNode->File.FileControlID = (USHORT)(NextFolderNumber - 1); CurrentFolderNode->Commit = true; PrevCabinetNumber = CurrentDiskNumber;
- Size = sizeof(CFFILE) + (uint32_t)strlen(GetFileName(FileNode->FileName)) + 1; + Size = sizeof(CFFILE) + (ULONG)strlen(GetFileName(FileNode->FileName)) + 1; CABHeader.FileTableOffset += Size; TotalFileSize += Size; DiskSize += Size; @@ -1556,7 +1557,7 @@ { do { - if (TotalBytesLeft > (uint32_t)CAB_BLOCKSIZE - CurrentIBufferSize) + if (TotalBytesLeft > (ULONG)CAB_BLOCKSIZE - CurrentIBufferSize) BytesToRead = CAB_BLOCKSIZE - CurrentIBufferSize; else BytesToRead = TotalBytesLeft; @@ -1570,7 +1571,7 @@
*(unsigned char**)&CurrentIBuffer += BytesRead;
- CurrentIBufferSize += (uint16_t)BytesRead; + CurrentIBufferSize += (USHORT)BytesRead;
if (CurrentIBufferSize == CAB_BLOCKSIZE) { @@ -1614,7 +1615,7 @@ }
-uint32_t CCabinet::WriteDisk(uint32_t MoreDisks) +ULONG CCabinet::WriteDisk(ULONG MoreDisks) /* * FUNCTION: Forces the current disk to be written * ARGUMENTS: @@ -1624,7 +1625,7 @@ */ { PCFFILE_NODE FileNode; - uint32_t Status; + ULONG Status;
ContinueFile = false; FileNode = FileListHead; @@ -1700,7 +1701,7 @@ }
-uint32_t CCabinet::CommitDisk(uint32_t MoreDisks) +ULONG CCabinet::CommitDisk(ULONG MoreDisks) /* * FUNCTION: Commits the current disk * ARGUMENTS: @@ -1710,7 +1711,7 @@ */ { PCFFOLDER_NODE FolderNode; - uint32_t Status; + ULONG Status;
OnCabinetName(CurrentDiskNumber, CabinetName);
@@ -1725,7 +1726,7 @@ NULL); // No attribute template if (FileHandle == INVALID_HANDLE_VALUE) { - uint32_t Status; + ULONG Status; /* If file exists, ask to overwrite file */ if (((Status = GetLastError()) == ERROR_FILE_EXISTS) && (OnOverwrite(NULL, CabinetName))) @@ -1806,7 +1807,7 @@ }
-uint32_t CCabinet::CloseDisk() +ULONG CCabinet::CloseDisk() /* * FUNCTION: Closes the current disk * RETURNS: @@ -1824,14 +1825,14 @@ }
-uint32_t CCabinet::CloseCabinet() +ULONG CCabinet::CloseCabinet() /* * FUNCTION: Closes the current cabinet * RETURNS: * Status of operation */ { - uint32_t Status; + ULONG Status;
DestroyFileNodes();
@@ -1862,7 +1863,7 @@ }
-uint32_t CCabinet::AddFile(char* FileName) +ULONG CCabinet::AddFile(char* FileName) /* * FUNCTION: Adds a file to the current disk * ARGUMENTS: @@ -1923,7 +1924,7 @@
/* FIXME: Check for and handle large files (>= 2GB) */ FileNode->File.FileSize = GetSizeOfFile(SrcFile); - if (FileNode->File.FileSize == (uint32_t)-1) + if (FileNode->File.FileSize == (ULONG)-1) { DPRINT(MIN_TRACE, ("Cannot read from file.\n")); FreeMemory(NewFileName); @@ -1940,7 +1941,7 @@ }
-void CCabinet::SetMaxDiskSize(uint32_t Size) +void CCabinet::SetMaxDiskSize(ULONG Size) /* * FUNCTION: Sets the maximum size of the current disk * ARGUMENTS: @@ -2008,7 +2009,7 @@ }
-bool CCabinet::OnDiskLabel(uint32_t Number, char* Label) +bool CCabinet::OnDiskLabel(ULONG Number, char* Label) /* * FUNCTION: Called when a disk needs a label * ARGUMENTS: @@ -2022,7 +2023,7 @@ }
-bool CCabinet::OnCabinetName(uint32_t Number, char* Name) +bool CCabinet::OnCabinetName(ULONG Number, char* Name) /* * FUNCTION: Called when a cabinet needs a name * ARGUMENTS: @@ -2037,7 +2038,7 @@
#endif /* CAB_READ_ONLY */
-PCFFOLDER_NODE CCabinet::LocateFolderNode(uint32_t Index) +PCFFOLDER_NODE CCabinet::LocateFolderNode(ULONG Index) /* * FUNCTION: Locates a folder node * ARGUMENTS: @@ -2069,7 +2070,7 @@ }
-uint32_t CCabinet::GetAbsoluteOffset(PCFFILE_NODE File) +ULONG CCabinet::GetAbsoluteOffset(PCFFILE_NODE File) /* * FUNCTION: Returns the absolute offset of a file * ARGUMENTS: @@ -2082,16 +2083,16 @@
DPRINT(MAX_TRACE, ("FileName '%s' FileOffset (0x%X) FileSize (%d).\n", (char*)File->FileName, - (unsigned int)File->File.FileOffset, - (unsigned int)File->File.FileSize)); + (ULONG)File->File.FileOffset, + (ULONG)File->File.FileSize));
Node = CurrentFolderNode->DataListHead; while (Node != NULL) { DPRINT(MAX_TRACE, ("GetAbsoluteOffset(): Comparing (0x%X, 0x%X) (%d).\n", - (unsigned int)Node->UncompOffset, - (unsigned int)Node->UncompOffset + Node->Data.UncompSize, - (unsigned int)Node->Data.UncompSize)); + (ULONG)Node->UncompOffset, + (ULONG)Node->UncompOffset + Node->Data.UncompSize, + (ULONG)Node->Data.UncompSize));
/* Node->Data.UncompSize will be 0 if the block is split (ie. it is the last block in this cabinet) */ @@ -2110,7 +2111,7 @@ }
-uint32_t CCabinet::LocateFile(char* FileName, +ULONG CCabinet::LocateFile(char* FileName, PCFFILE_NODE *File) /* * FUNCTION: Locates a file in the cabinet @@ -2124,7 +2125,7 @@ */ { PCFFILE_NODE Node; - uint32_t Status; + ULONG Status;
DPRINT(MAX_TRACE, ("FileName '%s'\n", FileName));
@@ -2137,7 +2138,7 @@ if (!CurrentFolderNode) { DPRINT(MID_TRACE, ("Folder with index number (%d) not found.\n", - (unsigned int)Node->File.FileControlID)); + (ULONG)Node->File.FileControlID)); return CAB_STATUS_INVALID_CAB; }
@@ -2155,7 +2156,7 @@ }
-uint32_t CCabinet::ReadString(char* String, uint32_t MaxLength) +ULONG CCabinet::ReadString(char* String, ULONG MaxLength) /* * FUNCTION: Reads a NULL-terminated string from the cabinet * ARGUMENTS: @@ -2165,10 +2166,10 @@ * Status of operation */ { - uint32_t BytesRead; - uint32_t Offset; - uint32_t Status; - uint32_t Size; + ULONG BytesRead; + ULONG Offset; + ULONG Status; + ULONG Size; bool Found;
Offset = 0; @@ -2186,7 +2187,7 @@ Status = ReadBlock(&String[Offset], Size, &BytesRead); if ((Status != CAB_STATUS_SUCCESS) || (BytesRead != Size)) { - DPRINT(MIN_TRACE, ("Cannot read from file (%d).\n", (unsigned int)Status)); + DPRINT(MIN_TRACE, ("Cannot read from file (%d).\n", (ULONG)Status)); return CAB_STATUS_INVALID_CAB; }
@@ -2207,8 +2208,8 @@ Size = (BytesRead - Size) - 1; #if defined(WIN32) SetLastError(NO_ERROR); - (unsigned int)SetFilePointer(FileHandle, - -(int32_t)Size, + (ULONG)SetFilePointer(FileHandle, + -(LONG)Size, NULL, FILE_CURRENT); if (GetLastError() != NO_ERROR) @@ -2217,7 +2218,7 @@ return CAB_STATUS_INVALID_CAB; } #else - if (fseek(FileHandle, (off_t)(-(int32_t)Size), SEEK_CUR) != 0) + if (fseek(FileHandle, (off_t)(-(LONG)Size), SEEK_CUR) != 0) { DPRINT(MIN_TRACE, ("fseek() failed.\n")); return CAB_STATUS_INVALID_CAB; @@ -2227,16 +2228,16 @@ }
-uint32_t CCabinet::ReadFileTable() +ULONG CCabinet::ReadFileTable() /* * FUNCTION: Reads the file table from the cabinet file * RETURNS: * Status of operation */ { - uint32_t i; - uint32_t Status; - uint32_t BytesRead; + ULONG i; + ULONG Status; + ULONG BytesRead; PCFFILE_NODE File;
DPRINT(MAX_TRACE, ("Reading file table at absolute offset (0x%lX).\n", @@ -2275,7 +2276,7 @@ if ((Status = ReadBlock(&File->File, sizeof(CFFILE), &BytesRead)) != CAB_STATUS_SUCCESS) { - DPRINT(MIN_TRACE, ("Cannot read from file (%d).\n", (unsigned int)Status)); + DPRINT(MIN_TRACE, ("Cannot read from file (%d).\n", (ULONG)Status)); return CAB_STATUS_INVALID_CAB; }
@@ -2293,16 +2294,16 @@
DPRINT(MAX_TRACE, ("Found file '%s' at uncompressed offset (0x%X). Size (%d bytes) ControlId (0x%X).\n", (char*)File->FileName, - (unsigned int)File->File.FileOffset, - (unsigned int)File->File.FileSize, - (unsigned int)File->File.FileControlID)); + (ULONG)File->File.FileOffset, + (ULONG)File->File.FileSize, + (ULONG)File->File.FileControlID));
} return CAB_STATUS_SUCCESS; }
-uint32_t CCabinet::ReadDataBlocks(PCFFOLDER_NODE FolderNode) +ULONG CCabinet::ReadDataBlocks(PCFFOLDER_NODE FolderNode) /* * FUNCTION: Reads all CFDATA blocks for a folder from the cabinet file * ARGUMENTS: @@ -2311,12 +2312,12 @@ * Status of operation */ { - uint32_t AbsoluteOffset; - uint32_t UncompOffset; + ULONG AbsoluteOffset; + ULONG UncompOffset; PCFDATA_NODE Node; - uint32_t BytesRead; - uint32_t Status; - uint32_t i; + ULONG BytesRead; + ULONG Status; + ULONG i;
DPRINT(MAX_TRACE, ("Reading data blocks for folder (%lu) at absolute offset (0x%lX).\n", FolderNode->Index, FolderNode->Folder.DataOffset)); @@ -2356,16 +2357,16 @@ if ((Status = ReadBlock(&Node->Data, sizeof(CFDATA), &BytesRead)) != CAB_STATUS_SUCCESS) { - DPRINT(MIN_TRACE, ("Cannot read from file (%d).\n", (unsigned int)Status)); + DPRINT(MIN_TRACE, ("Cannot read from file (%d).\n", (ULONG)Status)); return CAB_STATUS_INVALID_CAB; }
DPRINT(MAX_TRACE, ("AbsOffset (0x%X) UncompOffset (0x%X) Checksum (0x%X) CompSize (%d) UncompSize (%d).\n", - (unsigned int)AbsoluteOffset, - (unsigned int)UncompOffset, - (unsigned int)Node->Data.Checksum, - (unsigned int)Node->Data.CompSize, - (unsigned int)Node->Data.UncompSize)); + (ULONG)AbsoluteOffset, + (ULONG)UncompOffset, + (ULONG)Node->Data.Checksum, + (ULONG)Node->Data.CompSize, + (ULONG)Node->Data.UncompSize));
Node->AbsoluteOffset = AbsoluteOffset; Node->UncompOffset = UncompOffset; @@ -2551,7 +2552,7 @@
DPRINT(MAX_TRACE, ("Deleting file: '%s'\n", CurNode->FileName));
- TotalFileSize -= (sizeof(CFFILE) + (uint32_t)strlen(GetFileName(CurNode->FileName)) + 1); + TotalFileSize -= (sizeof(CFFILE) + (ULONG)strlen(GetFileName(CurNode->FileName)) + 1);
if (CurNode->FileName) FreeMemory(CurNode->FileName); @@ -2626,9 +2627,9 @@ }
-uint32_t CCabinet::ComputeChecksum(void* Buffer, - unsigned int Size, - uint32_t Seed) +ULONG CCabinet::ComputeChecksum(void* Buffer, + ULONG Size, + ULONG Seed) /* * FUNCTION: Computes checksum for data block * ARGUMENTS: @@ -2640,9 +2641,9 @@ */ { int UlongCount; // Number of ULONGs in block - uint32_t Checksum; // Checksum accumulator + ULONG Checksum; // Checksum accumulator unsigned char* pb; - uint32_t ul; + ULONG ul;
/* FIXME: Doesn't seem to be correct. EXTRACT.EXE won't accept checksums computed by this routine */ @@ -2656,11 +2657,11 @@ /* Checksum integral multiple of ULONGs */ while (UlongCount-- > 0) { - /* NOTE: Build uint32_t in big/little-endian independent manner */ + /* NOTE: Build ULONG in big/little-endian independent manner */ ul = *pb++; // Get low-order byte - ul |= (((uint32_t)(*pb++)) << 8); // Add 2nd byte - ul |= (((uint32_t)(*pb++)) << 16); // Add 3nd byte - ul |= (((uint32_t)(*pb++)) << 24); // Add 4th byte + ul |= (((ULONG)(*pb++)) << 8); // Add 2nd byte + ul |= (((ULONG)(*pb++)) << 16); // Add 3nd byte + ul |= (((ULONG)(*pb++)) << 24); // Add 4th byte
Checksum ^= ul; // Update checksum } @@ -2670,9 +2671,9 @@ switch (Size % 4) { case 3: - ul |= (((uint32_t)(*pb++)) << 16); // Add 3rd byte + ul |= (((ULONG)(*pb++)) << 16); // Add 3rd byte case 2: - ul |= (((uint32_t)(*pb++)) << 8); // Add 2nd byte + ul |= (((ULONG)(*pb++)) << 8); // Add 2nd byte case 1: ul |= *pb++; // Get low-order byte default: @@ -2685,15 +2686,15 @@ }
-uint32_t CCabinet::ReadBlock(void* Buffer, - uint32_t Size, - uint32_t* BytesRead) +ULONG CCabinet::ReadBlock(void* Buffer, + ULONG Size, + PULONG BytesRead) /* * FUNCTION: Read a block of data from file * ARGUMENTS: * Buffer = Pointer to data buffer * Size = Length of data buffer - * BytesRead = Pointer to uint32_t that on return will contain + * BytesRead = Pointer to ULONG that on return will contain * number of bytes read * RETURNS: * Status of operation @@ -2706,22 +2707,22 @@
#ifndef CAB_READ_ONLY
-uint32_t CCabinet::InitCabinetHeader() +ULONG CCabinet::InitCabinetHeader() /* * FUNCTION: Initializes cabinet header and optional fields * RETURNS: * Status of operation */ { - uint32_t TotalSize; - uint32_t Size; + ULONG TotalSize; + ULONG Size;
CABHeader.FileTableOffset = 0; // Not known yet CABHeader.FolderCount = 0; // Not known yet CABHeader.FileCount = 0; // Not known yet CABHeader.Flags = 0; // Not known yet
- CABHeader.CabinetNumber = (uint16_t)CurrentDiskNumber; + CABHeader.CabinetNumber = (USHORT)CurrentDiskNumber;
if ((CurrentDiskNumber > 0) && (OnCabinetName(PrevCabinetNumber, CabinetPrev))) { @@ -2745,10 +2746,10 @@ DPRINT(MAX_TRACE, ("CabinetPrev '%s'.\n", CabinetPrev));
/* Calculate size of name of previous cabinet */ - TotalSize += (uint32_t)strlen(CabinetPrev) + 1; + TotalSize += (ULONG)strlen(CabinetPrev) + 1;
/* Calculate size of label of previous disk */ - TotalSize += (uint32_t)strlen(DiskPrev) + 1; + TotalSize += (ULONG)strlen(DiskPrev) + 1; }
if ((CABHeader.Flags & CAB_FLAG_HASNEXT) > 0) @@ -2757,12 +2758,12 @@ DPRINT(MAX_TRACE, ("CabinetNext '%s'.\n", CabinetNext));
/* Calculate size of name of next cabinet */ - Size = (uint32_t)strlen(CabinetNext) + 1; + Size = (ULONG)strlen(CabinetNext) + 1; TotalSize += Size; NextFieldsSize = Size;
/* Calculate size of label of next disk */ - Size = (uint32_t)strlen(DiskNext) + 1; + Size = (ULONG)strlen(DiskNext) + 1; TotalSize += Size; NextFieldsSize += Size; } @@ -2774,7 +2775,7 @@ { CABHeader.Flags |= CAB_FLAG_RESERVE; TotalSize += CabinetReservedFileSize; - TotalSize += sizeof(uint32_t); /* For CabinetResSize, FolderResSize, and FileResSize fields */ + TotalSize += sizeof(ULONG); /* For CabinetResSize, FolderResSize, and FileResSize fields */ }
DiskSize += TotalSize; @@ -2785,7 +2786,7 @@ }
-uint32_t CCabinet::WriteCabinetHeader(bool MoreDisks) +ULONG CCabinet::WriteCabinetHeader(bool MoreDisks) /* * FUNCTION: Writes the cabinet header and optional fields * ARGUMENTS: @@ -2796,8 +2797,8 @@ { PCFFOLDER_NODE FolderNode; PCFFILE_NODE FileNode; - uint32_t BytesWritten; - uint32_t Size; + ULONG BytesWritten; + ULONG Size;
if (MoreDisks) { @@ -2860,20 +2861,20 @@ /* Write per-cabinet reserved area if present */ if (CABHeader.Flags & CAB_FLAG_RESERVE) { - uint32_t ReservedSize; + ULONG ReservedSize;
ReservedSize = CabinetReservedFileSize & 0xffff; ReservedSize |= (0 << 16); /* Folder reserved area size */ ReservedSize |= (0 << 24); /* Folder reserved area size */ #if defined(WIN32) - if (!WriteFile(FileHandle, &ReservedSize, sizeof(uint32_t), (LPDWORD)&BytesWritten, NULL)) + if (!WriteFile(FileHandle, &ReservedSize, sizeof(ULONG), (LPDWORD)&BytesWritten, NULL)) { DPRINT(MIN_TRACE, ("Cannot write to file.\n")); return CAB_STATUS_CANNOT_WRITE; } #else - BytesWritten = sizeof(uint32_t); - if (fwrite(&ReservedSize, sizeof(uint32_t), 1, FileHandle) < 1) + BytesWritten = sizeof(ULONG); + if (fwrite(&ReservedSize, sizeof(ULONG), 1, FileHandle) < 1) { DPRINT(MIN_TRACE, ("Cannot write to file.\n")); return CAB_STATUS_CANNOT_WRITE; @@ -2901,7 +2902,7 @@ DPRINT(MAX_TRACE, ("CabinetPrev '%s'.\n", CabinetPrev));
/* Write name of previous cabinet */ - Size = (uint32_t)strlen(CabinetPrev) + 1; + Size = (ULONG)strlen(CabinetPrev) + 1; #if defined(WIN32) if (!WriteFile(FileHandle, CabinetPrev, Size, (LPDWORD)&BytesWritten, NULL)) { @@ -2920,7 +2921,7 @@ DPRINT(MAX_TRACE, ("DiskPrev '%s'.\n", DiskPrev));
/* Write label of previous disk */ - Size = (uint32_t)strlen(DiskPrev) + 1; + Size = (ULONG)strlen(DiskPrev) + 1; #if defined(WIN32) if (!WriteFile(FileHandle, DiskPrev, Size, (LPDWORD)&BytesWritten, NULL)) { @@ -2942,7 +2943,7 @@ DPRINT(MAX_TRACE, ("CabinetNext '%s'.\n", CabinetNext));
/* Write name of next cabinet */ - Size = (uint32_t)strlen(CabinetNext) + 1; + Size = (ULONG)strlen(CabinetNext) + 1; #if defined(WIN32) if (!WriteFile(FileHandle, CabinetNext, Size, (LPDWORD)&BytesWritten, NULL)) { @@ -2961,7 +2962,7 @@ DPRINT(MAX_TRACE, ("DiskNext '%s'.\n", DiskNext));
/* Write label of next disk */ - Size = (uint32_t)strlen(DiskNext) + 1; + Size = (ULONG)strlen(DiskNext) + 1; #if defined(WIN32) if (!WriteFile(FileHandle, DiskNext, Size, (LPDWORD)&BytesWritten, NULL)) { @@ -2982,7 +2983,7 @@ }
-uint32_t CCabinet::WriteFolderEntries() +ULONG CCabinet::WriteFolderEntries() /* * FUNCTION: Writes folder entries * RETURNS: @@ -2990,7 +2991,7 @@ */ { PCFFOLDER_NODE FolderNode; - uint32_t BytesWritten; + ULONG BytesWritten;
DPRINT(MAX_TRACE, ("Writing folder table.\n"));
@@ -3028,7 +3029,7 @@ }
-uint32_t CCabinet::WriteFileEntries() +ULONG CCabinet::WriteFileEntries() /* * FUNCTION: Writes file entries for all files * RETURNS: @@ -3036,7 +3037,7 @@ */ { PCFFILE_NODE File; - uint32_t BytesWritten; + ULONG BytesWritten; bool SetCont = false;
DPRINT(MAX_TRACE, ("Writing file table.\n")); @@ -3109,7 +3110,7 @@ }
-uint32_t CCabinet::CommitDataBlocks(PCFFOLDER_NODE FolderNode) +ULONG CCabinet::CommitDataBlocks(PCFFOLDER_NODE FolderNode) /* * FUNCTION: Writes data blocks to the cabinet * ARGUMENTS: @@ -3119,9 +3120,9 @@ */ { PCFDATA_NODE DataNode; - uint32_t BytesWritten; - uint32_t BytesRead; - uint32_t Status; + ULONG BytesWritten; + ULONG BytesRead; + ULONG Status;
DataNode = FolderNode->DataListHead; if (DataNode != NULL) @@ -3140,7 +3141,7 @@ Status = ScratchFile->ReadBlock(&DataNode->Data, InputBuffer, &BytesRead); if (Status != CAB_STATUS_SUCCESS) { - DPRINT(MIN_TRACE, ("Cannot read from scratch file (%d).\n", (unsigned int)Status)); + DPRINT(MIN_TRACE, ("Cannot read from scratch file (%d).\n", (ULONG)Status)); return Status; }
@@ -3182,15 +3183,15 @@ }
-uint32_t CCabinet::WriteDataBlock() +ULONG CCabinet::WriteDataBlock() /* * FUNCTION: Writes the current data block to the scratch file * RETURNS: * Status of operation */ { - uint32_t Status; - uint32_t BytesWritten; + ULONG Status; + ULONG BytesWritten; PCFDATA_NODE DataNode;
if (!BlockIsSplit) @@ -3224,14 +3225,14 @@
if (BlockIsSplit) { - DataNode->Data.CompSize = (uint16_t)(MaxDiskSize - DiskSize); + DataNode->Data.CompSize = (USHORT)(MaxDiskSize - DiskSize); DataNode->Data.UncompSize = 0; CreateNewDisk = true; } else { - DataNode->Data.CompSize = (uint16_t)CurrentOBufferSize; - DataNode->Data.UncompSize = (uint16_t)CurrentIBufferSize; + DataNode->Data.CompSize = (USHORT)CurrentOBufferSize; + DataNode->Data.UncompSize = (USHORT)CurrentIBufferSize; }
DataNode->Data.Checksum = 0; @@ -3241,9 +3242,9 @@ //DataNode->Data.Checksum = ComputeChecksum(CurrentOBuffer, DataNode->Data.CompSize, 0);
DPRINT(MAX_TRACE, ("Writing block. Checksum (0x%X) CompSize (%d) UncompSize (%d).\n", - (unsigned int)DataNode->Data.Checksum, - (unsigned int)DataNode->Data.CompSize, - (unsigned int)DataNode->Data.UncompSize)); + (ULONG)DataNode->Data.Checksum, + (ULONG)DataNode->Data.CompSize, + (ULONG)DataNode->Data.UncompSize));
Status = ScratchFile->WriteBlock(&DataNode->Data, CurrentOBuffer, &BytesWritten); @@ -3269,12 +3270,11 @@ return CAB_STATUS_SUCCESS; }
- #if !defined(WIN32)
void CCabinet::ConvertDateAndTime(time_t* Time, - uint16_t* DosDate, - uint16_t* DosTime) + PUSHORT DosDate, + PUSHORT DosTime) /* * FUNCTION: Returns file times of a file * ARGUMENTS: @@ -3304,7 +3304,7 @@ #endif // !WIN32
-uint32_t CCabinet::GetFileTimes(FILEHANDLE FileHandle, PCFFILE_NODE File) +ULONG CCabinet::GetFileTimes(FILEHANDLE FileHandle, PCFFILE_NODE File) /* * FUNCTION: Returns file times of a file * ARGUMENTS: @@ -3344,7 +3344,7 @@ }
-uint32_t CCabinet::GetAttributesOnFile(PCFFILE_NODE File) +ULONG CCabinet::GetAttributesOnFile(PCFFILE_NODE File) /* * FUNCTION: Returns attributes on a file * ARGUMENTS: @@ -3354,7 +3354,7 @@ */ { #if defined(WIN32) - int32_t Attributes; + LONG Attributes;
Attributes = GetFileAttributes(File->FileName); if (Attributes == -1) @@ -3407,7 +3407,7 @@ }
-uint32_t CCabinet::SetAttributesOnFile(PCFFILE_NODE File) +ULONG CCabinet::SetAttributesOnFile(PCFFILE_NODE File) /* * FUNCTION: Sets attributes on a file * ARGUMENTS: @@ -3417,7 +3417,7 @@ */ { #if defined(WIN32) - uint32_t Attributes = 0; + ULONG Attributes = 0;
if (File->File.Attributes & CAB_ATTRIB_READONLY) Attributes |= FILE_ATTRIBUTE_READONLY;
Modified: trunk/reactos/tools/cabman/cabinet.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/tools/cabman/cabinet.h?rev=... ============================================================================== --- trunk/reactos/tools/cabman/cabinet.h (original) +++ trunk/reactos/tools/cabman/cabinet.h Sat Aug 18 17:08:58 2007 @@ -14,13 +14,15 @@ #include <fcntl.h> #include <sys/types.h> #include <time.h> +#include <typedefs64.h> +typedef unsigned short USHORT, *PUSHORT; +#define _W64 #include <unistd.h> #ifndef MAX_PATH #define MAX_PATH 260 #endif #endif
-#include <stdint.h> #include <stdlib.h> #include <stdio.h> #include <string.h> @@ -58,11 +60,7 @@
#ifdef DBG
-extern uint32_t DebugTraceLevel; - -#ifdef _MSC_VER -#define __FUNCTION__ "" -#endif//_MSC_VER +extern ULONG DebugTraceLevel;
#define DPRINT(_t_, _x_) \ if (((DebugTraceLevel & NORMAL_MASK) >= _t_) || \ @@ -123,20 +121,20 @@
typedef struct _CFHEADER { - uint32_t Signature; // File signature 'MSCF' (CAB_SIGNATURE) - uint32_t Reserved1; // Reserved field - uint32_t CabinetSize; // Cabinet file size - uint32_t Reserved2; // Reserved field - uint32_t FileTableOffset; // Offset of first CFFILE - uint32_t Reserved3; // Reserved field - uint16_t Version; // Cabinet version (CAB_VERSION) - uint16_t FolderCount; // Number of folders - uint16_t FileCount; // Number of files - uint16_t Flags; // Cabinet flags (CAB_FLAG_*) - uint16_t SetID; // Cabinet set id - uint16_t CabinetNumber; // Zero-based cabinet number + ULONG Signature; // File signature 'MSCF' (CAB_SIGNATURE) + ULONG Reserved1; // Reserved field + ULONG CabinetSize; // Cabinet file size + ULONG Reserved2; // Reserved field + ULONG FileTableOffset; // Offset of first CFFILE + ULONG Reserved3; // Reserved field + USHORT Version; // Cabinet version (CAB_VERSION) + USHORT FolderCount; // Number of folders + USHORT FileCount; // Number of files + USHORT Flags; // Cabinet flags (CAB_FLAG_*) + USHORT SetID; // Cabinet set id + USHORT CabinetNumber; // Zero-based cabinet number /* Optional fields (depends on Flags) - uint16_t CabinetResSize // Per-cabinet reserved area size + USHORT CabinetResSize // Per-cabinet reserved area size char FolderResSize // Per-folder reserved area size char FileResSize // Per-file reserved area size char CabinetReserved[] // Per-cabinet reserved area @@ -150,9 +148,9 @@
typedef struct _CFFOLDER { - uint32_t DataOffset; // Absolute offset of first CFDATA block in this folder - uint16_t DataBlockCount; // Number of CFDATA blocks in this folder in this cabinet - uint16_t CompressionType; // Type of compression used for all CFDATA blocks in this folder + ULONG DataOffset; // Absolute offset of first CFDATA block in this folder + USHORT DataBlockCount; // Number of CFDATA blocks in this folder in this cabinet + USHORT CompressionType; // Type of compression used for all CFDATA blocks in this folder /* Optional fields (depends on Flags) char FolderReserved[] // Per-folder reserved area */ @@ -161,21 +159,21 @@
typedef struct _CFFILE { - uint32_t FileSize; // Uncompressed file size in bytes - uint32_t FileOffset; // Uncompressed offset of file in the folder - uint16_t FileControlID; // File control ID (CAB_FILE_*) - uint16_t FileDate; // File date stamp, as used by DOS - uint16_t FileTime; // File time stamp, as used by DOS - uint16_t Attributes; // File attributes (CAB_ATTRIB_*) + ULONG FileSize; // Uncompressed file size in bytes + ULONG FileOffset; // Uncompressed offset of file in the folder + USHORT FileControlID; // File control ID (CAB_FILE_*) + USHORT FileDate; // File date stamp, as used by DOS + USHORT FileTime; // File time stamp, as used by DOS + USHORT Attributes; // File attributes (CAB_ATTRIB_*) /* After this is the NULL terminated filename */ } CFFILE, *PCFFILE;
typedef struct _CFDATA { - uint32_t Checksum; // Checksum of CFDATA entry - uint16_t CompSize; // Number of compressed bytes in this block - uint16_t UncompSize; // Number of uncompressed bytes in this block + ULONG Checksum; // Checksum of CFDATA entry + USHORT CompSize; // Number of compressed bytes in this block + USHORT UncompSize; // Number of uncompressed bytes in this block /* Optional fields (depends on Flags) char DataReserved[] // Per-datablock reserved area */ @@ -185,9 +183,9 @@ { struct _CFDATA_NODE *Next; struct _CFDATA_NODE *Prev; - uint32_t ScratchFilePosition; // Absolute offset in scratch file - uint32_t AbsoluteOffset; // Absolute offset in cabinet - uint32_t UncompOffset; // Uncompressed offset in folder + ULONG ScratchFilePosition; // Absolute offset in scratch file + ULONG AbsoluteOffset; // Absolute offset in cabinet + ULONG UncompOffset; // Uncompressed offset in folder CFDATA Data; } CFDATA_NODE, *PCFDATA_NODE;
@@ -195,12 +193,12 @@ { struct _CFFOLDER_NODE *Next; struct _CFFOLDER_NODE *Prev; - uint32_t UncompOffset; // File size accumulator - uint32_t AbsoluteOffset; - uint32_t TotalFolderSize; // Total size of folder in current disk + ULONG UncompOffset; // File size accumulator + ULONG AbsoluteOffset; + ULONG TotalFolderSize; // Total size of folder in current disk PCFDATA_NODE DataListHead; PCFDATA_NODE DataListTail; - uint32_t Index; + ULONG Index; bool Commit; // true if the folder should be committed bool Delete; // true if marked for deletion CFFOLDER Folder; @@ -254,15 +252,15 @@ /* Default destructor */ virtual ~CCABCodec() {}; /* Compresses a data block */ - virtual uint32_t Compress(void* OutputBuffer, + virtual ULONG Compress(void* OutputBuffer, void* InputBuffer, - uint32_t InputLength, - uint32_t* OutputLength) = 0; + ULONG InputLength, + PULONG OutputLength) = 0; /* Uncompresses a data block */ - virtual uint32_t Uncompress(void* OutputBuffer, + virtual ULONG Uncompress(void* OutputBuffer, void* InputBuffer, - uint32_t InputLength, - uint32_t* OutputLength) = 0; + ULONG InputLength, + PULONG OutputLength) = 0; };
@@ -289,13 +287,13 @@ CCFDATAStorage(); /* Default destructor */ virtual ~CCFDATAStorage(); - uint32_t Create(char* FileName); - uint32_t Destroy(); - uint32_t Truncate(); - uint32_t Position(); - uint32_t Seek(int32_t Position); - uint32_t ReadBlock(PCFDATA Data, void* Buffer, uint32_t* BytesRead); - uint32_t WriteBlock(PCFDATA Data, void* Buffer, uint32_t* BytesWritten); + ULONG Create(char* FileName); + ULONG Destroy(); + ULONG Truncate(); + ULONG Position(); + ULONG Seek(LONG Position); + ULONG ReadBlock(PCFDATA Data, void* Buffer, PULONG BytesRead); + ULONG WriteBlock(PCFDATA Data, void* Buffer, PULONG BytesWritten); private: char FullName[MAX_PATH]; bool FileCreated; @@ -319,7 +317,7 @@ /* Removes a filename from a fully qualified filename */ void RemoveFileName(char* Path); /* Normalizes a path */ - bool NormalizePath(char* Path, uint32_t Length); + bool NormalizePath(char* Path, ULONG Length); /* Returns name of cabinet file */ char* GetCabinetName(); /* Sets the name of the cabinet file */ @@ -333,40 +331,40 @@ /* Returns destination path */ char* GetDestinationPath(); /* Returns zero-based current disk number */ - uint32_t GetCurrentDiskNumber(); + ULONG GetCurrentDiskNumber(); /* Opens the current cabinet file */ - uint32_t Open(); + ULONG Open(); /* Closes the current open cabinet file */ void Close(); /* Locates the first file in the current cabinet file that matches a search criteria */ - uint32_t FindFirst(char* FileName, PCAB_SEARCH Search); + ULONG FindFirst(char* FileName, PCAB_SEARCH Search); /* Locates the next file in the current cabinet file */ - uint32_t FindNext(PCAB_SEARCH Search); + ULONG FindNext(PCAB_SEARCH Search); /* Extracts a file from the current cabinet file */ - uint32_t ExtractFile(char* FileName); + ULONG ExtractFile(char* FileName); /* Select codec engine to use */ - void SelectCodec(uint32_t Id); + void SelectCodec(ULONG Id); #ifndef CAB_READ_ONLY /* Creates a new cabinet file */ - uint32_t NewCabinet(); + ULONG NewCabinet(); /* Forces a new disk to be created */ - uint32_t NewDisk(); + ULONG NewDisk(); /* Forces a new folder to be created */ - uint32_t NewFolder(); + ULONG NewFolder(); /* Writes a file to scratch storage */ - uint32_t WriteFileToScratchStorage(PCFFILE_NODE FileNode); + ULONG WriteFileToScratchStorage(PCFFILE_NODE FileNode); /* Forces the current disk to be written */ - uint32_t WriteDisk(uint32_t MoreDisks); + ULONG WriteDisk(ULONG MoreDisks); /* Commits the current disk */ - uint32_t CommitDisk(uint32_t MoreDisks); + ULONG CommitDisk(ULONG MoreDisks); /* Closes the current disk */ - uint32_t CloseDisk(); + ULONG CloseDisk(); /* Closes the current cabinet */ - uint32_t CloseCabinet(); + ULONG CloseCabinet(); /* Adds a file to the current disk */ - uint32_t AddFile(char* FileName); + ULONG AddFile(char* FileName); /* Sets the maximum size of the current disk */ - void SetMaxDiskSize(uint32_t Size); + void SetMaxDiskSize(ULONG Size); #endif /* CAB_READ_ONLY */
/* Default event handlers */ @@ -381,17 +379,17 @@ /* Handler called when a file is about to be added */ virtual void OnAdd(PCFFILE Entry, char* FileName); /* Handler called when a cabinet need a name */ - virtual bool OnCabinetName(uint32_t Number, char* Name); + virtual bool OnCabinetName(ULONG Number, char* Name); /* Handler called when a disk needs a label */ - virtual bool OnDiskLabel(uint32_t Number, char* Label); + virtual bool OnDiskLabel(ULONG Number, char* Label); #endif /* CAB_READ_ONLY */ private: - PCFFOLDER_NODE LocateFolderNode(uint32_t Index); - uint32_t GetAbsoluteOffset(PCFFILE_NODE File); - uint32_t LocateFile(char* FileName, PCFFILE_NODE *File); - uint32_t ReadString(char* String, uint32_t MaxLength); - uint32_t ReadFileTable(); - uint32_t ReadDataBlocks(PCFFOLDER_NODE FolderNode); + PCFFOLDER_NODE LocateFolderNode(ULONG Index); + ULONG GetAbsoluteOffset(PCFFILE_NODE File); + ULONG LocateFile(char* FileName, PCFFILE_NODE *File); + ULONG ReadString(char* String, ULONG MaxLength); + ULONG ReadFileTable(); + ULONG ReadDataBlocks(PCFFOLDER_NODE FolderNode); PCFFOLDER_NODE NewFolderNode(); PCFFILE_NODE NewFileNode(); PCFDATA_NODE NewDataNode(PCFFOLDER_NODE FolderNode); @@ -400,45 +398,45 @@ void DestroyDeletedFileNodes(); void DestroyFolderNodes(); void DestroyDeletedFolderNodes(); - uint32_t ComputeChecksum(void* Buffer, unsigned int Size, uint32_t Seed); - uint32_t ReadBlock(void* Buffer, uint32_t Size, uint32_t* BytesRead); + ULONG ComputeChecksum(void* Buffer, ULONG Size, ULONG Seed); + ULONG ReadBlock(void* Buffer, ULONG Size, PULONG BytesRead); #ifndef CAB_READ_ONLY - uint32_t InitCabinetHeader(); - uint32_t WriteCabinetHeader(bool MoreDisks); - uint32_t WriteFolderEntries(); - uint32_t WriteFileEntries(); - uint32_t CommitDataBlocks(PCFFOLDER_NODE FolderNode); - uint32_t WriteDataBlock(); - uint32_t GetAttributesOnFile(PCFFILE_NODE File); - uint32_t SetAttributesOnFile(PCFFILE_NODE File); - uint32_t GetFileTimes(FILEHANDLE FileHandle, PCFFILE_NODE File); + ULONG InitCabinetHeader(); + ULONG WriteCabinetHeader(bool MoreDisks); + ULONG WriteFolderEntries(); + ULONG WriteFileEntries(); + ULONG CommitDataBlocks(PCFFOLDER_NODE FolderNode); + ULONG WriteDataBlock(); + ULONG GetAttributesOnFile(PCFFILE_NODE File); + ULONG SetAttributesOnFile(PCFFILE_NODE File); + ULONG GetFileTimes(FILEHANDLE FileHandle, PCFFILE_NODE File); #if !defined(WIN32) - void ConvertDateAndTime(time_t* Time, uint16_t* DosDate, uint16_t* DosTime); + void ConvertDateAndTime(time_t* Time, PUSHORT DosDate, PUSHORT DosTime); #endif #endif /* CAB_READ_ONLY */ - uint32_t CurrentDiskNumber; // Zero based disk number + ULONG CurrentDiskNumber; // Zero based disk number char CabinetName[256]; // Filename of current cabinet char CabinetPrev[256]; // Filename of previous cabinet char DiskPrev[256]; // Label of cabinet in file CabinetPrev char CabinetNext[256]; // Filename of next cabinet char DiskNext[256]; // Label of cabinet in file CabinetNext - uint32_t TotalHeaderSize; // Size of header and optional fields - uint32_t NextFieldsSize; // Size of next cabinet name and next disk label - uint32_t TotalFolderSize; // Size of all folder entries - uint32_t TotalFileSize; // Size of all file entries - uint32_t FolderUncompSize; // Uncompressed size of folder - uint32_t BytesLeftInBlock; // Number of bytes left in current block + ULONG TotalHeaderSize; // Size of header and optional fields + ULONG NextFieldsSize; // Size of next cabinet name and next disk label + ULONG TotalFolderSize; // Size of all folder entries + ULONG TotalFileSize; // Size of all file entries + ULONG FolderUncompSize; // Uncompressed size of folder + ULONG BytesLeftInBlock; // Number of bytes left in current block bool ReuseBlock; char DestPath[MAX_PATH]; char CabinetReservedFile[MAX_PATH]; void* CabinetReservedFileBuffer; - uint32_t CabinetReservedFileSize; + ULONG CabinetReservedFileSize; FILEHANDLE FileHandle; bool FileOpen; CFHEADER CABHeader; - uint32_t CabinetReserved; - uint32_t FolderReserved; - uint32_t DataReserved; + ULONG CabinetReserved; + ULONG FolderReserved; + ULONG DataReserved; PCFFOLDER_NODE FolderListHead; PCFFOLDER_NODE FolderListTail; PCFFOLDER_NODE CurrentFolderNode; @@ -446,32 +444,32 @@ PCFFILE_NODE FileListHead; PCFFILE_NODE FileListTail; CCABCodec *Codec; - uint32_t CodecId; + ULONG CodecId; bool CodecSelected; void* InputBuffer; void* CurrentIBuffer; // Current offset in input buffer - uint32_t CurrentIBufferSize; // Bytes left in input buffer + ULONG CurrentIBufferSize; // Bytes left in input buffer void* OutputBuffer; - uint32_t TotalCompSize; // Total size of current CFDATA block + ULONG TotalCompSize; // Total size of current CFDATA block void* CurrentOBuffer; // Current offset in output buffer - uint32_t CurrentOBufferSize; // Bytes left in output buffer - uint32_t BytesLeftInCabinet; + ULONG CurrentOBufferSize; // Bytes left in output buffer + ULONG BytesLeftInCabinet; bool RestartSearch; - uint32_t LastFileOffset; // Uncompressed offset of last extracted file + ULONG LastFileOffset; // Uncompressed offset of last extracted file #ifndef CAB_READ_ONLY - uint32_t LastBlockStart; // Uncompressed offset of last block in folder - uint32_t MaxDiskSize; - uint32_t DiskSize; - uint32_t PrevCabinetNumber; // Previous cabinet number (where split file starts) + ULONG LastBlockStart; // Uncompressed offset of last block in folder + ULONG MaxDiskSize; + ULONG DiskSize; + ULONG PrevCabinetNumber; // Previous cabinet number (where split file starts) bool CreateNewDisk; bool CreateNewFolder;
CCFDATAStorage *ScratchFile; FILEHANDLE SourceFile; bool ContinueFile; - uint32_t TotalBytesLeft; + ULONG TotalBytesLeft; bool BlockIsSplit; // true if current data block is split - uint32_t NextFolderNumber; // Zero based folder number + ULONG NextFolderNumber; // Zero based folder number #endif /* CAB_READ_ONLY */ };
Modified: trunk/reactos/tools/cabman/cabman.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/tools/cabman/cabman.h?rev=2... ============================================================================== --- trunk/reactos/tools/cabman/cabman.h (original) +++ trunk/reactos/tools/cabman/cabman.h Sat Aug 18 17:08:58 2007 @@ -37,7 +37,7 @@ virtual void OnAdd(PCFFILE Entry, char* FileName); /* Configuration */ bool ProcessAll; - uint32_t Mode; + ULONG Mode; bool PromptOnOverwrite; char Location[MAX_PATH]; char FileName[MAX_PATH];
Added: trunk/reactos/tools/cabman/cabman.sln URL: http://svn.reactos.org/svn/reactos/trunk/reactos/tools/cabman/cabman.sln?rev... ============================================================================== --- trunk/reactos/tools/cabman/cabman.sln (added) +++ trunk/reactos/tools/cabman/cabman.sln Sat Aug 18 17:08:58 2007 @@ -1,0 +1,20 @@ + +Microsoft Visual Studio Solution File, Format Version 9.00 +# Visual C++ Express 2005 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cabman", "cabman.vcproj", "{3A9CBD2C-BD87-4838-917E-F85C49BC3617}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {3A9CBD2C-BD87-4838-917E-F85C49BC3617}.Debug|Win32.ActiveCfg = Debug|Win32 + {3A9CBD2C-BD87-4838-917E-F85C49BC3617}.Debug|Win32.Build.0 = Debug|Win32 + {3A9CBD2C-BD87-4838-917E-F85C49BC3617}.Release|Win32.ActiveCfg = Release|Win32 + {3A9CBD2C-BD87-4838-917E-F85C49BC3617}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal
Added: trunk/reactos/tools/cabman/cabman.vcproj URL: http://svn.reactos.org/svn/reactos/trunk/reactos/tools/cabman/cabman.vcproj?... ============================================================================== --- trunk/reactos/tools/cabman/cabman.vcproj (added) +++ trunk/reactos/tools/cabman/cabman.vcproj Sat Aug 18 17:08:58 2007 @@ -1,0 +1,232 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="8,00" + Name="cabman" + ProjectGUID="{3A9CBD2C-BD87-4838-917E-F85C49BC3617}" + RootNamespace="cabman" + Keyword="Win32Proj" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="$(SolutionDir)$(ConfigurationName)" + IntermediateDirectory="$(ConfigurationName)" + ConfigurationType="1" + CharacterSet="0" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + UseUnicodeResponseFiles="true" + Optimization="0" + AdditionalIncludeDirectories="../../include/reactos;../../lib/3rdparty/zlib" + PreprocessorDefinitions="WIN32;_CRT_SECURE_NO_WARNINGS" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="true" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="kernel32.lib ../../obj-i386/lib/3rdparty/zlib/zlib.a $(NOINHERIT)" + LinkIncremental="2" + GenerateDebugInformation="true" + SubSystem="1" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="$(SolutionDir)$(ConfigurationName)" + IntermediateDirectory="$(ConfigurationName)" + ConfigurationType="1" + CharacterSet="0" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../include/reactos;../../lib/3rdparty/zlib" + PreprocessorDefinitions="WIN32;_CRT_SECURE_NO_WARNINGS" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="true" + DebugInformationFormat="0" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="kernel32.lib ../../obj-i386/lib/3rdparty/zlib/zlib.a $(NOINHERIT)" + LinkIncremental="1" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\cabinet.cxx" + > + </File> + <File + RelativePath=".\dfp.cxx" + > + </File> + <File + RelativePath=".\main.cxx" + > + </File> + <File + RelativePath=".\mszip.cxx" + > + </File> + <File + RelativePath=".\raw.cxx" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath=".\cabinet.h" + > + </File> + <File + RelativePath=".\cabman.h" + > + </File> + <File + RelativePath=".\dfp.h" + > + </File> + <File + RelativePath=".\mszip.h" + > + </File> + <File + RelativePath=".\raw.h" + > + </File> + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject>
Modified: trunk/reactos/tools/cabman/dfp.cxx URL: http://svn.reactos.org/svn/reactos/trunk/reactos/tools/cabman/dfp.cxx?rev=28... ============================================================================== --- trunk/reactos/tools/cabman/dfp.cxx (original) +++ trunk/reactos/tools/cabman/dfp.cxx Sat Aug 18 17:08:58 2007 @@ -12,6 +12,7 @@ * CSH 15/08-2003 Made it portable * CF 04/05-2007 Reformatted the code to be more consistent and use TABs instead of spaces * CF 04/05-2007 Made it compatible with 64-bit operating systems + * CF 18/08-2007 Use typedefs64.h and the Windows types for compatibility with 64-bit operating systems */ #include <stdlib.h> #include <stdio.h> @@ -21,31 +22,31 @@
#if defined(WIN32) #define GetSizeOfFile(handle) _GetSizeOfFile(handle) -static int32_t _GetSizeOfFile(FILEHANDLE handle) -{ - uint32_t size = GetFileSize(handle, NULL); +static LONG _GetSizeOfFile(FILEHANDLE handle) +{ + ULONG size = GetFileSize(handle, NULL); if (size == INVALID_FILE_SIZE) return -1;
return size; } #define ReadFileData(handle, buffer, size, bytesread) _ReadFileData(handle, buffer, size, bytesread) -static bool _ReadFileData(FILEHANDLE handle, void* buffer, uint32_t size, uint32_t* bytesread) +static bool _ReadFileData(FILEHANDLE handle, void* buffer, ULONG size, PULONG bytesread) { return ReadFile(handle, buffer, size, (LPDWORD)bytesread, NULL); } #else #define GetSizeOfFile(handle) _GetSizeOfFile(handle) -static int32_t _GetSizeOfFile(FILEHANDLE handle) -{ - int32_t size; +static LONG _GetSizeOfFile(FILEHANDLE handle) +{ + LONG size; fseek(handle, 0, SEEK_END); size = ftell(handle); fseek(handle, 0, SEEK_SET); return size; } #define ReadFileData(handle, buffer, size, bytesread) _ReadFileData(handle, buffer, size, bytesread) -static bool _ReadFileData(FILEHANDLE handle, void* buffer, uint32_t size, uint32_t* bytesread) +static bool _ReadFileData(FILEHANDLE handle, void* buffer, ULONG size, PULONG bytesread) { *bytesread = fread(buffer, 1, size, handle); return *bytesread == size; @@ -128,7 +129,7 @@ char eolbuf[2]; char* destpath; #if defined(WIN32) - uint32_t BytesWritten; + ULONG BytesWritten; #endif
if (DontGenerateInf) @@ -160,14 +161,14 @@ NULL); // No attribute template if (InfFileHandle == INVALID_HANDLE_VALUE) { - DPRINT(MID_TRACE, ("Error creating '%d'.\n", (unsigned int)GetLastError())); + DPRINT(MID_TRACE, ("Error creating '%d'.\n", (ULONG)GetLastError())); return; } #else /* !WIN32 */ InfFileHandle = fopen(buf, "wb"); if (InfFileHandle == NULL) { - DPRINT(MID_TRACE, ("Error creating '%d'.\n", (unsigned int)errno)); + DPRINT(MID_TRACE, ("Error creating '%d'.\n", (ULONG)errno)); return; } #endif @@ -176,7 +177,7 @@ #if defined(WIN32) if (!WriteFile(InfFileHandle, InfLine, (DWORD)strlen(InfLine), (LPDWORD)&BytesWritten, NULL)) { - DPRINT(MID_TRACE, ("ERROR WRITING '%d'.\n", (unsigned int)GetLastError())); + DPRINT(MID_TRACE, ("ERROR WRITING '%d'.\n", (ULONG)GetLastError())); return; } #else @@ -190,7 +191,7 @@ #if defined(WIN32) if (!WriteFile(InfFileHandle, eolbuf, sizeof(eolbuf), (LPDWORD)&BytesWritten, NULL)) { - DPRINT(MID_TRACE, ("ERROR WRITING '%d'.\n", (unsigned int)GetLastError())); + DPRINT(MID_TRACE, ("ERROR WRITING '%d'.\n", (ULONG)GetLastError())); return; } #else @@ -200,7 +201,7 @@ }
-uint32_t CDFParser::Load(char* FileName) +ULONG CDFParser::Load(char* FileName) /* * FUNCTION: Loads a directive file into memory * ARGUMENTS: @@ -209,8 +210,8 @@ * Status of operation */ { - uint32_t BytesRead; - int32_t FileSize; + ULONG BytesRead; + LONG FileSize;
if (FileLoaded) return CAB_STATUS_SUCCESS; @@ -239,7 +240,7 @@ return CAB_STATUS_CANNOT_OPEN; }
- FileBufferSize = (uint32_t)FileSize; + FileBufferSize = (ULONG)FileSize;
FileBuffer = (char*)AllocateMemory(FileBufferSize); if (!FileBuffer) @@ -266,7 +267,7 @@ }
-uint32_t CDFParser::Parse() +ULONG CDFParser::Parse() /* * FUNCTION: Parses a loaded directive file * RETURNS: @@ -274,7 +275,7 @@ */ { bool Command; - uint32_t Status; + ULONG Status;
if (!FileLoaded) return CAB_STATUS_NOFILE; @@ -346,7 +347,7 @@
if (Status == CAB_STATUS_FAILURE) { - printf("Directive file contains errors at line %d.\n", (unsigned int)CurrentLine); + printf("Directive file contains errors at line %d.\n", (ULONG)CurrentLine); DPRINT(MID_TRACE, ("Error while executing command.\n")); }
@@ -360,7 +361,7 @@
if (Status != CAB_STATUS_SUCCESS) { - printf("Directive file contains errors at line %d.\n", (unsigned int)CurrentLine); + printf("Directive file contains errors at line %d.\n", (ULONG)CurrentLine); DPRINT(MID_TRACE, ("Error while copying file.\n")); }
@@ -381,8 +382,8 @@ break;
default: - printf("Directive file contains errors at line %d.\n", (unsigned int)CurrentLine); - DPRINT(MID_TRACE, ("Token is (%d).\n", (unsigned int)CurrentToken)); + printf("Directive file contains errors at line %d.\n", (ULONG)CurrentLine); + DPRINT(MID_TRACE, ("Token is (%d).\n", (ULONG)CurrentToken)); return CAB_STATUS_SUCCESS; } NextToken(); @@ -401,7 +402,7 @@ Status = CloseDisk(); if (Status != CAB_STATUS_SUCCESS) { - DPRINT(MIN_TRACE, ("Cannot write disk (%d).\n", (unsigned int)Status)); + DPRINT(MIN_TRACE, ("Cannot write disk (%d).\n", (ULONG)Status)); return Status; } } @@ -411,7 +412,7 @@ Status = CloseCabinet(); if (Status != CAB_STATUS_SUCCESS) { - DPRINT(MIN_TRACE, ("Cannot close cabinet (%d).\n", (unsigned int)Status)); + DPRINT(MIN_TRACE, ("Cannot close cabinet (%d).\n", (ULONG)Status)); return Status; } } @@ -437,7 +438,7 @@ }
-bool CDFParser::OnDiskLabel(uint32_t Number, char* Label) +bool CDFParser::OnDiskLabel(ULONG Number, char* Label) /* * FUNCTION: Called when a disk needs a label * ARGUMENTS: @@ -448,13 +449,13 @@ */ { char Buffer[20]; - unsigned int i; + ULONG i; int j; char ch;
Number += 1;
- DPRINT(MID_TRACE, ("Giving disk (%d) a label...\n", (unsigned int)Number)); + DPRINT(MID_TRACE, ("Giving disk (%d) a label...\n", (ULONG)Number));
if (GetDiskName(&DiskLabel, Number, Label)) return true; @@ -470,7 +471,7 @@ { sprintf(Buffer, "%lu", Number); strcat(Label, Buffer); - j += (int)strlen(Buffer); + j += (LONG)strlen(Buffer); } else { @@ -489,7 +490,7 @@ }
-bool CDFParser::OnCabinetName(uint32_t Number, char* Name) +bool CDFParser::OnCabinetName(ULONG Number, char* Name) /* * FUNCTION: Called when a cabinet needs a name * ARGUMENTS: @@ -500,13 +501,13 @@ */ { char Buffer[MAX_PATH]; - unsigned int i; + ULONG i; int j; char ch;
Number += 1;
- DPRINT(MID_TRACE, ("Giving cabinet (%d) a name...\n", (unsigned int)Number)); + DPRINT(MID_TRACE, ("Giving cabinet (%d) a name...\n", (ULONG)Number));
if (GetDiskName(&CabinetName, Number, Buffer)) { @@ -518,7 +519,7 @@ if (CabinetNameTemplateSet) { strcpy(Name, GetDestinationPath()); - j = (int)strlen(Name); + j = (LONG)strlen(Name); for (i = 0; i < strlen(CabinetNameTemplate); i++) { ch = CabinetNameTemplate[i]; @@ -526,7 +527,7 @@ { sprintf(Buffer, "%lu", Number); strcat(Name, Buffer); - j += (int)strlen(Buffer); + j += (LONG)strlen(Buffer); } else { @@ -544,7 +545,7 @@ }
-bool CDFParser::SetDiskName(PCABINET_NAME *List, uint32_t Number, char* String) +bool CDFParser::SetDiskName(PCABINET_NAME *List, ULONG Number, char* String) /* * FUNCTION: Sets an entry in a list * ARGUMENTS: @@ -582,7 +583,7 @@ }
-bool CDFParser::GetDiskName(PCABINET_NAME *List, uint32_t Number, char* String) +bool CDFParser::GetDiskName(PCABINET_NAME *List, ULONG Number, char* String) /* * FUNCTION: Returns an entry in a list * ARGUMENTS: @@ -610,7 +611,7 @@ }
-bool CDFParser::SetDiskNumber(PDISK_NUMBER *List, uint32_t Number, uint32_t Value) +bool CDFParser::SetDiskNumber(PDISK_NUMBER *List, ULONG Number, ULONG Value) /* * FUNCTION: Sets an entry in a list * ARGUMENTS: @@ -648,7 +649,7 @@ }
-bool CDFParser::GetDiskNumber(PDISK_NUMBER *List, uint32_t Number, uint32_t* Value) +bool CDFParser::GetDiskNumber(PDISK_NUMBER *List, ULONG Number, PULONG Value) /* * FUNCTION: Returns an entry in a list * ARGUMENTS: @@ -676,7 +677,7 @@ }
-bool CDFParser::DoDiskLabel(uint32_t Number, char* Label) +bool CDFParser::DoDiskLabel(ULONG Number, char* Label) /* * FUNCTION: Sets the label of a disk * ARGUMENTS: @@ -686,7 +687,7 @@ * false if there was not enough free memory available */ { - DPRINT(MID_TRACE, ("Setting label of disk (%d) to '%s'\n", (unsigned int)Number, Label)); + DPRINT(MID_TRACE, ("Setting label of disk (%d) to '%s'\n", (ULONG)Number, Label));
return SetDiskName(&DiskLabel, Number, Label); } @@ -706,7 +707,7 @@ }
-bool CDFParser::DoCabinetName(uint32_t Number, char* Name) +bool CDFParser::DoCabinetName(ULONG Number, char* Name) /* * FUNCTION: Sets the name of a cabinet * ARGUMENTS: @@ -716,7 +717,7 @@ * false if there was not enough free memory available */ { - DPRINT(MID_TRACE, ("Setting name of cabinet (%d) to '%s'\n", (unsigned int)Number, Name)); + DPRINT(MID_TRACE, ("Setting name of cabinet (%d) to '%s'\n", (ULONG)Number, Name));
return SetDiskName(&CabinetName, Number, Name); } @@ -736,7 +737,7 @@ }
-uint32_t CDFParser::DoMaxDiskSize(bool NumberValid, uint32_t Number) +ULONG CDFParser::DoMaxDiskSize(bool NumberValid, ULONG Number) /* * FUNCTION: Sets the maximum disk size * ARGUMENTS: @@ -748,7 +749,7 @@ * Standard sizes are 2.88M, 1.44M, 1.25M, 1.2M, 720K, 360K, and CDROM */ { - uint32_t A, B, Value; + ULONG A, B, Value;
if (IsNextToken(TokenInteger, true)) { @@ -853,14 +854,14 @@ InfFileNameSet = true; }
-uint32_t CDFParser::SetupNewDisk() +ULONG CDFParser::SetupNewDisk() /* * FUNCTION: Sets up parameters for a new disk * RETURNS: * Status of operation */ { - uint32_t Value; + ULONG Value;
if (!GetDiskNumber(&MaxDiskSize, GetCurrentDiskNumber(), &Value)) { @@ -875,7 +876,7 @@ }
-uint32_t CDFParser::PerformSetCommand() +ULONG CDFParser::PerformSetCommand() /* * FUNCTION: Performs a set variable command * RETURNS: @@ -884,7 +885,7 @@ { SETTYPE SetType; bool NumberValid = false; - uint32_t Number = 0; + ULONG Number = 0;
if (!IsNextToken(TokenIdentifier, true)) return CAB_STATUS_FAILURE; @@ -971,7 +972,7 @@ }
-uint32_t CDFParser::PerformNewCommand() +ULONG CDFParser::PerformNewCommand() /* * FUNCTION: Performs a new disk|cabinet|folder command * RETURNS: @@ -979,7 +980,7 @@ */ { NEWTYPE NewType; - uint32_t Status; + ULONG Status;
if (!IsNextToken(TokenIdentifier, true)) return CAB_STATUS_FAILURE; @@ -1003,7 +1004,7 @@ Status = CloseDisk(); if (Status != CAB_STATUS_SUCCESS) { - DPRINT(MIN_TRACE, ("Cannot write disk (%d).\n", (unsigned int)Status)); + DPRINT(MIN_TRACE, ("Cannot write disk (%d).\n", (ULONG)Status)); return CAB_STATUS_SUCCESS; } DiskCreated = false; @@ -1012,7 +1013,7 @@ Status = NewDisk(); if (Status != CAB_STATUS_SUCCESS) { - DPRINT(MIN_TRACE, ("Cannot create disk (%d).\n", (unsigned int)Status)); + DPRINT(MIN_TRACE, ("Cannot create disk (%d).\n", (ULONG)Status)); return CAB_STATUS_SUCCESS; } DiskCreated = true; @@ -1027,7 +1028,7 @@ Status = CloseDisk(); if (Status != CAB_STATUS_SUCCESS) { - DPRINT(MIN_TRACE, ("Cannot write disk (%d).\n", (unsigned int)Status)); + DPRINT(MIN_TRACE, ("Cannot write disk (%d).\n", (ULONG)Status)); return CAB_STATUS_SUCCESS; } DiskCreated = false; @@ -1036,7 +1037,7 @@ Status = NewCabinet(); if (Status != CAB_STATUS_SUCCESS) { - DPRINT(MIN_TRACE, ("Cannot create cabinet (%d).\n", (unsigned int)Status)); + DPRINT(MIN_TRACE, ("Cannot create cabinet (%d).\n", (ULONG)Status)); return CAB_STATUS_SUCCESS; } DiskCreated = true; @@ -1054,7 +1055,7 @@ }
-uint32_t CDFParser::PerformInfBeginCommand() +ULONG CDFParser::PerformInfBeginCommand() /* * FUNCTION: Begins inf mode * RETURNS: @@ -1066,7 +1067,7 @@ }
-uint32_t CDFParser::PerformInfEndCommand() +ULONG CDFParser::PerformInfEndCommand() /* * FUNCTION: Begins inf mode * RETURNS: @@ -1078,7 +1079,7 @@ }
-uint32_t CDFParser::PerformCommand() +ULONG CDFParser::PerformCommand() /* * FUNCTION: Performs a command * RETURNS: @@ -1098,15 +1099,15 @@ }
-uint32_t CDFParser::PerformFileCopy() +ULONG CDFParser::PerformFileCopy() /* * FUNCTION: Performs a file copy * RETURNS: * Status of operation */ { - uint32_t Status; - uint32_t i, j; + ULONG Status; + ULONG i, j; char ch; char SrcName[MAX_PATH]; char DstName[MAX_PATH]; @@ -1139,7 +1140,7 @@
if (CurrentToken != TokenEnd) { - j = (uint32_t)strlen(CurrentString); i = 0; + j = (ULONG)strlen(CurrentString); i = 0; while ((CurrentChar + i < LineLength) && ((ch = Line[CurrentChar + i]) != ' ') && (ch != 0x09) && @@ -1159,7 +1160,7 @@
if (CurrentToken != TokenEnd) { - j = (uint32_t)strlen(CurrentString); i = 0; + j = (ULONG)strlen(CurrentString); i = 0; while ((CurrentChar + i < LineLength) && ((ch = Line[CurrentChar + i]) != ' ') && (ch != 0x09) && @@ -1181,7 +1182,7 @@ Status = NewCabinet(); if (Status != CAB_STATUS_SUCCESS) { - DPRINT(MIN_TRACE, ("Cannot create cabinet (%d).\n", (unsigned int)Status)); + DPRINT(MIN_TRACE, ("Cannot create cabinet (%d).\n", (ULONG)Status)); printf("Cannot create cabinet.\n"); return CAB_STATUS_FAILURE; } @@ -1192,7 +1193,7 @@ Status = NewDisk(); if (Status != CAB_STATUS_SUCCESS) { - DPRINT(MIN_TRACE, ("Cannot create disk (%d).\n", (unsigned int)Status)); + DPRINT(MIN_TRACE, ("Cannot create disk (%d).\n", (ULONG)Status)); printf("Cannot create disk.\n"); return CAB_STATUS_FAILURE; } @@ -1275,7 +1276,7 @@ * true if there is a new line, false if not */ { - uint32_t i, j; + ULONG i, j; char ch;
if (CurrentOffset >= FileBufferSize) @@ -1312,7 +1313,7 @@ * FUNCTION: Reads the next token from the current line */ { - uint32_t i; + ULONG i; char ch = ' ';
if (CurrentChar >= LineLength)
Modified: trunk/reactos/tools/cabman/dfp.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/tools/cabman/dfp.h?rev=2839... ============================================================================== --- trunk/reactos/tools/cabman/dfp.h (original) +++ trunk/reactos/tools/cabman/dfp.h Sat Aug 18 17:08:58 2007 @@ -11,14 +11,14 @@
typedef struct _CABINET_NAME { struct _CABINET_NAME *Next; - uint32_t DiskNumber; + ULONG DiskNumber; char Name[128]; } CABINET_NAME, *PCABINET_NAME;
typedef struct _DISK_NUMBER { struct _DISK_NUMBER *Next; - uint32_t DiskNumber; - uint32_t Number; + ULONG DiskNumber; + ULONG Number; } DISK_NUMBER, *PDISK_NUMBER;
typedef enum { @@ -58,35 +58,35 @@ public: CDFParser(); virtual ~CDFParser(); - uint32_t Load(char* FileName); - uint32_t Parse(); + ULONG Load(char* FileName); + ULONG Parse(); void SetFileRelativePath(char* Path); bool InfFileOnly; bool DontGenerateInf; char FileRelativePath[300]; private: /* Event handlers */ - virtual bool OnDiskLabel(uint32_t Number, char* Label); - virtual bool OnCabinetName(uint32_t Number, char* Name); + virtual bool OnDiskLabel(ULONG Number, char* Label); + virtual bool OnCabinetName(ULONG Number, char* Name);
void WriteInfLine(char* InfLine); - bool SetDiskName(PCABINET_NAME *List, uint32_t Number, char* String); - bool GetDiskName(PCABINET_NAME *List, uint32_t Number, char* String); - bool SetDiskNumber(PDISK_NUMBER *List, uint32_t Number, uint32_t Value); - bool GetDiskNumber(PDISK_NUMBER *List, uint32_t Number, uint32_t* Value); - bool DoDiskLabel(uint32_t Number, char* Label); + bool SetDiskName(PCABINET_NAME *List, ULONG Number, char* String); + bool GetDiskName(PCABINET_NAME *List, ULONG Number, char* String); + bool SetDiskNumber(PDISK_NUMBER *List, ULONG Number, ULONG Value); + bool GetDiskNumber(PDISK_NUMBER *List, ULONG Number, PULONG Value); + bool DoDiskLabel(ULONG Number, char* Label); void DoDiskLabelTemplate(char* Template); - bool DoCabinetName(uint32_t Number, char* Name); + bool DoCabinetName(ULONG Number, char* Name); void DoCabinetNameTemplate(char* Template); void DoInfFileName(char* InfFileName); - uint32_t DoMaxDiskSize(bool NumberValid, uint32_t Number); - uint32_t SetupNewDisk(); - uint32_t PerformSetCommand(); - uint32_t PerformNewCommand(); - uint32_t PerformInfBeginCommand(); - uint32_t PerformInfEndCommand(); - uint32_t PerformCommand(); - uint32_t PerformFileCopy(); + ULONG DoMaxDiskSize(bool NumberValid, ULONG Number); + ULONG SetupNewDisk(); + ULONG PerformSetCommand(); + ULONG PerformNewCommand(); + ULONG PerformInfBeginCommand(); + ULONG PerformInfEndCommand(); + ULONG PerformCommand(); + ULONG PerformFileCopy(); void SkipSpaces(); bool IsNextToken(DFP_TOKEN Token, bool NoSpaces); bool ReadLine(); @@ -95,15 +95,15 @@ bool FileLoaded; FILEHANDLE FileHandle; char* FileBuffer; - uint32_t FileBufferSize; - uint32_t CurrentOffset; + ULONG FileBufferSize; + ULONG CurrentOffset; char Line[128]; - uint32_t LineLength; - uint32_t CurrentLine; - uint32_t CurrentChar; + ULONG LineLength; + ULONG CurrentLine; + ULONG CurrentChar; /* Token */ DFP_TOKEN CurrentToken; - uint32_t CurrentInteger; + ULONG CurrentInteger; char CurrentString[256];
/* State */ @@ -112,27 +112,27 @@ bool FolderCreated; /* Standard directive variable */ bool Cabinet; - uint32_t CabinetFileCountThreshold; + ULONG CabinetFileCountThreshold; PCABINET_NAME CabinetName; bool CabinetNameTemplateSet; char CabinetNameTemplate[128]; bool InfFileNameSet; char InfFileName[256]; bool Compress; - uint32_t CompressionType; + ULONG CompressionType; PCABINET_NAME DiskLabel; bool DiskLabelTemplateSet; char DiskLabelTemplate[128]; - uint32_t FolderFileCountThreshold; - uint32_t FolderSizeThreshold; - uint32_t MaxCabinetSize; - uint32_t MaxDiskFileCount; + ULONG FolderFileCountThreshold; + ULONG FolderSizeThreshold; + ULONG MaxCabinetSize; + ULONG MaxDiskFileCount; PDISK_NUMBER MaxDiskSize; bool MaxDiskSizeAllSet; - uint32_t MaxDiskSizeAll; - uint32_t ReservePerCabinetSize; - uint32_t ReservePerDataBlockSize; - uint32_t ReservePerFolderSize; + ULONG MaxDiskSizeAll; + ULONG ReservePerCabinetSize; + ULONG ReservePerDataBlockSize; + ULONG ReservePerFolderSize; char SourceDir[256]; FILEHANDLE InfFileHandle; bool InfModeEnabled;
Modified: trunk/reactos/tools/cabman/main.cxx URL: http://svn.reactos.org/svn/reactos/trunk/reactos/tools/cabman/main.cxx?rev=2... ============================================================================== --- trunk/reactos/tools/cabman/main.cxx (original) +++ trunk/reactos/tools/cabman/main.cxx Sat Aug 18 17:08:58 2007 @@ -10,6 +10,7 @@ * CSH 15/08-2003 Made it portable * CF 04/05-2007 Reformatted the code to be more consistent and use TABs instead of spaces * CF 04/05-2007 Made it compatible with 64-bit operating systems + * CF 18/08-2007 Use typedefs64.h and the Windows types for compatibility with 64-bit operating systems */ #include <stdlib.h> #include <stdarg.h> @@ -20,9 +21,9 @@
#ifdef DBG
-uint32_t DebugTraceLevel = MIN_TRACE; -//uint32_t DebugTraceLevel = MID_TRACE; -//uint32_t DebugTraceLevel = MAX_TRACE; +ULONG DebugTraceLevel = MIN_TRACE; +//ULONG DebugTraceLevel = MID_TRACE; +//ULONG DebugTraceLevel = MAX_TRACE;
#endif /* DBG */
@@ -30,7 +31,7 @@ #define CM_VERSION "0.9"
-char* Pad(char* Str, char PadChar, unsigned int Length) +char* Pad(char* Str, char PadChar, ULONG Length) /* * FUNCTION: Pads a string with a character to make a given length * ARGUMENTS: @@ -43,9 +44,9 @@ * Str must be at least Length + 1 bytes */ { - unsigned int Len; - - Len = (uint32_t)strlen(Str); + ULONG Len; + + Len = (ULONG)strlen(Str);
if (Len < Length) { @@ -56,7 +57,7 @@ }
-char* Date2Str(char* Str, uint16_t Date) +char* Date2Str(char* Str, USHORT Date) /* * FUNCTION: Converts a DOS style date to a string * ARGUMENTS: @@ -66,7 +67,7 @@ * Pointer to string */ { - uint32_t dw; + ULONG dw;
/* Month */ Str[0] = (char)('0' + ((Date & 0x01E0) >> 5) / 10); @@ -87,7 +88,7 @@ }
-char* Time2Str(char* Str, uint16_t Time) +char* Time2Str(char* Str, USHORT Time) /* * FUNCTION: Converts a DOS style time to a string * ARGUMENTS: @@ -98,8 +99,8 @@ */ { bool PM; - uint32_t Hour; - uint32_t dw; + ULONG Hour; + ULONG dw;
Hour = ((Time & 0xF800) >> 11); PM = (Hour >= 12); @@ -127,7 +128,7 @@ }
-char* Attr2Str(char* Str, uint16_t Attr) +char* Attr2Str(char* Str, USHORT Attr) /* * FUNCTION: Converts attributes to a string * ARGUMENTS: @@ -365,7 +366,7 @@ * FUNCTION: Create cabinet */ { - uint32_t Status; + ULONG Status;
Status = Load((char*)&FileName); if (Status != CAB_STATUS_SUCCESS) @@ -385,19 +386,19 @@ * FUNCTION: Create cabinet */ { - uint32_t Status; + ULONG Status;
Status = NewCabinet(); if (Status != CAB_STATUS_SUCCESS) { - DPRINT(MIN_TRACE, ("Cannot create cabinet (%d).\n", (unsigned int)Status)); + DPRINT(MIN_TRACE, ("Cannot create cabinet (%d).\n", (ULONG)Status)); return false; }
Status = AddFile(FileName); if (Status != CAB_STATUS_SUCCESS) { - DPRINT(MIN_TRACE, ("Cannot add file to cabinet (%d).\n", (unsigned int)Status)); + DPRINT(MIN_TRACE, ("Cannot add file to cabinet (%d).\n", (ULONG)Status)); return false; }
@@ -406,7 +407,7 @@ Status = CloseDisk(); if (Status != CAB_STATUS_SUCCESS) { - DPRINT(MIN_TRACE, ("Cannot write disk (%d).\n", (unsigned int)Status)); + DPRINT(MIN_TRACE, ("Cannot write disk (%d).\n", (ULONG)Status)); return false; }
@@ -423,8 +424,8 @@ { CAB_SEARCH Search; char Str[20]; - uint32_t FileCount = 0; - uint32_t ByteCount = 0; + ULONG FileCount = 0; + ULONG ByteCount = 0;
if (Open() == CAB_STATUS_SUCCESS) { @@ -486,7 +487,7 @@ */ { CAB_SEARCH Search; - uint32_t Status; + ULONG Status;
if (Open() == CAB_STATUS_SUCCESS) { @@ -513,7 +514,7 @@ return false;
default: - printf("Unspecified error code (%d).\n", (unsigned int)Status); + printf("Unspecified error code (%d).\n", (ULONG)Status); return false; } } while (FindNext(&Search) == CAB_STATUS_SUCCESS);
Modified: trunk/reactos/tools/cabman/mszip.cxx URL: http://svn.reactos.org/svn/reactos/trunk/reactos/tools/cabman/mszip.cxx?rev=... ============================================================================== --- trunk/reactos/tools/cabman/mszip.cxx (original) +++ trunk/reactos/tools/cabman/mszip.cxx Sat Aug 18 17:08:58 2007 @@ -12,6 +12,7 @@ * CSH 15/08-2003 Made it portable * CF 04/05-2007 Reformatted the code to be more consistent and use TABs instead of spaces * CF 04/05-2007 Made it compatible with 64-bit operating systems + * CF 18/08-2007 Use typedefs64.h and the Windows types for compatibility with 64-bit operating systems */ #include <stdio.h> #include "mszip.h" @@ -53,10 +54,10 @@ }
-uint32_t CMSZipCodec::Compress(void* OutputBuffer, +ULONG CMSZipCodec::Compress(void* OutputBuffer, void* InputBuffer, - uint32_t InputLength, - uint32_t* OutputLength) + ULONG InputLength, + PULONG OutputLength) /* * FUNCTION: Compresses data in a buffer * ARGUMENTS: @@ -66,16 +67,16 @@ * OutputLength = Address of buffer to place size of compressed data */ { - uint16_t* Magic; + PUSHORT Magic;
DPRINT(MAX_TRACE, ("InputLength (%lu).\n", InputLength));
- Magic = (uint16_t*)OutputBuffer; + Magic = (PUSHORT)OutputBuffer; *Magic = MSZIP_MAGIC;
ZStream.next_in = (unsigned char*)InputBuffer; ZStream.avail_in = InputLength; - ZStream.next_out = (unsigned char*)((uintptr_t)OutputBuffer + 2); + ZStream.next_out = (unsigned char*)((_W64 unsigned long)OutputBuffer + 2); ZStream.avail_out = CAB_BLOCKSIZE + 12;
/* WindowBits is passed < 0 to tell that there is no zlib header */ @@ -113,10 +114,10 @@ }
-uint32_t CMSZipCodec::Uncompress(void* OutputBuffer, +ULONG CMSZipCodec::Uncompress(void* OutputBuffer, void* InputBuffer, - uint32_t InputLength, - uint32_t* OutputLength) + ULONG InputLength, + PULONG OutputLength) /* * FUNCTION: Uncompresses data in a buffer * ARGUMENTS: @@ -126,11 +127,11 @@ * OutputLength = Address of buffer to place size of uncompressed data */ { - uint16_t Magic; + USHORT Magic;
DPRINT(MAX_TRACE, ("InputLength (%lu).\n", InputLength));
- Magic = *((uint16_t*)InputBuffer); + Magic = *((PUSHORT)InputBuffer);
if (Magic != MSZIP_MAGIC) { @@ -138,7 +139,7 @@ return CS_BADSTREAM; }
- ZStream.next_in = (unsigned char*)((uintptr_t)InputBuffer + 2); + ZStream.next_in = (unsigned char*)((_W64 unsigned long)InputBuffer + 2); ZStream.avail_in = InputLength - 2; ZStream.next_out = (unsigned char*)OutputBuffer; ZStream.avail_out = CAB_BLOCKSIZE + 12;
Modified: trunk/reactos/tools/cabman/mszip.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/tools/cabman/mszip.h?rev=28... ============================================================================== --- trunk/reactos/tools/cabman/mszip.h (original) +++ trunk/reactos/tools/cabman/mszip.h Sat Aug 18 17:08:58 2007 @@ -22,15 +22,15 @@ /* Default destructor */ virtual ~CMSZipCodec(); /* Compresses a data block */ - virtual uint32_t Compress(void* OutputBuffer, + virtual ULONG Compress(void* OutputBuffer, void* InputBuffer, - uint32_t InputLength, - uint32_t* OutputLength); + ULONG InputLength, + PULONG OutputLength); /* Uncompresses a data block */ - virtual uint32_t Uncompress(void* OutputBuffer, + virtual ULONG Uncompress(void* OutputBuffer, void* InputBuffer, - uint32_t InputLength, - uint32_t* OutputLength); + ULONG InputLength, + PULONG OutputLength); private: int Status; z_stream ZStream; /* Zlib stream */
Modified: trunk/reactos/tools/cabman/raw.cxx URL: http://svn.reactos.org/svn/reactos/trunk/reactos/tools/cabman/raw.cxx?rev=28... ============================================================================== --- trunk/reactos/tools/cabman/raw.cxx (original) +++ trunk/reactos/tools/cabman/raw.cxx Sat Aug 18 17:08:58 2007 @@ -10,6 +10,7 @@ * CSH 15/08-2003 Made it portable * CF 04/05-2007 Reformatted the code to be more consistent and use TABs instead of spaces * CF 04/05-2007 Made it compatible with 64-bit operating systems + * CF 18/08-2007 Use typedefs64.h and the Windows types for compatibility with 64-bit operating systems */ #include "raw.h"
@@ -32,10 +33,10 @@ }
-uint32_t CRawCodec::Compress(void* OutputBuffer, - void* InputBuffer, - uint32_t InputLength, - uint32_t* OutputLength) +ULONG CRawCodec::Compress(void* OutputBuffer, + void* InputBuffer, + ULONG InputLength, + PULONG OutputLength) /* * FUNCTION: Compresses data in a buffer * ARGUMENTS: @@ -50,10 +51,10 @@ return CS_SUCCESS; }
-uint32_t CRawCodec::Uncompress(void* OutputBuffer, - void* InputBuffer, - uint32_t InputLength, - uint32_t* OutputLength) +ULONG CRawCodec::Uncompress(void* OutputBuffer, + void* InputBuffer, + ULONG InputLength, + PULONG OutputLength) /* * FUNCTION: Uncompresses data in a buffer * ARGUMENTS:
Modified: trunk/reactos/tools/cabman/raw.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/tools/cabman/raw.h?rev=2839... ============================================================================== --- trunk/reactos/tools/cabman/raw.h (original) +++ trunk/reactos/tools/cabman/raw.h Sat Aug 18 17:08:58 2007 @@ -19,15 +19,15 @@ /* Default destructor */ virtual ~CRawCodec(); /* Compresses a data block */ - virtual uint32_t Compress(void* OutputBuffer, + virtual ULONG Compress(void* OutputBuffer, void* InputBuffer, - uint32_t InputLength, - uint32_t* OutputLength); + ULONG InputLength, + PULONG OutputLength); /* Uncompresses a data block */ - virtual uint32_t Uncompress(void* OutputBuffer, + virtual ULONG Uncompress(void* OutputBuffer, void* InputBuffer, - uint32_t InputLength, - uint32_t* OutputLength); + ULONG InputLength, + PULONG OutputLength); };
#endif /* __RAW_H */