Conformance Statement

Product Standard: PSE54 Multipurpose Realtime 1003.13-2003 System

[Note to submitter: This form contains a series of questions that need to be answered. Please complete all the fields in the questionnaire below to produce a conformance statement for your product. This should be submitted as part of product registration within the web certification system. See the Guide to POSIX Certification for more information. Please note that this conformance statement will appear on the public register of certified products.]

Enter the name of the Organization that produced the implementation and the name of the author of the Conformance Statement.

Organization Enter_Organization_Name
Author Enter_Author_Name

Enter the precise hardware/software environment(s) tested and test suite and version number. If Product Family Certification then two testing environments should be entered below.

Testing Environment Indicator of Compliance Details
Enter_Testing_Environment
Test Suite Name: Enter_Test_Suite_Name
 
Test Suite Version: Enter_Test Suite_Version

1. PSE54 Multipurpose Realtime 1003.13-2003 System

Product Information

Enter the product name, version/release number, and product supplier for each product required to meet the conformance requirements. If more than one product is required, please list the additional products, and extend the table if necessary.

Product Identification Version/Release Number Product Supplier
Enter_Product_Identification Enter_Version_or_Release_Number Enter_Product_Supplier_Name

Environment Specification

Product registration applies to software products operating in a specific hardware or hardware/software environment.
A product may be registered either as a single product, known as Platform Specific Certification, or as a family of binary-compatible products, known as Product Family Certification.

Enter the level of Certification, either "Platform Specific Certification" or "Product Family Certification". If Product Family Certification then enter a full description below of the binary-compatible family

Level of Certification Binary-compatible Family
Enter_Certification_Level

1. POSIX Conformance Document

Question PCD-1: How can a copy of the POSIX Conformance Document for this product be obtained?

Response

Provide a description of how the POSIX Conformance Document for this product can be obtained.



Rationale

Implementations claiming conformance to IEEE Std 1003.13-2003 are required to create a conformance document or to cite a reference to an existing conformance document for IEEE Std 1003.1.

Reference

IEEE Std 1003.1, 2003 Edition, Base Definitions Volume, Issue 6, Section 2.1 Implementation Conformance, Section 2.1.2 Documentation.

IEEE Std 1003.13-2003, Section 5: Conformance.


2. System Interfaces

2.1 System Interfaces, General Attributes

2.1.1 System Interfaces, Supported Features

Question SI-1: Are the required features below supported for all system configurations?

Response

Where indicated in the following table, enter one of the options given (either "Yes" or "Variable"). Enter "Variable" if there are system dependent or file_system dependent configuration procedures that can remove or modify any or all of these features.

Macro Name Meaning Provided
_POSIX_CHOWN_RESTRICTED The use of chown() is restricted to a process with appropriate privileges, and to changing the group ID of a file only to the effective group ID of the process or one of its supplementary group IDs. Enter_Yes_or_Variable
_POSIX_NO_TRUNC Pathname components longer than {NAME_MAX) generate an error. Enter_Yes_or_Variable
If one of the above is Variable, describe in the area below the manner in which variations occur.



Rationale

Although all implementations conforming to IEEE Std 1003.1-2001 support the features described above, there may be system-dependent or file system-dependent configuration procedures that can remove or modify any or all of these features. Such configurations should not be made if strict compliance is required.

Reference

IEEE Std 1003.1, 2003 Edition, Section 2.1.3, POSIX Conformance.


2.1.2 System Interfaces, Optional Features

Question SI-2: Which of the following options does the system claim support for?

Response

Where indicated in the following table, enter one of the options given (either "Yes" or "No").

Macro Name Meaning Provided
_POSIX_BARRIERS Implementation supports the barriers option. Enter_Yes_or_No
_POSIX_IPV6 Implementation supports the IPV6 option. Enter_Yes_or_No
_POSIX_RAW_SOCKETS Implementation supports the raw sockets option. Enter_Yes_or_No
_POSIX_SPIN_LOCKS Implementation supports the spin locks option. Enter_Yes_or_No
_POSIX_TRACE Implementation supports the trace option. Enter_Yes_or_No
_POSIX_TRACE_EVENT_FILTER Implementation supports the trace event filter option. Enter_Yes_or_No
_POSIX_TRACE_INHERIT Implementation supports the trace inherit option. Enter_Yes_or_No
_POSIX_TRACE_LOG Implementation supports the trace log option. Enter_Yes_or_No

Rationale

It is optional whether an implementation claims support for the features associated with these options. This is useful information for procurers and application writers.

Reference

PSE54 Multipurpose Realtime 1003.13-2003 System Product Standard.


2.1.3 Float, Stdio, and Limit Values

Question SI-3: What are the values associated with the following constants specified in the <float.h> header file?

Response

Macro Name Meaning Value
FLT_RADIX Radix of the exponent representation. Enter_a_value
FLT_MANT_DIG Number of base-FLT_RADIX digits in the float significand. Enter_a_value
DBL_MANT_DIG Number of base-FLT_RADIX digits in the double significand. Enter_a_value
LDBL_MANT_DIG Number of base-FLT_RADIX digits in the long double significand. Enter_a_value
FLT_DIG Number of decimal digits, q, such that any floating-point number with q digits can be rounded into a float representation and back again without change to the q digits. Enter_a_value
DBL_DIG Number of decimal digits, q, such that any floating-point number with q digits can be rounded into a double representation and back again without change to the q digits. Enter_a_value
LDBL_DIG Number of decimal digits, q, such that any floating-point number with q digits can be rounded into a long double representation and back again without change to the q digits. Enter_a_value
FLT_MIN_EXP Minimum negative integer such that FLT_RADIX raised to that power minus 1 is a normalised float. Enter_a_value
DBL_MIN_EXP Minimum negative integer such that FLT_RADIX raised to that power minus 1 is a normalised double. Enter_a_value
LDBL_MIN_EXP Minimum negative integer such that FLT_RADIX raised to that power minus 1 is a normalised long double. Enter_a_value
FLT_MIN_10_EXP Minimum negative integer such that 10 raised to that power is in the range of normalised floats. Enter_a_value
DBL_MIN_10_EXP Minimum negative integer such that 10 raised to that power is in the range of normalised doubles. Enter_a_value
LDBL_MIN_10_EXP Minimum negative integer such that 10 raised to that power is in the range of normalised long doubles. Enter_a_value
FLT_MAX_EXP Maximum integer such that FLT_RADIX raised to that power minus 1 is a representable finite float. Enter_a_value
DBL_MAX_EXP Maximum integer such that FLT_RADIX raised to that power minus 1 is a representable finite double. Enter_a_value
LDBL_MAX_EXP Maximum integer such that FLT_RADIX raised to that power minus 1 is a representable finite long double. Enter_a_value
FLT_MAX_10_EXP Maximum integer such that 10 raised to that power is in the range of representable finite floats. Enter_a_value
DBL_MAX_10_EXP Maximum integer such that 10 raised to that power is in the range of representable finite doubles. Enter_a_value
LDBL_MAX_10_EXP Maximum integer such that 10 raised to that power is in the range of representable finite long doubles. Enter_a_value
FLT_MAX Maximum representable finite float. Enter_a_value
DBL_MAX Maximum representable finite double. Enter_a_value
LDBL_MAX Maximum representable finite long double. Enter_a_value
FLT_EPSILON Difference between 1.0 and the least value greater than 1.0 that is representable as a float. Enter_a_value
DBL_EPSILON Difference between 1.0 and the least value greater than 1.0 that is representable as a double. Enter_a_value
LDBL_EPSILON Difference between 1.0 and the least value greater than 1.0 that is representable as a long double. Enter_a_value
FLT_MIN Minimum normalised positive float. Enter_a_value
DBL_MIN Minimum normalised positive double. Enter_a_value
LDBL_MIN Minimum normalised positive long double. Enter_a_value

Rationale

This set of constants provides useful information regarding the underlying architecture of the implementation.

Reference

IEEE Std 1003.1, 2003 Edition, The Base Definitions Volume, Chapter 13, Headers, <float.h>.


Question SI-4: What are the values associated with the following constants (optionally specified in the <limits.h> header file)?

Response

For the lines in the table below, add the minimum and maximum values for your implementation. This value may be stated to be "Unlimited" if your implementation does not impose a limit. The minimum should be the smallest value that is returned from sysconf() or pathconf(), or as defined in <limits.h>. The maximum value should be the largest value that is returned from sysconf() or pathconf().

Macro Name Meaning Minimum Maximum
AIO_LISTIO_MAX Maximum number of I/O operations in a single list I/O call supported by the implementation. Enter_minimum Enter_maximum
AIO_MAX Maximum number of outstanding asynchronous I/O operations supported by the implementation. Enter_minimum Enter_maximum
AIO_PRIO_DELTA_MAX The maximum amount by which a process can decrease its asynchronous I/O priority level from its own scheduling priority. Enter_minimum Enter_maximum
ARG_MAX Maximum length of argument to the exec functions including the environment data. Enter_minimum Enter_maximum
CHILD_MAX Maximum number of processes per user ID. Enter_minimum Enter_maximum
DELAYTIMER_MAX Maximum number of timer expiration overruns. Enter_minimum Enter_maximum
FILESIZEBITS Minimum number of bits needed to represent as a signed integer value the maximum size of a regular file. Enter_minimum Enter_maximum
HOST_NAME_MAX Maximum length of a host name as returned from gethostname(). Enter_minimum Enter_maximum
LINK_MAX Maximum number of links to a single file. Enter_minimum Enter_maximum
LOGIN_NAME_MAX Maximum length of a login name. Enter_minimum Enter_maximum
MAX_CANON Maximum number of bytes in a terminal canonical input line. Enter_minimum Enter_maximum
MAX_INPUT Maximum number of bytes for which space will be available in a terminal input queue. Enter_minimum Enter_maximum
MQ_OPEN_MAX The maximum number of open message queue descriptors a process may hold. Enter_minimum Enter_maximum
MQ_PRIO_MAX The maximum number of message priorities supported by the implementation. Enter_minimum Enter_maximum
NAME_MAX Maximum number of bytes in a filename (not including terminating null). Enter_minimum Enter_maximum
OPEN_MAX Maximum number of open files that one process can have open at any one time. Enter_minimum Enter_maximum
PAGESIZE Size of a page in bytes. Enter_minimum Enter_maximum
PATH_MAX Maximum number of bytes in a pathname (including the terminating null). Enter_minimum Enter_maximum
PIPE_BUF Maximum number of bytes that is guaranteed to be atomic when writing to a pipe. Enter_minimum Enter_maximum
PTHREAD_DESTRUCTOR_ITERATIONS Maximum number of attempts made to destroy a thread's thread-specific data values on thread exit. Enter_minimum Enter_maximum
PTHREAD_KEYS_MAX Maximum number of data keys that can be created by a process. Enter_minimum Enter_maximum
PTHREAD_STACK_MIN Minimum size in bytes of thread stack storage. Enter_minimum Enter_maximum
PTHREAD_THREADS_MAX Maximum number of threads that can be created per process. Enter_minimum Enter_maximum
RTSIG_MAX Maximum number of realtime signals reserved for application use in this implementation. Enter_minimum Enter_maximum
SEM_NSEMS_MAX Maximum number of semaphores that a process may have. Enter_minimum Enter_maximum
SEM_VALUE_MAX The maximum value a semaphore may have. Enter_minimum Enter_maximum
SIGQUEUE_MAX Maximum number of queued signals that a process may send and have pending at the receiver(s) at any time. Enter_minimum Enter_maximum
SS_REPL_MAX The maximum number of replenishment operations that may be simultaneously pending for a particular sporadic server scheduler. Enter_minimum Enter_maximum
STREAM_MAX Number of streams that one process can have open at one time. Enter_minimum Enter_maximum
SYMLINK_MAX Number of bytes in a symbolic link. Enter_minimum Enter_maximum
SYMLOOP_MAX Number of symbolic links that can be reliably traversed in the resolution of a pathname in the absence of a loop. Enter_minimum Enter_maximum
TIMER_MAX Maximum number of timers per process supported by the implementation. Enter_minimum Enter_maximum
TRACE_EVENT_NAME_MAX Maximum length of the trace event name. Enter_minimum Enter_maximum
TRACE_NAME_MAX Maximum length of the trace generation version string or of the trace stream name. Enter_minimum Enter_maximum
TRACE_SYS_MAX Maximum number of trace streams that may simultaneously exist in the system. Enter_minimum Enter_maximum
TRACE_USER_EVENT_MAX Maximum number of user trace event type identifiers that may simultaneously exist in a traced process, including the predefined user trace event POSIX_TRACE_UNNAMED_USER_EVENT. Enter_minimum Enter_maximum
TTY_NAME_MAX Maximum length of terminal device name. Enter_minimum Enter_maximum
TZNAME_MAX Maximum number of bytes supported for the name of a time zone. Enter_minimum Enter_maximum

Rationale

Each of these limits can vary within bounds set by the Base Definitions Volume. Except as noted below the minimum permitted value is specified in Chapter 13, <limits.h>.

IEEE Std 1003.13-2003 Chapter 9 states that the value of TIMER_MAX shall be at least 64, and the value of RTSIG_MAX shall be at least 16.

Reference

IEEE Std 1003.1, 2003 Edition, The Base Definitions Volume, Chapter 13, Headers, <limits.h>.

IEEE Std 1003.13, 2003 Edition, Section 9, Multi-Purpose Realtime System Profile (PSE54).


Question SI-5: What are the values associated with the following constant specified in the <limits.h> header file?

Response

For the line in the table below, add the minimum and maximum values for your implementation. This value may be stated to be "Unlimited" if your implementation does not impose a limit. The minimum should be the smallest value that is returned from sysconf(), or as defined in <limits.h>. The maximum value should be the largest value that is returned from sysconf().

Macro Name Meaning Minimum Maximum
NGROUPS_MAX Maximum number of simultaneous supplementary group IDs per process. Enter_minimum Enter_maximum

Rationale

This limit can vary within bounds set by the Base Definitions Volume. The minimum value that a limit can take on any conforming system is given in the corresponding _POSIX_ value. A specific conforming implementation may provide a higher minimum value than this and the maximum value that it provides can differ from the minimum. Some conforming implementations may provide a potentially infinite value as the maximum, in which case the value is considered to be indeterminate. The minimum value must always be definitive since the _POSIX_ value provides a known lower bound for the range of possible values.

Reference

IEEE Std 1003.1, 2003 Edition, The Base Definitions Volume, Chapter 13, Headers, <limits.h>.


Question SI-6: What are the values associated with the following numerical constants specified in the <limits.h> header file?

Response

Macro Name Meaning Value
CHAR_MAX Maximum value of a char. Enter_value
INT_MAX Maximum value of an int. Enter_value
LONG_MAX Maximum value of a long int. Enter_value
LLONG_MAX Maximum value of a long long. Enter_value
MB_LEN_MAX Maximum number of bytes in a character, for any supported locale. Enter_value
SHRT_MAX Maximum value of a short. Enter_value
SSIZE_MAX Maximum value of an object of type ssize_t. Enter_value
UINT_MAX Maximum value of an unsigned int. Enter_value
ULONG_MAX Maximum value of an unsigned long int. Enter_value
ULLONG_MAX Maximum value of a unigsned long long. Enter_value
USHRT_MAX Maximum value of an unsigned short int. Enter_value

Rationale

This set of constants provides useful information regarding the underlying architecture of the implementation.

Reference

IEEE Std 1003.1, 2003 Edition, The Base Definitions Volume, Chapter 13, Headers, <limits.h>.


Question SI-7: What are the values associated with the following numerical constants specified in the <stdio.h> header file?

Response

Macro Name Meaning Value
FILENAME_MAX Maximum size in bytes of the longest filename string that the implementation guarantees can be opened. Enter_value
FOPEN_MAX Number of streams which the implementation guarantees can be open simultaneously. Enter_value
L_ctermid Maximum size of character array to hold ctermid() output. Enter_value
L_tmpnam Maximum size of character array to hold tmpnam() output. Enter_value
TMP_MAX Minimum number of unique filenames generated by tmpnam(), which is the maximum number of times an application can call tmpnam() reliably. Enter_value

Rationale

This set of constants provides useful information about the implementation.

Reference

IEEE Std 1003.1, 2003 Edition, The Base Definitions Volume, Chapter 13, Headers, <stdio.h>.


2.1.4 Error Conditions

Question SI-8: Which of the following option errors, ( denoted by "may fail" within the specification ), listed in the System Interfaces Volume are detected in the circumstances specified?

Response

Enter Yes or No. For functions marked with an asterix, there are additional family members with the suffices, f and l. If the error handling is different for those please add details in the Appendix at the end of this questionnaire.

Function Error Detected
accept() EINVAL Enter_Yes_or_No
ENOMEM Enter_Yes_or_No
access() EINVAL Enter_Yes_or_No
ENAMETOOLONG Enter_Yes_or_No
ETXTBSY Enter_Yes_or_No
aio_error() EINVAL Enter_Yes_or_No
aio_return() EINVAL Enter_Yes_or_No
cfsetispeed() EINVAL Enter_Yes_or_No
cfsetospeed() EINVAL Enter_Yes_or_No
chdir() ENAMETOOLONG Enter_Yes_or_No
ELOOP Enter_Yes_or_No
chmod() EINTR Enter_Yes_or_No
EINVAL Enter_Yes_or_No
ELOOP Enter_Yes_or_No
ENAMETOOLONG Enter_Yes_or_No
chown() EINTR Enter_Yes_or_No
EINVAL Enter_Yes_or_No
EIO Enter_Yes_or_No
ELOOP Enter_Yes_or_No
ENAMETOOLONG Enter_Yes_or_No
clock_getcpuclockid() ESRCH Enter_Yes_or_No
clock_settime() EPERM Enter_Yes_or_No
close() EIO Enter_Yes_or_No
closedir() EBADF Enter_Yes_or_No
EINTR Enter_Yes_or_No
connect() EACCESS Enter_Yes_or_No
EADDRINUSE Enter_Yes_or_No
ECONNRESET Enter_Yes_or_No
EHOSTUNREACH Enter_Yes_or_No
EINVAL Enter_Yes_or_No
ELOOP Enter_Yes_or_No
ENAMETOOLONG Enter_Yes_or_No
ENETDOWN Enter_Yes_or_No
ENOBUFS Enter_Yes_or_No
EOPNOTSUP Enter_Yes_or_No
erfc() * Range Error Enter_Yes_or_No
exec ELOOP Enter_Yes_or_No
ENAMETOOLONG Enter_Yes_or_No
ENOMEM Enter_Yes_or_No
ETXTBSY Enter_Yes_or_No
exp() * Range Error Enter_Yes_or_No
exp2() * Range Error Enter_Yes_or_No
expm1() * Range Error Enter_Yes_or_No
fchdir() EINTR Enter_Yes_or_No
EIO Enter_Yes_or_No
fchmod() EINVAL Enter_Yes_or_No
fchown() EINVAL Enter_Yes_or_No
EIO Enter_Yes_or_No
EINTR Enter_Yes_or_No
fclose() ENXIO Enter_Yes_or_No
fcntl() EDEADLK Enter_Yes_or_No
fdim() * Range Error Enter_Yes_or_No
fdopen() EBADF Enter_Yes_or_No
EINVAL Enter_Yes_or_No
EMFILE Enter_Yes_or_No
ENOMEM Enter_Yes_or_No
fflush() ENXIO Enter_Yes_or_No
fgetc() ENOMEM Enter_Yes_or_No
ENXIO Enter_Yes_or_No
fgetpos() EBADF Enter_Yes_or_No
ESPIPE Enter_Yes_or_No
fgetwc() ENOMEM Enter_Yes_or_No
ENXIO Enter_Yes_or_No
fileno() EBADF Enter_Yes_or_No
fmod() * Range Error Enter_Yes_or_No
fopen() EINVAL Enter_Yes_or_No
ELOOP Enter_Yes_or_No
EMFILE Enter_Yes_or_No
ENAMETOOLONG Enter_Yes_or_No
ENOMEN Enter_Yes_or_No
ETXTBSY Enter_Yes_or_No
fork() ENOMEM Enter_Yes_or_No
fpathconf() EBADF Enter_Yes_or_No
EINVAL Enter_Yes_or_No
fputc() ENOMEM Enter_Yes_or_No
ENXIO Enter_Yes_or_No
fputwc() ENOMEM Enter_Yes_or_No
ENXIO Enter_Yes_or_No
fread() ENOMEM Enter_Yes_or_No
ENXIO Enter_Yes_or_No
freopen() EINVAL Enter_Yes_or_No
ELOOP Enter_Yes_or_No
ENAMETOOLONG Enter_Yes_or_No
ENOMEM Enter_Yes_or_No
ENXIO Enter_Yes_or_No
ETXTBSY Enter_Yes_or_No
fscanf() ENOMEM Enter_Yes_or_No
ENXIO Enter_Yes_or_No
fstat() EOVERFLOW Enter_Yes_or_No
ftell() ESPIPE Enter_Yes_or_No
fwide() EBADF Enter_Yes_or_No
fwprintf() ENOMEM Enter_Yes_or_No
ENXIO Enter_Yes_or_No
fwscanf() ENOMEM Enter_Yes_or_No
ENXIO Enter_Yes_or_No
getcwd() EACCES Enter_Yes_or_No
ENOMEM Enter_Yes_or_No
getgrgid() EIO Enter_Yes_or_No
EINTR Enter_Yes_or_No
EMFILE Enter_Yes_or_No
ENFILE Enter_Yes_or_No
getgrgid_r() ERANGE Enter_Yes_or_No
getgrnam() EIO Enter_Yes_or_No
EINTR Enter_Yes_or_No
EMFILE Enter_Yes_or_No
ENFILE Enter_Yes_or_No
getgrnam_r() ERANGE Enter_Yes_or_No
getlogin() EMFILE Enter_Yes_or_No
ENFILE Enter_Yes_or_No
ENXIO Enter_Yes_or_No
getlogin_r() ERANGE Enter_Yes_or_No
getpeername() ENOBUFS Enter_Yes_or_No
getpwnam() EIO Enter_Yes_or_No
EINTR Enter_Yes_or_No
EMFILE Enter_Yes_or_No
ENFILE Enter_Yes_or_No
getpwnam_r() ERANGE Enter_Yes_or_No
getpwuid() EIO Enter_Yes_or_No
EINTR Enter_Yes_or_No
EMFILE Enter_Yes_or_No
ENFILE Enter_Yes_or_No
getpwuid_r() ERANGE Enter_Yes_or_No
getsockname() EINVAL Enter_Yes_or_No
ENOBUFS Enter_Yes_or_No
getsockopt() EACCESS Enter_Yes_or_No
EINVAL Enter_Yes_or_No
ENOBUFS Enter_Yes_or_No
if_nameindex() ENOBUFS Enter_Yes_or_No
isatty() EBADF Enter_Yes_or_No
ENOTTY Enter_Yes_or_No
ldexp() * Range Error Enter_Yes_or_No
link() ELOOP Enter_Yes_or_No
ENAMETOOLONG Enter_Yes_or_No
lstat() ELOOP Enter_Yes_or_No
ENAMETOOLONG Enter_Yes_or_No
EOVERFLOW Enter_Yes_or_No
mbrlen() EINVAL Enter_Yes_or_No
EILSEQ Enter_Yes_or_No
mbrtowc() EINVAL Enter_Yes_or_No
EILSEQ Enter_Yes_or_No
mbsrtowcs() EINVAL Enter_Yes_or_No
EILSEQ Enter_Yes_or_No
mbstowcs() EILSEQ Enter_Yes_or_No
mkdir() ELOOP Enter_Yes_or_No
ENAMETOOLONG Enter_Yes_or_No
mkfifo() ELOOP Enter_Yes_or_No
ENAMETOOLONG Enter_Yes_or_No
mktime() EOVERFLOW Enter_Yes_or_No
mlock() EINVAL Enter_Yes_or_No
ENOMEM Enter_Yes_or_No
munlock() EINVAL Enter_Yes_or_No
mlockall() ENOMEM Enter_Yes_or_No
ENOPERM Enter_Yes_or_No
mq_getattr() EBADF Enter_Yes_or_No
mq_receive() EBADF Enter_Yes_or_No
mq_timedreceive() EBADF Enter_Yes_or_No
open() EAGAIN Enter_Yes_or_No
EINVAL Enter_Yes_or_No
ELOOP Enter_Yes_or_No
ENAMETOOLONG Enter_Yes_or_No
ETXTBSY Enter_Yes_or_No
opendir() ELOOP Enter_Yes_or_No
EMFILE Enter_Yes_or_No
ENAMETOOLONG Enter_Yes_or_No
ENFILE Enter_Yes_or_No
pathconf() EACCES Enter_Yes_or_No
EINVAL Enter_Yes_or_No
ELOOP Enter_Yes_or_No
ENAMETOOLONG Enter_Yes_or_No
ENOENT Enter_Yes_or_No
ENOTDIR Enter_Yes_or_No
popen() EMFILE Enter_Yes_or_No
EINVAL Enter_Yes_or_No
posix_madvise() EINVAL Enter_Yes_or_No
posix_spawn() EINVAL Enter_Yes_or_No
posix_spawnp() EINVAL Enter_Yes_or_No
posix_spawn_file_actions_addclose() EINVAL Enter_Yes_or_No
ENOMEM Enter_Yes_or_No
posix_spawn_file_actions_addopen() EINVAL Enter_Yes_or_No
ENOMEM Enter_Yes_or_No
posix_spawn_file_actions_adddup2() EINVAL Enter_Yes_or_No
posix_spawn_file_actions_destroy() EINVAL Enter_Yes_or_No
posix_spawnattr_destroy() EINVAL Enter_Yes_or_No
posix_spawnattr_getflags() EINVAL Enter_Yes_or_No
posix_spawnattr_setflags() EINVAL Enter_Yes_or_No
posix_spawnattr_getpgroup() EINVAL Enter_Yes_or_No
posix_spawnattr_setpgroup() EINVAL Enter_Yes_or_No
posix_spawnattr_getschedparam() EINVAL Enter_Yes_or_No
posix_spawnattr_setschedparam() EINVAL Enter_Yes_or_No
posix_spawnattr_getschedpolicy() EINVAL Enter_Yes_or_No
posix_spawnattr_setschedpolicy() EINVAL Enter_Yes_or_No
posix_spawnattr_getsigdefault() EINVAL Enter_Yes_or_No
posix_spawnattr_setsigdefault() EINVAL Enter_Yes_or_No
posix_spawnattr_getsigmask() EINVAL Enter_Yes_or_No
posix_spawnattr_setsigmask() EINVAL Enter_Yes_or_No
posix_trace_attr_destroy() EINVAL Enter_Yes_or_No
posix_trace_attr_getclockres() EINVAL Enter_Yes_or_No
posix_trace_attr_getcreatetime() EINVAL Enter_Yes_or_No
posix_trace_attr_getgenversion() EINVAL Enter_Yes_or_No
posix_trace_attr_getname() EINVAL Enter_Yes_or_No
posix_trace_attr_getinherited() EINVAL Enter_Yes_or_No
posix_trace_attr_getlogfullpolicy() EINVAL Enter_Yes_or_No
posix_trace_attr_getstreamfullpolicy() EINVAL Enter_Yes_or_No
posix_trace_attr_setinherited() EINVAL Enter_Yes_or_No
posix_trace_attr_setlogfullpolicy() EINVAL Enter_Yes_or_No
posix_trace_attr_setstreamfullpolicy() EINVAL Enter_Yes_or_No
posix_trace_attr_getlogsize() EINVAL Enter_Yes_or_No
posix_trace_attr_getmaxdatasize() EINVAL Enter_Yes_or_No
posix_trace_attr_getmaxsystemeventsize() EINVAL Enter_Yes_or_No
posix_trace_attr_getmaxusereventsize() EINVAL Enter_Yes_or_No
posix_trace_attr_getstreamsize() EINVAL Enter_Yes_or_No
posix_trace_attr_setlogsize() EINVAL Enter_Yes_or_No
posix_trace_attr_setstreamsize() EINVAL Enter_Yes_or_No
posix_trace_close() EINVAL Enter_Yes_or_No
posix_trace_rewind() EINVAL Enter_Yes_or_No
posix_trace_eventset_add() EINVAL Enter_Yes_or_No
posix_trace_eventset_del() EINVAL Enter_Yes_or_No
posix_trace_eventset_empty() EINVAL Enter_Yes_or_No
posix_trace_eventset_fill() EINVAL Enter_Yes_or_No
posix_trace_eventset_ismember() EINVAL Enter_Yes_or_No
pow() * Range Error Enter_Yes_or_No
pthread_attr_destroy() EINVAL Enter_Yes_or_No
pthread_attr_init() EBUSY Enter_Yes_or_No
pthread_attr_getdetachstate() EINVAL Enter_Yes_or_No
pthread_attr_setdetachstate() EINVAL Enter_Yes_or_No
pthread_attr_getguardsize() EINVAL Enter_Yes_or_No
pthread_attr_setguardsize() EINVAL Enter_Yes_or_No
pthread_attr_getinheritsched() EINVAL Enter_Yes_or_No
pthread_attr_setinheritsched() EINVAL Enter_Yes_or_No
ENOSUP Enter_Yes_or_No
pthread_attr_getschedparam() EINVAL Enter_Yes_or_No
pthread_attr_setschedparam() EINVAL Enter_Yes_or_No
ENOSUP Enter_Yes_or_No
pthread_attr_getschedpolicy() EINVAL Enter_Yes_or_No
pthread_attr_setschedpolicy() EINVAL Enter_Yes_or_No
ENOSUP Enter_Yes_or_No
pthread_attr_getscope() EINVAL Enter_Yes_or_No
pthread_attr_setscope() EINVAL Enter_Yes_or_No
ENOSUP Enter_Yes_or_No
pthread_attr_getstack() EINVAL Enter_Yes_or_No
pthread_attr_setstack() EINVAL Enter_Yes_or_No
EBUSY Enter_Yes_or_No
pthread_attr_getstackaddr() EINVAL Enter_Yes_or_No
pthread_attr_setstackaddr() EINVAL Enter_Yes_or_No
pthread_attr_getstacksize() EINVAL Enter_Yes_or_No
pthread_attr_setstacksize() EINVAL Enter_Yes_or_No
pthread_cancel() ESRCH Enter_Yes_or_No
pthread_cond_broadcast() EINVAL Enter_Yes_or_No
pthread_cond_signal() EINVAL Enter_Yes_or_No
pthread_cond_destroy() EBUSY Enter_Yes_or_No
EINVAL Enter_Yes_or_No
pthread_cond_init() EBUSY Enter_Yes_or_No
EINVAL Enter_Yes_or_No
pthread_cond_timedwait() EINVAL Enter_Yes_or_No
EPERM Enter_Yes_or_No
pthread_cond_wait() EINVAL Enter_Yes_or_No
EPERM Enter_Yes_or_No
pthread_condattr_destroy() EINVAL Enter_Yes_or_No
pthread_condattr_getclock() EINVAL Enter_Yes_or_No
pthread_condattr_setclock() EINVAL Enter_Yes_or_No
pthread_condattr_getpshared() EINVAL Enter_Yes_or_No
pthread_condattr_setpshared() EINVAL Enter_Yes_or_No
pthread_create() EINVAL Enter_Yes_or_No
pthread_detach() EINVAL Enter_Yes_or_No
ESRCH Enter_Yes_or_No
pthread_getcpuclockid() ESRCH Enter_Yes_or_No
pthread_getschedparam() ESRCH Enter_Yes_or_No
pthread_setschedparam() EINVAL Enter_Yes_or_No
ENOTSUP Enter_Yes_or_No
EPERM Enter_Yes_or_No
ESRCH Enter_Yes_or_No
pthread_setspecific() ESRCH Enter_Yes_or_No
pthread_join() EDEADLK Enter_Yes_or_No
EINVAL Enter_Yes_or_No
pthread_keydelete() EINVAL Enter_Yes_or_No
pthread_mutex_destroy() EBUSY Enter_Yes_or_No
EINVAL Enter_Yes_or_No
pthread_mutex_init() EBUSY Enter_Yes_or_No
EINVAL Enter_Yes_or_No
pthread_mutex_lock() EINVAL Enter_Yes_or_No
EDEADLK Enter_Yes_or_No
pthread_mutex_trylock() EINVAL Enter_Yes_or_No
pthread_mutex_unlock() EINVAL Enter_Yes_or_No
EPERM Enter_Yes_or_No
pthread_mutex_timedlock() EINVAL Enter_Yes_or_No
EDEADLK Enter_Yes_or_No
pthread_mutexattr_destroy() EINVAL Enter_Yes_or_No
pthread_mutexattr_getprioceiling() EINVAL Enter_Yes_or_No
EPERM Enter_Yes_or_No
pthread_mutexattr_setprioceiling() EINVAL Enter_Yes_or_No
EPERM Enter_Yes_or_No
pthread_mutexattr_getprotocol() EINVAL Enter_Yes_or_No
EPERM Enter_Yes_or_No
pthread_mutexattr_setprotocol() EINVAL Enter_Yes_or_No
EPERM Enter_Yes_or_No
pthread_mutexattr_getpshared() EINVAL Enter_Yes_or_No
pthread_mutexattr_setpshared() EINVAL Enter_Yes_or_No
pthread_mutexattr_gettype() EINVAL Enter_Yes_or_No
pthread_mutexattr_settype() EINVAL Enter_Yes_or_No
pthread_once() EINVAL Enter_Yes_or_No
pthread_rwlock_destroy() EBUSY Enter_Yes_or_No
EINVAL Enter_Yes_or_No
pthread_rwlock_init() EBUSY Enter_Yes_or_No
EINVAL Enter_Yes_or_No
pthread_rwlock_rdlock() EINVAL Enter_Yes_or_No
EAGAIN Enter_Yes_or_No
EDEADLK Enter_Yes_or_No
pthread_rwlock_tryrdlock() EINVAL Enter_Yes_or_No
EAGAIN Enter_Yes_or_No
pthread_rwlock_timedrdlock() EINVAL Enter_Yes_or_No
EAGAIN Enter_Yes_or_No
EDEADLK Enter_Yes_or_No
pthread_rwlock_timedwrlock() EINVAL Enter_Yes_or_No
EDEADLK Enter_Yes_or_No
pthread_rwlock_trywrlock() EINVAL Enter_Yes_or_No
pthread_rwlock_wrlock() EINVAL Enter_Yes_or_No
EDEADLK Enter_Yes_or_No
pthread_rwlock_unlock() EINVAL Enter_Yes_or_No
EPERM Enter_Yes_or_No
pthread_rwlockattr_destroy() EINVAL Enter_Yes_or_No
pthread_rwlockattr_getpshared() EINVAL Enter_Yes_or_No
pthread_rwlockattr_setpshared() EINVAL Enter_Yes_or_No
pthread_setcancelstate() EINVAL Enter_Yes_or_No
pthread_setcanceltype() EINVAL Enter_Yes_or_No
pthread_schedprio() EINVAL Enter_Yes_or_No
ENOTSUP Enter_Yes_or_No
EPERM Enter_Yes_or_No
ESRCH Enter_Yes_or_No
putc() ENOMEM Enter_Yes_or_No
ENXIO Enter_Yes_or_No
putchar() ENOMEM Enter_Yes_or_No
ENXIO Enter_Yes_or_No
puts() ENOMEM Enter_Yes_or_No
ENXIO Enter_Yes_or_No
putwc() ENOMEM Enter_Yes_or_No
ENXIO Enter_Yes_or_No
putwchar() ENOMEM Enter_Yes_or_No
ENXIO Enter_Yes_or_No
read() EIO Enter_Yes_or_No
ENOBUFS Enter_Yes_or_No
ENOMEM Enter_Yes_or_No
ENXIO Enter_Yes_or_No
readdir() EBADF Enter_Yes_or_No
ENOENT Enter_Yes_or_No
readlink() EACCES Enter_Yes_or_No
ELOOP Enter_Yes_or_No
ENAMETOOLONG Enter_Yes_or_No
recv() EIO Enter_Yes_or_No
ENOBUFS Enter_Yes_or_No
ENOMEM Enter_Yes_or_No
recvfrom() EIO Enter_Yes_or_No
ENOBUFS Enter_Yes_or_No
ENOMEM Enter_Yes_or_No
recvmsg() EIO Enter_Yes_or_No
ENOBUFS Enter_Yes_or_No
ENOMEM Enter_Yes_or_No
remove() EBUSY Enter_Yes_or_No
ELOOP Enter_Yes_or_No
ENAMETOOLONG Enter_Yes_or_No
ETXTBSY Enter_Yes_or_No
rename() ELOOP Enter_Yes_or_No
ENAMETOOLONG Enter_Yes_or_No
ETXTBSY Enter_Yes_or_No
rmdir() ELOOP Enter_Yes_or_No
ENAMETOOLONG Enter_Yes_or_No
sem_close() EINVAL Enter_Yes_or_No
sem_destroy() EINVAL Enter_Yes_or_No
EBUSY Enter_Yes_or_No
sem_getvalue() EINVAL Enter_Yes_or_No
sem_post() EINVAL Enter_Yes_or_No
sem_timedwait() EDEADLK Enter_Yes_or_No
EINTR Enter_Yes_or_No
EINVAL Enter_Yes_or_No
sem_trywait() EDEADLK Enter_Yes_or_No
EINTR Enter_Yes_or_No
EINVAL Enter_Yes_or_No
sem_wait() EDEADLK Enter_Yes_or_No
EINTR Enter_Yes_or_No
EINVAL Enter_Yes_or_No
send() EACCESS Enter_Yes_or_No
EIO Enter_Yes_or_No
ENETDOWN Enter_Yes_or_No
ENETUNREACH Enter_Yes_or_No
ENOBUFS Enter_Yes_or_No
sendmsg() EACCESS Enter_Yes_or_No
EDESTADDRREQ Enter_Yes_or_No
EHOSTUNREACH Enter_Yes_or_No
EIO Enter_Yes_or_No
EISCONN Enter_Yes_or_No
ENETDOWN Enter_Yes_or_No
ENETUNREACH Enter_Yes_or_No
ENOBUFS Enter_Yes_or_No
ENOBUFS Enter_Yes_or_No
ENOMEM Enter_Yes_or_No
sendto() EACCESS Enter_Yes_or_No
EDESTADDRREQ Enter_Yes_or_No
EHOSTUNREACH Enter_Yes_or_No
EIO Enter_Yes_or_No
EISCONN Enter_Yes_or_No
ENETDOWN Enter_Yes_or_No
ENETUNREACH Enter_Yes_or_No
ENOBUFS Enter_Yes_or_No
ENOMEM Enter_Yes_or_No
setsockopt() ENOMEM Enter_Yes_or_No
ENOBUFS Enter_Yes_or_No
setvbuf() EBADF Enter_Yes_or_No
shutdown() ENOBUFS Enter_Yes_or_No
sigaction() EINVAL Enter_Yes_or_No
sigaddset() EINVAL Enter_Yes_or_No
sigdelset() EINVAL Enter_Yes_or_No
sigismember() EINVAL Enter_Yes_or_No
signal() EINVAL Enter_Yes_or_No
sigtimedwait() EINVAL Enter_Yes_or_No
sigwait() EINVAL Enter_Yes_or_No
sigwaitinfo() EINVAL Enter_Yes_or_No
socket() EACCESS Enter_Yes_or_No
ENOBUFS Enter_Yes_or_No
ENOMEM Enter_Yes_or_No
socketpair() EACCESS Enter_Yes_or_No
ENOBUFS Enter_Yes_or_No
ENOMEM Enter_Yes_or_No
stat() ELOOP Enter_Yes_or_No
ENAMETOOLONG Enter_Yes_or_No
EOVERFLOW Enter_Yes_or_No
strcoll() EINVAL Enter_Yes_or_No
strerror() EINVAL Enter_Yes_or_No
strerror_r() ERANGE Enter_Yes_or_No
strtod() EINVAL Enter_Yes_or_No
strtoimax() EINVAL Enter_Yes_or_No
strtol() EINVAL Enter_Yes_or_No
strtoul() EINVAL Enter_Yes_or_No
strtoumax() EINVAL Enter_Yes_or_No
strxfrm() EINVAL Enter_Yes_or_No
swprintf() ENOMEM Enter_Yes_or_No
ENXIO Enter_Yes_or_No
swcsanf() ENOMEM Enter_Yes_or_No
ENXIO Enter_Yes_or_No
symlink() ELOOP Enter_Yes_or_No
ENAMETOOLONG Enter_Yes_or_No
system() ECHILD Enter_Yes_or_No
tcdrain() EIO Enter_Yes_or_No
tcflow() EIO Enter_Yes_or_No
tcflush() EIO Enter_Yes_or_No
tcsendbreak() EIO Enter_Yes_or_No
tcsetattr() EIO Enter_Yes_or_No
timer_delete() EINVAL Enter_Yes_or_No
timer_getoverrun() EINVAL Enter_Yes_or_No
timer_gettime() EINVAL Enter_Yes_or_No
timer_settime() EINVAL Enter_Yes_or_No
tmpfile() EMFILE Enter_Yes_or_No
ENOMEM Enter_Yes_or_No
towctrans() EINVAL Enter_Yes_or_No
ttyname() EBADF Enter_Yes_or_No
ENOTTY Enter_Yes_or_No
ttyname_r() EBADF Enter_Yes_or_No
ENOTTY Enter_Yes_or_No
ERANGE Enter_Yes_or_No
ungetwc() EILSEQ Enter_Yes_or_No
unlink() ELOOP Enter_Yes_or_No
ENAMETOOLONG Enter_Yes_or_No
ETXTBSY Enter_Yes_or_No
utime() ELOOP Enter_Yes_or_No
ENAMETOOLONG Enter_Yes_or_No
vfscanf() EILSEQ Enter_Yes_or_No
EINVAL Enter_Yes_or_No
ENOMEM Enter_Yes_or_No
ENXIO Enter_Yes_or_No
vfwprintf() ENOMEM Enter_Yes_or_No
ENXIO Enter_Yes_or_No
vfwscanf() ENOMEM Enter_Yes_or_No
ENXIO Enter_Yes_or_No
wcrtomb() EINVAL Enter_Yes_or_No
EILSEQ Enter_Yes_or_No
wcscoll() EINVAL Enter_Yes_or_No
wcsrtombs() EINVAL Enter_Yes_or_No
EILSEQ Enter_Yes_or_No
wcstod() EINVAL Enter_Yes_or_No
wcstoimax() EINVAL Enter_Yes_or_No
wcstoumax() EINVAL Enter_Yes_or_No
wcstol() EINVAL Enter_Yes_or_No
wcstombs() EILSEQ Enter_Yes_or_No
wcstoul() EINVAL Enter_Yes_or_No
wcsxfrm() EINVAL Enter_Yes_or_No
wctrans() EINVAL Enter_Yes_or_No
wprintf() ENOMEM Enter_Yes_or_No
ENXIO Enter_Yes_or_No
write() ENETDOWN Enter_Yes_or_No
ENETUNREACH Enter_Yes_or_No
ENXIO Enter_Yes_or_No
wscanf() ENOMEM Enter_Yes_or_No
ENXIO Enter_Yes_or_No

Rationale

Each of the above error conditions is marked as optional in the System Interfaces Volume and an implementation may return this error in the circumstances specified or may not provide the error indication.

Reference

IEEE Std 1003.1, 2003 Edition, the System Interfaces Volume, Section 2.3, Error Numbers.


2.1.5 Mathematical Interfaces

Question SI-9: What format of floating-point numbers is supported by this implementation?

Response

Provide a description of the floating-point format used by your implementation.



Rationale

Most implementations support IEEE floating-point format either in hardware or software. Some implementations support other formats with different exponent and mantissa accuracy. These differences need to be defined.

Reference

IEEE Std 1003.1, 2003 Edition, the System Interfaces Volume, Section 1.7, Relationship to Other Formal Standards.


Question SI-10: Which floating-point exceptions are supported by this implementation for the fegetexecptflag(), feraiseexcept(), fesetexecptflag(), and fetestexecptflag() functions?

Response

Provide a list of the floating-point exceptions using the constant names in the <fenv.h> header.



Rationale

The behavior of a conforming implementation in this area is not mandated in the specification and needs to be defined.

Reference

IEEE Std 1003.1, 2003 Edition, The Base Definitions Volume, Chapter 13, Headers, <fenv.h>.


Question SI-11: Which floating-point rounding directions are supported by this implementation for the fegetround(), and fesetround() functions?

Response

Provide a list of the floating-point round modes using the constant names in the <fenv.h> header.



Rationale

The behavior of a conforming implementation in this area is not mandated in the specification and needs to be defined.

Reference

IEEE Std 1003.1, 2003 Edition, The Base Definitions Volume, Chapter 13, Headers, <fenv.h>.


Question SI-12: Is a non-stop floating-point exception mode supported by this implementation?

Response

Enter_Yes_or_No

Rationale

The behavior of a conforming implementation in this area is not mandated in the specification and needs to be defined.

Reference

IEEE Std 1003.1, 2003 Edition, the System Interfaces Volume, Chapter 3, System Interfaces, feholdexcept().


2.2 Process Handling

2.2.1 Process Generation

Question SI-13: Which file types (regular, directory, FIFO, special and so on) are considered to be executable?

Response

Enter the file types that are executable on your implementation in the area below.



Rationale

The EACCES error associated with exec functions occurs in circumstances when the implementation does not support execution of files of the type specified. A list of these file types needs to be provided.

Reference

IEEE Std 1003.1, 2003 Edition, the System Interfaces Volume, Chapter 3, System Interfaces, exec.


2.3 File Handling

2.3.1 Access Control

Question SI-14: What file access control mechanisms does the implementation provide?

Response

Either indicate that "Standard access control is provided.", that the reader should "Refer to the POSIX Conformance Document", or provide a detailed description of the access control mechanisms on your implementation.



Rationale

the System Interfaces Volume notes that implementations may provide additional or alternate file access control mechanisms, or both.

Reference

IEEE Std 1003.1, 2003 Edition, The Base Definitions Volume, Chapter 4, General Concepts, Section 4.4, File Access Permissions.


2.3.2 Files and Directories

Question SI-15: Are any additional or alternate file access control mechanisms implemented that could cause fstat() or stat() to fail?

Response

Enter_Yes_or_No

If you answered Yes above, Either indicate below that the reader should "Refer to the POSIX Conformance Document", or provide a detailed description of the additional or alternate access mechanisms on your implementation that would cause fstat() or stat() to fail.



Rationale

the System Interfaces Volume notes that there could be an interaction between additional and alternate access controls and the success of fstat() and stat(). This would suggest that an implementation can allow access to a file but not allow the process to gain information about the status of the file.

Reference

IEEE Std 1003.1, 2003 Edition, the System Interfaces Volume, Chapter 3, System Interfaces, fstat() and stat().


2.4 Internationalized System Interfaces

2.4.1 Coded Character Sets

Question SI-16: What coded character sets are supported by the implementation?

Response

Enter your response in the area below:



Rationale

The Base Definitions Volume states that conforming implementations support one or more coded character sets, and that each of these includes the portable character set.

Reference

IEEE Std 1003.1, 2003 Edition, The Base Definitions Volume, Chapter 6, Character Set.


Question SI-17: What is the implementation's underlying internal codeset?

Response

If the implementation does not use ISO 8859-1:1987, provide the name or description of the underlying codeset. If the implementation does use ISO 8859-1:1987, just enter "ISO 8859-1:1987" below.



Rationale

It is useful to be aware of the underlying codeset of the implementation.

Reference

IEEE Std 1003.1, 2003 Edition, The Base Definitions Volume, Chapter 6, Character Set.


2.5 Threads

2.5.1 Cancellation Points

Question SI-18: Which functions have cancellation points that occur when a thread is executing?

Response

There are many functions which may have a cancellation point listed in System Interfaces, Section 2.9.5.2. List below the functions which have cancellation points in your implementation.



Rationale

IEEE Std 1003.1, 2003 Edition, Base Definitions Volume, states that a cancellation point may occur for these functions.

Reference

IEEE Std 1003.1, 2003 Edition, System Interfaces Volume, Section 2.9.5.2, Cancellation Points.

2.6 Realtime

2.6.1 Prioritized I/O

Question SI-19: Which file types does the implementation support _POSIX_PRIORITIZED_IO on?

Response

List below the file types that the system supports _POSIX_PRIORITIZED_IO on



Rationale

Reference

Technical Standard, IEEE Std 1003.1, 2003 Edition, Base Definitions Volume, Section 2.1.5.2 IEEE Std 1003.1, 2003 Edition, System Interfaces Volume, Section 2.8

2.14.2 Cancelable Asynchronous I/O Operations

Question SI-20: What asynchronous I/O operations are cancelable with aio_cancel()?

Response

List the operations that are cancelable in the text area below



Rationale

The operations which are cancelable are implementation-defined.

Reference

IEEE Std 1003.1, 2003 Edition, System Interfaces Volume, Chapter 3, System Interfaces, aio_cancel().

2.7 Realtime Threads

2.7.1 Scheduling Policies

Question SI-21: What scheduling policy is associated with SCHED_OTHER?

Response

Describe the scheduling policy provided by the implementation when SCHED_OTHER is requested. If this policy executes identically with SCHED_FIFO or SCHED_RR, this should be indicated. Otherwise a complete description must be provided, including the scheduling parameters used with pthread_getschedparam() and pthread_setschedparam(), or a reference to available system documentation.



Rationale

IEEE Std 1003.1, 2003 Edition, Base Definitions Volume, states that conforming implementations must support a scheduling policy identified as SCHED_OTHER but define its effects as implementation-defined.

Reference

IEEE Std 1003.1, 2003 Edition, System Interfaces Volume, Section 2.8.4, Scheduling Policies.

2.7.2 Scheduling Contention Scope

Question SI-22: What scheduling contention scopes are supported: PTHREAD_SCOPE_PROCESS, PTHREAD_SCOPE_SYSTEM, or both?

Response

Enter below PTHREAD_SCOPE_PROCESS, PTHREAD_SCOPE_SYSTEM or both PTHREAD_SCOPE_PROCESS and PTHREAD_SCOPE_SYSTEM.



Rationale

System Interfaces, Issue 6 states that conforming implementations will support PTHREAD_SCOPE_PROCESS, PTHREAD_SCOPE_SYSTEM, or both.

Reference

IEEE Std 1003.1, 2003 Edition, System Interfaces Volume, Section 2.9.4, Thread Scheduling Contention Scope.

2.7.3 Default Scheduling Contention Scope

Question SI-23: What is the default scheduling contention scope when a process is created?

Response

State below either PTHREAD_SCOPE_PROCESS or PTHREAD_SCOPE_SYSTEM.



Rationale

The specification defines the default scheduling contention scope as implementation-defined.

Reference

IEEE Std 1003.1, 2003 Edition, System Interfaces Volume, Section 2.9.4, Thread Scheduling Attributes.

2.7.4 Scheduling Allocation Domain

Question SI-24: What is the mechanism to configure the system so that the scheduling allocation domain has size one, so that the binding of threads to scheduling allocation domains remains static?

Response

Enter a response below



Rationale

An implementation conforming to PSE54 shall provide a mechanism to configure the system so that the scheduling allocation domain has size one, and so that the binding of threads to scheduling allocation domains remains static. The mechanism by which this requirement is achieved shall be implementation defined.

Reference

IEEE Std 1003.13, 2003 Edition, Section 9, Multi-Purpose Realtime System Profile (PSE54).


2.8 Sockets

2.8.1 Listen Queues

Question SI-26: What is the limit the implementation places on the length of a socket's listen queue?

Response

Indicate the implementation's limit on the length of the socket's listen queue, or "None" if no limit is imposed.



Rationale

The specification states that an implementation may limit the length of a socket's listen queue, and that this limit may be imposed if the setting of the backlog argument exceeds an implementation-defined maximum value.

Reference

IEEE Std 1003.1, 2003 Edition, the System Interfaces Volume, Chapter 3, listen().


2.8.2 Address Families, Socket Types, and Protocols

Question SI-27: What combinations of address family, socket types, and protocols does the implementation support?

Response

Indicate the supported combinations below , "N/A" equals not applicable.

Address Family Protocol Socket Type Supported?
AF_UNIX N/A STREAM Enter_Yes_or_No
AF_UNIX N/A SEQPACKET Enter_Yes_or_No
AF_UNIX N/A DGRAM Enter_Yes_or_No
AF_INET TCP STREAM Enter_Yes_or_No
AF_INET UDP DGRAM Enter_Yes_or_No
AF_INET6 TCP STREAM Enter_Yes_or_No
AF_INET6 UDP DGRAM Enter_Yes_or_No
If any additional combinations are supported please list them below.



Rationale

The specification states that the domains, socket types and protocols supported by a conforming system are implementation-defined. The 1003.1-2003 System Interfaces Product Standard states that conforming products shall be available in configurations that support at least following socket domains:

Reference

IEEE Std 1003.1, 2003 Edition, the System Interfaces Volume, Chapter 2.10, Sockets

Product Standard, 1003.1-2003 System Interfaces


2.8.3 Socket Types

Question SI-28: What Socket Types does the implementation support?

Response

List the supported types.



Rationale

The specification states that there are four socket types defined - SOCK_RAW, SOCK_STREAM, SOCK_SEQPACKET and SOCK_DGRAM - but does not state which are required. Implementations may also support additional socket types.

Reference

IEEE Std 1003.1, 2003 Edition, the System Interfaces Volume, Chapter 2.10, Sockets, Section 2.10.6, Socket Types.


2.9 C-language Compilation Environment

Question SI-30: What C-language compilation environments are provided?

Response

Programming Environment Provided
The implementation provides a C-language compilation environment with
32-bit int, long, pointer and off_t types.
Enter_Yes_or_No
The implementation provides a C-language compilation environment with
32-bit int, long and pointer types and an off_t type using at least 64 bits.
Enter_Yes_or_No
The implementation provides a C-language compilation environment with
32-bit int, and 64-bit long, pointer and off_t types.
Enter_Yes_or_No
The implementation provides a C-language compilation environment with
int using at least 32-bits, and long, pointer and off_t types using at least 64 bits.
Enter_Yes_or_No

Rationale

The Base Definitions Volume defines these scenarios as possible C-language compilation environment offerings.

Reference

IEEE Std 1003.1, 2003 Edition, The Base Definitions Volume, Chapter 13, Headers, <unistd.h>.


Question SI-31: What execution environments are provided on the system under test?

Response

Execution Environment Provided
The implementation provides an execution environment with
32-bit int, long, pointer and off_t types.
Enter_Yes_or_No
The implementation provides an execution environment with
32-bit int, long and pointer types and an off_t type using at least 64 bits.
Enter_Yes_or_No
The implementation provides an execution environment with
32-bit int, and 64-bit long, pointer and off_t types.
Enter_Yes_or_No
The implementation provides an execution environment with
int using at least 32-bits, and long, pointer and off_t types using at least 64 bits.
Enter_Yes_or_No

Rationale

The Base Definitions Volume defines four scenarios as possible C-language compilation environment offerings but does not define which corresponding execution environments are supported.

Reference

IEEE Std 1003.1, 2003 Edition, The Base Definitions Volume, Chapter 13, Headers, <unistd.h>.


Question SI-32: What is the largest type that can be stored in type off_t ?

Response




Rationale

The type off_t shall be capable of storing any value contained in type long.

Reference

IEEE Std 1003.13-2003, Section 9.2.1 POSIX.1 Interfaces (C Language Option).


3. Shell and Utilities

3.1 Shell and Utilities Optional Features

Question SU-1: Which of the following options, obtained using the getconf utility, are available on the system?

Response

Macro Name Meaning Provided
POSIX2_FORT_DEV Implementation supports the FORTRAN Development Utilities option. Enter_Yes_or_No
POSIX2_LOCALEDEF Implementation supports the creation of locales by the localedef utility. Enter_Yes_or_No
POSIX2_PBS Implementation supports the Batch Environment Services and Utilities option. Enter_Yes_or_No
POSIX2_PBS_ACCOUNTING Implementation supports the Batch Accounting option. Enter_Yes_or_No
POSIX2_PBS_CHECKPOINT Implementation supports the Batch Checkpoint/Restart option. Enter_Yes_or_No
POSIX2_PBS_LOCATE Implementation supports the Locate Batch Job Request option. Enter_Yes_or_No
POSIX2_PBS_MESSAGE Implementation supports the Batch Job Message Request option. Enter_Yes_or_No
POSIX2_PBS_TRACK Implementation supports the Track Batch Job Request option. Enter_Yes_or_No

Rationale

For a 1003.13-2003 PSE54 C Language Binding, Shell and Utilities conformant implementation, these are all optional functionality that an implementation may or may not choose to support. Although this product standard does not cover these areas it is useful information for procurers and application writers.

Reference

IEEE Std 1003.13, 2003 Edition, Section 9, Multi-Purpose Realtime System Profile (PSE54).


3.2 Utility Limits

Question SU-2: What are the values associated with the following constants obtained using the getconf utility?

Response

For each line in the table below, add the minimum and maximum values for your implementation. These values may be stated to be "Unlimited" if your implementation does not impose a limit. The minimum should be the smallest value that is returned from getconf utility, or as defined in <limits.h>. The maximum value should be the largest value that is returned from the getconf utility.

Macro Name Meaning Minimum Maximum
BC_BASE_MAX Maximum ibase and obase values allowed by the bc utility. Enter_minimum Enter_maximum
BC_DIM_MAX Maximum number of elements permitted in an array by the bc utility. Enter_minimum Enter_maximum
BC_SCALE_MAX Maximum scale value allowed by the bc utility. Enter_minimum Enter_maximum
BC_STRING_MAX Maximum length of a string constant accepted by the bc utility. Enter_minimum Enter_maximum
CHARCLASS_NAME_MAX Maximum number of bytes in a character class name. Enter_minimum Enter_maximum
COLL_WEIGHTS_MAX Maximum number of weights that can be assigned to an entry of the LC_COLLATE order keyword in the locale definition file. Enter_minimum Enter_maximum
EXPR_NEST_MAX Maximum number of expressions that can be nested within parentheses by the expr utility. Enter_minimum Enter_maximum
LINE_MAX Maximum length in bytes including the trailing newline of a utility's input line when the utility is described as processing text files. Enter_minimum Enter_maximum
RE_DUP_MAX Maximum number of repeated occurrences of a regular expression permitted when using interval notation. Enter_minimum Enter_maximum

Rationale

Each of these limits can vary within bounds set by the Base Definitions Volume. The minimum value that a limit can take on any conforming system is given in the corresponding _POSIX2_ value. A specific conforming implementation may provide a higher minimum value than this and the maximum value that it provides can differ from the minimum. Some conforming implementations may provide a potentially infinite value as the maximum, in which case the value is considered to be indeterminate. The minimum value must always be definitive since the _POSIX2_ value provides a known lower bound for the range of possible values.

Reference

IEEE Std 1003.1-2001, Base Definitions, Issue 6, Chapter 13, Headers, <limits.h>.

IEEE Std 1003.1-2001, Shell and Utilities , Issue 6, Section 1.9, Utility Limits.


3.3 Specific Commands and Utilities

3.3.1 awk

Question SU-3: What is the limit on the number of open streams provided by awk?

Response

Enter_Value open streams.

Rationale

The number of open streams that are available to awk may differ between implementations, possibly depending on the number of streams that are available to a process ({FOPEN_MAX}).

Reference

IEEE Std 1003.1, 2003 Edition, Shell and Utilities, Issue 6, Chapter 4, Utilities, awk, Input/Output and General Functions, close().


3.3.2 c99

Question SU-4: Which defined names are automatically provided by the compiler?

Response

Provide a list of macro names built into the compiler or a reference to the appropriate system documentation.



Rationale

The automatic provision of defined names by the compiler can cause these names to be unavailable in the name space for defined names.

Reference

IEEE Std 1003.1, 2003 Edition, Shell and Utilities, Issue 6, Chapter 4, Utilities, c99, OPTIONS, -D.

Question SU-5: When multiple input files are specified, where does c99 direct identification messages designating the start of each input file processing?

Response

Enter "Standard Output", "Standard Error", or "These messages are not generated.

Enter_Standard Output_or_Standard Error_or_These messages are not generated

Rationale

These messages, if produced, must be written to one or the other of standard output and standard error, but not to both. The destination of these messages is useful in determining redirections that are necessary to identify the input files from which warning messages are generated.

Reference

IEEE Std 1003.1, 2003 Edition, Shell and Utilities, Issue 6, Chapter 4, Utilities, c99, STDOUT and STDERR.

Question SU-6: What are the limits associated with external symbols imposed by c99?

Response

If the implementation limits are limited by memory, then the answer should say so; for example "511 but MEMORY LIMITED".
Description Minimum Maximum Implementation Maximum
Number of significant bytes 31 Enter_maximum
Number of external symbols per source or object file 511 Enter_maximum
Total number of external symbols 4095 Enter_maximum

Rationale

These limits vary between implementations and cannot be reset by the user. The XCU definition gives the minimum maximum value for each of the values. Some applications may require larger limits than these minimum maxima.

Reference

IEEE Std 1003.1, 2003 Edition, Shell and Utilities, Issue 6, Chapter 4, Utilities, c99, EXTENDED DESCRIPTION, External Symbols.


3.3.3 chown

Question SU-7: Does the implementation support user and group IDs for symbolic links?

Response

Enter_Yes_or_No

Rationale

The behavior of a conforming implementation in this area is not mandated in the specification and needs to be defined.

Reference

IEEE Std 1003.1, 2003 Edition, Shell and Utilities, Issue 6, Chapter 4, Utilities, chown.


3.3.4 cp

Question SU-8: What is the effect of alternate access control mechanisms on file copies?

Response

If the implementation has an alternate access control mechanism, describe the effect of the controls on file copying or an indication of where these controls are documented.



Rationale

Because of the additional restrictions on creating files and reading data from files, the cp utility may not behave as described when alternate access control mechanisms are in use.

Reference

IEEE Std 1003.1, 2003 Edition, Shell and Utilities, Issue 6, Chapter 4, Utilities, cp, DESCRIPTION (final paragraph).


3.3.5 ex

Question SU-9: What restrictions are imposed on the set of commands within the rhs of the map command?

Response

Provide a list of restrictions, if any, in the space below. Alternatively, a reference to the system documentation where these restrictions are described is acceptable.



Rationale

Implementations may impose restrictions on the commands that can be used by macros in visual mode.

Reference

IEEE Std 1003.1, 2003 Edition, Shell and Utilities, Issue 6, Chapter 4, Utilities, ex, EXTENDED DESCRIPTION, Command Descriptions in ex, Map.


3.3.6 fc

Question SU-10: Is the history list mechanism disabled for users with appropriate privileges who do not set HISTFILE?

Response

Enter_Yes_or_No

Rationale

The specification states that an implementation may, in certain circumstances, disable the history list mechanism for users with appropriate privileges who do not set HISTFILE. This could have some security implications.

Reference

IEEE Std 1003.1, 2003 Edition, Shell and Utilities, Issue 6, Chapter 4, Utilities, fc, ENVIRONMENT VARIABLES, HISTFILE.


3.3.7 lex

Question SU-11: Where are error messages sent when the lex -t option is not specified?

Response

Enter "Standard Output", "Standard Error", or "Not Applicable".

Enter_Standard Output_or_Standard Error_or_Not Applicable

Rationale

These messages can be directed to either standard output or standard error, though the messages are not allowed to be directed to both. An application may wish to redirect these messages to a file.

Reference

IEEE Std 1003.1, 2003 Edition, Shell and Utilities, Issue 6, Chapter 4, Utilities, lex, STDOUT.


3.3.8 ln

Question SU-12: Can ln create hard links to a directory?

Response

Enter_Yes_or_No

Rationale

Implementations may disallow the creation of hard links to a directory, even though the executing process has the appropriate privileges.

Reference

IEEE Std 1003.1, 2003 Edition, Shell and Utilities, Issue 6, Chapter 4, Utilities, ln, OPERANDS, source_file.


3.3.9 localedef

Question SU-13: What is the default character mapping used when the localedef -f option is not specified?

Response

Either enter the name of the default character mapping used by localedef, or alternatively provide a reference to your system documentation where this character mapping file is described. If your system does not allow creation of new locales, enter not applicable.



Rationale

The specification does not define a specific character mapping as the default for conforming systems. This character mapping provides encoding information for the members of the portable character set.

Reference

IEEE Std 1003.1, 2003 Edition, Shell and Utilities, Issue 6, Chapter 4, Utilities, localedef, OPTIONS, -f.


3.3.10 lp

Question SU-14: What lp option or operator command is used to suppress the printing of a banner page?

Response

Enter your reponse in the area below



Rationale

The user may require that banner pages are suppressed in cases where pre-printed forms are used and the stationary is of a non-standard length.

Reference

IEEE Std 1003.1, 2003 Edition, Shell and Utilities, Issue 6, Chapter 4, Utilities, lp, DESCRIPTION.


3.3.11 make

Question SU-15: What additional variables does make add to its environment?

Response

If additional variables are provided by make enter a list of these variables; alternatively provide a reference to the system documentation where such a list can be found. If no additional variables are provided, enter "None".



Rationale

The implementation of make may set certain environment variables on invocation of make. These variables may not be set by the user, thus reducing the name space for environment variables.

Reference

IEEE Std 1003.1, 2003 Edition, Shell and Utilities, Issue 6, Chapter 4, Utilities, make, EXTENDED DESCRIPTION, Makefile Execution.

Question SU-16: Does the default MAKEFLAGS environment variable contain additional implementation-defined options?

Response

If additional options are provided in MAKEFLAGS enter a list of these options; alternatively provide a reference to the system documentation where such a list can be found. If no additional options are provided, enter "None".



Rationale

The implementation of make may set certain default MAKEFLAGS options on invocation of make. These variables are in addition to those set by the user on the command line and could affect the processing of make.

Reference

IEEE Std 1003.1, 2003 Edition, Shell and Utilities, Issue 6, Chapter 4, Utilities, make, EXTENDED DESCRIPTION, Makefile Execution.


3.3.12 newgrp

Question SU-17: Does newgrp allow users who are not listed as a member of a group which has no password to change to that group?

Response

Enter_Yes_or_No

Rationale

On some implementations, a user who is not listed as a member of a group may change to that group in the case that there is no password associated with the group.

Reference

IEEE Std 1003.1, 2003 Edition, Shell and Utilities, Issue 6, Chapter 4, Utilities, newgrp, DESCRIPTION.

Question SU-18: Are there any other implementation-defined authorization restrictions that affect newgrp?

Response

If additional authorizations are required, provide a list of these restrictions; alternatively provide a reference to the system documentation where such a list can be found. If there are no such authorisation restrictions, enter "None".



Rationale

Some implementations may impose accounting or other restrictions that could cause newgrp to deny activity to a group member. For example, a resource quota system could be implemented on a group basis that would limit the ability to join a group until the resources were available to the group.

Reference

IEEE Std 1003.1, 2003 Edition, Shell and Utilities, Issue 6, Chapter 4, Utilities, newgrp, DESCRIPTION.


3.3.13 nice and renice

Question SU-19: What are the limits and default values used by nice and renice?

Response

Description Value
Maximum nice value Enter_maximum
Minimum nice value Enter_minimum
Default nice value Enter_default

Rationale

Each of these values differs between implementations and the range of values gives the user some control over the relative priority of processes.

Reference

IEEE Std 1003.1, 2003 Edition, Shell and Utilities, Issue 6, Chapter 4, Utilities, nice, DESCRIPTION.


3.3.14 pax

Question SU-20: What is the default archive format used by pax?

Response

Enter "pax", "ustar" or "cpio".

Enter_Response

Rationale

The implementation has a choice in which format to use when creating archives. When it is reading an archive created in any format that it understands, the pax utility will read the archive in the format as written.

Reference

IEEE Std 1003.1, 2003 Edition, Shell and Utilities, Issue 6, Chapter 4, Utilities, pax, DESCRIPTION.


Question SU-21: How does pax handle reading and writing of archives that span multiple files?

Response

Provide a description of how pax reads and writes archives that exceed the size of the output/input media. Alternatively specify where it is documented.



Rationale

In many cases pax will take actions, such as prompting the user for the device name to use for the next archive file, when the current archive file is full. There may be extensions to the syntax of pax which allow the user to specify the address to use to access subsequent files.

Reference

IEEE Std 1003.1, 2003 Edition, Shell and Utilities, Issue 6, Chapter 4, Utilities, pax, DESCRIPTION.


Question SU-22: How does pax handle invalid filenames when it is extracting files from an archive?

Response

Provide a description of how pax handles invalid filenames on extraction, detailing the type of error message produced or the algorithm used to generate a filename. Alternatively specify where it is documented.



Rationale

An implementation may either extract the data associated with these files into files named in an implementation-defined manner or may issue an error indicating that the file is being ignored. If pax extracts the file, it is necessary for the user either to be informed of the file that is used or to know the algorithm that pax uses in generating these filenames.

Reference

IEEE Std 1003.1, 2003 Edition, Shell and Utilities, Issue 6, Chapter 4, Utilities, pax, EXTENDED DESCRIPTION, The cpio Filename.


3.3.15 printf

Question SU-23: Does printf support the e, E, f, g, and G floating point conversion specifications?

Response

Enter_Yes_or_No

Rationale

The support of these conversions is optional.

Reference

IEEE Std 1003.1, 2003 Edition, Shell and Utilities, Issue 6, Chapter 4, Utilities, printf, EXTENDED DESCRIPTION.


3.3.16 sh

Question SU-24: Is the environment variable IFS ignored when the shell is invoked?

Response

Enter_Yes_or_No

Rationale

The specification allows the sh command ignore the setting of the IFS environment variable on invocation. The setting of this variable has been used to breach security on systems which use the shell to interpret a call to the system() and execvp() interfaces.

Reference

IEEE Std 1003.1, 2003 Edition, Shell and Utilities, Issue 6, Chapter 4, Utilities, sh, ENVIRONMENT VARIABLES, IFS.


3.3.17 touch

Question SU-25: What is the latest date after the Epoch that can be used by touch?

Response

Enter_Response

Rationale

Because of the limitations on the storage of times in the stat structure associated with a file, there is a limitation on the valid dates that can be specified to touch. This is directly related to the value that can be stored in the integer or real-floating type time_t.

Reference

IEEE Std 1003.1, 2003 Edition, Shell and Utilities, Issue 6, Chapter 4, Utilities, touch, OPTIONS, -t.


3.3.18 yacc

Question SU-26: What are the limits of yacc's internal tables?

Response

If the implementation limits are limited by memory, then the answer should say so; for example "5200 but MEMORY LIMITED".
Description Minimum Maximum Implementation Maximum
Number of tokens 126 Enter_maximum
Number of non-terminals 200 Enter_maximum
Number of rules 300 Enter_maximum
Number of states 600 Enter_maximum
Length of rules 5200 Enter_maximum
Number of actions 6000 Enter_maximum

Rationale

These internal table sizes vary between implementations and cannot be reset by the user. The specification gives the minimum maximum value for each of the table values.

Reference

IEEE Std 1003.1, 2003 Edition, Shell and Utilities, Issue 6, Chapter 4, Utilities, yacc, EXTENDED DESCRIPTION, Limits.


4. Appendix

This appendix contains additional, explanatory material that was provided by the vendor. This should include any setup required to define a conforming environment on the system.

 

 

 

 

 

 

 

 

 


5. Change History

Date Name Comment
New    
     
     

Version 1.01 9 October 2006
 Copyright © 1998-2005 The Open Group. All Rights Reserved.  The Open Group and Boundaryless Information Flow are trademarks and UNIX is a registered trademark of The Open Group in the United States and other countries. POSIX is a registered trademark of the IEEE. All other trademarks are the property of their respective owners.