logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

libwget-bitmap - Bitmap management functions

Author

       Generated automatically by Doxygen for wget2 from the source code.

wget2                                             Version 2.2.0                                libwget-bitmap(3)

Detailed Description

       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.

Function Documentation

voidwget_bitmap_set(wget_bitmap*b,unsignedn)Parametersb Bitmap to act on
           n Number of the bit to set (0-...)

       Set the bit n in the bitmap b.

   voidwget_bitmap_clear(wget_bitmap*b,unsignedn)Parametersb Bitmap to act on
           n Number of the bit to clear (0-...)

       Clear the bit n in the bitmap b.

   boolwget_bitmap_get(constwget_bitmap*b,unsignedn)Parametersb Bitmap to read from
           n Number of the bit of interest (0-...)

       Returns
           0 if bit n is cleared or if n is out of range 1 if bit is set

       Returns whether the bit n is set or not.

   intwget_bitmap_init(wget_bitmap**b,unsignedbits)Parametersb Pointer to the allocated bitmap
           bits Number of bits

       Returns
           A wget_error value

       Allocates a bitmap with a capacity of bits. It must be freed by wget_bitmap_free() after usage.

   voidwget_bitmap_free(wget_bitmap**b)Parametersb Pointer to bitmap to free

       Frees and clears the bitmap pointed to by b.

Name

       libwget-bitmap - Bitmap management functions

Synopsis

DataStructures
       struct wget_bitmap_stMacros
       #define bitmap_type   uint64_t
       #define bitmap_bits   (sizeof(bitmap_type) * 8)
       #define bitmap_shift   6
       #define map(n)   (((wget_bitmap *)b)->map[(n) >> bitmap_shift])
       #define bit(n)   (((bitmap_type) 1) << ((n) & (bitmap_bits - 1)))

   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)

See Also