xref: /nrf52832-nimble/rt-thread/components/libc/compilers/dlib/sys/unistd.h (revision 167494296f0543431a51b6b1b83e957045294e05)
1 /*
2  * Copyright (c) 2006-2018, RT-Thread Development Team
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  *
6  * Change Logs:
7  * Date           Author       Notes
8  */
9 #ifndef _SYS_UNISTD_H
10 #define _SYS_UNISTD_H
11 
12 #ifdef RT_USING_DFS
13 
14 #define STDIN_FILENO    0       /* standard input file descriptor */
15 #define STDOUT_FILENO   1       /* standard output file descriptor */
16 #define STDERR_FILENO   2       /* standard error file descriptor */
17 
18 #include <dfs_posix.h>
19 #else
20 #define	_FREAD		0x0001	/* read enabled */
21 #define	_FWRITE		0x0002	/* write enabled */
22 #define	_FAPPEND	0x0008	/* append (writes guaranteed at the end) */
23 #define	_FMARK		0x0010	/* internal; mark during gc() */
24 #define	_FDEFER		0x0020	/* internal; defer for next gc pass */
25 #define	_FASYNC		0x0040	/* signal pgrp when data ready */
26 #define	_FSHLOCK	0x0080	/* BSD flock() shared lock present */
27 #define	_FEXLOCK	0x0100	/* BSD flock() exclusive lock present */
28 #define	_FCREAT		0x0200	/* open with file create */
29 #define	_FTRUNC		0x0400	/* open with truncation */
30 #define	_FEXCL		0x0800	/* error on open if file exists */
31 #define	_FNBIO		0x1000	/* non blocking I/O (sys5 style) */
32 #define	_FSYNC		0x2000	/* do all writes synchronously */
33 #define	_FNONBLOCK	0x4000	/* non blocking I/O (POSIX style) */
34 #define	_FNDELAY	_FNONBLOCK	/* non blocking I/O (4.2 style) */
35 #define	_FNOCTTY	0x8000	/* don't assign a ctty on this open */
36 
37 #define	O_RDONLY	0		/* +1 == FREAD */
38 #define	O_WRONLY	1		/* +1 == FWRITE */
39 #define	O_RDWR		2		/* +1 == FREAD|FWRITE */
40 #define	O_APPEND	_FAPPEND
41 #define	O_CREAT		_FCREAT
42 #define	O_TRUNC		_FTRUNC
43 #define	O_EXCL		_FEXCL
44 #define O_SYNC		_FSYNC
45 #endif
46 
47 #endif /* _SYS_UNISTD_H */
48