VLRQ0100 exit point format

The interface that controls the parameter format for the exit point is VLRQ0100.

The following table shows the parameters and parameter format for the VLRQ0100 interface.

Table 1. Required parameter format for the VLRQ0100 exit point interface
Parameter Description Input or output Type and length
1 Application identifier Input Binary (4)
2 Operation identifier Input Binary (4)
3 User profile Input Char (10)
4 Remote IP address Input Char (*)
5 Length of remote IP address Input Binary (4)
6 Operation-specific information Input Char (*)
7 Length of operation-specific information Input Binary (4)
8 Allow operation Output Binary (4)

Parameter descriptions

Application identifier
INPUT; BINARY(4) Identifies the TCP/IP application program that is making the request. Four different TCP/IP applications share the VLRQ0100 interface. These possible values are:
0
FTP client program
1
FTP server program
2
REXEC server program
3
TFTP server program
Operation identifier
Input; Binary(4) Indicates the operation (command) that the REXEC user wants (requests) to perform.
The following list shows the possible values when the application identifier indicates the REXEC server program.
0
Start session
1
Create directory/library
2
Delete directory/library
3
Set current directory/library
4
List files
5
Delete file
6
Send file
7
Receive file
8
Rename file
9
Execute CL command (The command must have *BATCH as one of the Where allowed to run values)
Notes:
  • The 0 to 8 values represent control operations that are only for the FTP client and the FTP server.
  • The hyphen symbol (-) represents control operations that the REXEC server exit does not recognize. To determine if a command has *BATCH as one of the Where allowed to run values you need to run the DSPCMD CL command, for example, DSPCMD CMD (DSPLIB).
User profile
INPUT; Char(10) The user profile for the REXEC session.
Remote IP address
INPUT; CHAR(*) The Internet Protocol (IP) address of the remote host system. For IPv4 connections, this string is in dotted-decimal format (123.45.67.89); for IPv6 connections, this string is in colon-delimited format (FE80::204:ACFF:FE7C:C84C). The remote host can be a client or a server that is based on the setting of the application identifier parameter.
Length of remote IP address
INPUT; BINARY(4) The length (in bytes) of the remote IP address.
Operation-specific information
INPUT; CHAR(*) Information that describes the requested operation. The contents of this field depend on the values of the operation identifier, and the application identifier.
For operation identifier 0 through 8 and application identifier 2
Not applicable for the REXEC server.
For operation identifier 9 and application identifier 2
The operation-specific information contains the i5/OS control language (CL) command that the user requests.
Length of operation-specific information
INPUT; BINARY(4) Indicates the length of the operation-specific information (parameter 6). The length is 0 when the exit point does not provide operation-specific information.
Allow operation
OUTPUT; BINARY(4) Indicates whether to allow or reject the requested operation. The following list shows the possible values.
-1
Never allow this operation identifier:

Reject this operation identifier unconditionally for the remainder of the current session.

The exit program will not receive this operation identifier again during the current session.

0
Reject the operation
1
Allow the operation
2
Always allow this operation identifier:

Allow this operation identifier unconditionally for the remainder of the current session.

The exit program will not receive this operation identifier again during the current session.

VLRQ0100 exit point format usage notes

VLRQ0100 is the exit point format that is used for REXEC request validation exit point.

Incorrect output parameters If the output returned for the Allow operation parameter is not valid, then the application rejects the requested operation and posts this message to the job log:

Data from exit program for exit point &1 is missing or not valid.

Exceptions

If the application encounters any exception when calling the exit program, it posts this message to the job log:

Exception encountered for exit program &1 in library &2 for exit &3