* find bits in an arbitrarily large bitmap. The interface does not support
* setting the bits atomically.
*
- * Example with a pre-allocate bitmap:
+ * Example with a pre-allocated bitmap:
*
* // Declare bitmap of size of 500 bits
* SILC_BITMAP_DECLARE(bitmap, 500);
* bit = silc_bit_ffs(bitmap, bitmap_size);
*
* // Find next set bit from the bitmap
- * bit = silc_bit_fns(bitmap, bitmap_size, bit);
+ * bit = silc_bit_fns(bitmap, bitmap_size, bit + 1);
*
* // Clear bit number 100
* silc_bit_set(bitmap, bitmap_size, 100);
* DESCRIPTION
*
* Set bit number `bit' in the `bitmap' of size of `bitmap_size'. Returns
- * FALSE on error.
+ * FALSE on error and sets silc_errno.
*
***/
SilcBool silc_bit_set(volatile unsigned long *bitmap, SilcUInt32 bitmap_size,
* DESCRIPTION
*
* Clear bit number `bit' in the `bitmap' of size of `bitmap_size'.
- * Returns FALSE on error.
+ * Returns FALSE on error and sets silc_errno.
*
***/
SilcBool silc_bit_clear(volatile unsigned long *bitmap, SilcUInt32 bitmap_size,
* DESCRIPTION
*
* Toggle bit number `bit' in the `bitmap' of size of `bitmap_size'.
- * Returns FALSE on error.
+ * Returns FALSE on error and sets silc_errno.
*
***/
SilcBool silc_bit_toggle(volatile unsigned long *bitmap,
* DESCRIPTION
*
* Set bit number `bit' in the `bitmap' of size of `bitmap_size' and
- * return the value before setting. Returns -1 on error.
+ * return the value before setting. Returns -1 on error and sets
+ * silc_errno.
*
***/
int silc_bit_test_and_set(volatile unsigned long *bitmap,
* DESCRIPTION
*
* Clear bit number `bit' in the `bitmap' of size of `bitmap_size' and
- * return the value before setting. Returns -1 on error.
+ * return the value before setting. Returns -1 on error and sets
+ * silc_errno.
*
***/
int silc_bit_test_and_clear(volatile unsigned long *bitmap,
* DESCRIPTION
*
* Toggle bit number `bit' in the `bitmap' of size of `bitmap_size' and
- * return the value before setting. Returns -1 on error.
+ * return the value before setting. Returns -1 on error and sets
+ * silc_errno.
*
***/
int silc_bit_test_and_toggle(volatile unsigned long *bitmap,
* SYNOPSIS
*
* int silc_bit_get(volatile unsigned long *bitmap, SilcUInt32 bitmap_size,
- * ,SilcUInt32 bit);
+ * SilcUInt32 bit);
*
* DESCRIPTION
*
- * Returns the value of the bit number `bit' or -1 on error.
+ * Returns the value of the bit number `bit' or -1 on error and sets
+ * silc_errno.
*
***/
int silc_bit_get(volatile unsigned long *bitmap, SilcUInt32 bitmap_size,
* DESCRIPTION
*
* Returns the bit number of the first set bit in the `bitmap' of size
- * of `bitmap_size'. Returns -1 on error or there were no set bits.
+ * of `bitmap_size'. Returns -1 on error or when there were no set bits
+ * and sets silc_errno.
*
***/
int silc_bit_ffs(volatile unsigned long *bitmap, SilcUInt32 bitmap_size);
* DESCRIPTION
*
* Returns the bit number of the first zero bit in the `bitmap' of size
- * of `bitmap_size'. Returns -1 on error or there were no zero bits.
+ * of `bitmap_size'. Returns -1 on error or when there were no zero bits
+ * and sets silc_errno.
*
***/
int silc_bit_ffz(volatile unsigned long *bitmap, SilcUInt32 bitmap_size);
*
* Returns the bit number of the next set bit in the `bitmap' of size
* of `bitmap_size' starting at bit `offset'. Returns -1 on error or
- * there were no more set bits.
+ * when there were no more set bits and sets silc_errno.
*
***/
int silc_bit_fns(volatile unsigned long *bitmap, SilcUInt32 bitmap_size,
*
* Returns the bit number of the next zero bit in the `bitmap' of size
* of `bitmap_size' starting at bit `offset'. Returns -1 on error or
- * there were no more zero bits.
+ * when there were no more zero bits and sets silc_errno.
*
***/
int silc_bit_fnz(volatile unsigned long *bitmap, SilcUInt32 bitmap_size,