---
name: "cgiGetFile"
section: "3"
platform: "linux"
package: "cgilib"
version: "0.6-1.1+b1"
release: "Debian 11 (Bullseye)"
platforms: ["linux"]
url: "https://new.carta.tech/cgiGetFile"
---

# cgiGetFile(3)

Return information of a CGI file variable

## NAME

cgiGetFile - Return information of a CGI file variable

## SYNOPSYS

```
#include <cgi.h>

s_file *cgiGetFile (s_cgi *parms, const char *name);
```

## DESCRIPTION

This routine returns a pointer to a datastructure associated with the value of a CGI file variable.  The pointer must not be freed.

The *s\_file* structure is declared as follows:

```
typedef struct file_s {
    char   *name,
           *type,
           *filename,
           *tmpfile;
} s_file;
```

Memory allocated by this data structure is automatically freed by the final call to [**cgiFree**(3)](/cgiFree/3.md).

## RETURN VALUE

On success a pointer to the *s\_file* datastructure is returned.  If the variable wasn't transmitted or the through CGI or if the filename was empty NULL is returned.

## AUTHOR

This CGI library is written by Martin Schulze \<joey@infodrom.org\>.  If you have additions or improvements please get in touch with him.

## SEE ALSO

[**cgiGetFiles**(3)](/cgiGetFiles/3.md), [**cgiGetVariables**(3)](/cgiGetVariables/3.md), [**cgiGetCookies**(3)](/cgiGetCookies/3.md), [**cgiDebug**(3)](/cgiDebug/3.md), [**cgiInit**(3)](/cgiInit/3.md), [**cgiFree**(3)](/cgiFree/3.md).
