mpool(3) Library Functions Manual mpool(3) mpool - C (libc, -lc) #include #include MPOOL *mpool_open(DBT *key, int fd, pgno_t pagesize, pgno_t maxcache); void mpool_filter(MPOOL *mp, void (*pgin)(void *, pgno_t, void *), void (*pgout)(void *, pgno_t, void *), void *pgcookie); void *mpool_new(MPOOL *mp, pgno_t *pgnoaddr); void *mpool_get(MPOOL *mp, pgno_t pgno, unsigned int flags); int mpool_put(MPOOL *mp, void *pgaddr, unsigned int flags); int mpool_sync(MPOOL *mp); int mpool_close(MPOOL *mp); : , glibc 2.1. glibc 2.2, glibc . , API, libdb. mpool . . mpool_open() . key , . , , , . key NULL, (private) . fd , . key NULL , fd . pagesize ( ) , . maxcache , . , , , . mpool_filter() . pgin, , . pgout, , . pgcookie, , . mpool_new() MPOOL . , pgnoaddr. NULL errno. mpool_get() . , . NULL errno. flags . mpool_put() , pgaddr. pgaddr , mpool_get() mpool_new() . : MPOOL_DIRTY . mpool_put() 0, -1. mpool_sync() , MPOOL, . mpool_sync() 0 -1 . mpool_close() , . . mpool_close() 0 -1 . mpool_open() errno - malloc(3). mpool_get() errno : EINVAL . mpool_new() mpool_get errno read(2), write(2) malloc(3). mpool_sync() errno write(2). mpool_close() errno free(3). BSD. btree(3), dbopen(3), hash(3), recno(3) () aereiae , Alexey , Azamat Hackimov , Dmitriy S. Seregin , Dmitry Bolkhovskikh , ITriskTI , Max Is , Yuri Kozlov , , Kirill Rekhov ; GNU (GNU General Public License - GPL, 3 ) , - . - , , () () () <>. 4.4 Berkeley Distribution 2 2024 . mpool(3)