% The contents of this file has been placed into the public domain by
% Tom Rothamel on 5 December 1999.
static char *@PREFIX@_lib_name = "@LIBNAME@";
static void *@PREFIX@_lib_handle = NULL;

static void @PREFIX@_varlink();
static void @PREFIX@_varset();
static void @PREFIX@_varget();
static void @PREFIX@_preload(int);

static void @PREFIX@_lib_open () {
	if (@PREFIX@_lib_handle) return;

	@PREFIX@_preload(1);

	@PREFIX@_lib_handle = dlopen(@PREFIX@_lib_name, RTLD_LAZY);
	if (!@PREFIX@_lib_handle) {
		error("%s\n", dlerror());
		abort();		
	}

	@PREFIX@_varlink();
}

int @PREFIX@_lib_check() {
	if (@PREFIX@_lib_handle) return -1;

	@PREFIX@_preload(0);

	@PREFIX@_lib_handle = dlopen(@PREFIX@_lib_name, RTLD_LAZY);
	if (@PREFIX@_lib_handle) {
		@PREFIX@_varlink();
		return -1;
	}

	return 0;
}

