midl.h(3) LMDB ID List header file.


#include <stddef.h>

Data Structures

struct MDB_ID2


#define MDB_IDL_LOGN 16      /* DB_SIZE is 2^16, UM_SIZE is 2^17 */


#define MDB_IDL_UM_SIZE (1<<(MDB_IDL_LOGN+1))



#define MDB_IDL_SIZEOF(ids) (((ids)[0]+1) * sizeof(MDB_ID))

#define MDB_IDL_IS_ZERO(ids) ( (ids)[0] == 0 )

#define MDB_IDL_CPY(dst, src) (memcpy( dst, src, MDB_IDL_SIZEOF( src ) ))

#define MDB_IDL_FIRST(ids) ( (ids)[1] )

#define MDB_IDL_LAST(ids) ( (ids)[(ids)[0]] )

#define MDB_IDL_ALLOCLEN(ids) ( (ids)[-1] )

#define mdb_midl_xappend(idl, id)


typedef size_t MDB_ID

typedef MDB_ID * MDB_IDL

typedef MDB_ID2 * MDB_ID2L


unsigned mdb_midl_search (MDB_IDL ids, MDB_ID id)

MDB_IDL mdb_midl_alloc (int num)

void mdb_midl_free (MDB_IDL ids)

void mdb_midl_shrink (MDB_IDL *idp)

int mdb_midl_need (MDB_IDL *idp, unsigned num)

int mdb_midl_append (MDB_IDL *idp, MDB_ID id)

int mdb_midl_append_list (MDB_IDL *idp, MDB_IDL app)

int mdb_midl_append_range (MDB_IDL *idp, MDB_ID id, unsigned n)

void mdb_midl_xmerge (MDB_IDL idl, MDB_IDL merge)

void mdb_midl_sort (MDB_IDL ids)

unsigned mdb_mid2l_search (MDB_ID2L ids, MDB_ID id)

int mdb_mid2l_insert (MDB_ID2L ids, MDB_ID2 *id)

int mdb_mid2l_append (MDB_ID2L ids, MDB_ID2 *id)

Detailed Description

LMDB ID List header file.

This file was originally part of back-bdb but has been modified for use in libmdb. Most of the macros defined in this file are unused, just left over from the original.

This file is only used internally in libmdb and its definitions are not exposed publicly.


Generated automatically by Doxygen for LMDB from the source code.