A set of ancillary services which are not directly related to EVL elements.

struct evl_version evl_get_version(void)

This function returns the available version information about the current libevl API and EVL core.

A structure of type struct evl_version containing such information is returned (this call cannot fail). The definition of this type is as follows:

struct evl_version {
	int api_level;	/* libevl.so: __EVL__ */
	int abi_level;	/* core: EVL_ABI_PREREQ, -1 for ESHI */
	const char *version_string;
  • api_level matches the value carried by the __EVL__ macro-definition when the libevl code was compiled. A list of released API versions is available in this document.

  • the abi_level is dynamically returned from the EVL core running on the current machine. Details about ABI management in EVL can be found in this document.

  • a version string which collates all the revision information available for pretty-printing.

void evl_sigdebug_handler(int sig, siginfo_t *si, void *ctxt)

This routine is a basic signal handler for the SIGDEBUG signal which simply prints out the HM diagnostics received to stdout then returns.

libevl does not install this handler by default, this is up to your application to do so if need be.

sig, si and ctxt correspond to the parameters received by the sa_sigaction handler which your application should install using sigaction() (SA_SIGINFO must be set in the action flags).

Last modified: Thu, 06 Apr 2023 15:08:57 +0200