|
db_env_set_func_seek
|
|
#include <db.h>
int
db_env_set_func_seek(int (*func_seek)(int fd, size_t pgsize,
db_pgno_t pageno, u_int32_t relative, int rewind, int whence));
Description
The Berkeley DB library requires the ability to specify that a subsequent read
from or write to a file will occur at a specific location in that file.
The func_seek argument must conform to the following interface:
int seek(int fd, size_t pgsize, db_pgno_t pageno,
u_int32_t relative, int rewind, int whence);
The fd argument is an open file descriptor on the file.
The seek function must cause a subsequent read from or write to
the file to occur at a byte offset specified by the calculation:
(pgsize * pageno) + relative
If rewind is non-zero, the byte offset is treated as a backward
seek, not a forward one.
The whence argument specifies where in the file the byte offset
is relative to, as described by the IEEE/ANSI Std 1003.1 (POSIX) lseek system
call.
The func_seek function must return the value of errno on
failure and 0 on success.
The db_env_set_func_seek interface affects the entire application, not a single
database or database environment.
Although the db_env_set_func_seek interface may be used to configure Berkeley DB at any time
during the life of the application, it should normally be called before
making any calls to the db_env_create or db_create functions.
The db_env_set_func_seek function returns a non-zero error value on failure and 0 on success.
Errors
The db_env_set_func_seek function may fail and return a non-zero error for the following conditions:
- EINVAL
- An invalid flag value or parameter was specified.
The db_env_set_func_seek function may fail and return a non-zero error for errors specified for other Berkeley DB and C library or system functions.
If a catastrophic error has occurred, the db_env_set_func_seek function may fail and return
DB_RUNRECOVERY, in which case all subsequent Berkeley DB calls will fail
in the same way.
See Also
db_env_set_func_close,
db_env_set_func_dirfree,
db_env_set_func_dirlist,
db_env_set_func_exists,
db_env_set_func_free,
db_env_set_func_fsync,
db_env_set_func_ioinfo,
db_env_set_func_malloc,
db_env_set_func_map,
db_env_set_func_open,
db_env_set_func_read,
db_env_set_func_realloc,
db_env_set_func_seek,
db_env_set_func_sleep,
db_env_set_func_unlink,
db_env_set_func_unmap,
db_env_set_func_write,
and
db_env_set_func_yield.
Copyright Sleepycat Software
|