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 #include <rtthread.h> 13 14 #ifdef RT_USING_DFS 15 16 #define STDIN_FILENO 0 /* standard input file descriptor */ 17 #define STDOUT_FILENO 1 /* standard output file descriptor */ 18 #define STDERR_FILENO 2 /* standard error file descriptor */ 19 20 #include <dfs_posix.h> 21 #else 22 #define _FREAD 0x0001 /* read enabled */ 23 #define _FWRITE 0x0002 /* write enabled */ 24 #define _FAPPEND 0x0008 /* append (writes guaranteed at the end) */ 25 #define _FMARK 0x0010 /* internal; mark during gc() */ 26 #define _FDEFER 0x0020 /* internal; defer for next gc pass */ 27 #define _FASYNC 0x0040 /* signal pgrp when data ready */ 28 #define _FSHLOCK 0x0080 /* BSD flock() shared lock present */ 29 #define _FEXLOCK 0x0100 /* BSD flock() exclusive lock present */ 30 #define _FCREAT 0x0200 /* open with file create */ 31 #define _FTRUNC 0x0400 /* open with truncation */ 32 #define _FEXCL 0x0800 /* error on open if file exists */ 33 #define _FNBIO 0x1000 /* non blocking I/O (sys5 style) */ 34 #define _FSYNC 0x2000 /* do all writes synchronously */ 35 #define _FNONBLOCK 0x4000 /* non blocking I/O (POSIX style) */ 36 #define _FNDELAY _FNONBLOCK /* non blocking I/O (4.2 style) */ 37 #define _FNOCTTY 0x8000 /* don't assign a ctty on this open */ 38 39 #define O_RDONLY 0 /* +1 == FREAD */ 40 #define O_WRONLY 1 /* +1 == FWRITE */ 41 #define O_RDWR 2 /* +1 == FREAD|FWRITE */ 42 #define O_APPEND _FAPPEND 43 #define O_CREAT _FCREAT 44 #define O_TRUNC _FTRUNC 45 #define O_EXCL _FEXCL 46 #define O_SYNC _FSYNC 47 #endif 48 49 #endif /* _SYS_UNISTD_H */ 50