Read from Stdin (QtmhRdStin) API
The QtmhRdStin() API allows CGI programs that are written in languages other than ILE C to read from stdin. CGI programs read from stdin when the request from the browser indicates the method that is POST. This API reads what the server has generated as input for the CGI program.
Required Parameter Group: | |||
1 | Receiver variable | Output | Char(*) |
2 | Length of receiver variable | Input | Binary(4) |
3 | Length of response available | Output | Binary(4) |
4 | Error Code | I/O | Char(*) |
The program reads all of the data in a single request. This is because the API treats each request as a request for data starting at its beginning. The API handles each request as if it was the only request.
The length of the data returned by QtmhRdStin includes all the data from stdin. This includes line-formatting characters that are normally a part of the POST data as defined by the CGI specification.
Note that the format of this data is different depending on the CGI input mode being used. For %%MIXED%% mode, the data will have American National Standard Code for Information Interchange (ASCII) hexadecimal encoded characters. For %%EBCDIC%% mode, all data including hexadecimal will be in the CCSID of the job. The server performs no conversion for %%BINARY%% mode.
Required parameter group
- Receiver variable
- OUTPUT:CHAR(*)
The output variable that contains the data read from stdin. In CGI input mode %%MIXED%%, this data is in the CCSID of the job except that the encoded characters “%xx” are still represented by the ASCII 819 octet. In %%EBCDIC%% mode, this data is in the CCSID of the job, including the escape sequences. In %%BINARY%% mode, the data is in the code page sent by the browser.
- Length of receiver variable
- INPUT:BINARY(4)
The input variable containing the number of bytes that are to be read from stdin.
- Length or response available
- OUTPUT:BINARY(4)
The output variable containing the length of the data read from stdin. If there is no data available from stdin, this variable will be set to zero.
- Error Code
- I/O:Char(*)
The structure in which to return error information. For the format of the structure and for details on how to process API errors, see the API error reporting topic in the .
Error messages
- CPF24B4 E
- Severe Error while addressing parameter list.
- CPF3C17 E
- Error occurred with input data parameter.
- CPF3C19 E
- Error occurred with receiver variable specified.
- CPF3CF1 E
- Error code parameter not valid.