Conformance Statement

Product Standard: 1003.1-2016 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-2016 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
_POSIX2_SYMLINKS Symbolic links can be created. 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-2008 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, 2016 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_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_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_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_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_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_SPORADIC_SERVER Implementation supports the thread sporadic server 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, 2016 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, 2016 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
AIO_LISTIO_MAX Maximum number of I/O operations in a single list I/O call. Enter_minimum Enter_maximum
AIO_MAX Maximum number of outstanding asynchronous I/O operations. 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
ATEXIT_MAX Maximum number of functions that may be registered with atexit(). 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
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. 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
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. 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, 2016 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
RE_DUP_MAX Maximum number of repeated occurrences of a BRE or ERE interval expression. Enter_minimum Enter_maximum

Rationale

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 _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, 2016 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, 2016 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, 2016 Edition, The Base Definitions Volume, Chapter 13, Headers, <stdio.h>.


1.1.4 File Timestamp Resolution

Question 8: What is the resolution of file timestamps in a file system?

Response

If all files on all conforming file systems have the same timestamp resolution, give that value either as 1 second or as the number of nanoseconds returned by pathconf(). If the resolution varies by file system, give the value (as 1 second or the number of nanoseconds) for each conforming file system type supported by the implementation. Do not list non-conforming file system types such as VFAT.



Rationale

The resolution of timestamps of files in a file system is implementation-defined, but is no coarser than one-second resolution.

Reference

IEEE Std 1003.1, 2016 Edition, the Base Definitions Volume, Section 4.9, File Times Update.


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, 2016 Edition, the System Interfaces Volume, Section 1.1, 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, 2016 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, 2016 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, 2016 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, 2016 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, 2016 Edition, The Base Definitions Volume, Chapter 4, General Concepts, Section 4.5, 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(), fstatat(), lstat() 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(), fstatat(), lstat() 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(), fstatat(), lstat() 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, 2016 Edition, the System Interfaces Volume, Chapter 3, System Interfaces, fstat() and fstatat().


1.3.3 Symbolic Links

Question 16: How does link() handle symbolic links?

Response

Either indicate that "It creates a new link to the symbolic link itself" or that "It follows the symbolic link".



Rationale

If path1 names a symbolic link, it is implementation-defined whether link() follows the symbolic link, or creates a new link to the symbolic link itself.

Reference

IEEE Std 1003.1, 2016 Edition, The Base Definitions Volume, Chapter 3, System Interfaces, link().


1.4 Internationalized System Interfaces

1.4.1 Coded Character Sets

Question 17: 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, 2016 Edition, The Base Definitions Volume, Chapter 6, Character Set.


Question 18: What is the implementation's underlying internal codeset?

Response

Provide the name or description of the underlying codeset, for example "ISO 8859-1:1987", below.



Rationale

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

Reference

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


1.5 Sockets

1.5.1 Listen Queues

Question 19: 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, 2016 Edition, the System Interfaces Volume, Chapter 3, System Interfaces, listen().


1.5.2 Address Families, Socket Types, and Protocols

Question 20: 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-2016 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, 2016 Edition, the System Interfaces Volume, Section 2.10, Sockets

Product Standard, 1003.1-2016 System Interfaces


1.5.3 Socket Types

Question 21: 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, 2016 Edition, the System Interfaces Volume, Section 2.10.6, Socket Types.


1.6 Threads

1.6.1 Cancellation Points

Question 22: 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. Indicate which ones have cancellation points in your implementation.

Function Cancellation Point?
access()Enter_Yes_or_No
asctime_r()Enter_Yes_or_No
catclose()Enter_Yes_or_No
catopen()Enter_Yes_or_No
chmod()Enter_Yes_or_No
chown()Enter_Yes_or_No
closedir()Enter_Yes_or_No
ctermid()Enter_Yes_or_No
ctime_r()Enter_Yes_or_No
dlclose()Enter_Yes_or_No
dlopen()Enter_Yes_or_No
dprintf()Enter_Yes_or_No
faccessat()Enter_Yes_or_No
fchmod()Enter_Yes_or_No
fchmodat()Enter_Yes_or_No
fchown()Enter_Yes_or_No
fchownat()Enter_Yes_or_No
fclose()Enter_Yes_or_No
fcntl()Enter_Yes_or_No
fflush()Enter_Yes_or_No
fgetc()Enter_Yes_or_No
fgetpos()Enter_Yes_or_No
fgets()Enter_Yes_or_No
fgetwc()Enter_Yes_or_No
fgetws()Enter_Yes_or_No
fopen()Enter_Yes_or_No
fpathconf()Enter_Yes_or_No
fprintf()Enter_Yes_or_No
fputc()Enter_Yes_or_No
fputs()Enter_Yes_or_No
fputwc()Enter_Yes_or_No
fputws()Enter_Yes_or_No
fread()Enter_Yes_or_No
freopen()Enter_Yes_or_No
fscanf()Enter_Yes_or_No
fseek()Enter_Yes_or_No
fseeko()Enter_Yes_or_No
fsetpos()Enter_Yes_or_No
fstat()Enter_Yes_or_No
fstatat()Enter_Yes_or_No
ftell()Enter_Yes_or_No
ftello()Enter_Yes_or_No
futimens()Enter_Yes_or_No
fwprintf()Enter_Yes_or_No
fwrite()Enter_Yes_or_No
fwscanf()Enter_Yes_or_No
getaddrinfo()Enter_Yes_or_No
getc()Enter_Yes_or_No
getc_unlocked()Enter_Yes_or_No
getchar()Enter_Yes_or_No
getchar_unlocked()Enter_Yes_or_No
getcwd()Enter_Yes_or_No
getdelim()Enter_Yes_or_No
getgrgid_r()Enter_Yes_or_No
getgrnam_r()Enter_Yes_or_No
gethostname()Enter_Yes_or_No
getline()Enter_Yes_or_No
getlogin_r()Enter_Yes_or_No
getnameinfo()Enter_Yes_or_No
getpwnam_r()Enter_Yes_or_No
getpwuid_r()Enter_Yes_or_No
gets()Enter_Yes_or_No
getwc()Enter_Yes_or_No
getwchar()Enter_Yes_or_No
glob()Enter_Yes_or_No
iconv_close()Enter_Yes_or_No
iconv_open()Enter_Yes_or_No
link()Enter_Yes_or_No
linkat()Enter_Yes_or_No
lio_listio()Enter_Yes_or_No
localtime_r()Enter_Yes_or_No
lseek()Enter_Yes_or_No
lstat()Enter_Yes_or_No
mkdir()Enter_Yes_or_No
mkdirat()Enter_Yes_or_No
mkdtemp()Enter_Yes_or_No
mkfifo()Enter_Yes_or_No
mkfifoat()Enter_Yes_or_No
mkstemp()Enter_Yes_or_No
mktime()Enter_Yes_or_No
opendir()Enter_Yes_or_No
pathconf()Enter_Yes_or_No
perror()Enter_Yes_or_No
popen()Enter_Yes_or_No
printf()Enter_Yes_or_No
psiginfo()Enter_Yes_or_No
psignal()Enter_Yes_or_No
pthread_rwlock_rdlock()Enter_Yes_or_No
pthread_rwlock_timedrdlock()Enter_Yes_or_No
pthread_rwlock_timedwrlock()Enter_Yes_or_No
pthread_rwlock_wrlock()Enter_Yes_or_No
putc()Enter_Yes_or_No
putc_unlocked()Enter_Yes_or_No
putchar()Enter_Yes_or_No
putchar_unlocked()Enter_Yes_or_No
puts()Enter_Yes_or_No
putwc()Enter_Yes_or_No
putwchar()Enter_Yes_or_No
readdir_r()Enter_Yes_or_No
readlink()Enter_Yes_or_No
readlinkat()Enter_Yes_or_No
remove()Enter_Yes_or_No
rename()Enter_Yes_or_No
renameat()Enter_Yes_or_No
rewind()Enter_Yes_or_No
rewinddir()Enter_Yes_or_No
scandir()Enter_Yes_or_No
scanf()Enter_Yes_or_No
sigpause()Enter_Yes_or_No
stat()Enter_Yes_or_No
strerror_l()Enter_Yes_or_No
strerror_r()Enter_Yes_or_No
strftime()Enter_Yes_or_No
strftime_l()Enter_Yes_or_No
tmpfile()Enter_Yes_or_No
tmpnam()Enter_Yes_or_No
ttyname_r()Enter_Yes_or_No
tzset()Enter_Yes_or_No
ungetc()Enter_Yes_or_No
ungetwc()Enter_Yes_or_No
unlink()Enter_Yes_or_No
unlinkat()Enter_Yes_or_No
utime()Enter_Yes_or_No
utimensat()Enter_Yes_or_No
utimes()Enter_Yes_or_No
vdprintf()Enter_Yes_or_No
vfprintf()Enter_Yes_or_No
vfwprintf()Enter_Yes_or_No
vprintf()Enter_Yes_or_No
vwprintf()Enter_Yes_or_No
wcsftime()Enter_Yes_or_No
wordexp()Enter_Yes_or_No
wprintf()Enter_Yes_or_No
wscanf()Enter_Yes_or_No

Rationale

The specification states that a cancellation point may occur for these functions.

Reference

IEEE Std 1003.1, 2016 Edition, the System Interfaces Volume, Section 2.9.5, Thread Cancellation.

Product Standard, 1003.1-2016 System Interfaces


1.7 C-language Compilation Environment

Question 23: 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, 2016 Edition, The Base Definitions Volume, Chapter 13, Headers, <unistd.h>.


Question 24: 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, 2016 Edition, The Base Definitions Volume, Chapter 13, Headers, <unistd.h>.


1.8 Realtime

1.8.1 Cancelable Asynchronous I/O Operations

Question 25: What asynchronous I/O operations are cancelable with aio_cancel()?

Response

Provide a list of the operations that are cancelable in your implementation.



Rationale

The operations which are cancelable are implementation-defined.

Reference

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


1.9 Realtime Threads

1.9.1 Scheduling Policies

Question 26: If the Thread Execution Scheduling option is supported, what scheduling policy is associated with SCHED_OTHER?

Response

If the Thread Execution Scheduling option is supported, 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. If the option is not supported, type "Not Applicable".



Rationale

The specification 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, 2016 Edition, the System Interfaces Volume, Section 2.8.4, Scheduling Policies.


1.9.2 Scheduling Contention Scope

Question 27: If the Thread Execution Scheduling option is supported, what scheduling contention scopes are supported: PTHREAD_SCOPE_PROCESS, PTHREAD_SCOPE_SYSTEM, or both?

Response

If the Thread Execution Scheduling option is supported, provide a list of the supported scheduling contention scopes. If the option is not supported, type "Not Applicable".



Rationale

The specification states that conforming implementations must support PTHREAD_SCOPE_PROCESS, PTHREAD_SCOPE_SYSTEM, or both.

Reference

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


1.9.3 Default Scheduling Contention Scope

Question 28: If the Thread Execution Scheduling option is supported, what is the default scheduling contention scope when a process is created?

Response

If the Thread Execution Scheduling option is supported, indicate whether the default scheduling contention scope is PTHREAD_SCOPE_PROCESS or PTHREAD_SCOPE_SYSTEM. If the option is not supported, type "Not Applicable".



Rationale

The specification states that the default scheduling contention scope is implementation-defined.

Reference

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


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 XX November 2016
 Copyright © 1998-2016 The Open Group. All Rights Reserved.  The Open Group, UNIX and The Open Brand ("X Device") are registered trademarks 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.