Rizin
unix-like reverse engineering framework and cli tools
io_buf Union Reference

#include <file_io.h>

Public Attributes

uint8_t u8 [IO_BUFFER_SIZE]
 
uint32_t u32 [IO_BUFFER_SIZE/sizeof(uint32_t)]
 
uint64_t u64 [IO_BUFFER_SIZE/sizeof(uint64_t)]
 

Detailed Description

is_sparse() accesses the buffer as uint64_t for maximum speed. The u32 and u64 members must only be access through this union to avoid strict aliasing violations. Taking a pointer of u8 should be fine as long as uint8_t maps to unsigned char which can alias anything.

Definition at line 27 of file file_io.h.

Member Data Documentation

◆ u32

uint32_t io_buf::u32[IO_BUFFER_SIZE/sizeof(uint32_t)]

Definition at line 29 of file file_io.h.

◆ u64

uint64_t io_buf::u64[IO_BUFFER_SIZE/sizeof(uint64_t)]

Definition at line 30 of file file_io.h.

◆ u8

uint8_t io_buf::u8[IO_BUFFER_SIZE]

Definition at line 28 of file file_io.h.

Referenced by coder_normal(), coder_run(), and coder_write_output().


The documentation for this union was generated from the following file: