---
name: "ggi-error"
section: "3"
platform: "linux"
package: "libgii1"
version: "1:1.0.2-4.1"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/gg-error"
---

# ggi-error(3)

GGI error definitions

Part of [gg-error(3)](/gg-error/3.md).

## NAME

**gg-error**, **gii-error**, **ggi-error** - GGI error definitions

## SYNOPSIS

```
#include <ggi/errors.h>
```

## DESCRIPTION

GGI return code policy is usually (unless otherwise noted):

```
== 0 on normal completion
 > 0 when giving additional hints or returning positiv integer data
 < 0 for errors
```

GGI error codes are of the form GGI\_\* and are guaranteed to be negative (except GGI\_OK of course, which is guaranteed to be zero).

The following error codes are defined:

```
GGI_OK                  0     /* All is well */
GGI_ENOMEM            -20     /* Out of memory */
GGI_ENOFILE           -21     /* File does not exist */
GGI_ENODEVICE         -22     /* Input/Output device can not be opened */
GGI_EARGREQ           -23     /* Required argument missing */
GGI_EARGINVAL         -24     /* Invalid argument(s) */
GGI_ENOTALLOC         -25     /* Trying to use or deallocate a resource that
                                 was not previously allocated */
GGI_EFATAL            -26     /* Fatal error - the state of the target of
                                 the operation is undefined */
GGI_EBADFILE          -27     /* Error reading (config) file */
GGI_ENOSPACE          -28     /* Out of space / range */
GGI_ENOFUNC           -29     /* Function not implemented */
GGI_EBUSY             -30     /* Object is busy */
GGI_ENOTFOUND         -31     /* The requested object was not found */
GGI_EEXCLUSIVE        -32     /* Tried to get non-exclusive access to object
                                 which only supports exclusive access */
GGI_ENOMATCH          -33     /* No matching entry found */
GGI_EEVUNKNOWN        -40     /* Unknown event sent to or received from
                                 input source */
GGI_EEVNOTARGET       -41     /* No apropriate target for for sent event */
GGI_EEVOVERFLOW       -42     /* Overflow when queuing event */
GGI_EUNKNOWN          -99     /* Unknown error */
```

The values -1 to -19 are reserved for extensions. See their error manpage for the details.
