|
db_env_set_func_ioinfo
|
|
#include <db.h>
int
db_env_set_func_ioinfo(int (*func_ioinfo)(const char *path,
int fd, u_int32_t *mbytesp, u_int32_t *bytesp, u_int32_t *iosizep));
Description
The Berkeley DB library requires the ability to determine the size and I/O
characteristics of a file. The func_ioinfo argument must conform
to the following interface:
int ioinfo(const char *path, int fd,
u_int32_t *mbytesp, u_int32_t *bytesp, u_int32_t *iosizep);
The path argument is the pathname of the file to be checked, and the
fd argument is an open file descriptor on the file.
If the mbytesp and bytesp arguments are non-NULL, the
ioinfo function must return in them the size of the file: the
number of megabytes in the file into the memory location to which the
mbytesp argument refers, and the number of bytes over and above
that number of megabytes into the memory location to which the
bytesp argument refers.
In addition, if the iosizep argument is non-NULL, the ioinfo
function must return the optimum granularity for I/O operations to the file
into the memory location to which it refers.
The func_ioinfo function must return the value of errno on
failure and 0 on success.
The db_env_set_func_ioinfo interface affects the entire application, not a single
database or database environment.
Although the db_env_set_func_ioinfo 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_ioinfo function returns a non-zero error value on failure and 0 on success.
Errors
The db_env_set_func_ioinfo 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_ioinfo 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_ioinfo 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
|