Lines Matching refs:inb
593 static void inbuf_init(struct inbuf *inb, void *base, void *limit)
595 inb->base = base;
596 inb->limit = limit;
597 inb->ptr = inb->base;
600 static void flat_read_chunk(struct inbuf *inb, void *p, int len)
602 if ((inb->ptr + len) > inb->limit)
605 memcpy(p, inb->ptr, len);
607 inb->ptr += len;
610 static uint32_t flat_read_word(struct inbuf *inb)
614 assert(((inb->ptr - inb->base) % sizeof(val)) == 0);
616 flat_read_chunk(inb, &val, sizeof(val));
621 static void flat_realign(struct inbuf *inb, int align)
623 int off = inb->ptr - inb->base;
625 inb->ptr = inb->base + ALIGN(off, align);
626 if (inb->ptr > inb->limit)
630 static char *flat_read_string(struct inbuf *inb)
633 const char *p = inb->ptr;
637 if (p >= inb->limit)
642 str = xstrdup(inb->ptr);
644 inb->ptr += len;
646 flat_realign(inb, sizeof(uint32_t));
651 static struct data flat_read_data(struct inbuf *inb, int len)
661 flat_read_chunk(inb, d.val, len);
663 flat_realign(inb, sizeof(uint32_t));
668 static char *flat_read_stringtable(struct inbuf *inb, int offset)
672 p = inb->base + offset;
674 if (p >= inb->limit || p < inb->base)
684 return xstrdup(inb->base + offset);
708 static struct reserve_info *flat_read_mem_reserve(struct inbuf *inb)
721 flat_read_chunk(inb, &re, sizeof(re));