External function parameter list

The assembler passes a parameter list to the external function module. Register 1 points to the parameter list, and macro ASMAEFNP maps the parameter list. Figure 27 shows the SETAF parameter list, and Figure 28 shows the SETCF parameter list. A separate copy of the external function parameter list is passed to each external function. The sections following the figures describe each of the parameters in detail.

Figure 27. SETAF external function parameter list format
                                                                      0                      31
                                                                     *-------------------------*
                                                    *--------------->| Parameter List Version  |
                                                    |                *-------------------------*
                                                    |                | Function Type           |
                                                    |                *-------------------------*
                                                    |                | Number of Parameters    |
                                                    |                *-------------------------*
                                                    |                | Return Code             |
                                                    |                *-------------------------*
                                                    |                | Flag byte               |
                                                    |                *-------------------------*
                                                    |                | Reserved                |
                                                    |                *------------*------------*
                                                    |                | Msg Length |Msg Severity|
                                                    |                *------------*------------*
                                                    |                | Return Value            |
                                                    |                *-------------------------*
                                                    |                | Parm Value 1            |
                                                    |                *-------------------------*
                                                    |                | Parm Value 2            |
                                                    |                *-------------------------*
                                                    |                |            .            |
                                                    |                |            .            |
                                                    |                |            .            |
                                                    |                *-------------------------*
                                                    |                | Parm Value n            |
                                                    |                *-------------------------*
                      0                    31       |
  *------------*     *-----------------------*      |
  | Register 1 *---->| Ptr to Request Info   *------*
  *------------*     *-----------------------*                       *-------------------------*
                     | Ptr to User Work Area *---------------------->| User Work Area 32 Bytes |
                     *-----------------------*                       *-------------------------*
                     | Ptr to Static         |                       *-------------------------*
                     | Assembler Information *---------------------->| Static Assembler Info.  |
                     *-----------------------*                       *-------------------------*
                     | Reserved              |
                     *-----------------------*                       *-------------------------*
                     | Ptr to Msg Buffer     *---------------------->| Msg Buffer (255 Bytes)  |
                     *-----------------------*                       *-------------------------*

Figure 28. SETCF external function parameter list format
                                                                      0                      31
                                                                     *-------------------------*
                                                    *--------------->| Parameter List Version  |
                                                    |                *-------------------------*
                                                    |                | Function Type           |
                                                    |                *-------------------------*
                                                    |                | Number of Parameters    |
                                                    |                *-------------------------*
                                                    |                | Return Code             |
                                                    |                *-------------------------*
                                                    |                | Flag byte               |
                                                    |                *-------------------------*
                                                    |                | Reserved                |
                                                    |                *------------*------------*
                                                    |                | Msg Length |Msg Severity|
                                                    |                *------------*------------*
                                                    |                | Return String Length    |
                                                    |                *-------------------------*
                                                    |                | Parm String 1 Length    |
                                                    |                *-------------------------*
                                                    |                | Parm String 2 Length    |
                                                    |                *-------------------------*
                                                    |                |             .           |
                                                    |                |             .           |
                                                    |                |             .           |
                                                    |                *-------------------------*
                                                    |                | Parm String n Length    |
                                                    |                *-------------------------*
                      0                    31       |
  *------------*     *-----------------------*      |
  | Register 1 *---->| Ptr to Request Info   *------*
  *------------*     *-----------------------*                       *-------------------------*
                     | Ptr to User Work Area *---------------------->| User Work Area 32 Bytes |
                     *-----------------------*                       *-------------------------*
                     | Ptr to Static         |                       *-------------------------*
                     | Assembler Information *---------------------->| Static Assembler Info.  |
                     *-----------------------*                       *-------------------------*
                     | Reserved              |                       *-------------------------*
                     *-----------------------*          *----------->|Msg Buffer (255 Bytes)   |
                     | Ptr to Msg Buffer     *----------*            *-------------------------*
                     *-----------------------*                       *-------------------------*
                     | Ptr to Return String  *---------------------->|Return Str. (1024 Bytes) |
                     *-----------------------*                       *-------------------------*
                     | Ptr to Parm String 1  *----------*            *-------------------------*
                     *-----------------------*          *----------->|Parm Str. 1 (1024 Bytes) |
                     | Ptr to Parm String 2  *----------*            *-------------------------*
                     *-----------------------*          |            *-------------------------*
                     |                    .  |          *----------->|Parm Str. 2 (1024 Bytes) |
                     |                    .  |                       *-------------------------*
                     |                    .  |                                    .
                     |                    .  |                                    .
                     |                    .  |
                     *-----------------------*                       *-------------------------*
                     | Ptr to Parm String n  *---------------------->|Parm Str. n (1024 Bytes) |
                     *-----------------------*                       *-------------------------*

The external function parameter list consists of the following addresses:


[ Top of Page | Previous Page | Next Page | Contents | Index ]