---
name: "cgi_init"
section: "3"
platform: "linux"
package: "clearsilver-dev"
version: "0.10.5-6+b1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/cgi_init"
---

# cgi\_init(3)

Initialize ClearSilver CGI environment

## NAME

cgi\_init  - Initialize ClearSilver CGI environment

## SYNOPSIS

```
#include <cgi/cgi.h>
```

```
NEOERR *cgi_init (CGI **cgi, HDF *hdf);
```

## ARGUMENTS

cgi - a pointer to a CGI pointer\
 hdf\_file - the path to an HDF data set file that will also be\
 loaded into the dataset.  This will likely have to\
 a be a full path, as the HDF search paths are not\
 yet set up.  Certain things, like

## DESCRIPTION

cgi\_init initializes the ClearSilver CGI environment, including creating the HDF data set.  It will then import  the standard CGI environment variables into that dataset, will parse the QUERY\_STRING into the data set, and parse the HTTP\_COOKIE into the data set.  Note that if the var xdisplay is in the form data, cgi\_init will attempt to validate the value and launch the configured debugger on the CGI program.  These variables have to be specified in the hdf\_file pointed to by hdf\_file.  The default settings do not allow debugger launching for security reasons.

## RETURN VALUE

cgi - an allocated CGI struct, including

## SEE ALSO

[**cgi\_debug\_init**(3)](/cgi_debug_init/3.md), [**cgi\_parse**(3)](/cgi_parse/3.md), [**cgi\_destroy**(3)](/cgi_destroy/3.md), **cgi\_js\_escape**(3), **cgi\_html\_escape\_strfunc**(3), **cgi\_register\_strfuncs**(3), [**cgi\_output**(3)](/cgi_output/3.md), **parse\_rfc2388**(3), [**cgi\_url\_validate**(3)](/cgi_url_validate/3.md), **open\_upload**(3), [**cgi\_cs\_init**(3)](/cgi_cs_init/3.md), [**cgi\_url\_escape\_more**(3)](/cgi_url_escape_more/3.md), **cgi\_html\_strip\_strfunc**(3), [**cgi\_neo\_error**(3)](/cgi_neo_error/3.md), [**cgi\_redirect**(3)](/cgi_redirect/3.md), [**cgi\_filehandle**(3)](/cgi_filehandle/3.md), [**cgi\_register\_parse\_cb**(3)](/cgi_register_parse_cb/3.md), [**cgi\_url\_escape**(3)](/cgi_url_escape/3.md), [**cgi\_init**(3)](/cgi_init/3.md), [**cgi\_redirect\_uri**(3)](/cgi_redirect_uri/3.md), [**cgi\_cookie\_clear**(3)](/cgi_cookie_clear/3.md), [**cgi\_url\_unescape**(3)](/cgi_url_unescape/3.md), [**cgi\_vredirect**(3)](/cgi_vredirect/3.md), [**cgi\_display**(3)](/cgi_display/3.md), **cgi\_html\_ws\_strip**(3), [**cgi\_error**(3)](/cgi_error/3.md), [**cgi\_cookie\_set**(3)](/cgi_cookie_set/3.md), **cgi\_text\_html\_strfunc**(3), **cgi\_cookie\_authority**
