30 #define BIT_CHAR(bit) ((bit) / CHAR_BIT)
t_bitarray * bitarray_create_with_mode(char *bitarray, size_t size, bit_numbering_t mode)
Crea y devuelve un puntero a una estructura t_bitarray.
t_bitarray * bitarray_create(char *bitarray, size_t size)
Crea y devuelve un puntero a una estructura t_bitarray con formato LSB_FIRST.
size_t bitarray_get_max_bit(t_bitarray *)
Devuelve la cantidad de bits en el bitarray.
bool bitarray_test_bit(t_bitarray *, off_t bit_index)
Devuelve el valor del bit de la posicion indicada.
void bitarray_set_bit(t_bitarray *, off_t bit_index)
Setea el valor del bit de la posicion indicada.
bit_numbering_t
Define el orden bajo el cual se guardarán los bits a la hora de llenar los bytes.
Definition: bitarray.h:39
@ MSB_FIRST
Completa los bits en un byte priorizando el bit más significativo: 10000000 00000000.
Definition: bitarray.h:41
@ LSB_FIRST
Completa los bits en un byte priorizando el bit menos significativo: 00000001 00000000.
Definition: bitarray.h:40
void bitarray_destroy(t_bitarray *)
Destruye el bit array.
void bitarray_clean_bit(t_bitarray *, off_t bit_index)
Limpia el valor del bit de la posicion indicada.
Manipulación de un bloque de memoria a nivel de bits. Inicializar con bitarray_create_with_mode()
Definition: bitarray.h:48
char * bitarray
Definition: bitarray.h:49
size_t size
Definition: bitarray.h:50
bit_numbering_t mode
Definition: bitarray.h:51