HP 3000 Manuals

Ap C. System-Dependent Information [ HP C/iX Library Reference Manual ] MPE/iX 5.0 Documentation


HP C/iX Library Reference Manual

Appendix C  System-Dependent Information 

This appendix briefly summarizes the differences between the HP C/iX
library as it is implemented on HP 3000 Series 900 computers and HP 9000
Series 700/800 computers.  Because the HP 9000 Series 700/800 are
UNIX-based (1) systems, the summary of differences given will usually
apply to other UNIX-based systems as well.  Refer to chapter 5 for
detailed descriptions of the HP C/iX library functions.  Refer to the HP 
C/HP-UX Reference Manual for complete descriptions of the HP C/HP-UX
functions.


FOOTNOTE (1) UNIX is a trademark of AT and T in the U.S. and other countries.
[REV BEG] Additional differences between POSIX/iX library functions and HP C/HP-UX library functions are described in the MPE/iX Developer's Kit Reference Manual.[REV END] This appendix is organized alphabetically by function name. For each function, a description of the behavior on both systems is provided. abort HP 9000 Series The abort function sends a signal to the 700/800: calling process to terminate it. If this signal is caught or ignored, abort returns without terminating the process. If this signal is neither caught nor ignored, a core dump is produced and a message is issued. HP 3000 Series 900: The abort function uses the QUIT intrinsic to terminate a process. This always results in process termination. No core dump is produced. access HP 9000 Series The following amode parameter bit pattern is 700/800: supported: 01 execute (search) This option checks whether a file may be executed. HP 3000 Series 900: The execute amode parameter bit pattern is not supported. brk and sbrk HP 9000 Series Newly allocated space obtained from brk and 700/800: sbrk is set to zero. HP 3000 Series 900: Newly allocated space obtained from brk and sbrk is not set to zero. malloc HP 9000 Series The default memory allocation package provided 700/800: in the C library is not the fast memory allocation package. This package is known as the malloc(3C) package. HP 3000 Series 900: The memory allocation package provided in the C library is the fast memory allocation package. This package is known as the malloc(3X) package on the HP 9000 Series 700/800. It is available on HP 9000 Series 700/800 by using the -lmalloc linker option. mktemp HP 9000 Series The string of X's in the argument to mktemp are 700/800: replaced by the current process identification number. HP 3000 Series 900: The string of X's in the argument to mktemp are replaced by a randomly generated number. open HP 9000 Series The following options are available: 700/800: O_NDELAY: This option controls whether a process blocks on an I/O request until the request is completed. O_EXCL: If O_EXCL and O_CREAT are set, open() fails if the file exists. O_SYNCIO: If a file is opened with O_SYNCIO, file system writes for that file are done through the cache to the disk as soon as possible, and the process blocks until this is completed. The O_MPEOPTS option that allows you to specify MPE-like file attributes is not available. HP 3000 Series 900: The O_MPEOPTS option is available. The O_NDELAY, O_EXCL and O_SYNCIO options are not available. read HP 9000 Series An open option is available to specify whether 700/800: or not a process should block until the read request is complete. HP 3000 Series 900: No open option is available to specify whether or not a process should block until the read request is completed. A process always blocks until the read request is complete. setjmp and longjmp HP 9000 Series The setjmp and longjmp functions save and 700/800: restore a signal mask while _setjmp and _longjmp manipulate only the stack and registers. The setjmp and longjmp functions may be able to detect a condition in which the environment of the setjmp no longer exists and recover. HP 3000 Series 900: The setjmp and longjmp functions do not save and restore a signal mask; they manipulate only the stack and registers. The setjmp and longjmp functions are not able to detect a condition in which the environment of the setjmp no longer exists. sleep HP 9000 Series The sleep function is implemented using 700/800: signals. These signals may cause the time slept to be more or less than the requested sleep time. If the actual sleep time is less than the requested sleep time, sleep returns the difference in these two times. Seconds must be less than 232. HP 3000 Series 900: The sleep function is implemented by calling the PAUSE intrinsic. Signals will not interfere with the amount of time slept. Sleep returns its argument if an error occurs, zero if no error occurs. Seconds must be less than 2,147,485. write HP 9000 Series If a write requests more bytes to be written 700/800: than there is room for, the write fails and -1 is returned. An open option is available to specify whether or not a process should block until the write request has completed. HP 3000 Series 900: If a write requests more bytes to be written than the file size limit, only as many bytes as there is room for are written. For example, if there is space for 20 bytes more in a file before reaching a limit, a write of 512 bytes returns 20. The next write of a non-zero number of bytes gives a failure return. No open option is available to specify whether or not a process should block until the write request has completed. A process blocks until the write request is completed.


MPE/iX 5.0 Documentation