58 #define rz_bv_neg rz_bv_complement_2
59 #define rz_bv_not rz_bv_complement_1
105 #define rz_bv_new_zero(l) rz_bv_new(l)
106 #define rz_bv_new_one(l) rz_bv_new_from_ut64(l, 1)
107 #define rz_bv_new_two(l) rz_bv_new_from_ut64(l, 2)
108 #define rz_bv_new_minus_one(l) rz_bv_new_from_st64(l, -1)
static static sync static getppid static getegid const char static filename char static len const char char static bufsiz static mask static vfork const void static prot static getpgrp const char static swapflags static arg static fd static protocol static who struct sockaddr static addrlen static backlog struct timeval struct timezone static tz const struct iovec static count static mode const void const struct sockaddr static tolen const char static pathname void static offset struct stat static buf void long static basep static whence static length const void static len static semflg const void static shmflg const struct timespec struct timespec static rem const char static group const void length
static void pad(RzStrBuf *sb, ut32 count)
RZ_API RZ_OWN RzBitVector * rz_bv_add(RZ_NONNULL RzBitVector *x, RZ_NONNULL RzBitVector *y, RZ_NULLABLE bool *carry)
RZ_API RZ_OWN RzBitVector * rz_bv_dup(const RZ_NONNULL RzBitVector *bv)
RZ_API bool rz_bv_lsb(RZ_NONNULL RzBitVector *bv)
RZ_API ut32 rz_bv_ctz(RZ_NONNULL RzBitVector *bv)
RZ_API ut32 rz_bv_copy(RZ_NONNULL const RzBitVector *src, RZ_NONNULL RzBitVector *dst)
RZ_API RZ_OWN RzBitVector * rz_bv_prepend_zero(RZ_NONNULL RzBitVector *bv, ut32 delta_len)
RZ_API RZ_OWN RzBitVector * rz_bv_or(RZ_NONNULL RzBitVector *x, RZ_NONNULL RzBitVector *y)
RZ_API bool rz_bv_set_from_ut64(RZ_NONNULL RzBitVector *bv, ut64 value)
RZ_API void rz_bv_free(RZ_NULLABLE RzBitVector *bv)
RZ_API bool rz_bv_ule(RZ_NONNULL RzBitVector *x, RZ_NONNULL RzBitVector *y)
RZ_API bool rz_bv_lshift_fill(RZ_NONNULL RzBitVector *bv, ut32 size, bool fill_bit)
RZ_API bool rz_bv_cmp(RZ_NONNULL RzBitVector *x, RZ_NONNULL RzBitVector *y)
RZ_API void rz_bv_set_from_bytes_le(RZ_NONNULL RzBitVector *bv, RZ_IN RZ_NONNULL const ut8 *buf, ut32 bit_offset, ut32 size)
struct bitvector_t RzBitVector
RZ_API void rz_bv_fini(RZ_NONNULL RzBitVector *bv)
Clear a RzBitVector structure.
RZ_API void rz_bv_set_to_bytes_le(RZ_NONNULL const RzBitVector *bv, RZ_OUT RZ_NONNULL ut8 *buf)
Set the buffer contents from the given bitvector's bits in little endian format.
RZ_API bool rz_bv_sle(RZ_NONNULL RzBitVector *x, RZ_NONNULL RzBitVector *y)
RZ_API ut64 rz_bv_to_ut64(RZ_NONNULL const RzBitVector *x)
RZ_API ut32 rz_bv_len(RZ_NONNULL const RzBitVector *bv)
RZ_API bool rz_bv_toggle(RZ_NONNULL RzBitVector *bv, ut32 pos)
RZ_API bool rz_bv_is_zero_vector(RZ_NONNULL const RzBitVector *x)
RZ_API RZ_OWN RzBitVector * rz_bv_new_from_st64(ut32 length, st64 value)
RZ_API RZ_OWN RzBitVector * rz_bv_mod(RZ_NONNULL RzBitVector *x, RZ_NONNULL RzBitVector *y)
RZ_API bool rz_bv_set_all(RZ_NONNULL RzBitVector *bv, bool b)
RZ_API bool rz_bv_lshift(RZ_NONNULL RzBitVector *bv, ut32 size)
RZ_API ut32 rz_bv_to_ut32(RZ_NONNULL const RzBitVector *x)
RZ_API RZ_OWN RzBitVector * rz_bv_new_from_ut64(ut32 length, ut64 value)
RZ_API ut8 rz_bv_to_ut8(RZ_NONNULL const RzBitVector *x)
RZ_API RZ_OWN char * rz_bv_as_string(RZ_NONNULL RzBitVector *bv)
RZ_API void rz_bv_set_from_bytes_be(RZ_NONNULL RzBitVector *bv, RZ_IN RZ_NONNULL const ut8 *buf, ut32 bit_offset, ut32 size)
Set the bitvector's contents from the given bits. The bitvector's size is unchanged....
RZ_API bool rz_bv_toggle_all(RZ_NONNULL RzBitVector *bv)
RZ_API RZ_OWN RzBitVector * rz_bv_cut_tail(RZ_NONNULL RzBitVector *bv, ut32 delta_len)
RZ_API ut32 rz_bv_hash(RZ_NULLABLE RzBitVector *x)
RZ_API ut32 rz_bv_len_bytes(RZ_NONNULL const RzBitVector *bv)
RZ_API RZ_OWN RzBitVector * rz_bv_complement_2(RZ_NONNULL RzBitVector *bv)
RZ_API bool rz_bv_rshift(RZ_NONNULL RzBitVector *bv, ut32 size)
RZ_API RZ_OWN RzBitVector * rz_bv_xor(RZ_NONNULL RzBitVector *x, RZ_NONNULL RzBitVector *y)
RZ_API RZ_OWN RzBitVector * rz_bv_append(RZ_NONNULL RzBitVector *bv1, RZ_NONNULL RzBitVector *bv2)
RZ_API RZ_OWN RzBitVector * rz_bv_mul(RZ_NONNULL RzBitVector *x, RZ_NONNULL RzBitVector *y)
RZ_API bool rz_bv_msb(RZ_NONNULL RzBitVector *bv)
RZ_API RZ_OWN RzBitVector * rz_bv_and(RZ_NONNULL RzBitVector *x, RZ_NONNULL RzBitVector *y)
RZ_API bool rz_bv_get(RZ_NONNULL const RzBitVector *bv, ut32 pos)
RZ_API RZ_OWN RzBitVector * rz_bv_new_from_bytes_be(RZ_IN RZ_NONNULL const ut8 *buf, ut32 bit_offset, ut32 size)
RZ_API RZ_OWN RzBitVector * rz_bv_new(ut32 length)
RZ_API ut16 rz_bv_to_ut16(RZ_NONNULL const RzBitVector *x)
RZ_API ut32 rz_bv_clz(RZ_NONNULL RzBitVector *bv)
RZ_API bool rz_bv_set(RZ_NONNULL RzBitVector *bv, ut32 pos, bool b)
RZ_API RZ_OWN RzBitVector * rz_bv_new_from_bytes_le(RZ_IN RZ_NONNULL const ut8 *buf, ut32 bit_offset, ut32 size)
RZ_API RZ_OWN RzBitVector * rz_bv_sub(RZ_NONNULL RzBitVector *x, RZ_NONNULL RzBitVector *y, RZ_NULLABLE bool *borrow)
RZ_API RZ_OWN RzBitVector * rz_bv_complement_1(RZ_NONNULL RzBitVector *bv)
RZ_API bool rz_bv_rshift_fill(RZ_NONNULL RzBitVector *bv, ut32 size, bool fill_bit)
RZ_API RZ_OWN RzBitVector * rz_bv_sdiv(RZ_NONNULL RzBitVector *x, RZ_NONNULL RzBitVector *y)
RZ_API void rz_bv_set_to_bytes_be(RZ_NONNULL const RzBitVector *bv, RZ_OUT RZ_NONNULL ut8 *buf)
Set the buffer contents from the given bitvector's bits in big endian format.
RZ_API RZ_OWN RzBitVector * rz_bv_smod(RZ_NONNULL RzBitVector *x, RZ_NONNULL RzBitVector *y)
RZ_API RZ_OWN RzBitVector * rz_bv_append_zero(RZ_NONNULL RzBitVector *bv, ut32 delta_len)
RZ_API bool rz_bv_init(RZ_NONNULL RzBitVector *bv, ut32 length)
Initialize a RzBitVector structure.
RZ_API bool rz_bv_set_from_st64(RZ_NONNULL RzBitVector *bv, st64 value)
RZ_API ut32 rz_bv_copy_nbits(RZ_NONNULL const RzBitVector *src, ut32 src_start_pos, RZ_NONNULL RzBitVector *dst, ut32 dst_start_pos, ut32 nbit)
RZ_API RZ_OWN RzBitVector * rz_bv_cut_head(RZ_NONNULL RzBitVector *bv, ut32 delta_len)
RZ_API bool rz_bv_eq(RZ_NONNULL RzBitVector *x, RZ_NONNULL RzBitVector *y)
RZ_API RZ_OWN RzBitVector * rz_bv_div(RZ_NONNULL RzBitVector *x, RZ_NONNULL RzBitVector *y)
RZ_API RZ_OWN char * rz_bv_as_hex_string(RZ_NONNULL RzBitVector *bv, bool pad)
union bitvector_t::@303 bits
ut32 len
number of bits – virtual / logical
ut8 * large_a
little endian array of bytes for bitvectors > 64 bits whose size is defined in _elem_len
ut64 small_u
value of the bitvector when the size is <= 64 bits
ut32 _elem_len
length of ut8 array (bits.large_a) – real / physical
ut64(WINAPI *w32_GetEnabledXStateFeatures)()