| 
| void  | create_last_word_mask (MY_BITMAP *map) | 
|   | 
| static uint  | get_first_set (uint32 value, uint word_pos) | 
|   | 
| static uint  | get_first_not_set (uint32 value, uint word_pos) | 
|   | 
| bool  | bitmap_init (MY_BITMAP *map, my_bitmap_map *buf, uint n_bits) | 
|   | 
| void  | bitmap_free (MY_BITMAP *map) | 
|   | 
| bool  | bitmap_test_and_set (MY_BITMAP *map, uint bitmap_bit) | 
|   | 
| uint  | bitmap_set_next (MY_BITMAP *map) | 
|   | 
| void  | bitmap_set_prefix (MY_BITMAP *map, uint prefix_size) | 
|   | Set the specified number of bits in the bitmap buffer.  More...
  | 
|   | 
| bool  | bitmap_is_prefix (const MY_BITMAP *map, uint prefix_size) | 
|   | 
| bool  | bitmap_is_set_all (const MY_BITMAP *map) | 
|   | 
| bool  | bitmap_is_clear_all (const MY_BITMAP *map) | 
|   | 
| bool  | bitmap_is_subset (const MY_BITMAP *map1, const MY_BITMAP *map2) | 
|   | 
| bool  | bitmap_is_overlapping (const MY_BITMAP *map1, const MY_BITMAP *map2) | 
|   | 
| bool  | bitmap_is_valid (const MY_BITMAP *map) | 
|   | Check if 'map' is valid.  More...
  | 
|   | 
| void  | bitmap_intersect (MY_BITMAP *to, const MY_BITMAP *from) | 
|   | 
| void  | bitmap_set_above (MY_BITMAP *map, uint from_byte, bool use_bit) | 
|   | 
| void  | bitmap_subtract (MY_BITMAP *map, const MY_BITMAP *map2) | 
|   | 
| void  | bitmap_union (MY_BITMAP *map, const MY_BITMAP *map2) | 
|   | 
| void  | bitmap_xor (MY_BITMAP *map, const MY_BITMAP *map2) | 
|   | 
| void  | bitmap_invert (MY_BITMAP *map) | 
|   | 
| uint  | bitmap_bits_set (const MY_BITMAP *map) | 
|   | 
| void  | bitmap_copy (MY_BITMAP *map, const MY_BITMAP *map2) | 
|   | 
| uint  | bitmap_get_first_set (const MY_BITMAP *map) | 
|   | 
| uint  | bitmap_get_next_set (const MY_BITMAP *map, uint bitmap_bit) | 
|   | Get the next set bit.  More...
  | 
|   | 
| uint  | bitmap_get_first (const MY_BITMAP *map) | 
|   | 
| uint  | bitmap_n_copy (MY_BITMAP *dst, const MY_BITMAP *src, uint max_bits_to_copy) | 
|   | Copy as many bits as 'dst' can hold from 'src', but no more than max_bits_to_copy bits.  More...
  | 
|   | 
Handling of uchar arrays as large bitmaps. 
API limitations (or, rather asserted safety assumptions, to encourage correct programming) 
the internal size is a set of 32 bit words
the number of bits specified in creation can be any number > 0
a bitmap with zero bits can be created and initialized, but not used.
 TODO: Make assembler THREAD safe versions of these using test-and-set instructions
Original version created by Sergei Golubchik 2001 - 2004. New version written and test program added and some changes to the interface was made by Mikael Ronström 2005, with assistance of Tomas Ulin and Mats Kindahl.