• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/ap/gpl/timemachine/db-4.7.25.NC/docs_src/ref/am/
1m4_ignore([dnl
2#include <sys/types.h>
3
4#include <stdio.h>
5#include <stdlib.h>
6#include <string.h>
7
8#include <db.h>
9
10#define	progname	"t"
11
12int display (char *);
13
14int
15main()
16{
17	display("TESTDIR/test001.db");
18	return (0);
19}])
20m4_indent([dnl
21int
22display(database)
23	char *database;
24{
25	DB *dbp;
26	DBC *dbcp;
27	DBT key, data;
28	int close_db, close_dbc, ret;
29m4_blank
30	close_db = close_dbc = 0;
31m4_blank
32	/* Open the database. */
33	if ((ret = db_create(&dbp, NULL, 0)) != 0) {
34		fprintf(stderr,
35		    "%s: db_create: %s\n", progname, db_strerror(ret));
36		return (1);
37	}
38	close_db = 1;
39m4_blank
40	/* Turn on additional error output. */
41	dbp-__GT__set_errfile(dbp, stderr);
42	dbp-__GT__set_errpfx(dbp, progname);
43m4_blank
44	/* Open the database. */
45	if ((ret =
46	    dbp-__GT__open(dbp, NULL, database, NULL, DB_UNKNOWN, DB_RDONLY, 0)) != 0) {
47		dbp-__GT__err(dbp, ret, "%s: DB-__GT__open", database);
48		goto err;
49	}
50m4_blank
51	/* Acquire a cursor for the database. */
52	if ((ret = dbp-__GT__cursor(dbp, NULL, &dbcp, 0)) != 0) {
53		dbp-__GT__err(dbp, ret, "DB-__GT__cursor");
54		goto err;
55	}
56	close_dbc = 1;
57m4_blank
58	/* Initialize the key/data return pair. */
59	memset(&key, 0, sizeof(key));
60	memset(&data, 0, sizeof(data));
61m4_blank
62	/* Walk through the database and print out the key/data pairs. */
63	while ((ret = dbcp-__GT__c_get(dbcp, &key, &data, DB_NEXT)) == 0)
64		printf("%.*s : %.*s\n",
65		    (int)key.size, (char *)key.data,
66		    (int)data.size, (char *)data.data);
67	if (ret != DB_NOTFOUND) {
68		dbp-__GT__err(dbp, ret, "DBcursor-__GT__get");
69		goto err;
70	}
71m4_blank
72err:	if (close_dbc && (ret = dbcp-__GT__c_close(dbcp)) != 0)
73		dbp-__GT__err(dbp, ret, "DBcursor-__GT__close");
74	if (close_db && (ret = dbp-__GT__close(dbp, 0)) != 0)
75		fprintf(stderr,
76		    "%s: DB-__GT__close: %s\n", progname, db_strerror(ret));
77	return (0);
78}])
79