GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
AG_CORE(3) FreeBSD Library Functions Manual AG_CORE(3)

AG_Coreagar core library initialization

#include <agar/core.h>

The Agar-Core library implements the AG_Object(3) system and provides interfaces to common operating system services (filesystems, network APIs, threads, etc). Agar-GUI is built on top of AG_Core, but Agar-Core itself contains no GUI-related code and may be installed independently.

For a complete listing of available subsystems and interfaces, see the “AGAR-CORE” section of AG_Intro(3).

int
(const char *progname, Uint flags);


void
(void (*fn)(void));


void
(void);


void
(void);

The () function initializes the AG_Core library. progname is an optional identifier for the program. This name may be used to construct platform-specific directory paths. Unless the AG_CREATE_DATADIR flags option is set, the progname argument can be NULL.

Available flags options include:

AG_VERBOSE
Allow errors/warnings on the standard error output.
AG_CREATE_DATADIR
Check that the application data directory exists, create it if necessary (or fail if it cannot be created). It contains the state of objects saved by AG_ObjectSave(3). The default is $HOME/.progname/ on Unix and platform-dependent elsewhere.
AG_SOFT_TIMERS
Don't use OS-provided timer mechanisms (such as BSD kqueue(2), Linux timerfd or select(2)). Timers will be handled either by explicitely updating a software-based timing wheel (see AG_ProcessTimeouts(3)), or some other mechanism.
AG_POSIX_USERS
If both AG_User(3) modules "getenv" and "posix" are available, prefer "posix". This is not the default because "posix" incurs potential startup overhead while initially accessing the password database (and $HOME is all Agar needs for its own purposes).

The () registers a function that will be invoked automatically by AG_Destroy().

() terminates the application by releasing resources allocated by AG_Core and invoking exit(2).

The () function releases all resources allocated by the AG_Core library.

void
AG_GetVersion(AG_AgarVersion *ver);


bool
(int major, int minor, int patchlevel);

The () function fills an AG_AgarVersion structure with version information:

typedef struct ag_agar_version {
	int major;
	int minor;
	int patch;
	const char *release;
} AG_AgarVersion;

Agar does not need to have been previously initialized for () to work.

The () macro evaluates to true if the current Agar version is equal to, or exceeds the given version number.

The following program initializes Agar-Core and prints the Agar version and release information:

int
main(int argc, char *argv[])
{
	AG_AgarVersion *ver;

	if (AG_InitCore("myProgram", 0) == -1) {
		AG_Verbose("AG_InitCore: %s\n", AG_GetError());
		return (1);
	}

	AG_GetVersion(&ver);
	AG_Verbose("Hello Agar %d.%d.%d (\"%s\")\n",
	    ver.major, ver.minor, ver.patch, ver.release);

	AG_Destroy()
	return (0);
}

AG_Config(3), AG_DataSource(3), AG_Db(3), AG_DSO(3), AG_Error(3), AG_Event(3), AG_EventLoop(3), AG_Execute(3), AG_File(3), AG_Intro(3), AG_Limits(3), AG_Net(3), AG_Object(3), AG_String(3), AG_TextElement(3), AG_Threads(3), AG_Time(3), AG_Timer(3), AG_User(3), AG_Variable(3), AG_Version(3)

The AG_InitCore() function first appeared in Agar 1.0. The AG_CREATE_DATADIR option appeared in Agar 1.3.3. AG_SOFT_TIMERS in Agar 1.5.0 and AG_POSIX_USERS in Agar 1.6.0.

December 21, 2022 Agar 1.7

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.