The following issue has been SUBMITTED. ====================================================================== https://www.austingroupbugs.net/view.php?id=1456 ====================================================================== Reported By: eblake Assigned To: ====================================================================== Project: 1003.1(2013)/Issue7+TC1 Issue ID: 1456 Category: System Interfaces Type: Omission Severity: Objection Priority: normal Status: New Name: Eric Blake Organization: Red Hat User Reference: Section: XSH 2.2.2 Page Number: 477 Line Number: 16418 Interp Status: --- Final Accepted Text: ====================================================================== Date Submitted: 2021-03-09 20:09 UTC Last Modified: 2021-03-09 20:09 UTC ====================================================================== Summary: Permit implementations to add additional confstr()/pathconf()/sysconf() constants Description: XSH 2.2.2 states that implementations can generally add more constants that fit within approved namespace restrictions, and further states that any identifier beginning with underscore then upper-case is reserved for the implementation (line 16438), so an implementation can indeed add more confstr() (_CS_*), pathconf() (_PC_*) and sysconf() (_SC_*) symbols without violating the requirements. However, without explicit direction, it is not obvious that an application can test for the existence of which extensions an implementation supports, nor that an implementation should not blindly define macros in this namespace if they are not compatible with confstr/pathconf/sysconf semantics. Desired Action: Before page 477 line 16418 (XSH 2.2.2), add a new paragraph:<blockquote>Additional symbolic constants with the prefix _CS_, _PC_, and _SC_ may be defined by the inclusion of <unistd.h>, but as these are already reserved for the implementation, they are not included in the table above. Extensions with these prefixes should be compatible with use by confstr(), pathconf(), and sysconf(), respectively.</blockquote>
After page 443 line 15205 (XBD <unistd.h>), add a paragraph:<blockquote>The implementation may define additional symbolic constants beginning with _CS_* for use by confstr().</blockquote> After page 444 line 15235, add a paragraph:<blockquote>The implementation may define additional symbolic constants beginning with _PC_* for use by pathconf().</blockquote> After page 447 line 15362, add a paragraph:<blockquote>The implementation may define additional symbolic constants beginning with _SC_* for use by sysconf().</blockquote> Optionally, the Austin Group should decide whether to add an additional requirement that extensions of these forms must be suitable for use in #if preprocessor directives. ====================================================================== Issue History Date Modified Username Field Change ====================================================================== 2021-03-09 20:09 eblake New Issue 2021-03-09 20:09 eblake Name => Eric Blake 2021-03-09 20:09 eblake Organization => Red Hat 2021-03-09 20:09 eblake Section => XSH 2.2.2 2021-03-09 20:09 eblake Page Number => 477 2021-03-09 20:09 eblake Line Number => 16418 2021-03-09 20:09 eblake Interp Status => --- ======================================================================