|
| #define | GEL_ALIGN(v, n) (((v) + (n) - 1) & ~((n) - 1)) |
| |
| #define | GEL_ALIGNP(t, p, n) ((t *)GEL_ALIGN((intptr_t)(p), (n))) |
| |
| #define | gel_cursor_at_end(c) ((c).cur_addr >= (c).base_addr + (c).size) |
| |
| #define | gel_cursor_avail(c) ((c).base_addr + (c).size - (c).cur_addr) |
| |
| #define | gel_cursor_align(c, n) (c).cur_addr = GEL_ALIGNP(u8_t, (c).cur_addr, (n)) |
| |
| #define | gel_cursor_reset(c) { (c).cur_addr = (c).base_addr; } |
| |
| #define | gel_cursor_vaddr(c) ((c).vaddr + (c).cur_addr - (c).base_addr) |
| |
| #define | gel_cursor_offset(c) ((c).cur_addr - (c).base_addr) |
| |
| #define | gel_read_u8(c) ((c).cur_addr += 1 , *((u8_t*)((c).cur_addr - 1))) |
| |
| #define | gel_read_s8(c) ((c).cur_addr += 1 , *((s8_t*)((c).cur_addr - 1))) |
| |
| #define | gel_read_u16(c) ((c).cur_addr += 2, ENDIAN2((c).endianness, (*((u16_t*)((c).cur_addr - 2))))) |
| |
| #define | gel_read_s16(c) ((c).cur_addr += 2, ENDIAN2((c).endianness, (*((s16_t*)((c).cur_addr - 2))))) |
| |
| #define | gel_read_u32(c) ((c).cur_addr += 4, ENDIAN4((c).endianness, (*((u32_t*)((c).cur_addr - 4))))) |
| |
| #define | gel_read_s32(c) ((c).cur_addr += 4, ENDIAN4((c).endianness, (*((s32_t*)((c).cur_addr - 4))))) |
| |
| #define | gel_read_vaddr(c) ((c).cur_addr += 4, ENDIAN4((c).endianness, (*((vaddr_t*)((c).cur_addr - 4))))) |
| |
| #define | gel_read_raddr(c) ((c).cur_addr += 4, ENDIAN4((c).endianness, (*((raddr_t*)((c).cur_addr - 4))))) |
| |
| #define | gel_read_data(c, b, s) { memcpy((b), (c).cur_addr, (s)); (c).cur_addr += (s); } |
| |
| #define | gel_write_u8(c, v) {*((u8_t*)((c).cur_addr)) = (v) ; (c).cur_addr += 1; } while (0) |
| |
| #define | gel_write_s8(c, v) {*((s8_t*)((c).cur_addr)) = (v) ; (c).cur_addr += 1; } while (0) |
| |
| #define | gel_write_u16(c, v) {*((u16_t*)((c).cur_addr)) = ENDIAN2((c).endianness,(v)) ; (c).cur_addr += 2; } while (0) |
| |
| #define | gel_write_s16(c, v) {*((s16_t*)((c).cur_addr)) = ENDIAN2((c).endianness,(v)) ; (c).cur_addr += 2; } while (0) |
| |
| #define | gel_write_u32(c, v) {*((u32_t*)((c).cur_addr)) = ENDIAN4((c).endianness,(v)) ; (c).cur_addr += 4; } while (0) |
| |
| #define | gel_write_s32(c, v) {*((s32_t*)((c).cur_addr)) = ENDIAN4((c).endianness,(v)) ; (c).cur_addr += 4; } while (0) |
| |
| #define | gel_write_vaddr(c, v) {*((vaddr_t*)((c).cur_addr)) = ENDIAN4((c).endianness,(v)) ; (c).cur_addr += 4; } while (0) |
| |
| #define | gel_write_raddr(c, v) {*((raddr_t*)((c).cur_addr)) = ENDIAN4((c).endianness,(v)) ; (c).cur_addr += 4; } while (0) |
| |
| #define | gel_write_data(c, b, s) |
| |