/*++ /* NAME /* mkmap_lmdb 3 /* SUMMARY /* create or open database, LMDB style /* SYNOPSIS /* #include /* /* MKMAP *mkmap_lmdb_open(path) /* const char *path; /* /* DESCRIPTION /* This module implements support for creating LMDB databases. /* /* mkmap_lmdb_open() takes a file name, appends the ".lmdb" /* suffix, and does whatever initialization is required /* before the OpenLDAP LMDB open routine is called. /* /* All errors are fatal. /* SEE ALSO /* dict_lmdb(3), LMDB dictionary interface. /* LICENSE /* .ad /* .fi /* The Secure Mailer license must be distributed with this software. /* AUTHOR(S) /* Howard Chu /* Symas Corporation /*--*/ /* System library. */ #include #include #include #include /* Utility library. */ #include #include #include #include #include #include #include #ifdef HAS_LMDB #ifdef PATH_LMDB_H #include PATH_LMDB_H #else #include #endif /* Global library. */ #include #include /* Application-specific. */ #include "mkmap.h" /* mkmap_lmdb_open */ MKMAP *mkmap_lmdb_open(const char *path) { MKMAP *mkmap = (MKMAP *) mymalloc(sizeof(*mkmap)); /* * Fill in the generic members. */ mkmap->open = dict_lmdb_open; mkmap->after_open = 0; mkmap->after_close = 0; /* * LMDB uses MVCC so it needs no special lock management here. */ return (mkmap); } #endif