Man page - mpool(3)

Packages contains this manual

Available languages:

en fr ja ru ro

Manual

MPOOL

名 前
書 åŧ
čĒŦ 明
エ ナ ãƒŧ
æē– 拠
é–ĸ 逪 項 į›Ž
こ ぎ 文 書 ãĢ つ い ãĻ

名 前

mpool - å…ą 有 ãƒĄ ãƒĸ ãƒĒ ãƒŧ バ ッ フ ã‚Ą ãƒŧ プ ãƒŧ ãƒĢ

書 åŧ

#include <db.h>
#include <mpool.h>

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 );

čĒŦ 明

大 äē‹ ãĒ æŗ¨ 意 : こ ぎ ペ ãƒŧ ジ は 、 バ ãƒŧ ジ ョ ãƒŗ 2.1 ぞ で ぎ glibc が 提 供 す る イ ãƒŗ ã‚ŋ ãƒŧ フ ェ ãƒŧ ゚ ãĢ つ い ãĻ čĒŦ 明 し ãĻ い る 。 バ ãƒŧ ジ ョ ãƒŗ 2.2 äģĨ 降 ぎ glibc で は 、 も は や こ れ ら ぎ イ ãƒŗ ã‚ŋ ãƒŧ フ ェ ãƒŧ ゚ は 提 供 さ れ ãĻ い ãĒ い 。 お そ ら く 、 こ ぎ ペ ãƒŧ ジ で は ãĒ く 、 libdb ナ イ ブ ナ ãƒĒ が 提 供 す る API を お æŽĸ し ãĒ ぎ だ ろ う 。

mpool は 、 フ ã‚Ą イ ãƒĢ ãĢ 寞 す る ペ ãƒŧ ジ 指 向 ぎ バ ッ フ ã‚Ą ãƒŧ įŽĄ ᐆ を 原 čŖ… し た ナ イ ブ ナ ãƒĒ イ ãƒŗ ã‚ŋ ãƒŧ フ ェ イ ゚ で あ る 。

é–ĸ 数 mpool_open () は ãƒĄ ãƒĸ ãƒĒ ãƒŧ プ ãƒŧ ãƒĢ を 初 期 化 す る 。 key åŧ• 数 は バ イ ト 文 字 列 で あ り 、 バ ッ フ ã‚Ą ãƒŧ を å…ą 有 し た い 複 数 プ ロ ã‚ģ ゚ 間 で ぎ ネ ゴ ã‚ˇ エ ãƒŧ ã‚ˇ ョ ãƒŗ ãĢ äŊŋ わ れ る 。 フ ã‚Ą イ ãƒĢ バ ッ フ ã‚Ą ãƒŧ が å…ą 有 ãƒĄ ãƒĸ ãƒĒ ãƒŧ ãĢ マ ッ プ さ れ る と 、 同 じ キ ãƒŧ を äŊŋ う プ ロ ã‚ģ ゚ は 全 ãĻ バ ッ フ ã‚Ą ãƒŧ を å…ą 有 す る 。 key が NULL だ と 、 バ ッ フ ã‚Ą ãƒŧ は プ ナ イ ベ ãƒŧ ト ãĒ ãƒĄ ãƒĸ ãƒĒ ãƒŧ ãĢ 剞 り äģ˜ ã‘ ら れ る 。 fd åŧ• 数 は も と ãĢ ãĒ る フ ã‚Ą イ ãƒĢ ぎ フ ã‚Ą イ ãƒĢ デ ã‚Ŗ ゚ ク ãƒĒ プ ã‚ŋ ãƒŧ で あ る 。 こ ぎ フ ã‚Ą イ ãƒĢ デ ã‚Ŗ ゚ ク ãƒĒ プ ã‚ŋ ãƒŧ は ã‚ˇ ãƒŧ ク 可 čƒŊ で ãĒ く ãĻ は ãĒ ら ãĒ い 。 key が NULL で ãĒ く 、 か つ æ—ĸ ãĢ マ ッ プ さ れ ãĻ い る フ ã‚Ą イ ãƒĢ ãĢ マ ッ チ し た å ´ 合 、 fd åŧ• 数 は į„Ą čĻ– さ れ る 。

pagesize åŧ• 数 は バ イ ト 単 äŊ で ぎ ペ ãƒŧ ジ ã‚ĩ イ ã‚ē で あ り 、 フ ã‚Ą イ ãƒĢ は こ ぎ ã‚ĩ イ ã‚ē ãĢ 分 剞 さ れ る 。 maxcache åŧ• 数 は åŸē フ ã‚Ą イ ãƒĢ を キ ãƒŖ ッ ã‚ˇ ãƒĨ す る と き ãĢ ᔍ い る 最 大 ペ ãƒŧ ジ 数 で あ る 。 こ ぎ 値 は フ ã‚Ą イ ãƒĢ バ ッ フ ã‚Ą ãƒŧ を å…ą 有 し ãĻ い る プ ロ ã‚ģ ゚ ぎ 数 ãĢ は é–ĸ äŋ‚ ãĒ い が 、 フ ã‚Ą イ ãƒĢ を å…ą 有 す る プ ロ ã‚ģ ゚ が 指 厚 し た う ãĄ ぎ 最 大 値 が 原 際 ãĢ ᔍ い ら れ る 。

é–ĸ 数 mpool_filter () は 透 過 įš„ ãĒ ペ ãƒŧ ジ å…Ĩ å‡ē 力 å‡Ļ ᐆ を 可 čƒŊ ãĢ す る 。 é–ĸ 数 pgin が 指 厚 さ れ ãĻ い る と 、 フ ã‚Ą イ ãƒĢ か ら ãƒĄ ãƒĸ ãƒĒ ãƒŧ プ ãƒŧ ãƒĢ ãĢ čĒ­ ãŋ čžŧ ぞ れ る åēĻ ãĢ こ ぎ é–ĸ 数 が å‘ŧ ãŗ å‡ē さ れ る 。 é–ĸ 数 pgout が 指 厚 さ れ ãĻ い と 、 バ ッ フ ã‚Ą ãƒŧ か ら フ ã‚Ą イ ãƒĢ ãĢ 書 き å‡ē さ れ る åēĻ ãĢ こ ぎ é–ĸ 数 が å‘ŧ ãŗ å‡ē さ れ る 。 お ãĄ ら ぎ é–ĸ 数 も 、 pgcookie ポ イ ãƒŗ ã‚ŋ ãƒŧ 、 ペ ãƒŧ ジ 数 、 čĒ­ ãŋ 書 き さ れ る ペ ãƒŧ ジ へ ぎ ポ イ ãƒŗ ã‚ŋ ãƒŧ を åŧ• 数 ãĢ と る 。

é–ĸ 数 mpool_new () は MPOOL ポ イ ãƒŗ ã‚ŋ ãƒŧ と ã‚ĸ ド ãƒŦ ゚ を åŧ• 数 ãĢ と る 。 新 し い ペ ãƒŧ ジ が 剞 り åŊ“ ãĻ 可 čƒŊ ãĒ å ´ 合 、 ペ ãƒŧ ジ へ ぎ ポ イ ãƒŗ ã‚ŋ ãƒŧ が čŋ” さ れ 、 ペ ãƒŧ ジ 数 が pgnoaddr ã‚ĸ ド ãƒŦ ゚ ãĢ į´ め ら れ る 。 剞 り åŊ“ ãĻ が 不 可 čƒŊ ãĒ å ´ 合 は NULL が čŋ” さ れ 、 errno が ã‚ģ ッ ト さ れ る 。

é–ĸ 数 mpool_get () は MPOOL ポ イ ãƒŗ ã‚ŋ ãƒŧ と ペ ãƒŧ ジ 数 を åŧ• 数 ãĢ と る 。 ペ ãƒŧ ジ が 存 在 し ãĻ い る と 、 ペ ãƒŧ ジ へ ぎ ポ イ ãƒŗ ã‚ŋ ãƒŧ が čŋ” さ れ る 。 存 在 し ãĻ い ãĒ い と NULL が čŋ” さ れ 、 errno が ã‚ģ ッ ト さ れ る 。 flags åŧ• 数 は įž 在 äŊŋ ᔍ さ れ ãĻ い ãĒ い 。

é–ĸ 数 mpool_put () は pgaddr が 参 į…§ す る ペ ãƒŧ ジ を č§Ŗ 攞 す る 。 pgaddr は äģĨ 前 ãĢ mpool_get () か mpool_new () が čŋ” し た ã‚ĸ ド ãƒŦ ゚ で ãĒ け れ ば ãĒ ら ãĒ い 。 flag ぎ 値 は äģĨ 下 ぎ 値 ぎ čĢ– ᐆ 和 で 指 厚 す る 。
MPOOL_DIRTY

ペ ãƒŧ ジ は 変 更 さ れ ãĻ お り 、 フ ã‚Ą イ ãƒĢ ãĢ 書 き å‡ē す åŋ… čρ が あ る 。

mpool_put () は 成 功 す る と 0 を 、 エ ナ ãƒŧ が あ る と -1 を čŋ” す 。

é–ĸ 数 mpool_sync () は MPOOL ポ イ ãƒŗ ã‚ŋ ãƒŧ ぎ į¤ē す ペ ãƒŧ ジ ぎ う ãĄ 、 変 更 さ れ た も ぎ を 全 ãĻ フ ã‚Ą イ ãƒĢ ãĢ 書 き å‡ē す 。 mpool_sync () は 成 功 す る と 0 を 、 エ ナ ãƒŧ が あ る と -1 を čŋ” す 。

é–ĸ 数 mpool_close () は ãƒĄ ãƒĸ ãƒĒ ãƒŧ プ ãƒŧ ãƒĢ ク ッ キ ãƒŧ ぎ į¤ē す 剞 り åŊ“ ãĻ 済 ãŋ ぎ ãƒĄ ãƒĸ ãƒĒ ãƒŧ を č§Ŗ 攞 す る 。 変 更 さ れ た ペ ãƒŧ ジ は フ ã‚Ą イ ãƒĢ ãĢ 書 き å‡ē さ れ ãĒ い 。 mpool_close () は 成 功 す る と 0 を 、 エ ナ ãƒŧ が あ る と -1 を čŋ” す 。

エ ナ ãƒŧ

é–ĸ 数 mpool_open () は å¤ą 敗 す る と ナ イ ブ ナ ãƒĒ ãƒĢ ãƒŧ チ ãƒŗ malloc (3) で 指 厚 さ れ ãĻ い る エ ナ ãƒŧ ãĢ åŋœ じ た errno を ã‚ģ ッ ト す る 。

é–ĸ 数 mpool_get () は å¤ą 敗 す る と æŦĄ ぎ よ う ãĒ errno を ã‚ģ ッ ト す る 。

EINVAL

čρ æą‚ ぎ あ ãŖ た ãƒŦ ã‚ŗ ãƒŧ ド は 存 在 し ãĒ い 。

é–ĸ 数 mpool_new () と mpool_get () は å¤ą 敗 す る と ナ イ ブ ナ ãƒĒ ãƒĢ ãƒŧ チ ãƒŗ read (2), write (2), malloc (3) で 指 厚 さ れ ãĻ い る エ ナ ãƒŧ ãĢ åŋœ じ た errno を ã‚ģ ッ ト す る 。

é–ĸ 数 mpool_sync () は å¤ą 敗 す る と ナ イ ブ ナ ãƒĒ ãƒĢ ãƒŧ チ ãƒŗ write (2) で 指 厚 さ れ ãĻ い る エ ナ ãƒŧ ãĢ åŋœ じ た errno を ã‚ģ ッ ト す る 。

é–ĸ 数 mpool_close () は å¤ą 敗 す る と ナ イ ブ ナ ãƒĒ ãƒĢ ãƒŧ チ ãƒŗ free (3) で 指 厚 さ れ ãĻ い る エ ナ ãƒŧ ãĢ åŋœ じ た errno を ã‚ģ ッ ト す る 。

æē– 拠

POSIX.1 ãĢ は ãĒ い 。 BSD įŗģ ãĢ 存 在 す る 。

é–ĸ 逪 項 į›Ž

btree (3), dbopen (3), hash (3), recno (3)

こ ぎ 文 書 ãĢ つ い ãĻ

こ ぎ man ペ ãƒŧ ジ は Linux man-pages プ ロ ジ ェ ク ト ぎ ãƒĒ ãƒĒ ãƒŧ ゚ 5.10 ぎ 一 部 で あ る 。 プ ロ ジ ェ ク ト ぎ čĒŦ 明 と バ グ å ą 告 ãĢ é–ĸ す る 情 å ą は https://www.kernel.org/doc/man-pages/ ãĢ 書 か れ ãĻ い る 。