1/* Do not edit: automatically built by gen_rec.awk. */
2
3#include "db_config.h"
4
5#include "db_int.h"
6#include "dbinc/crypto.h"
7#include "dbinc/db_page.h"
8#include "dbinc/db_am.h"
9#include "dbinc/btree.h"
10#include "dbinc/log.h"
11#include "dbinc/txn.h"
12
13/*
14 * PUBLIC: int __bam_split_print __P((ENV *, DBT *, DB_LSN *,
15 * PUBLIC:     db_recops, void *));
16 */
17int
18__bam_split_print(env, dbtp, lsnp, notused2, notused3)
19	ENV *env;
20	DBT *dbtp;
21	DB_LSN *lsnp;
22	db_recops notused2;
23	void *notused3;
24{
25	__bam_split_args *argp;
26	u_int32_t i;
27	int ch;
28	int ret;
29
30	notused2 = DB_TXN_PRINT;
31	notused3 = NULL;
32
33	if ((ret =
34	    __bam_split_read(env, NULL, NULL, dbtp->data, &argp)) != 0)
35		return (ret);
36	(void)printf(
37    "[%lu][%lu]__bam_split%s: rec: %lu txnp %lx prevlsn [%lu][%lu]\n",
38	    (u_long)lsnp->file, (u_long)lsnp->offset,
39	    (argp->type & DB_debug_FLAG) ? "_debug" : "",
40	    (u_long)argp->type,
41	    (u_long)argp->txnp->txnid,
42	    (u_long)argp->prev_lsn.file, (u_long)argp->prev_lsn.offset);
43	(void)printf("\tfileid: %ld\n", (long)argp->fileid);
44	(void)printf("\tleft: %lu\n", (u_long)argp->left);
45	(void)printf("\tllsn: [%lu][%lu]\n",
46	    (u_long)argp->llsn.file, (u_long)argp->llsn.offset);
47	(void)printf("\tright: %lu\n", (u_long)argp->right);
48	(void)printf("\trlsn: [%lu][%lu]\n",
49	    (u_long)argp->rlsn.file, (u_long)argp->rlsn.offset);
50	(void)printf("\tindx: %lu\n", (u_long)argp->indx);
51	(void)printf("\tnpgno: %lu\n", (u_long)argp->npgno);
52	(void)printf("\tnlsn: [%lu][%lu]\n",
53	    (u_long)argp->nlsn.file, (u_long)argp->nlsn.offset);
54	(void)printf("\troot_pgno: %lu\n", (u_long)argp->root_pgno);
55	(void)printf("\tpg: ");
56	for (i = 0; i < argp->pg.size; i++) {
57		ch = ((u_int8_t *)argp->pg.data)[i];
58		printf(isprint(ch) || ch == 0x0a ? "%c" : "%#x ", ch);
59	}
60	(void)printf("\n");
61	(void)printf("\topflags: %lu\n", (u_long)argp->opflags);
62	(void)printf("\n");
63	__os_free(env, argp);
64	return (0);
65}
66
67/*
68 * PUBLIC: int __bam_rsplit_print __P((ENV *, DBT *, DB_LSN *,
69 * PUBLIC:     db_recops, void *));
70 */
71int
72__bam_rsplit_print(env, dbtp, lsnp, notused2, notused3)
73	ENV *env;
74	DBT *dbtp;
75	DB_LSN *lsnp;
76	db_recops notused2;
77	void *notused3;
78{
79	__bam_rsplit_args *argp;
80	u_int32_t i;
81	int ch;
82	int ret;
83
84	notused2 = DB_TXN_PRINT;
85	notused3 = NULL;
86
87	if ((ret =
88	    __bam_rsplit_read(env, NULL, NULL, dbtp->data, &argp)) != 0)
89		return (ret);
90	(void)printf(
91    "[%lu][%lu]__bam_rsplit%s: rec: %lu txnp %lx prevlsn [%lu][%lu]\n",
92	    (u_long)lsnp->file, (u_long)lsnp->offset,
93	    (argp->type & DB_debug_FLAG) ? "_debug" : "",
94	    (u_long)argp->type,
95	    (u_long)argp->txnp->txnid,
96	    (u_long)argp->prev_lsn.file, (u_long)argp->prev_lsn.offset);
97	(void)printf("\tfileid: %ld\n", (long)argp->fileid);
98	(void)printf("\tpgno: %lu\n", (u_long)argp->pgno);
99	(void)printf("\tpgdbt: ");
100	for (i = 0; i < argp->pgdbt.size; i++) {
101		ch = ((u_int8_t *)argp->pgdbt.data)[i];
102		printf(isprint(ch) || ch == 0x0a ? "%c" : "%#x ", ch);
103	}
104	(void)printf("\n");
105	(void)printf("\troot_pgno: %lu\n", (u_long)argp->root_pgno);
106	(void)printf("\tnrec: %lu\n", (u_long)argp->nrec);
107	(void)printf("\trootent: ");
108	for (i = 0; i < argp->rootent.size; i++) {
109		ch = ((u_int8_t *)argp->rootent.data)[i];
110		printf(isprint(ch) || ch == 0x0a ? "%c" : "%#x ", ch);
111	}
112	(void)printf("\n");
113	(void)printf("\trootlsn: [%lu][%lu]\n",
114	    (u_long)argp->rootlsn.file, (u_long)argp->rootlsn.offset);
115	(void)printf("\n");
116	__os_free(env, argp);
117	return (0);
118}
119
120/*
121 * PUBLIC: int __bam_adj_print __P((ENV *, DBT *, DB_LSN *,
122 * PUBLIC:     db_recops, void *));
123 */
124int
125__bam_adj_print(env, dbtp, lsnp, notused2, notused3)
126	ENV *env;
127	DBT *dbtp;
128	DB_LSN *lsnp;
129	db_recops notused2;
130	void *notused3;
131{
132	__bam_adj_args *argp;
133	int ret;
134
135	notused2 = DB_TXN_PRINT;
136	notused3 = NULL;
137
138	if ((ret =
139	    __bam_adj_read(env, NULL, NULL, dbtp->data, &argp)) != 0)
140		return (ret);
141	(void)printf(
142    "[%lu][%lu]__bam_adj%s: rec: %lu txnp %lx prevlsn [%lu][%lu]\n",
143	    (u_long)lsnp->file, (u_long)lsnp->offset,
144	    (argp->type & DB_debug_FLAG) ? "_debug" : "",
145	    (u_long)argp->type,
146	    (u_long)argp->txnp->txnid,
147	    (u_long)argp->prev_lsn.file, (u_long)argp->prev_lsn.offset);
148	(void)printf("\tfileid: %ld\n", (long)argp->fileid);
149	(void)printf("\tpgno: %lu\n", (u_long)argp->pgno);
150	(void)printf("\tlsn: [%lu][%lu]\n",
151	    (u_long)argp->lsn.file, (u_long)argp->lsn.offset);
152	(void)printf("\tindx: %lu\n", (u_long)argp->indx);
153	(void)printf("\tindx_copy: %lu\n", (u_long)argp->indx_copy);
154	(void)printf("\tis_insert: %lu\n", (u_long)argp->is_insert);
155	(void)printf("\n");
156	__os_free(env, argp);
157	return (0);
158}
159
160/*
161 * PUBLIC: int __bam_cadjust_print __P((ENV *, DBT *, DB_LSN *,
162 * PUBLIC:     db_recops, void *));
163 */
164int
165__bam_cadjust_print(env, dbtp, lsnp, notused2, notused3)
166	ENV *env;
167	DBT *dbtp;
168	DB_LSN *lsnp;
169	db_recops notused2;
170	void *notused3;
171{
172	__bam_cadjust_args *argp;
173	int ret;
174
175	notused2 = DB_TXN_PRINT;
176	notused3 = NULL;
177
178	if ((ret =
179	    __bam_cadjust_read(env, NULL, NULL, dbtp->data, &argp)) != 0)
180		return (ret);
181	(void)printf(
182    "[%lu][%lu]__bam_cadjust%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("\tlsn: [%lu][%lu]\n",
191	    (u_long)argp->lsn.file, (u_long)argp->lsn.offset);
192	(void)printf("\tindx: %lu\n", (u_long)argp->indx);
193	(void)printf("\tadjust: %ld\n", (long)argp->adjust);
194	(void)printf("\topflags: %lu\n", (u_long)argp->opflags);
195	(void)printf("\n");
196	__os_free(env, argp);
197	return (0);
198}
199
200/*
201 * PUBLIC: int __bam_cdel_print __P((ENV *, DBT *, DB_LSN *,
202 * PUBLIC:     db_recops, void *));
203 */
204int
205__bam_cdel_print(env, dbtp, lsnp, notused2, notused3)
206	ENV *env;
207	DBT *dbtp;
208	DB_LSN *lsnp;
209	db_recops notused2;
210	void *notused3;
211{
212	__bam_cdel_args *argp;
213	int ret;
214
215	notused2 = DB_TXN_PRINT;
216	notused3 = NULL;
217
218	if ((ret =
219	    __bam_cdel_read(env, NULL, NULL, dbtp->data, &argp)) != 0)
220		return (ret);
221	(void)printf(
222    "[%lu][%lu]__bam_cdel%s: rec: %lu txnp %lx prevlsn [%lu][%lu]\n",
223	    (u_long)lsnp->file, (u_long)lsnp->offset,
224	    (argp->type & DB_debug_FLAG) ? "_debug" : "",
225	    (u_long)argp->type,
226	    (u_long)argp->txnp->txnid,
227	    (u_long)argp->prev_lsn.file, (u_long)argp->prev_lsn.offset);
228	(void)printf("\tfileid: %ld\n", (long)argp->fileid);
229	(void)printf("\tpgno: %lu\n", (u_long)argp->pgno);
230	(void)printf("\tlsn: [%lu][%lu]\n",
231	    (u_long)argp->lsn.file, (u_long)argp->lsn.offset);
232	(void)printf("\tindx: %lu\n", (u_long)argp->indx);
233	(void)printf("\n");
234	__os_free(env, argp);
235	return (0);
236}
237
238/*
239 * PUBLIC: int __bam_repl_print __P((ENV *, DBT *, DB_LSN *,
240 * PUBLIC:     db_recops, void *));
241 */
242int
243__bam_repl_print(env, dbtp, lsnp, notused2, notused3)
244	ENV *env;
245	DBT *dbtp;
246	DB_LSN *lsnp;
247	db_recops notused2;
248	void *notused3;
249{
250	__bam_repl_args *argp;
251	u_int32_t i;
252	int ch;
253	int ret;
254
255	notused2 = DB_TXN_PRINT;
256	notused3 = NULL;
257
258	if ((ret =
259	    __bam_repl_read(env, NULL, NULL, dbtp->data, &argp)) != 0)
260		return (ret);
261	(void)printf(
262    "[%lu][%lu]__bam_repl%s: rec: %lu txnp %lx prevlsn [%lu][%lu]\n",
263	    (u_long)lsnp->file, (u_long)lsnp->offset,
264	    (argp->type & DB_debug_FLAG) ? "_debug" : "",
265	    (u_long)argp->type,
266	    (u_long)argp->txnp->txnid,
267	    (u_long)argp->prev_lsn.file, (u_long)argp->prev_lsn.offset);
268	(void)printf("\tfileid: %ld\n", (long)argp->fileid);
269	(void)printf("\tpgno: %lu\n", (u_long)argp->pgno);
270	(void)printf("\tlsn: [%lu][%lu]\n",
271	    (u_long)argp->lsn.file, (u_long)argp->lsn.offset);
272	(void)printf("\tindx: %lu\n", (u_long)argp->indx);
273	(void)printf("\tisdeleted: %lu\n", (u_long)argp->isdeleted);
274	(void)printf("\torig: ");
275	for (i = 0; i < argp->orig.size; i++) {
276		ch = ((u_int8_t *)argp->orig.data)[i];
277		printf(isprint(ch) || ch == 0x0a ? "%c" : "%#x ", ch);
278	}
279	(void)printf("\n");
280	(void)printf("\trepl: ");
281	for (i = 0; i < argp->repl.size; i++) {
282		ch = ((u_int8_t *)argp->repl.data)[i];
283		printf(isprint(ch) || ch == 0x0a ? "%c" : "%#x ", ch);
284	}
285	(void)printf("\n");
286	(void)printf("\tprefix: %lu\n", (u_long)argp->prefix);
287	(void)printf("\tsuffix: %lu\n", (u_long)argp->suffix);
288	(void)printf("\n");
289	__os_free(env, argp);
290	return (0);
291}
292
293/*
294 * PUBLIC: int __bam_root_print __P((ENV *, DBT *, DB_LSN *,
295 * PUBLIC:     db_recops, void *));
296 */
297int
298__bam_root_print(env, dbtp, lsnp, notused2, notused3)
299	ENV *env;
300	DBT *dbtp;
301	DB_LSN *lsnp;
302	db_recops notused2;
303	void *notused3;
304{
305	__bam_root_args *argp;
306	int ret;
307
308	notused2 = DB_TXN_PRINT;
309	notused3 = NULL;
310
311	if ((ret =
312	    __bam_root_read(env, NULL, NULL, dbtp->data, &argp)) != 0)
313		return (ret);
314	(void)printf(
315    "[%lu][%lu]__bam_root%s: rec: %lu txnp %lx prevlsn [%lu][%lu]\n",
316	    (u_long)lsnp->file, (u_long)lsnp->offset,
317	    (argp->type & DB_debug_FLAG) ? "_debug" : "",
318	    (u_long)argp->type,
319	    (u_long)argp->txnp->txnid,
320	    (u_long)argp->prev_lsn.file, (u_long)argp->prev_lsn.offset);
321	(void)printf("\tfileid: %ld\n", (long)argp->fileid);
322	(void)printf("\tmeta_pgno: %lu\n", (u_long)argp->meta_pgno);
323	(void)printf("\troot_pgno: %lu\n", (u_long)argp->root_pgno);
324	(void)printf("\tmeta_lsn: [%lu][%lu]\n",
325	    (u_long)argp->meta_lsn.file, (u_long)argp->meta_lsn.offset);
326	(void)printf("\n");
327	__os_free(env, argp);
328	return (0);
329}
330
331/*
332 * PUBLIC: int __bam_curadj_print __P((ENV *, DBT *, DB_LSN *,
333 * PUBLIC:     db_recops, void *));
334 */
335int
336__bam_curadj_print(env, dbtp, lsnp, notused2, notused3)
337	ENV *env;
338	DBT *dbtp;
339	DB_LSN *lsnp;
340	db_recops notused2;
341	void *notused3;
342{
343	__bam_curadj_args *argp;
344	int ret;
345
346	notused2 = DB_TXN_PRINT;
347	notused3 = NULL;
348
349	if ((ret =
350	    __bam_curadj_read(env, NULL, NULL, dbtp->data, &argp)) != 0)
351		return (ret);
352	(void)printf(
353    "[%lu][%lu]__bam_curadj%s: rec: %lu txnp %lx prevlsn [%lu][%lu]\n",
354	    (u_long)lsnp->file, (u_long)lsnp->offset,
355	    (argp->type & DB_debug_FLAG) ? "_debug" : "",
356	    (u_long)argp->type,
357	    (u_long)argp->txnp->txnid,
358	    (u_long)argp->prev_lsn.file, (u_long)argp->prev_lsn.offset);
359	(void)printf("\tfileid: %ld\n", (long)argp->fileid);
360	(void)printf("\tmode: %ld\n", (long)argp->mode);
361	(void)printf("\tfrom_pgno: %lu\n", (u_long)argp->from_pgno);
362	(void)printf("\tto_pgno: %lu\n", (u_long)argp->to_pgno);
363	(void)printf("\tleft_pgno: %lu\n", (u_long)argp->left_pgno);
364	(void)printf("\tfirst_indx: %lu\n", (u_long)argp->first_indx);
365	(void)printf("\tfrom_indx: %lu\n", (u_long)argp->from_indx);
366	(void)printf("\tto_indx: %lu\n", (u_long)argp->to_indx);
367	(void)printf("\n");
368	__os_free(env, argp);
369	return (0);
370}
371
372/*
373 * PUBLIC: int __bam_rcuradj_print __P((ENV *, DBT *, DB_LSN *,
374 * PUBLIC:     db_recops, void *));
375 */
376int
377__bam_rcuradj_print(env, dbtp, lsnp, notused2, notused3)
378	ENV *env;
379	DBT *dbtp;
380	DB_LSN *lsnp;
381	db_recops notused2;
382	void *notused3;
383{
384	__bam_rcuradj_args *argp;
385	int ret;
386
387	notused2 = DB_TXN_PRINT;
388	notused3 = NULL;
389
390	if ((ret =
391	    __bam_rcuradj_read(env, NULL, NULL, dbtp->data, &argp)) != 0)
392		return (ret);
393	(void)printf(
394    "[%lu][%lu]__bam_rcuradj%s: rec: %lu txnp %lx prevlsn [%lu][%lu]\n",
395	    (u_long)lsnp->file, (u_long)lsnp->offset,
396	    (argp->type & DB_debug_FLAG) ? "_debug" : "",
397	    (u_long)argp->type,
398	    (u_long)argp->txnp->txnid,
399	    (u_long)argp->prev_lsn.file, (u_long)argp->prev_lsn.offset);
400	(void)printf("\tfileid: %ld\n", (long)argp->fileid);
401	(void)printf("\tmode: %ld\n", (long)argp->mode);
402	(void)printf("\troot: %ld\n", (long)argp->root);
403	(void)printf("\trecno: %ld\n", (long)argp->recno);
404	(void)printf("\torder: %lu\n", (u_long)argp->order);
405	(void)printf("\n");
406	__os_free(env, argp);
407	return (0);
408}
409
410/*
411 * PUBLIC: int __bam_relink_43_print __P((ENV *, DBT *, DB_LSN *,
412 * PUBLIC:     db_recops, void *));
413 */
414int
415__bam_relink_43_print(env, dbtp, lsnp, notused2, notused3)
416	ENV *env;
417	DBT *dbtp;
418	DB_LSN *lsnp;
419	db_recops notused2;
420	void *notused3;
421{
422	__bam_relink_43_args *argp;
423	int ret;
424
425	notused2 = DB_TXN_PRINT;
426	notused3 = NULL;
427
428	if ((ret =
429	    __bam_relink_43_read(env, NULL, NULL, dbtp->data, &argp)) != 0)
430		return (ret);
431	(void)printf(
432    "[%lu][%lu]__bam_relink_43%s: rec: %lu txnp %lx prevlsn [%lu][%lu]\n",
433	    (u_long)lsnp->file, (u_long)lsnp->offset,
434	    (argp->type & DB_debug_FLAG) ? "_debug" : "",
435	    (u_long)argp->type,
436	    (u_long)argp->txnp->txnid,
437	    (u_long)argp->prev_lsn.file, (u_long)argp->prev_lsn.offset);
438	(void)printf("\tfileid: %ld\n", (long)argp->fileid);
439	(void)printf("\tpgno: %lu\n", (u_long)argp->pgno);
440	(void)printf("\tlsn: [%lu][%lu]\n",
441	    (u_long)argp->lsn.file, (u_long)argp->lsn.offset);
442	(void)printf("\tprev: %lu\n", (u_long)argp->prev);
443	(void)printf("\tlsn_prev: [%lu][%lu]\n",
444	    (u_long)argp->lsn_prev.file, (u_long)argp->lsn_prev.offset);
445	(void)printf("\tnext: %lu\n", (u_long)argp->next);
446	(void)printf("\tlsn_next: [%lu][%lu]\n",
447	    (u_long)argp->lsn_next.file, (u_long)argp->lsn_next.offset);
448	(void)printf("\n");
449	__os_free(env, argp);
450	return (0);
451}
452
453/*
454 * PUBLIC: int __bam_relink_print __P((ENV *, DBT *, DB_LSN *,
455 * PUBLIC:     db_recops, void *));
456 */
457int
458__bam_relink_print(env, dbtp, lsnp, notused2, notused3)
459	ENV *env;
460	DBT *dbtp;
461	DB_LSN *lsnp;
462	db_recops notused2;
463	void *notused3;
464{
465	__bam_relink_args *argp;
466	int ret;
467
468	notused2 = DB_TXN_PRINT;
469	notused3 = NULL;
470
471	if ((ret =
472	    __bam_relink_read(env, NULL, NULL, dbtp->data, &argp)) != 0)
473		return (ret);
474	(void)printf(
475    "[%lu][%lu]__bam_relink%s: rec: %lu txnp %lx prevlsn [%lu][%lu]\n",
476	    (u_long)lsnp->file, (u_long)lsnp->offset,
477	    (argp->type & DB_debug_FLAG) ? "_debug" : "",
478	    (u_long)argp->type,
479	    (u_long)argp->txnp->txnid,
480	    (u_long)argp->prev_lsn.file, (u_long)argp->prev_lsn.offset);
481	(void)printf("\tfileid: %ld\n", (long)argp->fileid);
482	(void)printf("\tpgno: %lu\n", (u_long)argp->pgno);
483	(void)printf("\tnew_pgno: %lu\n", (u_long)argp->new_pgno);
484	(void)printf("\tprev: %lu\n", (u_long)argp->prev);
485	(void)printf("\tlsn_prev: [%lu][%lu]\n",
486	    (u_long)argp->lsn_prev.file, (u_long)argp->lsn_prev.offset);
487	(void)printf("\tnext: %lu\n", (u_long)argp->next);
488	(void)printf("\tlsn_next: [%lu][%lu]\n",
489	    (u_long)argp->lsn_next.file, (u_long)argp->lsn_next.offset);
490	(void)printf("\n");
491	__os_free(env, argp);
492	return (0);
493}
494
495/*
496 * PUBLIC: int __bam_merge_44_print __P((ENV *, DBT *, DB_LSN *,
497 * PUBLIC:     db_recops, void *));
498 */
499int
500__bam_merge_44_print(env, dbtp, lsnp, notused2, notused3)
501	ENV *env;
502	DBT *dbtp;
503	DB_LSN *lsnp;
504	db_recops notused2;
505	void *notused3;
506{
507	__bam_merge_44_args *argp;
508	u_int32_t i;
509	int ch;
510	int ret;
511
512	notused2 = DB_TXN_PRINT;
513	notused3 = NULL;
514
515	if ((ret =
516	    __bam_merge_44_read(env, NULL, NULL, dbtp->data, &argp)) != 0)
517		return (ret);
518	(void)printf(
519    "[%lu][%lu]__bam_merge_44%s: rec: %lu txnp %lx prevlsn [%lu][%lu]\n",
520	    (u_long)lsnp->file, (u_long)lsnp->offset,
521	    (argp->type & DB_debug_FLAG) ? "_debug" : "",
522	    (u_long)argp->type,
523	    (u_long)argp->txnp->txnid,
524	    (u_long)argp->prev_lsn.file, (u_long)argp->prev_lsn.offset);
525	(void)printf("\tfileid: %ld\n", (long)argp->fileid);
526	(void)printf("\tpgno: %lu\n", (u_long)argp->pgno);
527	(void)printf("\tlsn: [%lu][%lu]\n",
528	    (u_long)argp->lsn.file, (u_long)argp->lsn.offset);
529	(void)printf("\tnpgno: %lu\n", (u_long)argp->npgno);
530	(void)printf("\tnlsn: [%lu][%lu]\n",
531	    (u_long)argp->nlsn.file, (u_long)argp->nlsn.offset);
532	(void)printf("\thdr: ");
533	for (i = 0; i < argp->hdr.size; i++) {
534		ch = ((u_int8_t *)argp->hdr.data)[i];
535		printf(isprint(ch) || ch == 0x0a ? "%c" : "%#x ", ch);
536	}
537	(void)printf("\n");
538	(void)printf("\tdata: ");
539	for (i = 0; i < argp->data.size; i++) {
540		ch = ((u_int8_t *)argp->data.data)[i];
541		printf(isprint(ch) || ch == 0x0a ? "%c" : "%#x ", ch);
542	}
543	(void)printf("\n");
544	(void)printf("\tind: ");
545	for (i = 0; i < argp->ind.size; i++) {
546		ch = ((u_int8_t *)argp->ind.data)[i];
547		printf(isprint(ch) || ch == 0x0a ? "%c" : "%#x ", ch);
548	}
549	(void)printf("\n");
550	(void)printf("\n");
551	__os_free(env, argp);
552	return (0);
553}
554
555/*
556 * PUBLIC: int __bam_merge_print __P((ENV *, DBT *, DB_LSN *,
557 * PUBLIC:     db_recops, void *));
558 */
559int
560__bam_merge_print(env, dbtp, lsnp, notused2, notused3)
561	ENV *env;
562	DBT *dbtp;
563	DB_LSN *lsnp;
564	db_recops notused2;
565	void *notused3;
566{
567	__bam_merge_args *argp;
568	u_int32_t i;
569	int ch;
570	int ret;
571
572	notused2 = DB_TXN_PRINT;
573	notused3 = NULL;
574
575	if ((ret =
576	    __bam_merge_read(env, NULL, NULL, dbtp->data, &argp)) != 0)
577		return (ret);
578	(void)printf(
579    "[%lu][%lu]__bam_merge%s: rec: %lu txnp %lx prevlsn [%lu][%lu]\n",
580	    (u_long)lsnp->file, (u_long)lsnp->offset,
581	    (argp->type & DB_debug_FLAG) ? "_debug" : "",
582	    (u_long)argp->type,
583	    (u_long)argp->txnp->txnid,
584	    (u_long)argp->prev_lsn.file, (u_long)argp->prev_lsn.offset);
585	(void)printf("\tfileid: %ld\n", (long)argp->fileid);
586	(void)printf("\tpgno: %lu\n", (u_long)argp->pgno);
587	(void)printf("\tlsn: [%lu][%lu]\n",
588	    (u_long)argp->lsn.file, (u_long)argp->lsn.offset);
589	(void)printf("\tnpgno: %lu\n", (u_long)argp->npgno);
590	(void)printf("\tnlsn: [%lu][%lu]\n",
591	    (u_long)argp->nlsn.file, (u_long)argp->nlsn.offset);
592	(void)printf("\thdr: ");
593	for (i = 0; i < argp->hdr.size; i++) {
594		ch = ((u_int8_t *)argp->hdr.data)[i];
595		printf(isprint(ch) || ch == 0x0a ? "%c" : "%#x ", ch);
596	}
597	(void)printf("\n");
598	(void)printf("\tdata: ");
599	for (i = 0; i < argp->data.size; i++) {
600		ch = ((u_int8_t *)argp->data.data)[i];
601		printf(isprint(ch) || ch == 0x0a ? "%c" : "%#x ", ch);
602	}
603	(void)printf("\n");
604	(void)printf("\tpg_copy: %lu\n", (u_long)argp->pg_copy);
605	(void)printf("\n");
606	__os_free(env, argp);
607	return (0);
608}
609
610/*
611 * PUBLIC: int __bam_pgno_print __P((ENV *, DBT *, DB_LSN *,
612 * PUBLIC:     db_recops, void *));
613 */
614int
615__bam_pgno_print(env, dbtp, lsnp, notused2, notused3)
616	ENV *env;
617	DBT *dbtp;
618	DB_LSN *lsnp;
619	db_recops notused2;
620	void *notused3;
621{
622	__bam_pgno_args *argp;
623	int ret;
624
625	notused2 = DB_TXN_PRINT;
626	notused3 = NULL;
627
628	if ((ret =
629	    __bam_pgno_read(env, NULL, NULL, dbtp->data, &argp)) != 0)
630		return (ret);
631	(void)printf(
632    "[%lu][%lu]__bam_pgno%s: rec: %lu txnp %lx prevlsn [%lu][%lu]\n",
633	    (u_long)lsnp->file, (u_long)lsnp->offset,
634	    (argp->type & DB_debug_FLAG) ? "_debug" : "",
635	    (u_long)argp->type,
636	    (u_long)argp->txnp->txnid,
637	    (u_long)argp->prev_lsn.file, (u_long)argp->prev_lsn.offset);
638	(void)printf("\tfileid: %ld\n", (long)argp->fileid);
639	(void)printf("\tpgno: %lu\n", (u_long)argp->pgno);
640	(void)printf("\tlsn: [%lu][%lu]\n",
641	    (u_long)argp->lsn.file, (u_long)argp->lsn.offset);
642	(void)printf("\tindx: %lu\n", (u_long)argp->indx);
643	(void)printf("\topgno: %lu\n", (u_long)argp->opgno);
644	(void)printf("\tnpgno: %lu\n", (u_long)argp->npgno);
645	(void)printf("\n");
646	__os_free(env, argp);
647	return (0);
648}
649
650/*
651 * PUBLIC: int __bam_init_print __P((ENV *, DB_DISTAB *));
652 */
653int
654__bam_init_print(env, dtabp)
655	ENV *env;
656	DB_DISTAB *dtabp;
657{
658	int ret;
659
660	if ((ret = __db_add_recovery_int(env, dtabp,
661	    __bam_split_print, DB___bam_split)) != 0)
662		return (ret);
663	if ((ret = __db_add_recovery_int(env, dtabp,
664	    __bam_rsplit_print, DB___bam_rsplit)) != 0)
665		return (ret);
666	if ((ret = __db_add_recovery_int(env, dtabp,
667	    __bam_adj_print, DB___bam_adj)) != 0)
668		return (ret);
669	if ((ret = __db_add_recovery_int(env, dtabp,
670	    __bam_cadjust_print, DB___bam_cadjust)) != 0)
671		return (ret);
672	if ((ret = __db_add_recovery_int(env, dtabp,
673	    __bam_cdel_print, DB___bam_cdel)) != 0)
674		return (ret);
675	if ((ret = __db_add_recovery_int(env, dtabp,
676	    __bam_repl_print, DB___bam_repl)) != 0)
677		return (ret);
678	if ((ret = __db_add_recovery_int(env, dtabp,
679	    __bam_root_print, DB___bam_root)) != 0)
680		return (ret);
681	if ((ret = __db_add_recovery_int(env, dtabp,
682	    __bam_curadj_print, DB___bam_curadj)) != 0)
683		return (ret);
684	if ((ret = __db_add_recovery_int(env, dtabp,
685	    __bam_rcuradj_print, DB___bam_rcuradj)) != 0)
686		return (ret);
687	if ((ret = __db_add_recovery_int(env, dtabp,
688	    __bam_relink_print, DB___bam_relink)) != 0)
689		return (ret);
690	if ((ret = __db_add_recovery_int(env, dtabp,
691	    __bam_merge_print, DB___bam_merge)) != 0)
692		return (ret);
693	if ((ret = __db_add_recovery_int(env, dtabp,
694	    __bam_pgno_print, DB___bam_pgno)) != 0)
695		return (ret);
696	return (0);
697}
698