Conformance Statement
|
|
Product Standard: 1003.1-2003 System Interfaces
| 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:
- AF_INET, with at least SOCK_STREAM and SOCK_DGRAM socket types
- AF_UNIX, with at least the SOCK_STREAM socket type.
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>.
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 |