InnoDB Plugin  1.0
ut0bh.h
Go to the documentation of this file.
1 /***************************************************************************/
19 /******************************************************************/
26 #ifndef INNOBASE_UT0BH_H
27 #define INNOBASE_UT0BH_H
28 
29 #include "univ.i"
30 
32 typedef int (*ib_bh_cmp_t)(const void* p1, const void* p2);
33 
34 struct ib_bh_t;
35 
36 /**********************************************************************/
39 UNIV_INLINE
40 ulint
42 /*=======*/
43  const ib_bh_t* ib_bh);
45 /**********************************************************************/
48 UNIV_INLINE
49 ibool
51 /*===========*/
52  const ib_bh_t* ib_bh);
54 /**********************************************************************/
57 UNIV_INLINE
58 ibool
60 /*===========*/
61  const ib_bh_t* ib_bh);
63 /**********************************************************************/
66 UNIV_INLINE
67 void*
68 ib_bh_get(
69 /*=======*/
70  ib_bh_t* ib_bh,
71  ulint i);
73 /**********************************************************************/
76 UNIV_INLINE
77 void*
78 ib_bh_set(
79 /*======*/
80  ib_bh_t* ib_bh,
81  ulint i,
82  const void* elem);
84 /**********************************************************************/
87 UNIV_INLINE
88 void*
90 /*========*/
91  ib_bh_t* ib_bh);
93 /**********************************************************************/
96 UNIV_INLINE
97 void*
99 /*========*/
100  ib_bh_t* ib_bh);
102 /**********************************************************************/
105 UNIV_INTERN
106 ib_bh_t*
108 /*=========*/
110  ulint sizeof_elem,
111  ulint max_elems);
113 /**********************************************************************/
116 UNIV_INTERN
117 void
118 ib_bh_free(
119 /*=======*/
120  ib_bh_t* ib_bh);
122 /**********************************************************************/
125 UNIV_INTERN
126 void*
127 ib_bh_push(
128 /*=======*/
129  ib_bh_t* ib_bh,
130  const void* elem);
132 /**********************************************************************/
134 UNIV_INTERN
135 void
136 ib_bh_pop(
137 /*======*/
138  ib_bh_t* ib_bh);
141 struct ib_bh_t {
142  ulint max_elems;
143  ulint n_elems;
144  ulint sizeof_elem;
146 };
147 
148 #ifndef UNIV_NONINL
149 #include "ut0bh.ic"
150 #endif
151 
152 #endif /* INNOBASE_UT0BH_H */