--- /dev/null
+THRESH = 100
+EXTFLAGS =
+PO4AFLAGS += -k $(THRESH) $(EXTFLAGS)
+
+LANGS = ja
+PACKAGE = gdbm
+PO4ACFG = po4a/$(PACKAGE).cfg
+
+WORK_DIR = .
+
+all: translate
+
+translate:
+ po4a $(PO4AFLAGS) -v --variable langs='$(LANGS)' \
+ --previous --srcdir $(WORK_DIR) --destdir $(WORK_DIR) $(PO4ACFG)
+
+stat:
+ @for l in $(LANGS); do \
+ echo -n "$$l: "; \
+ msgfmt --statistics -o /dev/null po4a/$$l.po; \
+ done
+
+page-stat:
+ @LC_ALL=C po4a $(PO4AFLAGS) --force -v -k 0 --variable langs='$(LANGS)' \
+ --previous --srcdir $(WORK_DIR) --destdir $(WORK_DIR) $(PO4ACFG) | \
+ grep translated | \
+ sed -e 's/(\([1-9][0-9]*\) strings)/(\1 of \1 strings)/' \
+ -e 's/[()]//g' \
+ -e 's/^draft\/man[1-9]\///' | \
+ awk '{printf("%-15s: %7s (%3s/%3s)\n",$$1,$$3,$$5,$$7);}'
.ds ve 1.8
-.TH GDBM 3 5/19/99
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.\"
.\" Japanese Version Copyright (c) 2000 Tsugikazu Shibata
.\" all rights reserved.
.\" Translated Fri. August 29 23:32:00 JST 2000
.\" by Tsugikazu Shibata <ts@tsden.org>
-.\"O .SH NAME
+.TH GDBM 3 5/19/99
.SH 名前
-.\"O GDBM - The GNU database manager. Includes \fBdbm\fR and \fBndbm\fR
-.\"O compatability. (Version \*(ve.)
-GDBM - GNUデータベース・マネージャ。\fBdbm\fR および \fBndbm\fR
-互換機能を含む。 (Version \*(ve.)
-
-.\"O .SH SYNOPSIS
+GDBM \- GNUデータベース・マネージャ。\fBdbm\fP および \fBndbm\fP 互換機能を含む。 (Version \*(ve.)
.SH 書式
-.B #include <gdbm.h>
+\fB#include <gdbm.h>\fP
.PP
.SM
-.B extern gdbm_error
+\fBextern gdbm_error\fP
.br
-.B gdbm_errno
+\fBgdbm_errno\fP
.PP
-.B extern char
+\fBextern char\fP
.br
-.B *gdbm_version
+\fB*gdbm_version\fP
.PP
-.B GDBM_FILE
+\fBGDBM_FILE\fP
.br
-.B gdbm_open (name, block_size, read_write, mode, fatal_func)
+\fBgdbm_open (name, block_size, read_write, mode, fatal_func)\fP
.br
-.B char * name;
+\fBchar * name;\fP
.br
-.B int block_size, read_write, mode;
+\fBint block_size, read_write, mode;\fP
.br
-.B void (*fatal_func) ();
+\fBvoid (*fatal_func) ();\fP
.PP
-.B void
+\fBvoid\fP
.br
-.B gdbm_close (dbf)
+\fBgdbm_close (dbf)\fP
.br
-.B GDBM_FILE dbf;
+\fBGDBM_FILE dbf;\fP
.PP
-.B int
+\fBint\fP
.br
-.B gdbm_store (dbf, key, content, flag)
+\fBgdbm_store (dbf, key, content, flag)\fP
.br
-.B GDBM_FILE dbf;
+\fBGDBM_FILE dbf;\fP
.br
-.B datum key, content;
+\fBdatum key, content;\fP
.br
-.B int flag;
+\fBint flag;\fP
.PP
-.B datum
+\fBdatum\fP
.br
-.B gdbm_fetch (dbf, key)
+\fBgdbm_fetch (dbf, key)\fP
.br
-.B GDBM_FILE dbf;
+\fBGDBM_FILE dbf;\fP
.br
-.B datum key;
+\fBdatum key;\fP
.PP
-.B int
+\fBint\fP
.br
-.B gdbm_delete (dbf, key)
+\fBgdbm_delete (dbf, key)\fP
.br
-.B GDBM_FILE dbf;
+\fBGDBM_FILE dbf;\fP
.br
-.B datum key;
+\fBdatum key;\fP
.PP
-.B datum
+\fBdatum\fP
.br
-.B gdbm_firstkey (dbf)
+\fBgdbm_firstkey (dbf)\fP
.br
-.B GDBM_FILE dbf;
+\fBGDBM_FILE dbf;\fP
.PP
-.B datum
+\fBdatum\fP
.br
-.B gdbm_nextkey (dbf, key)
+\fBgdbm_nextkey (dbf, key)\fP
.br
-.B GDBM_FILE dbf;
+\fBGDBM_FILE dbf;\fP
.br
-.B datum key;
+\fBdatum key;\fP
.PP
-.B int
+\fBint\fP
.br
-.B gdbm_reorganize (dbf)
+\fBgdbm_reorganize (dbf)\fP
.br
-.B GDBM_FILE dbf;
+\fBGDBM_FILE dbf;\fP
.PP
-.B void
+\fBvoid\fP
.br
-.B gdbm_sync (dbf)
+\fBgdbm_sync (dbf)\fP
.br
-.B GDBM_FILE dbf;
+\fBGDBM_FILE dbf;\fP
.PP
-.B int
+\fBint\fP
.br
-.B gdbm_exists (dbf, key)
+\fBgdbm_exists (dbf, key)\fP
.br
-.B GDBM_FILE dbf;
+\fBGDBM_FILE dbf;\fP
.br
-.B datum key;
+\fBdatum key;\fP
.PP
-.B char *
+\fBchar *\fP
.br
-.B gdbm_strerror (errno)
+\fBgdbm_strerror (errno)\fP
.br
-.B gdbm_error errno;
+\fBgdbm_error errno;\fP
.PP
-.B int
+\fBint\fP
.br
-.B gdbm_setopt (dbf, option, value, size)
+\fBgdbm_setopt (dbf, option, value, size)\fP
.br
-.B GDBM_FILE dbf;
+\fBGDBM_FILE dbf;\fP
.br
-.B int option;
+\fBint option;\fP
.br
-.B int *value;
+\fBint *value;\fP
.br
-.B int size;
+\fBint size;\fP
.PP
-.B int
+\fBint\fP
.br
-.B gdbm_fdesc (dbf)
+\fBgdbm_fdesc (dbf)\fP
.br
-.B GDBM_FILE dbf;
+\fBGDBM_FILE dbf;\fP
.PP
.PP
-.B DBM Compatability routines:
+\fBDBM Compatability routines:\fP
.PP
-.B #include <dbm.h>
+\fB#include <dbm.h>\fP
.PP
.SM
-.B int
+\fBint\fP
.br
-.B dbminit (name)
+\fBdbminit (name)\fP
.br
-.B char *name;
+\fBchar *name;\fP
.PP
-.B int
+\fBint\fP
.br
-.B store (key, content)
+\fBstore (key, content)\fP
.br
-.B datum key, content;
+\fBdatum key, content;\fP
.PP
-.B datum
+\fBdatum\fP
.br
-.B fetch (key)
+\fBfetch (key)\fP
.br
-.B datum key;
+\fBdatum key;\fP
.PP
-.B int
+\fBint\fP
.br
-.B delete (key)
+\fBdelete (key)\fP
.br
-.B datum key;
+\fBdatum key;\fP
.PP
-.B datum
+\fBdatum\fP
.br
-.B firstkey ()
+\fBfirstkey ()\fP
.PP
-.B datum
+\fBdatum\fP
.br
-.B nextkey (key)
+\fBnextkey (key)\fP
.br
-.B datum key;
+\fBdatum key;\fP
.PP
-.B int
+\fBint\fP
.br
-.B dbmclose ()
+\fBdbmclose ()\fP
.PP
.PP
-.B NDBM Compatability routines:
+\fBNDBM Compatability routines:\fP
.PP
-.B #include <ndbm.h>
+\fB#include <ndbm.h>\fP
.PP
.SM
-.B DBM
+\fBDBM\fP
.br
-.B *dbm_open (name, flags, mode)
+\fB*dbm_open (name, flags, mode)\fP
.br
-.B char *name;
+\fBchar *name;\fP
.br
-.B int flags, mode;
+\fBint flags, mode;\fP
.PP
-.B void
+\fBvoid\fP
.br
-.B dbm_close (file)
+\fBdbm_close (file)\fP
.br
-.B DBM *file;
+\fBDBM *file;\fP
.PP
-.B datum
+\fBdatum\fP
.br
-.B dbm_fetch (file, key)
+\fBdbm_fetch (file, key)\fP
.br
-.B DBM *file;
+\fBDBM *file;\fP
.br
-.B datum key;
+\fBdatum key;\fP
.PP
-.B int
+\fBint\fP
.br
-.B dbm_store (file, key, content, flags)
+\fBdbm_store (file, key, content, flags)\fP
.br
-.B DBM *file;
+\fBDBM *file;\fP
.br
-.B datum key, content;
+\fBdatum key, content;\fP
.br
-.B int flags;
+\fBint flags;\fP
.PP
-.B int
+\fBint\fP
.br
-.B dbm_delete (file, key)
+\fBdbm_delete (file, key)\fP
.br
-.B DBM *file;
+\fBDBM *file;\fP
.br
-.B datum key;
+\fBdatum key;\fP
.PP
-.B datum
+\fBdatum\fP
.br
-.B dbm_firstkey (file)
+\fBdbm_firstkey (file)\fP
.br
-.B DBM *file;
+\fBDBM *file;\fP
.PP
-.B datum
+\fBdatum\fP
.br
-.B dbm_nextkey (file)
+\fBdbm_nextkey (file)\fP
.br
-.B DBM *file;
+\fBDBM *file;\fP
.PP
-.B int
+\fBint\fP
.br
-.B dbm_error (file)
+\fBdbm_error (file)\fP
.br
-.B DBM *file;
+\fBDBM *file;\fP
.PP
-.B int
+\fBint\fP
.br
-.B dbm_clearerr (file)
+\fBdbm_clearerr (file)\fP
.br
-.B DBM *file;
+\fBDBM *file;\fP
.PP
-.B int
+\fBint\fP
.br
-.B dbm_pagfno (file)
+\fBdbm_pagfno (file)\fP
.br
-.B DBM *file;
+\fBDBM *file;\fP
.PP
-.B int
+\fBint\fP
.br
-.B dbm_dirfno (file)
+\fBdbm_dirfno (file)\fP
.br
-.B DBM *file;
+\fBDBM *file;\fP
.PP
-.B int
+\fBint\fP
.br
-.B dbm_rdonly (file)
+\fBdbm_rdonly (file)\fP
.br
-.B DBM *file;
+\fBDBM *file;\fP
-.\"O .SH DESCRIPTION
.SH 説明
-.\"O GNU dbm is a library of routines that manages data files that contain
-.\"O key/data pairs.
-GNU dbm は、キーとデータのペアを含んだデータファイルを取り扱う
-ルーチン群のライブラリである。
-.\"O The access provided is that of storing,
-.\"O retrieval, and deletion by key and a non-sorted traversal of all
-.\"O keys.
-.\"O A process is allowed to use multiple data files at the
-.\"O same time.
-提供されるアクセスとしては、キーによる格納、キーによる取り出し、
-キーによる削除の他、すべてのキーに渡るソートされていない横断的な
-アクセスがある。
+GNU dbm は、キーとデータのペアを含んだデータファイルを取り扱う ルーチン群のライブラリである。
+提供されるアクセスとしては、キーによる格納、キーによる取り出し、 キーによる削除の他、すべてのキーに渡るソートされていない横断的な アクセスがある。
一つのプロセスからは複数のデータファイルを同時に利用することができる。
-.\"O
-.\"O A process that opens a gdbm file is designated as a "reader" or a
-.\"O "writer".
-.\"O Only one writer may open a gdbm file and many readers ma
-.\"O open the file.
-gdbm ファイルをオープンするプロセスは、「リーダ」または「ライタ」
-と呼ばれる。
-1 つの gdbm ファイルをオープンできるライタは 1 つだけだが、
-リーダは複数が 1 つの gdbm ファイルをオープンすることができる。
-
-.\"O Readers and writers can not open the gdbm file at the
-.\"O same time. The procedure for opening a gdbm file is:
-リーダとライタは同時に同じファイルをオープンすることはできない。
-gdbm ファイルをオープンする手続きは:
-
- GDBM_FILE dbf;
-
- dbf = gdbm_open ( name, block_size, read_write, mode, fatal_func )
-
-.\"O
-.\"O \fIName\fR is the name of the file (the complete name,
-.\"O gdbm does not append any characters to this name).
-.\"O \fIBlock_size\fR is the size of a single transfer from
-.\"O disk to memory.
-\fIname\fR はファイルの名前である。(完全な名前、gdbm はこの名前に
-文字列を付け加えるようなことはしない)
-\fIblock_size\fR はディスクからメモリへ 1 回に転送されるサイズである。
-.\"O This parameter is ignored unless the file is a new file.
-.\"O The minimum size is 512.
-このパラメータは、新しいファイルの場合以外は無視される。最小サイズ
-は 512 である。
-.\"O If it is less than 512, dbm will use the stat block size
-.\"O for the file system.
-512 よりも小さい場合には, gdbm はファイルシステムに対する stat
-のブロックサイズを使用する。
-.\"O \fIRead_write\fR can have one of the following values:
-\fIread_write\fR には以下のいずれかの値を取る。
-.br
-.B GDBM_READER
-.\"O reader
-リーダ
-.br
-.B GDBM_WRITER
-.\"O writer
-ライタ
-.br
-.B GDBM_WRCREAT
-.\"O writer - if database does not exist create new one
-ライタ - データベースが存在しなければ作成する
-.br
-.B GDBM_NEWDB
-.\"O writer - create new database regardless if one exists
-ライタ - すでに存在しても新しいデータベースを作成する
-.br
-.\"O For the last three (writers of the database) the following may be added
-.\"O added to \fIread_write\fR by bitwise or:
-最後の 3 つについては (データベースのライタ) \fIread_write\fR に対して
-以下をビットの OR により追加できる:
-.B GDBM_SYNC
-.\"O which causes all database operations to be synchronized to the disk, and
-はすべてのデータベースの操作をディスクと同期する、また
-.B GDBM_NOLOCK
-.\"O which prevents the library from performing any locking on the database file.M
-はデータベースファイルに関するライブラリからのロック動作を行わない。
-.\"O The option
-.\"O .B GDBM_FAST
-.\"O is now obsolete, since gdbm defaults to no-sync mode.
-オプション
-.B GDBM_FAST
-は gdbm の既定動作が no-sync モードになったためにもう使われなくなった。
-.br
-.\"O \fIMode\fR is the file mode (see \fBchmod(2)\fR and \fBopen(2)\fR)
-.\"O if the file is created.
-.\"O \fI(*Fatal_func) ()\fR is a function for dbm to call
-.\"O if it detects a fatal error. The only parameter of this function
-.\"O is a string.
-.\"O If the value of 0 is provided, gdbm will use a default function.
-\fImode\fR はファイルのモードである (\fBchmod(2)\fR および \fBopen(2)\fR を
-参照)。\fI(*fatal_func) ()\fR は dbm が致命的エラーを検出した場合に呼び出す
-関数である。この関数への唯一のパラメータは文字列である。
-値 0 が指定されると、gdbm はデフォルトの関数を使用する。
-
-.\"O
-.\"O The return value \fIdbf\fR is the pointer needed by all other routines to
-.\"O access that gdbm file.
-.\"O If the return is the NULL pointer, \fBgdbm_open\fR
-.\"O was not successful.
-返り値 \fIdbf\fR は、その gdbm ファイルにアクセスする他のすべてのルーチン
-に必要なポインタである。 NULL ポインタが返った場合、\fBgdbm_open\fR は
-成功しなかったことを示す。
-.\"O The errors can be found in \fIgdbm_errno\fR for gdbm
-.\"O errors and in \fIerrno\fR for system errors. (For error codes, see
-.\"O gdbmerrno.h.)
-.\"O
-gdbm のエラーは \fIgdbm_errno\fR に、システムのエラーは \fIerrno\fR
-に格納される。(エラーコードについては gdbmerrno.h を参照)
-
-.\"O In all of the following calls, the parameter \fIdbf\fR refers
-.\"O to the pointer returned from \fBgdbm_open\fR.
-以下のすべてのコールにおいては、
-パラメータ \fIdbf\fR は \fBgdbm_open\fR から
-返ってきたポインタである。
-.\"O
-.\"O It is important that every file opened is also closed.
-.\"O This is needed to update the reader/writer count on the file.
-どんなファイルでもオープンしたものをクローズすることは重要である。
-クローズはファイルに対するリーダ数/ライタ数を更新する。
-.\"O This is done by:
-.\"O
-.\"O gdbm_close (dbf);
+gdbm ファイルをオープンするプロセスは、「リーダ」または「ライタ」 と呼ばれる。 1 つの gdbm ファイルをオープンできるライタは 1
+つだけだが、 リーダは複数が 1 つの gdbm ファイルをオープンすることができる。 リーダとライタは同時に同じファイルをオープンすることはできない。
+gdbm ファイルをオープンする手続きは次の通りである。
+
+ GDBM_FILE dbf;
+
+ dbf = gdbm_open ( name, block_size, read_write, mode, fatal_func )
+
+\fIname\fP はファイルの名前である。(完全な名前、gdbm はこの名前に 文字列を付け加えるようなことはしない) \fIblock_size\fP
+はディスクからメモリへ 1 回に転送されるサイズである。 このパラメータは、新しいファイルの場合以外は無視される。最小サイズ は 512 である。
+512 よりも小さい場合には, gdbm はファイルシステムに対する stat のブロックサイズを使用する。 \fIread_write\fP
+には以下のいずれかの値を取る。
+.br
+\fBGDBM_READER\fP リーダ
+.br
+\fBGDBM_WRITER\fP ライタ
+.br
+\fBGDBM_WRCREAT\fP ライタ \- データベースが存在しなければ作成する
+.br
+\fBGDBM_NEWDB\fP ライタ \- すでに存在しても新しいデータベースを作成する
+.br
+最後の 3 つについては (データベースのライタ) \fIread_write\fP に対して 以下をビットの OR により追加できる:
+\fBGDBM_SYNC\fP はすべてのデータベースの操作をディスクと同期する、また \fBGDBM_NOLOCK\fP
+はデータベースファイルに関するライブラリからのロック動作を行わない。 オプション \fBGDBM_FAST\fP は gdbm の既定動作が no\-sync
+モードになったためにもう使われなくなった。
+.br
+\fImode\fP はファイルのモードである (\fBchmod(2)\fP および \fBopen(2)\fP を 参照)。\fI(*fatal_func) ()\fP は
+dbm が致命的エラーを検出した場合に呼び出す 関数である。この関数への唯一のパラメータは文字列である。 値 0 が指定されると、gdbm
+はデフォルトの関数を使用する。
+
+返り値 \fIdbf\fP は、その gdbm ファイルにアクセスする他のすべてのルーチン に必要なポインタである。 NULL
+ポインタが返った場合、\fBgdbm_open\fP は 成功しなかったことを示す。 gdbm のエラーは \fIgdbm_errno\fP に、システムのエラーは
+\fIerrno\fP に格納される (エラーコードについては gdbmerrno.h を参照)。
+
+以下のすべてのコールにおいては、 パラメータ \fIdbf\fP は \fBgdbm_open\fP から 返ってきたポインタである。
+
+どんなファイルでもオープンしたものをクローズすることは重要である。 クローズはファイルに対するリーダ数/ライタ数を更新する。
これは以下のようにして行う。
- gdbm_close (dbf);
-
-.\"O The database is used by 3 primary routines. The first stores data in the
-.\"O database.
-データベースは 3 つの主なルーチンによって利用できる。最初はデータを
-データベースに格納するものである。
-
-.\"O
-.\"O ret = gdbm_store ( dbf, key, content, flag )
-.\"O
-
- ret = gdbm_store ( dbf, key, content, flag )
-
-
-.\"O \fIDbf\fR is the pointer returned by \fBgdbm_open\fR. \fIKey\fR is the
-.\"O key data. \fIContent\fR is the data to be associated with the \fIkey\fR.
-\fIdbf\fR は \fBgdbm_open\fR から返ってきたポインタである。
-\fIkey\fR はキーデータで、\fIcontent\fR は \fIkey\fR に関連付けられた
-データである。
-.\"O \fIFlag\fR can have one of the following values:
-.\"O .br
-.\"O .B GDBM_INSERT
-\fIflag\fR は以下のいずれかの値を持つことができる。
-.br
-.B GDBM_INSERT
-.\"O insert only, generate an error if key exists
-挿入のみ。キーが存在すればエラーとなる。
-.br
-.B GDBM_REPLACE
-.\"O replace contents if key exists.
-キーが存在すれば内容を更新する。
-
-.\"O
-.\"O If a reader calls \fBgdbm_store\fR, the return value will be -1.
-リーダが \fBgdbm_store\fR をコールした場合、返り値は -1 となる。
-.\"O If called with GDBM_INSERT and \fIkey\fR is in the database, the return
-.\"O value will be 1. Otherwise, the return value is 0.
-GDBM_INSERT が指定された時にデータベースに \fIkey\fR が存在すると、
-返り値は 1 である。そうでなければ返り値は 0 である。
-
-.\"O
-.\"O \fINOTICE: If you store data for a key that is already in the data base,
-.\"O gdbm replaces the old data with the new data if called with GDBM_REPLACE.
-\fI注意: 既にデータベースに存在するキーを指定して格納する場合、
-GDBM_REPLACEで呼び出しているならば、gdbm は古いデータを
-新しいデータで置き換える。
-.\"O You do not get two data items for the same key and you do not get an
-.\"O error from gdbm_store.
-同じキーで 2 つのデータ・アイテムを得ることはできないし、
-また gdbm_store がエラーを返すこともない。
-
-.\"O
-.\"O NOTICE: The size in gdbm is not restricted like dbm or ndbm. Your data
-.\"O can be as large as you want.\fR
-注意: gdbm のサイズは、dbm や ndbm と異なり制限されない。
-データは必要なだけ大きくすることができる。
-\fR
-
-.\"O
-.\"O
-.\"O To search for some data:
-.\"O
-.\"O content = gdbm_fetch ( dbf, key )
+ gdbm_close (dbf);
+
+
+データベースは 3 つの主なルーチンによって利用できる。最初はデータを データベースに格納するものである。
+
+ ret = gdbm_store ( dbf, key, content, flag )
+
+\fIdbf\fP は \fBgdbm_open\fP から返ってきたポインタである。 \fIkey\fP はキーデータで、\fIcontent\fP は \fIkey\fP
+に関連付けられた データである。 \fIflag\fP は以下のいずれかの値を持つことができる。
+.br
+\fBGDBM_INSERT\fP 挿入のみ。キーが存在すればエラーとなる。
+.br
+\fBGDBM_REPLACE\fP キーが存在すれば内容を更新する。
+
+リーダが \fBgdbm_store\fP をコールした場合、返り値は \-1 となる。 GDBM_INSERT が指定された時にデータベースに \fIkey\fP
+が存在すると、 返り値は 1 である。そうでなければ返り値は 0 である。
+
+\fI注意: 既にデータベースに存在するキーを指定して格納する場合、 GDBM_REPLACE で呼び出しているならば、gdbm は古いデータを
+新しいデータで置き換える。 同じキーで 2 つのデータ・アイテムを得ることはできないし、 また gdbm_store がエラーを返すこともない。\fP
+
+\fI注意: gdbm のサイズは、dbm や ndbm と異なり制限されない。 データは必要なだけ大きくすることができる。\fP
+
+
データを検索するには、以下のようにする:
content = gdbm_fetch ( dbf, key )
-.\"O
-.\"O \fIDbf\fR is the pointer returned by \fBgdbm_open\fR. \fIKey\fR is
-.\"O the key data.
-\fIdbf\fR は \fBgdbm_open\fR から返ってきたポインタである。
-\fIkey\fR はキーデータである。
-
-.\"O
-.\"O
-.\"O If the \fIdptr\fR element of the return value is NULL, no data was
-.\"O found.
-.\"O Otherwise the return value is a pointer to the found data.
-返り値の \fIdptr\fR が NULL の場合、データは見つからなかった。
-見つかった場合はデータへのポインタが返る。
-.\"O The storage space for the \fIdptr\fR element is allocated using
-.\"O \fBmalloc(3C)\fR.
-.\"O \fBGdbm\fI does not automatically free this data.
-\fIdptr\fR の記憶空間は \fBmalloc(3C)\fR により確保される。
-\fBgdbm\fI は自動的にこのデータを解放することはしない。
-.\"O It is the programmer's responsibility to free this storage when it is
-.\"O no longer needed.\fR
-必要の無くなった領域を解放するのはプログラマの責任である。\fR
-
-.\"O
-.\"O
-.\"O To search for some data, without retrieving it:
-データを参照せずに、検索だけする場合には:
+\fIdbf\fP は \fBgdbm_open\fP から返ってきたポインタである。 \fIkey\fP はキーデータである。
+
+
+返り値の \fIdptr\fP が NULL の場合、データは見つからなかった。 見つかった場合はデータへのポインタが返る。 \fIdptr\fP の記憶空間は
+\fBmalloc(3C)\fP により確保される。 \fBgdbm\fP \fIは自動的にこのデータを解放することはしない。
+必要の無くなった領域を解放するのはプログラマの責任である。\fP
- ret = gdbm_exists ( dbf, key )
-.\"O \fIDbf\fR is the pointer returned by \fBgdbm_open\fR. \fIKey\fR is
-.\"O the key data to search for.
-\fIdbf\fR は \fBgdbm_open\fR から返ってきたポインタである。
-\fIkey\fR は検索したいキーデータである。
+データを参照せずに、検索だけする場合には:
+
+ ret = gdbm_exists ( dbf, key )
-.\"O
-.\"O If the \fIkey\fR is found within the database, the return value \fIret\fR
-.\"O will be true. If nothing appropiate is found, \fIret\fR will be false.
-データベース内に \fIkey\fR が見つかれば、返り値 \fIret\fR は true である。
-.\" If nothing appropiate is found, \fIret\fR will be false.
-何も対応するものが見つからなければ \fIret\fR は false である。
+\fIdbf\fP は \fBgdbm_open\fP から返ってきたポインタである。 \fIkey\fP は検索したいキーデータである。
-.\"O This routine is useful for checking for the existance of a record,
-.\"O without performing the memory allocation done by \fBgdbm_fetch\fR.
-\fBgdbm_fetch\fR ではメモリ確保が行われるが、このルーチンはそれをしない
+データベース内に \fIkey\fP が見つかれば、返り値 \fIret\fP は true である。 何も対応するものが見つからなければ \fIret\fP は
+false である。 \fBgdbm_fetch\fP ではメモリ確保が行われるが、このルーチンはそれをしない
ので、レコードの存在をチェックをする時に役に立つ。
-.\"O
-.\"O
-.\"O To remove some data from the database:
+
データベースからあるデータを削除する場合は、以下のようにする:
ret = gdbm_delete ( dbf, key )
-.\"O \fIDbf\fR is the pointer returned by \fBgdbm_open\fR. \fIKey\fR is the
-.\"O key data.
-\fIdbf\fR は \fBgdbm_open\fR から返ってきたポインタである。\fIkey\fR は
-削除したいキーデータである。
-
-.\"O
-.\"O The return value is -1 if the item is not present or the requester is a reader.
-.\"O The return value is 0 if there was a successful delete.
-アイテムが存在しなかったり、要求したのがリーダだった場合、
-返り値は -1 である。
-削除に成功すれば返り値は 0 である。
-
-.\"O
-.\"O
-.\"O The next two routines allow for accessing all items in the database.
-次の 2 つのルーチンは、データベース中のすべてのアイテムにアクセスできる。
-.\"O This access is not key sequential, but it is guaranteed to visit
-.\"O every key in the database once. (The order has to do with the
-.\"O hash values.)
-アクセスはキー順ではないが、データベース内ですべてのキーに各 1 回
+\fIdbf\fP は \fBgdbm_open\fP から返ってきたポインタである。 \fIkey\fP はキーデータである。
+
+アイテムが存在しなかったり、要求したのがリーダだった場合、 返り値は \-1 である。 削除に成功すれば返り値は 0 である。
+
+
+次の 2 つのルーチンは、データベース中のすべてのアイテムにアクセスできる。 アクセスはキー順ではないが、データベース内ですべてのキーに各 1 回
アクセスすることは保証されている。(アクセス順序はハッシュ値の順になる。)
- key = gdbm_firstkey ( dbf )
-
- nextkey = gdbm_nextkey ( dbf, key )
-
-.\"O \fIDbf\fR is the pointer returned by \fBgdbm_open\fR. \fIKey\fR is the
-.\"O key data.
-\fIdbf\fR は \fBgdbm_open\fR から返ってきたポインタである。\fIkey\fR は
-キーデータである。
-
-.\"O
-.\"O The return values are both of type \fBdatum\fR. If the \fIdptr\fR
-.\"O element of the return value is NULL, there is no first key or next key.
-返り値はどちらも \fBdatum\fR 型である。返り値の \fIdptr\fR 要素が NULL
-の場合、最初のキーまたは次のキーがなかったことを示す。
-.\"O Again notice that \fIdptr\fR points to data allocated by \fBmalloc(3C)\fR
-.\"O and \fBgdbm\fR will not free it for you.
-返り値の \fIdptr\fR 要素が指しているのは \fBmalloc(3C)\fR
-により確保されたデータであり、\fBgdbm\fR は free してはくれないことに
-もう一度注意すること。
-
-.\"O
-.\"O These functions were intended to visit the database in read-only algorithms,
-.\"O for instance, to validate the database or similar operations.
-これらの関数はデータベースをリードオンリーで参照することを意図していた。
-たとえば、データベースの正当性を確認したりするような目的で。
-
-.\"O
-.\"O File `visiting' is based on a `hash table'. \fIgdbm_delete\fR re-arranges the
-.\"O hash table to make sure that any collisions in the table do not leave some item
-.\"O `un-findable'. The original key order is NOT guaranteed to remain unchanged in
-.\"O ALL instances. It is possible that some key will not be visited if a loop like
-.\"O the following is executed:
-ファイルへの「参照」は「ハッシュ・テーブル」に基づいている。
-\fIgdbm_delete\fR はハッシュ・テーブルを再構成して、「見つけられることのない」
-アイテムがテーブルの中で放置されないように、すべての競合を確認する。
-すべてのデータの実体に変更を加えなかったとしても、オリジナルのキーの
-順序は保証されない。
-
-.\" It is possible that some key will not be visited if a loop like
-.\" the following is executed:
-以下のループが実行された場合、いくつかのキーが見つけられ
-ないことが起こり得る。
-
-
- key = gdbm_firstkey ( dbf );
- while ( key.dptr ) {
- nextkey = gdbm_nextkey ( dbf, key );
- if ( some condition ) {
- gdbm_delete ( dbf, key );
- free ( key.dptr );
- }
- key = nextkey;
- }
-
-.\"O The following routine should be used very infrequently.
+ key = gdbm_firstkey ( dbf )
+
+ nextkey = gdbm_nextkey ( dbf, key )
+
+\fIdbf\fP は \fBgdbm_open\fP から返ってきたポインタである。\fIkey\fP は キーデータである。
+
+返り値はどちらも \fBdatum\fP 型である。返り値の \fIdptr\fP 要素が NULL の場合、最初のキーまたは次のキーがなかったことを示す。
+返り値の \fIdptr\fP 要素が指しているのは \fBmalloc(3C)\fP により確保されたデータであり、\fBgdbm\fP は free
+してはくれないことに もう一度注意すること。
+
+これらの関数はデータベースをリードオンリーで参照することを意図していた。 たとえば、データベースの正当性を確認したりするような目的で。
+
+ファイルへの「参照」は「ハッシュ・テーブル」に基づいている。 \fIgdbm_delete\fP はハッシュ・テーブルを再構成して、「見つけられることのない」
+アイテムがテーブルの中で放置されないように、すべての競合を確認する。 すべてのデータの実体に変更を加えなかったとしても、オリジナルのキーの
+順序は保証されない。以下のループが実行された場合、いくつかのキーが見つけられないことが起こり得る。
+
+ key = gdbm_firstkey ( dbf );
+ while ( key.dptr ) {
+ nextkey = gdbm_nextkey ( dbf, key );
+ if ( some condition ) {
+ gdbm_delete ( dbf, key );
+ free ( key.dptr );
+ }
+ key = nextkey;
+ }
+
以下のルーチンは繰り返し使われるべきではない。
+
+ ret = gdbm_reorganize ( dbf )
+
+もしあなたがたくさんの削除を行い、\fBgdbm\fP ファイルが使っている スペースを小さくしたいと思うならば、このルーチンはデータベースの再構成を行う。
+\fBgdbm\fP はこの再構成以外で \fBgdbm\fP が使っているファイルの大きさを 小さくすることは無い。(削除されたスペースは再利用される)
+
+
+データベースが GDBM_SYNC フラグ付きで open されない限り、gdbm は次の動作を 継続する前に、write
+がディスクにフラッシュするのを待つようなことはしない。 次のルーチンはデータベースを物理的にディスクに書き出すことを保証する。
+
+ gdbm_sync ( dbf )
-.\"O
-.\"O ret = gdbm_reorganize ( dbf )
-
- ret = gdbm_reorganize ( dbf )
-
-.\"O
-.\"O If you have had a lot of deletions and would like to shrink the space
-.\"O used by the \fBgdbm\fR file, this routine will reorganize the database.
-.\"O \fBGdbm\fR will not shorten the length of a \fBgdbm\fR file except by
-.\"O using this reorganization. (Deleted file space will be reused.)
-もしあなたがたくさんの削除を行い、\fBgdbm\fR ファイルが使っている
-スペースを小さくしたいと思うならば、このルーチンはデータベースの再構成を行う。
-\fBgdbm\fR はこの再構成以外で \fBgdbm\fR が使っているファイルの大きさを
-小さくすることは無い。(削除されたスペースは再利用される)
-
-.\"O
-.\"O
-.\"O Unless your database was opened with the GDBM_SYNC flag, gdbm does not
-.\"O wait for writes to be flushed to the disk before continuing.
-.\"O The following routine can be used to guarantee that the database is
-.\"O physically written to the disk file.
-データベースが GDBM_SYNC フラグ付きで open されない限り、gdbm は次の動作を
-継続する前に、write がディスクにフラッシュするのを待つようなことはしない。
-次のルーチンはデータベースを物理的にディスクに書き出すことを保証する。
-.\"O
-.\"O gdbm_sync ( dbf )
-
- gdbm_sync ( dbf )
-
-.\"O
-.\"O It will not return until the disk file state is syncronized with the
-.\"O in-memory state of the database.
これはメインメモリの状態をディスクの状態と同期させるまでは戻って来ない。
-.\"O
-.\"O
-.\"O To convert a \fBgdbm\fR error code into English text, use this routine:
-\fBgdbm\fR のエラーコードを英文のテキストに変換するには、次のルーチン
-を利用する。
-.\"O
-.\"O ret = gdbm_strerror ( errno )
-
- ret = gdbm_strerror ( errno )
-
-.\"O
-.\"O Where \fIerrno\fR is of type \fIgdbm_error\fR, usually the global
-.\"O variable \fIgdbm_errno\fR. The appropiate phrase is returned.
-
-ここで \fIerrno\fR は \fIgdbm_error\fR 型であり、通常はグローバル変数
-の \fIgdbm_errno\fR である。対応するフレーズが返ってくる。
-
-.\"O
-.\"O
-.\"O \fBGdbm\fR now supports the ability to set certain options on an
-.\"O already open database.
-\fBgdbm\fR は既に open されているファイルに対するオプションを設定できる
-機能をサポートしている。
-
- ret = gdbm_setopt ( dbf, option, value, size )
-
-.\"O Where \fIdbf\fR is the return value from a previous call to \fBgdbm_open\fR,
-.\"O and \fIoption\fR specifies which option to set. The valid options are
-.\"O currently:
-ここで、\fIdbf\fR は直前の \fBgdbm_open\fR の返り値であり、
-\fIoption\fR は設定したいオプションを指定する。現在の正しいオプションは:
-
-.\"O
-.\"O \fBGDBM_CACHESIZE\fR - Set the size of the internal bucket
-.\"O cache. This option may only be set once on each \fIGDBM_FILE\fR
-.\"O descriptor, and is set automatically to 100 upon the first
-.\"O access to the database.
-\fBGDBM_CACHESIZE\fR - 内部の bucket キャッシュのサイズを指定する。
-このオプションは \fIGDBM_FILE\fR のディスクリプタに一度だけ設定でき、
+
+\fBgdbm\fP のエラーコードを英文のテキストに変換するには、次のルーチン を利用する。
+
+ ret = gdbm_strerror ( errno )
+
+ここで \fIerrno\fP は \fIgdbm_error\fP 型であり、通常はグローバル変数 の \fIgdbm_errno\fP
+である。対応するフレーズが返ってくる。
+
+
+\fBgdbm\fP は既に open されているファイルに対するオプションを設定できる 機能をサポートしている。
+
+ ret = gdbm_setopt ( dbf, option, value, size )
+
+ここで、\fIdbf\fP は直前の \fBgdbm_open\fP の返り値であり、 \fIoption\fP
+は設定したいオプションを指定する。現在の正しいオプションは:
+
+\fBGDBM_CACHESIZE\fP \- 内部の bucket キャッシュのサイズを指定する。
+このオプションは \fIGDBM_FILE\fP のディスクリプタに一度だけ設定でき、
データベースの最初のアクセス時に自動的に 100 が設定される。
-.\"O
-.\"O \fBGDBM_FASTMODE\fR - Set \fBfast mode\fR to either on or off. This
-.\"O allows \fBfast mode\fR to be toggled on an already open and
-.\"O active database. \fIvalue\fR (see below) should be set to either
-.\"O TRUE or FALSE. \fIThis option is now obsolete.\fR
-\fBGDBM_FASTMODE\fR - \fBfast mode\fR の on, off を指定する。
-\fBfast mode\fR はすでにオープンされていて、アクティブなデータベースに
-対してトグル (on, off) できる。\fIvalue\fR (以下参照) は TRUE か FALSE
-が設定できる。このオプションはもう使われない。
-
-.\"O
-.\"O \fBGDBM_SYNCMODE\fR - Turn on or off file system synchronization operations.
-.\"O This setting defaults to off; \fIvalue\fR (see below) should be set to either
-.\"O TRUE or FALSE.
-\fBGDBM_SYNCMODE\fR - ファイルシステムの同期処理を on, off する。この
-設定のデフォルトは off である。\fIvalue\fR (以下参照) は TRUE か FALSE
-を指定する。
-
-.\"O
-.\"O \fBGDBM_CENTFREE\fR - Set \fBcentral free block pool\fR to either on or off.
-.\"O The default is off, which is how previous versions of \fBGdbm\fR
-.\"O handled free blocks. If set, this option causes all subsequent free
-.\"O blocks to be placed in the \fBglobal\fR pool, allowing (in thoery)
-.\"O more file space to be reused more quickly. \fIvalue\fR (see below) should
-.\"O be set to either TRUE or FALSE.
-.\"O \fINOTICE: This feature is still under study.\fR
-\fBGDBM_CENTFREE\fR - \fBcentral フリーブロックプール\fR を on, off する。
-デフォルトは off であり、これは以前のバージョンの \fBgdbm\fR のフリー
-ブロックの取り扱いと同じである。もし、設定されると、このオプションはそ
-の後はフリーブロックはグローバルプールにおかれ、(理論的には) より多くの
-ファイルスペースがより早く再利用されるようになる。
-\fIvalue\fR (以下参照) は TRUE か FALSE を設定すべきである。
-注意:この機能はまだ検討中である。
-
-.\"O
-.\"O \fBGDBM_COALESCEBLKS\fR - Set \fBfree block merging\fR to either on or off.
-.\"O The default is off, which is how previous versions of \fBGdbm\fR
-.\"O handled free blocks. If set, this option causes adjacent free blocks
-.\"O to be merged. This can become a CPU expensive process with time, though,
-.\"O especially if used in conjunction with \fBGDBM_CENTFREE\fR. \fIvalue\fR
-.\"O (see below) should be set to either TRUE or FALSE.
-.\"O \fINOTICE: This feature is still under study.\fR
-\fBGDBM_COALESCEBLKS\fR - フリーブロックマージングの on, off を設定
-する。デフォルトは off で前のバージョンの \fBgdbm\fR のフリーブロック
-の扱いと同じである。もし、設定されるとこのオプションは、付近にあるフリー
-ブロックをマージする。これは 特に\fBGDBM_CENTFREE\fR と一緒に使われた
-としても 時間と CPU のかかる処理になる。\fIvalue\fR (以下参照) は TRUE
-か FALSE を設定するべきである。
-注意:この機能はまだ検討中である。
-
-.\"O
-.\"O \fIvalue\fR is the value to set \fIoption\fR to, specified as an integer
-.\"O pointer. \fIsize\fR is the size of the data pointed to by \fIvalue\fR.
-.\"O The return value will be -1 upon failure, or 0 upon success. The global
-.\"O variable \fIgdbm_errno\fR will be set upon failure.
-\fIvalue\fR は \fIoption\fR に設定する値であり、integer へのポインタ
-である。 \fIsize\fR は \fIvalue\fR によってポイントされるデータの
-サイズである。返り値は 失敗した場合 -1 になり、成功したら 0 になる。
-失敗の場合、グローバル変数の \fIgdbm_errno\fR には値が設定される。
-
-.\"O
-.\"O For instance, to set a database to use a cache of 10, after opening it
-.\"O with \fBgdbm_open\fR, but prior to accessing it in any way, the following
-.\"O code could be used:
-例えば、\fBgdbm_open\fR でオープンしたデータベースをアクセスする前に、
-キャッシュとして 10 を使うように設定する場合、以下のコードが利用できる:
-
- int value = 10;
-
- ret = gdbm_setopt( dbf, GDBM_CACHESIZE, &value, sizeof(int));
-
-
-.\"O If the database was opened with the \fBGDBM_NOLOCK\fR flag, the user may
-.\"O wish to perform their own file locking on the database file in order to
-.\"O prevent multiple writers operating on the same file simultaneously.
-もしデータベースが \fBGDBM_NOLOCK\fR フラグ付きでオープンされた場合、
-ユーザはデータベースに対して、例えば複数のライタ操作を同一のファイル
+\fBGDBM_FASTMODE\fP \- \fBfast mode\fP の on, off を指定する。 \fBfast mode\fP は
+すでにオープンされていて、アクティブなデータベースに 対してトグル (on,
+off) できる。\fIvalue\fP (以下参照) は TRUE か FALSE が設定できる。
+\fIこのオプションはもう使われない。\fP
+
+\fBGDBM_SYNCMODE\fP \- ファイルシステムの同期処理を on, off する。
+この設定のデフォルトは off である。
+\fIvalue\fP (以下参照) は TRUE か FALSE を指定する。
+
+\fBGDBM_CENTFREE\fP \- \fBcentral フリーブロックプール\fP を on, off する。
+デフォルトは off であり、これは以前のバージョンの \fBgdbm\fP のフリー
+ブロックの取り扱いと同じである。もし、設定されると、このオプションは
+その後はフリーブロックはグローバルプールにおかれ、(理論的には) より
+多くのファイルスペースがより早く再利用されるようになる。
+\fIvalue\fP (以下参照) は TRUE か FALSE を設定すべきである。
+\fI注意:この機能はまだ検討中である。\fP
+
+\fBGDBM_COALESCEBLKS\fP \- \fBフリーブロックマージング\fPの on, off を設定する。
+デフォルトは off で前のバージョンの \fBgdbm\fP のフリーブロック の扱いと
+同じである。もし、設定されるとこのオプションは、付近にあるフリーブロック
+をマージする。これは 特に\fBGDBM_CENTFREE\fP と一緒に使われたとしても
+時間と CPU のかかる処理になる。\fIvalue\fP (以下参照) は TRUE か FALSE を
+設定するべきである。 \fI注意:この機能はまだ検討中である。\fP
+
+\fIvalue\fP は \fIoption\fP に設定する値であり、integer へのポインタ である。 \fIsize\fP は \fIvalue\fP
+によってポイントされるデータの サイズである。返り値は 失敗した場合 \-1 になり、成功したら 0 になる。 失敗の場合、グローバル変数の
+\fIgdbm_errno\fP には値が設定される。
+
+例えば、\fBgdbm_open\fP でオープンしたデータベースをアクセスする前に、 キャッシュとして 10
+を使うように設定する場合、以下のコードが利用できる:
+
+ int value = 10;
+
+ ret = gdbm_setopt( dbf, GDBM_CACHESIZE, &value, sizeof(int));
+
+
+もしデータベースが \fBGDBM_NOLOCK\fP フラグ付きでオープンされた場合、 ユーザはデータベースに対して、例えば複数のライタ操作を同一のファイル
に対して行うような、自分の独自のファイルロッキングを使うことができる、
-.\"O
-.\"O In order to support this, the \fIgdbm_fdesc\fR routine is provided.
-.\"O
-.\"O ret = gdbm_fdesc ( dbf )
-.\"O
-.\"O Where \fIdbf\fR is the return value from a previous call to \fBgdbm_open\fR.
-.\"O The return value will be the file descriptor of the database.
-これをサポートするため、\fIgdbm_fdesc\fR ルーチンが提供される。
-
- ret = gdbm_fdesc ( dbf )
-
-ここで \fIdbf\fR は以前の \fBgdbm_open\fR の返り値である。
-返り値はデータベースのファイルディスクリプタである。
-
-.\"O
-.\"O The following two external variables may be useful:
-.\"O
-.\"O \fIgdbm_errno\fR is the variable that contains more information about
-.\"O gdbm errors. (gdbm.h has the definitions of the error values and
-.\"O defines gdbm_errno as an external variable.)
-.\"O .br
-.\"O \fIgdbm_version\fR is the string containing the version information.
+これをサポートするため、\fIgdbm_fdesc\fP ルーチンが提供される。
+
+ ret = gdbm_fdesc ( dbf )
+
+ここで \fIdbf\fP は以前の \fBgdbm_open\fP の返り値である。 返り値はデータベースのファイルディスクリプタである。
以下の 2 つの外部変数は役に立つことだろう。
-\fIgdbm_errno\fR は gdbm のエラーに関するより詳しい情報を持つ。
-(gdbm.h はエラー値の定義と gdbm_errno を外部変数とする定義を持つ)
-.br
-\fIgdbm_version\fR はバージョン情報の文字列を持つ。
-
-
-.\"O
-.\"O
-.\"O There are a few more things of interest. First, \fBgdbm\fR files are
-.\"O not "sparse". You can copy them with the UNIX \fBcp(1)\fR command and
-.\"O they will not expand in the copying process. Also, there is a
-.\"O compatibility mode for use with programs that already use UNIX
-.\"O \fBdbm\fR. In this compatibility mode, no \fRgdbm\fR file pointer is
-.\"O required by the programmer, and only one file may be opened at a time.
-.\"O All users in compatibility mode are assumed to be writers. If the
-.\"O \fBgdbm\fR file is a read only, it will fail as a writer, but will
-.\"O also try to open it as a reader. All returned pointers in datum
-.\"O structures point to data that \fBgdbm\fR WILL free. They should be
-.\"O treated as static pointers (as standard UNIX \fBdbm\fR does).
-もう少し興味深いことが幾つかある。まず \fBgdbm\fR は「隙間のある」
-ファイルでは無いということである。あなたはこのファイルを UNIX の
-\fBcp(1)\fR コマンドによってコピーすることが可能で、そのコピー処理の間
-にファイルサイズが拡張されるようなことはない。さらに、UNIX ですでに使
-われている \fBdbm\fR のコンパチブルモードが存在する。このコンパチブル
-モードでは、\fRgdbm\fR のファイルポインタはプログラマに取って必要では
-なく、一度には 1 つのファイルだけがオープンされる。コンパチブルモード
-全ての利用者はライタと見なされる。もし、\fBgdbm\fR ファイルがリード
-オンリーならば、ライタとしては失敗し、リーダとしてオープンし直しを
-試みる。datum 構造体のすべてのポインタは、\fBgdbm\fR が解放するであろう
-データを指す。これらは (標準的な UNIX の \fBdbm\fR がするように)
-静的ポインタとして扱う必要がある。
-
-
-.\"O
-.\"O
-.\"O .SH LINKING
-.\"O This library is accessed by specifying \fI-lgdbm\fR as the last
-.\"O parameter to the compile line, e.g.:
-.SH リンク
-このライブラリはコンパイル行の最後のパラメータとして \fI-lgdbm\fR を
-指定することで利用される。
+\fIgdbm_errno\fP は gdbm のエラーに関するより詳しい情報を持つ (gdbm.h はエラー値の定義と gdbm_errno
+を外部変数とする定義を持つ)。
+.br
+\fIgdbm_version\fP はバージョン情報の文字列を持つ。
+
+
+もう少し興味深いことが幾つかある。まず \fBgdbm\fP は「隙間のある」 ファイルでは無いということである。あなたはこのファイルを UNIX の
+\fBcp(1)\fP コマンドによってコピーすることが可能で、そのコピー処理の間 にファイルサイズが拡張されるようなことはない。さらに、UNIX ですでに使
+われている \fBdbm\fP のコンパチブルモードが存在する。このコンパチブル モードでは、gdbm のファイルポインタはプログラマに取って必要では
+なく、一度には 1 つのファイルだけがオープンされる。コンパチブルモード 全ての利用者はライタと見なされる。もし、\fBgdbm\fP ファイルがリード
+オンリーならば、ライタとしては失敗し、リーダとしてオープンし直しを 試みる。datum 構造体のすべてのポインタは、\fBgdbm\fP が解放するであろう
+データを指す。これらは (標準的な UNIX の \fBdbm\fP がするように) 静的ポインタとして扱う必要がある。
+
+.SH リンク
+このライブラリはコンパイル行の最後のパラメータとして \fI\-lgdbm\fP を 指定することで利用される。
.sp
- gcc -o prog prog.c -lgdbm
-.\"O
-.\"O
-.\"O .SH BUGS
-.SH バグ
+ gcc \-o prog prog.c \-lgdbm
-.\"O
-.\"O .SH "SEE ALSO"
-.\"O dbm, ndbm
+.SH バグ
+
.SH 関連項目
dbm, ndbm
-.\"O .SH AUTHOR
.SH 著者
+by Philip A. Nelson and Jason Downs. Copyright (C) 1990 \- 1999 Free
+Software Foundation, Inc.
+
+GDBM is free software; you can redistribute it and/or modify it under the
+terms of the GNU General Public License as published by the Free Software
+Foundation; either version 1, or (at your option) any later version.
+
+GDBM is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+details.
+
+You should have received a copy of the GNU General Public License along with
+GDBM; see the file COPYING. If not, write to the Free Software Foundation,
+675 Mass Ave, Cambridge, MA 02139, USA.
-by Philip A. Nelson and Jason Downs.
-Copyright (C) 1990 - 1999 Free Software Foundation, Inc.
-
-GDBM is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 1, or (at your option)
-any later version.
-
-GDBM is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GDBM; see the file COPYING. If not, write to
-the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
-
You may contact the original author by:
.br
- e-mail: phil@cs.wwu.edu
+ e\-mail: phil@cs.wwu.edu
.br
- us-mail: Philip A. Nelson
+ us\-mail: Philip A. Nelson
.br
Computer Science Department
.br
Western Washington University
.br
Bellingham, WA 98226
-
+
You may contact the current maintainer by:
.br
- e-mail: downsj@downsj.com
+ e\-mail: downsj@downsj.com
+
--- /dev/null
+PO4A-HEADER: mode=before; position=^\.TH
+.\"
+.\" Japanese Version Copyright (c) 2000 Tsugikazu Shibata
+.\" all rights reserved.
+.\" Translated Fri. August 29 23:32:00 JST 2000
+.\" by Tsugikazu Shibata <ts@tsden.org>
--- /dev/null
+[po_directory] po4a
+
+[type: man] original/man3/gdbm.3 $lang:draft/man3/gdbm.3 \
+ add_$lang:?po4a/add_$lang/copyright/gdbm.3.txt
--- /dev/null
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2012-06-02 01:36+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: ds ve
+#: original/man3/gdbm.3:1
+#, no-wrap
+msgid "1.8"
+msgstr ""
+
+#. type: TH
+#: original/man3/gdbm.3:2
+#, no-wrap
+msgid "GDBM"
+msgstr ""
+
+#. type: TH
+#: original/man3/gdbm.3:2
+#, no-wrap
+msgid "5/19/99"
+msgstr ""
+
+#. type: SH
+#: original/man3/gdbm.3:3
+#, no-wrap
+msgid "NAME"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:6
+msgid ""
+"GDBM - The GNU database manager. Includes B<dbm> and B<ndbm> "
+"compatability. (Version \\*(ve.)"
+msgstr ""
+
+#. type: SH
+#: original/man3/gdbm.3:6
+#, no-wrap
+msgid "SYNOPSIS"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:8
+msgid "B<#include E<lt>gdbm.hE<gt>>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:11
+msgid "E<.SM> B<extern gdbm_error>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:13
+msgid "B<gdbm_errno>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:15
+msgid "B<extern char>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:17
+msgid "B<*gdbm_version>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:19
+msgid "B<GDBM_FILE>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:21
+msgid "B<gdbm_open (name, block_size, read_write, mode, fatal_func)>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:23
+msgid "B<char * name;>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:25
+msgid "B<int block_size, read_write, mode;>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:27
+msgid "B<void (*fatal_func) ();>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:29 original/man3/gdbm.3:81 original/man3/gdbm.3:177
+msgid "B<void>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:31
+msgid "B<gdbm_close (dbf)>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:33 original/man3/gdbm.3:39 original/man3/gdbm.3:49 original/man3/gdbm.3:57 original/man3/gdbm.3:65 original/man3/gdbm.3:71 original/man3/gdbm.3:79 original/man3/gdbm.3:85 original/man3/gdbm.3:91 original/man3/gdbm.3:105 original/man3/gdbm.3:117
+msgid "B<GDBM_FILE dbf;>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:35 original/man3/gdbm.3:53 original/man3/gdbm.3:75 original/man3/gdbm.3:87 original/man3/gdbm.3:101 original/man3/gdbm.3:113 original/man3/gdbm.3:131 original/man3/gdbm.3:143 original/man3/gdbm.3:159 original/man3/gdbm.3:191 original/man3/gdbm.3:201 original/man3/gdbm.3:221 original/man3/gdbm.3:227 original/man3/gdbm.3:233 original/man3/gdbm.3:239 original/man3/gdbm.3:245
+msgid "B<int>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:37
+msgid "B<gdbm_store (dbf, key, content, flag)>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:41 original/man3/gdbm.3:135 original/man3/gdbm.3:197
+msgid "B<datum key, content;>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:43
+msgid "B<int flag;>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:45 original/man3/gdbm.3:61 original/man3/gdbm.3:67 original/man3/gdbm.3:137 original/man3/gdbm.3:149 original/man3/gdbm.3:153 original/man3/gdbm.3:183 original/man3/gdbm.3:209 original/man3/gdbm.3:215
+msgid "B<datum>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:47
+msgid "B<gdbm_fetch (dbf, key)>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:51 original/man3/gdbm.3:59 original/man3/gdbm.3:73 original/man3/gdbm.3:93 original/man3/gdbm.3:141 original/man3/gdbm.3:147 original/man3/gdbm.3:157 original/man3/gdbm.3:189 original/man3/gdbm.3:207
+msgid "B<datum key;>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:55
+msgid "B<gdbm_delete (dbf, key)>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:63
+msgid "B<gdbm_firstkey (dbf)>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:69
+msgid "B<gdbm_nextkey (dbf, key)>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:77
+msgid "B<gdbm_reorganize (dbf)>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:83
+msgid "B<gdbm_sync (dbf)>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:89
+msgid "B<gdbm_exists (dbf, key)>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:95
+msgid "B<char *>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:97
+msgid "B<gdbm_strerror (errno)>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:99
+msgid "B<gdbm_error errno;>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:103
+msgid "B<gdbm_setopt (dbf, option, value, size)>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:107
+msgid "B<int option;>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:109
+msgid "B<int *value;>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:111
+msgid "B<int size;>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:115
+msgid "B<gdbm_fdesc (dbf)>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:120
+msgid "B<DBM Compatability routines:>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:122
+msgid "B<#include E<lt>dbm.hE<gt>>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:125
+msgid "E<.SM> B<int>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:127
+msgid "B<dbminit (name)>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:129 original/man3/gdbm.3:173
+msgid "B<char *name;>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:133
+msgid "B<store (key, content)>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:139
+msgid "B<fetch (key)>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:145
+msgid "B<delete (key)>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:151
+msgid "B<firstkey ()>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:155
+msgid "B<nextkey (key)>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:161
+msgid "B<dbmclose ()>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:164
+msgid "B<NDBM Compatability routines:>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:166
+msgid "B<#include E<lt>ndbm.hE<gt>>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:169
+msgid "E<.SM> B<DBM>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:171
+msgid "B<*dbm_open (name, flags, mode)>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:175
+msgid "B<int flags, mode;>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:179
+msgid "B<dbm_close (file)>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:181 original/man3/gdbm.3:187 original/man3/gdbm.3:195 original/man3/gdbm.3:205 original/man3/gdbm.3:213 original/man3/gdbm.3:219 original/man3/gdbm.3:225 original/man3/gdbm.3:231 original/man3/gdbm.3:237 original/man3/gdbm.3:243 original/man3/gdbm.3:249
+msgid "B<DBM *file;>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:185
+msgid "B<dbm_fetch (file, key)>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:193
+msgid "B<dbm_store (file, key, content, flags)>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:199
+msgid "B<int flags;>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:203
+msgid "B<dbm_delete (file, key)>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:211
+msgid "B<dbm_firstkey (file)>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:217
+msgid "B<dbm_nextkey (file)>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:223
+msgid "B<dbm_error (file)>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:229
+msgid "B<dbm_clearerr (file)>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:235
+msgid "B<dbm_pagfno (file)>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:241
+msgid "B<dbm_dirfno (file)>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:247
+msgid "B<dbm_rdonly (file)>"
+msgstr ""
+
+#. type: SH
+#: original/man3/gdbm.3:251
+#, no-wrap
+msgid "DESCRIPTION"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:257
+msgid ""
+"GNU dbm is a library of routines that manages data files that contain "
+"key/data pairs. The access provided is that of storing, retrieval, and "
+"deletion by key and a non-sorted traversal of all keys. A process is "
+"allowed to use multiple data files at the same time."
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:262
+msgid ""
+"A process that opens a gdbm file is designated as a \"reader\" or a "
+"\"writer\". Only one writer may open a gdbm file and many readers may open "
+"the file. Readers and writers can not open the gdbm file at the same "
+"time. The procedure for opening a gdbm file is:"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:264
+#, no-wrap
+msgid " GDBM_FILE dbf;\n"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:266
+#, no-wrap
+msgid " dbf = gdbm_open ( name, block_size, read_write, mode, fatal_func )\n"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:273
+msgid ""
+"I<Name> is the name of the file (the complete name, gdbm does not append any "
+"characters to this name). I<Block_size> is the size of a single transfer "
+"from disk to memory. This parameter is ignored unless the file is a new "
+"file. The minimum size is 512. If it is less than 512, dbm will use the "
+"stat block size for the file system. I<Read_write> can have one of the "
+"following values:"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:276
+msgid "B<GDBM_READER> reader"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:279
+msgid "B<GDBM_WRITER> writer"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:282
+msgid "B<GDBM_WRCREAT> writer - if database does not exist create new one"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:285
+msgid "B<GDBM_NEWDB> writer - create new database regardless if one exists"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:295
+msgid ""
+"For the last three (writers of the database) the following may be added "
+"added to I<read_write> by bitwise or: B<GDBM_SYNC,> which causes all "
+"database operations to be synchronized to the disk, and B<GDBM_NOLOCK,> "
+"which prevents the library from performing any locking on the database "
+"file. The option B<GDBM_FAST> is now obsolete, since gdbm defaults to "
+"no-sync mode."
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:300
+msgid ""
+"I<Mode> is the file mode (see B<chmod(2)> and B<open(2)>) if the file is "
+"created. I<(*Fatal_func) ()> is a function for dbm to call if it detects a "
+"fatal error. The only parameter of this function is a string. If the value "
+"of 0 is provided, gdbm will use a default function."
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:306
+msgid ""
+"The return value I<dbf> is the pointer needed by all other routines to "
+"access that gdbm file. If the return is the NULL pointer, B<gdbm_open> was "
+"not successful. The errors can be found in I<gdbm_errno> for gdbm errors "
+"and in I<errno> for system errors. (For error codes, see gdbmerrno.h.)"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:309
+msgid ""
+"In all of the following calls, the parameter I<dbf> refers to the pointer "
+"returned from B<gdbm_open>."
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:312
+msgid ""
+"It is important that every file opened is also closed. This is needed to "
+"update the reader/writer count on the file. This is done by:"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:314
+#, no-wrap
+msgid " gdbm_close (dbf);\n"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:318
+msgid ""
+"The database is used by 3 primary routines. The first stores data in the "
+"database."
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:320
+#, no-wrap
+msgid " ret = gdbm_store ( dbf, key, content, flag )\n"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:324
+msgid ""
+"I<Dbf> is the pointer returned by B<gdbm_open>. I<Key> is the key data. "
+"I<Content> is the data to be associated with the I<key>. I<Flag> can have "
+"one of the following values:"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:327
+msgid "B<GDBM_INSERT> insert only, generate an error if key exists"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:330
+msgid "B<GDBM_REPLACE> replace contents if key exists."
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:334
+msgid ""
+"If a reader calls B<gdbm_store>, the return value will be -1. If called "
+"with GDBM_INSERT and I<key> is in the database, the return value will be 1. "
+"Otherwise, the return value is 0."
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:339
+msgid ""
+"I<NOTICE: If you store data for a key that is already in the data base, gdbm "
+"replaces the old data with the new data if called with GDBM_REPLACE. You do "
+"not get two data items for the same key and you do not get an error from "
+"gdbm_store.>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:342
+msgid ""
+"I<NOTICE: The size in gdbm is not restricted like dbm or ndbm. Your data "
+"can be as large as you want.>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:345
+msgid "To search for some data:"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:347
+#, no-wrap
+msgid " content = gdbm_fetch ( dbf, key )\n"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:350 original/man3/gdbm.3:379
+msgid "I<Dbf> is the pointer returned by B<gdbm_open>. I<Key> is the key data."
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:358
+msgid ""
+"If the I<dptr> element of the return value is NULL, no data was found. "
+"Otherwise the return value is a pointer to the found data. The storage "
+"space for the I<dptr> element is allocated using B<malloc(3C)>. B<Gdbm>I< "
+"does not automatically free this data. It is the programmer's "
+"responsibility to free this storage when it is no longer needed.>"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:361
+msgid "To search for some data, without retrieving it:"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:363
+#, no-wrap
+msgid " ret = gdbm_exists ( dbf, key )\n"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:366
+msgid ""
+"I<Dbf> is the pointer returned by B<gdbm_open>. I<Key> is the key data to "
+"search for."
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:371
+msgid ""
+"If the I<key> is found within the database, the return value I<ret> will be "
+"true. If nothing appropiate is found, I<ret> will be false. This routine "
+"is useful for checking for the existance of a record, without performing the "
+"memory allocation done by B<gdbm_fetch>."
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:374
+msgid "To remove some data from the database:"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:376
+#, no-wrap
+msgid " ret = gdbm_delete ( dbf, key )\n"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:382
+msgid ""
+"The return value is -1 if the item is not present or the requester is a "
+"reader. The return value is 0 if there was a successful delete."
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:387
+msgid ""
+"The next two routines allow for accessing all items in the database. This "
+"access is not key sequential, but it is guaranteed to visit every key in the "
+"database once. (The order has to do with the hash values.)"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:389
+#, no-wrap
+msgid " key = gdbm_firstkey ( dbf )\n"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:391
+#, no-wrap
+msgid " nextkey = gdbm_nextkey ( dbf, key )\n"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:394
+msgid "I<Dbf> is the pointer returned by B<gdbm_open>. I<Key> is the key data."
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:399
+msgid ""
+"The return values are both of type B<datum>. If the I<dptr> element of the "
+"return value is NULL, there is no first key or next key. Again notice that "
+"I<dptr> points to data allocated by B<malloc(3C)> and B<gdbm> will not free "
+"it for you."
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:402
+msgid ""
+"These functions were intended to visit the database in read-only algorithms, "
+"for instance, to validate the database or similar operations."
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:408
+msgid ""
+"File `visiting' is based on a `hash table'. I<gdbm_delete> re-arranges the "
+"hash table to make sure that any collisions in the table do not leave some "
+"item `un-findable'. The original key order is NOT guaranteed to remain "
+"unchanged in ALL instances. It is possible that some key will not be "
+"visited if a loop like the following is executed:"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:418
+#, no-wrap
+msgid ""
+" key = gdbm_firstkey ( dbf );\n"
+" while ( key.dptr ) {\n"
+" nextkey = gdbm_nextkey ( dbf, key );\n"
+" if ( some condition ) {\n"
+" gdbm_delete ( dbf, key );\n"
+" free ( key.dptr );\n"
+" }\n"
+" key = nextkey;\n"
+" }\n"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:421
+msgid "The following routine should be used very infrequently."
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:423
+#, no-wrap
+msgid " ret = gdbm_reorganize ( dbf )\n"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:428
+msgid ""
+"If you have had a lot of deletions and would like to shrink the space used "
+"by the B<gdbm> file, this routine will reorganize the database. B<Gdbm> "
+"will not shorten the length of a B<gdbm> file except by using this "
+"reorganization. (Deleted file space will be reused.)"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:434
+msgid ""
+"Unless your database was opened with the GDBM_SYNC flag, gdbm does not wait "
+"for writes to be flushed to the disk before continuing. The following "
+"routine can be used to guarantee that the database is physically written to "
+"the disk file."
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:436
+#, no-wrap
+msgid " gdbm_sync ( dbf )\n"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:439
+msgid ""
+"It will not return until the disk file state is syncronized with the "
+"in-memory state of the database."
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:442
+msgid "To convert a B<gdbm> error code into English text, use this routine:"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:444
+#, no-wrap
+msgid " ret = gdbm_strerror ( errno )\n"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:447
+msgid ""
+"Where I<errno> is of type I<gdbm_error>, usually the global variable "
+"I<gdbm_errno>. The appropiate phrase is returned."
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:451
+msgid ""
+"B<Gdbm> now supports the ability to set certain options on an already open "
+"database."
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:453
+#, no-wrap
+msgid " ret = gdbm_setopt ( dbf, option, value, size )\n"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:457
+msgid ""
+"Where I<dbf> is the return value from a previous call to B<gdbm_open>, and "
+"I<option> specifies which option to set. The valid options are currently:"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:462
+#, no-wrap
+msgid ""
+" B<GDBM_CACHESIZE> - Set the size of the internal bucket\n"
+" cache. This option may only be set once on each I<GDBM_FILE>\n"
+" descriptor, and is set automatically to 100 upon the first\n"
+" access to the database.\n"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:467
+#, no-wrap
+msgid ""
+" B<GDBM_FASTMODE> - Set B<fast mode> to either on or off. This\n"
+" allows B<fast mode> to be toggled on an already open and\n"
+" active database. I<value> (see below) should be set to either\n"
+" TRUE or FALSE. I<This option is now obsolete.>\n"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:471
+#, no-wrap
+msgid ""
+" B<GDBM_SYNCMODE> - Turn on or off file system synchronization "
+"operations.\n"
+" This setting defaults to off; I<value> (see below) should be set to "
+"either\n"
+" TRUE or FALSE.\n"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:479
+#, no-wrap
+msgid ""
+" B<GDBM_CENTFREE> - Set B<central free block pool> to either on or off.\n"
+" The default is off, which is how previous versions of B<Gdbm>\n"
+" handled free blocks. If set, this option causes all subsequent free\n"
+" blocks to be placed in the B<global> pool, allowing (in thoery)\n"
+" more file space to be reused more quickly. I<value> (see below) should\n"
+" be set to either TRUE or FALSE.\n"
+" I<NOTICE: This feature is still under study.>\n"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:487
+#, no-wrap
+msgid ""
+" B<GDBM_COALESCEBLKS> - Set B<free block merging> to either on or off.\n"
+" The default is off, which is how previous versions of B<Gdbm>\n"
+" handled free blocks. If set, this option causes adjacent free blocks\n"
+" to be merged. This can become a CPU expensive process with time, though,\n"
+" especially if used in conjunction with B<GDBM_CENTFREE>. I<value>\n"
+" (see below) should be set to either TRUE or FALSE.\n"
+" I<NOTICE: This feature is still under study.>\n"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:492
+msgid ""
+"I<value> is the value to set I<option> to, specified as an integer pointer. "
+"I<size> is the size of the data pointed to by I<value>. The return value "
+"will be -1 upon failure, or 0 upon success. The global variable "
+"I<gdbm_errno> will be set upon failure."
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:496
+msgid ""
+"For instance, to set a database to use a cache of 10, after opening it with "
+"B<gdbm_open>, but prior to accessing it in any way, the following code could "
+"be used:"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:498
+#, no-wrap
+msgid " int value = 10;\n"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:500
+#, no-wrap
+msgid " ret = gdbm_setopt( dbf, GDBM_CACHESIZE, &value, sizeof(int));\n"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:505
+msgid ""
+"If the database was opened with the B<GDBM_NOLOCK> flag, the user may wish "
+"to perform their own file locking on the database file in order to prevent "
+"multiple writers operating on the same file simultaneously."
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:507
+msgid "In order to support this, the I<gdbm_fdesc> routine is provided."
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:509
+#, no-wrap
+msgid " ret = gdbm_fdesc ( dbf )\n"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:512
+msgid ""
+"Where I<dbf> is the return value from a previous call to B<gdbm_open>. The "
+"return value will be the file descriptor of the database."
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:514
+msgid "The following two external variables may be useful:"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:518
+msgid ""
+"I<gdbm_errno> is the variable that contains more information about gdbm "
+"errors. (gdbm.h has the definitions of the error values and defines "
+"gdbm_errno as an external variable.)"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:520
+msgid "I<gdbm_version> is the string containing the version information."
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:533
+msgid ""
+"There are a few more things of interest. First, B<gdbm> files are not "
+"\"sparse\". You can copy them with the UNIX B<cp(1)> command and they will "
+"not expand in the copying process. Also, there is a compatibility mode for "
+"use with programs that already use UNIX B<dbm>. In this compatibility mode, "
+"no gdbm file pointer is required by the programmer, and only one file may be "
+"opened at a time. All users in compatibility mode are assumed to be "
+"writers. If the B<gdbm> file is a read only, it will fail as a writer, but "
+"will also try to open it as a reader. All returned pointers in datum "
+"structures point to data that B<gdbm> WILL free. They should be treated as "
+"static pointers (as standard UNIX B<dbm> does)."
+msgstr ""
+
+#. type: SH
+#: original/man3/gdbm.3:535
+#, no-wrap
+msgid "LINKING"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:538
+msgid ""
+"This library is accessed by specifying I<-lgdbm> as the last parameter to "
+"the compile line, e.g.:"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:540
+msgid " gcc -o prog prog.c -lgdbm"
+msgstr ""
+
+#. type: SH
+#: original/man3/gdbm.3:542
+#, no-wrap
+msgid "BUGS"
+msgstr ""
+
+#. type: SH
+#: original/man3/gdbm.3:544
+#, no-wrap
+msgid "SEE ALSO"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:546
+msgid "dbm, ndbm"
+msgstr ""
+
+#. type: SH
+#: original/man3/gdbm.3:547
+#, no-wrap
+msgid "AUTHOR"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:550
+msgid ""
+"by Philip A. Nelson and Jason Downs. Copyright (C) 1990 - 1999 Free "
+"Software Foundation, Inc."
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:555
+msgid ""
+"GDBM is free software; you can redistribute it and/or modify it under the "
+"terms of the GNU General Public License as published by the Free Software "
+"Foundation; either version 1, or (at your option) any later version."
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:560
+msgid ""
+"GDBM is distributed in the hope that it will be useful, but WITHOUT ANY "
+"WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS "
+"FOR A PARTICULAR PURPOSE. See the GNU General Public License for more "
+"details."
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:564
+msgid ""
+"You should have received a copy of the GNU General Public License along with "
+"GDBM; see the file COPYING. If not, write to the Free Software Foundation, "
+"675 Mass Ave, Cambridge, MA 02139, USA."
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:566
+msgid "You may contact the original author by:"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:568
+#, no-wrap
+msgid " e-mail: phil@cs.wwu.edu\n"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:570
+#, no-wrap
+msgid " us-mail: Philip A. Nelson\n"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:572
+msgid "Computer Science Department"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:574
+msgid "Western Washington University"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:576
+msgid "Bellingham, WA 98226"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:578
+msgid "You may contact the current maintainer by:"
+msgstr ""
+
+#. type: Plain text
+#: original/man3/gdbm.3:580
+#, no-wrap
+msgid " e-mail: downsj@downsj.com\n"
+msgstr ""
--- /dev/null
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2012-06-02 01:36+0900\n"
+"PO-Revision-Date: 2012-06-02 02:19+0900\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: ds ve
+#: original/man3/gdbm.3:1
+#, no-wrap
+msgid "1.8"
+msgstr "1.8"
+
+#. type: TH
+#: original/man3/gdbm.3:2
+#, no-wrap
+msgid "GDBM"
+msgstr "GDBM"
+
+#. type: TH
+#: original/man3/gdbm.3:2
+#, no-wrap
+msgid "5/19/99"
+msgstr "5/19/99"
+
+#. type: SH
+#: original/man3/gdbm.3:3
+#, no-wrap
+msgid "NAME"
+msgstr "名前"
+
+#. type: Plain text
+#: original/man3/gdbm.3:6
+msgid ""
+"GDBM - The GNU database manager. Includes B<dbm> and B<ndbm> compatability. "
+"(Version \\*(ve.)"
+msgstr ""
+"GDBM - GNUデータベース・マネージャ。B<dbm> および B<ndbm> 互換機能を含む。 "
+"(Version \\*(ve.)"
+
+#. type: SH
+#: original/man3/gdbm.3:6
+#, no-wrap
+msgid "SYNOPSIS"
+msgstr "書式"
+
+#. type: Plain text
+#: original/man3/gdbm.3:8
+msgid "B<#include E<lt>gdbm.hE<gt>>"
+msgstr "B<#include E<lt>gdbm.hE<gt>>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:11
+msgid "E<.SM> B<extern gdbm_error>"
+msgstr "E<.SM> B<extern gdbm_error>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:13
+msgid "B<gdbm_errno>"
+msgstr "B<gdbm_errno>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:15
+msgid "B<extern char>"
+msgstr "B<extern char>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:17
+msgid "B<*gdbm_version>"
+msgstr "B<*gdbm_version>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:19
+msgid "B<GDBM_FILE>"
+msgstr "B<GDBM_FILE>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:21
+msgid "B<gdbm_open (name, block_size, read_write, mode, fatal_func)>"
+msgstr "B<gdbm_open (name, block_size, read_write, mode, fatal_func)>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:23
+msgid "B<char * name;>"
+msgstr "B<char * name;>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:25
+msgid "B<int block_size, read_write, mode;>"
+msgstr "B<int block_size, read_write, mode;>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:27
+msgid "B<void (*fatal_func) ();>"
+msgstr "B<void (*fatal_func) ();>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:29 original/man3/gdbm.3:81 original/man3/gdbm.3:177
+msgid "B<void>"
+msgstr "B<void>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:31
+msgid "B<gdbm_close (dbf)>"
+msgstr "B<gdbm_close (dbf)>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:33 original/man3/gdbm.3:39 original/man3/gdbm.3:49
+#: original/man3/gdbm.3:57 original/man3/gdbm.3:65 original/man3/gdbm.3:71
+#: original/man3/gdbm.3:79 original/man3/gdbm.3:85 original/man3/gdbm.3:91
+#: original/man3/gdbm.3:105 original/man3/gdbm.3:117
+msgid "B<GDBM_FILE dbf;>"
+msgstr "B<GDBM_FILE dbf;>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:35 original/man3/gdbm.3:53 original/man3/gdbm.3:75
+#: original/man3/gdbm.3:87 original/man3/gdbm.3:101 original/man3/gdbm.3:113
+#: original/man3/gdbm.3:131 original/man3/gdbm.3:143 original/man3/gdbm.3:159
+#: original/man3/gdbm.3:191 original/man3/gdbm.3:201 original/man3/gdbm.3:221
+#: original/man3/gdbm.3:227 original/man3/gdbm.3:233 original/man3/gdbm.3:239
+#: original/man3/gdbm.3:245
+msgid "B<int>"
+msgstr "B<int>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:37
+msgid "B<gdbm_store (dbf, key, content, flag)>"
+msgstr "B<gdbm_store (dbf, key, content, flag)>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:41 original/man3/gdbm.3:135 original/man3/gdbm.3:197
+msgid "B<datum key, content;>"
+msgstr "B<datum key, content;>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:43
+msgid "B<int flag;>"
+msgstr "B<int flag;>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:45 original/man3/gdbm.3:61 original/man3/gdbm.3:67
+#: original/man3/gdbm.3:137 original/man3/gdbm.3:149 original/man3/gdbm.3:153
+#: original/man3/gdbm.3:183 original/man3/gdbm.3:209 original/man3/gdbm.3:215
+msgid "B<datum>"
+msgstr "B<datum>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:47
+msgid "B<gdbm_fetch (dbf, key)>"
+msgstr "B<gdbm_fetch (dbf, key)>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:51 original/man3/gdbm.3:59 original/man3/gdbm.3:73
+#: original/man3/gdbm.3:93 original/man3/gdbm.3:141 original/man3/gdbm.3:147
+#: original/man3/gdbm.3:157 original/man3/gdbm.3:189 original/man3/gdbm.3:207
+msgid "B<datum key;>"
+msgstr "B<datum key;>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:55
+msgid "B<gdbm_delete (dbf, key)>"
+msgstr "B<gdbm_delete (dbf, key)>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:63
+msgid "B<gdbm_firstkey (dbf)>"
+msgstr "B<gdbm_firstkey (dbf)>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:69
+msgid "B<gdbm_nextkey (dbf, key)>"
+msgstr "B<gdbm_nextkey (dbf, key)>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:77
+msgid "B<gdbm_reorganize (dbf)>"
+msgstr "B<gdbm_reorganize (dbf)>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:83
+msgid "B<gdbm_sync (dbf)>"
+msgstr "B<gdbm_sync (dbf)>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:89
+msgid "B<gdbm_exists (dbf, key)>"
+msgstr "B<gdbm_exists (dbf, key)>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:95
+msgid "B<char *>"
+msgstr "B<char *>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:97
+msgid "B<gdbm_strerror (errno)>"
+msgstr "B<gdbm_strerror (errno)>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:99
+msgid "B<gdbm_error errno;>"
+msgstr "B<gdbm_error errno;>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:103
+msgid "B<gdbm_setopt (dbf, option, value, size)>"
+msgstr "B<gdbm_setopt (dbf, option, value, size)>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:107
+msgid "B<int option;>"
+msgstr "B<int option;>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:109
+msgid "B<int *value;>"
+msgstr "B<int *value;>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:111
+msgid "B<int size;>"
+msgstr "B<int size;>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:115
+msgid "B<gdbm_fdesc (dbf)>"
+msgstr "B<gdbm_fdesc (dbf)>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:120
+msgid "B<DBM Compatability routines:>"
+msgstr "B<DBM Compatability routines:>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:122
+msgid "B<#include E<lt>dbm.hE<gt>>"
+msgstr "B<#include E<lt>dbm.hE<gt>>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:125
+msgid "E<.SM> B<int>"
+msgstr "E<.SM> B<int>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:127
+msgid "B<dbminit (name)>"
+msgstr "B<dbminit (name)>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:129 original/man3/gdbm.3:173
+msgid "B<char *name;>"
+msgstr "B<char *name;>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:133
+msgid "B<store (key, content)>"
+msgstr "B<store (key, content)>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:139
+msgid "B<fetch (key)>"
+msgstr "B<fetch (key)>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:145
+msgid "B<delete (key)>"
+msgstr "B<delete (key)>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:151
+msgid "B<firstkey ()>"
+msgstr "B<firstkey ()>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:155
+msgid "B<nextkey (key)>"
+msgstr "B<nextkey (key)>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:161
+msgid "B<dbmclose ()>"
+msgstr "B<dbmclose ()>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:164
+msgid "B<NDBM Compatability routines:>"
+msgstr "B<NDBM Compatability routines:>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:166
+msgid "B<#include E<lt>ndbm.hE<gt>>"
+msgstr "B<#include E<lt>ndbm.hE<gt>>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:169
+msgid "E<.SM> B<DBM>"
+msgstr "E<.SM> B<DBM>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:171
+msgid "B<*dbm_open (name, flags, mode)>"
+msgstr "B<*dbm_open (name, flags, mode)>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:175
+msgid "B<int flags, mode;>"
+msgstr "B<int flags, mode;>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:179
+msgid "B<dbm_close (file)>"
+msgstr "B<dbm_close (file)>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:181 original/man3/gdbm.3:187 original/man3/gdbm.3:195
+#: original/man3/gdbm.3:205 original/man3/gdbm.3:213 original/man3/gdbm.3:219
+#: original/man3/gdbm.3:225 original/man3/gdbm.3:231 original/man3/gdbm.3:237
+#: original/man3/gdbm.3:243 original/man3/gdbm.3:249
+msgid "B<DBM *file;>"
+msgstr "B<DBM *file;>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:185
+msgid "B<dbm_fetch (file, key)>"
+msgstr "B<dbm_fetch (file, key)>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:193
+msgid "B<dbm_store (file, key, content, flags)>"
+msgstr "B<dbm_store (file, key, content, flags)>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:199
+msgid "B<int flags;>"
+msgstr "B<int flags;>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:203
+msgid "B<dbm_delete (file, key)>"
+msgstr "B<dbm_delete (file, key)>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:211
+msgid "B<dbm_firstkey (file)>"
+msgstr "B<dbm_firstkey (file)>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:217
+msgid "B<dbm_nextkey (file)>"
+msgstr "B<dbm_nextkey (file)>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:223
+msgid "B<dbm_error (file)>"
+msgstr "B<dbm_error (file)>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:229
+msgid "B<dbm_clearerr (file)>"
+msgstr "B<dbm_clearerr (file)>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:235
+msgid "B<dbm_pagfno (file)>"
+msgstr "B<dbm_pagfno (file)>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:241
+msgid "B<dbm_dirfno (file)>"
+msgstr "B<dbm_dirfno (file)>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:247
+msgid "B<dbm_rdonly (file)>"
+msgstr "B<dbm_rdonly (file)>"
+
+#. type: SH
+#: original/man3/gdbm.3:251
+#, no-wrap
+msgid "DESCRIPTION"
+msgstr "説明"
+
+#. type: Plain text
+#: original/man3/gdbm.3:257
+msgid ""
+"GNU dbm is a library of routines that manages data files that contain key/"
+"data pairs. The access provided is that of storing, retrieval, and deletion "
+"by key and a non-sorted traversal of all keys. A process is allowed to use "
+"multiple data files at the same time."
+msgstr ""
+"GNU dbm は、キーとデータのペアを含んだデータファイルを取り扱う ルーチン群のラ"
+"イブラリである。 提供されるアクセスとしては、キーによる格納、キーによる取り出"
+"し、 キーによる削除の他、すべてのキーに渡るソートされていない横断的な アクセ"
+"スがある。 一つのプロセスからは複数のデータファイルを同時に利用することができ"
+"る。"
+
+#. type: Plain text
+#: original/man3/gdbm.3:262
+msgid ""
+"A process that opens a gdbm file is designated as a \"reader\" or a \"writer"
+"\". Only one writer may open a gdbm file and many readers may open the "
+"file. Readers and writers can not open the gdbm file at the same time. The "
+"procedure for opening a gdbm file is:"
+msgstr ""
+"gdbm ファイルをオープンするプロセスは、「リーダ」または「ライタ」 と呼ばれ"
+"る。 1 つの gdbm ファイルをオープンできるライタは 1 つだけだが、 リーダは複数"
+"が 1 つの gdbm ファイルをオープンすることができる。 リーダとライタは同時に同"
+"じファイルをオープンすることはできない。 gdbm ファイルをオープンする手続きは"
+"次の通りである。"
+
+#. type: Plain text
+#: original/man3/gdbm.3:264
+#, no-wrap
+msgid " GDBM_FILE dbf;\n"
+msgstr " GDBM_FILE dbf;\n"
+
+#. type: Plain text
+#: original/man3/gdbm.3:266
+#, no-wrap
+msgid " dbf = gdbm_open ( name, block_size, read_write, mode, fatal_func )\n"
+msgstr " dbf = gdbm_open ( name, block_size, read_write, mode, fatal_func )\n"
+
+#. type: Plain text
+#: original/man3/gdbm.3:273
+msgid ""
+"I<Name> is the name of the file (the complete name, gdbm does not append any "
+"characters to this name). I<Block_size> is the size of a single transfer "
+"from disk to memory. This parameter is ignored unless the file is a new "
+"file. The minimum size is 512. If it is less than 512, dbm will use the "
+"stat block size for the file system. I<Read_write> can have one of the "
+"following values:"
+msgstr ""
+"I<name> はファイルの名前である。(完全な名前、gdbm はこの名前に 文字列を付け加"
+"えるようなことはしない) I<block_size> はディスクからメモリへ 1 回に転送され"
+"るサイズである。 このパラメータは、新しいファイルの場合以外は無視される。最小"
+"サイズ は 512 である。 512 よりも小さい場合には, gdbm はファイルシステムに対"
+"する stat のブロックサイズを使用する。 I<read_write> には以下のいずれかの値を"
+"取る。"
+
+#. type: Plain text
+#: original/man3/gdbm.3:276
+msgid "B<GDBM_READER> reader"
+msgstr "B<GDBM_READER> リーダ"
+
+#. type: Plain text
+#: original/man3/gdbm.3:279
+msgid "B<GDBM_WRITER> writer"
+msgstr "B<GDBM_WRITER> ライタ"
+
+#. type: Plain text
+#: original/man3/gdbm.3:282
+msgid "B<GDBM_WRCREAT> writer - if database does not exist create new one"
+msgstr "B<GDBM_WRCREAT> ライタ - データベースが存在しなければ作成する"
+
+#. type: Plain text
+#: original/man3/gdbm.3:285
+msgid "B<GDBM_NEWDB> writer - create new database regardless if one exists"
+msgstr "B<GDBM_NEWDB> ライタ - すでに存在しても新しいデータベースを作成する"
+
+#. type: Plain text
+#: original/man3/gdbm.3:295
+msgid ""
+"For the last three (writers of the database) the following may be added "
+"added to I<read_write> by bitwise or: B<GDBM_SYNC,> which causes all "
+"database operations to be synchronized to the disk, and B<GDBM_NOLOCK,> "
+"which prevents the library from performing any locking on the database "
+"file. The option B<GDBM_FAST> is now obsolete, since gdbm defaults to no-"
+"sync mode."
+msgstr ""
+"最後の 3 つについては (データベースのライタ) I<read_write> に対して 以下を"
+"ビットの OR により追加できる: B<GDBM_SYNC> はすべてのデータベースの操作をディ"
+"スクと同期する、また B<GDBM_NOLOCK> はデータベースファイルに関するライブラリ"
+"からのロック動作を行わない。 オプション B<GDBM_FAST> は gdbm の既定動作が no-"
+"sync モードになったためにもう使われなくなった。"
+
+#. type: Plain text
+#: original/man3/gdbm.3:300
+msgid ""
+"I<Mode> is the file mode (see B<chmod(2)> and B<open(2)>) if the file is "
+"created. I<(*Fatal_func) ()> is a function for dbm to call if it detects a "
+"fatal error. The only parameter of this function is a string. If the value "
+"of 0 is provided, gdbm will use a default function."
+msgstr ""
+"I<mode> はファイルのモードである (B<chmod(2)> および B<open(2)> を 参照)。I<"
+"(*fatal_func) ()> は dbm が致命的エラーを検出した場合に呼び出す 関数である。"
+"この関数への唯一のパラメータは文字列である。 値 0 が指定されると、gdbm はデ"
+"フォルトの関数を使用する。"
+
+#. type: Plain text
+#: original/man3/gdbm.3:306
+msgid ""
+"The return value I<dbf> is the pointer needed by all other routines to "
+"access that gdbm file. If the return is the NULL pointer, B<gdbm_open> was "
+"not successful. The errors can be found in I<gdbm_errno> for gdbm errors "
+"and in I<errno> for system errors. (For error codes, see gdbmerrno.h.)"
+msgstr ""
+"返り値 I<dbf> は、その gdbm ファイルにアクセスする他のすべてのルーチン に必要"
+"なポインタである。 NULL ポインタが返った場合、B<gdbm_open> は 成功しなかった"
+"ことを示す。 gdbm のエラーは I<gdbm_errno> に、システムのエラーは I<errno> に"
+"格納される (エラーコードについては gdbmerrno.h を参照)。"
+
+#. type: Plain text
+#: original/man3/gdbm.3:309
+msgid ""
+"In all of the following calls, the parameter I<dbf> refers to the pointer "
+"returned from B<gdbm_open>."
+msgstr ""
+"以下のすべてのコールにおいては、 パラメータ I<dbf> は B<gdbm_open> から 返っ"
+"てきたポインタである。"
+
+#. type: Plain text
+#: original/man3/gdbm.3:312
+msgid ""
+"It is important that every file opened is also closed. This is needed to "
+"update the reader/writer count on the file. This is done by:"
+msgstr ""
+"どんなファイルでもオープンしたものをクローズすることは重要である。 クローズは"
+"ファイルに対するリーダ数/ライタ数を更新する。 これは以下のようにして行う。"
+
+#. type: Plain text
+#: original/man3/gdbm.3:314
+#, no-wrap
+msgid " gdbm_close (dbf);\n"
+msgstr " gdbm_close (dbf);\n"
+
+#. type: Plain text
+#: original/man3/gdbm.3:318
+msgid ""
+"The database is used by 3 primary routines. The first stores data in the "
+"database."
+msgstr ""
+"データベースは 3 つの主なルーチンによって利用できる。最初はデータを データ"
+"ベースに格納するものである。"
+
+#. type: Plain text
+#: original/man3/gdbm.3:320
+#, no-wrap
+msgid " ret = gdbm_store ( dbf, key, content, flag )\n"
+msgstr " ret = gdbm_store ( dbf, key, content, flag )\n"
+
+#. type: Plain text
+#: original/man3/gdbm.3:324
+msgid ""
+"I<Dbf> is the pointer returned by B<gdbm_open>. I<Key> is the key data. "
+"I<Content> is the data to be associated with the I<key>. I<Flag> can have "
+"one of the following values:"
+msgstr ""
+"I<dbf> は B<gdbm_open> から返ってきたポインタである。 I<key> はキーデータで、"
+"I<content> は I<key> に関連付けられた データである。 I<flag> は以下のいずれか"
+"の値を持つことができる。"
+
+#. type: Plain text
+#: original/man3/gdbm.3:327
+msgid "B<GDBM_INSERT> insert only, generate an error if key exists"
+msgstr "B<GDBM_INSERT> 挿入のみ。キーが存在すればエラーとなる。"
+
+#. type: Plain text
+#: original/man3/gdbm.3:330
+msgid "B<GDBM_REPLACE> replace contents if key exists."
+msgstr "B<GDBM_REPLACE> キーが存在すれば内容を更新する。"
+
+#. type: Plain text
+#: original/man3/gdbm.3:334
+msgid ""
+"If a reader calls B<gdbm_store>, the return value will be -1. If called "
+"with GDBM_INSERT and I<key> is in the database, the return value will be 1. "
+"Otherwise, the return value is 0."
+msgstr ""
+"リーダが B<gdbm_store> をコールした場合、返り値は -1 となる。 GDBM_INSERT が"
+"指定された時にデータベースに I<key> が存在すると、 返り値は 1 である。そうで"
+"なければ返り値は 0 である。"
+
+#. type: Plain text
+#: original/man3/gdbm.3:339
+msgid ""
+"I<NOTICE: If you store data for a key that is already in the data base, gdbm "
+"replaces the old data with the new data if called with GDBM_REPLACE. You do "
+"not get two data items for the same key and you do not get an error from "
+"gdbm_store.>"
+msgstr ""
+"I<注意: 既にデータベースに存在するキーを指定して格納する場合、 GDBM_REPLACE "
+"で呼び出しているならば、gdbm は古いデータを 新しいデータで置き換える。 同じ"
+"キーで 2 つのデータ・アイテムを得ることはできないし、 また gdbm_store がエ"
+"ラーを返すこともない。>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:342
+msgid ""
+"I<NOTICE: The size in gdbm is not restricted like dbm or ndbm. Your data "
+"can be as large as you want.>"
+msgstr ""
+"I<注意: gdbm のサイズは、dbm や ndbm と異なり制限されない。 データは必要なだ"
+"け大きくすることができる。>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:345
+msgid "To search for some data:"
+msgstr "データを検索するには、以下のようにする:"
+
+#. type: Plain text
+#: original/man3/gdbm.3:347
+#, no-wrap
+msgid " content = gdbm_fetch ( dbf, key )\n"
+msgstr " content = gdbm_fetch ( dbf, key )\n"
+
+#. type: Plain text
+#: original/man3/gdbm.3:350 original/man3/gdbm.3:379
+msgid ""
+"I<Dbf> is the pointer returned by B<gdbm_open>. I<Key> is the key data."
+msgstr ""
+"I<dbf> は B<gdbm_open> から返ってきたポインタである。 I<key> はキーデータであ"
+"る。"
+
+#. type: Plain text
+#: original/man3/gdbm.3:358
+msgid ""
+"If the I<dptr> element of the return value is NULL, no data was found. "
+"Otherwise the return value is a pointer to the found data. The storage "
+"space for the I<dptr> element is allocated using B<malloc(3C)>. B<Gdbm>I< "
+"does not automatically free this data. It is the programmer's "
+"responsibility to free this storage when it is no longer needed.>"
+msgstr ""
+"返り値の I<dptr> が NULL の場合、データは見つからなかった。 見つかった場合は"
+"データへのポインタが返る。 I<dptr> の記憶空間は B<malloc(3C)> により確保され"
+"る。 B<gdbm> I<は自動的にこのデータを解放することはしない。 必要の無くなった"
+"領域を解放するのはプログラマの責任である。>"
+
+#. type: Plain text
+#: original/man3/gdbm.3:361
+msgid "To search for some data, without retrieving it:"
+msgstr "データを参照せずに、検索だけする場合には:"
+
+#. type: Plain text
+#: original/man3/gdbm.3:363
+#, no-wrap
+msgid " ret = gdbm_exists ( dbf, key )\n"
+msgstr " ret = gdbm_exists ( dbf, key )\n"
+
+#. type: Plain text
+#: original/man3/gdbm.3:366
+msgid ""
+"I<Dbf> is the pointer returned by B<gdbm_open>. I<Key> is the key data to "
+"search for."
+msgstr ""
+"I<dbf> は B<gdbm_open> から返ってきたポインタである。 I<key> は検索したいキー"
+"データである。"
+
+#. type: Plain text
+#: original/man3/gdbm.3:371
+msgid ""
+"If the I<key> is found within the database, the return value I<ret> will be "
+"true. If nothing appropiate is found, I<ret> will be false. This routine "
+"is useful for checking for the existance of a record, without performing the "
+"memory allocation done by B<gdbm_fetch>."
+msgstr ""
+"データベース内に I<key> が見つかれば、返り値 I<ret> は true である。 何も対応"
+"するものが見つからなければ I<ret> は false である。 B<gdbm_fetch> ではメモリ"
+"確保が行われるが、このルーチンはそれをしない ので、レコードの存在をチェックを"
+"する時に役に立つ。"
+
+#. type: Plain text
+#: original/man3/gdbm.3:374
+msgid "To remove some data from the database:"
+msgstr "データベースからあるデータを削除する場合は、以下のようにする:"
+
+#. type: Plain text
+#: original/man3/gdbm.3:376
+#, no-wrap
+msgid " ret = gdbm_delete ( dbf, key )\n"
+msgstr " ret = gdbm_delete ( dbf, key )\n"
+
+#. type: Plain text
+#: original/man3/gdbm.3:382
+msgid ""
+"The return value is -1 if the item is not present or the requester is a "
+"reader. The return value is 0 if there was a successful delete."
+msgstr ""
+"アイテムが存在しなかったり、要求したのがリーダだった場合、 返り値は -1 であ"
+"る。 削除に成功すれば返り値は 0 である。"
+
+#. type: Plain text
+#: original/man3/gdbm.3:387
+msgid ""
+"The next two routines allow for accessing all items in the database. This "
+"access is not key sequential, but it is guaranteed to visit every key in the "
+"database once. (The order has to do with the hash values.)"
+msgstr ""
+"次の 2 つのルーチンは、データベース中のすべてのアイテムにアクセスできる。 ア"
+"クセスはキー順ではないが、データベース内ですべてのキーに各 1 回 アクセスする"
+"ことは保証されている。(アクセス順序はハッシュ値の順になる。)"
+
+#. type: Plain text
+#: original/man3/gdbm.3:389
+#, no-wrap
+msgid " key = gdbm_firstkey ( dbf )\n"
+msgstr " key = gdbm_firstkey ( dbf )\n"
+
+#. type: Plain text
+#: original/man3/gdbm.3:391
+#, no-wrap
+msgid " nextkey = gdbm_nextkey ( dbf, key )\n"
+msgstr " nextkey = gdbm_nextkey ( dbf, key )\n"
+
+#. type: Plain text
+#: original/man3/gdbm.3:394
+msgid "I<Dbf> is the pointer returned by B<gdbm_open>. I<Key> is the key data."
+msgstr ""
+"I<dbf> は B<gdbm_open> から返ってきたポインタである。I<key> は キーデータであ"
+"る。"
+
+#. type: Plain text
+#: original/man3/gdbm.3:399
+msgid ""
+"The return values are both of type B<datum>. If the I<dptr> element of the "
+"return value is NULL, there is no first key or next key. Again notice that "
+"I<dptr> points to data allocated by B<malloc(3C)> and B<gdbm> will not free "
+"it for you."
+msgstr ""
+"返り値はどちらも B<datum> 型である。返り値の I<dptr> 要素が NULL の場合、最初"
+"のキーまたは次のキーがなかったことを示す。 返り値の I<dptr> 要素が指している"
+"のは B<malloc(3C)> により確保されたデータであり、B<gdbm> は free してはくれな"
+"いことに もう一度注意すること。"
+
+#. type: Plain text
+#: original/man3/gdbm.3:402
+msgid ""
+"These functions were intended to visit the database in read-only algorithms, "
+"for instance, to validate the database or similar operations."
+msgstr ""
+"これらの関数はデータベースをリードオンリーで参照することを意図していた。 たと"
+"えば、データベースの正当性を確認したりするような目的で。"
+
+#. type: Plain text
+#: original/man3/gdbm.3:408
+msgid ""
+"File `visiting' is based on a `hash table'. I<gdbm_delete> re-arranges the "
+"hash table to make sure that any collisions in the table do not leave some "
+"item `un-findable'. The original key order is NOT guaranteed to remain "
+"unchanged in ALL instances. It is possible that some key will not be "
+"visited if a loop like the following is executed:"
+msgstr ""
+"ファイルへの「参照」は「ハッシュ・テーブル」に基づいている。 I<gdbm_delete> "
+"はハッシュ・テーブルを再構成して、「見つけられることのない」 アイテムがテーブ"
+"ルの中で放置されないように、すべての競合を確認する。 すべてのデータの実体に変"
+"更を加えなかったとしても、オリジナルのキーの 順序は保証されない。以下のループ"
+"が実行された場合、いくつかのキーが見つけられないことが起こり得る。"
+
+#. type: Plain text
+#: original/man3/gdbm.3:418
+#, no-wrap
+msgid ""
+" key = gdbm_firstkey ( dbf );\n"
+" while ( key.dptr ) {\n"
+" nextkey = gdbm_nextkey ( dbf, key );\n"
+" if ( some condition ) {\n"
+" gdbm_delete ( dbf, key );\n"
+" free ( key.dptr );\n"
+" }\n"
+" key = nextkey;\n"
+" }\n"
+msgstr ""
+" key = gdbm_firstkey ( dbf );\n"
+" while ( key.dptr ) {\n"
+" nextkey = gdbm_nextkey ( dbf, key );\n"
+" if ( some condition ) {\n"
+" gdbm_delete ( dbf, key );\n"
+" free ( key.dptr );\n"
+" }\n"
+" key = nextkey;\n"
+" }\n"
+
+#. type: Plain text
+#: original/man3/gdbm.3:421
+msgid "The following routine should be used very infrequently."
+msgstr "以下のルーチンは繰り返し使われるべきではない。"
+
+#. type: Plain text
+#: original/man3/gdbm.3:423
+#, no-wrap
+msgid " ret = gdbm_reorganize ( dbf )\n"
+msgstr " ret = gdbm_reorganize ( dbf )\n"
+
+#. type: Plain text
+#: original/man3/gdbm.3:428
+msgid ""
+"If you have had a lot of deletions and would like to shrink the space used "
+"by the B<gdbm> file, this routine will reorganize the database. B<Gdbm> "
+"will not shorten the length of a B<gdbm> file except by using this "
+"reorganization. (Deleted file space will be reused.)"
+msgstr ""
+"もしあなたがたくさんの削除を行い、B<gdbm> ファイルが使っている スペースを小さ"
+"くしたいと思うならば、このルーチンはデータベースの再構成を行う。 B<gdbm> はこ"
+"の再構成以外で B<gdbm> が使っているファイルの大きさを 小さくすることは無い。"
+"(削除されたスペースは再利用される)"
+
+#. type: Plain text
+#: original/man3/gdbm.3:434
+msgid ""
+"Unless your database was opened with the GDBM_SYNC flag, gdbm does not wait "
+"for writes to be flushed to the disk before continuing. The following "
+"routine can be used to guarantee that the database is physically written to "
+"the disk file."
+msgstr ""
+"データベースが GDBM_SYNC フラグ付きで open されない限り、gdbm は次の動作を 継"
+"続する前に、write がディスクにフラッシュするのを待つようなことはしない。 次の"
+"ルーチンはデータベースを物理的にディスクに書き出すことを保証する。"
+
+#. type: Plain text
+#: original/man3/gdbm.3:436
+#, no-wrap
+msgid " gdbm_sync ( dbf )\n"
+msgstr " gdbm_sync ( dbf )\n"
+
+#. type: Plain text
+#: original/man3/gdbm.3:439
+msgid ""
+"It will not return until the disk file state is syncronized with the in-"
+"memory state of the database."
+msgstr ""
+"これはメインメモリの状態をディスクの状態と同期させるまでは戻って来ない。"
+
+#. type: Plain text
+#: original/man3/gdbm.3:442
+msgid "To convert a B<gdbm> error code into English text, use this routine:"
+msgstr ""
+"B<gdbm> のエラーコードを英文のテキストに変換するには、次のルーチン を利用す"
+"る。"
+
+#. type: Plain text
+#: original/man3/gdbm.3:444
+#, no-wrap
+msgid " ret = gdbm_strerror ( errno )\n"
+msgstr " ret = gdbm_strerror ( errno )\n"
+
+#. type: Plain text
+#: original/man3/gdbm.3:447
+msgid ""
+"Where I<errno> is of type I<gdbm_error>, usually the global variable "
+"I<gdbm_errno>. The appropiate phrase is returned."
+msgstr ""
+"ここで I<errno> は I<gdbm_error> 型であり、通常はグローバル変数 の "
+"I<gdbm_errno> である。対応するフレーズが返ってくる。"
+
+#. type: Plain text
+#: original/man3/gdbm.3:451
+msgid ""
+"B<Gdbm> now supports the ability to set certain options on an already open "
+"database."
+msgstr ""
+"B<gdbm> は既に open されているファイルに対するオプションを設定できる 機能をサ"
+"ポートしている。"
+
+#. type: Plain text
+#: original/man3/gdbm.3:453
+#, no-wrap
+msgid " ret = gdbm_setopt ( dbf, option, value, size )\n"
+msgstr " ret = gdbm_setopt ( dbf, option, value, size )\n"
+
+#. type: Plain text
+#: original/man3/gdbm.3:457
+msgid ""
+"Where I<dbf> is the return value from a previous call to B<gdbm_open>, and "
+"I<option> specifies which option to set. The valid options are currently:"
+msgstr ""
+"ここで、I<dbf> は直前の B<gdbm_open> の返り値であり、 I<option> は設定したい"
+"オプションを指定する。現在の正しいオプションは:"
+
+#. type: Plain text
+#: original/man3/gdbm.3:462
+#, no-wrap
+msgid ""
+" B<GDBM_CACHESIZE> - Set the size of the internal bucket\n"
+" cache. This option may only be set once on each I<GDBM_FILE>\n"
+" descriptor, and is set automatically to 100 upon the first\n"
+" access to the database.\n"
+msgstr ""
+"B<GDBM_CACHESIZE> - 内部の bucket キャッシュのサイズを指定する。\n"
+"このオプションは I<GDBM_FILE> のディスクリプタに一度だけ設定でき、\n"
+"データベースの最初のアクセス時に自動的に 100 が設定される。\n"
+
+#. type: Plain text
+#: original/man3/gdbm.3:467
+#, no-wrap
+msgid ""
+" B<GDBM_FASTMODE> - Set B<fast mode> to either on or off. This\n"
+" allows B<fast mode> to be toggled on an already open and\n"
+" active database. I<value> (see below) should be set to either\n"
+" TRUE or FALSE. I<This option is now obsolete.>\n"
+msgstr ""
+"B<GDBM_FASTMODE> - B<fast mode> の on, off を指定する。 B<fast mode> は\n"
+"すでにオープンされていて、アクティブなデータベースに 対してトグル (on,\n"
+"off) できる。I<value> (以下参照) は TRUE か FALSE が設定できる。\n"
+"I<このオプションはもう使われない。>\n"
+
+#. type: Plain text
+#: original/man3/gdbm.3:471
+#, no-wrap
+msgid ""
+" B<GDBM_SYNCMODE> - Turn on or off file system synchronization operations.\n"
+" This setting defaults to off; I<value> (see below) should be set to either\n"
+" TRUE or FALSE.\n"
+msgstr ""
+"B<GDBM_SYNCMODE> - ファイルシステムの同期処理を on, off する。\n"
+"この設定のデフォルトは off である。\n"
+"I<value> (以下参照) は TRUE か FALSE を指定する。\n"
+
+#. type: Plain text
+#: original/man3/gdbm.3:479
+#, no-wrap
+msgid ""
+" B<GDBM_CENTFREE> - Set B<central free block pool> to either on or off.\n"
+" The default is off, which is how previous versions of B<Gdbm>\n"
+" handled free blocks. If set, this option causes all subsequent free\n"
+" blocks to be placed in the B<global> pool, allowing (in thoery)\n"
+" more file space to be reused more quickly. I<value> (see below) should\n"
+" be set to either TRUE or FALSE.\n"
+" I<NOTICE: This feature is still under study.>\n"
+msgstr ""
+"B<GDBM_CENTFREE> - B<central フリーブロックプール> を on, off する。\n"
+"デフォルトは off であり、これは以前のバージョンの B<gdbm> のフリー\n"
+"ブロックの取り扱いと同じである。もし、設定されると、このオプションは\n"
+"その後はフリーブロックはグローバルプールにおかれ、(理論的には) より\n"
+"多くのファイルスペースがより早く再利用されるようになる。\n"
+"I<value> (以下参照) は TRUE か FALSE を設定すべきである。\n"
+"I<注意:この機能はまだ検討中である。>\n"
+
+#. type: Plain text
+#: original/man3/gdbm.3:487
+#, no-wrap
+msgid ""
+" B<GDBM_COALESCEBLKS> - Set B<free block merging> to either on or off.\n"
+" The default is off, which is how previous versions of B<Gdbm>\n"
+" handled free blocks. If set, this option causes adjacent free blocks\n"
+" to be merged. This can become a CPU expensive process with time, though,\n"
+" especially if used in conjunction with B<GDBM_CENTFREE>. I<value>\n"
+" (see below) should be set to either TRUE or FALSE.\n"
+" I<NOTICE: This feature is still under study.>\n"
+msgstr ""
+"B<GDBM_COALESCEBLKS> - B<フリーブロックマージング>の on, off を設定する。\n"
+"デフォルトは off で前のバージョンの B<gdbm> のフリーブロック の扱いと\n"
+"同じである。もし、設定されるとこのオプションは、付近にあるフリーブロック\n"
+"をマージする。これは 特にB<GDBM_CENTFREE> と一緒に使われたとしても\n"
+"時間と CPU のかかる処理になる。I<value> (以下参照) は TRUE か FALSE を\n"
+"設定するべきである。 I<注意:この機能はまだ検討中である。>\n"
+
+#. type: Plain text
+#: original/man3/gdbm.3:492
+msgid ""
+"I<value> is the value to set I<option> to, specified as an integer pointer. "
+"I<size> is the size of the data pointed to by I<value>. The return value "
+"will be -1 upon failure, or 0 upon success. The global variable "
+"I<gdbm_errno> will be set upon failure."
+msgstr ""
+"I<value> は I<option> に設定する値であり、integer へのポインタ である。 "
+"I<size> は I<value> によってポイントされるデータの サイズである。返り値は 失"
+"敗した場合 -1 になり、成功したら 0 になる。 失敗の場合、グローバル変数の "
+"I<gdbm_errno> には値が設定される。"
+
+#. type: Plain text
+#: original/man3/gdbm.3:496
+msgid ""
+"For instance, to set a database to use a cache of 10, after opening it with "
+"B<gdbm_open>, but prior to accessing it in any way, the following code could "
+"be used:"
+msgstr ""
+"例えば、B<gdbm_open> でオープンしたデータベースをアクセスする前に、 キャッ"
+"シュとして 10 を使うように設定する場合、以下のコードが利用できる:"
+
+#. type: Plain text
+#: original/man3/gdbm.3:498
+#, no-wrap
+msgid " int value = 10;\n"
+msgstr " int value = 10;\n"
+
+#. type: Plain text
+#: original/man3/gdbm.3:500
+#, no-wrap
+msgid " ret = gdbm_setopt( dbf, GDBM_CACHESIZE, &value, sizeof(int));\n"
+msgstr " ret = gdbm_setopt( dbf, GDBM_CACHESIZE, &value, sizeof(int));\n"
+
+#. type: Plain text
+#: original/man3/gdbm.3:505
+msgid ""
+"If the database was opened with the B<GDBM_NOLOCK> flag, the user may wish "
+"to perform their own file locking on the database file in order to prevent "
+"multiple writers operating on the same file simultaneously."
+msgstr ""
+"もしデータベースが B<GDBM_NOLOCK> フラグ付きでオープンされた場合、 ユーザは"
+"データベースに対して、例えば複数のライタ操作を同一のファイル に対して行うよう"
+"な、自分の独自のファイルロッキングを使うことができる、"
+
+#. type: Plain text
+#: original/man3/gdbm.3:507
+msgid "In order to support this, the I<gdbm_fdesc> routine is provided."
+msgstr "これをサポートするため、I<gdbm_fdesc> ルーチンが提供される。"
+
+#. type: Plain text
+#: original/man3/gdbm.3:509
+#, no-wrap
+msgid " ret = gdbm_fdesc ( dbf )\n"
+msgstr " ret = gdbm_fdesc ( dbf )\n"
+
+#. type: Plain text
+#: original/man3/gdbm.3:512
+msgid ""
+"Where I<dbf> is the return value from a previous call to B<gdbm_open>. The "
+"return value will be the file descriptor of the database."
+msgstr ""
+"ここで I<dbf> は以前の B<gdbm_open> の返り値である。 返り値はデータベースの"
+"ファイルディスクリプタである。"
+
+#. type: Plain text
+#: original/man3/gdbm.3:514
+msgid "The following two external variables may be useful:"
+msgstr "以下の 2 つの外部変数は役に立つことだろう。"
+
+#. type: Plain text
+#: original/man3/gdbm.3:518
+msgid ""
+"I<gdbm_errno> is the variable that contains more information about gdbm "
+"errors. (gdbm.h has the definitions of the error values and defines "
+"gdbm_errno as an external variable.)"
+msgstr ""
+"I<gdbm_errno> は gdbm のエラーに関するより詳しい情報を持つ (gdbm.h はエラー値"
+"の定義と gdbm_errno を外部変数とする定義を持つ)。"
+
+#. type: Plain text
+#: original/man3/gdbm.3:520
+msgid "I<gdbm_version> is the string containing the version information."
+msgstr "I<gdbm_version> はバージョン情報の文字列を持つ。"
+
+#. type: Plain text
+#: original/man3/gdbm.3:533
+msgid ""
+"There are a few more things of interest. First, B<gdbm> files are not "
+"\"sparse\". You can copy them with the UNIX B<cp(1)> command and they will "
+"not expand in the copying process. Also, there is a compatibility mode for "
+"use with programs that already use UNIX B<dbm>. In this compatibility mode, "
+"no gdbm file pointer is required by the programmer, and only one file may be "
+"opened at a time. All users in compatibility mode are assumed to be "
+"writers. If the B<gdbm> file is a read only, it will fail as a writer, but "
+"will also try to open it as a reader. All returned pointers in datum "
+"structures point to data that B<gdbm> WILL free. They should be treated as "
+"static pointers (as standard UNIX B<dbm> does)."
+msgstr ""
+"もう少し興味深いことが幾つかある。まず B<gdbm> は「隙間のある」 ファイルでは"
+"無いということである。あなたはこのファイルを UNIX の B<cp(1)> コマンドによっ"
+"てコピーすることが可能で、そのコピー処理の間 にファイルサイズが拡張されるよう"
+"なことはない。さらに、UNIX ですでに使 われている B<dbm> のコンパチブルモード"
+"が存在する。このコンパチブル モードでは、gdbm のファイルポインタはプログラマ"
+"に取って必要では なく、一度には 1 つのファイルだけがオープンされる。コンパチ"
+"ブルモード 全ての利用者はライタと見なされる。もし、B<gdbm> ファイルがリード "
+"オンリーならば、ライタとしては失敗し、リーダとしてオープンし直しを 試みる。"
+"datum 構造体のすべてのポインタは、B<gdbm> が解放するであろう データを指す。こ"
+"れらは (標準的な UNIX の B<dbm> がするように) 静的ポインタとして扱う必要が"
+"ある。"
+
+#. type: SH
+#: original/man3/gdbm.3:535
+#, no-wrap
+msgid "LINKING"
+msgstr "リンク"
+
+#. type: Plain text
+#: original/man3/gdbm.3:538
+msgid ""
+"This library is accessed by specifying I<-lgdbm> as the last parameter to "
+"the compile line, e.g.:"
+msgstr ""
+"このライブラリはコンパイル行の最後のパラメータとして I<-lgdbm> を 指定するこ"
+"とで利用される。"
+
+#. type: Plain text
+#: original/man3/gdbm.3:540
+msgid " gcc -o prog prog.c -lgdbm"
+msgstr " gcc -o prog prog.c -lgdbm"
+
+#. type: SH
+#: original/man3/gdbm.3:542
+#, no-wrap
+msgid "BUGS"
+msgstr "バグ"
+
+#. type: SH
+#: original/man3/gdbm.3:544
+#, no-wrap
+msgid "SEE ALSO"
+msgstr "関連項目"
+
+#. type: Plain text
+#: original/man3/gdbm.3:546
+msgid "dbm, ndbm"
+msgstr "dbm, ndbm"
+
+#. type: SH
+#: original/man3/gdbm.3:547
+#, no-wrap
+msgid "AUTHOR"
+msgstr "著者"
+
+#. type: Plain text
+#: original/man3/gdbm.3:550
+msgid ""
+"by Philip A. Nelson and Jason Downs. Copyright (C) 1990 - 1999 Free "
+"Software Foundation, Inc."
+msgstr ""
+"Philip A. Nelson と Jason Downs. Copyright (C) 1990 - 1999 Free Software "
+"Foundation, Inc."
+
+#. type: Plain text
+#: original/man3/gdbm.3:555
+msgid ""
+"GDBM is free software; you can redistribute it and/or modify it under the "
+"terms of the GNU General Public License as published by the Free Software "
+"Foundation; either version 1, or (at your option) any later version."
+msgstr ""
+"GDBM is free software; you can redistribute it and/or modify it under the "
+"terms of the GNU General Public License as published by the Free Software "
+"Foundation; either version 1, or (at your option) any later version."
+
+#. type: Plain text
+#: original/man3/gdbm.3:560
+msgid ""
+"GDBM is distributed in the hope that it will be useful, but WITHOUT ANY "
+"WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS "
+"FOR A PARTICULAR PURPOSE. See the GNU General Public License for more "
+"details."
+msgstr ""
+"GDBM is distributed in the hope that it will be useful, but WITHOUT ANY "
+"WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS "
+"FOR A PARTICULAR PURPOSE. See the GNU General Public License for more "
+"details."
+
+#. type: Plain text
+#: original/man3/gdbm.3:564
+msgid ""
+"You should have received a copy of the GNU General Public License along with "
+"GDBM; see the file COPYING. If not, write to the Free Software Foundation, "
+"675 Mass Ave, Cambridge, MA 02139, USA."
+msgstr ""
+"You should have received a copy of the GNU General Public License along with "
+"GDBM; see the file COPYING. If not, write to the Free Software Foundation, "
+"675 Mass Ave, Cambridge, MA 02139, USA."
+
+#. type: Plain text
+#: original/man3/gdbm.3:566
+msgid "You may contact the original author by:"
+msgstr "You may contact the original author by:"
+
+#. type: Plain text
+#: original/man3/gdbm.3:568
+#, no-wrap
+msgid " e-mail: phil@cs.wwu.edu\n"
+msgstr " e-mail: phil@cs.wwu.edu\n"
+
+#. type: Plain text
+#: original/man3/gdbm.3:570
+#, no-wrap
+msgid " us-mail: Philip A. Nelson\n"
+msgstr " us-mail: Philip A. Nelson\n"
+
+#. type: Plain text
+#: original/man3/gdbm.3:572
+msgid "Computer Science Department"
+msgstr "Computer Science Department"
+
+#. type: Plain text
+#: original/man3/gdbm.3:574
+msgid "Western Washington University"
+msgstr "Western Washington University"
+
+#. type: Plain text
+#: original/man3/gdbm.3:576
+msgid "Bellingham, WA 98226"
+msgstr "Bellingham, WA 98226"
+
+#. type: Plain text
+#: original/man3/gdbm.3:578
+msgid "You may contact the current maintainer by:"
+msgstr "You may contact the current maintainer by:"
+
+#. type: Plain text
+#: original/man3/gdbm.3:580
+#, no-wrap
+msgid " e-mail: downsj@downsj.com\n"
+msgstr " e-mail: downsj@downsj.com\n"
と呼ばれる。
1 つの gdbm ファイルをオープンできるライタは 1 つだけだが、
リーダは複数が 1 つの gdbm ファイルをオープンすることができる。
-
リーダとライタは同時に同じファイルをオープンすることはできない。
-gdbm ファイルをオープンする手続きは:
+gdbm ファイルをオープンする手続きは次の通りである。
- GDBM_FILE dbf;
+ GDBM_FILE dbf;
- dbf = gdbm_open ( name, block_size, read_write, mode, fatal_func )
+ dbf = gdbm_open ( name, block_size, read_write, mode, fatal_func )
\fIname\fR はファイルの名前である。(完全な名前、gdbm はこの名前に
文字列を付け加えるようなことはしない)