VLRQ0100 exit point format

The exit point for FTP server application request validation is QIBM_QTMF_SERVER_REQ. The exit point for FTP client application request validation is QIBM_QTMF_CLIENT_REQ. The interface that controls the parameter format for these exit points is VLRQ0100. The VLRQ0100 exit point interface contains certain parameters.

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

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)

Here are the parameter descriptions:

VLRQ0100 Parameter 1:
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. The first parameter identifies which application is calling the exit program. The following table demonstrates the possible values.
Value Application
0 FTP client program
1 FTP server program
2 REXEC server program
3 TFTP server program
VLRQ0100 Parameter 2:
Operation identifier
Input; Binary(4)
Indicates the operation (command) that the FTP user wants (requests) to perform.

The following table demonstrates the possible values when the application identifier (parameter 1) indicates the FTP client or FTP server program.

Value Operation ID Client subcommand Server subcommand
0 Start session Open, SECOpen New connection
1 Create directory/library * MKD, XMDK
2 Delete directory/library * RMD, XRMD
3 Set current directory/library LCD CWD, CDUP, XCWD, XCUP
4 List files * LIST, NLIST
5 Delete file * DELE
6 Send file APPEND, PUT, MPUT RETR
7 Receive file GET, MGET APPE, STOR, STOU
8 Rename file * RNFR, RNTO
9 Execute CL command SYSCMD RCMD, ADDm, ADDV, CRTL, CRTP, CRTS, DLTF, DLTL
Note: The asterisk symbol (*) represents control operations that the FTP client exit does not recognize. The only way a client can use these operations is with CL commands using the FTP client subcommand SYSCMD. Operation identifier 9 controls the execution of CL commands.
VLRQ0100 Parameter 3:
User profile
INPUT; Char(10)
The user profile for the FTP session.
VLRQ0100 Parameter 4:
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.
VLRQ0100 Parameter 5:
Length (in bytes) of the remote IP address (parameter 4)
INPUT; BINARY(4)
The length of the remote IP address (parameter 4).
VLRQ0100 Parameter 6:
Operation-specific information
INPUT; CHAR(*)
Information that describes the requested operation. The contents of this field depend on the values of the operation identifier (parameter 2), and the application identifier (parameter 1). For example:
For operation identifier 0 and application identifier 0
There is no operation-specific information. This field is blank.
For operation identifier 0 and application identifier 1
The operation-specific information contains the IP address of the TCP/IP interface that connects to the local host (FTP server) for this session. The format for this string is dotted decimal (123.45.67.89), left-aligned.
For operation identifiers 1 through 3
The operation-specific information contains the name of the directory or library in which to perform the operation. The format for the directory or library name is an absolute path name.
For operation identifiers 4 through 8
The operation-specific information contains the name of the file on which to perform the operation. The format for the file name is an absolute path name.
For operation identifier 9
The operation-specific information contains the Control Language (CL) command the user requests.
VLRQ0100 Parameter 7:
Length of operation-specific information.
INPUT; BINARY(4)
Indicates the length of the operation-specific information (parameter 6). Length is 0 when the exit point does not provide operation-specific information.
VLRQ0100 Parameter 8:
Allow operation.
OUTPUT; BINARY(4)
Indicates whether to allow or reject the requested operation. The following table demonstrates the possible values.
Value Description
-1 Never allow this operation identifier:

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

This operation identifier will not call the exit program again.

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.

This operation identifier will not call the exit program again.