cgiInit(3) Initializes CGI library


#include <cgi.h>

s_cgi *cgiInit ();


This routine initializes the CGI routines. Mainly it reads in and decodes CGI data for later processing. If the program is not called via CGI interface the user is prompted to type in CGI variable bindings via stdin - just like does. There is no limit in the number of variable bindings.

If HTTP Cookies are used (through the variable HTTP_COOKIE) this routine will parse them as well and assign them to internal variables. There is no limit in the number of cookies.

To set a cookie you'll have to use the cgiSetHeader(3) routine. Some clients allow 4kB of Cookies while others only allow short ones. Some clients may also allow only 200 Cookies for a certain domain/path pair.

This routine normally is the first or second that is called from this library. Only cgiDebug() may be called before. If debugging is enabled this routine produces some additional output.

The library supports both the regular GET and POST methods as well as multipart/form-data.

Memory allocated by this library is freed with the cgiFree(3) function.


On success a set of CGI variable bindings is returned that is needed for later processing. If an error occurs NULL is returned.


This CGI library is written by Martin Schulze <[email protected]>. If you have additions or improvements please get in touch with him.