1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
/*-
* See the file LICENSE for redistribution information.
*
* Copyright (c) 1996,2007 Oracle. All rights reserved.
*
* $Id: globals.h,v 12.7 2007/05/17 15:15:05 bostic Exp $
*/
#ifndef _DB_GLOBALS_H_
#define _DB_GLOBALS_H_
#if defined(__cplusplus)
extern "C" {
#endif
/*******************************************************
* Global variables.
*
* Held in a single structure to minimize the name-space pollution.
*******************************************************/
#ifdef HAVE_VXWORKS
#include "semLib.h"
#endif
typedef struct __db_globals {
#ifdef HAVE_BREW
struct tm ltm; /* BREW localtime structure */
#endif
#ifdef HAVE_VXWORKS
u_int32_t db_global_init; /* VxWorks: inited */
SEM_ID db_global_lock; /* VxWorks: global semaphore */
#endif
/* XA: list of opened environments. */
TAILQ_HEAD(__db_envq, __db_env) db_envq;
char *db_line; /* DB display string. */
char error_buf[40]; /* Error string buffer. */
int uid_init; /* srand set in UID generator */
u_long rand_next; /* rand/srand value */
u_int32_t fid_serial; /* file id counter */
int db_errno; /* Errno value if not available */
int (*j_close) __P((int)); /* Underlying OS interface jump table.*/
void (*j_dirfree) __P((char **, int));
int (*j_dirlist) __P((const char *, char ***, int *));
int (*j_exists) __P((const char *, int *));
void (*j_free) __P((void *));
int (*j_fsync) __P((int));
int (*j_ftruncate) __P((int, off_t));
int (*j_ioinfo) __P((const char *,
int, u_int32_t *, u_int32_t *, u_int32_t *));
void *(*j_malloc) __P((size_t));
int (*j_map) __P((char *, size_t, int, int, void **));
int (*j_open) __P((const char *, int, ...));
ssize_t (*j_pread) __P((int, void *, size_t, off_t));
ssize_t (*j_pwrite) __P((int, const void *, size_t, off_t));
ssize_t (*j_read) __P((int, void *, size_t));
void *(*j_realloc) __P((void *, size_t));
int (*j_rename) __P((const char *, const char *));
int (*j_seek) __P((int, off_t, int));
int (*j_sleep) __P((u_long, u_long));
int (*j_unlink) __P((const char *));
int (*j_unmap) __P((void *, size_t));
ssize_t (*j_write) __P((int, const void *, size_t));
int (*j_yield) __P((void));
} DB_GLOBALS;
#ifdef HAVE_BREW
#define DB_GLOBAL(v) \
((DB_GLOBALS *)(((BDBApp *)GETAPPINSTANCE())->db_global_values))->v
#else
#ifdef DB_INITIALIZE_DB_GLOBALS
DB_GLOBALS __db_global_values = {
#ifdef HAVE_VXWORKS
0, /* VxWorks: initialized */
NULL, /* VxWorks: global semaphore */
#endif
/* XA: list of opened environments. */
{NULL, &__db_global_values.db_envq.tqh_first},
"=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=",
{ 0 },
0,
0,
0,
0,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL
};
#else
extern DB_GLOBALS __db_global_values;
#endif
#define DB_GLOBAL(v) __db_global_values.v
#endif /* HAVE_BREW */
#if defined(__cplusplus)
}
#endif
#endif /* !_DB_GLOBALS_H_ */
|