Objects of type FILE can have a "position" that records how much of the file your program has already read. Many of the stdio functions depend on this position, and many change it as a side effect.
You can use fsetpos to return the file identified by fp to a previous position *pos (after first recording it with fgetpos).
See fseek for a similar facility.### Returns
fgetpos returns 0 when successful. If fgetpos fails, the result is 1. The reason for failure is indicated in errno: either ESPIPE (the stream identified by fp doesn't support repositioning) or EINVAL (invalid file position).
---
**Authoritative source**: BUSMASTER DITA help source `fsetpos.dita`, compiled into `BUSMASTER.CHM` with the application.