boffset.c 360 B

1234567891011121314151617181920212223242526
  1. #include <u.h>
  2. #include <libc.h>
  3. #include <bio.h>
  4. vlong
  5. Boffset(Biobufhdr *bp)
  6. {
  7. vlong n;
  8. switch(bp->state) {
  9. default:
  10. fprint(2, "Boffset: unknown state %d\n", bp->state);
  11. n = Beof;
  12. break;
  13. case Bracteof:
  14. case Bractive:
  15. n = bp->offset + bp->icount;
  16. break;
  17. case Bwactive:
  18. n = bp->offset + (bp->bsize + bp->ocount);
  19. break;
  20. }
  21. return n;
  22. }