Example of C language CGI program

To call the SAMPLEC C program, add the following lines to an HTMLform:

<form method="POST" action="/CGI-BIN/SAMPLEC.PGM">
<input name="YourInput" size=42,2>
<br>
Enter input for the C sample and click <input type="SUBMIT" value="ENTER">
<p>The output will be a screen with the text,
"YourInput=" followed by the text you typed above.
The contents of environment variable SERVER_SOFTWARE is also displayed.
</form>

The SAMPLEC program shows how to write a CGI program in C language.

/**********************************************************************/
/* */
/* Source File Name: QCSRC.SAMPLEC */
/* */
/* Module Name: SAMPLEC */
/* */
/* This sample code is provided by IBM for illustrative purposes only.*/
/* It has not been fully tested. It is provided as-is without any */
/* warranties of any kind, including but not limited to the implied */
/* warranties of merchantability and fitness for a particular purpose.*/
/* */
/* Source File Description: A sample of a C program executed as a */
/* CGI program on the AS/400 HTTP server. The program demonstrates */
/* reading standard input, reading environment variables and */
/* writing standard output. The input data comes from information */
/* typed in HTML fields. This program will read this input */
/* information and write exactly what is read to standard output. */
/* */
/* This program is a simple AS/400 ILE/C program that demonstrates */
/* the ILE/C function calls for reading standard input, reading */
/* environment variables and writing standard output. The fread() */
/* and printf() are used to read standard input and write standard */
/* output. getenv() is used to read HTTP server environment */
/* variables. The fread() and printf() are found in stdio.h header */
/* file and getenv() is found in stdlib.h. These includes are needed */
/* in any AS/400 ILE/C program reading standard input, writing */
/* standard output and reading environment variables. */
/* */
/* This program will write HTML type data to standard output. The */
/* first line of data written to standard output must be included and */
/* consists of the Content Type of the data that follows. */
/* */
/* Here are the steps to setting up and running this CGI program on */
/* the AS/400 HTTP server: */
/* */
/* 1-> Create HTML document as a member in a source physical file. */
/* 2-> Set Source type of HTML document to HTML. */
/* 3-> Create the *PGM object called SAMPLEC(CRTCMOD and CRTPGM). */
/* 4-> Check QTMHHTTP or *PUBLIC has access to document and QTMHHTP1 */
/* or *PUBLIC has access to program(DSPOBJAUT and GRTOBJAUT). */
/* (If configuration runs CGI request using Userid, The User */
/* profile specified on Userid directive must have access to */
/* program.) */
/* 5-> Set up HTTP server configuration directives(WRKHTTPCFG) */
/* 6-> Start the HTTP server instance(STRTCPSVR). */
/* 7-> Request the document from the browser. */
/* */
/* Sample the html form segment to run this sample CGI script: */
/* */
/* . */
/* . */
/* . */
94 WebProgramming Guide V4R5