From 0d489da11220c272765fcc64d390be6bb50ff87f Mon Sep 17 00:00:00 2001 From: sje Date: Fri, 27 Jul 2007 15:27:25 +0000 Subject: based on mmap git-svn-id: https://server.scottellis.com.au/svn/mim_plugs@302 4f64403b-2f21-0410-a795-97e2b3489a10 --- db3x_autobackups/database.h | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) (limited to 'db3x_autobackups/database.h') diff --git a/db3x_autobackups/database.h b/db3x_autobackups/database.h index 3e09949..67ed205 100644 --- a/db3x_autobackups/database.h +++ b/db3x_autobackups/database.h @@ -2,8 +2,8 @@ Miranda IM: the free IM client for Microsoft* Windows* -Copyright 2000-2003 Miranda ICQ/IM project, -all portions of this codebase are copyrighted to the people +Copyright 2000-2003 Miranda ICQ/IM project, +all portions of this codebase are copyrighted to the people listed in contributors.txt. This program is free software; you can redistribute it and/or @@ -47,10 +47,17 @@ DBHeader \--> ... */ -#define DB_RESIZE_GRANULARITY 16384 +//#define DB_RESIZE_GRANULARITY 16384 #define DB_THIS_VERSION 0x00000700u #define DB_SETTINGS_RESIZE_GRANULARITY 128 +struct DBSignature { + char name[15]; + BYTE eof; +}; + +static struct DBSignature dbSignature={"Miranda ICQ DB",0x1A}; + #include struct DBHeader { BYTE signature[16]; // 'Miranda ICQ DB',0,26 @@ -167,19 +174,21 @@ typedef struct HANDLE hContact; HANDLE hNext; DBCachedContactValue* first; + DBCachedContactValue* last; } DBCachedContactValueList; - -//databasecorruption: called if any signatures are broken. very very fatal -void DatabaseCorruption(void); +//databasecorruption: with NULL called if any signatures are broken. very very fatal +void DatabaseCorruption(char *text); PBYTE DBRead(DWORD ofs,int bytesRequired,int *bytesAvail); //any preview result could be invalidated by the next call void DBWrite(DWORD ofs,PVOID pData,int count); +void DBFill(DWORD ofs,int bytes); void DBFlush(int setting); void DBMoveChunk(DWORD ofsDest,DWORD ofsSource,int bytes); DWORD CreateNewSpace(int bytes); void DeleteSpace(DWORD ofs,int bytes); -int GetProfileDirectory(char *szPath,int cbPath); +DWORD ReallocSpace(DWORD ofs,int oldSize,int newSize); +//void GetProfileDirectory(char *szPath,int cbPath); int GetDefaultProfilePath(char *szPath,int cbPath,int *specified); int ShouldShowProfileManager(void); int CheckDbHeaders(struct DBHeader * hdr); @@ -187,11 +196,9 @@ int CreateDbHeaders(HANDLE hFile); int LoadDatabaseModule(void); void UnloadDatabaseModule(void); -#ifdef _DEBUG -#define MAXCACHEDREADSIZE 512 -#else -#define MAXCACHEDREADSIZE 2048 //push it to 1K //technically 4096 would work, but I'm not going to push it -#endif +#define MAXCACHEDREADSIZE 65536 + +//#define DBLOGGING #ifdef _DEBUG //#define DBLOGGING -- cgit v1.2.3