MIGR: more performance improvements
[citadel.git] / citadel / include / ctdl_module.h
index 68577186373401dc521a5fe5d372853c24c537ed..9f74e34994e6ddb1aaf8c51a373e30602bc67d26 100644 (file)
@@ -77,7 +77,7 @@
                SUBJECT) 
 
 
-#define CtdlAideFPMessage(TEXT, SUBJECT, N, STR, STRLEN) \
+#define CtdlAideFPMessage(TEXT, SUBJECT, N, STR, STRLEN, ccid, ioid, TIME) \
        flood_protect_quickie_message(                   \
                "Citadel",                               \
                NULL,                                    \
                SUBJECT,                                 \
                N,                                       \
                STR,                                     \
-               STRLEN)
+               STRLEN,                                  \
+               ccid,                                    \
+               ioid,                                    \
+               TIME)
 /*
  * Hook functions available to modules.
  */
 #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);
@@ -127,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 *) );
@@ -358,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;
@@ -383,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);
@@ -521,9 +570,6 @@ void CtdlUserLogout(void);
 /*
  * Expose API calls from msgbase.c
  */
-char *CtdlGetSysConfig(char *sysconfname);
-void CtdlPutSysConfig(char *sysconfname, char *sysconfdata);
-
 
 
 
@@ -533,4 +579,5 @@ void CtdlPutSysConfig(char *sysconfname, char *sysconfdata);
 long CtdlLocateMessageByEuid(char *euid, struct ctdlroom *qrbuf);
 
 
+
 #endif /* CTDL_MODULE_H */