1/* Do not edit: automatically built by gen_rec.awk. */
2
3#include "db_config.h"
4
5#ifdef HAVE_HASH
6#include "db_int.h"
7#include "dbinc/crypto.h"
8#include "dbinc/db_page.h"
9#include "dbinc/db_dispatch.h"
10#include "dbinc/db_am.h"
11#include "dbinc/hash.h"
12#include "dbinc/log.h"
13#include "dbinc/txn.h"
14
15/*
16 * PUBLIC: int __ham_insdel_print __P((ENV *, DBT *, DB_LSN *,
17 * PUBLIC:     db_recops, void *));
18 */
19int
20__ham_insdel_print(env, dbtp, lsnp, notused2, notused3)
21	ENV *env;
22	DBT *dbtp;
23	DB_LSN *lsnp;
24	db_recops notused2;
25	void *notused3;
26{
27	__ham_insdel_args *argp;
28	u_int32_t i;
29	int ch;
30	int ret;
31
32	notused2 = DB_TXN_PRINT;
33	notused3 = NULL;
34
35	if ((ret =
36	    __ham_insdel_read(env, NULL, NULL, dbtp->data, &argp)) != 0)
37		return (ret);
38	(void)printf(
39    "[%lu][%lu]__ham_insdel%s: rec: %lu txnp %lx prevlsn [%lu][%lu]\n",
40	    (u_long)lsnp->file, (u_long)lsnp->offset,
41	    (argp->type & DB_debug_FLAG) ? "_debug" : "",
42	    (u_long)argp->type,
43	    (u_long)argp->txnp->txnid,
44	    (u_long)argp->prev_lsn.file, (u_long)argp->prev_lsn.offset);
45	(void)printf("\topcode: %lu\n", (u_long)argp->opcode);
46	(void)printf("\tfileid: %ld\n", (long)argp->fileid);
47	(void)printf("\tpgno: %lu\n", (u_long)argp->pgno);
48	(void)printf("\tndx: %lu\n", (u_long)argp->ndx);
49	(void)printf("\tpagelsn: [%lu][%lu]\n",
50	    (u_long)argp->pagelsn.file, (u_long)argp->pagelsn.offset);
51	(void)printf("\tkey: ");
52	for (i = 0; i < argp->key.size; i++) {
53		ch = ((u_int8_t *)argp->key.data)[i];
54		printf(isprint(ch) || ch == 0x0a ? "%c" : "%#x ", ch);
55	}
56	(void)printf("\n");
57	(void)printf("\tdata: ");
58	for (i = 0; i < argp->data.size; i++) {
59		ch = ((u_int8_t *)argp->data.data)[i];
60		printf(isprint(ch) || ch == 0x0a ? "%c" : "%#x ", ch);
61	}
62	(void)printf("\n");
63	(void)printf("\n");
64	__os_free(env, argp);
65	return (0);
66}
67
68/*
69 * PUBLIC: int __ham_newpage_print __P((ENV *, DBT *, DB_LSN *,
70 * PUBLIC:     db_recops, void *));
71 */
72int
73__ham_newpage_print(env, dbtp, lsnp, notused2, notused3)
74	ENV *env;
75	DBT *dbtp;
76	DB_LSN *lsnp;
77	db_recops notused2;
78	void *notused3;
79{
80	__ham_newpage_args *argp;
81	int ret;
82
83	notused2 = DB_TXN_PRINT;
84	notused3 = NULL;
85
86	if ((ret =
87	    __ham_newpage_read(env, NULL, NULL, dbtp->data, &argp)) != 0)
88		return (ret);
89	(void)printf(
90    "[%lu][%lu]__ham_newpage%s: rec: %lu txnp %lx prevlsn [%lu][%lu]\n",
91	    (u_long)lsnp->file, (u_long)lsnp->offset,
92	    (argp->type & DB_debug_FLAG) ? "_debug" : "",
93	    (u_long)argp->type,
94	    (u_long)argp->txnp->txnid,
95	    (u_long)argp->prev_lsn.file, (u_long)argp->prev_lsn.offset);
96	(void)printf("\topcode: %lu\n", (u_long)argp->opcode);
97	(void)printf("\tfileid: %ld\n", (long)argp->fileid);
98	(void)printf("\tprev_pgno: %lu\n", (u_long)argp->prev_pgno);
99	(void)printf("\tprevlsn: [%lu][%lu]\n",
100	    (u_long)argp->prevlsn.file, (u_long)argp->prevlsn.offset);
101	(void)printf("\tnew_pgno: %lu\n", (u_long)argp->new_pgno);
102	(void)printf("\tpagelsn: [%lu][%lu]\n",
103	    (u_long)argp->pagelsn.file, (u_long)argp->pagelsn.offset);
104	(void)printf("\tnext_pgno: %lu\n", (u_long)argp->next_pgno);
105	(void)printf("\tnextlsn: [%lu][%lu]\n",
106	    (u_long)argp->nextlsn.file, (u_long)argp->nextlsn.offset);
107	(void)printf("\n");
108	__os_free(env, argp);
109	return (0);
110}
111
112/*
113 * PUBLIC: int __ham_splitdata_print __P((ENV *, DBT *, DB_LSN *,
114 * PUBLIC:     db_recops, void *));
115 */
116int
117__ham_splitdata_print(env, dbtp, lsnp, notused2, notused3)
118	ENV *env;
119	DBT *dbtp;
120	DB_LSN *lsnp;
121	db_recops notused2;
122	void *notused3;
123{
124	__ham_splitdata_args *argp;
125	u_int32_t i;
126	int ch;
127	int ret;
128
129	notused2 = DB_TXN_PRINT;
130	notused3 = NULL;
131
132	if ((ret =
133	    __ham_splitdata_read(env, NULL, NULL, dbtp->data, &argp)) != 0)
134		return (ret);
135	(void)printf(
136    "[%lu][%lu]__ham_splitdata%s: rec: %lu txnp %lx prevlsn [%lu][%lu]\n",
137	    (u_long)lsnp->file, (u_long)lsnp->offset,
138	    (argp->type & DB_debug_FLAG) ? "_debug" : "",
139	    (u_long)argp->type,
140	    (u_long)argp->txnp->txnid,
141	    (u_long)argp->prev_lsn.file, (u_long)argp->prev_lsn.offset);
142	(void)printf("\tfileid: %ld\n", (long)argp->fileid);
143	(void)printf("\topcode: %lu\n", (u_long)argp->opcode);
144	(void)printf("\tpgno: %lu\n", (u_long)argp->pgno);
145	(void)printf("\tpageimage: ");
146	for (i = 0; i < argp->pageimage.size; i++) {
147		ch = ((u_int8_t *)argp->pageimage.data)[i];
148		printf(isprint(ch) || ch == 0x0a ? "%c" : "%#x ", ch);
149	}
150	(void)printf("\n");
151	(void)printf("\tpagelsn: [%lu][%lu]\n",
152	    (u_long)argp->pagelsn.file, (u_long)argp->pagelsn.offset);
153	(void)printf("\n");
154	__os_free(env, argp);
155	return (0);
156}
157
158/*
159 * PUBLIC: int __ham_replace_print __P((ENV *, DBT *, DB_LSN *,
160 * PUBLIC:     db_recops, void *));
161 */
162int
163__ham_replace_print(env, dbtp, lsnp, notused2, notused3)
164	ENV *env;
165	DBT *dbtp;
166	DB_LSN *lsnp;
167	db_recops notused2;
168	void *notused3;
169{
170	__ham_replace_args *argp;
171	u_int32_t i;
172	int ch;
173	int ret;
174
175	notused2 = DB_TXN_PRINT;
176	notused3 = NULL;
177
178	if ((ret =
179	    __ham_replace_read(env, NULL, NULL, dbtp->data, &argp)) != 0)
180		return (ret);
181	(void)printf(
182    "[%lu][%lu]__ham_replace%s: rec: %lu txnp %lx prevlsn [%lu][%lu]\n",
183	    (u_long)lsnp->file, (u_long)lsnp->offset,
184	    (argp->type & DB_debug_FLAG) ? "_debug" : "",
185	    (u_long)argp->type,
186	    (u_long)argp->txnp->txnid,
187	    (u_long)argp->prev_lsn.file, (u_long)argp->prev_lsn.offset);
188	(void)printf("\tfileid: %ld\n", (long)argp->fileid);
189	(void)printf("\tpgno: %lu\n", (u_long)argp->pgno);
190	(void)printf("\tndx: %lu\n", (u_long)argp->ndx);
191	(void)printf("\tpagelsn: [%lu][%lu]\n",
192	    (u_long)argp->pagelsn.file, (u_long)argp->pagelsn.offset);
193	(void)printf("\toff: %ld\n", (long)argp->off);
194	(void)printf("\tolditem: ");
195	for (i = 0; i < argp->olditem.size; i++) {
196		ch = ((u_int8_t *)argp->olditem.data)[i];
197		printf(isprint(ch) || ch == 0x0a ? "%c" : "%#x ", ch);
198	}
199	(void)printf("\n");
200	(void)printf("\tnewitem: ");
201	for (i = 0; i < argp->newitem.size; i++) {
202		ch = ((u_int8_t *)argp->newitem.data)[i];
203		printf(isprint(ch) || ch == 0x0a ? "%c" : "%#x ", ch);
204	}
205	(void)printf("\n");
206	(void)printf("\tmakedup: %lu\n", (u_long)argp->makedup);
207	(void)printf("\n");
208	__os_free(env, argp);
209	return (0);
210}
211
212/*
213 * PUBLIC: int __ham_copypage_print __P((ENV *, DBT *, DB_LSN *,
214 * PUBLIC:     db_recops, void *));
215 */
216int
217__ham_copypage_print(env, dbtp, lsnp, notused2, notused3)
218	ENV *env;
219	DBT *dbtp;
220	DB_LSN *lsnp;
221	db_recops notused2;
222	void *notused3;
223{
224	__ham_copypage_args *argp;
225	u_int32_t i;
226	int ch;
227	int ret;
228
229	notused2 = DB_TXN_PRINT;
230	notused3 = NULL;
231
232	if ((ret =
233	    __ham_copypage_read(env, NULL, NULL, dbtp->data, &argp)) != 0)
234		return (ret);
235	(void)printf(
236    "[%lu][%lu]__ham_copypage%s: rec: %lu txnp %lx prevlsn [%lu][%lu]\n",
237	    (u_long)lsnp->file, (u_long)lsnp->offset,
238	    (argp->type & DB_debug_FLAG) ? "_debug" : "",
239	    (u_long)argp->type,
240	    (u_long)argp->txnp->txnid,
241	    (u_long)argp->prev_lsn.file, (u_long)argp->prev_lsn.offset);
242	(void)printf("\tfileid: %ld\n", (long)argp->fileid);
243	(void)printf("\tpgno: %lu\n", (u_long)argp->pgno);
244	(void)printf("\tpagelsn: [%lu][%lu]\n",
245	    (u_long)argp->pagelsn.file, (u_long)argp->pagelsn.offset);
246	(void)printf("\tnext_pgno: %lu\n", (u_long)argp->next_pgno);
247	(void)printf("\tnextlsn: [%lu][%lu]\n",
248	    (u_long)argp->nextlsn.file, (u_long)argp->nextlsn.offset);
249	(void)printf("\tnnext_pgno: %lu\n", (u_long)argp->nnext_pgno);
250	(void)printf("\tnnextlsn: [%lu][%lu]\n",
251	    (u_long)argp->nnextlsn.file, (u_long)argp->nnextlsn.offset);
252	(void)printf("\tpage: ");
253	for (i = 0; i < argp->page.size; i++) {
254		ch = ((u_int8_t *)argp->page.data)[i];
255		printf(isprint(ch) || ch == 0x0a ? "%c" : "%#x ", ch);
256	}
257	(void)printf("\n");
258	(void)printf("\n");
259	__os_free(env, argp);
260	return (0);
261}
262
263/*
264 * PUBLIC: int __ham_metagroup_42_print __P((ENV *, DBT *, DB_LSN *,
265 * PUBLIC:     db_recops, void *));
266 */
267int
268__ham_metagroup_42_print(env, dbtp, lsnp, notused2, notused3)
269	ENV *env;
270	DBT *dbtp;
271	DB_LSN *lsnp;
272	db_recops notused2;
273	void *notused3;
274{
275	__ham_metagroup_42_args *argp;
276	int ret;
277
278	notused2 = DB_TXN_PRINT;
279	notused3 = NULL;
280
281	if ((ret =
282	    __ham_metagroup_42_read(env, NULL, NULL, dbtp->data, &argp)) != 0)
283		return (ret);
284	(void)printf(
285    "[%lu][%lu]__ham_metagroup_42%s: rec: %lu txnp %lx prevlsn [%lu][%lu]\n",
286	    (u_long)lsnp->file, (u_long)lsnp->offset,
287	    (argp->type & DB_debug_FLAG) ? "_debug" : "",
288	    (u_long)argp->type,
289	    (u_long)argp->txnp->txnid,
290	    (u_long)argp->prev_lsn.file, (u_long)argp->prev_lsn.offset);
291	(void)printf("\tfileid: %ld\n", (long)argp->fileid);
292	(void)printf("\tbucket: %lu\n", (u_long)argp->bucket);
293	(void)printf("\tmmpgno: %lu\n", (u_long)argp->mmpgno);
294	(void)printf("\tmmetalsn: [%lu][%lu]\n",
295	    (u_long)argp->mmetalsn.file, (u_long)argp->mmetalsn.offset);
296	(void)printf("\tmpgno: %lu\n", (u_long)argp->mpgno);
297	(void)printf("\tmetalsn: [%lu][%lu]\n",
298	    (u_long)argp->metalsn.file, (u_long)argp->metalsn.offset);
299	(void)printf("\tpgno: %lu\n", (u_long)argp->pgno);
300	(void)printf("\tpagelsn: [%lu][%lu]\n",
301	    (u_long)argp->pagelsn.file, (u_long)argp->pagelsn.offset);
302	(void)printf("\tnewalloc: %lu\n", (u_long)argp->newalloc);
303	(void)printf("\n");
304	__os_free(env, argp);
305	return (0);
306}
307
308/*
309 * PUBLIC: int __ham_metagroup_print __P((ENV *, DBT *, DB_LSN *,
310 * PUBLIC:     db_recops, void *));
311 */
312int
313__ham_metagroup_print(env, dbtp, lsnp, notused2, notused3)
314	ENV *env;
315	DBT *dbtp;
316	DB_LSN *lsnp;
317	db_recops notused2;
318	void *notused3;
319{
320	__ham_metagroup_args *argp;
321	int ret;
322
323	notused2 = DB_TXN_PRINT;
324	notused3 = NULL;
325
326	if ((ret =
327	    __ham_metagroup_read(env, NULL, NULL, dbtp->data, &argp)) != 0)
328		return (ret);
329	(void)printf(
330    "[%lu][%lu]__ham_metagroup%s: rec: %lu txnp %lx prevlsn [%lu][%lu]\n",
331	    (u_long)lsnp->file, (u_long)lsnp->offset,
332	    (argp->type & DB_debug_FLAG) ? "_debug" : "",
333	    (u_long)argp->type,
334	    (u_long)argp->txnp->txnid,
335	    (u_long)argp->prev_lsn.file, (u_long)argp->prev_lsn.offset);
336	(void)printf("\tfileid: %ld\n", (long)argp->fileid);
337	(void)printf("\tbucket: %lu\n", (u_long)argp->bucket);
338	(void)printf("\tmmpgno: %lu\n", (u_long)argp->mmpgno);
339	(void)printf("\tmmetalsn: [%lu][%lu]\n",
340	    (u_long)argp->mmetalsn.file, (u_long)argp->mmetalsn.offset);
341	(void)printf("\tmpgno: %lu\n", (u_long)argp->mpgno);
342	(void)printf("\tmetalsn: [%lu][%lu]\n",
343	    (u_long)argp->metalsn.file, (u_long)argp->metalsn.offset);
344	(void)printf("\tpgno: %lu\n", (u_long)argp->pgno);
345	(void)printf("\tpagelsn: [%lu][%lu]\n",
346	    (u_long)argp->pagelsn.file, (u_long)argp->pagelsn.offset);
347	(void)printf("\tnewalloc: %lu\n", (u_long)argp->newalloc);
348	(void)printf("\tlast_pgno: %lu\n", (u_long)argp->last_pgno);
349	(void)printf("\n");
350	__os_free(env, argp);
351	return (0);
352}
353
354/*
355 * PUBLIC: int __ham_groupalloc_42_print __P((ENV *, DBT *, DB_LSN *,
356 * PUBLIC:     db_recops, void *));
357 */
358int
359__ham_groupalloc_42_print(env, dbtp, lsnp, notused2, notused3)
360	ENV *env;
361	DBT *dbtp;
362	DB_LSN *lsnp;
363	db_recops notused2;
364	void *notused3;
365{
366	__ham_groupalloc_42_args *argp;
367	int ret;
368
369	notused2 = DB_TXN_PRINT;
370	notused3 = NULL;
371
372	if ((ret =
373	    __ham_groupalloc_42_read(env, NULL, NULL, dbtp->data, &argp)) != 0)
374		return (ret);
375	(void)printf(
376    "[%lu][%lu]__ham_groupalloc_42%s: rec: %lu txnp %lx prevlsn [%lu][%lu]\n",
377	    (u_long)lsnp->file, (u_long)lsnp->offset,
378	    (argp->type & DB_debug_FLAG) ? "_debug" : "",
379	    (u_long)argp->type,
380	    (u_long)argp->txnp->txnid,
381	    (u_long)argp->prev_lsn.file, (u_long)argp->prev_lsn.offset);
382	(void)printf("\tfileid: %ld\n", (long)argp->fileid);
383	(void)printf("\tmeta_lsn: [%lu][%lu]\n",
384	    (u_long)argp->meta_lsn.file, (u_long)argp->meta_lsn.offset);
385	(void)printf("\tstart_pgno: %lu\n", (u_long)argp->start_pgno);
386	(void)printf("\tnum: %lu\n", (u_long)argp->num);
387	(void)printf("\tfree: %lu\n", (u_long)argp->free);
388	(void)printf("\n");
389	__os_free(env, argp);
390	return (0);
391}
392
393/*
394 * PUBLIC: int __ham_groupalloc_print __P((ENV *, DBT *, DB_LSN *,
395 * PUBLIC:     db_recops, void *));
396 */
397int
398__ham_groupalloc_print(env, dbtp, lsnp, notused2, notused3)
399	ENV *env;
400	DBT *dbtp;
401	DB_LSN *lsnp;
402	db_recops notused2;
403	void *notused3;
404{
405	__ham_groupalloc_args *argp;
406	int ret;
407
408	notused2 = DB_TXN_PRINT;
409	notused3 = NULL;
410
411	if ((ret =
412	    __ham_groupalloc_read(env, NULL, NULL, dbtp->data, &argp)) != 0)
413		return (ret);
414	(void)printf(
415    "[%lu][%lu]__ham_groupalloc%s: rec: %lu txnp %lx prevlsn [%lu][%lu]\n",
416	    (u_long)lsnp->file, (u_long)lsnp->offset,
417	    (argp->type & DB_debug_FLAG) ? "_debug" : "",
418	    (u_long)argp->type,
419	    (u_long)argp->txnp->txnid,
420	    (u_long)argp->prev_lsn.file, (u_long)argp->prev_lsn.offset);
421	(void)printf("\tfileid: %ld\n", (long)argp->fileid);
422	(void)printf("\tmeta_lsn: [%lu][%lu]\n",
423	    (u_long)argp->meta_lsn.file, (u_long)argp->meta_lsn.offset);
424	(void)printf("\tstart_pgno: %lu\n", (u_long)argp->start_pgno);
425	(void)printf("\tnum: %lu\n", (u_long)argp->num);
426	(void)printf("\tunused: %lu\n", (u_long)argp->unused);
427	(void)printf("\tlast_pgno: %lu\n", (u_long)argp->last_pgno);
428	(void)printf("\n");
429	__os_free(env, argp);
430	return (0);
431}
432
433/*
434 * PUBLIC: int __ham_curadj_print __P((ENV *, DBT *, DB_LSN *,
435 * PUBLIC:     db_recops, void *));
436 */
437int
438__ham_curadj_print(env, dbtp, lsnp, notused2, notused3)
439	ENV *env;
440	DBT *dbtp;
441	DB_LSN *lsnp;
442	db_recops notused2;
443	void *notused3;
444{
445	__ham_curadj_args *argp;
446	int ret;
447
448	notused2 = DB_TXN_PRINT;
449	notused3 = NULL;
450
451	if ((ret =
452	    __ham_curadj_read(env, NULL, NULL, dbtp->data, &argp)) != 0)
453		return (ret);
454	(void)printf(
455    "[%lu][%lu]__ham_curadj%s: rec: %lu txnp %lx prevlsn [%lu][%lu]\n",
456	    (u_long)lsnp->file, (u_long)lsnp->offset,
457	    (argp->type & DB_debug_FLAG) ? "_debug" : "",
458	    (u_long)argp->type,
459	    (u_long)argp->txnp->txnid,
460	    (u_long)argp->prev_lsn.file, (u_long)argp->prev_lsn.offset);
461	(void)printf("\tfileid: %ld\n", (long)argp->fileid);
462	(void)printf("\tpgno: %lu\n", (u_long)argp->pgno);
463	(void)printf("\tindx: %lu\n", (u_long)argp->indx);
464	(void)printf("\tlen: %lu\n", (u_long)argp->len);
465	(void)printf("\tdup_off: %lu\n", (u_long)argp->dup_off);
466	(void)printf("\tadd: %ld\n", (long)argp->add);
467	(void)printf("\tis_dup: %ld\n", (long)argp->is_dup);
468	(void)printf("\torder: %lu\n", (u_long)argp->order);
469	(void)printf("\n");
470	__os_free(env, argp);
471	return (0);
472}
473
474/*
475 * PUBLIC: int __ham_chgpg_print __P((ENV *, DBT *, DB_LSN *,
476 * PUBLIC:     db_recops, void *));
477 */
478int
479__ham_chgpg_print(env, dbtp, lsnp, notused2, notused3)
480	ENV *env;
481	DBT *dbtp;
482	DB_LSN *lsnp;
483	db_recops notused2;
484	void *notused3;
485{
486	__ham_chgpg_args *argp;
487	int ret;
488
489	notused2 = DB_TXN_PRINT;
490	notused3 = NULL;
491
492	if ((ret =
493	    __ham_chgpg_read(env, NULL, NULL, dbtp->data, &argp)) != 0)
494		return (ret);
495	(void)printf(
496    "[%lu][%lu]__ham_chgpg%s: rec: %lu txnp %lx prevlsn [%lu][%lu]\n",
497	    (u_long)lsnp->file, (u_long)lsnp->offset,
498	    (argp->type & DB_debug_FLAG) ? "_debug" : "",
499	    (u_long)argp->type,
500	    (u_long)argp->txnp->txnid,
501	    (u_long)argp->prev_lsn.file, (u_long)argp->prev_lsn.offset);
502	(void)printf("\tfileid: %ld\n", (long)argp->fileid);
503	(void)printf("\tmode: %ld\n", (long)argp->mode);
504	(void)printf("\told_pgno: %lu\n", (u_long)argp->old_pgno);
505	(void)printf("\tnew_pgno: %lu\n", (u_long)argp->new_pgno);
506	(void)printf("\told_indx: %lu\n", (u_long)argp->old_indx);
507	(void)printf("\tnew_indx: %lu\n", (u_long)argp->new_indx);
508	(void)printf("\n");
509	__os_free(env, argp);
510	return (0);
511}
512
513/*
514 * PUBLIC: int __ham_init_print __P((ENV *, DB_DISTAB *));
515 */
516int
517__ham_init_print(env, dtabp)
518	ENV *env;
519	DB_DISTAB *dtabp;
520{
521	int ret;
522
523	if ((ret = __db_add_recovery_int(env, dtabp,
524	    __ham_insdel_print, DB___ham_insdel)) != 0)
525		return (ret);
526	if ((ret = __db_add_recovery_int(env, dtabp,
527	    __ham_newpage_print, DB___ham_newpage)) != 0)
528		return (ret);
529	if ((ret = __db_add_recovery_int(env, dtabp,
530	    __ham_splitdata_print, DB___ham_splitdata)) != 0)
531		return (ret);
532	if ((ret = __db_add_recovery_int(env, dtabp,
533	    __ham_replace_print, DB___ham_replace)) != 0)
534		return (ret);
535	if ((ret = __db_add_recovery_int(env, dtabp,
536	    __ham_copypage_print, DB___ham_copypage)) != 0)
537		return (ret);
538	if ((ret = __db_add_recovery_int(env, dtabp,
539	    __ham_metagroup_print, DB___ham_metagroup)) != 0)
540		return (ret);
541	if ((ret = __db_add_recovery_int(env, dtabp,
542	    __ham_groupalloc_print, DB___ham_groupalloc)) != 0)
543		return (ret);
544	if ((ret = __db_add_recovery_int(env, dtabp,
545	    __ham_curadj_print, DB___ham_curadj)) != 0)
546		return (ret);
547	if ((ret = __db_add_recovery_int(env, dtabp,
548	    __ham_chgpg_print, DB___ham_chgpg)) != 0)
549		return (ret);
550	return (0);
551}
552#endif /* HAVE_HASH */
553