• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /netgear-WNDR4500-V1.0.1.40_1.0.68/ap/gpl/timemachine/db-4.7.25.NC/docs_src/ref/env/
1m4_ignore([dnl
2#include <sys/types.h>
3
4#include <stddef.h>
5#include <stdio.h>
6#include <stdlib.h>
7
8#include <db.h>
9
10DB_ENV *db_setup(char *, char *, FILE *, char *);
11
12int
13main()
14{
15	DB_ENV *dbenv;
16
17	system("rm -rf /tmp/__dbenv__; mkdir -p /tmp/__dbenv__/test");
18	dbenv = db_setup("/tmp/__dbenv__", "test", stderr, "test_app");
19	system("rm -rf /tmp/__dbenv__");
20	return (0);
21}])
22m4_indent([dnl
23DB_ENV *
24db_setup(home, data_dir, errfp, progname)
25	char *home, *data_dir, *progname;
26	FILE *errfp;
27{
28	DB_ENV *dbenv;
29	int ret;
30m4_blank
31	/*
32	 * Create an environment and initialize it for additional error
33	 * reporting.
34	 */
35	if ((ret = db_env_create(&dbenv, 0)) != 0) {
36		fprintf(errfp, "%s: %s\n", progname, db_strerror(ret));
37		return (NULL);
38	}
39	dbenv-__GT__set_errfile(dbenv, errfp);
40	dbenv-__GT__set_errpfx(dbenv, progname);
41m4_blank
42	/*
43	 * Specify the shared memory buffer pool cachesize: 5MB.
44	 * Databases are in a subdirectory of the environment home.
45	 */
46	if ((ret = dbenv-__GT__set_cachesize(dbenv, 0, 5 * 1024 * 1024, 0)) != 0) {
47		dbenv-__GT__err(dbenv, ret, "set_cachesize");
48		goto err;
49	}
50	if ((ret = dbenv-__GT__set_data_dir(dbenv, data_dir)) != 0) {
51		dbenv-__GT__err(dbenv, ret, "set_data_dir: %s", data_dir);
52		goto err;
53	}
54m4_blank
55	/* Open the environment with full transactional support. */
56	if ((ret = dbenv-__GT__open(dbenv, home, DB_CREATE |
57	    DB_INIT_LOG | DB_INIT_LOCK | DB_INIT_MPOOL | DB_INIT_TXN, 0)) != 0) {
58		dbenv-__GT__err(dbenv, ret, "environment open: %s", home);
59		goto err;
60	}
61m4_blank
62	return (dbenv);
63m4_blank
64err:	(void)dbenv-__GT__close(dbenv, 0);
65	return (NULL);
66}])
67