This function is valid in all steps, however not all variables are.
The CCSID of the name of the value to set and the buffer which contains
the value depends upon the step and the CGI mode. For all steps except
Service, these parameters are in the default CCSID of the job. For the
Service step, if you are not setting a variable with the HTTP_prefix, then
the default CCSID of the job is used. For setting variables prefixed by
HTTP_in the Service step, the CGI output mode determines the CCSID
to be used. For %%MIXED%% mode, both are in EBCIDIC 37. For other
CGI modes, they are in the default CCISID of the job.
void
HTTPD_set(
unsigned char *handle, /* i; handle */
unsigned char *name, /* i; name of the value to set */
unsigned long *name_length, /* i; length of the name */
unsigned char *value, /* i; buffer containing the value */
unsigned long *value_length, /* i; length of value */
long *return_code); /* o; return code */
HTTPD_file()
Sends a file to satisfy this request. Valid only in PreExit, Service,
NameTrans, Error,and DataFilter steps.
The name of the file to send is in the default CCSID of the job.
void
HTTPD_file(
unsigned char *handle, /* i; handle */
unsigned char *name, /* i; name of file to send */
unsigned long *name_length, /* i; length of the name */
long *return_code); /* o; return code */
HTTPD_exec()
Runs a script to satisfy this request. Valid in PreExit, Service, NameTrans,
and Error steps.
The name of the script to run is in the default CCSID of the job.
void
HTTPD_LINKAGE
HTTPD_exec(
unsigned char *handle, /* i; handle */
unsigned char *name, /* i; name of script to run */
unsigned long *name_length, /* i; length of the name */
long *return_code); /* o; return code */
HTTPD_read()
This function reads the body of the clients request. It uses HTTPD_ extract
for headers. This function is valid only in the PreExit, Service, and Data
Filter steps.
For the Service step, the data CCSID is determined by the CGI mode. For
%%MIXED%% the data is in the default job CCSID and any encoded
sequences are the EBCIDIC representation of the ASCII character.For
%%EBCIDIC%% and %%EBCIDIC_JCD%% modes, the data is in the
default CCSID of the job (including the escape sequences). For
%%BINARY%% mode, no conversion is performed. For all other steps, this
is the default job CCSID.
void
HTTPD_read(
unsigned char *handle, /* i; handle */
unsigned char *value, /* i; buffer in which to place data */
unsigned long *value_length, /* i/o; buffer size/length of data */
long *return_code); /* o; return code */
Chapter7. Writing Server API programs 117