Toggle navigation
Documentation
The friendly Operating System for the Internet of Things
Main Page
Related Pages
Supported Boards
Modules
Namespaces
Namespace List
Namespace Members
All
Functions
Variables
Enumerations
Data Structures
Data Structures
Class Hierarchy
Data Fields
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
w
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
Enumerator
Related Symbols
Files
File List
Globals
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Typedefs
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
_
a
b
c
d
e
f
g
h
i
k
l
m
n
p
q
r
s
t
u
v
w
x
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
►
RIOT OS
•
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
Loading...
Searching...
No Matches
fcntl.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2016 Eistec AB
3
*
4
* This file is subject to the terms and conditions of the GNU Lesser
5
* General Public License v2.1. See the file LICENSE in the top level
6
* directory for more details.
7
*/
8
19
#ifndef FCNTL_H
20
#define FCNTL_H
21
22
#ifndef DOXYGEN
23
#if defined(CPU_NATIVE) || MODULE_NEWLIB || MODULE_PICOLIBC
24
/* If building on native or newlib we need to use the system header instead */
25
#pragma GCC system_header
26
/* without the GCC pragma above #include_next will trigger a pedantic error */
27
#include_next <fcntl.h>
28
#else
29
30
#include <sys/types.h>
/* for mode_t, off_t */
31
32
#ifdef __cplusplus
33
extern
"C"
{
34
#endif
35
36
/* Constants used for the flags in fcntl and open */
37
/* The names of the constants are defined by POSIX but most of these numbers
38
* were chosen somewhat arbitrarily */
39
#define O_ACCMODE (O_RDONLY|O_WRONLY|O_RDWR)
40
#define O_RDONLY 0
/* Read only */
41
#define O_WRONLY 1
/* Write only */
42
#define O_RDWR 2
/* Read+write */
43
#define O_APPEND 0x0008
/* Set append mode */
44
#define O_CREAT 0x0010
/* Create file if it does not exist */
45
#define O_TRUNC 0x0020
/* Truncate flag */
46
#define O_EXCL 0x0040
/* Exclusive use flag */
47
48
#define F_DUPFD 0
/* Duplicate file descriptor */
49
#define F_GETFD 1
/* Get file descriptor flags */
50
#define F_SETFD 2
/* Set file descriptor flags */
51
#define F_GETFL 3
/* Get file status flags */
52
#define F_SETFL 4
/* Set file status flags */
53
#define F_GETOWN 5
/* Get owner */
54
#define F_SETOWN 6
/* Set owner */
55
#define F_GETLK 7
/* Get record-locking information */
56
#define F_SETLK 8
/* Set or Clear a record-lock (Non-Blocking) */
57
#define F_SETLKW 9
/* Set or Clear a record-lock (Blocking) */
58
59
#define FD_CLOEXEC 1
/* Close the file descriptor upon execution of an exec family function */
60
61
int
creat(
const
char
*, mode_t);
62
int
fcntl(
int
,
int
, ...);
63
int
open(
const
char
*,
int
, ...);
64
int
openat(
int
,
const
char
*,
int
, ...);
65
int
posix_fadvise(
int
, off_t, off_t,
int
);
66
int
posix_fallocate(
int
, off_t, off_t);
67
68
#ifdef __cplusplus
69
}
70
#endif
71
72
#endif
/* CPU_NATIVE */
73
74
#endif
/* DOXYGEN */
75
76
#endif
/* FCNTL_H */
Generated on Fri Mar 14 2025 16:55:57 by
1.12.0