X-Git-Url: http://git.madism.org/?a=blobdiff_plain;f=common.h;h=f1f7c5f96fc2c38347b327803bf0246e5b5fad59;hb=48bc2d1e2bd53eb29f1ec2a70cb367cc9a859369;hp=6a885d9d01ea5d947341372326a0bcf114c4d991;hpb=b8b6ac5a6d545a000077eed217c221c7eeda2a84;p=apps%2Fpfixtools.git diff --git a/common.h b/common.h index 6a885d9..f1f7c5f 100644 --- a/common.h +++ b/common.h @@ -1,5 +1,5 @@ /******************************************************************************/ -/* postlicyd: a postfix policy daemon with a lot of features */ +/* pfixtools: a collection of postfix related tools */ /* ~~~~~~~~~ */ /* ________________________________________________________________________ */ /* */ @@ -39,6 +39,7 @@ #include #include #include +#include #include #include #include @@ -53,4 +54,22 @@ syslog(LOG_ERR, "%s:%d:%s: %s: %m", \ __FILE__, __LINE__, __func__, fun) +typedef int (*initcall_t)(void); +typedef void (*exitcall_t)(void); + +#define __init __attribute__((__used__,__section__(".mad.init"))) +#define __exit __attribute__((__used__,__section__(".mad.exit"))) + +#define module_init(fn) static initcall_t __init_##fn __init = fn; +#define module_exit(fn) static exitcall_t __exit_##fn __exit = fn; + +/* common.c */ +extern sig_atomic_t cleanexit; +extern sig_atomic_t sigint; +extern sig_atomic_t sighup; + +void common_sighandler(int sig); +void common_initialize(void); +void common_shutdown(void); + #endif