Contact Us Contact Us

Portability Package

  Software Depot
Electronic download
Frequently asked questions
Product details and specifications

This package provides new HP-UX APIs and adds enhancements to existing HP-UX APIs for the HP-UX 11i v2 release. These new and enhanced APIs allow customers to more easily migrate applications from other UNIX operating systems such as Tru64 UNIX or Solaris.

Features and Benefits:

This package contains the following:

  • A patch for shared mmap () of /dev/zero. This feature enables shared mmap() of /dev/zero.

    HP-UX 11i v2 previously supported private mmap() of /dev/zero, while a shared mmap() of /dev/zero would fail with EINVAL. To work around this problem applications ported from other operating systems were required to change shared mmap() calls to /dev/zero to MAP_ANONYMOUS.

    With this patch, applications that have already been ported using MAP_ANONYMOUS will continue to work. Newly ported applications containing a shared mmap () to /dev/zero will no longer require a change to their source.

    The zero (7) manpage has been updated to describe this feature.

  • A patch for the getdtablesize(2) manpage (/usr/share/man/man2.Z/getdtablesize.2). The getdtablesize (2) manpage documents the getdtablesize () system call.

  • A patch for the mkdir(2) manpage (/usr/share/man/man2.Z/mkdir.2). The mkdir(2) manpage documents the mkdir() system call.

  • A new Library, Libcext that provides additional APIs to HP-UX. It includes a new set of APIs, manpages, and header files for flock(), memcntl(), mvalid(), setenv(), unsetenv(), setlinebuf(), seteuid(), and setegid(). Descriptions of these APIs can be found in their respective manpages following installation of the package.

    To use the new APIs, applications need to be compiled with the option -I /usr/include/ep and linked to the libcext library by specifying -lcext. This is documented in the manpages and an example is provided below:

    $cat foo.c

    #include <stdlib.h>

        setenv(�MYENV" "MIGRATION", 0);
    $cc -I/usr/include/ep foo.c -lcext

Information for Users of the Tru64 UNIX Migration Environment ISU:

The Libcext library contains APIs that are also available in Version 1.3 of the Tru64 UNIX Migration Environment (ME). Starting with Version 1.4 of the ME, these APIs will no longer be distributed as part of the ME.

If you are currently using these APIs, HPE recommends that you recompile/relink applications to use the APIs in the Portability Package. However, you should only do so after you have loaded the Portability Package and upgraded to Version 1.4 of the ME. Version 1.4 of the ME contains additional implementation changes which may also require recompiling/relinking, depending on your application�s API usage. Therefore, to avoid the potential need for an additional recompile/relink, HPE recommends installing both the Portability Package and Version 1.4 of the ME first. For additional details, please refer to the documentation for ME Version 1.4.


Where to Find Information:

For detailed information about the features contained in this package, see the following manpages:

getdtablesize (2)
flock (2)
memcntl (2)
mkdir (2)
mvalid (2)
setenv (3C)
seteuid (2)
setegid (2)
setlinebuf (3C)
unsetenv (3C)
zero (7)

Additional product information
Product #: PortPkg
Version: B.11.23.01
Software specification: HP-UX 11i v2 (PortPkg_B.11.23.01.depot)