File Index
Files and directories
Sign in
FILE

fcntl.h

File preview with syntax highlighting.

linux-6.19.14/tools/include/nolibc/fcntl.h OBJECTIVE-C
 1/* SPDX-License-Identifier: LGPL-2.1 OR MIT */
 2/*
 3 * fcntl definition for NOLIBC
 4 * Copyright (C) 2017-2021 Willy Tarreau <w@1wt.eu>
 5 */
 6
 7/* make sure to include all global symbols */
 8#include "nolibc.h"
 9
10#ifndef _NOLIBC_FCNTL_H
11#define _NOLIBC_FCNTL_H
12
13#include "arch.h"
14#include "types.h"
15#include "sys.h"
16
17/*
18 * int openat(int dirfd, const char *path, int flags[, mode_t mode]);
19 */
20
21static __attribute__((unused))
22int sys_openat(int dirfd, const char *path, int flags, mode_t mode)
23{
24	return my_syscall4(__NR_openat, dirfd, path, flags, mode);
25}
26
27static __attribute__((unused))
28int openat(int dirfd, const char *path, int flags, ...)
29{
30	mode_t mode = 0;
31
32	if (flags & O_CREAT) {
33		va_list args;
34
35		va_start(args, flags);
36		mode = va_arg(args, mode_t);
37		va_end(args);
38	}
39
40	return __sysret(sys_openat(dirfd, path, flags, mode));
41}
42
43/*
44 * int open(const char *path, int flags[, mode_t mode]);
45 */
46
47static __attribute__((unused))
48int sys_open(const char *path, int flags, mode_t mode)
49{
50	return my_syscall4(__NR_openat, AT_FDCWD, path, flags, mode);
51}
52
53static __attribute__((unused))
54int open(const char *path, int flags, ...)
55{
56	mode_t mode = 0;
57
58	if (flags & O_CREAT) {
59		va_list args;
60
61		va_start(args, flags);
62		mode = va_arg(args, mode_t);
63		va_end(args);
64	}
65
66	return __sysret(sys_open(path, flags, mode));
67}
68
69#endif /* _NOLIBC_FCNTL_H */
~/ Read-only file preview.