Conformance Statement
Product
Standard: 1003.1-2003 System Interfaces
Organization
Green Hills Software, Inc.
Author
Roy Pollock
1. 1003.1-2003 System Interfaces
Product Information
Product Identification
Version/Release Number
Product Supplier
INTEGRITY
5.0
Green Hills Software, Inc.
MULTI
4.0.4
Green Hills Software, Inc.
Environment Specification
Level of Certification
Binary-compatible Family
Platform Specific Certification
Testing Environment
Indicator of Compliance Details
INTEGRITY 5.0 PPC, Motorola MCP750-HA with 128 MB RAM, 20 GB IDE harddisk. Built with MULTI 4.0.4 PPC
Test Suite Name: VSX-PCTS 2003
Test Suite Version: 1.0B
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. o
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.175494350822287508e-38f
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
No
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
ENOMEM
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
No
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 software
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
NoneRationale
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_TONEARESTRationale
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
regularRationale
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:1987Rationale
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:1987Rationale
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
NoneRationale
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
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, SocketsProduct 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_RAWRationale
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
To set up a conforming system environment, load the board 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, link with the libraries libposix_sys_client.a and libivfs.a.
3. Change History
Date
Name
Comment
July 14, 2004
Roy Pollock
Initial Revision
July 16, 2004
Roy Pollock
Corrections to testing environment details
July 23, 2004
Roy Pollock
Correct various mistakes related to function support
July 27, 2004
Certification Administrator
Final corrections on behalf of applicant to Question 8
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.