[2/2] ole32: Make some storage32 functions static.
Francois Gouget
fgouget at free.fr
Sat May 2 16:52:48 CDT 2015
---
dlls/ole32/storage32.c | 96 ++++++++++++++++++++++++++++++++++-----
dlls/ole32/storage32.h | 120 -------------------------------------------------
2 files changed, 85 insertions(+), 131 deletions(-)
diff --git a/dlls/ole32/storage32.c b/dlls/ole32/storage32.c
index 3ef1077..bde8481 100644
--- a/dlls/ole32/storage32.c
+++ b/dlls/ole32/storage32.c
@@ -64,6 +64,7 @@ static const BYTE STORAGE_oldmagic[8] ={0xd0,0xcf,0x11,0xe0,0x0e,0x11,0xfc,0x0d}
extern const IPropertySetStorageVtbl IPropertySetStorage_Vtbl;
+
/****************************************************************************
* StorageInternalImpl definitions.
*
@@ -124,6 +125,7 @@ typedef struct TransactedDirEntry
DirRef newTransactedParentEntry;
} TransactedDirEntry;
+
/****************************************************************************
* Transacted storage object.
*/
@@ -173,10 +175,82 @@ typedef struct TransactedSharedImpl
} TransactedSharedImpl;
+/****************************************************************************
+ * BlockChainStream definitions.
+ *
+ * The BlockChainStream class is a utility class that is used to create an
+ * abstraction of the big block chains in the storage file.
+ */
+
+struct BlockChainRun
+{
+ /* This represents a range of blocks that happen reside in consecutive sectors. */
+ ULONG firstSector;
+ ULONG firstOffset;
+ ULONG lastOffset;
+};
+
+typedef struct BlockChainBlock
+{
+ ULONG index;
+ ULONG sector;
+ BOOL read;
+ BOOL dirty;
+ BYTE data[MAX_BIG_BLOCK_SIZE];
+} BlockChainBlock;
+
+struct BlockChainStream
+{
+ StorageImpl* parentStorage;
+ ULONG* headOfStreamPlaceHolder;
+ DirRef ownerDirEntry;
+ struct BlockChainRun* indexCache;
+ ULONG indexCacheLen;
+ ULONG indexCacheSize;
+ BlockChainBlock cachedBlocks[2];
+ ULONG blockToEvict;
+ ULONG tailIndex;
+ ULONG numBlocks;
+};
+
+/* Returns the number of blocks that comprises this chain.
+ * This is not the size of the stream as the last block may not be full!
+ */
+static inline ULONG BlockChainStream_GetCount(BlockChainStream* This)
+{
+ return This->numBlocks;
+}
+
+static BlockChainStream* BlockChainStream_Construct(StorageImpl*,ULONG*,DirRef);
+static void BlockChainStream_Destroy(BlockChainStream*);
+static HRESULT BlockChainStream_ReadAt(BlockChainStream*,ULARGE_INTEGER,ULONG,void*,ULONG*);
+static HRESULT BlockChainStream_WriteAt(BlockChainStream*,ULARGE_INTEGER,ULONG,const void*,ULONG*);
+static HRESULT BlockChainStream_Flush(BlockChainStream*);
static ULARGE_INTEGER BlockChainStream_GetSize(BlockChainStream*);
-static ULARGE_INTEGER SmallBlockChainStream_GetSize(SmallBlockChainStream*);
+static BOOL BlockChainStream_SetSize(BlockChainStream*,ULARGE_INTEGER);
+/****************************************************************************
+ * SmallBlockChainStream definitions.
+ *
+ * The SmallBlockChainStream class is a utility class that is used to create an
+ * abstraction of the small block chains in the storage file.
+ */
+
+struct SmallBlockChainStream
+{
+ StorageImpl* parentStorage;
+ DirRef ownerDirEntry;
+ ULONG* headOfStreamPlaceHolder;
+};
+
+static SmallBlockChainStream* SmallBlockChainStream_Construct(StorageImpl*,ULONG*,DirRef);
+static void SmallBlockChainStream_Destroy(SmallBlockChainStream*);
+static HRESULT SmallBlockChainStream_ReadAt(SmallBlockChainStream*,ULARGE_INTEGER,ULONG,void*,ULONG*);
+static HRESULT SmallBlockChainStream_WriteAt(SmallBlockChainStream*,ULARGE_INTEGER,ULONG,const void*,ULONG*);
+static ULARGE_INTEGER SmallBlockChainStream_GetSize(SmallBlockChainStream*);
+static BOOL SmallBlockChainStream_SetSize(SmallBlockChainStream*,ULARGE_INTEGER);
+
/************************************************************************
* STGM Functions
@@ -3034,7 +3108,7 @@ static void StorageImpl_SaveFileHeader(
*
* buffer must be RAW_DIRENTRY_SIZE bytes long.
*/
-HRESULT StorageImpl_ReadRawDirEntry(StorageImpl *This, ULONG index, BYTE *buffer)
+static HRESULT StorageImpl_ReadRawDirEntry(StorageImpl *This, ULONG index, BYTE *buffer)
{
ULARGE_INTEGER offset;
HRESULT hr;
@@ -3062,7 +3136,7 @@ HRESULT StorageImpl_ReadRawDirEntry(StorageImpl *This, ULONG index, BYTE *buffer
*
* buffer must be RAW_DIRENTRY_SIZE bytes long.
*/
-HRESULT StorageImpl_WriteRawDirEntry(StorageImpl *This, ULONG index, const BYTE *buffer)
+static HRESULT StorageImpl_WriteRawDirEntry(StorageImpl *This, ULONG index, const BYTE *buffer)
{
ULARGE_INTEGER offset;
ULONG bytesRead;
@@ -3102,7 +3176,7 @@ static HRESULT StorageImpl_DestroyDirEntry(
*
* buffer must be RAW_DIRENTRY_SIZE bytes long.
*/
-void UpdateRawDirEntry(BYTE *buffer, const DirEntry *newData)
+static void UpdateRawDirEntry(BYTE *buffer, const DirEntry *newData)
{
memset(buffer, 0, RAW_DIRENTRY_SIZE);
@@ -3291,7 +3365,7 @@ static HRESULT StorageImpl_CreateDirEntry(
*
* This method will read the specified directory entry.
*/
-HRESULT StorageImpl_ReadDirEntry(
+static HRESULT StorageImpl_ReadDirEntry(
StorageImpl* This,
DirRef index,
DirEntry* buffer)
@@ -3379,7 +3453,7 @@ HRESULT StorageImpl_ReadDirEntry(
/*********************************************************************
* Write the specified directory entry to the file
*/
-HRESULT StorageImpl_WriteDirEntry(
+static HRESULT StorageImpl_WriteDirEntry(
StorageImpl* This,
DirRef index,
const DirEntry* buffer)
@@ -3481,7 +3555,7 @@ static BOOL StorageImpl_WriteDWordToBigBlock(
* This method will convert a small block chain to a big block chain.
* The small block chain will be destroyed.
*/
-BlockChainStream* Storage32Impl_SmallBlocksToBigBlocks(
+static BlockChainStream* Storage32Impl_SmallBlocksToBigBlocks(
StorageImpl* This,
SmallBlockChainStream** ppsbChain)
{
@@ -3601,7 +3675,7 @@ BlockChainStream* Storage32Impl_SmallBlocksToBigBlocks(
* This method will convert a big block chain to a small block chain.
* The big block chain will be destroyed on success.
*/
-SmallBlockChainStream* Storage32Impl_BigBlocksToSmallBlocks(
+static SmallBlockChainStream* Storage32Impl_BigBlocksToSmallBlocks(
StorageImpl* This,
BlockChainStream** ppbbChain,
ULARGE_INTEGER newSize)
@@ -6901,7 +6975,7 @@ static ULONG BlockChainStream_GetHeadOfChain(BlockChainStream* This)
}
/* Read and save the index of all blocks in this stream. */
-HRESULT BlockChainStream_UpdateIndexCache(BlockChainStream* This)
+static HRESULT BlockChainStream_UpdateIndexCache(BlockChainStream* This)
{
ULONG next_sector, next_offset;
HRESULT hr;
@@ -6978,7 +7052,7 @@ HRESULT BlockChainStream_UpdateIndexCache(BlockChainStream* This)
}
/* Locate the nth block in this stream. */
-ULONG BlockChainStream_GetSectorOfOffset(BlockChainStream *This, ULONG offset)
+static ULONG BlockChainStream_GetSectorOfOffset(BlockChainStream *This, ULONG offset)
{
ULONG min_offset = 0, max_offset = This->numBlocks-1;
ULONG min_run = 0, max_run = This->indexCacheLen-1;
@@ -7007,7 +7081,7 @@ ULONG BlockChainStream_GetSectorOfOffset(BlockChainStream *This, ULONG offset)
return This->indexCache[min_run].firstSector + offset - This->indexCache[min_run].firstOffset;
}
-HRESULT BlockChainStream_GetBlockAtOffset(BlockChainStream *This,
+static HRESULT BlockChainStream_GetBlockAtOffset(BlockChainStream *This,
ULONG index, BlockChainBlock **block, ULONG *sector, BOOL create)
{
BlockChainBlock *result=NULL;
diff --git a/dlls/ole32/storage32.h b/dlls/ole32/storage32.h
index 6c69655..59d52ef 100644
--- a/dlls/ole32/storage32.h
+++ b/dlls/ole32/storage32.h
@@ -555,125 +555,5 @@ void StorageUtl_WriteGUID(BYTE* buffer, ULONG offset, const GUID* value) DECLSPE
void StorageUtl_CopyDirEntryToSTATSTG(StorageBaseImpl *storage,STATSTG* destination,
const DirEntry* source, int statFlags) DECLSPEC_HIDDEN;
-/****************************************************************************
- * BlockChainStream definitions.
- *
- * The BlockChainStream class is a utility class that is used to create an
- * abstraction of the big block chains in the storage file.
- */
-struct BlockChainRun
-{
- /* This represents a range of blocks that happen reside in consecutive sectors. */
- ULONG firstSector;
- ULONG firstOffset;
- ULONG lastOffset;
-};
-
-typedef struct BlockChainBlock
-{
- ULONG index;
- ULONG sector;
- BOOL read;
- BOOL dirty;
- BYTE data[MAX_BIG_BLOCK_SIZE];
-} BlockChainBlock;
-
-struct BlockChainStream
-{
- StorageImpl* parentStorage;
- ULONG* headOfStreamPlaceHolder;
- DirRef ownerDirEntry;
- struct BlockChainRun* indexCache;
- ULONG indexCacheLen;
- ULONG indexCacheSize;
- BlockChainBlock cachedBlocks[2];
- ULONG blockToEvict;
- ULONG tailIndex;
- ULONG numBlocks;
-};
-
-/*
- * Methods for the BlockChainStream class.
- */
-
-/* Returns the number of blocks that comprises this chain.
- * This is not the size of the stream as the last block may not be full!
- */
-static inline ULONG BlockChainStream_GetCount(BlockChainStream* This)
-{
- return This->numBlocks;
-}
-
-BlockChainStream* BlockChainStream_Construct(
- StorageImpl* parentStorage,
- ULONG* headOfStreamPlaceHolder,
- DirRef dirEntry) DECLSPEC_HIDDEN;
-
-void BlockChainStream_Destroy(
- BlockChainStream* This) DECLSPEC_HIDDEN;
-
-HRESULT BlockChainStream_ReadAt(
- BlockChainStream* This,
- ULARGE_INTEGER offset,
- ULONG size,
- void* buffer,
- ULONG* bytesRead) DECLSPEC_HIDDEN;
-
-HRESULT BlockChainStream_WriteAt(
- BlockChainStream* This,
- ULARGE_INTEGER offset,
- ULONG size,
- const void* buffer,
- ULONG* bytesWritten) DECLSPEC_HIDDEN;
-
-BOOL BlockChainStream_SetSize(
- BlockChainStream* This,
- ULARGE_INTEGER newSize) DECLSPEC_HIDDEN;
-
-HRESULT BlockChainStream_Flush(
- BlockChainStream* This) DECLSPEC_HIDDEN;
-
-/****************************************************************************
- * SmallBlockChainStream definitions.
- *
- * The SmallBlockChainStream class is a utility class that is used to create an
- * abstraction of the small block chains in the storage file.
- */
-struct SmallBlockChainStream
-{
- StorageImpl* parentStorage;
- DirRef ownerDirEntry;
- ULONG* headOfStreamPlaceHolder;
-};
-
-/*
- * Methods of the SmallBlockChainStream class.
- */
-SmallBlockChainStream* SmallBlockChainStream_Construct(
- StorageImpl* parentStorage,
- ULONG* headOfStreamPlaceHolder,
- DirRef dirEntry) DECLSPEC_HIDDEN;
-
-void SmallBlockChainStream_Destroy(
- SmallBlockChainStream* This) DECLSPEC_HIDDEN;
-
-HRESULT SmallBlockChainStream_ReadAt(
- SmallBlockChainStream* This,
- ULARGE_INTEGER offset,
- ULONG size,
- void* buffer,
- ULONG* bytesRead) DECLSPEC_HIDDEN;
-
-HRESULT SmallBlockChainStream_WriteAt(
- SmallBlockChainStream* This,
- ULARGE_INTEGER offset,
- ULONG size,
- const void* buffer,
- ULONG* bytesWritten) DECLSPEC_HIDDEN;
-
-BOOL SmallBlockChainStream_SetSize(
- SmallBlockChainStream* This,
- ULARGE_INTEGER newSize) DECLSPEC_HIDDEN;
-
#endif /* __STORAGE32_H__ */
--
2.1.4
More information about the wine-patches
mailing list