xref: /freebsd/contrib/sendmail/include/sm/bdb.h (revision 2fb4f839)
113bd1963SGregory Neil Shapiro /*
2da7d7b9cSGregory Neil Shapiro  * Copyright (c) 2002, 2003, 2014 Proofpoint, Inc. and its suppliers.
313bd1963SGregory Neil Shapiro  *	All rights reserved.
413bd1963SGregory Neil Shapiro  *
513bd1963SGregory Neil Shapiro  * By using this file, you agree to the terms and conditions set
613bd1963SGregory Neil Shapiro  * forth in the LICENSE file which can be found at the top level of
713bd1963SGregory Neil Shapiro  * the sendmail distribution.
813bd1963SGregory Neil Shapiro  *
913bd1963SGregory Neil Shapiro  *
104313cc83SGregory Neil Shapiro  *	$Id: bdb.h,v 1.5 2013-11-22 20:51:31 ca Exp $
1113bd1963SGregory Neil Shapiro  */
1213bd1963SGregory Neil Shapiro 
1313bd1963SGregory Neil Shapiro #ifndef	SM_BDB_H
1413bd1963SGregory Neil Shapiro #define SM_BDB_H
1513bd1963SGregory Neil Shapiro 
1613bd1963SGregory Neil Shapiro #if NEWDB
1713bd1963SGregory Neil Shapiro # include <db.h>
1813bd1963SGregory Neil Shapiro # ifndef DB_VERSION_MAJOR
1913bd1963SGregory Neil Shapiro #  define DB_VERSION_MAJOR 1
205b0945b5SGregory Neil Shapiro # endif
2113bd1963SGregory Neil Shapiro 
22da7d7b9cSGregory Neil Shapiro # if (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1) || DB_VERSION_MAJOR >= 5
2313bd1963SGregory Neil Shapiro 
2413bd1963SGregory Neil Shapiro #  define DBTXN	NULL ,
2513bd1963SGregory Neil Shapiro 
2613bd1963SGregory Neil Shapiro /*
2713bd1963SGregory Neil Shapiro **  Always turn on DB_FCNTL_LOCKING for DB 4.1.x since its
2813bd1963SGregory Neil Shapiro **  "workaround" for accepting an empty (locked) file depends on
2913bd1963SGregory Neil Shapiro **  this flag. Notice: this requires 4.1.24 + patch (which should be
3013bd1963SGregory Neil Shapiro **  part of 4.1.25).
3113bd1963SGregory Neil Shapiro */
3213bd1963SGregory Neil Shapiro 
3313bd1963SGregory Neil Shapiro #  define SM_DB_FLAG_ADD(flag)	(flag) |= DB_FCNTL_LOCKING
3413bd1963SGregory Neil Shapiro 
35da7d7b9cSGregory Neil Shapiro # else /* (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1) || DB_VERSION_MAJOR >= 5 */
3613bd1963SGregory Neil Shapiro 
3713bd1963SGregory Neil Shapiro #  define DBTXN
385ef517c0SGregory Neil Shapiro #  if !HASFLOCK && defined(DB_FCNTL_LOCKING)
3913bd1963SGregory Neil Shapiro #   define SM_DB_FLAG_ADD(flag)	(flag) |= DB_FCNTL_LOCKING
402fb4f839SGregory Neil Shapiro #  else
4113bd1963SGregory Neil Shapiro #   define SM_DB_FLAG_ADD(flag)	((void) 0)
422fb4f839SGregory Neil Shapiro #  endif
4313bd1963SGregory Neil Shapiro 
44da7d7b9cSGregory Neil Shapiro # endif /* (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1) || DB_VERSION_MAJOR >= 5 */
4513bd1963SGregory Neil Shapiro #endif /* NEWDB */
4613bd1963SGregory Neil Shapiro 
4713bd1963SGregory Neil Shapiro #endif /* ! SM_BDB_H */
48