The XPI functions

The following sections of the section provide details of the individual XPI function calls. The description of each function defines only the options that are specific to that call. Options that are applicable to all function calls are described in Making an XPI call. The following argument types are used:

name1, name2,....
Each of these refers to the name of a field of the given size in bytes. "name1" means that the name you specify should be that of a 1-byte field.
literalconst
A number in the form of a literal, for example B'00000000', X'FF', X'FCF4', "0", or an equate symbol with a similar value.
expression
A valid assembler-language expression: a decimal integer, or any arithmetic expression (including symbolic values) valid in assembler language; for example:
20; L'AREA; L'AREA+10; L'AREA+X'22'; SYMB/3+20 .
(Rn)
A register reference. The parentheses shown here are required in addition to those that surround the argument. For example: OPTION((R5)).
block-descriptor
Represents a source of both the data address and the data length fields. A block-descriptor can be either a single value or a double value. The following is the single-value form:
 
OPTION(blkdname)
 
blkdname
The name of a block-descriptor. A pair of contiguous fullwords, in which the first word contains the address of the data, and the second word contains the length in bytes of the data, as a fullword binary value. Register notation is not accepted for this single-value form.

The following is the double-value form:

 
OPTION(addr,len)
 

addr
The data address as {namea | (Ra) | aliteral}:
namea
The name of a location containing the data address
(Ra)
A register containing the data address
aliteral
An address constant literal; for example: A(data).
len
The data length as {namel | (Rn) | expression}:
namel
The name of a location containing a binary fullword giving the data length in bytes
(Rn)
A register, the contents of which specify in fullword binary the number of bytes of data
expression
A decimal integer, or any arithmetic expression, including symbolic values, valid in assembler language; for example:
L'AREA ; L'AREA+10 ; L'AREA+X'22' ; SYMB/3+20 .
buffer-descriptor
Represents a source of both the data address and the maximum data length fields. Parts of the buffer-descriptor are also reserved to act as receiving fields for output information. A buffer-descriptor can be either a single value or a multiple value. The following is the single-value form:
 
OPTION(bufdname)
 
bufdname
The name of a buffer-descriptor. A group of four contiguous fullwords, in which:
  • The first word contains the address of the data (input).
  • The second word is reserved to receive the current length in bytes of the data, as a fullword binary value (output).
  • The third word contains the maximum length in bytes of the data, as a fullword binary value (input).
  • The fourth word is reserved for use by the XPI.
Register notation is not accepted for this single-value form.

The following is the multiple-value form:

 
OPTION(addr,maxlen,*)
 

addr
The data address as {namea | (Ra) | aliteral}:
namea
The name of a location containing the data address
(Ra)
A register containing the data address
aliteral
An address constant literal, for example, A(data).
maxlen
The maximum data length as {namel | (Rn) | expression}:
namel
The name of a location containing a binary fullword giving the maximum data length in bytes
(Rn)
A register, the contents of which specify in fullword binary the maximum number of bytes of data
expression
A decimal integer, or any arithmetic expression, including symbolic values, valid in assembler language; for example:
L'AREA ; L'AREA+10 ; L'AREA+X'22' ; SYMB/3+20 .
*
A required parameter to indicate that the parameter list is to be used for the reserved fields.

Related concepts
Overview of the XPI
Global user exit XPI examples, showing the use of storage
Overview -- what is a global user exit?
Introduction to the task-related user exit mechanism (the adapter)
Related tasks
Making an XPI call
Writing global user exit programs
Writing a task-related user exit program
Related reference
List of global user exit points
[[ Contents Previous Page | Next Page Index ]]