From ef0a063a84282f74a9da4a899c555037972873a9 Mon Sep 17 00:00:00 2001 From: Amar Takhar Date: Sat, 16 Jan 2016 19:14:55 -0500 Subject: Split document into seperate files by section. --- posix1003_1/clocks_and_timers.rst | 81 +++ posix1003_1/command.rst | 7 + posix1003_1/compliance_summary.rst | 902 +++++++++++++++++++++++++++++ posix1003_1/data_interchange_format.rst | 71 +++ posix1003_1/device_and_class_specific.rst | 229 ++++++++ posix1003_1/execution_scheduling.rst | 154 +++++ posix1003_1/files_and_directories.rst | 253 ++++++++ posix1003_1/general.rst | 42 ++ posix1003_1/index.rst | 67 ++- posix1003_1/input_and_output.rst | 199 +++++++ posix1003_1/language_specific_services.rst | 295 ++++++++++ posix1003_1/memory_managment.rst | 88 +++ posix1003_1/message_passing.rst | 81 +++ posix1003_1/preface.rst | 26 + posix1003_1/process_environment.rst | 204 +++++++ posix1003_1/process_primitives.rst | 228 ++++++++ posix1003_1/synchronization.rst | 150 +++++ posix1003_1/system_database.rst | 41 ++ posix1003_1/terminology.rst | 301 ++++++++++ posix1003_1/thread_cancellation.rst | 76 +++ posix1003_1/thread_managment.rst | 81 +++ posix1003_1/thread_specific_data.rst | 34 ++ 22 files changed, 3609 insertions(+), 1 deletion(-) create mode 100644 posix1003_1/clocks_and_timers.rst create mode 100644 posix1003_1/command.rst create mode 100644 posix1003_1/compliance_summary.rst create mode 100644 posix1003_1/data_interchange_format.rst create mode 100644 posix1003_1/device_and_class_specific.rst create mode 100644 posix1003_1/execution_scheduling.rst create mode 100644 posix1003_1/files_and_directories.rst create mode 100644 posix1003_1/general.rst create mode 100644 posix1003_1/input_and_output.rst create mode 100644 posix1003_1/language_specific_services.rst create mode 100644 posix1003_1/memory_managment.rst create mode 100644 posix1003_1/message_passing.rst create mode 100644 posix1003_1/preface.rst create mode 100644 posix1003_1/process_environment.rst create mode 100644 posix1003_1/process_primitives.rst create mode 100644 posix1003_1/synchronization.rst create mode 100644 posix1003_1/system_database.rst create mode 100644 posix1003_1/terminology.rst create mode 100644 posix1003_1/thread_cancellation.rst create mode 100644 posix1003_1/thread_managment.rst create mode 100644 posix1003_1/thread_specific_data.rst (limited to 'posix1003_1') diff --git a/posix1003_1/clocks_and_timers.rst b/posix1003_1/clocks_and_timers.rst new file mode 100644 index 0000000..ebe578e --- /dev/null +++ b/posix1003_1/clocks_and_timers.rst @@ -0,0 +1,81 @@ +Clocks and Timers +################# + +Data Definitions for Clocks and Timers +====================================== + +Time Value Specification Structures +----------------------------------- + +.. code:: c + + struct timespec, Type, Implemented + struct itimerspec, Type, Implemented + +Timer Event Notification Control Block +-------------------------------------- + +Type Definitions +---------------- + +.. code:: c + + clockid_t, Type, Implemented + timerid_t, Type, Implemented + +Timer Event Notification Manifest Constants +------------------------------------------- + +.. code:: c + + CLOCK_REALTIME, Constant, Implemented + TIMER_ABSTIME, Constant, Implemented + +Clock and Timer Functions +========================= + +Clocks +------ + +.. code:: c + + clock_settime(), Function, Partial Implementation + clock_gettime(), Function, Partial Implementation + clock_getres(), Function, Implemented + +Create a Per-Process Timer +-------------------------- + +.. code:: c + + timer_create(), Function, Implemented + +Delete a Per-Process Timer +-------------------------- + +.. code:: c + + timer_delete(), Function, Implemented + +Per-Process Timers +------------------ + +.. code:: c + + timer_settime(), Function, Implemented + timer_gettime(), Function, Implemented + timer_getoverrun(), Function, Implemented + +High Resolution Sleep +--------------------- + +.. code:: c + + nanosleep(), Function, Implemented + +.. COMMENT: COPYRIGHT (c) 1988-2002. + +.. COMMENT: On-Line Applications Research Corporation (OAR). + +.. COMMENT: All rights reserved. + diff --git a/posix1003_1/command.rst b/posix1003_1/command.rst new file mode 100644 index 0000000..3e23b5e --- /dev/null +++ b/posix1003_1/command.rst @@ -0,0 +1,7 @@ +Command and Variable Index +########################## + +There are currently no Command and Variable Index entries. + +.. COMMENT: @printindex fn + diff --git a/posix1003_1/compliance_summary.rst b/posix1003_1/compliance_summary.rst new file mode 100644 index 0000000..1292f4e --- /dev/null +++ b/posix1003_1/compliance_summary.rst @@ -0,0 +1,902 @@ +Compliance Summary +################## + +General Chapter +=============== + +.. code:: c + + Functions: + Total Number : 0 + Implemented : 0 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +.. code:: c + + Data Types: + Total Number : 0 + Implemented : 0 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +.. code:: c + + Feature Flags: + Total Number : 21 + Implemented : 0 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +*FEATURE FLAG COUNTS DO NOT ADD UP!!* +.. code:: c + + Constants: + Total Number : 0 + Implemented : 0 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +Terminology and General Requirements Chapter +============================================ + +.. code:: c + + Functions: + Total Number : 0 + Implemented : 0 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +.. code:: c + + Data Types: + Total Number : 19 + Implemented : 19 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +.. code:: c + + Feature Flags: + Total Number : 32 + Implemented : 0 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +*FEATURE FLAG COUNTS DO NOT ADD UP!!* +.. code:: c + + Constants: + Total Number : 126 + Implemented : 124 + Unimplemented : 2 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +Process Primitives Chapter +========================== + +.. code:: c + + Functions: + Total Number : 36 + Implemented : 20 + Unimplemented : 0 + Unimplementable : 16 + Partial : 0 + Dummy : 0 + Untested : 0 + +.. code:: c + + Data Types: + Total Number : 5 + Implemented : 5 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +.. code:: c + + Feature Flags: + Total Number : 0 + Implemented : 0 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +.. code:: c + + Constants: + Total Number : 40 + Implemented : 32 + Unimplemented : 6 + Unimplementable : 2 + Partial : 0 + Dummy : 0 + Untested : 0 + +Process Environment Chapter +=========================== + +.. code:: c + + Functions: + Total Number : 23 + Implemented : 21 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 2 + Untested : 0 + +.. code:: c + + Data Types: + Total Number : 2 + Implemented : 2 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +.. code:: c + + Feature Flags: + Total Number : 0 + Implemented : 0 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +.. code:: c + + Constants: + Total Number : 53 + Implemented : 51 + Unimplemented : 2 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +Files and Directories Chapter +============================= + +.. code:: c + + Functions: + Total Number : 35 + Implemented : 29 + Unimplemented : 3 + Unimplementable : 0 + Partial : 1 + Dummy : 0 + Untested : 1 + +*FUNCTION COUNTS DO NOT ADD UP!!* +.. code:: c + + Data Types: + Total Number : 3 + Implemented : 3 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +.. code:: c + + Feature Flags: + Total Number : 0 + Implemented : 0 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +.. code:: c + + Constants: + Total Number : 39 + Implemented : 37 + Unimplemented : 2 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +Input and Output Primitives Chapter +=================================== + +.. code:: c + + Functions: + Total Number : 19 + Implemented : 9 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 9 + Untested : 0 + +*FUNCTION COUNTS DO NOT ADD UP!!* +.. code:: c + + Data Types: + Total Number : 2 + Implemented : 1 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 1 + +.. code:: c + + Feature Flags: + Total Number : 0 + Implemented : 0 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +.. code:: c + + Constants: + Total Number : 24 + Implemented : 24 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +Device- and Class-Specific Functions Chapter +============================================ + +.. code:: c + + Functions: + Total Number : 12 + Implemented : 8 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 4 + Untested : 0 + +.. code:: c + + Data Types: + Total Number : 3 + Implemented : 3 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +.. code:: c + + Feature Flags: + Total Number : 0 + Implemented : 0 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +.. code:: c + + Constants: + Total Number : 77 + Implemented : 76 + Unimplemented : 1 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +Language-Specific Services for the C Programming Language Chapter +================================================================= + +.. code:: c + + Functions: + Total Number : 126 + Implemented : 117 + Unimplemented : 8 + Unimplementable : 0 + Partial : 1 + Dummy : 0 + Untested : 0 + +.. code:: c + + Data Types: + Total Number : 2 + Implemented : 2 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +.. code:: c + + Feature Flags: + Total Number : 0 + Implemented : 0 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +.. code:: c + + Constants: + Total Number : 11 + Implemented : 11 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +System Databases Chapter +======================== + +.. code:: c + + Functions: + Total Number : 8 + Implemented : 8 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +.. code:: c + + Data Types: + Total Number : 2 + Implemented : 2 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +.. code:: c + + Feature Flags: + Total Number : 0 + Implemented : 0 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +.. code:: c + + Constants: + Total Number : 0 + Implemented : 0 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +Data Interchange Format Chapter +=============================== + +.. code:: c + + Functions: + Total Number : 0 + Implemented : 0 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +.. code:: c + + Data Types: + Total Number : 2 + Implemented : 0 + Unimplemented : 2 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +.. code:: c + + Feature Flags: + Total Number : 0 + Implemented : 0 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +.. code:: c + + Constants: + Total Number : 37 + Implemented : 0 + Unimplemented : 37 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +Synchronization Chapter +======================= + +.. code:: c + + Functions: + Total Number : 28 + Implemented : 28 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +.. code:: c + + Data Types: + Total Number : 1 + Implemented : 1 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +.. code:: c + + Feature Flags: + Total Number : 0 + Implemented : 0 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +.. code:: c + + Constants: + Total Number : 5 + Implemented : 5 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +Memory Management Chapter +========================= + +.. code:: c + + Functions: + Total Number : 10 + Implemented : 0 + Unimplemented : 10 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +.. code:: c + + Data Types: + Total Number : 0 + Implemented : 0 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +.. code:: c + + Feature Flags: + Total Number : 0 + Implemented : 0 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +.. code:: c + + Constants: + Total Number : 12 + Implemented : 0 + Unimplemented : 12 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +Execution Scheduling Chapter +============================ + +.. code:: c + + Functions: + Total Number : 24 + Implemented : 20 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 4 + Untested : 0 + +.. code:: c + + Data Types: + Total Number : 1 + Implemented : 1 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +.. code:: c + + Feature Flags: + Total Number : 0 + Implemented : 0 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +.. code:: c + + Constants: + Total Number : 10 + Implemented : 10 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +Clocks and Timers Chapter +========================= + +.. code:: c + + Functions: + Total Number : 9 + Implemented : 7 + Unimplemented : 0 + Unimplementable : 0 + Partial : 2 + Dummy : 0 + Untested : 0 + +.. code:: c + + Data Types: + Total Number : 4 + Implemented : 4 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +.. code:: c + + Feature Flags: + Total Number : 0 + Implemented : 0 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +.. code:: c + + Constants: + Total Number : 2 + Implemented : 2 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +Message Passing Chapter +======================= + +.. code:: c + + Functions: + Total Number : 8 + Implemented : 8 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +.. code:: c + + Data Types: + Total Number : 2 + Implemented : 2 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +.. code:: c + + Feature Flags: + Total Number : 0 + Implemented : 0 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +.. code:: c + + Constants: + Total Number : 0 + Implemented : 0 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +Thread Management Chapter +========================= + +.. code:: c + + Functions: + Total Number : 15 + Implemented : 15 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +.. code:: c + + Data Types: + Total Number : 0 + Implemented : 0 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +.. code:: c + + Feature Flags: + Total Number : 0 + Implemented : 0 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +.. code:: c + + Constants: + Total Number : 3 + Implemented : 3 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +Thread-Specific Data Chapter +============================ + +.. code:: c + + Functions: + Total Number : 4 + Implemented : 4 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +.. code:: c + + Data Types: + Total Number : 0 + Implemented : 0 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +.. code:: c + + Feature Flags: + Total Number : 0 + Implemented : 0 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +.. code:: c + + Constants: + Total Number : 0 + Implemented : 0 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +Thread Cancellation Chapter +=========================== + +.. code:: c + + Functions: + Total Number : 6 + Implemented : 6 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +.. code:: c + + Data Types: + Total Number : 0 + Implemented : 0 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +.. code:: c + + Feature Flags: + Total Number : 0 + Implemented : 0 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +.. code:: c + + Constants: + Total Number : 5 + Implemented : 4 + Unimplemented : 1 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +Overall Summary +=============== + +.. code:: c + + Functions: + Total Number : 363 + Implemented : 300 + Unimplemented : 21 + Unimplementable : 16 + Partial : 4 + Dummy : 19 + Untested : 1 + +*FUNCTION COUNTS DO NOT ADD UP!!* +.. code:: c + + Data Types: + Total Number : 48 + Implemented : 45 + Unimplemented : 2 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 1 + +.. code:: c + + Feature Flags: + Total Number : 53 + Implemented : 0 + Unimplemented : 0 + Unimplementable : 0 + Partial : 0 + Dummy : 0 + Untested : 0 + +*FEATURE FLAG COUNTS DO NOT ADD UP!!* +.. code:: c + + Constants: + Total Number : 444 + Implemented : 379 + Unimplemented : 63 + Unimplementable : 2 + Partial : 0 + Dummy : 0 + Untested : 0 + diff --git a/posix1003_1/data_interchange_format.rst b/posix1003_1/data_interchange_format.rst new file mode 100644 index 0000000..85fbce9 --- /dev/null +++ b/posix1003_1/data_interchange_format.rst @@ -0,0 +1,71 @@ +Data Interchange Format +####################### + +Archive/Interchange File Format +=============================== + +Extended tar Format +------------------- + +.. code:: c + + tar format, Type, Unimplemented + TMAGIC, Constant, Unimplemented + TMAGLEN, Constant, Unimplemented + TVERSION, Constant, Unimplemented + TVERSLEN, Constant, Unimplemented + REGTYPE, Constant, Unimplemented + AREGTYPE, Constant, Unimplemented + LNKTYPE, Constant, Unimplemented + SYMTYPE, Constant, Unimplemented + CHRTYPE, Constant, Unimplemented + BLKTYPE, Constant, Unimplemented + DIRTYPE, Constant, Unimplemented + FIFOTYPE, Constant, Unimplemented + CONTTYPE, Constant, Unimplemented + TSUID, Constant, Unimplemented + TSGID, Constant, Unimplemented + TSVTX, Constant, Unimplemented + TUREAD, Constant, Unimplemented + TUWRITE, Constant, Unimplemented + TUEXEC, Constant, Unimplemented + TGREAD, Constant, Unimplemented + TGWRITE, Constant, Unimplemented + TGEXEC, Constant, Unimplemented + TOREAD, Constant, Unimplemented + TOWRITE, Constant, Unimplemented + TOEXEC, Constant, Unimplemented + +NOTE: Requires which is not in newlib. + +Extended cpio Format +-------------------- + +.. code:: c + + cpio format, Type, Unimplemented + C_IRUSER, Constant, Unimplemented + C_IWUSER, Constant, Unimplemented + C_IXUSER, Constant, Unimplemented + C_IRGRP, Constant, Unimplemented + C_IWGRP, Constant, Unimplemented + C_IXGRP, Constant, Unimplemented + C_IROTH, Constant, Unimplemented + C_IWOTH, Constant, Unimplemented + C_IXOTH, Constant, Unimplemented + C_ISUID, Constant, Unimplemented + C_ISGID, Constant, Unimplemented + C_ISVTX, Constant, Unimplemented + +NOTE: POSIX does not require a header file or structure. RedHat Linux +5.0 does not have a although Solaris 2.6 does. + +Multiple Volumes +---------------- + +.. COMMENT: COPYRIGHT (c) 1988-2002. + +.. COMMENT: On-Line Applications Research Corporation (OAR). + +.. COMMENT: All rights reserved. + diff --git a/posix1003_1/device_and_class_specific.rst b/posix1003_1/device_and_class_specific.rst new file mode 100644 index 0000000..0782a63 --- /dev/null +++ b/posix1003_1/device_and_class_specific.rst @@ -0,0 +1,229 @@ +Device- and Class-Specific Functions +#################################### + +General Terminal Interface +========================== + +Interface Characteristics +------------------------- + +Opening a Terminal Device File +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Process Groups (TTY) +~~~~~~~~~~~~~~~~~~~~ + +The Controlling Terminal +~~~~~~~~~~~~~~~~~~~~~~~~ + +Terminal Access Control +~~~~~~~~~~~~~~~~~~~~~~~ + +Input Processing and Reading Data +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Canonical Mode Input Processing +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Noncanonical Mode Input Processing +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- Case A - MIN > 0 and TIME > 0 + +- Case B - MIN > 0 and TIME = 0 + +- Case C - MIN = 0 and TIME > 0 + +- Case D - MIN = 0 and TIME = 0 + +Writing Data and Output Processing +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Special Characters +~~~~~~~~~~~~~~~~~~ + +.. code:: c + + INTR, Constant, Implemented + QUIT, Constant, Implemented + ERASE, Constant, Implemented + KILL, Constant, Implemented + EOF, Constant, Implemented + NL, Constant, Implemented + EOL, Constant, Implemented + SUSP, Constant, Implemented + STOP, Constant, Implemented + START, Constant, Implemented + CR, Constant, Implemented + +Modem Disconnect +~~~~~~~~~~~~~~~~ + +Closing a Terminal Device File +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Parameters That Can Be Set +-------------------------- + +termios Structure +~~~~~~~~~~~~~~~~~ + +.. code:: c + + tcflag_t, Type, Implemented + cc_t, Type, Implemented + struct termios, Type, Implemented + +Input Modes +~~~~~~~~~~~ + +.. code:: c + + BRKINT, Constant, Implemented + ICRNL, Constant, Implemented + IGNBREAK, Constant, Unimplemented + IGNCR, Constant, Implemented + IGNPAR, Constant, Implemented + INLCR, Constant, Implemented + INPCK, Constant, Implemented + ISTRIP, Constant, Implemented + IXOFF, Constant, Implemented + IXON, Constant, Implemented + PARMRK, Constant, Implemented + +Output Modes +~~~~~~~~~~~~ + +.. code:: c + + OPOST, Constant, Implemented + +Control Modes +~~~~~~~~~~~~~ + +.. code:: c + + CLOCAL, Constant, Implemented + CREAD, Constant, Implemented + CSIZE, Constant, Implemented + CS5, Constant, Implemented + CS6, Constant, Implemented + CS7, Constant, Implemented + CS8, Constant, Implemented + CSTOPB, Constant, Implemented + HUPCL, Constant, Implemented + PARENB, Constant, Implemented + PARODD, Constant, Implemented + +Local Modes +~~~~~~~~~~~ + +.. code:: c + + ECHO, Constant, Implemented + ECHOE, Constant, Implemented + ECHOK, Constant, Implemented + ECHONL, Constant, Implemented + ICANON, Constant, Implemented + IEXTEN, Constant, Implemented + ISIG, Constant, Implemented + NOFLSH, Constant, Implemented + TOSTOP, Constant, Implemented + +Special Control Characters +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. code:: c + + VEOF, Constant, Implemented + VEOL, Constant, Implemented + VERASE, Constant, Implemented + VINTR, Constant, Implemented + VKILL, Constant, Implemented + VQUIT, Constant, Implemented + VSUSP, Constant, Implemented + VSTART, Constant, Implemented + VSTOP, Constant, Implemented + VMIN, Constant, Implemented + VTIME, Constant, Implemented + +Baud Rate Values +---------------- + +.. code:: c + + B0, Constant, Implemented + B50, Constant, Implemented + B75, Constant, Implemented + B110, Constant, Implemented + B134, Constant, Implemented + B150, Constant, Implemented + B200, Constant, Implemented + B300, Constant, Implemented + B600, Constant, Implemented + B1200, Constant, Implemented + B1800, Constant, Implemented + B2400, Constant, Implemented + B4800, Constant, Implemented + B9600, Constant, Implemented + B19200, Constant, Implemented + B38400, Constant, Implemented + +Baud Rate Functions +~~~~~~~~~~~~~~~~~~~ + +.. code:: c + + cfgetospeed(), Function, Implemented + cfsetospeed(), Function, Implemented + cfgetispeed(), Function, Implemented + cfsetispeed(), Function, Implemented + TCIFLUSH, Constant, Implemented + TCOFLUSH, Constant, Implemented + TCIOFLUSH, Constant, Implemented + TCOOFF, Constant, Implemented + TCOON, Constant, Implemented + TCIOOFF, Constant, Implemented + TCIOON, Constant, Implemented + +General Terminal Interface Control Functions +============================================ + +Get and Set State +----------------- + +.. code:: c + + tcgetattr(), Function, Implemented + tcsetattr(), Function, Implemented + +Line Control Functions +---------------------- + +.. code:: c + + tcsendbreak(), Function, Dummy Implementation + tcdrain(), Function, Implemented + tcflush(), Function, Dummy Implementation + tcflow(), Function, Dummy Implementation + +Get Foreground Process Group ID +------------------------------- + +.. code:: c + + tcgetprgrp(), Function, Implemented, SUSP + +Set Foreground Process Group ID +------------------------------- + +.. code:: c + + tcsetprgrp(), Function, Dummy Implementation + +.. COMMENT: COPYRIGHT (c) 1988-2002. + +.. COMMENT: On-Line Applications Research Corporation (OAR). + +.. COMMENT: All rights reserved. + diff --git a/posix1003_1/execution_scheduling.rst b/posix1003_1/execution_scheduling.rst new file mode 100644 index 0000000..c06077a --- /dev/null +++ b/posix1003_1/execution_scheduling.rst @@ -0,0 +1,154 @@ +Execution Scheduling +#################### + +Scheduling Parameters +===================== + +.. code:: c + + struct sched_param, Type, Implemented + +Scheduling Policies +=================== + +.. code:: c + + SCHED_FIFO, Constant, Implemented + SCHED_RR, Constant, Implemented + SCHED_OTHER, Constant, Implemented + +NOTE: RTEMS adds SCHED_SPORADIC. + +SCHED_FIFO +---------- + +SCHED_RR +-------- + +SCHED_OTHER +----------- + +Process Scheduling Functions +============================ + +Set Scheduling Parameters +------------------------- + +.. code:: c + + sched_setparam(), Function, Dummy Implementation + +Get Scheduling Parameters +------------------------- + +.. code:: c + + sched_getparam(), Function, Dummy Implementation + +Set Scheduling Policy and Scheduling Parameters +----------------------------------------------- + +.. code:: c + + sched_setscheduler(), Function, Dummy Implementation + +Get Scheduling Policy +--------------------- + +.. code:: c + + sched_getscheduler(), Function, Dummy Implementation + +Yield Processor +--------------- + +.. code:: c + + sched_yield(), Function, Implemented + +Get Scheduling Parameter Limits +------------------------------- + +.. code:: c + + sched_get_priority_max(), Function, Implemented + sched_get_priority_min(), Function, Implemented + sched_get_priority_rr_get_interval(), Function, Implemented + +Thread Scheduling +================= + +Thread Scheduling Attributes +---------------------------- + +.. code:: c + + PTHREAD_SCOPE_PROCESS, Constant, Implemented + PTHREAD_SCOPE_SYSTEM, Constant, Implemented + +Scheduling Contention Scope +--------------------------- + +Scheduling Allocation Domain +---------------------------- + +Scheduling Documentation +------------------------ + +Thread Scheduling Functions +=========================== + +Thread Creation Scheduling Attributes +------------------------------------- + +.. code:: c + + pthread_attr_setscope(), Function, Implemented + pthread_attr_getscope(), Function, Implemented + pthread_attr_setinheritsched(), Function, Implemented + pthread_attr_getinheritsched(), Function, Implemented + pthread_attr_setschedpolicy(), Function, Implemented + pthread_attr_getschedpolicy(), Function, Implemented + pthread_attr_setschedparam(), Function, Implemented + pthread_attr_getschedparam(), Function, Implemented + PTHREAD_INHERIT_SCHED, Constant, Implemented + PTHREAD_EXPLICIT_SCHED, Constant, Implemented + +Dynamic Thread Scheduling Parameters Access +------------------------------------------- + +.. code:: c + + pthread_setschedparam(), Function, Implemented + pthread_getschedparam(), Function, Implemented + +Synchronization Scheduling +========================== + +Mutex Initialization Scheduling Attributes +------------------------------------------ + +.. code:: c + + pthread_mutexattr_setprotocol(), Function, Implemented + pthread_mutexattr_getprotocol(), Function, Implemented + pthread_mutexattr_setprioceiling(), Function, Implemented + pthread_mutexattr_getprioceiling(), Function, Implemented + PTHREAD_PRIO_NONE, Constant, Implemented + PTHREAD_PRIO_INHERIT, Constant, Implemented + PTHREAD_PRIO_PROTECT, Constant, Implemented + +Change the Priority Ceiling of a Mutex +-------------------------------------- + +.. code:: c + + pthread_mutex_setprioceiling(), Function, Implemented + pthread_mutex_getprioceiling(), Function, Implemented + +.. COMMENT: COPYRIGHT (c) 1988-2002. + +.. COMMENT: On-Line Applications Research Corporation (OAR). + +.. COMMENT: All rights reserved. + diff --git a/posix1003_1/files_and_directories.rst b/posix1003_1/files_and_directories.rst new file mode 100644 index 0000000..e3edd7c --- /dev/null +++ b/posix1003_1/files_and_directories.rst @@ -0,0 +1,253 @@ +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 + + 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 + + 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 + + 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. + diff --git a/posix1003_1/general.rst b/posix1003_1/general.rst new file mode 100644 index 0000000..ab4b6e7 --- /dev/null +++ b/posix1003_1/general.rst @@ -0,0 +1,42 @@ +General +####### + +Scope +===== + +Normative References +==================== + +Conformance +=========== + +.. code:: c + + NGROUPS_MAX, Feature Flag, + _POSIX_ASYNCHRONOUS_IO, Feature Flag, + _POSIX_CHOWN_RESTRICTED, Feature Flag, + _POSIX_FSYNC, Feature Flag, + _POSIX_JOB_CONTROL, Feature Flag, + _POSIX_MAPPED_FILES, Feature Flag, + _POSIX_MEMLOCK, Feature Flag, + _POSIX_MEMLOCK_RANGE, Feature Flag, + _POSIX_MEMORY_PROTECTION, Feature Flag, + _POSIX_MESSAGE_PASSING, Feature Flag, + _POSIX_PRIORITIZED_IO, Feature Flag, + _POSIX_PRIORITY_SCHEDULING, Feature Flag, + _POSIX_REALTIME_SIGNALS, Feature Flag, + _POSIX_SEMAPHORES, Feature Flag, + _POSIX_SHARED_MEMORY_OBJECTS, Feature Flag, + _POSIX_SYNCHRONIZED_IO, Feature Flag, + _POSIX_TIMERS, Feature Flag, + _POSIX_THREAD_PRIO_INHERIT, Feature Flag, + _POSIX_THREAD_PRIORITY_SCHEDULING, Feature Flag, + _POSIX_THREADS, Feature Flag, + _POSIX_THREAD_SAFE_FUNCTIONS, Feature Flag, + +.. COMMENT: COPYRIGHT (c) 1988-2002. + +.. COMMENT: On-Line Applications Research Corporation (OAR). + +.. COMMENT: All rights reserved. + diff --git a/posix1003_1/index.rst b/posix1003_1/index.rst index 2a5cbea..2b1da05 100644 --- a/posix1003_1/index.rst +++ b/posix1003_1/index.rst @@ -1 +1,66 @@ -.. include:: posix1003_1.rst +=================================== +RTEMS POSIX 1003.1 Compliance Guide +=================================== + +COPYRIGHT © 1988 - 2015. + +On-Line Applications Research Corporation (OAR). + +The authors have used their best efforts in preparing +this material. These efforts include the development, research, +and testing of the theories and programs to determine their +effectiveness. No warranty of any kind, expressed or implied, +with regard to the software or the material contained in this +document is provided. No liability arising out of the +application or use of any product described in this document is +assumed. The authors reserve the right to revise this material +and to make changes from time to time in the content hereof +without obligation to notify anyone of such revision or changes. + +The RTEMS Project is hosted at http://www.rtems.org. Any +inquiries concerning RTEMS, its related support components, or its +documentation should be directed to the Community Project hosted athttp://www.rtems.org. + +Any inquiries for commercial services including training, support, custom +development, application development assistance should be directed tohttp://www.rtems.com. + + + +Table of Contents +----------------- + +.. toctree:: + + preface + + +.. toctree:: + :maxdepth: 3 + :numbered: + + preface + general + terminology + process_primitives + process_environment + files_and_directories + input_and_output + device_and_class_specific + language_specific_services + system_database + data_interchange_format + synchronization + memory_managment + execution_scheduling + clocks_and_timers + message_passing + thread_managment + thread_specific_data + thread_cancellation + compliance_summary + command + + +* :ref:`genindex` +* :ref:`search` + diff --git a/posix1003_1/input_and_output.rst b/posix1003_1/input_and_output.rst new file mode 100644 index 0000000..0a71497 --- /dev/null +++ b/posix1003_1/input_and_output.rst @@ -0,0 +1,199 @@ +Input and Output Primitives +########################### + +Pipes +===== + +Create an Inter-Process Channel +------------------------------- + +.. code:: c + + pipe(), Function, Dummy Implementation + +NOTE: pipe() returns ENOSYS. + +File Descriptor Manipulation +============================ + +Duplicate an Open File Descriptor +--------------------------------- + +.. code:: c + + dup(), Function, Implemented + dup2(), Function, Implemented + +File Descriptor Deassignment +============================ + +Close a File +------------ + +.. code:: c + + close(), Function, Implemented + +Input and Output +================ + +Read from a File +---------------- + +.. code:: c + + read(), Function, Implemented + +Write to a File +--------------- + +.. code:: c + + write(), Function, Implemented + +Control Operations on Files +=========================== + +Data Definitions for File Control Operations +-------------------------------------------- + +File Control +------------ + +.. code:: c + + struct flock, Type, Implemented + fcntl(), Function, Implemented + F_DUPFD, Constant, Implemented + F_GETFD, Constant, Implemented + F_GETLK, Constant, Implemented + F_SETFD, Constant, Implemented + F_GETFL, Constant, Implemented + F_SETFL, Constant, Implemented + F_SETLK, Constant, Implemented + F_SETLKW, Constant, Implemented + FD_CLOEXEC, Constant, Implemented + F_RDLCK, Constant, Implemented + F_UNLCK, Constant, Implemented + F_WRLCK, Constant, Implemented + O_ACCMODE, Constant, Implemented + +NOTE: A number of constants are used by both ``open`` and ``fcntl``.``O_CREAT``, ``O_EXCL``, ``O_NOCTTY``, ``O_TRUNC``,``O_APPEND``, ``O_DSYNC``, ``O_NONBLOCK``, ``O_RSYNC``,``O_SYNC``, ``O_RDONLY``, ``O_RDWR``, and ``O_WRONLY`` +are also included in another section. See `Open a File`_. + +Reposition Read/Write File Offset +--------------------------------- + +.. code:: c + + lseek(), Function, Implemented + SEEK_SET, Constant, Implemented + SEEK_CUR, Constant, Implemented + SEEK_END, Constant, Implemented + +File Synchronization +==================== + +Synchronize the State of a File +------------------------------- + +.. code:: c + + fsync(), Function, Implemented + +Synchronize the Data of a File +------------------------------ + +.. code:: c + + fdatasync(), Function, Implemented + +Asynchronous Input and Output +============================= + +Data Definitions for Asynchronous Input and Output +-------------------------------------------------- + +Asynchronous I/O Control Block +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. code:: c + + struct aiocb, Type, Untested Implementation + +Asynchronous I/O Manifest Constants +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. code:: c + + AIO_CANCELED, Constant, Implemented + AIO_NOTCANCELED, Constant, Implemented + AIO_ALLDONE, Constant, Implemented + LIO_WAIT, Constant, Implemented + LIO_NOWAIT, Constant, Implemented + LIO_READ, Constant, Implemented + LIO_WRITE, Constant, Implemented + LIO_NOP, Constant, Implemented + +Asynchronous Read +----------------- + +.. code:: c + + aio_read(), Function, Dummy Implementation + +Asynchronous Write +------------------ + +.. code:: c + + aio_write(), Function, Dummy Implementation + +List Directed I/O +----------------- + +.. code:: c + + lio_listio(), Function, Dummy Implementation + +Retrieve Error Status of Asynchronous I/O Operation +--------------------------------------------------- + +.. code:: c + + aio_error(), Function, Dummy Implementation + +Retrieve Return Status of Asynchronous I/O Operation +---------------------------------------------------- + +.. code:: c + + aio_return(), Function, Dummy Implementation + +Cancel Asynchronous I/O Request +------------------------------- + +.. code:: c + + aio_cancel(), Function, Dummy Implementation + +Wait for Asynchronous I/O Request +--------------------------------- + +.. code:: c + + aio_suspend(), Function, Dummy Implementation + +Asynchronous File Synchronization +--------------------------------- + +.. code:: c + + aio_fsync(), Function, Dummy Implementation + +.. COMMENT: COPYRIGHT (c) 1988-2002. + +.. COMMENT: On-Line Applications Research Corporation (OAR). + +.. COMMENT: All rights reserved. + diff --git a/posix1003_1/language_specific_services.rst b/posix1003_1/language_specific_services.rst new file mode 100644 index 0000000..79772af --- /dev/null +++ b/posix1003_1/language_specific_services.rst @@ -0,0 +1,295 @@ +Language-Specific Services for the C Programming Language +######################################################### + +Referenced C Language Routines +============================== + +ANSI C Section 4.2 — Diagnostics +.. code:: c + + assert(), Function, Implemented + +ANSI C Section 4.3 — Character Handling +.. code:: c + + isalnum(), Function, Implemented + isalpha(), Function, Implemented + iscntrl(), Function, Implemented + isdigit(), Function, Implemented + isgraph(), Function, Implemented + islower(), Function, Implemented + isprint(), Function, Implemented + ispunct(), Function, Implemented + isspace(), Function, Implemented + isupper(), Function, Implemented + isxdigit(), Function, Implemented + tolower(), Function, Implemented + toupper(), Function, Implemented + +ANSI C Section 4.4 — Localization +.. code:: c + + setlocale(), Function, Implemented + +ANSI C Section 4.5 — Mathematics +.. code:: c + + acos(), Function, Implemented + asin(), Function, Implemented + atan(), Function, Implemented + atan2(), Function, Implemented + cos(), Function, Implemented + sin(), Function, Implemented + tan(), Function, Implemented + cosh(), Function, Implemented + sinh(), Function, Implemented + tanh(), Function, Implemented + exp(), Function, Implemented + frexp(), Function, Implemented + ldexp(), Function, Implemented + log(), Function, Implemented + log10(), Function, Implemented + modf(), Function, Implemented + pow(), Function, Implemented + sqrt(), Function, Implemented + ceil(), Function, Implemented + fabs(), Function, Implemented + floor(), Function, Implemented + fmod(), Function, Implemented + +ANSI C Section 4.6 — Non-Local Jumps +.. code:: c + + setjmp(), Function, Implemented + longjmp(), Function, Implemented + +ANSI C Section 4.9 — Input/Output +.. code:: c + + FILE, Type, Implemented + clearerr(), Function, Implemented + fclose(), Function, Implemented + feof(), Function, Implemented + ferror(), Function, Implemented + fflush(), Function, Implemented + fgetc(), Function, Implemented + fgets(), Function, Implemented + fopen(), Function, Implemented + fputc(), Function, Implemented + fputs(), Function, Implemented + fread(), Function, Implemented + freopen(), Function, Implemented + fseek(), Function, Implemented + ftell(), Function, Implemented + fwrite(), Function, Implemented + getc(), Function, Implemented + getchar(), Function, Implemented + gets(), Function, Implemented + perror(), Function, Implemented + printf(), Function, Implemented + fprintf(), Function, Implemented + sprintf(), Function, Implemented + putc(), Function, Implemented + putchar(), Function, Implemented + puts(), Function, Implemented + remove(), Function, Implemented + rename(), Function, Partial Implementation + rewind(), Function, Implemented + scanf(), Function, Implemented + fscanf(), Function, Implemented + sscanf(), Function, Implemented + setbuf(), Function, Implemented + tmpfile(), Function, Implemented + tmpnam(), Function, Implemented + ungetc(), Function, Implemented + +NOTE: ``rename`` is also included in another section. `Rename a File`_. + +ANSI C Section 4.10 — General Utilities +.. code:: c + + abs(), Function, Implemented + atof(), Function, Implemented + atoi(), Function, Implemented + atol(), Function, Implemented + rand(), Function, Implemented + srand(), Function, Implemented + calloc(), Function, Implemented + free(), Function, Implemented + malloc(), Function, Implemented + realloc(), Function, Implemented + abort(), Function, Implemented + exit(), Function, Implemented + bsearch(), Function, Implemented + qsort(), Function, Implemented + +NOTE: ``getenv`` is also included in another section. `Environment Access`_. + +ANSI C Section 4.11 — String Handling +.. code:: c + + strcpy(), Function, Implemented + strncpy(), Function, Implemented + strcat(), Function, Implemented + strncat(), Function, Implemented + strcmp(), Function, Implemented + strncmp(), Function, Implemented + strchr(), Function, Implemented + strcspn(), Function, Implemented + strpbrk(), Function, Implemented + strrchr(), Function, Implemented + strspn(), Function, Implemented + strstr(), Function, Implemented + strtok(), Function, Implemented + strlen(), Function, Implemented + +ANSI C Section 4.12 — Date and Time Handling +.. code:: c + + asctime(), Function, Implemented + ctime(), Function, Implemented + gmtime(), Function, Implemented + localtime(), Function, Implemented + mktime(), Function, Implemented + strftime(), Function, Implemented + +NOTE: RTEMS has no notion of time zones. + +NOTE: ``time`` is also included in another section. `Get System Time`_. + +From Surrounding Text +.. code:: c + + EXIT_SUCCESS, Constant, Implemented + EXIT_FAILURE, Constant, Implemented + +Extensions to Time Functions +---------------------------- + +Extensions to setlocale Function +-------------------------------- + +.. code:: c + + LC_CTYPE, Constant, Implemented + LC_COLLATE, Constant, Implemented + LC_TIME, Constant, Implemented + LC_NUMERIC, Constant, Implemented + LC_MONETARY, Constant, Implemented + LC_ALL, Constant, Implemented + +C Language Input/Output Functions +================================= + +Map a Stream Pointer to a File Descriptor +----------------------------------------- + +.. code:: c + + fileno(), Function, Implemented + STDIN_FILENO, Constant, Implemented + STDOUT_FILENO, Constant, Implemented + STDERR_FILENO, Constant, Implemented + +Open a Stream on a File Descriptor +---------------------------------- + +.. code:: c + + fdopen(), Function, Implemented + +Interactions of Other FILE-Type C Functions +------------------------------------------- + +Operations on Files - the remove Function +----------------------------------------- + +Temporary File Name - the tmpnam Function +----------------------------------------- + +Stdio Locking Functions +----------------------- + +.. code:: c + + flockfile(), Function, Unimplemented + ftrylockfile(), Function, Unimplemented + funlockfile(), Function, Unimplemented + +Stdio With Explicit Client Locking +---------------------------------- + +.. code:: c + + getc_unlocked(), Function, Unimplemented + getchar_unlocked(), Function, Unimplemented + putc_unlocked(), Function, Unimplemented + putchar_unlocked(), Function, Unimplemented + +Other C Language Functions +========================== + +Nonlocal Jumps +-------------- + +.. code:: c + + sigjmp_buf, Type, Implemented + sigsetjmp(), Function, Implemented + siglongjmp(), Function, Implemented + +Set Time Zone +------------- + +.. code:: c + + tzset(), Function, Unimplemented + +Find String Token +----------------- + +.. code:: c + + strtok_r(), Function, Implemented + +ASCII Time Representation +------------------------- + +.. code:: c + + asctime_r(), Function, Implemented + +Current Time Representation +--------------------------- + +.. code:: c + + ctime_r(), Function, Implemented + +Coordinated Universal Time +-------------------------- + +.. code:: c + + gmtime_r(), Function, Implemented + +Local Time +---------- + +.. code:: c + + localtime_r(), Function, Implemented + +Pseudo-Random Sequence Generation Functions +------------------------------------------- + +.. code:: c + + rand_r(), Function, Implemented + +.. COMMENT: COPYRIGHT (c) 1988-2002. + +.. COMMENT: On-Line Applications Research Corporation (OAR). + +.. COMMENT: All rights reserved. + diff --git a/posix1003_1/memory_managment.rst b/posix1003_1/memory_managment.rst new file mode 100644 index 0000000..098eecd --- /dev/null +++ b/posix1003_1/memory_managment.rst @@ -0,0 +1,88 @@ +Memory Management +################# + +Memory Locking Functions +======================== + +Lock/Unlock the Address Space of a Process +------------------------------------------ + +.. code:: c + + mlockall(), Function, Unimplemented + munlockall(), Function, Unimplemented + MCL_CURRENT, Constant, Unimplemented + MCL_FUTURE, Constant, Unimplemented + +Lock/Unlock a Rand of Process Address Space +------------------------------------------- + +.. code:: c + + mlock(), Function, Unimplemented + munlock(), Function, Unimplemented + +Memory Mapping Functions +======================== + +Map Process Addresses to a Memory Object +---------------------------------------- + +.. code:: c + + mmap(), Function, Unimplemented + PROT_READ, Constant, Unimplemented + PROT_WRITE, Constant, Unimplemented + PROT_EXEC, Constant, Unimplemented + PROT_NONE, Constant, Unimplemented + MAP_SHARED, Constant, Unimplemented + MAP_PRIVATE, Constant, Unimplemented + MAP_FIXED, Constant, Unimplemented + +Unmap Previously Mapped Addresses +--------------------------------- + +.. code:: c + + munmap(), Function, Unimplemented + +Change Memory Protection +------------------------ + +.. code:: c + + mprotect(), Function, Unimplemented + +Memory Object Synchronization +----------------------------- + +.. code:: c + + msync(), Function, Unimplemented, Unimplemented + MS_ASYNC, Constant, Unimplemented + MS_SYNC, Constant, Unimplemented + MS_INVALIDATE, Constant, Unimplemented + +Shared Memory Functions +======================= + +Open a Shared Memory Object +--------------------------- + +.. code:: c + + shm_open(), Function, Unimplemented + +Remove a Shared Memory Object +----------------------------- + +.. code:: c + + shm_unlink(), Function, Unimplemented + +.. COMMENT: COPYRIGHT (c) 1988-2002. + +.. COMMENT: On-Line Applications Research Corporation (OAR). + +.. COMMENT: All rights reserved. + diff --git a/posix1003_1/message_passing.rst b/posix1003_1/message_passing.rst new file mode 100644 index 0000000..6853d84 --- /dev/null +++ b/posix1003_1/message_passing.rst @@ -0,0 +1,81 @@ +Message Passing +############### + +Data Definitions for Message Queues +=================================== + +Data Structures +--------------- + +NOTE: Semaphores are implemented but only unnamed semaphores +are currently tested. +.. code:: c + + mqd_t, Type, Implemented + struct mq_attr, Type, Implemented + +Message Passing Functions +========================= + +Open a Message Queue +-------------------- + +.. code:: c + + mq_open(), Function, Implemented + +Close a Message Queue +--------------------- + +.. code:: c + + mq_close(), Function, Implemented + +Remove a Message Queue +---------------------- + +.. code:: c + + mq_unlink(), Function, Implemented + +Send a Message to a Message Queue +--------------------------------- + +.. code:: c + + mq_send(), Function, Implemented + +Receive a Message From a Message Queue +-------------------------------------- + +.. code:: c + + mq_receive(), Function, Implemented + +Notify Process That a Message is Available on a Queue +----------------------------------------------------- + +.. code:: c + + mq_notify(), Function, Implemented + +Set Message Queue Attributes +---------------------------- + +.. code:: c + + mq_setattr(), Function, Implemented + +Get Message Queue Attributes +---------------------------- + +.. code:: c + + mq_getattr(), Function, Implemented + +.. COMMENT: COPYRIGHT (c) 1988-2002. + +.. COMMENT: On-Line Applications Research Corporation (OAR). + +.. COMMENT: All rights reserved. + diff --git a/posix1003_1/preface.rst b/posix1003_1/preface.rst new file mode 100644 index 0000000..f56a8cc --- /dev/null +++ b/posix1003_1/preface.rst @@ -0,0 +1,26 @@ +======= +Preface +======= + +This document lists the functions, constant, macros, feature flags, +and types defined in the POSIX 1003.1 standard. Each section in +this document corresponds to a section in the 1003.1 standard +and the implementation status of the items required by the standard +are listed. + +RTEMS supports a number of POSIX process, user, and group oriented +routines in what is referred to as a "SUSP" (Single-User, Single +Process) manner. RTEMS supports a single process, multithreaded +POSIX 1003.1b environment. In a pure world, there would be +no reason to even include routines like ``getpid()`` when there +can only be one process. But providing routines like ``getpid()`` +and making them work in a sensible fashion for an embedded environment +while not returning ENOSYS (for not implemented) makes it significantly +easier to port code from a UNIX environment without modifying it. + +.. COMMENT: COPYRIGHT (c) 1988-2002. + +.. COMMENT: On-Line Applications Research Corporation (OAR). + +.. COMMENT: All rights reserved. + diff --git a/posix1003_1/process_environment.rst b/posix1003_1/process_environment.rst new file mode 100644 index 0000000..c9ddae6 --- /dev/null +++ b/posix1003_1/process_environment.rst @@ -0,0 +1,204 @@ +Process Environment +################### + +Process Identification +====================== + +Get Process and Parent Process IDs +---------------------------------- + +.. code:: c + + getpid(), Function, Implemented, SUSP Functionality + getppid(), Function, Implemented, SUSP Functionality + +User Identification +=================== + +Get Real User Effective User Real Group and Effective Group IDs +--------------------------------------------------------------- + +.. code:: c + + getuid(), Function, Implemented, SUSP Functionality + geteuid(), Function, Implemented, SUSP Functionality + getgid(), Function, Implemented, SUSP Functionality + getegid(), Function, Implemented, SUSP Functionality + +Set User and Group IDs +---------------------- + +.. code:: c + + setuid(), Function, Implemented, SUSP Functionality + setgid(), Function, Implemented, SUSP Functionality + +Get Supplementary Group IDs +--------------------------- + +.. code:: c + + getgroups(), Function, Implemented, SUSP Functionality + +Get User Name +------------- + +.. code:: c + + getlogin(), Function, Implemented, SUSP Functionality + getlogin_r(), Function, Implemented, SUSP Functionality + +Process Groups +============== + +Get Process Group ID +-------------------- + +.. code:: c + + getpgrp(), Function, Implemented, SUSP Functionality + +Create Session and Set Process Group ID +--------------------------------------- + +.. code:: c + + setsid(), Function, Implemented, SUSP Functionality + +Set Process Group ID for Job Control +------------------------------------ + +.. code:: c + + setpgid(), Function, Dummy Implementation + +System Identification +===================== + +Get System Name +--------------- + +.. code:: c + + struct utsname, Type, Implemented + uname(), Function, Implemented + +Time +==== + +Get System Time +--------------- + +.. code:: c + + time(), Function, Implemented + +Get Process Times +----------------- + +.. code:: c + + struct tms, Type, Implemented + times(), Function, Implemented + +NOTE: ``times`` always returns 0 for tms_stime, tms_cutime, and +tms_cstime fields of the ``struct tms`` returned. + +Environment Variables +===================== + +Environment Access +------------------ + +.. code:: c + + getenv(), Function, Implemented + +Terminal Identification +======================= + +Generate Terminal Pathname +-------------------------- + +.. code:: c + + ctermid(), Function, Implemented + +Determine Terminal Device Name +------------------------------ + +.. code:: c + + ttyname(), Function, Implemented, untested + ttyname_r(), Function, Implemented, untested + isatty(), Function, Implemented + +Configurable System Variables +============================= + +Get Configurable System Variables +--------------------------------- + +.. code:: c + + sysconf(), Function, Dummy Implementation + _SC_AIO_LISTIO_MAX, Constant, Implemented + _SC_AIO_MAX, Constant, Implemented + _SC_AIO_PRIO_DELTA_MAX, Constant, Implemented + _SC_ARG_MAX, Constant, Implemented + _SC_CHILD_MAX, Constant, Implemented + _SC_CLK_TCK, Constant, Implemented + CLK_TCK, Constant, Implemented + _SC_DELAYTIMER_MAX, Constant, Implemented + _SC_GETGR_R_SIZE_MAX, Constant, Implemented + _SC_GETPW_R_SIZE_MAX, Constant, Implemented + _SC_LOGIN_NAME_MAX, Constant, Implemented + _SC_MQ_OPEN_MAX, Constant, Implemented + _SC_MQ_PRIO_MAX, Constant, Implemented + _SC_NGROUPS_MAX, Constant, Implemented + _SC_OPEN_MAX, Constant, Implemented + _SC_PAGESIZE, Constant, Implemented + _SC_RTSIG_MAX, Constant, Implemented + _SC_SEM_NSEMS_MAX, Constant, Implemented + _SC_SEM_VALUE_MAX, Constant, Implemented + _SC_SIGQUEUE_MAX, Constant, Implemented + _SC_STREAM_MAX, Constant, Implemented + _SC_THREAD_DESTRUCTOR_ITERATIONS, Constant, Implemented + _SC_THREAD_KEYS_MAX, Constant, Implemented + _SC_THREAD_STACK_MIN, Constant, Implemented + _SC_THREAD_THREADS_MAX, Constant, Implemented + _SC_TIMER_MAX, Constant, Implemented + _SC_TTY_NAME_MAX, Constant, Implemented + _SC_TZNAME_MAX, Constant, Implemented + _SC_ASYNCHRONOUS_IO, Constant, Implemented + _SC_FSYNC, Constant, Implemented + _SC_JOB_CONROL, Constant, Implemented + _SC_MAPPED_FILES, Constant, Implemented + _SC_MEMLOCK, Constant, Implemented + _SC_MEMLOCK_RANGE, Constant, Implemented + _SC_MEMORY_PROTECTION, Constant, Implemented + _SC_MESSAGE_PASSING, Constant, Implemented + _SC_PRIORITIZED_IO, Constant, Implemented + _SC_PRIORITY_SCHEDULING, Constant, Unimplemented + _SC_REALTIME_SIGNALS, Constant, Implemented + _SC_SAVED_IDS, Constant, Implemented + _SC_SEMAPHORES, Constant, Implemented + _SC_SHARED_MEMORY_OBJECTS, Constant, Implemented + _SC_SYNCHRONIZED_IO, Constant, Implemented + _SC_TIMERS, Constant, Implemented + _SC_THREADS, Constant, Implemented + _SC_THREAD_ATTR_STACKADDR, Constant, Implemented + _SC_THREAD_ATTR_STACKSIZE, Constant, Implemented + _SC_THREAD_PRIORITY_SCHEDULING, Constant, Implemented + _SC_THREAD_PRIO_INHERIT, Constant, Implemented + _SC_THREAD_PRIO_PROTECT, Constant, Unimplemented + _SC_THREAD_PROCESS_SHARED, Constant, Implemented + _SC_THREAD_SAFE_FUNCTIONS, Constant, Implemented + _SC_VERSION, Constant, Implemented + +.. COMMENT: COPYRIGHT (c) 1988-2002. + +.. COMMENT: On-Line Applications Research Corporation (OAR). + +.. COMMENT: All rights reserved. + diff --git a/posix1003_1/process_primitives.rst b/posix1003_1/process_primitives.rst new file mode 100644 index 0000000..646afbf --- /dev/null +++ b/posix1003_1/process_primitives.rst @@ -0,0 +1,228 @@ +Process Primitives +################## + +Process Creation and Execution +============================== + +Process Creation +---------------- + +.. code:: c + + fork(), Function, Unimplementable, Requires Processes + +Execute a File +-------------- + +.. code:: c + + execl(), Function, Unimplementable, Requires Processes + execv(), Function, Unimplementable, Requires Processes + execle(), Function, Unimplementable, Requires Processes + execve(), Function, Unimplementable, Requires Processes + execlp(), Function, Unimplementable, Requires Processes + execvp(), Function, Unimplementable, Requires Processes + +Register Fork Handlers +---------------------- + +.. code:: c + + pthread_atfork(), Function, Unimplementable, Requires Processes + +Process Termination +=================== + +Wait for Process Termination +---------------------------- + +.. code:: c + + wait(), Function, Unimplementable, Requires Processes + waitpid(), Function, Unimplementable, Requires Processes + WNOHANG, Constant, Unimplementable, Requires Processes + WUNTRACED, Constant, Unimplementable, Requires Processes + WIFEXITED(), Function, Unimplementable, Requires Processes + WEXITSTATUS(), Function, Unimplementable, Requires Processes + WIFSIGNALED(), Function, Unimplementable, Requires Processes + WTERMSIG(), Function, Unimplementable, Requires Processes + WIFSTOPPED(), Function, Unimplementable, Requires Processes + WSTOPSIG(), Function, Unimplementable, Requires Processes + +Terminate a Process +------------------- + +.. code:: c + + _exit(), Function, Implemented + +Signals +======= + +Signal Concepts +--------------- + +Signal Names +~~~~~~~~~~~~ + +.. code:: c + + sigset_t, Type, Implemented + SIG_DFL, Constant, Implemented + SIG_IGN, Constant, Implemented + SIG_ERR, Constant, Implemented + SIGABRT, Constant, Implemented + SIGALRM, Constant, Implemented + SIGFPE, Constant, Implemented + SIGHUP, Constant, Implemented + SIGILL, Constant, Implemented + SIGINT, Constant, Implemented + SIGKILL, Constant, Implemented + SIGPIPE, Constant, Implemented + SIGQUIT, Constant, Implemented + SIGSEGV, Constant, Implemented + SIGTERM, Constant, Implemented + SIGUSR1, Constant, Implemented + SIGUSR2, Constant, Implemented + SIGCHLD, Constant, Unimplemented + SIGCONT, Constant, Unimplemented + SIGSTOP, Constant, Unimplemented + SIGTSTP, Constant, Unimplemented + SIGTTIN, Constant, Unimplemented + SIGTTOU, Constant, Unimplemented + SIGBUS, Constant, Implemented + SIGRTMIN, Constant, Implemented + SIGRTMAX, Constant, Implemented + +NOTE: SIG_ERR is technically an extension to the C Library which is +not documented anywhere else according to the index. + +Signal Generation and Delivery +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. code:: c + + struct sigevent, Type, Implemented + union sigval, Type, Implemented + SIGEV_NONE, Constant, Implemented + SIGEV_SIGNAL, Constant, Implemented + SIGEV_THREAD, Constant, Implemented + +Signal Actions +~~~~~~~~~~~~~~ + +.. code:: c + + siginfo_t, Type, Implemented + SI_USER, Constant, Implemented + SI_QUEUE, Constant, Implemented + SI_TIMER, Constant, Implemented + SI_ASYNCIO, Constant, Implemented + SI_MESGQ, Constant, Implemented + +Send a Signal to a Process +-------------------------- + +.. code:: c + + kill(), Function, Implemented + +Manipulate Signal Sets +---------------------- + +.. code:: c + + sigemptyset(), Function, Implemented + sigfillset(), Function, Implemented + sigaddset(), Function, Implemented + sigdelset(), Function, Implemented + sigismember(), Function, Implemented + +Examine and Change Signal Action +-------------------------------- + +.. code:: c + + sigaction(), Function, Implemented + sigaction, Type, Implemented + SA_NOCLDSTOP, Constant, Implemented + SA_SIGINFO, Constant, Implemented + +Examine and Change Blocked Signals +---------------------------------- + +.. code:: c + + pthread_sigmask(), Function, Implemented + sigprocmask(), Function, Implemented + SIG_BLOCK, Constant, Implemented + SIG_UNBLOCK, Constant, Implemented + SIG_SETMASK, Constant, Implemented + +Examine Pending Signals +----------------------- + +.. code:: c + + sigpending(), Function, Implemented + +Wait for a Signal +----------------- + +.. code:: c + + sigsuspend(), Function, Implemented + +Synchronously Accept a Signal +----------------------------- + +.. code:: c + + sigwait(), Function, Implemented + sigwaitinfo(), Function, Implemented + sigtimedwait(), Function, Implemented + +Queue a Signal to a Process +--------------------------- + +.. code:: c + + sigqueue(), Function, Implemented + +Send a Signal to a Thread +------------------------- + +.. code:: c + + pthread_kill(), Function, Implemented + +Timer Operations +================ + +Schedule Alarm +-------------- + +.. code:: c + + alarm(), Function, Implemented + +Suspend Process Execution +------------------------- + +.. code:: c + + pause(), Function, Implemented + +Delay Process Execution +----------------------- + +.. code:: c + + sleep(), Function, Implemented + +.. COMMENT: COPYRIGHT (c) 1988-2002. + +.. COMMENT: On-Line Applications Research Corporation (OAR). + +.. COMMENT: All rights reserved. + diff --git a/posix1003_1/synchronization.rst b/posix1003_1/synchronization.rst new file mode 100644 index 0000000..3c5be0f --- /dev/null +++ b/posix1003_1/synchronization.rst @@ -0,0 +1,150 @@ +Synchronization +############### + +Semaphore Characteristics +========================= + +NOTE: Semaphores are implemented but only unnamed semaphores +are currently tested. +.. code:: c + + sem_t, Type, Implemented + +Semaphore Functions +=================== + +Initialize an Unnamed Semaphore +------------------------------- + +.. code:: c + + sem_init(), Function, Implemented + SEM_FAILED, Constant, Implemented + +Destroy an Unnamed Semaphore +---------------------------- + +.. code:: c + + sem_destroy(), Function, Implemented + +Initialize/Open a Named Semaphore +--------------------------------- + +.. code:: c + + sem_open(), Function, Implemented + +Close a Named Semaphore +----------------------- + +.. code:: c + + sem_close(), Function, Implemented + +Remove a Named Semaphore +------------------------ + +.. code:: c + + sem_unlink(), Function, Implemented + +Lock a Semaphore +---------------- + +.. code:: c + + sem_wait(), Function, Implemented + sem_trywait(), Function, Implemented + +Unlock a Semaphore +------------------ + +.. code:: c + + sem_post(), Function, Implemented + +Get the Value of a Semaphore +---------------------------- + +.. code:: c + + sem_getvalue(), Function, Implemented + +Mutexes +======= + +Mutex Initialization Attributes +------------------------------- + +.. code:: c + + pthread_mutexattr_init(), Function, Implemented + pthread_mutexattr_destroy(), Function, Implemented + pthread_mutexattr_getpshared(), Function, Implemented + pthread_mutexattr_setpshared(), Function, Implemented + PTHREAD_PROCESS_SHARED, Constant, Implemented + PTHREAD_PROCESS_PRIVATE, Constant, Implemented + +Initializing and Destroying a Mutex +----------------------------------- + +.. code:: c + + pthread_mutex_init(), Function, Implemented + pthread_mutex_destroy(), Function, Implemented + PTHREAD_MUTEX_INITIALIZER, Constant, Implemented + +Locking and Unlocking a Mutex +----------------------------- + +.. code:: c + + pthread_mutex_lock(), Function, Implemented + pthread_mutex_trylock(), Function, Implemented + pthread_mutex_unlock(), Function, Implemented + +Condition Variables +=================== + +Condition Variable Initialization Attributes +-------------------------------------------- + +.. code:: c + + pthread_condattr_init(), Function, Implemented + pthread_condattr_destroy(), Function, Implemented + pthread_condattr_getpshared(), Function, Implemented + pthread_condattr_setpshared(), Function, Implemented + +Initialization and Destroying Condition Variables +------------------------------------------------- + +.. code:: c + + pthread_cond_init(), Function, Implemented + pthread_cond_destroy(), Function, Implemented + PTHREAD_COND_INITIALIZER, Constant, Implemented + +Broadcasting and Signaling a Condition +-------------------------------------- + +.. code:: c + + pthread_cond_signal(), Function, Implemented + pthread_cond_broadcast(), Function, Implemented + +Waiting on a Condition +---------------------- + +.. code:: c + + pthread_cond_wait(), Function, Implemented + pthread_cond_timedwait(), Function, Implemented + +.. COMMENT: COPYRIGHT (c) 1988-2002. + +.. COMMENT: On-Line Applications Research Corporation (OAR). + +.. COMMENT: All rights reserved. + diff --git a/posix1003_1/system_database.rst b/posix1003_1/system_database.rst new file mode 100644 index 0000000..0affa90 --- /dev/null +++ b/posix1003_1/system_database.rst @@ -0,0 +1,41 @@ +System Databases +################ + +System Databases Section +======================== + +Database Access +=============== + +Group Database Access +--------------------- + +.. code:: c + + struct group, Type, Implemented + getgrgid(), Function, Implemented + getgrgid_r(), Function, Implemented + getgrname(), Function, Implemented + getgrnam_r(), Function, Implemented + +NOTE: Creates /etc/group if none exists. + +User Database Access +-------------------- + +.. code:: c + + struct passwd, Type, Implemented + getpwuid(), Function, Implemented + getpwuid_r(), Function, Implemented + getpwnam(), Function, Implemented + getpwnam_r(), Function, Implemented + +NOTE: Creates /etc/passwd if none exists. + +.. COMMENT: COPYRIGHT (c) 1988-2002. + +.. COMMENT: On-Line Applications Research Corporation (OAR). + +.. COMMENT: All rights reserved. + diff --git a/posix1003_1/terminology.rst b/posix1003_1/terminology.rst new file mode 100644 index 0000000..86d4d47 --- /dev/null +++ b/posix1003_1/terminology.rst @@ -0,0 +1,301 @@ +Terminology and General Requirements +#################################### + +Conventions +=========== + +Definitions +=========== + +General Concepts +================ + +Error Numbers +============= + +.. code:: c + + E2BIG, Constant, Implemented + EACCES, Constant, Implemented + EAGAIN, Constant, Implemented + EBADF, Constant, Implemented + EBADMSG, Constant, Implemented + EBUSY, Constant, Implemented + ECANCELED, Constant, Unimplemented + ECHILD, Constant, Implemented + EDEADLK, Constant, Implemented + EDOM, Constant, Implemented + EEXIST, Constant, Implemented + EFAULT, Constant, Implemented + EFBIG, Constant, Implemented + EINPROGRESS, Constant, Implemented + EINTR, Constant, Implemented + EINVAL, Constant, Implemented + EIO, Constant, Implemented + EISDIR, Constant, Implemented + EMFILE, Constant, Implemented + EMLINK, Constant, Implemented + EMSGSIZE, Constant, Implemented + ENAMETOOLONG, Constant, Implemented + ENFILE, Constant, Implemented + ENODEV, Constant, Implemented + ENOENT, Constant, Implemented + ENOEXEC, Constant, Implemented + ENOLCK, Constant, Implemented + ENOMEM, Constant, Implemented + ENOSPC, Constant, Implemented + ENOSYS, Constant, Implemented + ENOTDIR, Constant, Implemented + ENOTEMPTY, Constant, Implemented + ENOTSUP, Constant, Implemented + ENOTTY, Constant, Implemented + ENXIO, Constant, Implemented + EPERM, Constant, Implemented + EPIPE, Constant, Implemented + ERANGE, Constant, Implemented + EROFS, Constant, Implemented + ESPIPE, Constant, Implemented + ESRCH, Constant, Implemented + ETIMEDOUT, Constant, Implemented + EXDEV, Constant, Implemented + +Primitive System Types +====================== + +.. code:: c + + dev_t, Type, Implemented + gid_t, Type, Implemented + ino_t, Type, Implemented + mode_t, Type, Implemented + nlink_t, Type, Implemented + off_t, Type, Implemented + pid_t, Type, Implemented + pthread_t, Type, Implemented + pthread_attr_t, Type, Implemented + pthread_mutex_t, Type, Implemented + pthread_mutex_attr_t, Type, Implemented + pthread_cond_t, Type, Implemented + pthread_cond_attr_t, Type, Implemented + pthread_key_t, Type, Implemented + pthread_once_t, Type, Implemented + size_t, Type, Implemented + ssize_t, Type, Implemented + time_t, Type, Implemented + uid_t, Type, Implemented + +NOTE: time_t is not listed in this section but is used by many functions. + +Environment Description +======================= + +C Language Definitions +====================== + +Symbols From the C Standard +--------------------------- + +.. code:: c + + NULL, Constant, Implemented + +POSIX.1 Symbols +--------------- + +.. code:: c + + _POSIX_C_SOURCE, Feature Flag, + +Numerical Limits +================ + +C Language Limits +================= + +.. code:: c + + CHAR_BIT, Constant, Implemented + CHAR_MAX, Constant, Implemented + CHAR_MIN, Constant, Implemented + INT_MAX, Constant, Implemented + INT_MIN, Constant, Implemented + LONG_MAX, Constant, Implemented + LONG_MIN, Constant, Implemented + MB_LEN_MAX, Constant, Implemented + SCHAR_MAX, Constant, Implemented + SCHAR_MIN, Constant, Implemented + SHRT_MAX, Constant, Implemented + SHRT_MIN, Constant, Implemented + UCHAR_MAX, Constant, Implemented + UINT_MAX, Constant, Implemented + ULONG_MAX, Constant, Implemented + USHRT_MAX, Constant, Implemented + +NOTE: These are implemented in GCC’s limits.h file. + +Minimum Values +-------------- + +.. code:: c + + _POSIX_AIO_LISTIO_MAX, Constant, Implemented + _POSIX_AIO_MAX, Constant, Implemented + _POSIX_ARG_MAX, Constant, Implemented + _POSIX_CHILD_MAX, Constant, Implemented + _POSIX_DELAYTIMER_MAX, Constant, Implemented + _POSIX_LINK_MAX, Constant, Implemented + _POSIX_LOGIN_NAME_MAX, Constant, Implemented + _POSIX_MAX_CANON, Constant, Implemented + _POSIX_MAX_INPUT, Constant, Implemented + _POSIX_MQ_OPEN_MAX, Constant, Implemented + _POSIX_MQ_PRIO_MAX, Constant, Implemented + _POSIX_NAME_MAX, Constant, Implemented + _POSIX_NGROUPS_MAX, Constant, Implemented + _POSIX_OPEN_MAX, Constant, Implemented + _POSIX_PATH_MAX, Constant, Implemented + _POSIX_PIPE_BUF, Constant, Implemented + _POSIX_RTSIG_MAX, Constant, Implemented + _POSIX_SEM_NSEMS_MAX, Constant, Implemented + _POSIX_SEM_VALUE_MAX, Constant, Implemented + _POSIX_SIGQUEUE_MAX, Constant, Implemented + _POSIX_SSIZE_MAX, Constant, Implemented + _POSIX_STREAM_MAX, Constant, Implemented + _POSIX_THREAD_DESTRUCTOR_ITERATIONS, Constant, Implemented + _POSIX_THREAD_KEYS_MAX, Constant, Implemented + _POSIX_THREAD_THREADS_MAX, Constant, Implemented + _POSIX_TTY_NAME_MAX, Constant, Implemented + _POSIX_TIME_MAX, Constant, Unimplemented + _POSIX_TZNAME_MAX, Constant, Implemented + +Run-Time Increasable Values +--------------------------- + +.. code:: c + + _POSIX_NGROUPS_MAX, Constant, Implemented + +Run-Time Invariant Values (Possible Indeterminate) +-------------------------------------------------- + +.. code:: c + + AIO_LISTIO_MAX, Constant, Implemented + AIO_MAX, Constant, Implemented + AIO_PRIO_DELTA_MAX, Constant, Implemented + ARG_MAX, Constant, Implemented + CHILD_MAX, Constant, Implemented + DELAYTIMER_MAX, Constant, Implemented + LOGIN_NAME_MAX, Constant, Implemented + MQ_OPEN_MAX, Constant, Implemented + OPEN_MAX, Constant, Implemented + PAGESIZE, Constant, Implemented + PTHREAD_DESTRUCTOR_ITERATIONS, Constant, Implemented + PTHREAD_KEYS_MAX, Constant, Implemented + PTHREAD_STACK_MIN, Constant, Implemented + PTHJREAD_THREADS_MAX, Constant, Implemented + RTSIG_MAX, Constant, Implemented + SEM_NSEMS_MAX, Constant, Implemented + SEM_VALUE_MAX, Constant, Implemented + SIGQUEUE_MAX, Constant, Implemented + STREAM_MAX, Constant, Implemented + TIMER_MAX, Constant, Implemented + TTY_NAME_MAX, Constant, Implemented + TZNAME_MAX, Constant, Implemented + +Pathname Variable Values +------------------------ + +.. code:: c + + LINK_MAX, Constant, Implemented + MAX_CANON, Constant, Implemented + MAX_INPUT, Constant, Implemented + NAME_MAX, Constant, Implemented + PATH_MAX, Constant, Implemented + PIPE_BUF, Constant, Implemented + +Invariant Values +---------------- + +.. code:: c + + SSIZE_MAX, Constant, Implemented + +Maximum Values +-------------- + +.. code:: c + + _POSIX_CLOCKRES_MIN, Constant, Implemented + +Symbolic Constants +================== + +Symbolic Constants for the access Function +------------------------------------------ + +.. code:: c + + R_OK, Constant, Implemented + W_OK, Constant, Implemented + X_OK, Constant, Implemented + F_OK, Constant, Implemented + +Symbolic Constants for the lseek Function +----------------------------------------- + +.. code:: c + + SEEK_SET, Constant, Implemented + SEEK_CUR, Constant, Implemented + SEEK_END, Constant, Implemented + +Compile-Time Symbolic Constants for Portability Specifications +-------------------------------------------------------------- + +.. code:: c + + _POSIX_ASYNCHRONOUS_IO, Feature Flag, + _POSIX_FSYNC, Feature Flag, + _POSIX_JOB_CONTROL, Feature Flag, + _POSIX_MAPPED_FILES, Feature Flag, + _POSIX_MEMLOCK, Feature Flag, + _POSIX_MEMLOCK_RANGE, Feature Flag, + _POSIX_MEMORY_PROTECTION, Feature Flag, + _POSIX_MESSAGE_PASSING, Feature Flag, + _POSIX_PRIORITIZED_IO, Feature Flag, + _POSIX_PRIORITY_SCHEDULING, Feature Flag, + _POSIX_REALTIME_SIGNALS, Feature Flag, + _POSIX_SAVED_IDS, Feature Flag, + _POSIX_SEMAPHORES, Feature Flag, + _POSIX_SHARED_MEMORY_OBJECTS, Feature Flag, + _POSIX_SYNCHRONIZED_IO, Feature Flag, + _POSIX_THREADS, Feature Flag, + _POSIX_THREAD_ATTR_STACKADDR, Feature Flag, + _POSIX_THREAD_ATTR_STACKSIZE, Feature Flag, + _POSIX_THREAD_PRIORITY_SCHEDULING, Feature Flag, + _POSIX_THREAD_PRIO_INHERIT, Feature Flag, + _POSIX_THREAD_PRIO_CEILING, Feature Flag, + _POSIX_THREAD_PROCESS_SHARED, Feature Flag, + _POSIX_THREAD_SAFE_FUNCTIONS, Feature Flag, + _POSIX_TIMERS, Feature Flag, + _POSIX_VERSION, Feature Flag, + +Execution-Time Symbolic Constants for Portability Specifications +---------------------------------------------------------------- + +.. code:: c + + _POSIX_ASYNC_IO, Feature Flag, + _POSIX_CHOWN_RESTRICTED, Feature Flag, + _POSIX_NO_TRUNC, Feature Flag, + _POSIX_PRIO_IO, Feature Flag, + _POSIX_SYNC_IO, Feature Flag, + _POSIX_VDISABLE, Feature Flag, + +.. COMMENT: COPYRIGHT (c) 1988-2002. + +.. COMMENT: On-Line Applications Research Corporation (OAR). + +.. COMMENT: All rights reserved. + diff --git a/posix1003_1/thread_cancellation.rst b/posix1003_1/thread_cancellation.rst new file mode 100644 index 0000000..42039cb --- /dev/null +++ b/posix1003_1/thread_cancellation.rst @@ -0,0 +1,76 @@ +Thread Cancellation +################### + +Thread Cancellation Overview +============================ + +Cancelability States +-------------------- + +.. code:: c + + PTHREAD_CANCEL_DISABLE, Constant, Implemented + PTHREAD_CANCEL_ENABLE, Constant, Implemented + PTHREAD_CANCEL_ASYNCHRONOUS, Constant, Implemented + PTHREAD_CANCEL_DEFERRED, Constant, Implemented + +Cancellation Points +------------------- + +Thread Cancellation Cleanup Handlers +------------------------------------ + +.. code:: c + + PTHREAD_CANCELED, Constant, Unimplemented + +Async-Cancel Safety +------------------- + +Thread Cancellation Functions +============================= + +Canceling Execution of a Thread +------------------------------- + +.. code:: c + + pthread_cancel(), Function, Implemented + +Setting Cancelability State +--------------------------- + +.. code:: c + + pthread_setcancelstate(), Function, Implemented + pthread_setcanceltype(), Function, Implemented + pthread_testcancel(), Function, Implemented + +Establishing Cancellation Handlers +---------------------------------- + +.. code:: c + + pthread_cleanup_push(), Function, Implemented + pthread_cleanup_pop(), Function, Implemented + +Language-Independent Cancellation Functionality +=============================================== + +Requesting Cancellation +----------------------- + +Associating Cleanup Code With Scopes +------------------------------------ + +Controlling Cancellation Within Scopes +-------------------------------------- + +Defined Cancellation Sequence +----------------------------- + +List of Cancellation Points +--------------------------- + +.. COMMENT: DO NOT EDIT - AUTOMATICALLY GENERATED!!! + diff --git a/posix1003_1/thread_managment.rst b/posix1003_1/thread_managment.rst new file mode 100644 index 0000000..db36485 --- /dev/null +++ b/posix1003_1/thread_managment.rst @@ -0,0 +1,81 @@ +Thread Management +################# + +Threads +======= + +Thread Functions +================ + +Thread Creation Attributes +-------------------------- + +.. code:: c + + pthread_attr_init(), Function, Implemented + pthread_attr_destroy(), Function, Implemented + pthread_attr_setstacksize(), Function, Implemented + pthread_attr_getstacksize(), Function, Implemented + pthread_attr_setstackaddr(), Function, Implemented + pthread_attr_getstackaddr(), Function, Implemented + pthread_attr_setdetachstate(), Function, Implemented + pthread_attr_getdetachstate(), Function, Implemented + PTHREAD_CREATE_JOINABLE, Constant, Implemented + PTHREAD_CREATE_DETACHED, Constant, Implemented + +Thread Creation +--------------- + +.. code:: c + + pthread_create(), Function, Implemented + +Wait for Thread Termination +--------------------------- + +.. code:: c + + pthread_join(), Function, Implemented + +Detaching a Thread +------------------ + +.. code:: c + + pthread_detach(), Function, Implemented + +Thread Termination +------------------ + +.. code:: c + + pthread_exit(), Function, Implemented + +Get Thread ID +------------- + +.. code:: c + + pthread_self(), Function, Implemented + +Compare Thread IDs +------------------ + +.. code:: c + + pthread_equal(), Function, Implemented + +Dynamic Package Initialization +------------------------------ + +.. code:: c + + pthread_once(), Function, Implemented + PTHREAD_ONCE_INIT, Constant, Implemented + +.. COMMENT: COPYRIGHT (c) 1988-2002. + +.. COMMENT: On-Line Applications Research Corporation (OAR). + +.. COMMENT: All rights reserved. + diff --git a/posix1003_1/thread_specific_data.rst b/posix1003_1/thread_specific_data.rst new file mode 100644 index 0000000..0f2d381 --- /dev/null +++ b/posix1003_1/thread_specific_data.rst @@ -0,0 +1,34 @@ +Thread-Specific Data +#################### + +Thread-Specific Data Functions +============================== + +Thread-Specific Data Key Creation +--------------------------------- + +.. code:: c + + pthread_key_create(), Function, Implemented + +Thread-Specific Data Management +------------------------------- + +.. code:: c + + pthread_key_setspecific(), Function, Implemented + pthread_key_getspecific(), Function, Implemented + +Thread-Specific Data Key Deletion +--------------------------------- + +.. code:: c + + pthread_key_delete(), Function, Implemented + +.. COMMENT: COPYRIGHT (c) 1988-2002. + +.. COMMENT: On-Line Applications Research Corporation (OAR). + +.. COMMENT: All rights reserved. + -- cgit v1.2.3