#ifndef MPLIB1_BPO_ALLOC_PRIV #define MPLIB1_BPO_ALLOC_PRIV /* ******************************************************************************* * Copyright (c) 1996 Martin Poole * ******************************************************************************* ** ** WARNING !! WARNING !! WARNING !! WARNING !! WARNING !! WARNING !! ** ** Any changes to be made to this file should first be checked with ** mplib1 source control for library integrity. ** ** mplib1 source control can be reached at mplib1@quatermass.co.uk ** * * $Source$ * $Author$ * $Date$ * $Revision$ * ******************************************************************************* * * Change History * * $Log$ * ******************************************************************************* */ #ident "$Header$" #ifndef MPLIB1_CONFIG #include #endif #ifndef MPLIB1_BPO_LOCK #include #endif #ifndef MPLIB1_BPO_LIST #include #endif #ifndef MPLIB1_BPO_INIT #include #endif /* ------------------------------------------------------------------ defines ------------------------------------------------------------------ */ #define MIN_SHALLOC_SIZE 32 #define MIN_SHALLOC_MASK 0xffffffe0 #define STD_NUM_TRACK_BLKS 100 /* ------------------------------------------------------------------ structures ------------------------------------------------------------------ */ struct shalloc_track_head { off_t lno_me; off_t next_track_head; size_t head_and_tracks; size_t num_tracks; size_t num_empty; int sth_flags; }; struct shalloc_track { off_t sh_off; size_t sh_size; }; struct shalloc_base { off_t lno_me; size_t sh_size; off_t lno_first_free; off_t lno_first_used; b_lock_t sb_lock; struct shalloc_track emergency_used; struct sodb_resource shalloc_resource; char shalloc_name[10]; }; /* ------------------------------------------------------------------ function definitions ------------------------------------------------------------------ */ extern struct sodb_resource * shalloc_init( void *seg_base, off_t shalloc_base_off, size_t shalloc_sz ); #endif /* -- End of File -- */