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