1
1
mirror of https://github.com/jrbrtsn/ban2fail synced 2024-06-16 03:48:03 +00:00
ban2fail/ez_es.h

145 lines
3.5 KiB
C
Raw Normal View History

2019-11-29 22:23:16 +00:00
/****************************************************************************************************************************
* NOTE: look in "es.h" for function documentation. The ez_XXX() macros here only wrap the ES_XXX() functions
* for the purpose of boilerplate error handling.
*/
#ifndef EZ_ES_H
#define EZ_ES_H
#include "es.h"
#ifdef __cplusplus
extern "C" {
#endif
2019-12-06 13:44:51 +00:00
#ifdef DEBUG
# define ez_ES_registerFd(fd, events, callback_f, ctxt) \
2019-11-29 22:23:16 +00:00
_ez_ES_registerFd(__FILE__, __LINE__, __FUNCTION__, fd, events, callback_f, ctxt)
2019-12-06 13:44:51 +00:00
#else
# define ez_ES_registerFd(fd, events, callback_f, ctxt) \
_ez_ES_registerFd(fd, events, callback_f, ctxt)
#endif
2019-11-29 22:23:16 +00:00
int _ez_ES_registerFd (
2019-12-06 13:44:51 +00:00
#ifdef DEBUG
2019-11-29 22:23:16 +00:00
const char *fileName,
int lineNo,
const char *funcName,
2019-12-06 13:44:51 +00:00
#endif
2019-11-29 22:23:16 +00:00
int fd,
short events,
int (*callback_f)(void *ctxt, int fd, short events),
void *ctxt
);
2019-12-06 13:44:51 +00:00
#ifdef DEBUG
# define ez_ES_registerSignal(signum, callback_f, ctxt) \
2019-11-29 22:23:16 +00:00
_ez_ES_registerSignal(__FILE__, __LINE__, __FUNCTION__, signum, callback_f, ctxt)
2019-12-06 13:44:51 +00:00
#else
# define ez_ES_registerSignal(signum, callback_f, ctxt) \
_ez_ES_registerSignal(signum, callback_f, ctxt)
#endif
2019-11-29 22:23:16 +00:00
int _ez_ES_registerSignal (
2019-12-06 13:44:51 +00:00
#ifdef DEBUG
2019-11-29 22:23:16 +00:00
const char *fileName,
int lineNo,
const char *funcName,
2019-12-06 13:44:51 +00:00
#endif
2019-11-29 22:23:16 +00:00
int signum,
int (*callback_f)(void *ctxt, int signo),
void *ctxt
);
2019-12-06 13:44:51 +00:00
#ifdef DEBUG
# define ez_ES_registerVSignal(signum, callback_f, ctxt) \
2019-11-29 22:23:16 +00:00
_ez_ES_registerVSignal(__FILE__, __LINE__, __FUNCTION__, signum, callback_f, ctxt)
2019-12-06 13:44:51 +00:00
#else
# define ez_ES_registerVSignal(signum, callback_f, ctxt) \
_ez_ES_registerVSignal(signum, callback_f, ctxt)
#endif
2019-11-29 22:23:16 +00:00
int _ez_ES_registerVSignal (
2019-12-06 13:44:51 +00:00
#ifdef DEBUG
2019-11-29 22:23:16 +00:00
const char *fileName,
int lineNo,
const char *funcName,
2019-12-06 13:44:51 +00:00
#endif
2019-11-29 22:23:16 +00:00
int signum,
int (*callback_f)(void *ctxt, int signo),
void *ctxt
);
2019-12-06 13:44:51 +00:00
#ifdef DEBUG
# define ez_ES_VSignal(tid, signum) \
2019-11-29 22:23:16 +00:00
_ez_ES_VSignal(__FILE__, __LINE__, __FUNCTION__, tid, signum)
2019-12-06 13:44:51 +00:00
#else
# define ez_ES_VSignal(tid, signum) \
_ez_ES_VSignal(tid, signum)
#endif
2019-11-29 22:23:16 +00:00
int _ez_ES_VSignal (
2019-12-06 13:44:51 +00:00
#ifdef DEBUG
2019-11-29 22:23:16 +00:00
const char *fileName,
int lineNo,
const char *funcName,
2019-12-06 13:44:51 +00:00
#endif
2019-11-29 22:23:16 +00:00
pthread_t tid,
int signum
);
2019-12-06 13:44:51 +00:00
#ifdef DEBUG
# define ez_ES_registerTimer(pause_ms, interval_ms, callback_f, ctxt) \
2019-11-29 22:23:16 +00:00
_ez_ES_registerTimer(__FILE__, __LINE__, __FUNCTION__, pause_ms, interval_ms, callback_f, ctxt)
2019-12-06 13:44:51 +00:00
#else
# define ez_ES_registerTimer(pause_ms, interval_ms, callback_f, ctxt) \
_ez_ES_registerTimer(pause_ms, interval_ms, callback_f, ctxt)
#endif
2019-11-29 22:23:16 +00:00
int _ez_ES_registerTimer (
2019-12-06 13:44:51 +00:00
#ifdef DEBUG
2019-11-29 22:23:16 +00:00
const char *fileName,
int lineNo,
const char *funcName,
2019-12-06 13:44:51 +00:00
#endif
2019-11-29 22:23:16 +00:00
int64_t pause_ms,
int64_t interval_ms,
int (*callback_f)(void *ctxt),
void *ctxt
);
2019-12-06 13:44:51 +00:00
#ifdef DEBUG
# define ez_ES_unregister(key) \
2019-11-29 22:23:16 +00:00
{_ez_ES_unregister(__FILE__, __LINE__, __FUNCTION__, key); (key)= 0;}
2019-12-06 13:44:51 +00:00
#else
# define ez_ES_unregister(key) \
{_ez_ES_unregister(key); (key)= 0;}
#endif
2019-11-29 22:23:16 +00:00
int _ez_ES_unregister (
2019-12-06 13:44:51 +00:00
#ifdef DEBUG
2019-11-29 22:23:16 +00:00
const char *fileName,
int lineNo,
const char *funcName,
2019-12-06 13:44:51 +00:00
#endif
2019-11-29 22:23:16 +00:00
int key
);
2019-12-06 13:44:51 +00:00
#ifdef DEBUG
# define ez_ES_run() \
2019-11-29 22:23:16 +00:00
_ez_ES_run(__FILE__, __LINE__, __FUNCTION__)
2019-12-06 13:44:51 +00:00
#else
# define ez_ES_run() \
_ez_ES_run()
#endif
2019-11-29 22:23:16 +00:00
int _ez_ES_run (
2019-12-06 13:44:51 +00:00
#ifdef DEBUG
2019-11-29 22:23:16 +00:00
const char *fileName,
int lineNo,
const char *funcName
2019-12-06 13:44:51 +00:00
#endif
2019-11-29 22:23:16 +00:00
);
#ifdef __cplusplus
}
#endif
#endif