X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Finclude%2Fctdl_module.h;h=36c48bbf3657dd8613ae1fc2ab525f880e7c1e53;hb=597f6cc2278e4bb14a4387be32f7f1b9b1db7f5f;hp=e4ca400830e82b95c65082d019d06c59ff3d317f;hpb=ec7725347e80a9635cb3ce7a19426dc415b7eb37;p=citadel.git diff --git a/citadel/include/ctdl_module.h b/citadel/include/ctdl_module.h index e4ca40083..36c48bbf3 100644 --- a/citadel/include/ctdl_module.h +++ b/citadel/include/ctdl_module.h @@ -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, \ @@ -88,7 +88,10 @@ SUBJECT, \ N, \ STR, \ - STRLEN) + STRLEN, \ + ccid, \ + ioid, \ + TIME) /* * Hook functions available to modules. */ @@ -117,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); @@ -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 *) ); @@ -237,23 +244,19 @@ unsigned CtdlCreateRoom(char *new_room_name, int really_create, int avoid_access, int new_room_view); -int CtdlGetRoom(struct ctdlroom *qrbuf, char *room_name); +int CtdlGetRoom(struct ctdlroom *qrbuf, const char *room_name); int CtdlGetRoomLock(struct ctdlroom *qrbuf, char *room_name); int CtdlDoIHavePermissionToDeleteThisRoom(struct ctdlroom *qr); -void CtdlRoomAccess(struct ctdlroom *roombuf, struct ctdluser *userbuf, - int *result, int *view); +void CtdlRoomAccess(struct ctdlroom *roombuf, struct ctdluser *userbuf, int *result, int *view); void CtdlPutRoomLock(struct ctdlroom *qrbuf); typedef void (*ForEachRoomCallBack)(struct ctdlroom *EachRoom, void *out_data); void CtdlForEachRoom(ForEachRoomCallBack CB, void *in_data); -typedef void (*ForEachRoomNetCfgCallBack)(struct ctdlroom *EachRoom, void *out_data, const OneRoomNetCfg *OneRNCFG); -void CtdlForEachNetCfgRoom(ForEachRoomNetCfgCallBack CB, - void *in_data, - RoomNetCfg filter); - +typedef void (*ForEachRoomNetCfgCallBack)(struct ctdlroom *EachRoom, void *out_data, OneRoomNetCfg *OneRNCFG); +void CtdlForEachNetCfgRoom(ForEachRoomNetCfgCallBack CB, void *in_data, RoomNetCfg filter); +void SaveChangedConfigs(void); void CtdlDeleteRoom(struct ctdlroom *qrbuf); int CtdlRenameRoom(char *old_name, char *new_name, int new_floor); -void CtdlUserGoto (char *where, int display_result, int transiently, - int *msgs, int *new); +void CtdlUserGoto (char *where, int display_result, int transiently, int *msgs, int *new, long *oldest, long *newest); struct floor *CtdlGetCachedFloor(int floor_num); void CtdlScheduleRoomForDeletion(struct ctdlroom *qrbuf); void CtdlGetFloor (struct floor *flbuf, int floor_num); @@ -357,7 +360,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; @@ -381,10 +384,53 @@ struct config { time_t c_pop3_fastest; int c_spam_flag_only; int c_guest_logins; + int c_nntp_port; +}; +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); @@ -422,8 +468,9 @@ void ParseGeneric(const CfgLineType *ThisOne, StrBuf *Line, const char *LinePos, void SerializeGeneric(const CfgLineType *ThisOne, StrBuf *OutputBuffer, OneRoomNetCfg *sc, RoomNetCfgLine *data); void DeleteGenericCfgLine(const CfgLineType *ThisOne, RoomNetCfgLine **data); RoomNetCfgLine *DuplicateOneGenericCfgLine(const RoomNetCfgLine *data); +void AddRoomCfgLine(OneRoomNetCfg *OneRNCfg, struct ctdlroom *qrbuf, RoomNetCfg LineType, RoomNetCfgLine *Line); -const OneRoomNetCfg* CtdlGetNetCfgForRoom(long QRNumber); +OneRoomNetCfg* CtdlGetNetCfgForRoom(long QRNumber); typedef struct _nodeconf { int DeleteMe; @@ -519,9 +566,6 @@ void CtdlUserLogout(void); /* * Expose API calls from msgbase.c */ -char *CtdlGetSysConfig(char *sysconfname); -void CtdlPutSysConfig(char *sysconfname, char *sysconfdata); - @@ -531,4 +575,5 @@ void CtdlPutSysConfig(char *sysconfname, char *sysconfdata); long CtdlLocateMessageByEuid(char *euid, struct ctdlroom *qrbuf); + #endif /* CTDL_MODULE_H */