xref: /dflybsd-src/contrib/wpa_supplicant/src/utils/bitfield.h (revision bcf9aa4feb4a2fdf8ceac276d271a57f4b27e13d)
1*3ff40c12SJohn Marino /*
2*3ff40c12SJohn Marino  * Bitfield
3*3ff40c12SJohn Marino  * Copyright (c) 2013, Jouni Malinen <j@w1.fi>
4*3ff40c12SJohn Marino  *
5*3ff40c12SJohn Marino  * This software may be distributed under the terms of the BSD license.
6*3ff40c12SJohn Marino  * See README for more details.
7*3ff40c12SJohn Marino  */
8*3ff40c12SJohn Marino 
9*3ff40c12SJohn Marino #ifndef BITFIELD_H
10*3ff40c12SJohn Marino #define BITFIELD_H
11*3ff40c12SJohn Marino 
12*3ff40c12SJohn Marino struct bitfield;
13*3ff40c12SJohn Marino 
14*3ff40c12SJohn Marino struct bitfield * bitfield_alloc(size_t max_bits);
15*3ff40c12SJohn Marino void bitfield_free(struct bitfield *bf);
16*3ff40c12SJohn Marino void bitfield_set(struct bitfield *bf, size_t bit);
17*3ff40c12SJohn Marino void bitfield_clear(struct bitfield *bf, size_t bit);
18*3ff40c12SJohn Marino int bitfield_is_set(struct bitfield *bf, size_t bit);
19*3ff40c12SJohn Marino int bitfield_get_first_zero(struct bitfield *bf);
20*3ff40c12SJohn Marino 
21*3ff40c12SJohn Marino #endif /* BITFIELD_H */
22