XPG4(7) 맨 페이지 - 윈디하나의 솔라나라
|
svcadm(8)
을 검색하려면 섹션에서
8
을 선택하고, 맨 페이지 이름에
svcadm
을 입력하고 검색을 누른다.Standards, Environments, Macros, Character Sets, and miscellany standards(7) NAME standards, ANSI, C, C++, ISO, POSIX, POSIX.1, POSIX.2, SUS, SUSv2, SUSv3, SUSv4, SVID, SVID3, XNS, XNS4, XNS5, XPG, XPG3, XPG4, XPG4v2, XPG5, XPG6, XPG7 - standards and specifications supported by Oracle Solaris 11.4 DESCRIPTION Oracle Solaris 11.4 conforms to The Open Group's UNIX V7 Product Stan‐ dard which means it supports IEEE Std 1003.1-2008, commonly referred to as POSIX.1-2008, UNIX V7, XPG7 or SUSv4 (Single UNIX Specification, Version 4). Note that POSIX.1-2008 is simultaneously IEEE Std 1003.1-2008 and The Open Group Technical Standard Base Specifications, Version 7. Note that SUSv4 incorporates IEEE Std 1003.1-2008 and ISO/IEC 9945:2009 (Portable Operating System Interface (POSIX) Base Specifications, Issue 7). New code should be written using the UNIX V7 standard. See the last section of this man page for historical informa‐ tion about which release of SunOS or Oracle Solaris first conformed to a particular standard and what to expect when running code compiled on a previous version of Oracle Solaris. When using the Oracle Developer Studio 12.5 or 12.6 C compiler or the latest version of GCC or LLVM/Clang found in Oracle Solaris 11.4, Ora‐ cle Solaris 11.4 supports: o The ANSI X3.159-1989 Programming Language - C (C89) and ISO/IEC 9899:1990 Programming Language - C (C90) interfaces o ISO/IEC 9899:1990 Amendment 1:1995: C Integrity (C95) o ISO/IEC 9899:1999 Programming Languages - C (C99) o INCITS/ISO/IEC 9899:2011 Programming Languages - C (C11) See the documentation for each compiler to learn how to use the -std option to control which standard is followed when compiling C code. If a C++ compiler such as Oracle Developer Studio, Oracle Solaris Stu‐ dio, g++, or clang++ is installed, refer to its documentation for a discussion of which C++ standards are supported. With regard to networking, the XNS4 specification is safe for use only in ILP32 (32-bit) environments and should not be used for LP64 (64-bit) application environments. Use XNS5 or SUSv3 for LP64 (64-bit) applica‐ tion environments because they have LP64-clean interfaces that are por‐ table across ILP32 and LP64 environments. Oracle Solaris 11.4 supports both the ILP32 and LP64 environments. Future releases of Oracle Solaris may only support LP64 environments. Conformance A default Oracle Solaris installation might require additional steps in order to be fully SUSv4 compliant. Packages The XPG7 Conformance group package and Oracle Developer Studio must be installed. tab(); lw(3.67i) lw(1.83i) lw(3.67i) lw(1.83i) PackagePublisher _ pkg:/group/feature/xpg7solaris pkg:/developer/developerstudio-126/ccso‐ larisstudio File systems Typically, ZFS, the default root file system, is SUSv4 compliant. How‐ ever, ZFS does not meet compliance requirements in the following edge case conditions: o Updating ZFS file system capacity statistics. o Modifying or removing existing data with almost full file system. Applications that expect strict SUSv4 compliance must operate on UFS and would require setting up an UFS filesystem on a ZFS zvol device. Utilities If the behavior required by POSIX.1-2008 conflicts with historical Solaris utility behavior, the original Solaris version of the utility is unchanged and a standard-conforming version of the utility is pro‐ vided in /usr/xpg7/bin. See the end of this manual page for historical detail about prior standards versions. An application that wants to use POSIX.1-2008 standard-conforming util‐ ities must set the PATH (sh(1) or ksh(1)) or path (csh(1)) environment variable to specify the directories listed below in the order specified to get the appropriate utilities. See the end of this manual page for historical detail about specifying directories for past versions. POSIX.1-2008, SUSv4 1. /usr/xpg7/bin 2. /usr/xpg6/bin 3. /usr/xpg4/bin 4. /usr/bin 5. Directory containing binaries for your compiler 6. Other directories containing binaries needed by the application Once the PATH/path variable is set, the getconf command can be used to confirm the settings. When an application uses the execlp() function, execvp() function or execvpe() function to execute a shell file, or uses the system(3C) function, the shell used to interpret the shell file depends on the standard to which the calling program conforms. For more information, see the exec(2) man page. tab(); lw(2.58i) lw(2.92i) lw(2.58i) lw(2.92i) StandardShell Used _ POSIX.1-2008, SUSv4, XPG7/usr/xpg4/bin/sh No standard speci‐ fied/usr/bin/sh Feature Test Macros Feature test macros are used by applications to indicate additional sets of features that are desired beyond those specified by the C stan‐ dard. If an application uses only those interfaces and headers defined by a particular standard (such as POSIX or SUSv4), then it need only define the appropriate feature test macro specified by that standard. If the application is using interfaces and headers not defined by that standard, then in addition to defining the appropriate standard feature test macro, it must also define __EXTENSIONS__. Defining __EXTENSIONS__ provides the application with access to all interfaces and headers not in conflict with the specified standard. The application must define __EXTENSIONS__ either on the compile command line or within the appli‐ cation source files. POSIX. 1-2008 Applications that are intended to be conforming POSIX.1-2008 applica‐ tions must define the feature test macro _POSIX_C_SOURCE=200809L, before including any headers. Application writers must check the stan‐ dard for other macros that can be queried to determine if desired options are supported by the implementation. SUSv4 To build or compile an application that conforms to the SUSv4 specifi‐ cation, the application must define _XOPEN_SOURCE=700. Applications need not set the POSIX.1-2008 feature test macro if they require both SUS and POSIX functionality. 1989 ANSI C, 1990 ISO C, 1999 ISO C, 2011 ISO C No feature test macros need to be defined to indicate that an applica‐ tion is a conforming C application. ANSI/ISO C++ ANSI/ISO C++ does not define any feature test macros. If the standard C++ announcement macro __cplusplus, predefined by the compiler based on compiler defaults and command-line options, is set to a value of 199711 or greater, the compiler operates in a standard-conforming mode, indi‐ cating C++ standards conformance. Refer to the C++ compiler documenta‐ tion for an explanation of the values this macro can have and which versions of the C++ standard are supported. C++ bindings are not defined for POSIX or SUSv4, so specifying feature test macros such as _POSIX_SOURCE, _POSIX_C_SOURCE, and _XOPEN_SOURCE can result in compilation errors due to conflicting requirements of standard C++ and these specifications. Compilation with Oracle Developer Studio Compiler The Oracle Developer Studio 12.5 and 12.6 C Compilers provide the INCITS/ISO/IEC 9899:2011 (C11) standard-conforming compilation system by default. They also provide the ISO/IEC 9899:1999 (C99) standard-con‐ forming compilation system. If the compiler supports the redefine_extname pragma feature, the Ora‐ cle Developer Studio C Compiler and C++ Compiler define the macro __PRAGMA_REDEFINE_EXTNAME to indicate that they support this feature. If the previous condition is met, then the standard headers use #pragma redefine_extname directives to properly map function names onto library entry point names. This mapping provides full support for ISO C, POSIX, and X/Open namespace reservations. When using the Oracle Developer Studio 12.5 or 12.6 C Compiler, appli‐ cations conforming to POSIX.1-2008 should be compiled using the utili‐ ties and flags indicated in the following table: tab(); lw(1.83i) lw(1.83i) lw(1.83i) lw(1.83i) lw(1.83i) lw(1.83i) SpecificationCompiler/FlagsFeature Test Macros _ POSIX.1-2008c99_POSIX_C_SOURCE=200809L _ SUSv4c99_XOPEN_SOURCE=700 HISTORY History: POSIX Standards Oracle Solaris has a history of supporting IEEE Std 1003.1 and IEEE Std 1003.2, commonly known as POSIX.1 and POSIX.2, respectively. The fol‐ lowing table lists each version of these standards with a brief description and the SunOS or Solaris release that first conformed to it. tab(); lw(1.38i) lw(2.75i) lw(1.38i) lw(1.38i) lw(2.75i) lw(1.38i) POSIX StandardDescriptionRelease _ POSIX.1-1988system interfaces and headersSunOS 4.1 _ POSIX.1-1990POSIX.1-1988 updateSolaris 2.0 _ POSIX.1b-1993realtime extensionsSolaris 2.4 _ POSIX.1c-1996threads extensionsSolaris 2.6 _ POSIX.2-1992shell and utilitiesSolaris 2.5 _ POSIX.2a-1992interactive shell and utilitiesSolaris 2.5 _ POSIX.1-2001T{ POSIX.1-1990, POSIX.1b-1993, POSIX.1c-1996, POSIX.2-1992, and POSIX.2a-1992 updates T}Solaris 10 _ POSIX.1-2004POSIX.1-2001 updateOracle Solaris 11 _ POSIX.1-2008POSIX.1-2004 updateOracle Solaris 11.4 History: X/Open and The Open Group Standards Oracle Solaris also has a history of supporting the X/Open Common Applications Environment (CAE) Portability Guide Issue 3 (XPG3) and Issue 4 (XPG4); Single UNIX Specification (SUS, also known as XPG4v2); Single UNIX Specification, Version 2 (SUSv2); Single UNIX Specifica‐ tion, Version 3 (SUSv3); and Single UNIX Specification, Version 4 (SUSv4). Both XPG4 and SUS include Networking Services Issue 4 (XNS4). SUSv2 includes Networking Services Issue 5 (XNS5). The following table lists each X/Open specification with a brief description and the SunOS or Solaris release that first conformed to it. tab(); lw(1.22i) lw(3.06i) lw(1.22i) lw(1.22i) lw(3.06i) lw(1.22i) SpecificationDescriptionRelease _ XPG3T{ superset of POSIX.1-1988 con‐ taining utilities from SVID3 T}SunOS 4.1 _ XPG4T{ superset of POSIX.1-1990, POSIX.2-1992, and POSIX.2a-1992 containing extensions to POSIX standards from XPG3 T}Solaris 2.4 _ SUS (XPG4v2)T{ superset of XPG4 containing historical BSD interfaces widely used by common appli‐ cation packages T}Solaris 2.6 _ XNS4sockets and XTI interfacesSolaris 2.6 _ SUSv2T{ superset of SUS extended to support POSIX.1b-1993, POSIX.1c-1996, and ISO/IEC 9899 (C Standard) Amendment 1 T}Solaris 7 _ XNS5T{ superset and LP64-clean derivative of XNS4 T}Solaris 7 _ SUSv3 (XPG6)same as POSIX.1-2001Solaris 10 _ SUSv4 (XPG7)same as POSIX.1-2008Solaris 11.4 History: Other Solaris releases 7 through Oracle Solaris 11.4 support both the ILP32 and LP64 environments. Future releases of Oracle Solaris may only sup‐ port LP64 environments. Solaris releases 2.0 through Oracle Solaris 11.4 support the interfaces specified by the System V Interface Definition, Third Edition, Volumes 1 through 4 (SVID3). Note that, since the developers of this specifica‐ tion (UNIX Systems Laboratories) are no longer in business and since this specification defers to POSIX and X/Open CAE specifications, there is some disagreement about what is currently required for conformance to this specification. Solaris releases 7 through 10 were branded to conform to The Open Group's UNIX 98 Product Standard. Solaris 10 through Oracle Solaris 11 were branded to conform to The Open Group's UNIX 03 Product Standard. History: Utilities If the behavior required by POSIX.2, POSIX.2a, XPG4, SUS, or SUSv2 con‐ flicted with historical Solaris utility behavior, the original Solaris version of the utility was unchanged and a standard-conforming version of the utility was provided in /usr/xpg4/bin. If the behavior required by POSIX.1-2001 or SUSv3 conflicted with historical Solaris utility behavior, a standard conforming version was provided in /usr/xpg4/bin or in /usr/xpg6/bin. If the behavior required by POSIX.1-2001 or SUSv3 conflicts with POSIX.2, POSIX.2a, SUS, or SUSv2, a standard conforming version was provided in /usr/xpg6/bin. An application that wants to use standard-conforming utilities must set the PATH (sh(1) or ksh(1)) or path (csh(1)) environment variable to specify the directories listed below in the order specified to get the appropriate utilities: SVID3, XPG3 1. /usr/bin 2. Directory containing binaries for your compiler 3. Other directories containing binaries needed by the application POSIX.2, POSIX.2a, SUS, SUSv2, XPG4 1. /usr/xpg4/bin 2. /usr/bin 3. Directory containing binaries for your compiler 4. Other directories containing binaries needed by the application POSIX.1-2001, SUSv3, XPG6 1. /usr/xpg6/bin 2. /usr/xpg4/bin 3. /usr/bin 4. Directory containing binaries for your compiler 5. Other directories containing binaries needed by the application When an application uses the execlp() function or execvp() function to execute a shell file, or uses the system(3C) function, the shell used to interpret the shell file depends on the standard to which the call‐ ing program conforms. For more information, see the exec(2) man page. tab(); lw(4.13i) lw(1.38i) lw(4.13i) lw(1.38i) StandardShell Used _ T{ POSIX.1 (1990-2008), SUS, SUSv2, SUSv3, SUSv4, XPG4, XPG5, XPG6 T}/usr/xpg4/bin/sh _ POSIX.1 (1988), SVID3, XPG3/usr/bin/sh History: Feature Test Macros As noted above, feature test macros are used by applications to indi‐ cate additional sets of features that are desired beyond those speci‐ fied by the C standard. The following sections outline historical information about POSIX versions prior to POSIX.1-2008, X/Open CAE prior to SUSv4, and SVID3. POSIX The following table lists the feature test macros for prior versions of POSIX: tab(); cw(1.38i) cw(4.13i) lw(1.38i) lw(4.13i) POSIX StandardFeature Test Macros _ POSIX.1-1990_POSIX_SOURCE _ T{ POSIX.1-1990 and POSIX.2-1992 C-Language Bindings Option T}_POSIX_SOURCE and _POSIX_C_SOURCE=2 _ POSIX.1b-1993_POSIX_C_SOURCE=199309L _ POSIX.1c-1996_POSIX_C_SOURCE=199506L _ POSIX.1-2001_POSIX_C_SOURCE=200112L X/Open CAE The following table lists the guidelines for prior versions of X/Open CAE specifications: tab(); lw(1.38i) lw(4.13i) lw(1.38i) lw(4.13i) SpecificationInstruc‐ tions _ XPG3T{ The application must define _XOPEN_SOURCE. If _XOPEN_SOURCE is defined with a value, the value must be less than 500. T} _ XPG4T{ The application must define _XOPEN_SOURCE and set _XOPEN_VERSION=4. If _XOPEN_SOURCE is defined with a value, the value must be less than 500. T} _ SUS (XPG4v2)T{ The application must define _XOPEN_SOURCE and set _XOPEN_SOURCE_EXTENDED=1. If _XOPEN_SOURCE is defined with a value, the value must be less than 500. T} _ SUSv2T{ The application must define _XOPEN_SOURCE=500. T} _ SUSv3T{ The appli‐ cation must define _XOPEN_SOURCE=600. T} SVID3 The SVID3 specification does not specify any feature test macros to indicate that an application is written to meet SVID3 requirements. The SVID3 specification was written before the C standard was completed. SEE ALSO csh(1), ksh(1), sh(1), exec(2), sysconf(3C), system(3C), environ(7), lf64(7) Oracle Solaris 11.4 28 Jan 2019 standards(7)맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3 |
Copyright © 2004-2024 Jo HoSeok. All rights reserved. |