1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2020 Dmitry Kozlyuk
11 #include "eal_private.h"
14 eal_file_open(const char *path, int flags)
16 static const int MODE_MASK = EAL_OPEN_READONLY | EAL_OPEN_READWRITE;
20 switch (flags & MODE_MASK) {
21 case EAL_OPEN_READONLY:
24 case EAL_OPEN_READWRITE:
32 if (flags & EAL_OPEN_CREATE)
35 ret = open(path, sys_flags, 0600);
43 eal_file_truncate(int fd, ssize_t size)
47 ret = ftruncate(fd, size);
55 eal_file_lock(int fd, enum eal_flock_op op, enum eal_flock_mode mode)
60 if (mode == EAL_FLOCK_RETURN)
64 case EAL_FLOCK_EXCLUSIVE:
67 case EAL_FLOCK_SHARED:
70 case EAL_FLOCK_UNLOCK:
75 ret = flock(fd, sys_flags);