| |
Home About Us A-Z Index Search • |
Organization | International Business Machines Corporation |
---|---|
Author | Vivian W. Morabito |
Product Identification | Version/Release Number | Product Supplier | |
---|---|---|---|
1. | z/OS | Version 1 Release 2 or later | IBM |
2. | z/OS Security Server | Version 1 Release 2 or later | IBM |
3. | z/OS C/C++ Compiler | Version 1 Release 2 or later | IBM |
Testing Environment | Binary-compatible Family | Portability Environment | Indicator of Compliance | Compliance Details | |
---|---|---|---|---|---|
1. |
|
| None. | Test Report from Test Suite | Test Suite:
VSX4 (4.5.4) / VSU5 (5.2.4) Test Report: |
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].
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. | Yes |
_POSIX_NO_TRUNC | Pathname components longer than {NAME_MAX) generate an error. | Yes |
_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 |
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. |
|
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. | 1048576 |
ATEXIT_MAX | Maximum number of functions that may be registered with atexit(). | 32 |
CHILD_MAX | Maximum number of processes per user ID. | 32767 |
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. | 65536 |
MAX_CANON | Maximum number of bytes in a terminal canonical input line. | 255 |
MAX_INPUT | Maximum number of bytes for which space will be available in a terminal input queue. | 255 |
NAME_MAX | Maximum number of bytes in a filename (not including terminating null). | 255 |
OPEN_MAX | Maximum number of open files that one process can have open at any one time. | 65535 |
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. | 16384 |
STREAM_MAX | Number of streams that one process can have open at one time. | 1000 |
TZNAME_MAX | Maximum number of bytes supported for the name of a time zone. | 9 |
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.
2
2
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.
8
300
RE_DUP_MAX
Maximum number of repeated occurrences of a regular expression
permitted when using interval notation.
255
255
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. |
|
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. |
|
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 | No | |
acos() | EDOM | Yes |
acosh() | EDOM | Yes |
asin() | EDOM | Yes |
ERANGE | Yes | |
asinh() | EDOM | No |
atan() | EDOM | No |
ERANGE | No | |
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 | No |
ceil() | EDOM | No |
cfsetispeed() | EINVAL | No |
cfsetospeed() | EINVAL | No |
chdir() | ENAMETOOLONG | Yes |
chmod() | EINTR | No |
EINVAL | No | |
ENAMETOOLONG | Yes | |
chown() | EINTR | Yes |
EINVAL | Yes | |
EIO | Yes | |
ENAMETOOLONG | Yes | |
chroot() | ENAMETOOLONG | Yes |
close() | EIO | Yes |
closedir() | EBADF | Yes |
EINTR | Yes | |
cos() | EDOM | No |
ERANGE | Yes | |
cosh() | EDOM | No |
endpwent() | EIO | No |
erf() | EDOM | No |
ERANGE | Yes | |
erfc() | EDOM | No |
ERANGE | Yes | |
exec | ENAMETOOLONG | Yes |
ENOMEM | Yes | |
ETXTBSY | No | |
exp() | EDOM | No |
ERANGE | Yes | |
expm1() | EDOM | No |
ERANGE | Yes | |
fabs() | EDOM | No |
ERANGE | No | |
fattach() | EINVAL | Yes |
ENAMETOOLONG | No | |
fchdir() | EINTR | No |
EIO | No | |
fchmod() | EINTR | No |
EINVAL | No | |
fchown() | EINVAL | No |
EIO | No | |
EINTR | No | |
fclose() | ENXIO | No |
fcntl() | EDEADLK | Yes |
fdetach() | ENAMETOOLONG | Yes |
fdopen() | EBADF | Yes |
EINVAL | Yes | |
EMFILE | No | |
ENOMEM | No | |
fflush() | ENXIO | No |
fgetc() | ENOMEM | No |
ENXIO | No | |
fgetpos() | EBADF | Yes |
ESPIPE | Yes | |
fgetwc() | ENOMEM | No |
ENXIO | No | |
EILSEQ | Yes | |
fileno() | EBADF | Yes |
floor() | EDOM | No |
fmod() | EDOM | Yes |
ERANGE | Yes | |
fopen() | EINVAL | Yes |
EMFILE | No | |
ENAMETOOLONG | No | |
ENOMEN | No | |
ETXTBSY | No | |
fork() | ENOMEM | Yes |
fpathconf() | EBADF | Yes |
EINVAL | Yes | |
fprintf() | EINVAL | No |
EILSEQ | No | |
ENOMEM | No | |
fputc() | ENOMEM | No |
ENXIO | No | |
fputwc() | ENOMEM | No |
ENXIO | No | |
EILSEQ | Yes | |
freopen() | EINVAL | Yes |
ENAMETOOLONG | No | |
ENOMEM | No | |
ENXIO | Yes | |
ETXTBSY | No | |
frexp() | EDOM | No |
fscanf() | EILSEQ | No |
EINVAL | No | |
ENOMEM | No | |
ENXIO | No | |
fsetpos() | EBADF | Yes |
ESPIPE | Yes | |
fstat() | EOVERFLOW | Yes |
ftok() | ENAMETOOLONG | Yes |
ftw() | EINVAL | No |
ENAMETOOLONG | Yes | |
getcwd() | EACCES | Yes |
ENOMEM | No | |
getgrent() | EINTR | No |
EIO | No | |
EMFILE | No | |
ENFILE | No | |
getgrgid() | EIO | No |
EINTR | No | |
EMFILE | No | |
ENFILE | No | |
getgrnam() | EIO | No |
EINTR | No | |
EMFILE | No | |
ENFILE | No | |
getitimer() | EINVAL | Yes |
getlogin() | EMFILE | Yes |
ENFILE | Yes | |
ENXIO | Yes | |
getpass() | EINTR | No |
EIO | No | |
EMFILE | No | |
ENFILE | No | |
ENXIO | No | |
getpgid() | EINVAL | Yes |
getpwent() | EIO | No |
EMFILE | No | |
ENFILE | No | |
getpwnam() | EIO | No |
EINTR | No | |
EMFILE | No | |
ENFILE | No | |
getpwuid() | EIO | No |
EINTR | No | |
EMFILE | No | |
ENFILE | No | |
grantpt() | EBADF | Yes |
EINVAL | Yes | |
EACCES | Yes | |
hcreate() | ENOMEM | Yes |
hsearch() | ENOMEM | Yes |
hypot() | EDOM | No |
ERANGE | Yes | |
iconv() | EBADF | Yes |
iconv_close() | EBADF | Yes |
iconv_open() | EMFILE | No |
ENFILE | No | |
ENOMEM | No | |
EINVAL | No | |
isatty() | EBADF | Yes |
ENOTTY | Yes | |
j0() | EDOM | No |
ERANGE | Yes | |
j1() | EDOM | No |
ERANGE | Yes | |
jn() | EDOM | No |
ERANGE | Yes | |
lchown() | EIO | Yes |
EINTR | Yes | |
ENAMETOOLONG | Yes | |
ldexp() | EDOM | No |
ERANGE | Yes | |
lgamma() | EDOM | Yes |
ERANGE | Yes | |
link() | ENAMETOOLONG | Yes |
lockf() | EAGAIN | Yes |
EDEADLK | Yes | |
EINVAL | No | |
ENOLCK | No | |
EOPNOTSUPP | No | |
log() | EDOM | Yes |
ERANGE | Yes | |
log10() | EDOM | Yes |
ERANGE | Yes | |
log1p() | EDOM | Yes |
ERANGE | Yes | |
logb() | EDOM | Yes |
lstat() | ENAMETOOLONG | Yes |
EOVERFLOW | Yes | |
mblen() | EILSEQ | No |
mbstowcs() | EILSEQ | No |
mbtowc() | EILSEQ | No |
mkdir() | ENAMETOOLONG | Yes |
mkfifo() | ENAMETOOLONG | Yes |
mknod() | ENAMETOOLONG | Yes |
mmap() | EINVAL | Yes |
modf() | EDOM | No |
ERANGE | No | |
mprotect() | EAGAIN | Yes |
msync() | EBUSY | No |
nextafter() | EDOM | No |
nftw() | ELOOP | Yes |
EMFILE | Yes | |
ENAMETOOLONG | Yes | |
ENFILE | Yes | |
open() | EAGAIN | No |
EINVAL | Yes | |
ENAMETOOLONG | Yes | |
ENOMEM | No | |
ETXTBSY | No | |
opendir() | EMFILE | Yes |
ENAMETOOLONG | Yes | |
ENFILE | Yes | |
pathconf() | EACCES | Yes |
EINVAL | Yes | |
ENAMETOOLONG | Yes | |
ENOENT | Yes | |
ENOTDIR | Yes | |
popen() | EMFILE | No |
EINVAL | Yes | |
pow() | EDOM | Yes |
ERANGE | Yes | |
printf() | ENOMEM | No |
putenv() | ENOMEM | Yes |
pututxline() | EPERM | No |
read() | ENXIO | No |
readdir() | EBADF | Yes |
ENOENT | Yes | |
readlink() | EACCES | Yes |
ENAMETOOLONG | Yes | |
readv() | EINVAL | Yes |
ENXIO | No | |
realpath() | ENAMETOOLONG | Yes |
ENOMEM | No | |
regcmp() | ENOMEM | No |
remainder() | EDOM | Yes |
rename() | ENAMETOOLONG | Yes |
ETXTBSY | No | |
rint() | EDOM | No |
rmdir() | ENAMETOOLONG | Yes |
sbrk() | EAGAIN | No |
ENOMEM | Yes | |
scalb() | EDOM | No |
setitimer() | EINVAL | Yes |
setpriority() | EPERM | Yes |
EACCES | Yes | |
setpwent() | EIO | No |
EMFILE | No | |
ENFILE | No | |
setrlimit() | EINVAL | Yes |
setvbuf() | EBADF | No |
sigaction() | EINVAL | Yes |
sigaddset() | EINVAL | Yes |
sigdelset() | EINVAL | Yes |
sigismember() | EINVAL | Yes |
signal() | EINVAL | No |
sin() | EDOM | No |
ERANGE | Yes | |
sinh() | EDOM | No |
ERANGE | Yes | |
sqrt() | EDOM | Yes |
stat() | ENAMETOOLONG | Yes |
EOVERFLOW | Yes | |
statvfs() | ENAMETOOLONG | Yes |
strcoll() | EINVAL | No |
strdup() | ENOMEM | Yes |
strerror() | EINVAL | No |
strtod() | EINVAL | No |
strtol() | EINVAL | Yes |
strtoul() | EINVAL | Yes |
strxfrm() | EINVAL | No |
symlink() | ENAMETOOLONG | Yes |
system() | ECHILD | No |
tan() | EDOM | No |
ERANGE | Yes | |
tanh() | EDOM | No |
ERANGE | Yes | |
tcdrain() | EIO | No |
tcflow() | EIO | Yes |
tcflush() | EIO | No |
tcsendbreak() | EIO | No |
tcsetattr() | EIO | No |
tmpfile() | EMFILE | Yes |
ENOMEM | Yes | |
truncate() | ENAMETOOLONG | No |
ttyname() | EBADF | No |
ENOTTY | No | |
ungetwc() | EILSEQ | No |
unlink() | ENAMETOOLONG | Yes |
ETXTBSY | No | |
unlockpt() | EBADF | Yes |
EINVAL | Yes | |
usleep() | EINVAL | Yes |
utime() | ENAMETOOLONG | Yes |
utimes() | ENAMETOOLONG | Yes |
wait3() | ECHILD | Yes |
wcscoll() | EINVAL | No |
wcstod() | EINVAL | No |
wcstol() | EINVAL | Yes |
wcstombs() | EILSEQ | No |
wcstoul() | EINVAL | No |
wcsxfrm() | EINVAL | No |
write() | EINVAL | No |
ENXIO | Yes | |
writev() | EINVAL | Yes |
ENXIO | Yes | |
y0() | EDOM | Yes |
ERANGE | Yes | |
y1() | EDOM | Yes |
ERANGE | Yes | |
yn() | EDOM | Yes |
ERANGE | Yes |
Question 9: What format of floating-point numbers is supported by this implementation?
Response
Question 10: Are the optional data encryption interfaces provided?
Response
Function | Provided |
---|---|
crypt() | Yes |
encrypt() | Yes |
setkey() | Yes |
Export Restrictions:
Question 11: Which file types (regular, directory, FIFO, special, and so on) are considered to be executable?
Response
Question 12: What file access control mechanisms does the implementation provide?
Response
Question 13: Are any additional or alternate file access control mechanisms implemented that could cause fstat() or stat() to fail?
Response
No
Question 14: Does the printf() function produce character string representations for Infinity and NaN to represent the respective values?
Response
No
Question 15: What coded character sets are supported by the implementation?
Response
Question 16: What is the implementation's underlying internal codeset?
Response
Question 17: What networking services or other character-based I/O device types are implemented using STREAMS?
Response
Question 18: Does closing the master side of a pseudo-terminal flush all queued input and output?
Response
Yes
Question 19: Does closing the slave side of a pseudo-terminal cause a zero-length message to be sent to the master?
Response
Yes
Question 20: What naming conventions are associated with the master side of pseudo-terminal devices?
Response
Question 21: What types of file can be polled?
Response
Question 22: What allocation routine(s) is provided for creating alternate stack areas?
Response
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 | Yes | |
ILL_ILLTRP | Yes | |
ILL_PRVOPC | Yes | |
ILL_PRVREG | Yes | |
ILL_COPROC | Yes | |
ILL_BADSTK | Yes | |
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 | Yes | |
BUS_OBJERR | Yes | |
SIGTRAP | TRAP_BRKPT | Yes |
TRAP_TRACE | Yes | |
SIGCHLD | CLD_EXITED | Yes |
CLD_KILLED | Yes | |
CLD_DUMPED | Yes | |
CLD_TRAPPED | Yes | |
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 |
Question 24: Does the setpgrp() function create a new session?
Response
No
Question 25: Does the implementation provide a signal, when delivered to a process, that generates a core file?
Response
No
Copyright ©
All rights reserved.
Date | Name | Comment |
---|
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.