For more information about compiling user exit programs, refer to IBM InfoPrint
Manager for AIX Administrator's Guide, S544-5595, or

IBM Print Services Facility

for AIX: Print Administration

.
Input Record Exit
ACIF provides an exit that enables you to add, delete, or modify records in the
input file. You can also use the exit to insert indexing information. The program
invoked at this exit is defined in the ACIF inpexit parameter.
This exit is called after each record is read from the input file. The exit can request
that the record be discarded, processed, or processed and control returned to the
exit for the next input record. The largest record that can be processed is
32756 bytes. This exit is not called when ACIF is processing resources from
directories.
In a MO:DCA-P document, indexing information can be passed in the form of a Tag
Logical Element (TLE) structured field. For more information about the TLE
structured field, see 36 The exit program can create these structured fields while
ACIF is processing the print file. This is an alternative to modifying the application
in cases where the indexing information is not consistently present in the
application output.
Note: TLEs are not supported in line-mode or mixed-mode data.
Figure 14 contains a sample C language header that describes the control block
that is passed to the exit program.
typedef struct _INPEXIT_PARMS /\ Parameters for the input record exit \/
{
char \work; /\ Address of 16-byte static work area \/
PFATTR \pfattr; /\ Address of print file attribute information \/
char \record; /\ Address of the input record \/
void \reserved1; /\ Reserved for future use \/
unsigned short recordln; /\ Length of the input record \/
unsigned short reserved2; /\ Reserved for future use \/
char request; /\ Add, delete, or process the record \/
char eof; /\ EOF indicator \/
} INPEXIT_PARMS;
Figure 14. Sample Input Record Exit C Language Header
The address of the control block containing the following parameters is passed to
the input record exit:
work (Bytes 1–4)
A pointer to a static, 16-byte memory block. The exit program can use this
parameter to save information across calls (for example, pointers to work
areas). The 16-byte work area is aligned on a full word boundary and is
initialized to binary zeros prior to the first call. The user-written exit program
must provide the code required to manage this work area.
pfattr (Bytes 5–8)
A pointer to the print file attribute data structure. See “Attributes of the Input
Print File” on page 74 for more information on the format of this data structure
and the information it contains.
66 ACIF User’s Guide