|
|
 |
|
|
 |
OpenExtensions for z/VM
Portable header files
If an application on a UNIX system is not POSIX-compliant, then you may
not be able to just move it to an OpenExtensions system and expect it to
compile. Applications that are not POSIX-compliant may include headers
that are not supported by OpenExtensions application services. Porting an
application that does not conform to those standards requires that the
you inspect any headers that may not be present on an OpenExtensions system
and determine whether or not the application really requires them. As you
know, headers can contain all 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.
Here is a list of some headers that you will not find on an
OpenExtensions system (this list is not comprehensive):
| <access.h> |
OpenExtensions's equivalent
interfaces are
in <unistd.h>, per POSIX |
| <ar.h> |
No equivalent at this time |
| <cur01.h> |
The <cur01.h> header is not standardized; replace it with
<curses.h> |
| <dir.h> |
OpenExtensions supports
<dirent.h> per POSIX |
| <macros.h> |
No equivalent at this time |
| <termio.h> |
OpenExtensions supports
<termios.h> per POSIX |
| <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
IBM OpenExtensions for z/VM:
Callable Services Reference, SC24-5726.
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 |
| <usersec.h> |
No equivalent at this time |
| <userpw.h> |
No equivalent at this time |
|
|
|