For more information on using and modifying these programs, refer to t

theasciinp.c source file that is provided with /usr/lpp/psf/acifPSF for AIX in the directory.

Index Record Exit

ACIF provides an exit that allows you to modify or ignore the recor writes in the index object file. The program invoked at this exit ACIF indxexit parameter.

This exit receives control before a record (structured field) is object file. The exit program can request that the record be igno The largest record that can be processed is 32752 bytes (this do record descriptor word).

 

Figure 15

contains

a sample

C language

header that describes the

con

 

that is passed to the exit program.

 

 

 

 

 

 

 

 

 

 

 

typedef struct _INDXEXIT_PARMS /\ Parameters for the index ￿record exit

\/

 

 

 

 

{

 

 

 

 

 

 

 

 

 

 

char

\work;

/\ Address of 16-byte static work area

\/

 

 

 

 

PFATTR

\pfattr;

/\ Address of print file attribute information \/

 

 

 

 

char

\record;

/\ Address of the record to be written

\/

 

 

 

 

unsigned short

recordln; /\ Length of the output index record

\/

 

 

 

 

char

request;

/\ Delete or process the record

\/

 

 

 

 

char

eof;

/\ Last call indicator to ACIF

\/

 

 

 

 

} INDXEXIT_PARMS;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Figure 15. Sample Index Record Exit C Language Header

 

 

 

 

 

 

 

The

address of the control block containing

the

following parameters

i

 

the

index

record

exit:

 

 

 

 

 

 

 

work

(Bytes

1–4)

 

 

 

 

 

 

 

 

A

pointer to a

static,

16-byte memory

block.

The exit program can

parameter to save information across calls (for example, pointers t areas). The 16-byte work area is aligned on a full word boundary

initialized

to

binary

 

zeros prior to the first call. The user-wri

must

provide

the code

required

to manage

this work

area.

 

pfattr

(Bytes

5–8)

 

 

 

 

 

 

 

 

A pointer to the print

file attribute data structure. See

“Attrib

Print File”

on page 74

 

for more information on the format of this

and

the

information it

 

contains.

 

 

 

 

record

(Bytes

9–12)

 

 

 

 

 

 

 

A pointer to the first byte of the index record including the

character.

The

record

resides

in a 32KB (where KB equals

1024

The

buffer

resides

in storage

allocated

by ACIF,

but the

exit

to

modify the

index

record.

 

 

 

 

recordln (Bytes 13–14)

Specifies the length, in bytes, of the index record. If the i modified, this parameter must also be updated to reflect the a record.

Chapter 4. User Exits and Attributes of the 69Input Print File

Page 89
Image 89
IBM S544-5285-01 manual Sample Index Record Exit C Language Header