PatchworkOS  19e446b
A non-POSIX operating system.
Loading...
Searching...
No Matches
fflush.c
Go to the documentation of this file.
1#include <stdio.h>
2
3#include "user/common/file.h"
4
5int fflush(FILE* stream)
6{
7 uint64_t result = 0;
8 if (stream == NULL)
9 {
10 result = _files_flush();
11 }
12 else
13 {
14 mtx_lock(&stream->mtx);
15 result = _file_flush_buffer(stream);
16 mtx_unlock(&stream->mtx);
17 }
18
19 return result == ERR ? EOF : 0;
20}
int fflush(FILE *stream)
Definition fflush.c:5
#define NULL
Pointer error value.
Definition NULL.h:25
#define ERR
Integer error value.
Definition ERR.h:17
uint64_t _files_flush(void)
Definition file.c:292
uint64_t _file_flush_buffer(FILE *stream)
Definition file.c:158
__UINT64_TYPE__ uint64_t
Definition stdint.h:17
#define EOF
Definition stdio.h:25
Definition file.h:34
mtx_t mtx
Definition file.h:45
_PUBLIC int mtx_lock(mtx_t *mtx)
Definition mtx_lock.c:11
_PUBLIC int mtx_unlock(mtx_t *mtx)
Definition mtx_unlock.c:10