NAME
giiInit, giiExit - Initialize and uninitialize LibGII
SYNOPSIS
#include <ggi/gii.h>
int giiInit(void);
int giiExit(void);
DESCRIPTION
giiInit initializes the library. This function must be called before
using other LibGII functions; otherwise the results will be undefined.
giiExit uninitializes the library (after being initialized 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 gii-error(3) 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 giiInit
will return 1.
<0 gii-error(3), 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();
SEE ALSO
giiMTInit(3), giiOpen(3)