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

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

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