Product Standard: 1003.1-2003 System Interfaces


Organization Green Hills Software, Inc.
Author Ian Kalinowski

1. 1003.1-2003 System Interfaces

Product Information

Product Identification Version/Release Number Product Supplier
INTEGRITY PC
Green Hills Software, Inc.
MULTI 4.2.1 x86 Green Hills Software, Inc.

Environment Specification

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

1.1 General Attributes

1.1.1 System Interfaces, Supported Features

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.


1.1.2 System Interfaces, Optional Features

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.


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


1.1.4 Error Conditions

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

Response

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.


1.1.5 Mathematical Interfaces

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


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

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.


1.3 File Handling

1.3.1 Access Control

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.


1.3.2 Files and Directories

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

Response

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


1.4 Internationalized System Interfaces

1.4.1 Coded Character Sets

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.


1.5 Sockets

1.5.1 Listen Queues

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

Response

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


1.5.2 Address Families, Socket Types, and Protocols

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

Response

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


1.5.3 Socket Types

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.


1.6 C-language Compilation Environment

Question 21: What C-language compilation environments are provided?

Response

Programming Environment Provided
The implementation provides a C-language compilation environment with 32-bit int, long, pointer and off_t types. 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>.


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.

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.


3. Change History

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.