summaryrefslogtreecommitdiffstats
path: root/posix1003-1/files_and_directories.rst
diff options
context:
space:
mode:
Diffstat (limited to 'posix1003-1/files_and_directories.rst')
-rw-r--r--posix1003-1/files_and_directories.rst255
1 files changed, 255 insertions, 0 deletions
diff --git a/posix1003-1/files_and_directories.rst b/posix1003-1/files_and_directories.rst
new file mode 100644
index 0000000..2e7dd1f
--- /dev/null
+++ b/posix1003-1/files_and_directories.rst
@@ -0,0 +1,255 @@
+.. comment SPDX-License-Identifier: CC-BY-SA-4.0
+
+Files and Directories
+#####################
+
+Directories
+===========
+
+Format of Directory Entries
+---------------------------
+
+Directory Operations
+--------------------
+
+.. code:: c
+
+ struct dirent, Type, Implemented
+ opendir(), Function, Implemented
+ readdir(), Function, Implemented
+ readdir_r(), Function, Implemented
+ rewinddir(), Function, Implemented
+ closedir(), Function, Implemented
+
+Working Directory
+=================
+
+Change Current Working Directory
+--------------------------------
+
+.. code:: c
+
+ chdir(), Function, Implemented
+
+Get Working Directory Pathname
+------------------------------
+
+.. code:: c
+
+ getcwd(), Function, Implemented
+
+General File Creation
+=====================
+
+Open a File
+-----------
+
+.. code:: c
+
+ open(), Function, Implemented
+ O_RDONLY, Constant, Implemented
+ O_WRONLY, Constant, Implemented
+ O_RDWR, Constant, Implemented
+ O_APPEND, Constant, Implemented
+ O_CREAT, Constant, Implemented
+ O_DSYNC, Constant, Unimplemented
+ O_EXCL, Constant, Implemented
+ O_NOCTTY, Constant, Implemented
+ O_NONBLOCK, Constant, Implemented
+ O_RSYNC, Constant, Unimplemented
+ O_SYNC, Constant, Implemented
+ O_TRUNC, Constant, Implemented
+
+NOTE: In the newlib fcntl.h, O_SYNC is defined only if _POSIX_SOURCE is
+not defined. This seems wrong.
+
+Create a New File or Rewrite an Existing One
+--------------------------------------------
+
+.. code:: c
+
+ creat(), Function, Implemented
+
+Set File Creation Mask
+----------------------
+
+.. code:: c
+
+ umask(), Function, Implemented
+
+Link to a File
+--------------
+
+.. code:: c
+
+ link(), Function, Implemented
+
+Special File Creation
+=====================
+
+Make a Directory
+----------------
+
+.. code:: c
+
+ mkdir(), Function, Implemented
+
+Make a FIFO Special File
+------------------------
+
+.. code:: c
+
+ mkfifo(), Function, Untested Implementation
+
+NOTE: mkfifo() is implemented but no filesystem supports FIFOs.
+
+File Removal
+============
+
+Remove Directory Entries
+------------------------
+
+.. code:: c
+
+ unlink(), Function, Implemented
+
+Remove a Directory
+------------------
+
+.. code:: c
+
+ rmdir(), Function, Implemented
+
+Rename a File
+-------------
+
+.. code:: c
+
+ rename(), Function, Partial Implementation
+
+File Characteristics
+====================
+
+File Characteristics Header and Data Structure
+----------------------------------------------
+
+.. code:: c
+
+ struct stat, Type, Implemented
+
+<sys/stat.h> File Types
+~~~~~~~~~~~~~~~~~~~~~~~
+
+.. code:: c
+
+ S_ISBLK(), Function, Implemented
+ S_ISCHR(), Function, Implemented
+ S_ISDIR(), Function, Implemented
+ S_ISFIFO(), Function, Implemented
+ S_ISREG(), Function, Implemented
+ S_TYPEISMQ(), Function, Unimplemented
+ S_TYPEISSEM(), Function, Unimplemented
+ S_TYPEISSHM(), Function, Unimplemented
+
+<sys/stat.h> File Modes
+~~~~~~~~~~~~~~~~~~~~~~~
+
+.. code:: c
+
+ S_IRWXU, Constant, Implemented
+ S_IRUSR, Constant, Implemented
+ S_IWUSR, Constant, Implemented
+ S_IXUSR, Constant, Implemented
+ S_IRWXG, Constant, Implemented
+ S_IRGRP, Constant, Implemented
+ S_IWGRP, Constant, Implemented
+ S_IXGRP, Constant, Implemented
+ S_IRWXO, Constant, Implemented
+ S_IROTH, Constant, Implemented
+ S_IWOTH, Constant, Implemented
+ S_IXOTH, Constant, Implemented
+ S_ISUID, Constant, Implemented
+ S_ISGID, Constant, Implemented
+
+<sys/stat.h> Time Entries
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Get File Status
+---------------
+
+.. code:: c
+
+ stat(), Function, Implemented
+ fstat(), Function, Implemented
+
+Check File Accessibility
+------------------------
+
+.. code:: c
+
+ access(), Function, Implemented
+
+Change File Modes
+-----------------
+
+.. code:: c
+
+ chmod(), Function, Implemented
+ fchmod(), Function, Implemented
+
+Change Owner and Group of a File
+--------------------------------
+
+.. code:: c
+
+ chown(), Function, Implemented
+
+Set File Access and Modification Times
+--------------------------------------
+
+.. code:: c
+
+ struct utimbuf, Type, Implemented
+ utime(), Function, Implemented
+
+Truncate a File to a Specified Length
+-------------------------------------
+
+.. code:: c
+
+ ftruncate(), Function, Implemented
+
+Configurable Pathname Variable
+==============================
+
+Get Configurable Pathname Variables
+-----------------------------------
+
+.. code:: c
+
+ pathconf(), Function, Implemented
+ fpathconf(), Function, Implemented
+ _PC_LINK_MAX, Constant, Implemented
+ _PC_MAX_CANON, Constant, Implemented
+ _PC_MAX_INPUT, Constant, Implemented
+ _PC_MAX_INPUT, Constant, Implemented
+ _PC_NAME_MAX, Constant, Implemented
+ _PC_PATH_MAX, Constant, Implemented
+ _PC_PIPE_BUF, Constant, Implemented
+ _PC_ASYNC_IO, Constant, Implemented
+ _PC_CHOWN_RESTRICTED, Constant, Implemented
+ _PC_NO_TRUNC, Constant, Implemented
+ _PC_PRIO_IO, Constant, Implemented
+ _PC_SYNC_IO, Constant, Implemented
+ _PC_VDISABLE, Constant, Implemented
+
+NOTE: The newlib unistd.h and sys/unistd.h are installed and the
+include search patch is used to get the right one. There are
+conflicts between the newlib unistd.h and RTEMS' version.
+
+.. COMMENT: COPYRIGHT (c) 1988-2002.
+
+.. COMMENT: On-Line Applications Research Corporation (OAR).
+
+.. COMMENT: All rights reserved.
+