From: mistachkin Date: Thu, 31 May 2012 22:12:26 +0000 (+0000) Subject: Update several APIs to enable compilation with newer revisions of WinRT. X-Git-Tag: version-3.7.13~11^2~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1e6eea950225684434c65675a16ce901d0f37ae8;p=thirdparty%2Fsqlite.git Update several APIs to enable compilation with newer revisions of WinRT. FossilOrigin-Name: 54de739f056749b53b198f6b074d9e649520cf00 --- diff --git a/manifest b/manifest index fb96fe17d4..ef63fa7d06 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Use\sthe\snew\stest\ssuite\shelper\sprocedure\s'get_pwd'\sto\squery\sthe\scurrent\sdirectory\sfrom\stests. -D 2012-05-22T19:25:51.250 +C Update\sseveral\sAPIs\sto\senable\scompilation\swith\snewer\srevisions\sof\sWinRT. +D 2012-05-31T22:12:26.763 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in 2f37e468503dbe79d35c9f6dffcf3fae1ae9ec20 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -160,7 +160,7 @@ F src/os.h 38aabd5e3ecd4162332076f55bb09cec02165cca F src/os_common.h 92815ed65f805560b66166e3583470ff94478f04 F src/os_os2.c 4a75888ba3dfc820ad5e8177025972d74d7f2440 F src/os_unix.c 424d46e0edab969293c2223f09923b2178171f47 -F src/os_win.c 37e1b92f0fa5edf1955bcd6b04d3e4d8be68ede2 +F src/os_win.c ce6b415a2efd30027d4881bc8266c90ed4bc3ad0 F src/pager.c bb5635dde0b152797836d1c72275284724bb563c F src/pager.h ef1eaf8593e78f73885c1dfac27ad83bee23bdc5 F src/parse.y f29df90bd3adc64b33114ab1de9fb7768fcf2099 @@ -998,7 +998,7 @@ F tool/tostr.awk e75472c2f98dd76e06b8c9c1367f4ab07e122d06 F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f F tool/warnings-clang.sh a8a0a3babda96dfb1ff51adda3cbbf3dfb7266c2 F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381 -P b9ed0b26debd225a4530eb17d25b857e8e883a85 -R 862fc76bca700646e8a6c3acf8f2d307 +P 1dd01e408161f5c1ab6b4fd449bee147d7e00744 +R e2e31613ef8f782c24f244b69c156ce3 U mistachkin -Z fe4e5d83d2f708a7c0601e6c2f510bd5 +Z 408bf47646a7d2177c7080bd3b9695d2 diff --git a/manifest.uuid b/manifest.uuid index c164e060b8..a21151147e 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -1dd01e408161f5c1ab6b4fd449bee147d7e00744 \ No newline at end of file +54de739f056749b53b198f6b074d9e649520cf00 \ No newline at end of file diff --git a/src/os_win.c b/src/os_win.c index 4652304c4f..376e240c75 100644 --- a/src/os_win.c +++ b/src/os_win.c @@ -288,7 +288,7 @@ static struct win_syscall { #define osCreateFileW ((HANDLE(WINAPI*)(LPCWSTR,DWORD,DWORD, \ LPSECURITY_ATTRIBUTES,DWORD,DWORD,HANDLE))aSyscall[5].pCurrent) -#if defined(SQLITE_WIN32_HAS_WIDE) +#if !SQLITE_OS_WINRT && defined(SQLITE_WIN32_HAS_WIDE) { "CreateFileMappingW", (SYSCALL)CreateFileMappingW, 0 }, #else { "CreateFileMappingW", (SYSCALL)0, 0 }, @@ -684,7 +684,7 @@ static struct win_syscall { #define osWriteFile ((BOOL(WINAPI*)(HANDLE,LPCVOID,DWORD,LPDWORD, \ LPOVERLAPPED))aSyscall[58].pCurrent) -#if SQLITE_OS_WINRT +#if !SQLITE_OS_WINCE { "CreateEventExW", (SYSCALL)CreateEventExW, 0 }, #else { "CreateEventExW", (SYSCALL)0, 0 }, @@ -720,7 +720,7 @@ static struct win_syscall { #define osSetFilePointerEx ((BOOL(WINAPI*)(HANDLE,LARGE_INTEGER, \ PLARGE_INTEGER,DWORD))aSyscall[62].pCurrent) -#if SQLITE_OS_WINRT +#if !SQLITE_OS_WINCE { "GetFileInformationByHandleEx", (SYSCALL)GetFileInformationByHandleEx, 0 }, #else { "GetFileInformationByHandleEx", (SYSCALL)0, 0 }, @@ -729,14 +729,14 @@ static struct win_syscall { #define osGetFileInformationByHandleEx ((BOOL(WINAPI*)(HANDLE, \ FILE_INFO_BY_HANDLE_CLASS,LPVOID,DWORD))aSyscall[63].pCurrent) -#if !SQLITE_OS_WINCE - { "MapViewOfFileEx", (SYSCALL)MapViewOfFileEx, 0 }, +#if SQLITE_OS_WINRT + { "MapViewOfFileFromApp", (SYSCALL)MapViewOfFileFromApp, 0 }, #else - { "MapViewOfFileEx", (SYSCALL)0, 0 }, + { "MapViewOfFileFromApp", (SYSCALL)0, 0 }, #endif -#define osMapViewOfFileEx ((LPVOID(WINAPI*)(HANDLE,DWORD,DWORD,DWORD,SIZE_T, \ - LPVOID))aSyscall[64].pCurrent) +#define osMapViewOfFileFromApp ((LPVOID(WINAPI*)(HANDLE,ULONG,ULONG64, \ + SIZE_T))aSyscall[64].pCurrent) #if SQLITE_OS_WINRT { "CreateFile2", (SYSCALL)CreateFile2, 0 }, @@ -793,6 +793,15 @@ static struct win_syscall { #define osGetProcessHeap ((HANDLE(WINAPI*)(VOID))aSyscall[71].pCurrent) +#if SQLITE_OS_WINRT + { "CreateFileMappingFromApp", (SYSCALL)CreateFileMappingFromApp, 0 }, +#else + { "CreateFileMappingFromApp", (SYSCALL)0, 0 }, +#endif + +#define osCreateFileMappingFromApp ((HANDLE(WINAPI*)(HANDLE, \ + LPSECURITY_ATTRIBUTES,ULONG,ULONG64,LPCWSTR))aSyscall[72].pCurrent) + }; /* End of the overrideable system calls */ /* @@ -3211,9 +3220,15 @@ static int winShmMap( HANDLE hMap; /* file-mapping handle */ void *pMap = 0; /* Mapped memory region */ +#if SQLITE_OS_WINRT + hMap = osCreateFileMappingFromApp(pShmNode->hFile.h, + NULL, PAGE_READWRITE, nByte, NULL + ); +#else hMap = osCreateFileMappingW(pShmNode->hFile.h, NULL, PAGE_READWRITE, 0, nByte, NULL ); +#endif OSTRACE(("SHM-MAP pid-%d create region=%d nbyte=%d %s\n", (int)osGetCurrentProcessId(), pShmNode->nRegion, nByte, hMap ? "ok" : "failed")); @@ -3221,8 +3236,8 @@ static int winShmMap( int iOffset = pShmNode->nRegion*szRegion; int iOffsetShift = iOffset % winSysInfo.dwAllocationGranularity; #if SQLITE_OS_WINRT - pMap = osMapViewOfFileEx(hMap, FILE_MAP_WRITE | FILE_MAP_READ, - 0, iOffset - iOffsetShift, szRegion + iOffsetShift, NULL + pMap = osMapViewOfFileFromApp(hMap, FILE_MAP_WRITE | FILE_MAP_READ, + iOffset - iOffsetShift, szRegion + iOffsetShift ); #else pMap = osMapViewOfFile(hMap, FILE_MAP_WRITE | FILE_MAP_READ, @@ -4264,7 +4279,7 @@ int sqlite3_os_init(void){ /* Double-check that the aSyscall[] array has been constructed ** correctly. See ticket [bb3a86e890c8e96ab] */ - assert( ArraySize(aSyscall)==72 ); + assert( ArraySize(aSyscall)==73 ); #ifndef SQLITE_OMIT_WAL /* get memory map allocation granularity */