Conformance Statement

Product Standard: 1003.1-2003 System Interfaces

[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. Please do not alter the formatting. 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

1. 1003.1-2003 System Interfaces

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 on a single hardware configuration, known as Platform Specific Certification, or as a family of binary-compatible products on a range of hardware, known as Product Family Certification. In the former case registration is on the basis of a single test report, in the latter two test reports from distinct members of the binary-compatible family are required.

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

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.1 General Attributes

1.1.1 System Interfaces, Supported Features

Question 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.


1.1.2 System Interfaces, Optional Features

Question 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_ADVISORY_INFO Implementation supports the advisory information option. Enter_Yes_or_No
_POSIX_ASYNCHRONOUS_IO Implementation supports the asynchronous input and output option. Enter_Yes_or_No
_POSIX_BARRIERS Implementation supports the barriers option. Enter_Yes_or_No
_POSIX_CLOCK_SELECTION Implementation supports the clock selection option. Enter_Yes_or_No
_POSIX_CPUTIME Implementation supports the process cpu-time clocks option. Enter_Yes_or_No
_POSIX_FSYNC Implementation supports the file synchronization option. Enter_Yes_or_No
_POSIX_IPV6 Implementation supports the IPV6 option. Enter_Yes_or_No
_POSIX_MAPPED_FILES Implementation supports the memory mapped files option. Enter_Yes_or_No
_POSIX_MEMLOCK Implementation supports the process memory locking option. Enter_Yes_or_No
_POSIX_MEMLOCK_RANGE Implementation supports the range memory locking option. Enter_Yes_or_No
_POSIX_MEMORY_PROTECTION Implementation supports the memory protection option. Enter_Yes_or_No
_POSIX_MESSAGE_PASSING Implementation supports the message passing option. Enter_Yes_or_No
_POSIX_MONOTONIC_CLOCK Implementation supports the monotonic clock option. Enter_Yes_or_No
_POSIX_PRIORITIZED_IO Implementation supports the prioritized input and output option. Enter_Yes_or_No
_POSIX_PRIORITY_SCHEDULING Implementation supports the process scheduling option. Enter_Yes_or_No
_POSIX_RAW_SOCKETS Implementation supports the raw sockets option. Enter_Yes_or_No
_POSIX_REALTIME_SIGNALS Implementation supports the realtime signals extension option. Enter_Yes_or_No
_POSIX_SEMAPHORES Implementation supports the semaphores option. Enter_Yes_or_No
_POSIX_SHARED_MEMORY_OBJECTS Implementation supports the shared memory objects option. Enter_Yes_or_No
_POSIX_SPAWN Implementation supports the spawn option. Enter_Yes_or_No
_POSIX_SPIN_LOCKS Implementation supports the spin locks option. Enter_Yes_or_No
_POSIX_SPORADIC_SERVER Implementation supports the process sporadic server option. Enter_Yes_or_No
_POSIX_SYNCHRONIZED_IO Implementation supports the synchronized input and output option. Enter_Yes_or_No
_POSIX_THREAD_ATTR_STACKADDR Implementation supports the thread stack address attribute option. Enter_Yes_or_No
_POSIX_THREAD_CPUTIME Implementation supports the thread cpu-time clocks option. Enter_Yes_or_No
_POSIX_THREAD_ATTR_STACKSIZE Implementation supports the thread stack size attribute option. Enter_Yes_or_No
_POSIX_THREAD_PRIO_INHERIT Implementation supports the thread priority inheritence option. Enter_Yes_or_No
_POSIX_THREAD_PRIO_PROTECT Implementation supports the thread priority protection option. Enter_Yes_or_No
_POSIX_THREAD_PRIORITY_SCHEDULING Implementation supports the thread execution scheduling option. Enter_Yes_or_No
_POSIX_THREAD_PROCESS_SHARED Implementation supports the thread process-shared synchronization option. Enter_Yes_or_No
_POSIX_THREAD_SAFE_FUNCTIONS Implementation supports the thread-safe functions option. Enter_Yes_or_No
_POSIX_THREAD_SPORADIC_SERVER Implementation supports the thread sporadic server option. Enter_Yes_or_No
_POSIX_THREADS Implementation supports the threads option. Enter_Yes_or_No
_POSIX_TIMEOUTS Implementation supports the timeouts option. Enter_Yes_or_No
_POSIX_TIMERS Implementation supports the timers 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
_POSIX_TYPED_MEMORY_OBJECTS Implementation supports the typed memory onjects option. Enter_Yes_or_No

Rationale

It is optional whether an implementation claims support for the features associated with these options. Although this product standard does not cover these areas it is useful information for procurers and application writers.

Reference

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


1.1.3 Float, Stdio, and Limit Values

Question 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 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
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
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
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
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
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. The minimum permitted value is specified in Chapter 13, <limits.h>.

Reference

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


Question 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 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 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>.


1.1.4 Error Conditions

Question 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
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
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
getgrnam() EIO Enter_Yes_or_No
EINTR Enter_Yes_or_No
EMFILE Enter_Yes_or_No
ENFILE Enter_Yes_or_No
getlogin() EMFILE Enter_Yes_or_No
ENFILE Enter_Yes_or_No
ENXIO 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
getpwuid() EIO Enter_Yes_or_No
EINTR Enter_Yes_or_No
EMFILE Enter_Yes_or_No
ENFILE 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
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
pow() * Range Error 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
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
sigwait() 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
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
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
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.


1.1.5 Mathematical Interfaces

Question 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 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 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 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().


1.2 Process Handling

1.2.1 Process Generation

Question 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.


1.3 File Handling

1.3.1 Access Control

Question 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.


1.3.2 Files and Directories

Question 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().


1.4 Internationalized System Interfaces

1.4.1 Coded Character Sets

Question 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 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.


1.5 Sockets

1.5.1 Listen Queues

Question 18: 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().


1.5.2 Address Families, Socket Types, and Protocols

Question 19: 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


1.5.3 Socket Types

Question 20: 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.


1.6 C-language Compilation Environment

Question 21: 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 22: 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>.


2. 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.

 

 

 

 

 

 

 

 

 


3. Change History

Date Name Comment
New    
     
     

Version 1.0 15 October 2003
 Copyright © 1998-2003 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.