OSDN Git Service

(split) LDP: Update POT and ja.po to LDP v3.54
[linuxjm/LDP_man-pages.git] / po4a / db / po / db.pot
1 # SOME DESCRIPTIVE TITLE
2 # Copyright (C) YEAR Free Software Foundation, Inc.
3 # This file is distributed under the same license as the PACKAGE package.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5 #
6 #, fuzzy
7 msgid ""
8 msgstr ""
9 "Project-Id-Version: PACKAGE VERSION\n"
10 "POT-Creation-Date: 2013-09-28 04:06+0900\n"
11 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
12 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13 "Language-Team: LANGUAGE <LL@li.org>\n"
14 "Language: \n"
15 "MIME-Version: 1.0\n"
16 "Content-Type: text/plain; charset=CHARSET\n"
17 "Content-Transfer-Encoding: 8bit\n"
18
19 #. type: TH
20 #: build/C/man3/btree.3:36
21 #, no-wrap
22 msgid "BTREE"
23 msgstr ""
24
25 #. type: TH
26 #: build/C/man3/btree.3:36 build/C/man3/hash.3:36 build/C/man3/recno.3:36
27 #, no-wrap
28 msgid "2012-04-23"
29 msgstr ""
30
31 #. type: TH
32 #: build/C/man3/btree.3:36 build/C/man3/dbopen.3:36 build/C/man3/hash.3:36 build/C/man3/mpool.3:36 build/C/man3/recno.3:36
33 #, no-wrap
34 msgid "Linux Programmer's Manual"
35 msgstr ""
36
37 #. type: SH
38 #: build/C/man3/btree.3:38 build/C/man3/dbopen.3:38 build/C/man3/hash.3:38 build/C/man3/mpool.3:38 build/C/man3/recno.3:38
39 #, no-wrap
40 msgid "NAME"
41 msgstr ""
42
43 #. type: Plain text
44 #: build/C/man3/btree.3:40
45 msgid "btree - btree database access method"
46 msgstr ""
47
48 #. type: SH
49 #: build/C/man3/btree.3:40 build/C/man3/dbopen.3:40 build/C/man3/hash.3:40 build/C/man3/mpool.3:40 build/C/man3/recno.3:40
50 #, no-wrap
51 msgid "SYNOPSIS"
52 msgstr ""
53
54 #. type: Plain text
55 #: build/C/man3/btree.3:45 build/C/man3/hash.3:45 build/C/man3/recno.3:45
56 #, no-wrap
57 msgid ""
58 "B<#include E<lt>sys/types.hE<gt>\n"
59 "#include E<lt>db.hE<gt>>\n"
60 msgstr ""
61
62 #. type: SH
63 #: build/C/man3/btree.3:47 build/C/man3/dbopen.3:51 build/C/man3/hash.3:47 build/C/man3/mpool.3:62 build/C/man3/recno.3:47
64 #, no-wrap
65 msgid "DESCRIPTION"
66 msgstr ""
67
68 #. type: Plain text
69 #: build/C/man3/btree.3:54 build/C/man3/dbopen.3:58 build/C/man3/hash.3:54 build/C/man3/mpool.3:69 build/C/man3/recno.3:54
70 msgid ""
71 "I<Note well>: This page documents interfaces provided in glibc up until "
72 "version 2.1.  Since version 2.2, glibc no longer provides these interfaces.  "
73 "Probably, you are looking for the APIs provided by the I<libdb> library "
74 "instead."
75 msgstr ""
76
77 #. type: Plain text
78 #: build/C/man3/btree.3:62
79 msgid ""
80 "The routine B<dbopen>(3)  is the library interface to database files.  One "
81 "of the supported file formats is btree files.  The general description of "
82 "the database access methods is in B<dbopen>(3), this manual page describes "
83 "only the btree specific information."
84 msgstr ""
85
86 #. type: Plain text
87 #: build/C/man3/btree.3:65
88 msgid ""
89 "The btree data structure is a sorted, balanced tree structure storing "
90 "associated key/data pairs."
91 msgstr ""
92
93 #. type: Plain text
94 #: build/C/man3/btree.3:71
95 msgid ""
96 "The btree access method specific data structure provided to B<dbopen>(3)  is "
97 "defined in the I<E<lt>db.hE<gt>> include file as follows:"
98 msgstr ""
99
100 #. type: Plain text
101 #: build/C/man3/btree.3:84
102 #, no-wrap
103 msgid ""
104 "typedef struct {\n"
105 "    unsigned long flags;\n"
106 "    unsigned int  cachesize;\n"
107 "    int           maxkeypage;\n"
108 "    int           minkeypage;\n"
109 "    unsigned int  psize;\n"
110 "    int         (*compare)(const DBT *key1, const DBT *key2);\n"
111 "    size_t      (*prefix)(const DBT *key1, const DBT *key2);\n"
112 "    int           lorder;\n"
113 "} BTREEINFO;\n"
114 msgstr ""
115
116 #. type: Plain text
117 #: build/C/man3/btree.3:88 build/C/man3/hash.3:85
118 msgid "The elements of this structure are as follows:"
119 msgstr ""
120
121 #. type: TP
122 #: build/C/man3/btree.3:88
123 #, no-wrap
124 msgid "I<flags>"
125 msgstr ""
126
127 #. type: Plain text
128 #: build/C/man3/btree.3:91 build/C/man3/recno.3:97
129 msgid "The flag value is specified by ORing any of the following values:"
130 msgstr ""
131
132 #. type: TP
133 #: build/C/man3/btree.3:92
134 #, no-wrap
135 msgid "B<R_DUP>"
136 msgstr ""
137
138 #. type: Plain text
139 #: build/C/man3/btree.3:111
140 msgid ""
141 "Permit duplicate keys in the tree, that is, permit insertion if the key to "
142 "be inserted already exists in the tree.  The default behavior, as described "
143 "in B<dbopen>(3), is to overwrite a matching key when inserting a new key or "
144 "to fail if the B<R_NOOVERWRITE> flag is specified.  The B<R_DUP> flag is "
145 "overridden by the B<R_NOOVERWRITE> flag, and if the B<R_NOOVERWRITE> flag is "
146 "specified, attempts to insert duplicate keys into the tree will fail."
147 msgstr ""
148
149 #. type: Plain text
150 #: build/C/man3/btree.3:121
151 msgid ""
152 "If the database contains duplicate keys, the order of retrieval of key/data "
153 "pairs is undefined if the I<get> routine is used, however, I<seq> routine "
154 "calls with the B<R_CURSOR> flag set will always return the logical \"first\" "
155 "of any group of duplicate keys."
156 msgstr ""
157
158 #. type: TP
159 #: build/C/man3/btree.3:122 build/C/man3/hash.3:102 build/C/man3/recno.3:129
160 #, no-wrap
161 msgid "I<cachesize>"
162 msgstr ""
163
164 #. type: Plain text
165 #: build/C/man3/btree.3:137
166 msgid ""
167 "A suggested maximum size (in bytes) of the memory cache.  This value is "
168 "I<only> advisory, and the access method will allocate more memory rather "
169 "than fail.  Since every search examines the root page of the tree, caching "
170 "the most recently used pages substantially improves access time.  In "
171 "addition, physical writes are delayed as long as possible, so a moderate "
172 "cache can reduce the number of I/O operations significantly.  Obviously, "
173 "using a cache increases (but only increases) the likelihood of corruption or "
174 "lost data if the system crashes while a tree is being modified.  If "
175 "I<cachesize> is 0 (no size is specified) a default cache is used."
176 msgstr ""
177
178 #. type: TP
179 #: build/C/man3/btree.3:137
180 #, no-wrap
181 msgid "I<maxkeypage>"
182 msgstr ""
183
184 #.  The maximum number of keys which will be stored on any single page.
185 #.  Because of the way the btree data structure works,
186 #.  .I maxkeypage
187 #.  must always be greater than or equal to 2.
188 #.  If
189 #.  .I maxkeypage
190 #.  is 0 (no maximum number of keys is specified) the page fill factor is
191 #.  made as large as possible (which is almost invariably what is wanted).
192 #. type: Plain text
193 #: build/C/man3/btree.3:149
194 msgid ""
195 "The maximum number of keys which will be stored on any single page.  Not "
196 "currently implemented."
197 msgstr ""
198
199 #. type: TP
200 #: build/C/man3/btree.3:149
201 #, no-wrap
202 msgid "I<minkeypage>"
203 msgstr ""
204
205 #. type: Plain text
206 #: build/C/man3/btree.3:159
207 msgid ""
208 "The minimum number of keys which will be stored on any single page.  This "
209 "value is used to determine which keys will be stored on overflow pages, that "
210 "is, if a key or data item is longer than the pagesize divided by the "
211 "minkeypage value, it will be stored on overflow pages instead of in the page "
212 "itself.  If I<minkeypage> is 0 (no minimum number of keys is specified) a "
213 "value of 2 is used."
214 msgstr ""
215
216 #. type: TP
217 #: build/C/man3/btree.3:159 build/C/man3/recno.3:138
218 #, no-wrap
219 msgid "I<psize>"
220 msgstr ""
221
222 #. type: Plain text
223 #: build/C/man3/btree.3:167
224 msgid ""
225 "Page size is the size (in bytes) of the pages used for nodes in the tree.  "
226 "The minimum page size is 512 bytes and the maximum page size is 64K.  If "
227 "I<psize> is 0 (no page size is specified) a page size is chosen based on the "
228 "underlying filesystem I/O block size."
229 msgstr ""
230
231 #. type: TP
232 #: build/C/man3/btree.3:167
233 #, no-wrap
234 msgid "I<compare>"
235 msgstr ""
236
237 #. type: Plain text
238 #: build/C/man3/btree.3:179
239 msgid ""
240 "Compare is the key comparison function.  It must return an integer less "
241 "than, equal to, or greater than zero if the first key argument is considered "
242 "to be respectively less than, equal to, or greater than the second key "
243 "argument.  The same comparison function must be used on a given tree every "
244 "time it is opened.  If I<compare> is NULL (no comparison function is "
245 "specified), the keys are compared lexically, with shorter keys considered "
246 "less than longer keys."
247 msgstr ""
248
249 #. type: TP
250 #: build/C/man3/btree.3:179
251 #, no-wrap
252 msgid "I<prefix>"
253 msgstr ""
254
255 #. type: Plain text
256 #: build/C/man3/btree.3:198
257 msgid ""
258 "Prefix is the prefix comparison function.  If specified, this routine must "
259 "return the number of bytes of the second key argument which are necessary to "
260 "determine that it is greater than the first key argument.  If the keys are "
261 "equal, the key length should be returned.  Note, the usefulness of this "
262 "routine is very data-dependent, but, in some data sets can produce "
263 "significantly reduced tree sizes and search times.  If I<prefix> is NULL (no "
264 "prefix function is specified), I<and> no comparison function is specified, a "
265 "default lexical comparison routine is used.  If I<prefix> is NULL and a "
266 "comparison routine is specified, no prefix comparison is done."
267 msgstr ""
268
269 #. type: TP
270 #: build/C/man3/btree.3:198 build/C/man3/hash.3:117 build/C/man3/recno.3:150
271 #, no-wrap
272 msgid "I<lorder>"
273 msgstr ""
274
275 #. type: Plain text
276 #: build/C/man3/btree.3:206 build/C/man3/recno.3:158
277 msgid ""
278 "The byte order for integers in the stored database metadata.  The number "
279 "should represent the order as an integer; for example, big endian order "
280 "would be the number 4,321.  If I<lorder> is 0 (no order is specified) the "
281 "current host order is used."
282 msgstr ""
283
284 #. type: Plain text
285 #: build/C/man3/btree.3:217
286 msgid ""
287 "If the file already exists (and the B<O_TRUNC> flag is not specified), the "
288 "values specified for the arguments I<flags>, I<lorder> and I<psize> are "
289 "ignored in favor of the values used when the tree was created."
290 msgstr ""
291
292 #. type: Plain text
293 #: build/C/man3/btree.3:219
294 msgid "Forward sequential scans of a tree are from the least key to the greatest."
295 msgstr ""
296
297 #. type: Plain text
298 #: build/C/man3/btree.3:225
299 msgid ""
300 "Space freed up by deleting key/data pairs from the tree is never reclaimed, "
301 "although it is normally made available for reuse.  This means that the btree "
302 "storage structure is grow-only.  The only solutions are to avoid excessive "
303 "deletions, or to create a fresh tree periodically from a scan of an existing "
304 "one."
305 msgstr ""
306
307 #. type: Plain text
308 #: build/C/man3/btree.3:231
309 msgid ""
310 "Searches, insertions, and deletions in a btree will all complete in O lg "
311 "base N where base is the average fill factor.  Often, inserting ordered data "
312 "into btrees results in a low fill factor.  This implementation has been "
313 "modified to make ordered insertion the best case, resulting in a much better "
314 "than normal page fill factor."
315 msgstr ""
316
317 #. type: SH
318 #: build/C/man3/btree.3:231 build/C/man3/dbopen.3:481 build/C/man3/hash.3:151 build/C/man3/mpool.3:185 build/C/man3/recno.3:210
319 #, no-wrap
320 msgid "ERRORS"
321 msgstr ""
322
323 #. type: Plain text
324 #: build/C/man3/btree.3:238
325 msgid ""
326 "The I<btree> access method routines may fail and set I<errno> for any of the "
327 "errors specified for the library routine B<dbopen>(3)."
328 msgstr ""
329
330 #. type: SH
331 #: build/C/man3/btree.3:238 build/C/man3/dbopen.3:543 build/C/man3/hash.3:158 build/C/man3/recno.3:222
332 #, no-wrap
333 msgid "BUGS"
334 msgstr ""
335
336 #. type: Plain text
337 #: build/C/man3/btree.3:240 build/C/man3/recno.3:224
338 msgid "Only big and little endian byte order is supported."
339 msgstr ""
340
341 #. type: SH
342 #: build/C/man3/btree.3:240 build/C/man3/dbopen.3:554 build/C/man3/hash.3:160 build/C/man3/mpool.3:230 build/C/man3/recno.3:224
343 #, no-wrap
344 msgid "SEE ALSO"
345 msgstr ""
346
347 #. type: Plain text
348 #: build/C/man3/btree.3:245
349 msgid "B<dbopen>(3), B<hash>(3), B<mpool>(3), B<recno>(3)"
350 msgstr ""
351
352 #. type: Plain text
353 #: build/C/man3/btree.3:248
354 msgid ""
355 "I<The Ubiquitous B-tree>, Douglas Comer, ACM Comput. Surv. 11, 2 (June "
356 "1979), 121-138."
357 msgstr ""
358
359 #. type: Plain text
360 #: build/C/man3/btree.3:252
361 msgid ""
362 "I<Prefix B-trees>, Bayer and Unterauer, ACM Transactions on Database "
363 "Systems, Vol. 2, 1 (March 1977), 11-26."
364 msgstr ""
365
366 #. type: Plain text
367 #: build/C/man3/btree.3:255
368 msgid ""
369 "I<The Art of Computer Programming Vol. 3: Sorting and Searching>, "
370 "D.E. Knuth, 1968, pp 471-480."
371 msgstr ""
372
373 #. type: SH
374 #: build/C/man3/btree.3:255 build/C/man3/dbopen.3:562 build/C/man3/hash.3:171 build/C/man3/mpool.3:235 build/C/man3/recno.3:233
375 #, no-wrap
376 msgid "COLOPHON"
377 msgstr ""
378
379 #. type: Plain text
380 #: build/C/man3/btree.3:262 build/C/man3/dbopen.3:569 build/C/man3/hash.3:178 build/C/man3/mpool.3:242 build/C/man3/recno.3:240
381 msgid ""
382 "This page is part of release 3.54 of the Linux I<man-pages> project.  A "
383 "description of the project, and information about reporting bugs, can be "
384 "found at \\%http://www.kernel.org/doc/man-pages/."
385 msgstr ""
386
387 #. type: TH
388 #: build/C/man3/dbopen.3:36
389 #, no-wrap
390 msgid "DBOPEN"
391 msgstr ""
392
393 #. type: TH
394 #: build/C/man3/dbopen.3:36
395 #, no-wrap
396 msgid "2012-05-04"
397 msgstr ""
398
399 #. type: Plain text
400 #: build/C/man3/dbopen.3:40
401 msgid "dbopen - database access methods"
402 msgstr ""
403
404 #. type: Plain text
405 #: build/C/man3/dbopen.3:46
406 #, no-wrap
407 msgid ""
408 "B<#include E<lt>sys/types.hE<gt>>\n"
409 "B<#include E<lt>limits.hE<gt>>\n"
410 "B<#include E<lt>db.hE<gt>>\n"
411 "B<#include E<lt>fcntl.hE<gt>>\n"
412 msgstr ""
413
414 #. type: Plain text
415 #: build/C/man3/dbopen.3:50
416 #, no-wrap
417 msgid ""
418 "B<DB *dbopen(const char *>I<file>B<, int >I<flags>B<, int >I<mode>B<, DBTYPE "
419 ">I<type>B<,>\n"
420 "B<           const void *>I<openinfo>B<);>\n"
421 msgstr ""
422
423 #. type: Plain text
424 #: build/C/man3/dbopen.3:72
425 msgid ""
426 "B<dbopen>()  is the library interface to database files.  The supported file "
427 "formats are btree, hashed and UNIX file oriented.  The btree format is a "
428 "representation of a sorted, balanced tree structure.  The hashed format is "
429 "an extensible, dynamic hashing scheme.  The flat-file format is a byte "
430 "stream file with fixed or variable length records.  The formats and file "
431 "format specific information are described in detail in their respective "
432 "manual pages B<btree>(3), B<hash>(3)  and B<recno>(3)."
433 msgstr ""
434
435 #. type: Plain text
436 #: build/C/man3/dbopen.3:81
437 msgid ""
438 "B<dbopen>()  opens I<file> for reading and/or writing.  Files never intended "
439 "to be preserved on disk may be created by setting the I<file> argument to "
440 "NULL."
441 msgstr ""
442
443 #. Three additional options may be specified by ORing
444 #. them into the
445 #. .I flags
446 #. argument.
447 #. .TP
448 #. DB_LOCK
449 #. Do the necessary locking in the database to support concurrent access.
450 #. If concurrent access isn't needed or the database is read-only this
451 #. flag should not be set, as it tends to have an associated performance
452 #. penalty.
453 #. .TP
454 #. DB_SHMEM
455 #. Place the underlying memory pool used by the database in shared
456 #. memory.
457 #. Necessary for concurrent access.
458 #. .TP
459 #. DB_TXN
460 #. Support transactions in the database.
461 #. The DB_LOCK and DB_SHMEM flags must be set as well.
462 #. type: Plain text
463 #: build/C/man3/dbopen.3:121
464 msgid ""
465 "The I<flags> and I<mode> arguments are as specified to the B<open>(2)  "
466 "routine, however, only the B<O_CREAT>, B<O_EXCL>, B<O_EXLOCK>, "
467 "B<O_NONBLOCK>, B<O_RDONLY>, B<O_RDWR>, B<O_SHLOCK>, and B<O_TRUNC> flags are "
468 "meaningful.  (Note, opening a database file B<O_WRONLY> is not possible.)"
469 msgstr ""
470
471 #. type: Plain text
472 #: build/C/man3/dbopen.3:134
473 msgid ""
474 "The I<type> argument is of type I<DBTYPE> (as defined in the "
475 "I<E<lt>db.hE<gt>> include file) and may be set to B<DB_BTREE>, B<DB_HASH>, "
476 "or B<DB_RECNO>."
477 msgstr ""
478
479 #. type: Plain text
480 #: build/C/man3/dbopen.3:143
481 msgid ""
482 "The I<openinfo> argument is a pointer to an access method specific structure "
483 "described in the access method's manual page.  If I<openinfo> is NULL, each "
484 "access method will use defaults appropriate for the system and the access "
485 "method."
486 msgstr ""
487
488 #. type: Plain text
489 #: build/C/man3/dbopen.3:154
490 msgid ""
491 "B<dbopen>()  returns a pointer to a I<DB> structure on success and NULL on "
492 "error.  The I<DB> structure is defined in the I<E<lt>db.hE<gt>> include "
493 "file, and contains at least the following fields:"
494 msgstr ""
495
496 #. type: Plain text
497 #: build/C/man3/dbopen.3:170
498 #, no-wrap
499 msgid ""
500 "typedef struct {\n"
501 "    DBTYPE type;\n"
502 "    int (*close)(const DB *db);\n"
503 "    int (*del)(const DB *db, const DBT *key, unsigned int flags);\n"
504 "    int (*fd)(const DB *db);\n"
505 "    int (*get)(const DB *db, DBT *key, DBT *data,\n"
506 "               unsigned int flags);\n"
507 "    int (*put)(const DB *db, DBT *key, const DBT *data,\n"
508 "               unsigned int flags);\n"
509 "    int (*sync)(const DB *db, unsigned int flags);\n"
510 "    int (*seq)(const DB *db, DBT *key, DBT *data,\n"
511 "               unsigned int flags);\n"
512 "} DB;\n"
513 msgstr ""
514
515 #. type: Plain text
516 #: build/C/man3/dbopen.3:178
517 msgid ""
518 "These elements describe a database type and a set of functions performing "
519 "various actions.  These functions take a pointer to a structure as returned "
520 "by B<dbopen>(), and sometimes one or more pointers to key/data structures "
521 "and a flag value."
522 msgstr ""
523
524 #. type: TP
525 #: build/C/man3/dbopen.3:178
526 #, no-wrap
527 msgid "I<type>"
528 msgstr ""
529
530 #. type: Plain text
531 #: build/C/man3/dbopen.3:181
532 msgid "The type of the underlying access method (and file format)."
533 msgstr ""
534
535 #. type: TP
536 #: build/C/man3/dbopen.3:181
537 #, no-wrap
538 msgid "I<close>"
539 msgstr ""
540
541 #. type: Plain text
542 #: build/C/man3/dbopen.3:195
543 msgid ""
544 "A pointer to a routine to flush any cached information to disk, free any "
545 "allocated resources, and close the underlying file(s).  Since key/data pairs "
546 "may be cached in memory, failing to sync the file with a I<close> or I<sync> "
547 "function may result in inconsistent or lost information.  I<close> routines "
548 "return -1 on error (setting I<errno>)  and 0 on success."
549 msgstr ""
550
551 #. type: TP
552 #: build/C/man3/dbopen.3:195
553 #, no-wrap
554 msgid "I<del>"
555 msgstr ""
556
557 #. type: Plain text
558 #: build/C/man3/dbopen.3:198
559 msgid "A pointer to a routine to remove key/data pairs from the database."
560 msgstr ""
561
562 #. type: Plain text
563 #: build/C/man3/dbopen.3:202
564 msgid "The argument I<flag> may be set to the following value:"
565 msgstr ""
566
567 #. type: TP
568 #: build/C/man3/dbopen.3:203 build/C/man3/dbopen.3:259 build/C/man3/dbopen.3:359
569 #, no-wrap
570 msgid "B<R_CURSOR>"
571 msgstr ""
572
573 #. type: Plain text
574 #: build/C/man3/dbopen.3:207
575 msgid ""
576 "Delete the record referenced by the cursor.  The cursor must have previously "
577 "been initialized."
578 msgstr ""
579
580 #. type: Plain text
581 #: build/C/man3/dbopen.3:215
582 msgid ""
583 "I<delete> routines return -1 on error (setting I<errno>), 0 on success, and "
584 "1 if the specified I<key> was not in the file."
585 msgstr ""
586
587 #. type: TP
588 #: build/C/man3/dbopen.3:215
589 #, no-wrap
590 msgid "I<fd>"
591 msgstr ""
592
593 #. type: Plain text
594 #: build/C/man3/dbopen.3:237
595 msgid ""
596 "A pointer to a routine which returns a file descriptor representative of the "
597 "underlying database.  A file descriptor referencing the same file will be "
598 "returned to all processes which call B<dbopen>()  with the same I<file> "
599 "name.  This file descriptor may be safely used as an argument to the "
600 "B<fcntl>(2)  and B<flock>(2)  locking functions.  The file descriptor is not "
601 "necessarily associated with any of the underlying files used by the access "
602 "method.  No file descriptor is available for in memory databases.  I<fd> "
603 "routines return -1 on error (setting I<errno>), and the file descriptor on "
604 "success."
605 msgstr ""
606
607 #. type: TP
608 #: build/C/man3/dbopen.3:237
609 #, no-wrap
610 msgid "I<get>"
611 msgstr ""
612
613 #. type: Plain text
614 #: build/C/man3/dbopen.3:251
615 msgid ""
616 "A pointer to a routine which is the interface for keyed retrieval from the "
617 "database.  The address and length of the data associated with the specified "
618 "I<key> are returned in the structure referenced by I<data>.  I<get> routines "
619 "return -1 on error (setting I<errno>), 0 on success, and 1 if the I<key> was "
620 "not in the file."
621 msgstr ""
622
623 #. type: TP
624 #: build/C/man3/dbopen.3:251
625 #, no-wrap
626 msgid "I<put>"
627 msgstr ""
628
629 #. type: Plain text
630 #: build/C/man3/dbopen.3:254
631 msgid "A pointer to a routine to store key/data pairs in the database."
632 msgstr ""
633
634 #. type: Plain text
635 #: build/C/man3/dbopen.3:258
636 msgid "The argument I<flag> may be set to one of the following values:"
637 msgstr ""
638
639 #. type: Plain text
640 #: build/C/man3/dbopen.3:263
641 msgid ""
642 "Replace the key/data pair referenced by the cursor.  The cursor must have "
643 "previously been initialized."
644 msgstr ""
645
646 #. type: TP
647 #: build/C/man3/dbopen.3:263
648 #, no-wrap
649 msgid "B<R_IAFTER>"
650 msgstr ""
651
652 #. type: Plain text
653 #: build/C/man3/dbopen.3:274
654 msgid ""
655 "Append the data immediately after the data referenced by I<key>, creating a "
656 "new key/data pair.  The record number of the appended key/data pair is "
657 "returned in the I<key> structure.  (Applicable only to the B<DB_RECNO> "
658 "access method.)"
659 msgstr ""
660
661 #. type: TP
662 #: build/C/man3/dbopen.3:274
663 #, no-wrap
664 msgid "B<R_IBEFORE>"
665 msgstr ""
666
667 #. type: Plain text
668 #: build/C/man3/dbopen.3:285
669 msgid ""
670 "Insert the data immediately before the data referenced by I<key>, creating a "
671 "new key/data pair.  The record number of the inserted key/data pair is "
672 "returned in the I<key> structure.  (Applicable only to the B<DB_RECNO> "
673 "access method.)"
674 msgstr ""
675
676 #. type: TP
677 #: build/C/man3/dbopen.3:285
678 #, no-wrap
679 msgid "B<R_NOOVERWRITE>"
680 msgstr ""
681
682 #. type: Plain text
683 #: build/C/man3/dbopen.3:288
684 msgid "Enter the new key/data pair only if the key does not previously exist."
685 msgstr ""
686
687 #. type: TP
688 #: build/C/man3/dbopen.3:288
689 #, no-wrap
690 msgid "B<R_SETCURSOR>"
691 msgstr ""
692
693 #. type: Plain text
694 #: build/C/man3/dbopen.3:297
695 msgid ""
696 "Store the key/data pair, setting or initializing the position of the cursor "
697 "to reference it.  (Applicable only to the B<DB_BTREE> and B<DB_RECNO> access "
698 "methods.)"
699 msgstr ""
700
701 #. type: Plain text
702 #: build/C/man3/dbopen.3:307
703 msgid ""
704 "B<R_SETCURSOR> is available only for the B<DB_BTREE> and B<DB_RECNO> access "
705 "methods because it implies that the keys have an inherent order which does "
706 "not change."
707 msgstr ""
708
709 #. type: Plain text
710 #: build/C/man3/dbopen.3:317
711 msgid ""
712 "B<R_IAFTER> and B<R_IBEFORE> are available only for the B<DB_RECNO> access "
713 "method because they each imply that the access method is able to create new "
714 "keys.  This is true only if the keys are ordered and independent, record "
715 "numbers for example."
716 msgstr ""
717
718 #. type: Plain text
719 #: build/C/man3/dbopen.3:322
720 msgid ""
721 "The default behavior of the I<put> routines is to enter the new key/data "
722 "pair, replacing any previously existing key."
723 msgstr ""
724
725 #. type: Plain text
726 #: build/C/man3/dbopen.3:330
727 msgid ""
728 "I<put> routines return -1 on error (setting I<errno>), 0 on success, and 1 "
729 "if the B<R_NOOVERWRITE> I<flag> was set and the key already exists in the "
730 "file."
731 msgstr ""
732
733 #. type: TP
734 #: build/C/man3/dbopen.3:330
735 #, no-wrap
736 msgid "I<seq>"
737 msgstr ""
738
739 #. type: Plain text
740 #: build/C/man3/dbopen.3:341
741 msgid ""
742 "A pointer to a routine which is the interface for sequential retrieval from "
743 "the database.  The address and length of the key are returned in the "
744 "structure referenced by I<key>, and the address and length of the data are "
745 "returned in the structure referenced by I<data>."
746 msgstr ""
747
748 #. type: Plain text
749 #: build/C/man3/dbopen.3:354
750 msgid ""
751 "Sequential key/data pair retrieval may begin at any time, and the position "
752 "of the \"cursor\" is not affected by calls to the I<del>, I<get>, I<put>, or "
753 "I<sync> routines.  Modifications to the database during a sequential scan "
754 "will be reflected in the scan, that is, records inserted behind the cursor "
755 "will not be returned while records inserted in front of the cursor will be "
756 "returned."
757 msgstr ""
758
759 #. type: Plain text
760 #: build/C/man3/dbopen.3:358
761 msgid "The flag value B<must> be set to one of the following values:"
762 msgstr ""
763
764 #. type: Plain text
765 #: build/C/man3/dbopen.3:372
766 msgid ""
767 "The data associated with the specified key is returned.  This differs from "
768 "the I<get> routines in that it sets or initializes the cursor to the "
769 "location of the key as well.  (Note, for the B<DB_BTREE> access method, the "
770 "returned key is not necessarily an exact match for the specified key.  The "
771 "returned key is the smallest key greater than or equal to the specified key, "
772 "permitting partial key matches and range searches.)"
773 msgstr ""
774
775 #. type: TP
776 #: build/C/man3/dbopen.3:372
777 #, no-wrap
778 msgid "B<R_FIRST>"
779 msgstr ""
780
781 #. type: Plain text
782 #: build/C/man3/dbopen.3:376
783 msgid ""
784 "The first key/data pair of the database is returned, and the cursor is set "
785 "or initialized to reference it."
786 msgstr ""
787
788 #. type: TP
789 #: build/C/man3/dbopen.3:376
790 #, no-wrap
791 msgid "B<R_LAST>"
792 msgstr ""
793
794 #. type: Plain text
795 #: build/C/man3/dbopen.3:385
796 msgid ""
797 "The last key/data pair of the database is returned, and the cursor is set or "
798 "initialized to reference it.  (Applicable only to the B<DB_BTREE> and "
799 "B<DB_RECNO> access methods.)"
800 msgstr ""
801
802 #. type: TP
803 #: build/C/man3/dbopen.3:385
804 #, no-wrap
805 msgid "B<R_NEXT>"
806 msgstr ""
807
808 #. type: Plain text
809 #: build/C/man3/dbopen.3:391
810 msgid ""
811 "Retrieve the key/data pair immediately after the cursor.  If the cursor is "
812 "not yet set, this is the same as the B<R_FIRST> flag."
813 msgstr ""
814
815 #. type: TP
816 #: build/C/man3/dbopen.3:391
817 #, no-wrap
818 msgid "B<R_PREV>"
819 msgstr ""
820
821 #. type: Plain text
822 #: build/C/man3/dbopen.3:402
823 msgid ""
824 "Retrieve the key/data pair immediately before the cursor.  If the cursor is "
825 "not yet set, this is the same as the B<R_LAST> flag.  (Applicable only to "
826 "the B<DB_BTREE> and B<DB_RECNO> access methods.)"
827 msgstr ""
828
829 #. type: Plain text
830 #: build/C/man3/dbopen.3:413
831 msgid ""
832 "B<R_LAST> and B<R_PREV> are available only for the B<DB_BTREE> and "
833 "B<DB_RECNO> access methods because they each imply that the keys have an "
834 "inherent order which does not change."
835 msgstr ""
836
837 #. type: Plain text
838 #: build/C/man3/dbopen.3:426
839 msgid ""
840 "I<seq> routines return -1 on error (setting I<errno>), 0 on success and 1 if "
841 "there are no key/data pairs less than or greater than the specified or "
842 "current key.  If the B<DB_RECNO> access method is being used, and if the "
843 "database file is a character special file and no complete key/data pairs are "
844 "currently available, the I<seq> routines return 2."
845 msgstr ""
846
847 #. type: TP
848 #: build/C/man3/dbopen.3:426
849 #, no-wrap
850 msgid "I<sync>"
851 msgstr ""
852
853 #. type: Plain text
854 #: build/C/man3/dbopen.3:432
855 msgid ""
856 "A pointer to a routine to flush any cached information to disk.  If the "
857 "database is in memory only, the I<sync> routine has no effect and will "
858 "always succeed."
859 msgstr ""
860
861 #. type: Plain text
862 #: build/C/man3/dbopen.3:434
863 msgid "The flag value may be set to the following value:"
864 msgstr ""
865
866 #. type: TP
867 #: build/C/man3/dbopen.3:435
868 #, no-wrap
869 msgid "B<R_RECNOSYNC>"
870 msgstr ""
871
872 #. type: Plain text
873 #: build/C/man3/dbopen.3:447
874 msgid ""
875 "If the B<DB_RECNO> access method is being used, this flag causes the sync "
876 "routine to apply to the btree file which underlies the recno file, not the "
877 "recno file itself.  (See the I<bfname> field of the B<recno>(3)  manual page "
878 "for more information.)"
879 msgstr ""
880
881 #. type: Plain text
882 #: build/C/man3/dbopen.3:453
883 msgid "I<sync> routines return -1 on error (setting I<errno>)  and 0 on success."
884 msgstr ""
885
886 #. type: SS
887 #: build/C/man3/dbopen.3:453
888 #, no-wrap
889 msgid "Key/data pairs"
890 msgstr ""
891
892 #. type: Plain text
893 #: build/C/man3/dbopen.3:456
894 msgid ""
895 "Access to all file types is based on key/data pairs.  Both keys and data are "
896 "represented by the following data structure:"
897 msgstr ""
898
899 #. type: Plain text
900 #: build/C/man3/dbopen.3:463
901 #, no-wrap
902 msgid ""
903 "typedef struct {\n"
904 "    void  *data;\n"
905 "    size_t size;\n"
906 "} DBT;\n"
907 msgstr ""
908
909 #. type: Plain text
910 #: build/C/man3/dbopen.3:469
911 msgid "The elements of the I<DBT> structure are defined as follows:"
912 msgstr ""
913
914 #. type: TP
915 #: build/C/man3/dbopen.3:469
916 #, no-wrap
917 msgid "I<data>"
918 msgstr ""
919
920 #. type: Plain text
921 #: build/C/man3/dbopen.3:472
922 msgid "A pointer to a byte string."
923 msgstr ""
924
925 #. type: TP
926 #: build/C/man3/dbopen.3:472
927 #, no-wrap
928 msgid "I<size>"
929 msgstr ""
930
931 #. type: Plain text
932 #: build/C/man3/dbopen.3:475
933 msgid "The length of the byte string."
934 msgstr ""
935
936 #. type: Plain text
937 #: build/C/man3/dbopen.3:481
938 msgid ""
939 "Key and data byte strings may reference strings of essentially unlimited "
940 "length although any two of them must fit into available memory at the same "
941 "time.  It should be noted that the access methods provide no guarantees "
942 "about byte string alignment."
943 msgstr ""
944
945 #. type: Plain text
946 #: build/C/man3/dbopen.3:491
947 msgid ""
948 "The B<dbopen>()  routine may fail and set I<errno> for any of the errors "
949 "specified for the library routines B<open>(2)  and B<malloc>(3)  or the "
950 "following:"
951 msgstr ""
952
953 #. type: TP
954 #: build/C/man3/dbopen.3:491
955 #, no-wrap
956 msgid "B<EFTYPE>"
957 msgstr ""
958
959 #. type: Plain text
960 #: build/C/man3/dbopen.3:494
961 msgid "A file is incorrectly formatted."
962 msgstr ""
963
964 #. type: TP
965 #: build/C/man3/dbopen.3:494 build/C/man3/mpool.3:198 build/C/man3/recno.3:218
966 #, no-wrap
967 msgid "B<EINVAL>"
968 msgstr ""
969
970 #. type: Plain text
971 #: build/C/man3/dbopen.3:501
972 msgid ""
973 "A parameter has been specified (hash function, pad byte, etc.) that is "
974 "incompatible with the current file specification or which is not meaningful "
975 "for the function (for example, use of the cursor without prior "
976 "initialization) or there is a mismatch between the version number of file "
977 "and the software."
978 msgstr ""
979
980 #. type: Plain text
981 #: build/C/man3/dbopen.3:513
982 msgid ""
983 "The I<close> routines may fail and set I<errno> for any of the errors "
984 "specified for the library routines B<close>(2), B<read>(2), B<write>(2), "
985 "B<free>(3), or B<fsync>(2)."
986 msgstr ""
987
988 #. type: Plain text
989 #: build/C/man3/dbopen.3:528
990 msgid ""
991 "The I<del>, I<get>, I<put> and I<seq> routines may fail and set I<errno> for "
992 "any of the errors specified for the library routines B<read>(2), "
993 "B<write>(2), B<free>(3)  or B<malloc>(3)."
994 msgstr ""
995
996 #. type: Plain text
997 #: build/C/man3/dbopen.3:536
998 msgid ""
999 "The I<fd> routines will fail and set I<errno> to B<ENOENT> for in memory "
1000 "databases."
1001 msgstr ""
1002
1003 #. type: Plain text
1004 #: build/C/man3/dbopen.3:543
1005 msgid ""
1006 "The I<sync> routines may fail and set I<errno> for any of the errors "
1007 "specified for the library routine B<fsync>(2)."
1008 msgstr ""
1009
1010 #. type: Plain text
1011 #: build/C/man3/dbopen.3:548
1012 msgid ""
1013 "The typedef I<DBT> is a mnemonic for \"data base thang\", and was used "
1014 "because no-one could think of a reasonable name that wasn't already used."
1015 msgstr ""
1016
1017 #. type: Plain text
1018 #: build/C/man3/dbopen.3:551
1019 msgid ""
1020 "The file descriptor interface is a kludge and will be deleted in a future "
1021 "version of the interface."
1022 msgstr ""
1023
1024 #. type: Plain text
1025 #: build/C/man3/dbopen.3:554
1026 msgid ""
1027 "None of the access methods provide any form of concurrent access, locking, "
1028 "or transactions."
1029 msgstr ""
1030
1031 #. type: Plain text
1032 #: build/C/man3/dbopen.3:559
1033 msgid "B<btree>(3), B<hash>(3), B<mpool>(3), B<recno>(3)"
1034 msgstr ""
1035
1036 #. type: Plain text
1037 #: build/C/man3/dbopen.3:562
1038 msgid ""
1039 "I<LIBTP: Portable, Modular Transactions for UNIX>, Margo Seltzer, Michael "
1040 "Olson, USENIX proceedings, Winter 1992."
1041 msgstr ""
1042
1043 #. type: TH
1044 #: build/C/man3/hash.3:36
1045 #, no-wrap
1046 msgid "HASH"
1047 msgstr ""
1048
1049 #. type: Plain text
1050 #: build/C/man3/hash.3:40
1051 msgid "hash - hash database access method"
1052 msgstr ""
1053
1054 #. type: Plain text
1055 #: build/C/man3/hash.3:62
1056 msgid ""
1057 "The routine B<dbopen>(3)  is the library interface to database files.  One "
1058 "of the supported file formats is hash files.  The general description of the "
1059 "database access methods is in B<dbopen>(3), this manual page describes only "
1060 "the hash specific information."
1061 msgstr ""
1062
1063 #. type: Plain text
1064 #: build/C/man3/hash.3:64
1065 msgid "The hash data structure is an extensible, dynamic hashing scheme."
1066 msgstr ""
1067
1068 #. type: Plain text
1069 #: build/C/man3/hash.3:70
1070 msgid ""
1071 "The access method specific data structure provided to B<dbopen>(3)  is "
1072 "defined in the I<E<lt>db.hE<gt>> include file as follows:"
1073 msgstr ""
1074
1075 #. type: Plain text
1076 #: build/C/man3/hash.3:81
1077 #, no-wrap
1078 msgid ""
1079 "typedef struct {\n"
1080 "    unsigned int       bsize;\n"
1081 "    unsigned int       ffactor;\n"
1082 "    unsigned int       nelem;\n"
1083 "    unsigned int       cachesize;\n"
1084 "    uint32_t         (*hash)(const void *, size_t);\n"
1085 "    int         lorder;\n"
1086 "} HASHINFO;\n"
1087 msgstr ""
1088
1089 #. type: TP
1090 #: build/C/man3/hash.3:85
1091 #, no-wrap
1092 msgid "I<bsize>"
1093 msgstr ""
1094
1095 #. type: Plain text
1096 #: build/C/man3/hash.3:90
1097 msgid ""
1098 "defines the hash table bucket size, and is, by default, 256 bytes.  It may "
1099 "be preferable to increase the page size for disk-resident tables and tables "
1100 "with large data items."
1101 msgstr ""
1102
1103 #. type: TP
1104 #: build/C/man3/hash.3:90
1105 #, no-wrap
1106 msgid "I<ffactor>"
1107 msgstr ""
1108
1109 #. type: Plain text
1110 #: build/C/man3/hash.3:96
1111 msgid ""
1112 "indicates a desired density within the hash table.  It is an approximation "
1113 "of the number of keys allowed to accumulate in any one bucket, determining "
1114 "when the hash table grows or shrinks.  The default value is 8."
1115 msgstr ""
1116
1117 #. type: TP
1118 #: build/C/man3/hash.3:96
1119 #, no-wrap
1120 msgid "I<nelem>"
1121 msgstr ""
1122
1123 #. type: Plain text
1124 #: build/C/man3/hash.3:102
1125 msgid ""
1126 "is an estimate of the final size of the hash table.  If not set or set too "
1127 "low, hash tables will expand gracefully as keys are entered, although a "
1128 "slight performance degradation may be noticed.  The default value is 1."
1129 msgstr ""
1130
1131 #. type: Plain text
1132 #: build/C/man3/hash.3:108
1133 msgid ""
1134 "is the suggested maximum size, in bytes, of the memory cache.  This value is "
1135 "I<only advisory>, and the access method will allocate more memory rather "
1136 "than fail."
1137 msgstr ""
1138
1139 #. type: TP
1140 #: build/C/man3/hash.3:108
1141 #, no-wrap
1142 msgid "I<hash>"
1143 msgstr ""
1144
1145 #. type: Plain text
1146 #: build/C/man3/hash.3:117
1147 msgid ""
1148 "is a user-defined hash function.  Since no hash function performs equally "
1149 "well on all possible data, the user may find that the built-in hash function "
1150 "does poorly on a particular data set.  A user-specified hash functions must "
1151 "take two arguments (a pointer to a byte string and a length) and return a "
1152 "32-bit quantity to be used as the hash value."
1153 msgstr ""
1154
1155 #. type: Plain text
1156 #: build/C/man3/hash.3:127
1157 msgid ""
1158 "is the byte order for integers in the stored database metadata.  The number "
1159 "should represent the order as an integer; for example, big endian order "
1160 "would be the number 4,321.  If I<lorder> is 0 (no order is specified) the "
1161 "current host order is used.  If the file already exists, the specified value "
1162 "is ignored and the value specified when the tree was created is used."
1163 msgstr ""
1164
1165 #. type: Plain text
1166 #: build/C/man3/hash.3:139
1167 msgid ""
1168 "If the file already exists (and the B<O_TRUNC> flag is not specified), the "
1169 "values specified for I<bsize>, I<ffactor>, I<lorder>, and I<nelem> are "
1170 "ignored and the values specified when the tree was created are used."
1171 msgstr ""
1172
1173 #. type: Plain text
1174 #: build/C/man3/hash.3:144
1175 msgid ""
1176 "If a hash function is specified, I<hash_open> will attempt to determine if "
1177 "the hash function specified is the same as the one with which the database "
1178 "was created, and will fail if it is not."
1179 msgstr ""
1180
1181 #. type: Plain text
1182 #: build/C/man3/hash.3:151
1183 msgid ""
1184 "Backward-compatible interfaces to the routines described in B<dbm>(3), and "
1185 "B<ndbm>(3)  are provided, however these interfaces are not compatible with "
1186 "previous file formats."
1187 msgstr ""
1188
1189 #. type: Plain text
1190 #: build/C/man3/hash.3:158
1191 msgid ""
1192 "The I<hash> access method routines may fail and set I<errno> for any of the "
1193 "errors specified for the library routine B<dbopen>(3)."
1194 msgstr ""
1195
1196 #. type: Plain text
1197 #: build/C/man3/hash.3:160
1198 msgid "Only big and little endian byte order are supported."
1199 msgstr ""
1200
1201 #. type: Plain text
1202 #: build/C/man3/hash.3:165
1203 msgid "B<btree>(3), B<dbopen>(3), B<mpool>(3), B<recno>(3)"
1204 msgstr ""
1205
1206 #. type: Plain text
1207 #: build/C/man3/hash.3:168
1208 msgid ""
1209 "I<Dynamic Hash Tables>, Per-Ake Larson, Communications of the ACM, April "
1210 "1988."
1211 msgstr ""
1212
1213 #. type: Plain text
1214 #: build/C/man3/hash.3:171
1215 msgid ""
1216 "I<A New Hash Package for UNIX>, Margo Seltzer, USENIX Proceedings, Winter "
1217 "1991."
1218 msgstr ""
1219
1220 #. type: TH
1221 #: build/C/man3/mpool.3:36
1222 #, no-wrap
1223 msgid "MPOOL"
1224 msgstr ""
1225
1226 #. type: TH
1227 #: build/C/man3/mpool.3:36
1228 #, no-wrap
1229 msgid "2012-04-26"
1230 msgstr ""
1231
1232 #. type: Plain text
1233 #: build/C/man3/mpool.3:40
1234 msgid "mpool - shared memory buffer pool"
1235 msgstr ""
1236
1237 #. type: Plain text
1238 #: build/C/man3/mpool.3:44
1239 #, no-wrap
1240 msgid ""
1241 "B<#include E<lt>db.hE<gt>>\n"
1242 "B<#include E<lt>mpool.hE<gt>>\n"
1243 msgstr ""
1244
1245 #. type: Plain text
1246 #: build/C/man3/mpool.3:47
1247 #, no-wrap
1248 msgid ""
1249 "B<MPOOL *mpool_open(DBT *>I<key>B<, int >I<fd>B<, pgno_t >I<pagesize>B<, "
1250 "pgno_t >I<maxcache>B<);>\n"
1251 msgstr ""
1252
1253 #. type: Plain text
1254 #: build/C/man3/mpool.3:51
1255 #, no-wrap
1256 msgid ""
1257 "B<void mpool_filter(MPOOL *>I<mp>B<, void (*pgin)(void *, pgno_t, void "
1258 "*),>\n"
1259 "B<                  void (*>I<pgout>B<)(void *, pgno_t, void *),>\n"
1260 "B<                  void *>I<pgcookie>B<);>\n"
1261 msgstr ""
1262
1263 #. type: Plain text
1264 #: build/C/man3/mpool.3:53
1265 #, no-wrap
1266 msgid "B<void *mpool_new(MPOOL *>I<mp>B<, pgno_t *>I<pgnoaddr>B<);>\n"
1267 msgstr ""
1268
1269 #. type: Plain text
1270 #: build/C/man3/mpool.3:55
1271 #, no-wrap
1272 msgid ""
1273 "B<void *mpool_get(MPOOL *>I<mp>B<, pgno_t >I<pgno>B<, unsigned int "
1274 ">I<flags>B<);>\n"
1275 msgstr ""
1276
1277 #. type: Plain text
1278 #: build/C/man3/mpool.3:57
1279 #, no-wrap
1280 msgid ""
1281 "B<int mpool_put(MPOOL *>I<mp>B<, void *>I<pgaddr>B<, unsigned int "
1282 ">I<flags>B<);>\n"
1283 msgstr ""
1284
1285 #. type: Plain text
1286 #: build/C/man3/mpool.3:59
1287 #, no-wrap
1288 msgid "B<int mpool_sync(MPOOL *>I<mp>B<);>\n"
1289 msgstr ""
1290
1291 #. type: Plain text
1292 #: build/C/man3/mpool.3:61
1293 #, no-wrap
1294 msgid "B<int mpool_close(MPOOL *>I<mp>B<);>\n"
1295 msgstr ""
1296
1297 #. type: Plain text
1298 #: build/C/man3/mpool.3:74
1299 msgid ""
1300 "I<Mpool> is the library interface intended to provide page oriented buffer "
1301 "management of files.  The buffers may be shared between processes."
1302 msgstr ""
1303
1304 #. type: Plain text
1305 #: build/C/man3/mpool.3:95
1306 msgid ""
1307 "The function B<mpool_open>()  initializes a memory pool.  The I<key> "
1308 "argument is the byte string used to negotiate between multiple processes "
1309 "wishing to share buffers.  If the file buffers are mapped in shared memory, "
1310 "all processes using the same key will share the buffers.  If I<key> is NULL, "
1311 "the buffers are mapped into private memory.  The I<fd> argument is a file "
1312 "descriptor for the underlying file, which must be seekable.  If I<key> is "
1313 "non-NULL and matches a file already being mapped, the I<fd> argument is "
1314 "ignored."
1315 msgstr ""
1316
1317 #. type: Plain text
1318 #: build/C/man3/mpool.3:106
1319 msgid ""
1320 "The I<pagesize> argument is the size, in bytes, of the pages into which the "
1321 "file is broken up.  The I<maxcache> argument is the maximum number of pages "
1322 "from the underlying file to cache at any one time.  This value is not "
1323 "relative to the number of processes which share a file's buffers, but will "
1324 "be the largest value specified by any of the processes sharing the file."
1325 msgstr ""
1326
1327 #. type: Plain text
1328 #: build/C/man3/mpool.3:122
1329 msgid ""
1330 "The B<mpool_filter>()  function is intended to make transparent input and "
1331 "output processing of the pages possible.  If the I<pgin> function is "
1332 "specified, it is called each time a buffer is read into the memory pool from "
1333 "the backing file.  If the I<pgout> function is specified, it is called each "
1334 "time a buffer is written into the backing file.  Both functions are called "
1335 "with the I<pgcookie> pointer, the page number and a pointer to the page to "
1336 "being read or written."
1337 msgstr ""
1338
1339 #. type: Plain text
1340 #: build/C/man3/mpool.3:135
1341 msgid ""
1342 "The function B<mpool_new>()  takes an I<MPOOL> pointer and an address as "
1343 "arguments.  If a new page can be allocated, a pointer to the page is "
1344 "returned and the page number is stored into the I<pgnoaddr> address.  "
1345 "Otherwise, NULL is returned and I<errno> is set."
1346 msgstr ""
1347
1348 #. type: Plain text
1349 #: build/C/man3/mpool.3:148
1350 msgid ""
1351 "The function B<mpool_get>()  takes an I<MPOOL> pointer and a page number as "
1352 "arguments.  If the page exists, a pointer to the page is returned.  "
1353 "Otherwise, NULL is returned and I<errno> is set.  The I<flags> argument is "
1354 "not currently used."
1355 msgstr ""
1356
1357 #. type: Plain text
1358 #: build/C/man3/mpool.3:160
1359 msgid ""
1360 "The function B<mpool_put>()  unpins the page referenced by I<pgaddr>.  "
1361 "I<pgaddr> must be an address previously returned by B<mpool_get>()  or "
1362 "B<mpool_new>().  The flag value is specified by ORing any of the following "
1363 "values:"
1364 msgstr ""
1365
1366 #. type: TP
1367 #: build/C/man3/mpool.3:160
1368 #, no-wrap
1369 msgid "B<MPOOL_DIRTY>"
1370 msgstr ""
1371
1372 #. type: Plain text
1373 #: build/C/man3/mpool.3:163
1374 msgid "The page has been modified and needs to be written to the backing file."
1375 msgstr ""
1376
1377 #. type: Plain text
1378 #: build/C/man3/mpool.3:166
1379 msgid "B<mpool_put>()  returns 0 on success and -1 if an error occurs."
1380 msgstr ""
1381
1382 #. type: Plain text
1383 #: build/C/man3/mpool.3:175
1384 msgid ""
1385 "The function B<mpool_sync>()  writes all modified pages associated with the "
1386 "I<MPOOL> pointer to the backing file.  B<mpool_sync>()  returns 0 on success "
1387 "and -1 if an error occurs."
1388 msgstr ""
1389
1390 #. type: Plain text
1391 #: build/C/man3/mpool.3:185
1392 msgid ""
1393 "The B<mpool_close>()  function free's up any allocated memory associated "
1394 "with the memory pool cookie.  Modified pages are B<not> written to the "
1395 "backing file.  B<mpool_close>()  returns 0 on success and -1 if an error "
1396 "occurs."
1397 msgstr ""
1398
1399 #. type: Plain text
1400 #: build/C/man3/mpool.3:192
1401 msgid ""
1402 "The B<mpool_open>()  function may fail and set I<errno> for any of the "
1403 "errors specified for the library routine B<malloc>(3)."
1404 msgstr ""
1405
1406 #. type: Plain text
1407 #: build/C/man3/mpool.3:198
1408 msgid "The B<mpool_get>()  function may fail and set I<errno> for the following:"
1409 msgstr ""
1410
1411 #. type: Plain text
1412 #: build/C/man3/mpool.3:201
1413 msgid "The requested record doesn't exist."
1414 msgstr ""
1415
1416 #. type: Plain text
1417 #: build/C/man3/mpool.3:213
1418 msgid ""
1419 "The B<mpool_new>()  and B<mpool_get>()  functions may fail and set I<errno> "
1420 "for any of the errors specified for the library routines B<read>(2), "
1421 "B<write>(2), and B<malloc>(3)."
1422 msgstr ""
1423
1424 #. type: Plain text
1425 #: build/C/man3/mpool.3:220
1426 msgid ""
1427 "The B<mpool_sync>()  function may fail and set I<errno> for any of the "
1428 "errors specified for the library routine B<write>(2)."
1429 msgstr ""
1430
1431 #. type: Plain text
1432 #: build/C/man3/mpool.3:227
1433 msgid ""
1434 "The B<mpool_close>()  function may fail and set I<errno> for any of the "
1435 "errors specified for the library routine B<free>(3)."
1436 msgstr ""
1437
1438 #. type: SH
1439 #: build/C/man3/mpool.3:227
1440 #, no-wrap
1441 msgid "CONFORMING TO"
1442 msgstr ""
1443
1444 #. type: Plain text
1445 #: build/C/man3/mpool.3:230
1446 msgid "Not in POSIX.1-2001.  Present on the BSDs."
1447 msgstr ""
1448
1449 #. type: Plain text
1450 #: build/C/man3/mpool.3:235
1451 msgid "B<btree>(3), B<dbopen>(3), B<hash>(3), B<recno>(3)"
1452 msgstr ""
1453
1454 #. type: TH
1455 #: build/C/man3/recno.3:36
1456 #, no-wrap
1457 msgid "RECNO"
1458 msgstr ""
1459
1460 #. type: Plain text
1461 #: build/C/man3/recno.3:40
1462 msgid "recno - record number database access method"
1463 msgstr ""
1464
1465 #. type: Plain text
1466 #: build/C/man3/recno.3:62
1467 msgid ""
1468 "The routine B<dbopen>(3)  is the library interface to database files.  One "
1469 "of the supported file formats is record number files.  The general "
1470 "description of the database access methods is in B<dbopen>(3), this manual "
1471 "page describes only the recno specific information."
1472 msgstr ""
1473
1474 #. type: Plain text
1475 #: build/C/man3/recno.3:71
1476 msgid ""
1477 "The record number data structure is either variable or fixed-length records "
1478 "stored in a flat-file format, accessed by the logical record number.  The "
1479 "existence of record number five implies the existence of records one through "
1480 "four, and the deletion of record number one causes record number five to be "
1481 "renumbered to record number four, as well as the cursor, if positioned after "
1482 "record number one, to shift down one record."
1483 msgstr ""
1484
1485 #. type: Plain text
1486 #: build/C/man3/recno.3:77
1487 msgid ""
1488 "The recno access method specific data structure provided to B<dbopen>(3)  is "
1489 "defined in the I<E<lt>db.hE<gt>> include file as follows:"
1490 msgstr ""
1491
1492 #. type: Plain text
1493 #: build/C/man3/recno.3:89
1494 #, no-wrap
1495 msgid ""
1496 "typedef struct {\n"
1497 "    unsigned long flags;\n"
1498 "    unsigned int  cachesize;\n"
1499 "    unsigned int  psize;\n"
1500 "    int           lorder;\n"
1501 "    size_t        reclen;\n"
1502 "    unsigned char bval;\n"
1503 "    char         *bfname;\n"
1504 "} RECNOINFO;\n"
1505 msgstr ""
1506
1507 #. type: Plain text
1508 #: build/C/man3/recno.3:93
1509 msgid "The elements of this structure are defined as follows:"
1510 msgstr ""
1511
1512 #. type: TP
1513 #: build/C/man3/recno.3:93
1514 #, no-wrap
1515 msgid "flags"
1516 msgstr ""
1517
1518 #. type: TP
1519 #: build/C/man3/recno.3:98
1520 #, no-wrap
1521 msgid "B<R_FIXEDLEN>"
1522 msgstr ""
1523
1524 #. type: Plain text
1525 #: build/C/man3/recno.3:109
1526 msgid ""
1527 "The records are fixed-length, not byte delimited.  The structure element "
1528 "I<reclen> specifies the length of the record, and the structure element "
1529 "I<bval> is used as the pad character.  Any records, inserted into the "
1530 "database, that are less than I<reclen> bytes long are automatically padded."
1531 msgstr ""
1532
1533 #. type: TP
1534 #: build/C/man3/recno.3:109
1535 #, no-wrap
1536 msgid "B<R_NOKEY>"
1537 msgstr ""
1538
1539 #. type: Plain text
1540 #: build/C/man3/recno.3:122
1541 msgid ""
1542 "In the interface specified by B<dbopen>(3), the sequential record retrieval "
1543 "fills in both the caller's key and data structures.  If the B<R_NOKEY> flag "
1544 "is specified, the I<cursor> routines are not required to fill in the key "
1545 "structure.  This permits applications to retrieve records at the end of "
1546 "files without reading all of the intervening records."
1547 msgstr ""
1548
1549 #. type: TP
1550 #: build/C/man3/recno.3:122
1551 #, no-wrap
1552 msgid "B<R_SNAPSHOT>"
1553 msgstr ""
1554
1555 #. type: Plain text
1556 #: build/C/man3/recno.3:128
1557 msgid ""
1558 "This flag requires that a snapshot of the file be taken when B<dbopen>(3)  "
1559 "is called, instead of permitting any unmodified records to be read from the "
1560 "original file."
1561 msgstr ""
1562
1563 #. type: Plain text
1564 #: build/C/man3/recno.3:138
1565 msgid ""
1566 "A suggested maximum size, in bytes, of the memory cache.  This value is "
1567 "B<only> advisory, and the access method will allocate more memory rather "
1568 "than fail.  If I<cachesize> is 0 (no size is specified) a default cache is "
1569 "used."
1570 msgstr ""
1571
1572 #. type: Plain text
1573 #: build/C/man3/recno.3:150
1574 msgid ""
1575 "The recno access method stores the in-memory copies of its records in a "
1576 "btree.  This value is the size (in bytes) of the pages used for nodes in "
1577 "that tree.  If I<psize> is 0 (no page size is specified) a page size is "
1578 "chosen based on the underlying filesystem I/O block size.  See B<btree>(3)  "
1579 "for more information."
1580 msgstr ""
1581
1582 #. type: TP
1583 #: build/C/man3/recno.3:158
1584 #, no-wrap
1585 msgid "I<reclen>"
1586 msgstr ""
1587
1588 #. type: Plain text
1589 #: build/C/man3/recno.3:161
1590 msgid "The length of a fixed-length record."
1591 msgstr ""
1592
1593 #. type: TP
1594 #: build/C/man3/recno.3:161
1595 #, no-wrap
1596 msgid "I<bval>"
1597 msgstr ""
1598
1599 #. type: Plain text
1600 #: build/C/man3/recno.3:169
1601 msgid ""
1602 "The delimiting byte to be used to mark the end of a record for "
1603 "variable-length records, and the pad character for fixed-length records.  If "
1604 "no value is specified, newlines (\"\\en\") are used to mark the end of "
1605 "variable-length records and fixed-length records are padded with spaces."
1606 msgstr ""
1607
1608 #. type: TP
1609 #: build/C/man3/recno.3:169
1610 #, no-wrap
1611 msgid "I<bfname>"
1612 msgstr ""
1613
1614 #. type: Plain text
1615 #: build/C/man3/recno.3:179
1616 msgid ""
1617 "The recno access method stores the in-memory copies of its records in a "
1618 "btree.  If I<bfname> is non-NULL, it specifies the name of the btree file, "
1619 "as if specified as the filename for a B<dbopen>(3)  of a btree file."
1620 msgstr ""
1621
1622 #. type: Plain text
1623 #: build/C/man3/recno.3:197
1624 msgid ""
1625 "The data part of the key/data pair used by the I<recno> access method is the "
1626 "same as other access methods.  The key is different.  The I<data> field of "
1627 "the key should be a pointer to a memory location of type I<recno_t>, as "
1628 "defined in th I<E<lt>db.hE<gt>> include file.  This type is normally the "
1629 "largest unsigned integral type available to the implementation.  The I<size> "
1630 "field of the key should be the size of that type."
1631 msgstr ""
1632
1633 #. type: Plain text
1634 #: build/C/man3/recno.3:202
1635 msgid ""
1636 "Because there can be no metadata associated with the underlying recno access "
1637 "method files, any changes made to the default values (e.g., fixed record "
1638 "length or byte separator value) must be explicitly specified each time the "
1639 "file is opened."
1640 msgstr ""
1641
1642 #. type: Plain text
1643 #: build/C/man3/recno.3:210
1644 msgid ""
1645 "In the interface specified by B<dbopen>(3), using the I<put> interface to "
1646 "create a new record will cause the creation of multiple, empty records if "
1647 "the record number is more than one greater than the largest record currently "
1648 "in the database."
1649 msgstr ""
1650
1651 #. type: Plain text
1652 #: build/C/man3/recno.3:218
1653 msgid ""
1654 "The I<recno> access method routines may fail and set I<errno> for any of the "
1655 "errors specified for the library routine B<dbopen>(3)  or the following:"
1656 msgstr ""
1657
1658 #. type: Plain text
1659 #: build/C/man3/recno.3:222
1660 msgid ""
1661 "An attempt was made to add a record to a fixed-length database that was too "
1662 "large to fit."
1663 msgstr ""
1664
1665 #. type: Plain text
1666 #: build/C/man3/recno.3:229
1667 msgid "B<btree>(3), B<dbopen>(3), B<hash>(3), B<mpool>(3)"
1668 msgstr ""
1669
1670 #. type: Plain text
1671 #: build/C/man3/recno.3:233
1672 msgid ""
1673 "I<Document Processing in a Relational Database System>, Michael Stonebraker, "
1674 "Heidi Stettner, Joseph Kalash, Antonin Guttman, Nadene Lynn, Memorandum "
1675 "No. UCB/ERL M82/32, May 1982."
1676 msgstr ""