stat.h 1.4 KB

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