Lines Matching refs:inb
581 static void inbuf_init(struct inbuf *inb, void *base, void *limit) in inbuf_init() argument
583 inb->base = base; in inbuf_init()
584 inb->limit = limit; in inbuf_init()
585 inb->ptr = inb->base; in inbuf_init()
588 static void flat_read_chunk(struct inbuf *inb, void *p, int len) in flat_read_chunk() argument
590 if ((inb->ptr + len) > inb->limit) in flat_read_chunk()
593 memcpy(p, inb->ptr, len); in flat_read_chunk()
595 inb->ptr += len; in flat_read_chunk()
598 static uint32_t flat_read_word(struct inbuf *inb) in flat_read_word() argument
602 assert(((inb->ptr - inb->base) % sizeof(val)) == 0); in flat_read_word()
604 flat_read_chunk(inb, &val, sizeof(val)); in flat_read_word()
609 static void flat_realign(struct inbuf *inb, int align) in flat_realign() argument
611 int off = inb->ptr - inb->base; in flat_realign()
613 inb->ptr = inb->base + ALIGN(off, align); in flat_realign()
614 if (inb->ptr > inb->limit) in flat_realign()
618 static char *flat_read_string(struct inbuf *inb) in flat_read_string() argument
621 const char *p = inb->ptr; in flat_read_string()
625 if (p >= inb->limit) in flat_read_string()
630 str = xstrdup(inb->ptr); in flat_read_string()
632 inb->ptr += len; in flat_read_string()
634 flat_realign(inb, sizeof(uint32_t)); in flat_read_string()
639 static struct data flat_read_data(struct inbuf *inb, int len) in flat_read_data() argument
649 flat_read_chunk(inb, d.val, len); in flat_read_data()
651 flat_realign(inb, sizeof(uint32_t)); in flat_read_data()
656 static char *flat_read_stringtable(struct inbuf *inb, int offset) in flat_read_stringtable() argument
660 p = inb->base + offset; in flat_read_stringtable()
662 if (p >= inb->limit || p < inb->base) in flat_read_stringtable()
672 return xstrdup(inb->base + offset); in flat_read_stringtable()
696 static struct reserve_info *flat_read_mem_reserve(struct inbuf *inb) in flat_read_mem_reserve() argument
709 p = inb->ptr; in flat_read_mem_reserve()
711 flat_read_chunk(inb, &re, sizeof(re)); in flat_read_mem_reserve()