xref: /plan9-contrib/sys/src/libbio/boffset.c (revision d9306527b4a7229dcf0cf3c58aed36bb9da82854)
1 #include	<u.h>
2 #include	<libc.h>
3 #include	<bio.h>
4 
5 vlong
Boffset(Biobufhdr * bp)6 Boffset(Biobufhdr *bp)
7 {
8 	vlong n;
9 
10 	switch(bp->state) {
11 	default:
12 		fprint(2, "Boffset: unknown state %d\n", bp->state);
13 		n = Beof;
14 		break;
15 
16 	case Bracteof:
17 	case Bractive:
18 		n = bp->offset + bp->icount;
19 		break;
20 
21 	case Bwactive:
22 		n = bp->offset + (bp->bsize + bp->ocount);
23 		break;
24 	}
25 	return n;
26 }
27