giiInit(3gii)

NAME
giiInit, giiExit - Initialize and uninitialize LibGII

SYNOPSIS
#include <ggi/gii.h>

int giiInit(void);

int giiExit(void); .SH "DESCRIPTION"

giiInit initalizes the library. This function must be called before using other LibGII functions; otherwise the results will be undefined.

giiExit uninitializes the library (after being initalized by giiInit) and automatically cleanup if necessary. This should be called after an application is finished with the library. If any GGI functions are called after the library has been uninitialized, the results will be undefined.

giiInit allows multiple invocations. A reference count is maintained, and to completely uninitialize the library, giiExit must be called as many times as giiInit has been called beforehand.

RETURN VALUE

giiInit returns 0 for OK, otherwise an error code.

giiExit returns:

0   after successfully cleaning up,

> 0 the number of 'open' giiInit calls, if there has been more than one call to giiInit. As giiInit and giiExit must be used in properly nested pairs, e.g. the first giiExit after two giiInits will return 1.

< 0 error, especially if more giiExit calls have been done than giiInit calls.

EXAMPLES

  INITIALIZE AND UNINITIALIZE LIBGII

if (!giiInit())
{
        exit(EXIT_FAILURE);  /* can't start! */
}
/* Do some libgii stuff */
giiExit();