X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Finclude%2Fctdl_module.h;h=9f74e34994e6ddb1aaf8c51a373e30602bc67d26;hb=4eae28a9f066cdd025cefceda2de3fbbccfc8303;hp=a96cdffe5bea402ac2693267a4e800350d2e1b3a;hpb=66f09fdd7c3f58e13ed01431dd5148302327ca6e;p=citadel.git diff --git a/citadel/include/ctdl_module.h b/citadel/include/ctdl_module.h index a96cdffe5..9f74e3499 100644 --- a/citadel/include/ctdl_module.h +++ b/citadel/include/ctdl_module.h @@ -120,6 +120,10 @@ #define PRIO_UNSTEALTH 45000 /* Priorities for EVT_STEALTH */ #define PRIO_STEALTH 50000 +void CtdlRegisterTDAPVetoHook(int (*fcn_ptr)(StrBuf*), int EventType, int Priority); +void CtdlUnregisterTDAPVetoHook(int (*fcn_ptr) (StrBuf*), int EventType); + + void CtdlRegisterSessionHook(void (*fcn_ptr)(void), int EventType, int Priority); void CtdlUnregisterSessionHook(void (*fcn_ptr)(void), int EventType); void CtdlShutdownServiceHooks(void); @@ -130,10 +134,10 @@ void CtdlUnregisterUserHook(void (*fcn_ptr)(struct ctdluser *), int EventType); void CtdlRegisterXmsgHook(int (*fcn_ptr)(char *, char *, char *, char *), int order); void CtdlUnregisterXmsgHook(int (*fcn_ptr)(char *, char *, char *, char *), int order); -void CtdlRegisterMessageHook(int (*handler)(struct CtdlMessage *), - int EventType); -void CtdlUnregisterMessageHook(int (*handler)(struct CtdlMessage *), +void CtdlRegisterMessageHook(int (*handler)(struct CtdlMessage *, recptypes*), int EventType); +void CtdlUnregisterMessageHook(int (*handler)(struct CtdlMessage *, recptypes *), + int EventType); void CtdlRegisterNetprocHook(int (*handler)(struct CtdlMessage *, char *) ); void CtdlUnregisterNetprocHook(int (*handler)(struct CtdlMessage *, char *) ); @@ -361,7 +365,7 @@ struct config { int c_pop3s_port; int c_smtps_port; char c_auto_cull; - char c_instant_expunge; + char c_niu_5; char c_allow_spoofing; char c_journal_email; char c_journal_pubmsgs; @@ -386,10 +390,52 @@ struct config { int c_spam_flag_only; int c_guest_logins; }; +struct configlen { + long c_nodename; + long c_fqdn; + long c_humannode; + long c_phonenum; + long c_twitroom; + long c_moreprompt; + long c_site_location; + long c_sysadm; + long c_niu_2; + long c_ip_addr; + long c_logpages; + long c_baseroom; + long c_aideroom; + long c_ldap_host; + long c_ldap_base_dn; + long c_ldap_bind_dn; + long c_ldap_bind_pw; + long c_journal_dest; + long c_default_cal_zone; + long c_funambol_host; + long c_funambol_source; + long c_funambol_auth; + long c_master_user; + long c_master_pass; + long c_pager_program; +}; + +#define SET_CFGSTRBUF(which, buffer) configlen.which = safestrncpy(config.which, ChrPtr(buffer), sizeof(config.which)) +#define SET_CFGSTR(which, buffer) configlen.which = safestrncpy(config.which, buffer, sizeof(config.which)) extern struct config config; +extern struct configlen configlen; +#define NODENAME config.c_nodename +#define FQDN config.c_fqdn +#define CTDLUID config.c_ctdluid +#define CREATAIDE config.c_creataide +#define REGISCALL config.c_regiscall +#define TWITDETECT config.c_twitdetect +#define TWITROOM config.c_twitroom +#define RESTRICT_INTERNET config.c_restrict + +#define CFG_KEY(which) config.which, configlen.which + typedef void (*CfgLineParser)(const CfgLineType *ThisOne, StrBuf *Line, const char *LinePos, OneRoomNetCfg *rncfg); typedef void (*CfgLineSerializer)(const CfgLineType *ThisOne, StrBuf *OuptputBuffer, OneRoomNetCfg *rncfg, RoomNetCfgLine *data); typedef void (*CfgLineDeAllocator)(const CfgLineType *ThisOne, RoomNetCfgLine **data); @@ -524,9 +570,6 @@ void CtdlUserLogout(void); /* * Expose API calls from msgbase.c */ -char *CtdlGetSysConfig(char *sysconfname); -void CtdlPutSysConfig(char *sysconfname, char *sysconfdata); - @@ -536,4 +579,5 @@ void CtdlPutSysConfig(char *sysconfname, char *sysconfdata); long CtdlLocateMessageByEuid(char *euid, struct ctdlroom *qrbuf); + #endif /* CTDL_MODULE_H */