Palacios Public Git Repository

To checkout Palacios execute

  git clone http://v3vee.org/palacios/palacios.web/palacios.git
This will give you the master branch. You probably want the devel branch or one of the release branches. To switch to the devel branch, simply execute
  cd palacios
  git checkout --track -b devel origin/devel
The other branches are similar.


Updated manual pulled from devel branch
[palacios.git] / geekos / include / geekos / bget.h
1 /*
2
3     Interface definitions for bget.c, the memory management package.
4
5 */
6
7 #if defined (GEEKOS)
8
9 // Adapted for geekos: http://www.cs.umd.edu/~daveho/geekos/
10 // Original version of BGET downloaded from: http://www.fourmilab.ch/bget/
11 // $Revision: 1.1 $
12
13 // GeekOS changes are (mostly) confined to #if defined (GEEKOS)
14 // sections.
15
16 // Yes, we have prototypes :-)
17 #define PROTOTYPES
18
19 #endif // defined (GEEKOS)
20
21 #ifndef _
22 #ifdef PROTOTYPES
23 #define  _(x)  x                      /* If compiler knows prototypes */
24 #else
25 #define  _(x)  ()                     /* It it doesn't */
26 #endif /* PROTOTYPES */
27 #endif
28
29 typedef long bufsize;
30 void    bpool       _((void *buffer, bufsize len));
31 void   *bget        _((bufsize size));
32 void   *bgetz       _((bufsize size));
33 void   *bgetr       _((void *buffer, bufsize newsize));
34 void    brel        _((void *buf));
35 void    bectl       _((int (*compact)(bufsize sizereq, int sequence),
36                        void *(*acquire)(bufsize size),
37                        void (*release)(void *buf), bufsize pool_incr));
38 void    bstats      _((bufsize *curalloc, bufsize *totfree, bufsize *maxfree,
39                        long *nget, long *nrel));
40 void    bstatse     _((bufsize *pool_incr, long *npool, long *npget,
41                        long *nprel, long *ndget, long *ndrel));
42 void    bufdump     _((void *buf));
43 void    bpoold      _((void *pool, int dumpalloc, int dumpfree));
44 int     bpoolv      _((void *pool));