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_ERROR(3) FreeBSD Library Functions Manual AG_ERROR(3)

AG_Error
agar error handling

#define _USE_AGAR_STD /* If macros without AG_ prefix are desired */
#include <agar/core.h>

This manual page describes the error handling system which is used by all Agar libraries, and available to applications as well.

void
AG_SetError(const char *fmt, ...);


const char *
AG_GetError(void);


void
AG_FatalError(const char *fmt, ...);


void
AG_SetFatalCallback(void (*callback)(const char *msg));


const char *
AG_Strerror(int errno);

The AG_SetError() function sets the error message string using a printf(3) like format string. AG_GetError() returns the error message string last set by AG_SetError(). If Agar was compiled with thread support, the error message string is kept in thread-local storage, so these functions are thread-safe.

The AG_FatalError() function outputs the given error message to the user and causes abnormal termination of the program.

AG_SetFatalCallback() function sets a user provided callback to be called by AG_FatalError() instead of simply terminating the process. The callback is expected to do program-specific cleanup and then terminate the program itself. An error message is passed to the callback via the msg argument.

The AG_Strerror() function returns an error message for the given platform-specific error code (e.g., on POSIX platforms, the argument should be a valid errno(2) value).

void
AG_Verbose(const char *fmt, ...);


void
AG_Debug(AG_Object *obj, const char *fmt, ...);


void
AG_SetVerboseCallback(int (*fn)(const char *msg));


void
AG_SetDebugCallback(int (*fn)(const char *msg));

These functions output a string to the debugging console used by the application (usually stdio(3)).

AG_Verbose() outputs a string if the global agVerbose variable is set.

The AG_Debug() function outputs a string on the debugging console of obj, assuming the object either has the AG_OBJECT_DEBUG flag set, or the global agDebugLvl is >= 1. The name of the object is included in the message string. The obj parameter can be NULL in which case the message is output on the debug console when agDebugLvl is >= 1.

AG_SetVerboseCallback() and AG_SetDebugCallback() arrange for the specified function to be invoked by AG_Verbose() and AG_Debug(). If the callback routine returns 1, the message will not be printed.

void *
AG_Malloc(size_t len);


void *
AG_TryMalloc(size_t len);


void *
AG_Realloc(void *p, size_t len);


void *
AG_TryRealloc(void *p, size_t len);


void
AG_Free(void *p);

The AG_Malloc() function calls malloc(3) and raises a fatal error if the memory cannot be allocated. The AG_TryMalloc() variant also calls malloc(3), but sets the standard error message and returns NULL if the memory cannot be allocated.

AG_Realloc() calls realloc(3) and raises a fatal error if the memory cannot be allocated. The AG_TryRealloc() variant sets the standard error message and returns NULL if the memory cannot be reallocated. If p is NULL, AG_Realloc() and AG_TryRealloc() simply invoke malloc(3).

AG_Free() calls free(3). If p is NULL, it is a no-op.

AG_Intro(3), AG_Object(3), AG_Threads(3)

The AG_Error interface first appeared in Agar 1.0
November 16, 2007 FreeBSD 13.1-RELEASE

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.