An entry point in a program module is a location that is
known by name to the operating system and which can be referenced
by or receive control from another module. In PDS and PDSE libraries
entry points are represented by directory entries; entry points in z/OS UNIX files are
each represented by a file name in the z/OS UNIX directory
structure.
There are
five types of entry points in program modules:
- Primary entry point. This is the point that receives control
when the module is invoked by its primary, or member, name. The primary
name is the name that was specified on the NAME control statement
or the SYSLMOD dd-statement when the module was created.
- Alternate entry point. Alternate entry points are locations,
other than the primary entry, which can receive control or be referenced
from another module. An alternate entry point is defined during binding
by use of an ALIAS control statement (or ADDAlias API function) that
specifies the name of an external label in the program.
- True alias. A true alias is another name associated with
the primary entry point. It is also defined with an ALIAS control
statement, but is not an external label in the module.
- Alternate primary. MVS™ places
certain restrictions on the lengths of member names and aliases. If
you specify a name on the NAME control statement that exceeds the
8-byte limitation for member names, the binder will generate an 8-byte
primary name and store the specified name as a true alias. This alias
is referred to as the alternate primary and flagged in the
directory entry. The primary entry is also referred to as the generated
primary.
The linkage editor does not support alternate primaries or any
entry point name longer than eight bytes.
The way entry points are represented in the system depends on the
type of file in which the module is stored:
- PDSE program libraries support all of the entry point types listed
above as directory entries. The primary or generated primary name
becomes the member name and is limited to eight bytes. Alternate entry
points, true aliases and the alternate primary are stored as aliases
and are limited in length to 1024 bytes.
- Partitioned data set (PDS) program libraries support primary entry
point, alternate entry point and true alias names up to a maximum
of eight bytes. The primary entry point appears as the primary directory
entry; aliases and alternate entry points appear as alias directory
entries. Alternate primaries are not supported in a PDS.
- z/OS UNIX-resident
program objects can contain primary names and true aliases only. All
names are limited to 255 bytes, not including the path name. Alternate
entry points and alternate primary entry points are not supported. As
far as UNIX System Services
is concerned, there is no difference between primary names and alias
names.