int bitmask_set_bit_to(struct bitmask *bm, unsigned int bits, int to) { unsigned int byte = bits / 8; unsigned int bit = bits % 8; unsigned char *ptr; if (byte > SIZE_OCTETS(bm->size_bits)) return -EINVAL; if (to == 0) bm->buf[byte] &= ~(1 << bit); else bm->buf[byte] |= (1 << bit); return 0; }
void bitmask_clear(struct bitmask *bm) { memset(bm->buf, 0, SIZE_OCTETS(bm->size_bits)); }