|
|
|
The MPE/iX Architected Interface Facility: Operating System product provides
three types of AIFs:
- Access management AIFs
- Information access AIFs
- Functional access AIFs
Access Management Architected Interfaces
Access management AIFs provide a mechanism, the user ID, to validate user
access to operating system AIFs.
User IDs
Each purchaser of the Architected Interface Facility: Operating System product
is assigned a unique user ID. Whenever you call an AIF, you should identify
yourself by using your company's user ID.
Each AIF includes an optional user_id parameter. If your
program is only going to make a small number of AIF calls, then you'll want to
pass the user ID to each AIF as you call it; however, if your program is going
to make a lot of AIF calls, there is a more efficient method to specify your
user ID. If your application uses the AIFACCESSON AIF to pass your
user ID, all subsequent AIF calls made by your application are assumed to
belong to the same user ID. Use AIFACCESSOFF after completing the
multiple AIF calls.
 |
NOTE: You must use the user ID installed through INSTOS in
all calls to AIFs described in this manual. If you have purchased another
Architected Interface Facility product (for example, measurement interface
AIFs), you still need to call AIFACCESSON with the Architected
Interface Facility: Operating System user ID in order to call operating
system AIFs, even if you have called AIFACCESSON for the other
product.
|
What Is the Purpose of User IDs?
Architected Interface Facility user IDs are used by Hewlett-Packard Response
Centers to ensure that AIF-based software products are properly supported.
The user IDs are not intended to prevent users who have not purchased an
Architected Interface Facility product from calling AIFs; instead, user IDs
are intended to guarantee the best possible support.
Because AIFs are trusted procedures, their misuse can cause a number of system
problems (including system failures and data corruption). If this should
happen, Hewlett-Packard's Response Centers can determine the user IDs
associated with any AIF calls that result in errors. In this way, identifying
and fixing AIF-related system problems can be accomplished quickly.
Information Access Architected Interfaces
Information access AIFs provide access to MPE/iX internal table information
while abstracting the structure from the user.
The information access AIFs provide a single AIF, AIFSYSWIDEGET, that
is normally the starting point for information retrieval.
AIFSYSWIDEGET returns information on the current state of the system.
For example, it can provide a list of objects that currently exist on the
system and meet a specified set of criteria. The information provided by
AIFSYSWIDEGET can be passed to the other information access AIFs so
that more detailed information can be acquired.
Information access AIFs can be used without first using AIFSYSWIDEGET.
For example, you can call a global file information AIF by passing a known
file name.
Each information access AIF attempts to lock all of the tables associated with
that object.
Information Get and Put
In most cases, there are two types of AIF for each class of objects that
information can be accessed, an AIFnnGET and an
AIFnnPUT.
The AIFnnGET AIF returns information about a
specific object identified by the input keys. All AIFnnGET
AIFs attempt to return as much information as possible each time they are
called, returning individual item errors whenever possible. These errors are
returned in the itemstatus_array parameter for the items in
error, while the rest of the item values are returned normally.
The AIFnnPUT AIFs update relevant tables to obtain a
consistent, updated state of the system. Only a subset of the items provided
by the AIFnnGET AIFs are available to AIFnnPUT
AIFs.
Information Verification
Because there is no guarantee that the information that is returned from an
AIFnnGET AIF is still valid when an AIFnnPUT
AIF is called, each AIFnnPUT AIF allows for verification of
values to take place before a system table update occurs.
A list of items and corresponding values may be specified in the verification
arrays to the AIFnnPUT AIF. Each item is checked and validated
before attempting to do a system table update. If any single item that is to
be verified fails, the information is not placed into the system. This
verification helps prevent the system from accidentally being placed into an
undesirable state. If no verification items are specified, the system table
update is performed unconditionally.
System-Wide Information
The system wide information AIF is
The AIFSYSWIDEGET AIF is normally the first AIF called. It returns
information about a whole class of objects, instead of information about a
particular object as the other AIFs do.
The AIFSYSWIDEGET AIF enables you to specify an object class as well
as a list of criteria that you wish to apply to the objects in that class. It
applies all of the criteria to each object located, returning only those
objects that meet the criteria that you specify. The AIFSYSWIDEGET
AIF returns a list of meaningful object identifiers and, optionally, a
corresponding list of alternative input keys, when possible. You can use the
alternative input keys with other AIFs to retrieve information faster than
using the object identifiers.
The AIFSYSWIDEGET AIF may return a context key that indicates that
there are a greater number of objects available than there are elements in the
user-defined array passed to the AIF. Use this context key in a subsequent
call to retrieve the additional objects.
Accounting Information
The accounting information AIFs are
Accounting information AIFs return or update information associated with
directory objects such as users, groups, and accounts. Accounting information
AIFs use a user name, group name, or account name as input keys. The input
keys default to the calling process' user name, group name, and account name.
File Information
There are two types of file information AIFs:
- local file information AIFs
- global file information AIFs
Local File Information
Local file information AIFs are
Local file information AIFs use a PID and a process-specific file number as
input keys, with a UFID for validation. The AIFFILELGET AIF returns
PIDs of the sharers of the file and the file numbers. The returned information
can be used with subsequent calls to process information AIFs, global file
information AIFs, or other local file information AIFs.
Global File Information
Global file information AIFs are
Global file information AIFs use file names and UFIDs as input keys.
Job or Session Information
Job or session information AIFs are
Job or session AIFs return or update information associated with jobs and
sessions. They accept job numbers or session numbers as input keys, returning
or updating job or session information associated with the keys. The keys can
be obtained either from AIFSYSWIDEGET or from other means (for
example, from the SHOWJOB command). The input keys default to the
calling process's job or session number.
Process Information
Process information AIFs are
Process information AIFs accept PIDs and PINs as input keys. They return or
update process-related information. The input keys can be obtained either from
AIFSYSWIDEGET or from file information AIFs.
The AIFPROCGET AIF returns information about all of the files opened
by the process, process-specific file numbers, and UFIDs. These three can then
be used to query the file interfaces. The AIFPROCGET AIF also returns
the default account and group for the process, their names, and UFIDs. This
information can be used to query accounting information AIFs.
Reply Information
The reply information AIF requires only a reply request ID as input. It
retrieves information on a specified pending reply request. In addition to
providing the table information, it also formats the request message as it is
displayed on the console by the RECALL command.
The reply information AIF is
Spooler Information
There are two types of spooler information AIFs
- spool file information AIFs
- spooler process AIFs
Spool File Information
Spool file information AIFs are
The AIFSPFGET and AIFSPFPUT AIFs accept a file name or an
address as input keys and return or update information about files that have
been spooled.
Spooler Process Information
Spooler process information AIFs are
The AIFSPPGET and AIFSPPPUT AIFs accept device names as
input keys and return or update information about spooler processes.
System Configuration Information
System configuration information AIFs are
AIFSCGET and AIFSCPUT do not require any keys, because they
access system-wide configuration information. AIFSCGET provides
access to the configuration constants and the dynamically maintained system
variables, such as upper limits, but does not provide lists of valid objects
on the system. AIFSCPUT performs actions similar to the TUNE
and ALLOW commands, as well as some of the startup options.
Some of the configuration constants AIFSCGET and AIFSCPUT
access are the various dispatcher queue priority limits and quantums. The
dynamic system information includes the next job/session number to be
allocated, the CS average quantum for transactions, and the current
ALLOW mask.
Device Information
Device information AIFs are:
- AIFDEVCLASSGET
- AIFDEVICEGET
- AIFDEVICEPUT
AIFDEVCLASSGET retrieves information on a specific device class.
AIFDEVICEGET retrieves information on a specific device (ldev).
AIFDEVICEPUT updates information on a specific device (ldev).
Functionality Access Architected Interfaces
The Architected Interface Facility: Operating System product provides AIFs to
manage special functionality normally available only to operating system
internals. The types of functionality access provided are:
- User global area management
- Ports management
- Spooler management
- Magneto-Optical Disk Library System
- Miscellaneous utilities
While their external appearance all reflect AIF design standards, each type
differs according to the functionality the AIFs provide access to.
User Global Area Management
User global area management AIFs are:
- AIFGLOBACQ
- AIFGLOBGET
- AIFGLOBLOCK
- AIFGLOBPUT
- AIFGLOBREL
- AIFGLOBUNLOCK
User global area management AIFs enable you to share data between multiple
processes and enforce concurrence on access to this data.
Ports Management
Ports management AIFs are:
- AIFPORTCLOSE
- AIFPORTOPEN
- AIFPORTRECEIVE
- AIFPORTSEND
- AIFPORTINT
Ports management AIFs enable you to create and manage Architected Interface
Facility user ports. User ports can be used as a fast means of interprocess
communication by sending messages from one process to another. User ports do
not interfere with or provide access to system ports.
Spooler Management
Spooler management AIFs are:
- AIFSPFLINK
- AIFSPFLIST
- AIFSPPOPENQ
- AIFSPPRELEASE
- AIFSPPRESUME
- AIFSPPSHUTQ
- AIFSPPSTART
- AIFSPPSTOP
- AIFSPPSUSPEND
Spooler management AIFs enable you to manage spool files and spooler processes.
For example, you can start, stop, resume, or suspend devices. In addition, you
can link files to the MPE/iX spooler facility.
Magneto-Optical Disk Library System
Magneto-Optical Disk Library System AIFs are:
- AIFMOALLOCATE
- AIFMODEALLOCATE
- AIFMODISMOUNT
- AIFMOGET
- AIFMOPUT
- AIFMOMOUNT
Magneto-Optical Disk Library System AIFs provide a supported external
interface to optical disk library systems while extracting internal detail.
These AIF's provide a layer above the existing Media Manager routines. The
Media Manager is a set of operating system routines that are used to control a
Magneto-Optical Disk Library System. The Media Manager functions that are
provided through AIF's include: allocating and deallocating an optical media
drive, mounting and dismounting optical media, and retrieving and modifying
optical disk library system information.
Refer to the following manuals for more information:
- Installing and Using the Optical Disk Library System (C1700-90076)
- Magneto-Optical Media Management User's Guide (36398-90001)
Utilities
Utility AIFs provide miscellaneous functionality useful to application
developers.
- AIFCHANGELOGON enables you to change the logon environment of a
process.
- AIFCLOSE enables you to save files across account boundaries.
- AIFCONVADDR converts compatibility mode relative addresses to
corresponding native mode virtual addresses.
- AIFGLOBINSTALL is the programmatic equivalent of executing the
INSTOS installation utility.
- AIFTIME converts ticks and microseconds to a more meaningful
time, such as date time, clock time, or a string format.
|