/usr/include/htdig_db/debug.h is in htdig 1:3.2.0b6-12.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 | /*-
* See the file LICENSE for redistribution information.
*
* Copyright (c) 1998, 1999
* Sleepycat Software. All rights reserved.
*
* @(#)debug.h 11.8 (Sleepycat) 11/8/99
*/
/*
* When running with #DIAGNOSTIC defined, we smash memory and do memory
* guarding with a special byte value.
*/
#define CLEAR_BYTE 0xdb
#define GUARD_BYTE 0xdc
/*
* DB assertions.
*/
#ifdef DIAGNOSTIC
#define DB_ASSERT(e) ((e) ? (void)0 : __db_assert(#e, __FILE__, __LINE__))
#else
#define DB_ASSERT(e) ((void)0)
#endif
/*
* Debugging macro to log operations.
* If DEBUG_WOP is defined, log operations that modify the database.
* If DEBUG_ROP is defined, log operations that read the database.
*
* D dbp
* T txn
* O operation (string)
* K key
* A data
* F flags
*/
#define LOG_OP(C, T, O, K, A, F) { \
DB_LSN __lsn; \
DBT __op; \
if (DB_LOGGING((C))) { \
memset(&__op, 0, sizeof(__op)); \
__op.data = O; \
__op.size = strlen(O) + 1; \
(void)CDB___db_debug_log((C)->dbp->dbenv, \
T, &__lsn, 0, &__op, (C)->dbp->log_fileid, K, A, F);\
} \
}
#ifdef DEBUG_ROP
#define DEBUG_LREAD(C, T, O, K, A, F) LOG_OP(C, T, O, K, A, F)
#else
#define DEBUG_LREAD(C, T, O, K, A, F)
#endif
#ifdef DEBUG_WOP
#define DEBUG_LWRITE(C, T, O, K, A, F) LOG_OP(C, T, O, K, A, F)
#else
#define DEBUG_LWRITE(C, T, O, K, A, F)
#endif
/*
* Hook for testing recovery at various places in the create/delete paths.
*/
#if CONFIG_TEST
#define DB_TEST_RECOVERY(dbp, val, ret, name) \
do { \
int __ret; \
PANIC_CHECK((dbp)->dbenv); \
if ((dbp)->dbenv->test_copy == (val)) { \
/* COPY the FILE */ \
(void)(dbp)->sync((dbp), 0); \
if ((__ret = __db_testcopy((dbp), (name))) != 0) \
(ret) = CDB___db_panic((dbp)->dbenv, __ret); \
} \
if ((dbp)->dbenv->test_abort == (val)) { \
/* ABORT the TXN */ \
(ret) = EINVAL; \
goto db_tr_err; \
} \
} while (0)
#define DB_TEST_RECOVERY_LABEL db_tr_err:
#else
#define DB_TEST_RECOVERY(dbp, val, ret, name)
#define DB_TEST_RECOVERY_LABEL
#endif
|