Organization | Green Hills Software, Inc. |
---|---|
Author | Ian Kalinowski |
Product Identification | Version/Release Number | Product Supplier |
---|---|---|
INTEGRITY | PC |
Green Hills Software, Inc. |
MULTI | 4.2.1 x86 | Green Hills Software, Inc. |
Level of Certification | Binary-compatible Family |
---|---|
Platform Specific Certification |
Not Applicable |
Testing Environment | Indicator of Compliance Details |
---|---|
INTEGRITY Workstation, Intel Pentium 4 3.2 GHz, 1 GB RAM, 120 GB SATA Hard Disk, Built with MULTI 4.2.1 x86
|
Test Suite Name:
VSX-PCTS2003 Test Suite Version: 1.3 |
Question 1: Are the required features below supported for all system configurations?
Response
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. | Variable |
_POSIX_NO_TRUNC | Pathname components longer than {NAME_MAX) generate an error. | Yes |
_POSIX_CHOWN_RESTRICTED only applies to the FFS and NFS file systems. |
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.
Question 2: Which of the following options does the system claim support for?
Response
Macro Name | Meaning | Provided |
---|---|---|
_POSIX_ADVISORY_INFO | Implementation supports the advisory information option. | No |
_POSIX_ASYNCHRONOUS_IO | Implementation supports the asynchronous input and output option. | Yes |
_POSIX_BARRIERS | Implementation supports the barriers option. | No |
_POSIX_CLOCK_SELECTION | Implementation supports the clock selection option. | No |
_POSIX_CPUTIME | Implementation supports the process cpu-time clocks option. | No |
_POSIX_FSYNC | Implementation supports the file synchronization option. | Yes |
_POSIX_IPV6 | Implementation supports the IPV6 option. | No |
_POSIX_MAPPED_FILES | Implementation supports the memory mapped files option. | No |
_POSIX_MEMLOCK | Implementation supports the process memory locking option. | Yes |
_POSIX_MEMLOCK_RANGE | Implementation supports the range memory locking option. | Yes |
_POSIX_MEMORY_PROTECTION | Implementation supports the memory protection option. | No |
_POSIX_MESSAGE_PASSING | Implementation supports the message passing option. | Yes |
_POSIX_MONOTONIC_CLOCK | Implementation supports the monotonic clock option. | No |
_POSIX_PRIORITIZED_IO | Implementation supports the prioritized input and output option. | No |
_POSIX_PRIORITY_SCHEDULING | Implementation supports the process scheduling option. | No |
_POSIX_RAW_SOCKETS | Implementation supports the raw sockets option. | No |
_POSIX_REALTIME_SIGNALS | Implementation supports the realtime signals extension option. | Yes |
_POSIX_SEMAPHORES | Implementation supports the semaphores option. | Yes |
_POSIX_SHARED_MEMORY_OBJECTS | Implementation supports the shared memory objects option. | Yes |
_POSIX_SPAWN | Implementation supports the spawn option. | Yes |
_POSIX_SPIN_LOCKS | Implementation supports the spin locks option. | No |
_POSIX_SPORADIC_SERVER | Implementation supports the process sporadic server option. | No |
_POSIX_SYNCHRONIZED_IO | Implementation supports the synchronized input and output option. | No |
_POSIX_THREAD_ATTR_STACKADDR | Implementation supports the thread stack address attribute option. | Yes |
_POSIX_THREAD_CPUTIME | Implementation supports the thread cpu-time clocks option. | No |
_POSIX_THREAD_ATTR_STACKSIZE | Implementation supports the thread stack size attribute option. | Yes |
_POSIX_THREAD_PRIO_INHERIT | Implementation supports the thread priority inheritence option. | Yes |
_POSIX_THREAD_PRIO_PROTECT | Implementation supports the thread priority protection option. | Yes |
_POSIX_THREAD_PRIORITY_SCHEDULING | Implementation supports the thread execution scheduling option. | Yes |
_POSIX_THREAD_PROCESS_SHARED | Implementation supports the thread process-shared synchronization option. | No |
_POSIX_THREAD_SAFE_FUNCTIONS | Implementation supports the thread-safe functions option. | Yes |
_POSIX_THREAD_SPORADIC_SERVER | Implementation supports the thread sporadic server option. | No |
_POSIX_THREADS | Implementation supports the threads option. | Yes |
_POSIX_TIMEOUTS | Implementation supports the timeouts option. | Yes |
_POSIX_TIMERS | Implementation supports the timers option. | Yes |
_POSIX_TRACE | Implementation supports the trace option. | No |
_POSIX_TRACE_EVENT_FILTER | Implementation supports the trace event filter option. | No |
_POSIX_TRACE_INHERIT | Implementation supports the trace inherit option. | No |
_POSIX_TRACE_LOG | Implementation supports the trace log option. | No |
_POSIX_TYPED_MEMORY_OBJECTS | Implementation supports the typed memory onjects option. | 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.
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. | 2 |
FLT_MANT_DIG | Number of base-FLT_RADIX digits in the float significand. | 24 |
DBL_MANT_DIG | Number of base-FLT_RADIX digits in the double significand. | 53 |
LDBL_MANT_DIG | Number of base-FLT_RADIX digits in the long double significand. | 53 |
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. | 6 |
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. | 15 |
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. | 15 |
FLT_MIN_EXP | Minimum negative integer such that FLT_RADIX raised to that power minus 1 is a normalised float. | -125 |
DBL_MIN_EXP | Minimum negative integer such that FLT_RADIX raised to that power minus 1 is a normalised double. | -1021 |
LDBL_MIN_EXP | Minimum negative integer such that FLT_RADIX raised to that power minus 1 is a normalised long double. | -1021 |
FLT_MIN_10_EXP | Minimum negative integer such that 10 raised to that power is in the range of normalised floats. | -37 |
DBL_MIN_10_EXP | Minimum negative integer such that 10 raised to that power is in the range of normalised doubles. | -307 |
LDBL_MIN_10_EXP | Minimum negative integer such that 10 raised to that power is in the range of normalised long doubles. | -307 |
FLT_MAX_EXP | Maximum integer such that FLT_RADIX raised to that power minus 1 is a representable finite float. | 128 |
DBL_MAX_EXP | Maximum integer such that FLT_RADIX raised to that power minus 1 is a representable finite double. | 1024 |
LDBL_MAX_EXP | Maximum integer such that FLT_RADIX raised to that power minus 1 is a representable finite long double. | 1024 |
FLT_MAX_10_EXP | Maximum integer such that 10 raised to that power is in the range of representable finite floats. | 38 |
DBL_MAX_10_EXP | Maximum integer such that 10 raised to that power is in the range of representable finite doubles. | 308 |
LDBL_MAX_10_EXP | Maximum integer such that 10 raised to that power is in the range of representable finite long doubles. | 308 |
FLT_MAX | Maximum representable finite float. | 3.40282347e+38f |
DBL_MAX | Maximum representable finite double. | 1.7976931348623157e+308 |
LDBL_MAX | Maximum representable finite long double. | 1.7976931348623157e+308 |
FLT_EPSILON | Difference between 1.0 and the least value greater than 1.0 that is representable as a float. | 1.1920929e-7f |
DBL_EPSILON | Difference between 1.0 and the least value greater than 1.0 that is representable as a double. | 2.2204460492503131e-16 |
LDBL_EPSILON | Difference between 1.0 and the least value greater than 1.0 that is representable as a long double. | 2.2204460492503131e-16 |
FLT_MIN | Minimum normalised positive float. | 1.175494350822287508e-38f |
DBL_MIN | Minimum normalised positive double. | 2.2250738585072014e-308 |
LDBL_MIN | Minimum normalised positive long double. | 2.2250738585072014e-308 |
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. | 0x1000 | 0x1000 |
CHILD_MAX | Maximum number of processes per user ID. | 32 | 32 |
FILESIZEBITS | Minimum number of bits needed to represent as a signed integer value the maximum size of a regular file. | 32 | 64 |
HOST_NAME_MAX | Maximum length of a host name as returned from gethostname(). | 255 | 255 |
LINK_MAX | Maximum number of links to a single file. | 1 | 32000 |
LOGIN_NAME_MAX | Maximum length of a login name. | 9 | 9 |
MAX_CANON | Maximum number of bytes in a terminal canonical input line. | 255 | Unlimited |
MAX_INPUT | Maximum number of bytes for which space will be available in a terminal input queue. | 255 | Unlimited |
NAME_MAX | Maximum number of bytes in a filename (not including terminating null). | 16 | 255 |
OPEN_MAX | Maximum number of open files that one process can have open at any one time. | 256 | 256 |
PAGESIZE | Size of a page in bytes. | 0x1000 | 0x1000 |
PATH_MAX | Maximum number of bytes in a pathname (including the terminating null). | 1025 | 1025 |
PIPE_BUF | Maximum number of bytes that is guaranteed to be atomic when writing to a pipe. | 512 | 512 |
STREAM_MAX | Number of streams that one process can have open at one time. | 16 | 16 |
SYMLINK_MAX | Number of bytes in a symbolic link. | 1024 | 1024 |
SYMLOOP_MAX | Number of symbolic links that can be reliably traversed in the resolution of a pathname in the absence of a loop. | 32 | 32 |
TTY_NAME_MAX | Maximum length of terminal device name. | 9 | 9 |
TZNAME_MAX | Maximum number of bytes supported for the name of a time zone. | 6 | 6 |
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. | 8 | 8 |
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. | 255 |
INT_MAX | Maximum value of an int. | 0x7fffffff |
LONG_MAX | Maximum value of a long int. | 0x7fffffff |
LLONG_MAX | Maximum value of a long long. | 0x7fffffffffffffff |
MB_LEN_MAX | Maximum number of bytes in a character, for any supported locale. | 1 |
SHRT_MAX | Maximum value of a short. | 0x7fff |
SSIZE_MAX | Maximum value of an object of type ssize_t. | 0x7fffffff |
UINT_MAX | Maximum value of an unsigned int. | 0xffffffff |
ULONG_MAX | Maximum value of an unsigned long int. | 0xffffffff |
ULLONG_MAX | Maximum value of a unigsned long long. | 0xffffffffffffffff |
USHRT_MAX | Maximum value of an unsigned short int. | 0xffff |
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. | 1023 |
FOPEN_MAX | Number of streams which the implementation guarantees can be open simultaneously. | 16 |
L_ctermid | Maximum size of character array to hold ctermid() output. | 9 |
L_tmpnam | Maximum size of character array to hold tmpnam() output. | 16 |
TMP_MAX | Minimum number of unique filenames generated by tmpnam(), which is the maximum number of times an application can call tmpnam() reliably. | 1048576 |
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>.
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
Function | Error | Detected |
---|---|---|
accept() | EINVAL | Yes |
ENOMEM | Yes | |
access() | EINVAL | No |
ENAMETOOLONG | Yes | |
ETXTBSY | No | |
cfsetispeed() | EINVAL | Yes |
cfsetospeed() | EINVAL | Yes |
chdir() | ENAMETOOLONG | Yes |
ELOOP | Yes | |
chmod() | EINTR | No |
EINVAL | Yes | |
ELOOP | Yes | |
ENAMETOOLONG | Yes | |
chown() | EINTR | No |
EINVAL | No | |
EIO | Yes | |
ELOOP | Yes | |
ENAMETOOLONG | Yes | |
close() | EIO | Yes |
closedir() | EBADF | Yes |
EINTR | No | |
connect() | EACCESS | Yes |
EADDRINUSE | Yes | |
ECONNRESET | Yes | |
EHOSTUNREACH | Yes | |
EINVAL | Yes | |
ELOOP | Yes | |
ENAMETOOLONG | Yes | |
ENETDOWN | Yes | |
ENOBUFS | Yes | |
EOPNOTSUP | Yes | |
erfc() * | Range Error | Yes |
exec | ELOOP | Yes |
ENAMETOOLONG | Yes | |
ENOMEM | Yes | |
ETXTBSY | Yes | |
exp() * | Range Error | Yes |
exp2() * | Range Error | Yes |
expm1() * | Range Error | Yes |
fchdir() | EINTR | No |
EIO | Yes | |
fchmod() | EINVAL | Yes |
fchown() | EINVAL | Yes |
EIO | Yes | |
EINTR | No | |
fclose() | ENXIO | No |
fcntl() | EDEADLK | No |
fdim() * | Range Error | Yes |
fdopen() | EBADF | Yes |
EINVAL | Yes | |
EMFILE | Yes | |
ENOMEM | Yes | |
fflush() | ENXIO | No |
fgetc() | ENOMEM | Yes |
ENXIO | No | |
fgetpos() | EBADF | Yes |
ESPIPE | Yes | |
fgetwc() | ENOMEM | Yes |
ENXIO | No | |
fileno() | EBADF | Yes |
fmod() * | Range Error | Yes |
fopen() | EINVAL | Yes |
ELOOP | Yes | |
EMFILE | Yes | |
ENAMETOOLONG | Yes | |
ENOMEN | Yes | |
ETXTBSY | No | |
fork() | ENOMEM | Yes |
fpathconf() | EBADF | Yes |
EINVAL | Yes | |
fputc() | ENOMEM | Yes |
ENXIO | No | |
fputwc() | ENOMEM | Yes |
ENXIO | No | |
fread() | ENOMEM | Yes |
ENXIO | No | |
freopen() | EINVAL | Yes |
ELOOP | Yes | |
ENAMETOOLONG | Yes | |
ENOMEM | Yes | |
ENXIO | No | |
ETXTBSY | No | |
fscanf() | ENOMEM | Yes |
ENXIO | No | |
fstat() | EOVERFLOW | Yes |
ftell() | ESPIPE | Yes |
fwide() | EBADF | No |
fwprintf() | ENOMEM | Yes |
ENXIO | No | |
fwscanf() | ENOMEM | Yes |
ENXIO | No | |
getcwd() | EACCES | Yes |
ENOMEM | Yes | |
getgrgid() | EIO | No |
EINTR | No | |
EMFILE | No | |
ENFILE | No | |
getgrnam() | EIO | No |
EINTR | No | |
EMFILE | No | |
ENFILE | No | |
getlogin() | EMFILE | No |
ENFILE | No | |
ENXIO | Yes | |
getpeername() | ENOBUFS | Yes |
getpwnam() | EIO | No |
EINTR | No | |
EMFILE | No | |
ENFILE | No | |
getpwuid() | EIO | No |
EINTR | No | |
EMFILE | No | |
ENFILE | No | |
getsockname() | EINVAL | Yes |
ENOBUFS | Yes | |
getsockopt() | EACCESS | Yes |
EINVAL | Yes | |
ENOBUFS | Yes | |
if_nameindex() | ENOBUFS | Yes |
isatty() | EBADF | Yes |
ENOTTY | Yes | |
ldexp() * | Range Error | Yes |
link() | ELOOP | Yes |
ENAMETOOLONG | Yes | |
lstat() | ELOOP | Yes |
ENAMETOOLONG | Yes | |
EOVERFLOW | Yes | |
mbrlen() | EINVAL | No |
EILSEQ | No | |
mbrtowc() | EINVAL | No |
EILSEQ | No | |
mbsrtowcs() | EINVAL | No |
EILSEQ | No | |
mbstowcs() | EILSEQ | No |
mkdir() | ELOOP | Yes |
ENAMETOOLONG | Yes | |
mkfifo() | ELOOP | Yes |
ENAMETOOLONG | Yes | |
open() | EAGAIN | Yes |
EINVAL | Yes | |
ELOOP | Yes | |
ENAMETOOLONG | Yes | |
ETXTBSY | No | |
opendir() | ELOOP | Yes |
EMFILE | Yes | |
ENAMETOOLONG | Yes | |
ENFILE | Yes | |
pathconf() | EACCES | Yes |
EINVAL | Yes | |
ELOOP | Yes | |
ENAMETOOLONG | Yes | |
ENOENT | Yes | |
ENOTDIR | Yes | |
popen() | EMFILE | Yes |
EINVAL | Yes | |
pow() * | Range Error | Yes |
putc() | ENOMEM | Yes |
ENXIO | No | |
putchar() | ENOMEM | Yes |
ENXIO | No | |
puts() | ENOMEM | Yes |
ENXIO | No | |
putwc() | ENOMEM | Yes |
ENXIO | No | |
putwchar() | ENOMEM | Yes |
ENXIO | No | |
read() | EIO | Yes |
ENOBUFS | Yes | |
ENOMEM | Yes | |
ENXIO | No | |
readdir() | EBADF | Yes |
ENOENT | Yes | |
readlink() | EACCES | Yes |
ELOOP | Yes | |
ENAMETOOLONG | Yes | |
recv() | EIO | Yes |
ENOBUFS | Yes | |
ENOMEM | Yes | |
recvfrom() | EIO | Yes |
ENOBUFS | Yes | |
ENOMEM | Yes | |
recvmsg() | EIO | Yes |
ENOBUFS | Yes | |
ENOMEM | Yes | |
remove() | EBUSY | Yes |
ELOOP | Yes | |
ENAMETOOLONG | Yes | |
ETXTBSY | No | |
rename() | ELOOP | Yes |
ENAMETOOLONG | Yes | |
ETXTBSY | No | |
rmdir() | ELOOP | Yes |
ENAMETOOLONG | Yes | |
send() | EACCESS | Yes |
EIO | Yes | |
ENETDOWN | Yes | |
ENETUNREACH | Yes | |
ENOBUFS | Yes | |
sendmsg() | EACCESS | Yes |
EDESTADDRREQ | Yes | |
EHOSTUNREACH | Yes | |
EIO | Yes | |
EISCONN | Yes | |
ENETDOWN | Yes | |
ENETUNREACH | Yes | |
ENOBUFS | Yes | |
ENOBUFS | Yes | |
ENOMEM | Yes | |
sendto() | EACCESS | Yes |
EDESTADDRREQ | Yes | |
EHOSTUNREACH | Yes | |
EIO | Yes | |
EISCONN | Yes | |
ENETDOWN | Yes | |
ENETUNREACH | Yes | |
ENOBUFS | Yes | |
ENOMEM | Yes | |
setsockopt() | ENOMEM | Yes |
ENOBUFS | Yes | |
setvbuf() | EBADF | Yes |
shutdown() | ENOBUFS | Yes |
sigaction() | EINVAL | Yes |
sigaddset() | EINVAL | No |
sigdelset() | EINVAL | No |
sigismember() | EINVAL | No |
signal() | EINVAL | Yes |
sigwait() | EINVAL | Yes |
socket() | EACCESS | Yes |
ENOBUFS | Yes | |
ENOMEM | Yes | |
socketpair() | EACCESS | Yes |
ENOBUFS | Yes | |
ENOMEM | Yes | |
stat() | ELOOP | Yes |
ENAMETOOLONG | Yes | |
EOVERFLOW | Yes | |
strcoll() | EINVAL | Yes |
strerror() | EINVAL | Yes |
strtod() | EINVAL | Yes |
strtoimax() | EINVAL | Yes |
strtol() | EINVAL | Yes |
strtoul() | EINVAL | Yes |
strtoumax() | EINVAL | Yes |
strxfrm() | EINVAL | Yes |
swprintf() | ENOMEM | Yes |
ENXIO | No | |
swcsanf() | ENOMEM | Yes |
ENXIO | No | |
symlink() | ELOOP | Yes |
ENAMETOOLONG | Yes | |
system() | ECHILD | Yes |
tcdrain() | EIO | Yes |
tcflow() | EIO | Yes |
tcflush() | EIO | Yes |
tcsendbreak() | EIO | Yes |
tcsetattr() | EIO | Yes |
tmpfile() | EMFILE | Yes |
ENOMEM | No | |
towctrans() | EINVAL | No |
ttyname() | EBADF | Yes |
ENOTTY | Yes | |
ungetwc() | EILSEQ | No |
unlink() | ELOOP | Yes |
ENAMETOOLONG | Yes | |
ETXTBSY | No | |
utime() | ELOOP | Yes |
ENAMETOOLONG | Yes | |
vfscanf() | EILSEQ | No |
EINVAL | Yes | |
ENOMEM | Yes | |
ENXIO | No | |
vfwprintf() | ENOMEM | Yes |
ENXIO | No | |
vfwscanf() | ENOMEM | Yes |
ENXIO | No | |
wcrtomb() | EINVAL | No |
EILSEQ | Yes | |
wcscoll() | EINVAL | No |
wcsrtombs() | EINVAL | No |
EILSEQ | Yes | |
wcstod() | EINVAL | Yes |
wcstoimax() | EINVAL | Yes |
wcstoumax() | EINVAL | Yes |
wcstol() | EINVAL | Yes |
wcstombs() | EILSEQ | Yes |
wcstoul() | EINVAL | Yes |
wcsxfrm() | EINVAL | No |
wctrans() | EINVAL | No |
wprintf() | ENOMEM | Yes |
ENXIO | No | |
write() | ENETDOWN | No |
ENETUNREACH | No | |
ENXIO | No | |
wscanf() | ENOMEM | Yes |
ENXIO | 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.
Question 9: What format of floating-point numbers is supported by this implementation?
Response
IEEE floating-point in hardware
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
None
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
FE_TONEAREST
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
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().
Question 13: Which file types (regular, directory, FIFO, special and so on) are considered to be executable?
Response
regular
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.
Question 14: What file access control mechanisms does the implementation provide?
Response
Standard access control is provided.
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.
Question 15: Are any additional or alternate file access control mechanisms implemented that could cause fstat() or stat() to fail?
Response
No
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().
Question 16: What coded character sets are supported by the implementation?
Response
ISO 8859-1:1987
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
ISO 8859-1:1987
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.
Question 18: What is the limit the implementation places on the length of a socket's listen queue?
Response
None
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().
Question 19: What combinations of address family, socket types, and protocols does the implementation support?
Response
Address Family | Protocol | Socket Type | Supported? |
---|---|---|---|
AF_UNIX | N/A | STREAM | Yes |
AF_UNIX | N/A | SEQPACKET | No |
AF_UNIX | N/A | DGRAM | No |
AF_INET | TCP | STREAM | Yes |
AF_INET | UDP | DGRAM | Yes |
AF_INET6 | TCP | STREAM | No |
AF_INET6 | UDP | DGRAM | No |
Address Family | Protocol | Socket Type | Supported? |
---|---|---|---|
AF_INET |
N/A |
RAW |
Yes |
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
Question 20: What Socket Types does the implementation support?
Response
SOCK_STREAM, SOCK_DGRAM, SOCK_RAW
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.
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. | 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. | No |
The implementation provides a C-language compilation environment with 32-bit int, and 64-bit long, pointer and off_t types. | 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. | 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. | 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. | Yes |
The implementation provides an execution environment with 32-bit int, and 64-bit long, pointer and off_t types. | 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. | 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>.
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.
To set up a conforming system environment, load the system with the image posix_system, built under servers.gpj, or another appropriate image as detailed in the INTEGRITY Library Guide. To compile conforming client applications, compile with -fprecise and link with the libraries libposix_sys_client.a and libivfs.a.
Date | Name | Comment |
---|---|---|
October 26, 2005 | Ian Kalinowski | Initial Revision |
November 1, 2005 | Ian Kalinowski | Fixed version and floating-point information |
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.