fix usage of locks with vfork
[musl] / src / stdio / ext.c
1 #define _GNU_SOURCE
2 #include "stdio_impl.h"
3 #include <stdio_ext.h>
4
5 void _flushlbf(void)
6 {
7         fflush(0);
8 }
9
10 int __fsetlocking(FILE *f, int type)
11 {
12         return 0;
13 }
14
15 int __fwriting(FILE *f)
16 {
17         return (f->flags & F_NORD) || f->wend;
18 }
19
20 int __freading(FILE *f)
21 {
22         return (f->flags & F_NOWR) || f->rend;
23 }
24
25 int __freadable(FILE *f)
26 {
27         return !(f->flags & F_NORD);
28 }
29
30 int __fwritable(FILE *f)
31 {
32         return !(f->flags & F_NOWR);
33 }
34
35 int __flbf(FILE *f)
36 {
37         return f->lbf >= 0;
38 }
39
40 size_t __fbufsize(FILE *f)
41 {
42         return f->buf_size;
43 }
44
45 size_t __fpending(FILE *f)
46 {
47         return f->wend ? f->wpos - f->wbase : 0;
48 }
49
50 int __fpurge(FILE *f)
51 {
52         f->wpos = f->wbase = f->wend = 0;
53         f->rpos = f->rend = 0;
54         return 0;
55 }
56
57 weak_alias(__fpurge, fpurge);