#include <stddef.h>
DataStructures
struct MDB_ID2Macros
#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_ID * MDB_IDL
typedef MDB_ID2 * MDB_ID2LFunctions
unsigned mdb_midl_search (MDB_IDL ids, MDB_ID id)
MDB_IDLmdb_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)