![]() |
wget2 2.3.0
|
Data Structures | |
| struct | wget_bitmap_st |
Macros | |
| #define | bitmap_type uint64_t |
| #define | bitmap_bits (sizeof(bitmap_type) * 8) |
| #define | bitmap_shift 6 |
| #define | map(n) |
| #define | bit(n) |
Functions | |
| void | wget_bitmap_set (wget_bitmap *b, unsigned n) |
| void | wget_bitmap_clear (wget_bitmap *b, unsigned n) |
| bool | wget_bitmap_get (const wget_bitmap *b, unsigned n) |
| int | wget_bitmap_init (wget_bitmap **b, unsigned bits) |
| void | wget_bitmap_free (wget_bitmap **b) |
Bitmap (bit array) implementation.
This is useful when you need a bitmap with more than 64 bits. Up to 64 bits you can use the C99 uint64_t as a standard C bitfield.
As a usage example, Wget2 uses bitmaps for options with lists of HTTP status codes, which have values of 100-699.
| #define map | ( | n | ) |
| #define bit | ( | n | ) |
| void wget_bitmap_set | ( | wget_bitmap * | b, |
| unsigned | n ) |
| b | Bitmap to act on |
| n | Number of the bit to set (0-...) |
Set the bit n in the bitmap b.
| void wget_bitmap_clear | ( | wget_bitmap * | b, |
| unsigned | n ) |
| b | Bitmap to act on |
| n | Number of the bit to clear (0-...) |
Clear the bit n in the bitmap b.
| bool wget_bitmap_get | ( | const wget_bitmap * | b, |
| unsigned | n ) |
| [in] | b | Bitmap to read from |
| [in] | n | Number of the bit of interest (0-...) |
n is cleared or if n is out of range 1 if bit is setReturns whether the bit n is set or not.
| int wget_bitmap_init | ( | wget_bitmap ** | b, |
| unsigned | bits ) |
| [out] | b | Pointer to the allocated bitmap |
| [in] | bits | Number of bits |
Allocates a bitmap with a capacity of bits. It must be freed by wget_bitmap_free() after usage.
| void wget_bitmap_free | ( | wget_bitmap ** | b | ) |
| [in] | b | Pointer to bitmap to free |
Frees and clears the bitmap pointed to by b.