• 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/transapp/
1m4_ignore([dnl
2#include <sys/types.h>
3#include <sys/stat.h>
4
5#include <errno.h>
6#include <pthread.h>
7#include <stdarg.h>
8#include <stdlib.h>
9#include <string.h>
10#include <unistd.h>
11
12#include <db.h>
13
14void env_open(DB_ENV **);
15
16#define	ENV_DIRECTORY	"/tmp"
17
18int
19main()
20{
21	DB_ENV *dbenv;
22	env_open(&dbenv);
23	return (0);
24}])
25m4_indent([dnl
26void
27env_open(DB_ENV **dbenvp)
28{
29	DB_ENV *dbenv;
30	int ret;
31m4_blank
32	/* Create the environment handle. */
33	if ((ret = db_env_create(&dbenv, 0)) != 0) {
34		fprintf(stderr,
35		    "txnapp: db_env_create: %s\n", db_strerror(ret));
36		exit (1);
37	}
38m4_blank
39	/* Set up error handling. */
40	dbenv-__GT__set_errpfx(dbenv, "txnapp");
41	dbenv-__GT__set_errfile(dbenv, stderr);
42m4_blank
43m4_cbold([dnl
44	/* Do deadlock detection internally. */
45	if ((ret = dbenv-__GT__set_lk_detect(dbenv, DB_LOCK_DEFAULT)) != 0) {
46		dbenv-__GT__err(dbenv, ret, "set_lk_detect: DB_LOCK_DEFAULT");
47		exit (1);
48	}])
49m4_blank
50	/*
51	 * Open a transactional environment:
52	 *	create if it doesn't exist
53	 *	free-threaded handle
54	 *	run recovery
55	 *	read/write owner only
56	 */
57	if ((ret = dbenv-__GT__open(dbenv, ENV_DIRECTORY,
58	    DB_CREATE | DB_INIT_LOCK | DB_INIT_LOG |
59	    DB_INIT_MPOOL | DB_INIT_TXN | DB_RECOVER | DB_THREAD,
60	    S_IRUSR | S_IWUSR)) != 0) {
61		dbenv-__GT__err(dbenv, ret, "dbenv-__GT__open: %s", ENV_DIRECTORY);
62		exit (1);
63	}
64m4_blank
65	*dbenvp = dbenv;
66}])
67