| |
Home About Us A-Z Index Search • |
Organization | Hewlett-Packard |
---|---|
Author | Dave Hillman |
Product Identification | Version/Release Number | Product Supplier | |
---|---|---|---|
1. | HP-UX 9000 Operating System | Release 11.22 or later | HP |
Testing Environment | Binary-compatible Family | Portability Environment | Indicator of Compliance | Compliance Details | |
---|---|---|---|---|---|
1. |
|
| None. | Test Report from Test Suite | Test Suite:
VSU5.1.2B Test Report: HP-UX 11 22 Novenber 2002 |
Question 1: Which of the following Feature Groups are supported by the implementation?
Response
POSIX.2 C-language Binding | Yes |
Shared Memory | Yes |
Encryption | Yes |
Enhanced Internationalisation | Yes |
X/Open UNIX Extension | Yes |
The POSIX.2 C-language Binding, Shared Memory, Enhanced Internationalisation and X/Open UNIX Extension Feature Groups are mandatory for Internationalised System Calls and Libraries Extended conformance.
Support for a Feature Group can only be claimed if all interfaces in that group behave according to the relevant descriptions in System Interfaces and Headers, Issue 4, Version 2.
The interfaces in the Encryption Feature Group must exist, whether or not the Feature Group is supported, and each interface must either behave according to the description in System Interfaces and Headers, Issue 4, Version 2, or indicate an error, with errno set to [ENOSYS].
Rationale
System Interfaces and Headers, Issue 4, Version 2 states that the system may provide one or more of the Feature Groups listed. XPG4 Components, version 2 states that the POSIX.2 C-language Binding, Shared Memory, Enhanced Internationalisation and X/Open UNIX Extension Feature Groups are mandatory for compliance to the Internationalised System Calls and Libraries Extended component.
Question 2: Which of the following options, specified in the <unistd.h> header file, are available on the system?
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. | Variable |
_POSIX_VDISABLE | Terminal special characters defined in <termios.h> can be disabled using this character value. | Yes |
_POSIX_SAVED_IDS | Each process has a saved set-user-ID and a saved set-group-ID. | Yes |
_POSIX_JOB_CONTROL | Implementation supports job control. | Yes |
The variable {_POSIX_NO_TRUNC} is enabled for each path that resides (or would reside) on a long file name file system, and disabled for other paths.
All file systems shipped with the HP-UX product are long name file systems. Short name file systems can be created with the newfs(1M) utility, and converted to long name file systems with the convertfs(1M) utility.
Rationale
For a conformant implementation, all of these POSIX features must be provided. In some cases the feature need not be provided for all files or devices supported by the implementation.
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. |
|
FLT_MANT_DIG | Number of base-FLT_RADIX digits in the float significand. |
|
DBL_MANT_DIG | Number of base-FLT_RADIX digits in the double significand. |
|
LDBL_MANT_DIG | Number of base-FLT_RADIX digits in the long double significand. |
|
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. |
|
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. |
|
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. |
|
FLT_MIN_EXP | Minimum negative integer such that FLT_RADIX raised to that power minus 1 is a normalised float. |
|
DBL_MIN_EXP | Minimum negative integer such that FLT_RADIX raised to that power minus 1 is a normalised double. |
|
LDBL_MIN_EXP | Minimum negative integer such that FLT_RADIX raised to that power minus 1 is a normalised long double. |
|
FLT_MIN_10_EXP | Minimum negative integer such that 10 raised to that power is in the range of normalised floats. |
|
DBL_MIN_10_EXP | Minimum negative integer such that 10 raised to that power is in the range of normalised doubles. |
|
LDBL_MIN_10_EXP | Minimum negative integer such that 10 raised to that power is in the range of normalised long doubles. |
|
FLT_MAX_EXP | Maximum integer such that FLT_RADIX raised to that power minus 1 is a representable finite float. |
|
DBL_MAX_EXP | Maximum integer such that FLT_RADIX raised to that power minus 1 is a representable finite double. |
|
LDBL_MAX_EXP | Maximum integer such that FLT_RADIX raised to that power minus 1 is a representable finite long double. |
|
FLT_MAX_10_EXP | Maximum integer such that 10 raised to that power is in the range of representable finite floats. |
|
DBL_MAX_10_EXP | Maximum integer such that 10 raised to that power is in the range of representable finite doubles. |
|
LDBL_MAX_10_EXP | Maximum integer such that 10 raised to that power is in the range of representable finite long doubles. |
|
FLT_MAX | Maximum representable finite float. |
|
DBL_MAX | Maximum representable finite double. |
|
LDBL_MAX | Maximum representable finite long double. |
|
FLT_EPSILON | Difference between 1.0 and the least value greater than 1.0 that is representable as a float. |
|
DBL_EPSILON | Difference between 1.0 and the least value greater than 1.0 that is representable as a double. |
|
LDBL_EPSILON | Difference between 1.0 and the least value greater than 1.0 that is representable as a long double. |
|
FLT_MIN | Minimum normalised positive float. |
|
DBL_MIN | Minimum normalised positive double. |
|
LDBL_MIN | Minimum normalised positive long double. |
|
Rationale
This set of constants provides useful information regarding the underlying architecture of the implementation.
Question 4: What are the values associated with the following constants (optionally specified in the <limits.h> header file)?
Response
Macro Name | Meaning | Value |
---|---|---|
ARG_MAX | Maximum length of argument to the exec functions including the environment data. | configurable, default 2 Mbytes |
ATEXIT_MAX | Maximum number of functions that may be registered with atexit(). | 32 |
CHILD_MAX | Maximum number of processes per user ID. | configurable, default 25 |
IOV_MAX | Maximum number of iovec structures that one process has available for use with readv() or writev(). | 16 |
LINK_MAX | Maximum number of links to a single file. | 32767 |
MAX_CANON | Maximum number of bytes in a terminal canonical input line. | 512 |
MAX_INPUT | Maximum number of bytes for which space will be available in a terminal input queue. | 512 |
NAME_MAX | Maximum number of bytes in a filename (not including terminating null). | configurable, default 14 |
OPEN_MAX | Maximum number of open files that one process can have open at any one time. | 2048 |
PAGESIZE | Size of a page in bytes. | 4096 |
PAGE_SIZE | Same as PAGESIZE. If either PAGESIZE or PAGE_SIZE is defined, the other will be defined with the same value. | 4096 |
PATH_MAX | Maximum number of bytes in a pathname (including the terminating null). | 1023 |
PIPE_BUF | Maximum number of bytes that is guaranteed to be atomic when writing to a pipe. | 8192 |
STREAM_MAX | Number of streams that one process can have open at one time. | 2048 |
TZNAME_MAX | Maximum number of bytes supported for the name of a time zone. | 19 |
Rationale
Each of these limits can vary within bounds set by System Interfaces and Headers, Issue 4, Version 2. The minimum permitted value is specified in Chapter 4, <limits.h>.
Question 5: What are the values associated with the following constants specified in the <limits.h> header file?
Response
Macro Name Meaning Minimum Maximum
BC_BASE_MAX
Maximum ibase and obase values allowed by the bc utility.
99
99
BC_DIM_MAX
Maximum number of elements permitted in an array by the bc utility.
2048
2048
BC_SCALE_MAX
Maximum scale value allowed by the bc utility.
99
99
BC_STRING_MAX
Maximum length of a string constant accepted by the bc utility.
1000
1000
COLL_WEIGHTS_MAX
Maximum number of weights that can be assigned to an entry of the
LC_COLLATE order keyword in the locale definition file.
4
4
EXPR_NEST_MAX
Maximum number of expressions that can be nested within parentheses
by the expr utility.
32
32
LINE_MAX
Maximum length in bytes including the trailing newline of a utility's
input line when the utility is described as processing text files.
2048
2048
NGROUPS_MAX
Maximum number of simultaneous supplementary group IDs per process.
20
20
RE_DUP_MAX
Maximum number of repeated occurrences of a regular expression
permitted when using interval notation.
255
255
Rationale
Each of these limits can vary within bounds set by System Interfaces and Headers, Issue 4, Version 2. The minimum value that a limit can take on any conforming system is given in the corresponding _POSIX_ or _POSIX2_ 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_ or _POSIX2_ value provides a known lower bound for the range of possible values.
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_BIT | Number of bits in a char. |
|
CHAR_MAX | Maximum value of a char. |
|
INT_MAX | Maximum value of an int. |
|
LONG_BIT | Number of bits in a long int. |
|
LONG_MAX | Maximum value of a long int. |
|
MB_LEN_MAX | Maximum number of bytes in a character, for any supported locale. |
|
SCHAR_MAX | Maximum value of a signed char. |
|
SHRT_MAX | Maximum value of a short. |
|
SSIZE_MAX | Maximum value of an object of type ssize_t. |
|
UCHAR_MAX | Maximum value of an unsigned char. |
|
UINT_MAX | Maximum value of an unsigned int. |
|
ULONG_MAX | Maximum value of an unsigned long int. |
|
USHRT_MAX | Maximum value of an unsigned short int. |
|
WORD_BIT | Number of bits in a word or int. |
|
Rationale
This set of constants provides useful information regarding the underlying architecture of the implementation.
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. |
|
FOPEN_MAX | Number of streams which the implementation guarantees can be open simultaneously. |
|
L_ctermid | Maximum size of character array to hold ctermid() output. |
|
L_tmpnam | Maximum size of character array to hold tmpnam() output. |
|
TMP_MAX | Minimum number of unique filenames generated by tmpnam(), which is the maximum number of times an application can call tmpnam() reliably. |
|
Rationale
This set of constants provide useful information about the implementation.
Question 8: Which of the following option errors listed in System Interfaces and Headers, Issue 4, Version 2 are detected in the circumstances specified?
Response
Function | Error | Detected |
---|---|---|
access() | EINVAL | Yes |
ENAMETOOLONG | Yes | |
ETXTBSY | Yes | |
acos() | EDOM | Yes |
acosh() | EDOM | Yes |
asin() | EDOM | Yes |
ERANGE | Yes | |
asinh() | EDOM | Yes |
atan() | EDOM | Yes |
ERANGE | Yes | |
atanh() | EDOM | Yes |
atan2() | EDOM | Yes |
ERANGE | Yes | |
brk() | EAGAIN | No |
ENOMEM | Yes | |
catclose() | EBADF | Yes |
EINTR | Yes | |
catgets() | EBADF | Yes |
EINTR | Yes | |
EINVAL | Yes | |
ENOMSG | Yes | |
catopen() | EACCES | Yes |
EMFILE | Yes | |
ENAMETOOLONG | Yes | |
ENFILE | Yes | |
ENOENT | Yes | |
ENOMEM | Yes | |
ENOTDIR | Yes | |
cbrt() | EDOM | Yes |
ceil() | EDOM | Yes |
cfsetispeed() | EINVAL | Yes |
cfsetospeed() | EINVAL | Yes |
chdir() | ENAMETOOLONG | Yes |
chmod() | EINTR | No |
EINVAL | Yes | |
ENAMETOOLONG | Yes | |
chown() | EINTR | No |
EINVAL | Yes | |
EIO | No | |
ENAMETOOLONG | Yes | |
chroot() | ENAMETOOLONG | Yes |
close() | EIO | No |
closedir() | EBADF | Yes |
EINTR | Yes | |
cos() | EDOM | Yes |
ERANGE | Yes | |
cosh() | EDOM | Yes |
endpwent() | EIO | Yes |
erf() | EDOM | Yes |
ERANGE | Yes | |
erfc() | EDOM | Yes |
ERANGE | Yes | |
exec | ENAMETOOLONG | Yes |
ENOMEM | Yes | |
ETXTBSY | Yes | |
exp() | EDOM | Yes |
ERANGE | Yes | |
expm1() | EDOM | No |
ERANGE | Yes | |
fabs() | EDOM | No |
ERANGE | No | |
fattach() | EINVAL | Yes |
ENAMETOOLONG | Yes | |
fchdir() | EINTR | Yes |
EIO | No | |
fchmod() | EINTR | No |
EINVAL | Yes | |
fchown() | EINVAL | Yes |
EIO | No | |
EINTR | No | |
fclose() | ENXIO | No |
fcntl() | EDEADLK | Yes |
fdetach() | ENAMETOOLONG | Yes |
fdopen() | EBADF | Yes |
EINVAL | Yes | |
EMFILE | Yes | |
ENOMEM | Yes | |
fflush() | ENXIO | Yes |
fgetc() | ENOMEM | Yes |
ENXIO | Yes | |
fgetpos() | EBADF | Yes |
ESPIPE | Yes | |
fgetwc() | ENOMEM | Yes |
ENXIO | Yes | |
EILSEQ | Yes | |
fileno() | EBADF | No |
floor() | EDOM | Yes |
fmod() | EDOM | Yes |
ERANGE | Yes | |
fopen() | EINVAL | Yes |
EMFILE | Yes | |
ENAMETOOLONG | Yes | |
ENOMEN | Yes | |
ETXTBSY | Yes | |
fork() | ENOMEM | Yes |
fpathconf() | EBADF | Yes |
EINVAL | Yes | |
fprintf() | EINVAL | Yes |
EILSEQ | Yes | |
ENOMEM | Yes | |
fputc() | ENOMEM | Yes |
ENXIO | Yes | |
fputwc() | ENOMEM | Yes |
ENXIO | Yes | |
EILSEQ | Yes | |
freopen() | EINVAL | Yes |
ENAMETOOLONG | Yes | |
ENOMEM | Yes | |
ENXIO | Yes | |
ETXTBSY | Yes | |
frexp() | EDOM | Yes |
fscanf() | EILSEQ | Yes |
EINVAL | No | |
ENOMEM | No | |
ENXIO | No | |
fsetpos() | EBADF | No |
ESPIPE | No | |
fstat() | EOVERFLOW | Yes |
ftok() | ENAMETOOLONG | No |
ftw() | EINVAL | Yes |
ENAMETOOLONG | Yes | |
getcwd() | EACCES | Yes |
ENOMEM | Yes | |
getgrent() | EINTR | No |
EIO | Yes | |
EMFILE | Yes | |
ENFILE | Yes | |
getgrgid() | EIO | Yes |
EINTR | No | |
EMFILE | Yes | |
ENFILE | Yes | |
getgrnam() | EIO | Yes |
EINTR | No | |
EMFILE | Yes | |
ENFILE | Yes | |
getitimer() | EINVAL | Yes |
getlogin() | EMFILE | Yes |
ENFILE | Yes | |
ENXIO | Yes | |
getpass() | EINTR | Yes |
EIO | Yes | |
EMFILE | Yes | |
ENFILE | Yes | |
ENXIO | Yes | |
getpgid() | EINVAL | Yes |
getpwent() | EIO | Yes |
EMFILE | Yes | |
ENFILE | Yes | |
getpwnam() | EIO | Yes |
EINTR | Yes | |
EMFILE | Yes | |
ENFILE | Yes | |
getpwuid() | EIO | Yes |
EINTR | Yes | |
EMFILE | Yes | |
ENFILE | Yes | |
grantpt() | EBADF | Yes |
EINVAL | Yes | |
EACCES | No | |
hcreate() | ENOMEM | Yes |
hsearch() | ENOMEM | Yes |
hypot() | EDOM | Yes |
ERANGE | Yes | |
iconv() | EBADF | Yes |
iconv_close() | EBADF | Yes |
iconv_open() | EMFILE | Yes |
ENFILE | Yes | |
ENOMEM | Yes | |
EINVAL | Yes | |
isatty() | EBADF | Yes |
ENOTTY | Yes | |
j0() | EDOM | Yes |
ERANGE | Yes | |
j1() | EDOM | Yes |
ERANGE | Yes | |
jn() | EDOM | Yes |
ERANGE | Yes | |
lchown() | EIO | No |
EINTR | No | |
ENAMETOOLONG | Yes | |
ldexp() | EDOM | Yes |
ERANGE | Yes | |
lgamma() | EDOM | Yes |
ERANGE | Yes | |
link() | ENAMETOOLONG | Yes |
lockf() | EAGAIN | Yes |
EDEADLK | Yes | |
EINVAL | Yes | |
ENOLCK | Yes | |
EOPNOTSUPP | No | |
log() | EDOM | Yes |
ERANGE | Yes | |
log10() | EDOM | Yes |
ERANGE | Yes | |
log1p() | EDOM | Yes |
ERANGE | No | |
logb() | EDOM | Yes |
lstat() | ENAMETOOLONG | Yes |
EOVERFLOW | Yes | |
mblen() | EILSEQ | Yes |
mbstowcs() | EILSEQ | Yes |
mbtowc() | EILSEQ | Yes |
mkdir() | ENAMETOOLONG | Yes |
mkfifo() | ENAMETOOLONG | Yes |
mknod() | ENAMETOOLONG | Yes |
mmap() | EINVAL | Yes |
modf() | EDOM | Yes |
ERANGE | Yes | |
mprotect() | EAGAIN | Yes |
msync() | EBUSY | No |
nextafter() | EDOM | No |
nftw() | ELOOP | No |
EMFILE | Yes | |
ENAMETOOLONG | Yes | |
ENFILE | Yes | |
open() | EAGAIN | Yes |
EINVAL | Yes | |
ENAMETOOLONG | Yes | |
ENOMEM | No | |
ETXTBSY | Yes | |
opendir() | EMFILE | Yes |
ENAMETOOLONG | Yes | |
ENFILE | Yes | |
pathconf() | EACCES | Yes |
EINVAL | Yes | |
ENAMETOOLONG | Yes | |
ENOENT | Yes | |
ENOTDIR | Yes | |
popen() | EMFILE | No |
EINVAL | No | |
pow() | EDOM | Yes |
ERANGE | Yes | |
printf() | ENOMEM | Yes |
putenv() | ENOMEM | Yes |
pututxline() | EPERM | No |
read() | ENXIO | Yes |
readdir() | EBADF | Yes |
ENOENT | Yes | |
readlink() | EACCES | Yes |
ENAMETOOLONG | Yes | |
readv() | EINVAL | Yes |
ENXIO | Yes | |
realpath() | ENAMETOOLONG | Yes |
ENOMEM | Yes | |
regcmp() | ENOMEM | Yes |
remainder() | EDOM | Yes |
rename() | ENAMETOOLONG | Yes |
ETXTBSY | Yes | |
rint() | EDOM | No |
rmdir() | ENAMETOOLONG | Yes |
sbrk() | EAGAIN | No |
ENOMEM | Yes | |
scalb() | EDOM | No |
setitimer() | EINVAL | Yes |
setpriority() | EPERM | Yes |
EACCES | Yes | |
setpwent() | EIO | Yes |
EMFILE | Yes | |
ENFILE | Yes | |
setrlimit() | EINVAL | Yes |
setvbuf() | EBADF | No |
sigaction() | EINVAL | Yes |
sigaddset() | EINVAL | Yes |
sigdelset() | EINVAL | Yes |
sigismember() | EINVAL | Yes |
signal() | EINVAL | Yes |
sin() | EDOM | Yes |
ERANGE | Yes | |
sinh() | EDOM | Yes |
ERANGE | Yes | |
sqrt() | EDOM | Yes |
stat() | ENAMETOOLONG | Yes |
EOVERFLOW | Yes | |
statvfs() | ENAMETOOLONG | Yes |
strcoll() | EINVAL | No |
strdup() | ENOMEM | Yes |
strerror() | EINVAL | Yes |
strtod() | EINVAL | No |
strtol() | EINVAL | Yes |
strtoul() | EINVAL | Yes |
strxfrm() | EINVAL | Yes |
symlink() | ENAMETOOLONG | Yes |
system() | ECHILD | No |
tan() | EDOM | Yes |
ERANGE | Yes | |
tanh() | EDOM | Yes |
ERANGE | Yes | |
tcdrain() | EIO | Yes |
tcflow() | EIO | Yes |
tcflush() | EIO | Yes |
tcsendbreak() | EIO | Yes |
tcsetattr() | EIO | Yes |
tmpfile() | EMFILE | Yes |
ENOMEM | Yes | |
truncate() | ENAMETOOLONG | Yes |
ttyname() | EBADF | Yes |
ENOTTY | Yes | |
ungetwc() | EILSEQ | Yes |
unlink() | ENAMETOOLONG | Yes |
ETXTBSY | Yes | |
unlockpt() | EBADF | No |
EINVAL | No | |
usleep() | EINVAL | Yes |
utime() | ENAMETOOLONG | Yes |
utimes() | ENAMETOOLONG | Yes |
wait3() | ECHILD | Yes |
wcscoll() | EINVAL | Yes |
wcstod() | EINVAL | Yes |
wcstol() | EINVAL | Yes |
wcstombs() | EILSEQ | Yes |
wcstoul() | EINVAL | Yes |
wcsxfrm() | EINVAL | Yes |
write() | EINVAL | Yes |
ENXIO | Yes | |
writev() | EINVAL | Yes |
ENXIO | Yes | |
y0() | EDOM | Yes |
ERANGE | Yes | |
y1() | EDOM | Yes |
ERANGE | Yes | |
yn() | EDOM | Yes |
ERANGE | Yes |
Rationale
Each of the above error conditions is marked as optional in System Interfaces and Headers, Issue 4, Version 2 and an implementation may return this error in the circumstances specified or may not provide the error indication.
Question 9: What format of floating-point numbers is supported by this implementation?
Response
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.
Question 10: Are the optional data encryption interfaces provided?
Response
Function | Provided |
---|---|
crypt() | Yes |
encrypt() | No |
setkey() | No |
Export Restrictions:
Rationale
Normally, an implementation will either provide all three of these routines or will provide none of them at all. If the routines are not provided, then the implementation must provide a dummy interface which always raises an ENOSYS error condition.
It is also possible that the implementation of the encrypt() function may be affected by export restrictions, in which case, the restrictions should be documented here.
For example, historical implementations have supplied all three of these routines outside the U.S.A., but due to export restrictions on the decoding algorithm, a dummy version of encrypt() is provided that does encoding but no decoding.
Question 11: Which file types (regular, directory, FIFO, special, and so on) are considered to be executable?
Response
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.
Question 12: What file access control mechanisms does the implementation provide?
Response
Rationale
System Interfaces and Headers, Issue 4, Version 2 notes that implementations may provide additional or alternate file access control mechanisms, or both.
Question 13: Are any additional or alternate file access control mechanisms implemented that could cause fstat() or stat() to fail?
Response
No
Rationale
System Interfaces and Headers, Issue 4, Version 2 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.
Question 14: Does the printf() function produce character string representations for Infinity and NaN to represent the respective values?
Response
Yes
Rationale
This behaviour is often provided on systems with mathematical functions that produce these results.
Question 15: What coded character sets are supported by the implementation?
Response
Rationale
System Interface Definitions, Issue 4, Version 2 states that conforming implementations support one or more coded character sets, and that each of these includes the portable character set.
Question 16: What is the implementation's underlying internal codeset?
Response
Rationale
It is useful to be aware of the underlying codeset of the implementation.
Question 17: What networking services or other character-based I/O device types are implemented using STREAMS?
Response
Rationale
System Interfaces and Headers, Issue 4, Version 2, defines that STREAMS provide a uniform mechanism for implementing networking services and other character-based I/O. However, the specification does not mandate which device or file types should be STREAMS-based. Although applications are discouraged from making assumptions in this area, it may be that certain applications are sensitive to whether interfaces such as getmsg() and putmsg(), for example, are supported on specific device or file types.
Question 18: Does closing the master side of a pseudo-terminal flush all queued input and output?
Response
No
Rationale
The behaviour of a conforming implementation in this area is not mandated in the specification and needs to be defined.
Question 19: Does closing the slave side of a pseudo-terminal cause a zero-length message to be sent to the master?
Response
Yes
Rationale
The behaviour of a conforming implementation in this area is not mandated in the specification and needs to be defined.
Question 20: What naming conventions are associated with the master side of pseudo-terminal devices?
Response
Rationale
This information is not specified in System and Interfaces, Issue 4, Version 2, and needs to be be defined.
Question 21: What types of file can be polled?
Response
Rationale
Conformance requires that the poll() function supports regular files, terminals, pseudo-terminals, STREAMS, sockets, FIFOs and pipes. The behaviour of poll() with regards to other file types needs to be defined.
Question 22: What allocation routine(s) is provided for creating alternate stack areas?
Response
Rationale
Conformance requires that an implementation supports alternate signal stacks. The APPLICATION USAGE section of the sigaltstack() entry describes one method using malloc() to perform this function. However, the specification does not guarantee that malloc'ed space can be used in this way, nor does it define a specific alternate stack allocation routine.
Question 23: Which of the following si_code values may be generated?
Response
Signal | Code | Generated? |
---|---|---|
SIGILL | ILL_ILLOPC | Yes |
ILL_ILLOPN | Yes | |
ILLL_ILLADR | No | |
ILL_ILLTRP | No | |
ILL_PRVOPC | Yes | |
ILL_PRVREG | Yes | |
ILL_COPROC | No | |
ILL_BADSTK | No | |
SIGFPE | FPE_INTDIV | Yes |
FPE_INTOVF | Yes | |
FPE_FLTDIV | Yes | |
FPE_FLTOVF | Yes | |
FPE_FLTUND | Yes | |
FPE_FLTRES | Yes | |
FPE_FLTINV | Yes | |
FPE_FLTSUB | Yes | |
SIGSEGV | SEGV_MAPERR | Yes |
SEGV_ACCERR | Yes | |
SIGBUS | BUS_ADRALN | Yes |
BUS_ADRERR | No | |
BUS_OBJERR | No | |
SIGTRAP | TRAP_BRKPT | Yes |
TRAP_TRACE | Yes | |
SIGCHLD | CLD_EXITED | Yes |
CLD_KILLED | Yes | |
CLD_DUMPED | Yes | |
CLD_TRAPPED | No | |
CLD_STOPPED | Yes | |
CLD_CONTINUED | Yes | |
SIGPOLL | POLL_IN | Yes |
POLL_OUT | Yes | |
POLL_MSG | Yes | |
POLL_ERR | Yes | |
POLL_PRI | Yes | |
POLL_HUP | Yes |
Rationale
An Internationalised System Calls and Libraries Extended conformant system may contain limitations that prevent some of the above values from being generated.
Question 24: Does the setpgrp() function create a new session?
Response
Yes
Rationale
It is unspecified whether or not a successful call to the setpgrp() function will cause a new session to be created.
Question 25: Does the implementation provide a signal, when delivered to a process, that generates a core file?
Response
Yes
Rationale
Implementation-dependent abnormal termination actions, such as creation of a core file, may occur.
Copyright © 2000 Hewlett-Packard Company
All rights reserved.
Date | Name | Comment |
---|---|---|
16-Dec-2002 | Dave Hillman | Updated for 11.22 |
09-Jan-2001 | Larry Dwyer | Updated for 11.11 |
03-Dec-2000 | Larr Dwyer | Updated for 11.00 |
02-Sep-1997 | ApTest | Data entry |
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. All other trademarks are the property of their respective owners.