1570af302Sopenharmony_ci#include "stdio_impl.h" 2570af302Sopenharmony_ci#include <stdio_ext.h> 3570af302Sopenharmony_ci 4570af302Sopenharmony_cisize_t __freadahead(FILE *f) 5570af302Sopenharmony_ci{ 6570af302Sopenharmony_ci return f->rend ? f->rend - f->rpos : 0; 7570af302Sopenharmony_ci} 8570af302Sopenharmony_ci 9570af302Sopenharmony_ciconst char *__freadptr(FILE *f, size_t *sizep) 10570af302Sopenharmony_ci{ 11570af302Sopenharmony_ci if (f->rpos == f->rend) return 0; 12570af302Sopenharmony_ci *sizep = f->rend - f->rpos; 13570af302Sopenharmony_ci return (const char *)f->rpos; 14570af302Sopenharmony_ci} 15570af302Sopenharmony_ci 16570af302Sopenharmony_civoid __freadptrinc(FILE *f, size_t inc) 17570af302Sopenharmony_ci{ 18570af302Sopenharmony_ci f->rpos += inc; 19570af302Sopenharmony_ci} 20570af302Sopenharmony_ci 21570af302Sopenharmony_civoid __fseterr(FILE *f) 22570af302Sopenharmony_ci{ 23570af302Sopenharmony_ci f->flags |= F_ERR; 24570af302Sopenharmony_ci} 25