A UNIX application that is not POSIX- or XPG4-compliant, may not port to a z/OS UNIX system and compile. Applications that are not POSIX- or XPG4-compliant may include headers that are not supported by z/OS UNIX application services. For these applications, you must first determine if it contains any headers that are not supported on a z/OS UNIX system. If these applications do contain unsupported headers, you must then determine if they are needed by the application. Header files can contain many kinds of things, from macros that simply exist for convenience to prototypes for functions that may or may not exist on a particular UNIX system.

This is a list of some headers that you will not find on a z/OS UNIX system (this list is not comprehensive):

<access.h> Equivalent interfaces are in , per POSIX and XPG4.
<ar.h> No equivalent at this time
<arpa/ftp.h> No equivalent; you can "borrow" a file from a UNIX system and use it.
<cur01.h> The <cur01.h> header is not standardized; replace it with <curses.h>
<dir.h> z/OS UNIX supports <dirent.h> per POSIX and XPG4
<macros.h> No equivalent at this time
<select.h> Use <sys/time.h>, as per XPG4 V2. This header contains the prototype for select() and macros like FD_SET, among other things.
<sys/ldr.h> No equivalent at this time
<sys/mntctl.h> No equivalent at this time
<sys/mode.h> This header is non-portable. We use <modes.h> but the standards do not specifically refer to this header. An include for <fcntl.h> is more portable.
<sys/param.h> This header is often unnecessary. Try removing the includes for it and see what falls out.
<sys/ptrace.h> Although we don't have this header file, we have a kernel interface (BPX1PTR, see the Callable Services book). The main reason we have this callable service is for the dbx debugger, which was ported from AIX. Much of what AIX's <sys/ptrace.h> defines shows up in the assembler macro BPXYPTRC. It should be possible to create a header file based on the macro.
<sys/reg.h> No equivalent at this time
<sys/vmount.h> No equivalent at this time
<sys/vnode.h> No equivalent at this time
<termio.h> OS/390 UNIX supports <termios.h> per POSIX and XPG4
<usersec.h> No equivalent at this time
<userpw.h> No equivalent at this time

Contact IBM

Browse z/OS