msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2012-04-25 05:36+0900\n"
+"POT-Creation-Date: 2012-05-01 04:38+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"
msgstr ""
#. type: TH
-#: build/C/man3/btree.3:34 build/C/man3/hash.3:34 build/C/man3/recno.3:34
+#: build/C/man3/btree.3:34 build/C/man3/dbopen.3:34 build/C/man3/hash.3:34 build/C/man3/recno.3:34
#, no-wrap
-msgid "1994-08-18"
+msgid "2012-04-23"
msgstr ""
#. type: TH
msgstr ""
#. type: Plain text
-#: build/C/man3/btree.3:53
+#: build/C/man3/btree.3:52 build/C/man3/dbopen.3:55 build/C/man3/hash.3:52 build/C/man3/mpool.3:67 build/C/man3/recno.3:52
+msgid ""
+"I<Note well>: This page documents interfaces provided in glibc up until "
+"version 2.1. Since version 2.2, glibc no longer provides these interfaces. "
+"Probably, you are looking for the APIs provided by the I<libdb> library "
+"instead."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/btree.3:60
msgid ""
"The routine B<dbopen>(3) is the library interface to database files. One "
"of the supported file formats is btree files. The general description of "
msgstr ""
#. type: Plain text
-#: build/C/man3/btree.3:56
+#: build/C/man3/btree.3:63
msgid ""
"The btree data structure is a sorted, balanced tree structure storing "
"associated key/data pairs."
msgstr ""
#. type: Plain text
-#: build/C/man3/btree.3:62
+#: build/C/man3/btree.3:69
msgid ""
"The btree access method specific data structure provided to B<dbopen>(3) is "
"defined in the I<E<lt>db.hE<gt>> include file as follows:"
msgstr ""
#. type: Plain text
-#: build/C/man3/btree.3:75
+#: build/C/man3/btree.3:82
#, no-wrap
msgid ""
"typedef struct {\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/btree.3:79 build/C/man3/hash.3:76
+#: build/C/man3/btree.3:86 build/C/man3/hash.3:83
msgid "The elements of this structure are as follows:"
msgstr ""
#. type: TP
-#: build/C/man3/btree.3:79
+#: build/C/man3/btree.3:86
#, no-wrap
msgid "I<flags>"
msgstr ""
#. type: Plain text
-#: build/C/man3/btree.3:82 build/C/man3/recno.3:88
+#: build/C/man3/btree.3:89 build/C/man3/recno.3:95
msgid "The flag value is specified by ORing any of the following values:"
msgstr ""
#. type: TP
-#: build/C/man3/btree.3:83
+#: build/C/man3/btree.3:90
#, no-wrap
msgid "B<R_DUP>"
msgstr ""
#. type: Plain text
-#: build/C/man3/btree.3:102
+#: build/C/man3/btree.3:109
msgid ""
"Permit duplicate keys in the tree, that is, permit insertion if the key to "
"be inserted already exists in the tree. The default behavior, as described "
msgstr ""
#. type: Plain text
-#: build/C/man3/btree.3:112
+#: build/C/man3/btree.3:119
msgid ""
"If the database contains duplicate keys, the order of retrieval of key/data "
"pairs is undefined if the I<get> routine is used, however, I<seq> routine "
msgstr ""
#. type: TP
-#: build/C/man3/btree.3:113 build/C/man3/hash.3:93 build/C/man3/recno.3:120
+#: build/C/man3/btree.3:120 build/C/man3/hash.3:100 build/C/man3/recno.3:127
#, no-wrap
msgid "I<cachesize>"
msgstr ""
#. type: Plain text
-#: build/C/man3/btree.3:128
+#: build/C/man3/btree.3:135
msgid ""
"A suggested maximum size (in bytes) of the memory cache. This value is "
"I<only> advisory, and the access method will allocate more memory rather "
msgstr ""
#. type: TP
-#: build/C/man3/btree.3:128
+#: build/C/man3/btree.3:135
#, no-wrap
msgid "I<maxkeypage>"
msgstr ""
#. is 0 (no maximum number of keys is specified) the page fill factor is
#. made as large as possible (which is almost invariably what is wanted).
#. type: Plain text
-#: build/C/man3/btree.3:140
+#: build/C/man3/btree.3:147
msgid ""
"The maximum number of keys which will be stored on any single page. Not "
"currently implemented."
msgstr ""
#. type: TP
-#: build/C/man3/btree.3:140
+#: build/C/man3/btree.3:147
#, no-wrap
msgid "I<minkeypage>"
msgstr ""
#. type: Plain text
-#: build/C/man3/btree.3:150
+#: build/C/man3/btree.3:157
msgid ""
"The minimum number of keys which will be stored on any single page. This "
"value is used to determine which keys will be stored on overflow pages, that "
msgstr ""
#. type: TP
-#: build/C/man3/btree.3:150 build/C/man3/recno.3:129
+#: build/C/man3/btree.3:157 build/C/man3/recno.3:136
#, no-wrap
msgid "I<psize>"
msgstr ""
#. type: Plain text
-#: build/C/man3/btree.3:158
+#: build/C/man3/btree.3:165
msgid ""
"Page size is the size (in bytes) of the pages used for nodes in the tree. "
"The minimum page size is 512 bytes and the maximum page size is 64K. If "
msgstr ""
#. type: TP
-#: build/C/man3/btree.3:158
+#: build/C/man3/btree.3:165
#, no-wrap
msgid "I<compare>"
msgstr ""
#. type: Plain text
-#: build/C/man3/btree.3:170
+#: build/C/man3/btree.3:177
msgid ""
"Compare is the key comparison function. It must return an integer less "
"than, equal to, or greater than zero if the first key argument is considered "
msgstr ""
#. type: TP
-#: build/C/man3/btree.3:170
+#: build/C/man3/btree.3:177
#, no-wrap
msgid "I<prefix>"
msgstr ""
#. type: Plain text
-#: build/C/man3/btree.3:189
+#: build/C/man3/btree.3:196
msgid ""
"Prefix is the prefix comparison function. If specified, this routine must "
"return the number of bytes of the second key argument which are necessary to "
msgstr ""
#. type: TP
-#: build/C/man3/btree.3:189 build/C/man3/hash.3:108 build/C/man3/recno.3:141
+#: build/C/man3/btree.3:196 build/C/man3/hash.3:115 build/C/man3/recno.3:148
#, no-wrap
msgid "I<lorder>"
msgstr ""
#. type: Plain text
-#: build/C/man3/btree.3:197 build/C/man3/recno.3:149
+#: build/C/man3/btree.3:204 build/C/man3/recno.3:156
msgid ""
"The byte order for integers in the stored database metadata. The number "
"should represent the order as an integer; for example, big endian order "
msgstr ""
#. type: Plain text
-#: build/C/man3/btree.3:208
+#: build/C/man3/btree.3:215
msgid ""
"If the file already exists (and the B<O_TRUNC> flag is not specified), the "
"values specified for the arguments I<flags>, I<lorder> and I<psize> are "
msgstr ""
#. type: Plain text
-#: build/C/man3/btree.3:210
+#: build/C/man3/btree.3:217
msgid "Forward sequential scans of a tree are from the least key to the greatest."
msgstr ""
#. type: Plain text
-#: build/C/man3/btree.3:216
+#: build/C/man3/btree.3:223
msgid ""
"Space freed up by deleting key/data pairs from the tree is never reclaimed, "
"although it is normally made available for reuse. This means that the btree "
msgstr ""
#. type: Plain text
-#: build/C/man3/btree.3:222
+#: build/C/man3/btree.3:229
msgid ""
"Searches, insertions, and deletions in a btree will all complete in O lg "
"base N where base is the average fill factor. Often, inserting ordered data "
msgstr ""
#. type: SH
-#: build/C/man3/btree.3:222 build/C/man3/dbopen.3:471 build/C/man3/hash.3:142 build/C/man3/mpool.3:176 build/C/man3/recno.3:201
+#: build/C/man3/btree.3:229 build/C/man3/dbopen.3:478 build/C/man3/hash.3:149 build/C/man3/mpool.3:183 build/C/man3/recno.3:208
#, no-wrap
msgid "ERRORS"
msgstr ""
#. type: Plain text
-#: build/C/man3/btree.3:229
+#: build/C/man3/btree.3:236
msgid ""
"The I<btree> access method routines may fail and set I<errno> for any of the "
"errors specified for the library routine B<dbopen>(3)."
msgstr ""
#. type: SH
-#: build/C/man3/btree.3:229 build/C/man3/dbopen.3:533 build/C/man3/hash.3:149 build/C/man3/recno.3:213
+#: build/C/man3/btree.3:236 build/C/man3/dbopen.3:540 build/C/man3/hash.3:156 build/C/man3/recno.3:220
#, no-wrap
msgid "BUGS"
msgstr ""
#. type: Plain text
-#: build/C/man3/btree.3:231 build/C/man3/recno.3:215
+#: build/C/man3/btree.3:238 build/C/man3/recno.3:222
msgid "Only big and little endian byte order is supported."
msgstr ""
#. type: SH
-#: build/C/man3/btree.3:231 build/C/man3/dbopen.3:544 build/C/man3/hash.3:151 build/C/man3/mpool.3:221 build/C/man3/recno.3:215
+#: build/C/man3/btree.3:238 build/C/man3/dbopen.3:551 build/C/man3/hash.3:158 build/C/man3/mpool.3:228 build/C/man3/recno.3:222
#, no-wrap
msgid "SEE ALSO"
msgstr ""
#. type: Plain text
-#: build/C/man3/btree.3:236
+#: build/C/man3/btree.3:243
msgid "B<dbopen>(3), B<hash>(3), B<mpool>(3), B<recno>(3)"
msgstr ""
#. type: Plain text
-#: build/C/man3/btree.3:239
+#: build/C/man3/btree.3:246
msgid ""
"I<The Ubiquitous B-tree>, Douglas Comer, ACM Comput. Surv. 11, 2 (June "
"1979), 121-138."
msgstr ""
#. type: Plain text
-#: build/C/man3/btree.3:243
+#: build/C/man3/btree.3:250
msgid ""
"I<Prefix B-trees>, Bayer and Unterauer, ACM Transactions on Database "
"Systems, Vol. 2, 1 (March 1977), 11-26."
msgstr ""
#. type: Plain text
-#: build/C/man3/btree.3:245
+#: build/C/man3/btree.3:253
msgid ""
"I<The Art of Computer Programming Vol. 3: Sorting and Searching>, "
"D.E. Knuth, 1968, pp 471-480."
msgstr ""
-#. type: TH
-#: build/C/man3/dbopen.3:34
+#. type: SH
+#: build/C/man3/btree.3:253 build/C/man3/dbopen.3:559 build/C/man3/hash.3:169 build/C/man3/mpool.3:233 build/C/man3/recno.3:231
#, no-wrap
-msgid "DBOPEN"
+msgid "COLOPHON"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/btree.3:260 build/C/man3/dbopen.3:566 build/C/man3/hash.3:176 build/C/man3/mpool.3:240 build/C/man3/recno.3:238
+msgid ""
+"This page is part of release 3.40 of the Linux I<man-pages> project. A "
+"description of the project, and information about reporting bugs, can be "
+"found at http://www.kernel.org/doc/man-pages/."
msgstr ""
#. type: TH
#: build/C/man3/dbopen.3:34
#, no-wrap
-msgid "1994-01-02"
+msgid "DBOPEN"
msgstr ""
#. type: Plain text
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:62
+#: build/C/man3/dbopen.3:69
msgid ""
"B<dbopen>() is the library interface to database files. The supported file "
"formats are btree, hashed and UNIX file oriented. The btree format is a "
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:71
+#: build/C/man3/dbopen.3:78
msgid ""
"B<dbopen>() opens I<file> for reading and/or writing. Files never intended "
"to be preserved on disk may be created by setting the I<file> argument to "
#. Support transactions in the database.
#. The DB_LOCK and DB_SHMEM flags must be set as well.
#. type: Plain text
-#: build/C/man3/dbopen.3:111
+#: build/C/man3/dbopen.3:118
msgid ""
"The I<flags> and I<mode> arguments are as specified to the B<open>(2) "
"routine, however, only the B<O_CREAT>, B<O_EXCL>, B<O_EXLOCK>, "
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:124
+#: build/C/man3/dbopen.3:131
msgid ""
"The I<type> argument is of type I<DBTYPE> (as defined in the "
"I<E<lt>db.hE<gt>> include file) and may be set to B<DB_BTREE>, B<DB_HASH>, "
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:133
+#: build/C/man3/dbopen.3:140
msgid ""
"The I<openinfo> argument is a pointer to an access method specific structure "
"described in the access method's manual page. If I<openinfo> is NULL, each "
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:144
+#: build/C/man3/dbopen.3:151
msgid ""
"B<dbopen>() returns a pointer to a I<DB> structure on success and NULL on "
"error. The I<DB> structure is defined in the I<E<lt>db.hE<gt>> include "
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:160
+#: build/C/man3/dbopen.3:167
#, no-wrap
msgid ""
"typedef struct {\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:168
+#: build/C/man3/dbopen.3:175
msgid ""
"These elements describe a database type and a set of functions performing "
"various actions. These functions take a pointer to a structure as returned "
msgstr ""
#. type: TP
-#: build/C/man3/dbopen.3:168
+#: build/C/man3/dbopen.3:175
#, no-wrap
msgid "I<type>"
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:171
+#: build/C/man3/dbopen.3:178
msgid "The type of the underlying access method (and file format)."
msgstr ""
#. type: TP
-#: build/C/man3/dbopen.3:171
+#: build/C/man3/dbopen.3:178
#, no-wrap
msgid "I<close>"
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:185
+#: build/C/man3/dbopen.3:192
msgid ""
"A pointer to a routine to flush any cached information to disk, free any "
"allocated resources, and close the underlying file(s). Since key/data pairs "
msgstr ""
#. type: TP
-#: build/C/man3/dbopen.3:185
+#: build/C/man3/dbopen.3:192
#, no-wrap
msgid "I<del>"
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:188
+#: build/C/man3/dbopen.3:195
msgid "A pointer to a routine to remove key/data pairs from the database."
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:192
+#: build/C/man3/dbopen.3:199
msgid "The argument I<flag> may be set to the following value:"
msgstr ""
#. type: TP
-#: build/C/man3/dbopen.3:193 build/C/man3/dbopen.3:249 build/C/man3/dbopen.3:349
+#: build/C/man3/dbopen.3:200 build/C/man3/dbopen.3:256 build/C/man3/dbopen.3:356
#, no-wrap
msgid "B<R_CURSOR>"
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:197
+#: build/C/man3/dbopen.3:204
msgid ""
"Delete the record referenced by the cursor. The cursor must have previously "
"been initialized."
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:205
+#: build/C/man3/dbopen.3:212
msgid ""
"I<delete> routines return -1 on error (setting I<errno>), 0 on success, and "
"1 if the specified I<key> was not in the file."
msgstr ""
#. type: TP
-#: build/C/man3/dbopen.3:205
+#: build/C/man3/dbopen.3:212
#, no-wrap
msgid "I<fd>"
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:227
+#: build/C/man3/dbopen.3:234
msgid ""
"A pointer to a routine which returns a file descriptor representative of the "
"underlying database. A file descriptor referencing the same file will be "
msgstr ""
#. type: TP
-#: build/C/man3/dbopen.3:227
+#: build/C/man3/dbopen.3:234
#, no-wrap
msgid "I<get>"
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:241
+#: build/C/man3/dbopen.3:248
msgid ""
"A pointer to a routine which is the interface for keyed retrieval from the "
"database. The address and length of the data associated with the specified "
msgstr ""
#. type: TP
-#: build/C/man3/dbopen.3:241
+#: build/C/man3/dbopen.3:248
#, no-wrap
msgid "I<put>"
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:244
+#: build/C/man3/dbopen.3:251
msgid "A pointer to a routine to store key/data pairs in the database."
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:248
+#: build/C/man3/dbopen.3:255
msgid "The argument I<flag> may be set to one of the following values:"
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:253
+#: build/C/man3/dbopen.3:260
msgid ""
"Replace the key/data pair referenced by the cursor. The cursor must have "
"previously been initialized."
msgstr ""
#. type: TP
-#: build/C/man3/dbopen.3:253
+#: build/C/man3/dbopen.3:260
#, no-wrap
msgid "B<R_IAFTER>"
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:264
+#: build/C/man3/dbopen.3:271
msgid ""
"Append the data immediately after the data referenced by I<key>, creating a "
"new key/data pair. The record number of the appended key/data pair is "
msgstr ""
#. type: TP
-#: build/C/man3/dbopen.3:264
+#: build/C/man3/dbopen.3:271
#, no-wrap
msgid "B<R_IBEFORE>"
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:275
+#: build/C/man3/dbopen.3:282
msgid ""
"Insert the data immediately before the data referenced by I<key>, creating a "
"new key/data pair. The record number of the inserted key/data pair is "
msgstr ""
#. type: TP
-#: build/C/man3/dbopen.3:275
+#: build/C/man3/dbopen.3:282
#, no-wrap
msgid "B<R_NOOVERWRITE>"
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:278
+#: build/C/man3/dbopen.3:285
msgid "Enter the new key/data pair only if the key does not previously exist."
msgstr ""
#. type: TP
-#: build/C/man3/dbopen.3:278
+#: build/C/man3/dbopen.3:285
#, no-wrap
msgid "B<R_SETCURSOR>"
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:287
+#: build/C/man3/dbopen.3:294
msgid ""
"Store the key/data pair, setting or initializing the position of the cursor "
"to reference it. (Applicable only to the B<DB_BTREE> and B<DB_RECNO> access "
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:297
+#: build/C/man3/dbopen.3:304
msgid ""
"B<R_SETCURSOR> is available only for the B<DB_BTREE> and B<DB_RECNO> access "
"methods because it implies that the keys have an inherent order which does "
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:307
+#: build/C/man3/dbopen.3:314
msgid ""
"B<R_IAFTER> and B<R_IBEFORE> are available only for the B<DB_RECNO> access "
"method because they each imply that the access method is able to create new "
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:312
+#: build/C/man3/dbopen.3:319
msgid ""
"The default behavior of the I<put> routines is to enter the new key/data "
"pair, replacing any previously existing key."
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:320
+#: build/C/man3/dbopen.3:327
msgid ""
"I<put> routines return -1 on error (setting I<errno>), 0 on success, and 1 "
"if the B<R_NOOVERWRITE> I<flag> was set and the key already exists in the "
msgstr ""
#. type: TP
-#: build/C/man3/dbopen.3:320
+#: build/C/man3/dbopen.3:327
#, no-wrap
msgid "I<seq>"
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:331
+#: build/C/man3/dbopen.3:338
msgid ""
"A pointer to a routine which is the interface for sequential retrieval from "
"the database. The address and length of the key are returned in the "
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:344
+#: build/C/man3/dbopen.3:351
msgid ""
"Sequential key/data pair retrieval may begin at any time, and the position "
"of the \"cursor\" is not affected by calls to the I<del>, I<get>, I<put>, or "
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:348
+#: build/C/man3/dbopen.3:355
msgid "The flag value B<must> be set to one of the following values:"
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:362
+#: build/C/man3/dbopen.3:369
msgid ""
"The data associated with the specified key is returned. This differs from "
"the I<get> routines in that it sets or initializes the cursor to the "
msgstr ""
#. type: TP
-#: build/C/man3/dbopen.3:362
+#: build/C/man3/dbopen.3:369
#, no-wrap
msgid "B<R_FIRST>"
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:366
+#: build/C/man3/dbopen.3:373
msgid ""
"The first key/data pair of the database is returned, and the cursor is set "
"or initialized to reference it."
msgstr ""
#. type: TP
-#: build/C/man3/dbopen.3:366
+#: build/C/man3/dbopen.3:373
#, no-wrap
msgid "B<R_LAST>"
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:375
+#: build/C/man3/dbopen.3:382
msgid ""
"The last key/data pair of the database is returned, and the cursor is set or "
"initialized to reference it. (Applicable only to the B<DB_BTREE> and "
msgstr ""
#. type: TP
-#: build/C/man3/dbopen.3:375
+#: build/C/man3/dbopen.3:382
#, no-wrap
msgid "B<R_NEXT>"
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:381
+#: build/C/man3/dbopen.3:388
msgid ""
"Retrieve the key/data pair immediately after the cursor. If the cursor is "
"not yet set, this is the same as the B<R_FIRST> flag."
msgstr ""
#. type: TP
-#: build/C/man3/dbopen.3:381
+#: build/C/man3/dbopen.3:388
#, no-wrap
msgid "B<R_PREV>"
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:392
+#: build/C/man3/dbopen.3:399
msgid ""
"Retrieve the key/data pair immediately before the cursor. If the cursor is "
"not yet set, this is the same as the B<R_LAST> flag. (Applicable only to "
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:403
+#: build/C/man3/dbopen.3:410
msgid ""
"B<R_LAST> and B<R_PREV> are available only for the B<DB_BTREE> and "
"B<DB_RECNO> access methods because they each imply that the keys have an "
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:416
+#: build/C/man3/dbopen.3:423
msgid ""
"I<seq> routines return -1 on error (setting I<errno>), 0 on success and 1 if "
"there are no key/data pairs less than or greater than the specified or "
msgstr ""
#. type: TP
-#: build/C/man3/dbopen.3:416
+#: build/C/man3/dbopen.3:423
#, no-wrap
msgid "I<sync>"
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:422
+#: build/C/man3/dbopen.3:429
msgid ""
"A pointer to a routine to flush any cached information to disk. If the "
"database is in memory only, the I<sync> routine has no effect and will "
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:424
+#: build/C/man3/dbopen.3:431
msgid "The flag value may be set to the following value:"
msgstr ""
#. type: TP
-#: build/C/man3/dbopen.3:425
+#: build/C/man3/dbopen.3:432
#, no-wrap
msgid "B<R_RECNOSYNC>"
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:437
+#: build/C/man3/dbopen.3:444
msgid ""
"If the B<DB_RECNO> access method is being used, this flag causes the sync "
"routine to apply to the btree file which underlies the recno file, not the "
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:443
+#: build/C/man3/dbopen.3:450
msgid "I<sync> routines return -1 on error (setting I<errno>) and 0 on success."
msgstr ""
#. type: SS
-#: build/C/man3/dbopen.3:443
+#: build/C/man3/dbopen.3:450
#, no-wrap
msgid "Key/Data Pairs"
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:446
+#: build/C/man3/dbopen.3:453
msgid ""
"Access to all file types is based on key/data pairs. Both keys and data are "
"represented by the following data structure:"
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:453
+#: build/C/man3/dbopen.3:460
#, no-wrap
msgid ""
"typedef struct {\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:459
+#: build/C/man3/dbopen.3:466
msgid "The elements of the I<DBT> structure are defined as follows:"
msgstr ""
#. type: TP
-#: build/C/man3/dbopen.3:459
+#: build/C/man3/dbopen.3:466
#, no-wrap
msgid "I<data>"
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:462
+#: build/C/man3/dbopen.3:469
msgid "A pointer to a byte string."
msgstr ""
#. type: TP
-#: build/C/man3/dbopen.3:462
+#: build/C/man3/dbopen.3:469
#, no-wrap
msgid "I<size>"
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:465
+#: build/C/man3/dbopen.3:472
msgid "The length of the byte string."
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:471
+#: build/C/man3/dbopen.3:478
msgid ""
"Key and data byte strings may reference strings of essentially unlimited "
"length although any two of them must fit into available memory at the same "
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:481
+#: build/C/man3/dbopen.3:488
msgid ""
"The B<dbopen>() routine may fail and set I<errno> for any of the errors "
"specified for the library routines B<open>(2) and B<malloc>(3) or the "
msgstr ""
#. type: TP
-#: build/C/man3/dbopen.3:481
+#: build/C/man3/dbopen.3:488
#, no-wrap
msgid "B<EFTYPE>"
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:484
+#: build/C/man3/dbopen.3:491
msgid "A file is incorrectly formatted."
msgstr ""
#. type: TP
-#: build/C/man3/dbopen.3:484 build/C/man3/mpool.3:189 build/C/man3/recno.3:209
+#: build/C/man3/dbopen.3:491 build/C/man3/mpool.3:196 build/C/man3/recno.3:216
#, no-wrap
msgid "B<EINVAL>"
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:491
+#: build/C/man3/dbopen.3:498
msgid ""
"A parameter has been specified (hash function, pad byte etc.) that is "
"incompatible with the current file specification or which is not meaningful "
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:503
+#: build/C/man3/dbopen.3:510
msgid ""
"The I<close> routines may fail and set I<errno> for any of the errors "
"specified for the library routines B<close>(2), B<read>(2), B<write>(2), "
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:518
+#: build/C/man3/dbopen.3:525
msgid ""
"The I<del>, I<get>, I<put> and I<seq> routines may fail and set I<errno> for "
"any of the errors specified for the library routines B<read>(2), "
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:526
+#: build/C/man3/dbopen.3:533
msgid ""
"The I<fd> routines will fail and set I<errno> to B<ENOENT> for in memory "
"databases."
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:533
+#: build/C/man3/dbopen.3:540
msgid ""
"The I<sync> routines may fail and set I<errno> for any of the errors "
"specified for the library routine B<fsync>(2)."
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:538
+#: build/C/man3/dbopen.3:545
msgid ""
"The typedef I<DBT> is a mnemonic for \"data base thang\", and was used "
"because no-one could think of a reasonable name that wasn't already used."
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:541
+#: build/C/man3/dbopen.3:548
msgid ""
"The file descriptor interface is a kludge and will be deleted in a future "
"version of the interface."
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:544
+#: build/C/man3/dbopen.3:551
msgid ""
"None of the access methods provide any form of concurrent access, locking, "
"or transactions."
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:549
+#: build/C/man3/dbopen.3:556
msgid "B<btree>(3), B<hash>(3), B<mpool>(3), B<recno>(3)"
msgstr ""
#. type: Plain text
-#: build/C/man3/dbopen.3:551
+#: build/C/man3/dbopen.3:559
msgid ""
"I<LIBTP: Portable, Modular Transactions for UNIX>, Margo Seltzer, Michael "
"Olson, USENIX proceedings, Winter 1992."
msgstr ""
#. type: Plain text
-#: build/C/man3/hash.3:53
+#: build/C/man3/hash.3:60
msgid ""
"The routine B<dbopen>(3) is the library interface to database files. One "
"of the supported file formats is hash files. The general description of the "
msgstr ""
#. type: Plain text
-#: build/C/man3/hash.3:55
+#: build/C/man3/hash.3:62
msgid "The hash data structure is an extensible, dynamic hashing scheme."
msgstr ""
#. type: Plain text
-#: build/C/man3/hash.3:61
+#: build/C/man3/hash.3:68
msgid ""
"The access method specific data structure provided to B<dbopen>(3) is "
"defined in the I<E<lt>db.hE<gt>> include file as follows:"
msgstr ""
#. type: Plain text
-#: build/C/man3/hash.3:72
+#: build/C/man3/hash.3:79
#, no-wrap
msgid ""
"typedef struct {\n"
msgstr ""
#. type: TP
-#: build/C/man3/hash.3:76
+#: build/C/man3/hash.3:83
#, no-wrap
msgid "I<bsize>"
msgstr ""
#. type: Plain text
-#: build/C/man3/hash.3:81
+#: build/C/man3/hash.3:88
msgid ""
"defines the hash table bucket size, and is, by default, 256 bytes. It may "
"be preferable to increase the page size for disk-resident tables and tables "
msgstr ""
#. type: TP
-#: build/C/man3/hash.3:81
+#: build/C/man3/hash.3:88
#, no-wrap
msgid "I<ffactor>"
msgstr ""
#. type: Plain text
-#: build/C/man3/hash.3:87
+#: build/C/man3/hash.3:94
msgid ""
"indicates a desired density within the hash table. It is an approximation "
"of the number of keys allowed to accumulate in any one bucket, determining "
msgstr ""
#. type: TP
-#: build/C/man3/hash.3:87
+#: build/C/man3/hash.3:94
#, no-wrap
msgid "I<nelem>"
msgstr ""
#. type: Plain text
-#: build/C/man3/hash.3:93
+#: build/C/man3/hash.3:100
msgid ""
"is an estimate of the final size of the hash table. If not set or set too "
"low, hash tables will expand gracefully as keys are entered, although a "
msgstr ""
#. type: Plain text
-#: build/C/man3/hash.3:99
+#: build/C/man3/hash.3:106
msgid ""
"is the suggested maximum size, in bytes, of the memory cache. This value is "
"I<only advisory>, and the access method will allocate more memory rather "
msgstr ""
#. type: TP
-#: build/C/man3/hash.3:99
+#: build/C/man3/hash.3:106
#, no-wrap
msgid "I<hash>"
msgstr ""
#. type: Plain text
-#: build/C/man3/hash.3:108
+#: build/C/man3/hash.3:115
msgid ""
"is a user-defined hash function. Since no hash function performs equally "
"well on all possible data, the user may find that the built-in hash function "
msgstr ""
#. type: Plain text
-#: build/C/man3/hash.3:118
+#: build/C/man3/hash.3:125
msgid ""
"is the byte order for integers in the stored database metadata. The number "
"should represent the order as an integer; for example, big endian order "
msgstr ""
#. type: Plain text
-#: build/C/man3/hash.3:130
+#: build/C/man3/hash.3:137
msgid ""
"If the file already exists (and the B<O_TRUNC> flag is not specified), the "
"values specified for I<bsize>, I<ffactor>, I<lorder>, and I<nelem> are "
msgstr ""
#. type: Plain text
-#: build/C/man3/hash.3:135
+#: build/C/man3/hash.3:142
msgid ""
"If a hash function is specified, I<hash_open> will attempt to determine if "
"the hash function specified is the same as the one with which the database "
msgstr ""
#. type: Plain text
-#: build/C/man3/hash.3:142
+#: build/C/man3/hash.3:149
msgid ""
"Backward-compatible interfaces to the routines described in B<dbm>(3), and "
"B<ndbm>(3) are provided, however these interfaces are not compatible with "
msgstr ""
#. type: Plain text
-#: build/C/man3/hash.3:149
+#: build/C/man3/hash.3:156
msgid ""
"The I<hash> access method routines may fail and set I<errno> for any of the "
"errors specified for the library routine B<dbopen>(3)."
msgstr ""
#. type: Plain text
-#: build/C/man3/hash.3:151
+#: build/C/man3/hash.3:158
msgid "Only big and little endian byte order are supported."
msgstr ""
#. type: Plain text
-#: build/C/man3/hash.3:156
+#: build/C/man3/hash.3:163
msgid "B<btree>(3), B<dbopen>(3), B<mpool>(3), B<recno>(3)"
msgstr ""
#. type: Plain text
-#: build/C/man3/hash.3:159
+#: build/C/man3/hash.3:166
msgid ""
"I<Dynamic Hash Tables>, Per-Ake Larson, Communications of the ACM, April "
"1988."
msgstr ""
#. type: Plain text
-#: build/C/man3/hash.3:161
+#: build/C/man3/hash.3:169
msgid ""
"I<A New Hash Package for UNIX>, Margo Seltzer, USENIX Proceedings, Winter "
"1991."
#. type: TH
#: build/C/man3/mpool.3:34
#, no-wrap
-msgid "1993-06-04"
+msgid "2012-04-26"
msgstr ""
#. type: Plain text
msgstr ""
#. type: Plain text
-#: build/C/man3/mpool.3:65
+#: build/C/man3/mpool.3:72
msgid ""
"I<Mpool> is the library interface intended to provide page oriented buffer "
"management of files. The buffers may be shared between processes."
msgstr ""
#. type: Plain text
-#: build/C/man3/mpool.3:86
+#: build/C/man3/mpool.3:93
msgid ""
"The function B<mpool_open>() initializes a memory pool. The I<key> "
"argument is the byte string used to negotiate between multiple processes "
msgstr ""
#. type: Plain text
-#: build/C/man3/mpool.3:97
+#: build/C/man3/mpool.3:104
msgid ""
"The I<pagesize> argument is the size, in bytes, of the pages into which the "
"file is broken up. The I<maxcache> argument is the maximum number of pages "
msgstr ""
#. type: Plain text
-#: build/C/man3/mpool.3:113
+#: build/C/man3/mpool.3:120
msgid ""
"The B<mpool_filter>() function is intended to make transparent input and "
"output processing of the pages possible. If the I<pgin> function is "
msgstr ""
#. type: Plain text
-#: build/C/man3/mpool.3:126
+#: build/C/man3/mpool.3:133
msgid ""
"The function B<mpool_new>() takes an I<MPOOL> pointer and an address as "
"arguments. If a new page can be allocated, a pointer to the page is "
msgstr ""
#. type: Plain text
-#: build/C/man3/mpool.3:139
+#: build/C/man3/mpool.3:146
msgid ""
"The function B<mpool_get>() takes an I<MPOOL> pointer and a page number as "
"arguments. If the page exists, a pointer to the page is returned. "
msgstr ""
#. type: Plain text
-#: build/C/man3/mpool.3:151
+#: build/C/man3/mpool.3:158
msgid ""
"The function B<mpool_put>() unpins the page referenced by I<pgaddr>. "
"I<pgaddr> must be an address previously returned by B<mpool_get>() or "
msgstr ""
#. type: TP
-#: build/C/man3/mpool.3:151
+#: build/C/man3/mpool.3:158
#, no-wrap
msgid "B<MPOOL_DIRTY>"
msgstr ""
#. type: Plain text
-#: build/C/man3/mpool.3:154
+#: build/C/man3/mpool.3:161
msgid "The page has been modified and needs to be written to the backing file."
msgstr ""
#. type: Plain text
-#: build/C/man3/mpool.3:157
+#: build/C/man3/mpool.3:164
msgid "B<mpool_put>() returns 0 on success and -1 if an error occurs."
msgstr ""
#. type: Plain text
-#: build/C/man3/mpool.3:166
+#: build/C/man3/mpool.3:173
msgid ""
"The function B<mpool_sync>() writes all modified pages associated with the "
"I<MPOOL> pointer to the backing file. B<mpool_sync>() returns 0 on success "
msgstr ""
#. type: Plain text
-#: build/C/man3/mpool.3:176
+#: build/C/man3/mpool.3:183
msgid ""
"The B<mpool_close>() function free's up any allocated memory associated "
"with the memory pool cookie. Modified pages are B<not> written to the "
msgstr ""
#. type: Plain text
-#: build/C/man3/mpool.3:183
+#: build/C/man3/mpool.3:190
msgid ""
"The B<mpool_open>() function may fail and set I<errno> for any of the "
"errors specified for the library routine B<malloc>(3)."
msgstr ""
#. type: Plain text
-#: build/C/man3/mpool.3:189
+#: build/C/man3/mpool.3:196
msgid "The B<mpool_get>() function may fail and set I<errno> for the following:"
msgstr ""
#. type: Plain text
-#: build/C/man3/mpool.3:192
+#: build/C/man3/mpool.3:199
msgid "The requested record doesn't exist."
msgstr ""
#. type: Plain text
-#: build/C/man3/mpool.3:204
+#: build/C/man3/mpool.3:211
msgid ""
"The B<mpool_new>() and B<mpool_get>() functions may fail and set I<errno> "
"for any of the errors specified for the library routines B<read>(2), "
msgstr ""
#. type: Plain text
-#: build/C/man3/mpool.3:211
+#: build/C/man3/mpool.3:218
msgid ""
"The B<mpool_sync>() function may fail and set I<errno> for any of the "
"errors specified for the library routine B<write>(2)."
msgstr ""
#. type: Plain text
-#: build/C/man3/mpool.3:218
+#: build/C/man3/mpool.3:225
msgid ""
"The B<mpool_close>() function may fail and set I<errno> for any of the "
"errors specified for the library routine B<free>(3)."
msgstr ""
#. type: SH
-#: build/C/man3/mpool.3:218
+#: build/C/man3/mpool.3:225
#, no-wrap
msgid "CONFORMING TO"
msgstr ""
#. type: Plain text
-#: build/C/man3/mpool.3:221
+#: build/C/man3/mpool.3:228
msgid "Not in POSIX.1-2001. Present on the BSDs."
msgstr ""
#. type: Plain text
-#: build/C/man3/mpool.3:225
+#: build/C/man3/mpool.3:233
msgid "B<btree>(3), B<dbopen>(3), B<hash>(3), B<recno>(3)"
msgstr ""
msgstr ""
#. type: Plain text
-#: build/C/man3/recno.3:53
+#: build/C/man3/recno.3:60
msgid ""
"The routine B<dbopen>(3) is the library interface to database files. One "
"of the supported file formats is record number files. The general "
msgstr ""
#. type: Plain text
-#: build/C/man3/recno.3:62
+#: build/C/man3/recno.3:69
msgid ""
"The record number data structure is either variable or fixed-length records "
"stored in a flat-file format, accessed by the logical record number. The "
msgstr ""
#. type: Plain text
-#: build/C/man3/recno.3:68
+#: build/C/man3/recno.3:75
msgid ""
"The recno access method specific data structure provided to B<dbopen>(3) is "
"defined in the I<E<lt>db.hE<gt>> include file as follows:"
msgstr ""
#. type: Plain text
-#: build/C/man3/recno.3:80
+#: build/C/man3/recno.3:87
#, no-wrap
msgid ""
"typedef struct {\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/recno.3:84
+#: build/C/man3/recno.3:91
msgid "The elements of this structure are defined as follows:"
msgstr ""
#. type: TP
-#: build/C/man3/recno.3:84
+#: build/C/man3/recno.3:91
#, no-wrap
msgid "flags"
msgstr ""
#. type: TP
-#: build/C/man3/recno.3:89
+#: build/C/man3/recno.3:96
#, no-wrap
msgid "B<R_FIXEDLEN>"
msgstr ""
#. type: Plain text
-#: build/C/man3/recno.3:100
+#: build/C/man3/recno.3:107
msgid ""
"The records are fixed-length, not byte delimited. The structure element "
"I<reclen> specifies the length of the record, and the structure element "
msgstr ""
#. type: TP
-#: build/C/man3/recno.3:100
+#: build/C/man3/recno.3:107
#, no-wrap
msgid "B<R_NOKEY>"
msgstr ""
#. type: Plain text
-#: build/C/man3/recno.3:113
+#: build/C/man3/recno.3:120
msgid ""
"In the interface specified by B<dbopen>(3), the sequential record retrieval "
"fills in both the caller's key and data structures. If the B<R_NOKEY> flag "
msgstr ""
#. type: TP
-#: build/C/man3/recno.3:113
+#: build/C/man3/recno.3:120
#, no-wrap
msgid "B<R_SNAPSHOT>"
msgstr ""
#. type: Plain text
-#: build/C/man3/recno.3:119
+#: build/C/man3/recno.3:126
msgid ""
"This flag requires that a snapshot of the file be taken when B<dbopen>(3) "
"is called, instead of permitting any unmodified records to be read from the "
msgstr ""
#. type: Plain text
-#: build/C/man3/recno.3:129
+#: build/C/man3/recno.3:136
msgid ""
"A suggested maximum size, in bytes, of the memory cache. This value is "
"B<only> advisory, and the access method will allocate more memory rather "
msgstr ""
#. type: Plain text
-#: build/C/man3/recno.3:141
+#: build/C/man3/recno.3:148
msgid ""
"The recno access method stores the in-memory copies of its records in a "
"btree. This value is the size (in bytes) of the pages used for nodes in "
msgstr ""
#. type: TP
-#: build/C/man3/recno.3:149
+#: build/C/man3/recno.3:156
#, no-wrap
msgid "I<reclen>"
msgstr ""
#. type: Plain text
-#: build/C/man3/recno.3:152
+#: build/C/man3/recno.3:159
msgid "The length of a fixed-length record."
msgstr ""
#. type: TP
-#: build/C/man3/recno.3:152
+#: build/C/man3/recno.3:159
#, no-wrap
msgid "I<bval>"
msgstr ""
#. type: Plain text
-#: build/C/man3/recno.3:160
+#: build/C/man3/recno.3:167
msgid ""
"The delimiting byte to be used to mark the end of a record for "
"variable-length records, and the pad character for fixed-length records. If "
msgstr ""
#. type: TP
-#: build/C/man3/recno.3:160
+#: build/C/man3/recno.3:167
#, no-wrap
msgid "I<bfname>"
msgstr ""
#. type: Plain text
-#: build/C/man3/recno.3:170
+#: build/C/man3/recno.3:177
msgid ""
"The recno access method stores the in-memory copies of its records in a "
"btree. If I<bfname> is non-NULL, it specifies the name of the btree file, "
msgstr ""
#. type: Plain text
-#: build/C/man3/recno.3:188
+#: build/C/man3/recno.3:195
msgid ""
"The data part of the key/data pair used by the I<recno> access method is the "
"same as other access methods. The key is different. The I<data> field of "
msgstr ""
#. type: Plain text
-#: build/C/man3/recno.3:193
+#: build/C/man3/recno.3:200
msgid ""
"Because there can be no metadata associated with the underlying recno access "
"method files, any changes made to the default values (e.g., fixed record "
msgstr ""
#. type: Plain text
-#: build/C/man3/recno.3:201
+#: build/C/man3/recno.3:208
msgid ""
"In the interface specified by B<dbopen>(3), using the I<put> interface to "
"create a new record will cause the creation of multiple, empty records if "
msgstr ""
#. type: Plain text
-#: build/C/man3/recno.3:209
+#: build/C/man3/recno.3:216
msgid ""
"The I<recno> access method routines may fail and set I<errno> for any of the "
"errors specified for the library routine B<dbopen>(3) or the following:"
msgstr ""
#. type: Plain text
-#: build/C/man3/recno.3:213
+#: build/C/man3/recno.3:220
msgid ""
"An attempt was made to add a record to a fixed-length database that was too "
"large to fit."
msgstr ""
#. type: Plain text
-#: build/C/man3/recno.3:220
+#: build/C/man3/recno.3:227
msgid "B<btree>(3), B<dbopen>(3), B<hash>(3), B<mpool>(3)"
msgstr ""
#. type: Plain text
-#: build/C/man3/recno.3:223
+#: build/C/man3/recno.3:231
msgid ""
"I<Document Processing in a Relational Database System>, Michael Stonebraker, "
"Heidi Stettner, Joseph Kalash, Antonin Guttman, Nadene Lynn, Memorandum "