LMDB
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Functions
midl.h File Reference

LMDB ID List header file. More...

#include <stddef.h>

Go to the source code of this file.

Data Structures

struct  MDB_ID2
 

Macros

#define MDB_IDL_LOGN   16 /* DB_SIZE is 2^16, UM_SIZE is 2^17 */
 
#define MDB_IDL_DB_SIZE   (1<<MDB_IDL_LOGN)
 
#define MDB_IDL_UM_SIZE   (1<<(MDB_IDL_LOGN+1))
 
#define MDB_IDL_DB_MAX   (MDB_IDL_DB_SIZE-1)
 
#define MDB_IDL_UM_MAX   (MDB_IDL_UM_SIZE-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)
 

Typedefs

typedef size_t MDB_ID
 
typedef MDB_IDMDB_IDL
 
typedef MDB_ID2MDB_ID2L
 

Functions

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.