Lines Matching defs:seqbuf
15 struct seqbuf {
21 static void seqbuf_init(struct seqbuf *seqbuf, void *buf, size_t size)
23 seqbuf->buf = buf;
24 seqbuf->size = size;
25 seqbuf->pos = 0;
28 static size_t seqbuf_avail(struct seqbuf *seqbuf)
30 return seqbuf->pos < seqbuf->size ? seqbuf->size - seqbuf->pos : 0;
33 static size_t seqbuf_status(struct seqbuf *seqbuf)
35 return seqbuf->pos <= seqbuf->size ? 0 : -EOVERFLOW;
38 static int seqbuf_eof(struct seqbuf *seqbuf)
40 return seqbuf->pos >= seqbuf->size;
43 static int seqbuf_read(struct seqbuf *seqbuf, void *buf, size_t nbyte)
45 nbyte = min(nbyte, seqbuf_avail(seqbuf));
46 memcpy(buf, seqbuf->buf + seqbuf->pos, nbyte);
47 seqbuf->pos += nbyte;
48 return seqbuf_status(seqbuf);
51 static int seqbuf_read_u32(struct seqbuf *seqbuf, uint32_t *v)
55 err = seqbuf_read(seqbuf, v, 4);
60 static int seqbuf_read_str(struct seqbuf *seqbuf, const char **str)
62 *str = seqbuf->buf + seqbuf->pos;
63 seqbuf->pos += strnlen(*str, seqbuf_avail(seqbuf));
64 seqbuf->pos++;
65 return seqbuf_status(seqbuf);
68 static void seqbuf_seek(struct seqbuf *seqbuf, ssize_t offset)
70 seqbuf->pos += offset;
373 struct seqbuf seqbuf;
395 seqbuf_init(&seqbuf, buf, dsize);
397 while (!seqbuf_eof(&seqbuf)) {
398 err = seqbuf_read_u32(&seqbuf, &attrs);
402 err = seqbuf_read_str(&seqbuf, &name);
652 static int bpmp_populate_dir(struct tegra_bpmp *bpmp, struct seqbuf *seqbuf,
660 while (!seqbuf_eof(seqbuf)) {
661 err = seqbuf_read_u32(seqbuf, &d);
666 seqbuf_seek(seqbuf, -4);
674 err = seqbuf_read_u32(seqbuf, &t);
677 err = seqbuf_read_str(seqbuf, &name);
685 err = bpmp_populate_dir(bpmp, seqbuf, dentry, depth+1);
706 struct seqbuf seqbuf;
726 seqbuf_init(&seqbuf, virt, nbytes);
727 err = bpmp_populate_dir(bpmp, &seqbuf, bpmp->debugfs_mirror, 0);