mirror of
https://github.com/isar/libmdbx.git
synced 2025-01-06 19:14:14 +08:00
mdbx-osal: add mdbx_fseek().
Change-Id: I5744aa3ba51bd1acaeedd866e6b21a1330c3f711
This commit is contained in:
parent
06cb8b45b2
commit
629637d95e
13
src/osal.c
13
src/osal.c
@ -753,6 +753,19 @@ int mdbx_ftruncate(mdbx_filehandle_t fd, uint64_t length) {
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int mdbx_fseek(mdbx_filehandle_t fd, uint64_t pos) {
|
||||||
|
#if defined(_WIN32) || defined(_WIN64)
|
||||||
|
LARGE_INTEGER li;
|
||||||
|
li.QuadPart = pos;
|
||||||
|
return SetFilePointerEx(fd, li, NULL, FILE_BEGIN) ? MDBX_SUCCESS
|
||||||
|
: GetLastError();
|
||||||
|
#else
|
||||||
|
STATIC_ASSERT_MSG(sizeof(off_t) >= sizeof(size_t),
|
||||||
|
"libmdbx requires 64-bit file I/O on 64-bit systems");
|
||||||
|
return (lseek(fd, pos, SEEK_SET) < 0) ? errno : MDBX_SUCCESS;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
|
|
||||||
int mdbx_thread_create(mdbx_thread_t *thread,
|
int mdbx_thread_create(mdbx_thread_t *thread,
|
||||||
|
@ -504,6 +504,7 @@ int mdbx_thread_join(mdbx_thread_t thread);
|
|||||||
int mdbx_filesync(mdbx_filehandle_t fd, bool fullsync);
|
int mdbx_filesync(mdbx_filehandle_t fd, bool fullsync);
|
||||||
int mdbx_filesize_sync(mdbx_filehandle_t fd);
|
int mdbx_filesize_sync(mdbx_filehandle_t fd);
|
||||||
int mdbx_ftruncate(mdbx_filehandle_t fd, uint64_t length);
|
int mdbx_ftruncate(mdbx_filehandle_t fd, uint64_t length);
|
||||||
|
int mdbx_fseek(mdbx_filehandle_t fd, uint64_t pos);
|
||||||
int mdbx_filesize(mdbx_filehandle_t fd, uint64_t *length);
|
int mdbx_filesize(mdbx_filehandle_t fd, uint64_t *length);
|
||||||
int mdbx_openfile(const char *pathname, int flags, mode_t mode,
|
int mdbx_openfile(const char *pathname, int flags, mode_t mode,
|
||||||
mdbx_filehandle_t *fd, bool exclusive);
|
mdbx_filehandle_t *fd, bool exclusive);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user