Example of C language CGI program

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

<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:

*/

/*

 

*/

/*

.

*/

/*

.

*/

/*

.

*/

94Web Programming Guide V4R5

Page 104
Image 104
IBM AS/400E manual Example of C language CGI program

AS/400E specifications

The IBM AS/400E, now more commonly known as IBM i, is a robust and versatile midrange server that has been designed to provide a comprehensive computing solution for businesses of all sizes. First introduced in the late 1980s, the AS/400 series has undergone multiple enhancements and rebranding, with the AS/400E being one of the notable iterations. This powerful platform is closely associated with IBM's commitment to reliability, scalability, and integrated business solutions.

One of the main features of the AS/400E is its highly integrated architecture that combines hardware and software into a cohesive system. This integration allows for seamless operations, reducing the complexity typically associated with managing disparate systems. The system is powered by IBM's proprietary OS/400 operating system, which has evolved into IBM i, featuring advanced capabilities like object-oriented programming, integrated database management, and security features that are essential for enterprise environments.

A key characteristic of the AS/400E is its robust database support, primarily through the use of DB2 for i. This integrated database management system enables efficient data handling and retrieval, facilitating real-time business analytics and reporting. Furthermore, the platform supports a variety of programming languages, including RPG, COBOL, and Java, making it flexible for developers who require diverse tools for application development.

The AS/400E is also known for its exceptional reliability and uptime, making it a preferred choice for critical business applications in industries such as finance, healthcare, and manufacturing. This reliability is backed by advanced error detection and correction mechanisms, as well as redundancy features that help prevent data loss and minimize downtime.

In terms of scalability, the AS/400E can effortlessly expand to accommodate growing business demands. Organizations can increase processing power by adding more resources without significant disruption. This scalability, combined with the system’s built-in virtualization capabilities, allows businesses to optimize resource usage and streamline operations.

Security is another defining feature of the AS/400E. The platform incorporates various layers of security measures, including user authentication, encryption, and comprehensive auditing capabilities, ensuring that sensitive business data is protected against unauthorized access.

Overall, the IBM AS/400E remains a powerful tool in the enterprise computing landscape, providing businesses with an integrated, reliable, and secure solution for their technological needs. Its enduring popularity is a testament to its capability to evolve with changing business requirements while maintaining its core attributes of high performance and stability.