PatchworkOS
Loading...
Searching...
No Matches
fflush.c
Go to the documentation of this file.
1#include <stdio.h>
2
3#include "common/print.h"
4#include "user/common/file.h"
5
6int fflush(FILE* stream)
7{
8 uint64_t result = 0;
9 if (stream == NULL)
10 {
11 result = _files_flush();
12 }
13 else
14 {
15 mtx_lock(&stream->mtx);
16 result = _file_flush_buffer(stream);
17 mtx_unlock(&stream->mtx);
18 }
19
20 return result == ERR ? EOF : 0;
21}
int fflush(FILE *stream)
Definition fflush.c:6
#define NULL
Pointer error value.
Definition NULL.h:23
#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