Removed the 'master user' feature ... if we still need this we'll find another way
[citadel.git] / citadel / include / ctdl_module.h
index 05a5a7037b80f9f6609222898fe4a7b6a7d6ed0e..1f5c8fcfb4c1bf25eea6d9d2a8418f760552be2d 100644 (file)
                FMT_CITADEL,                    \
                SUBJECT) 
 
-
-#define CtdlAideFPMessage(TEXT, SUBJECT, N, STR, STRLEN, ccid, ioid, TIME) \
-       flood_protect_quickie_message(                   \
-               "Citadel",                               \
-               NULL,                                    \
-               NULL,                                    \
-               AIDEROOM,                                \
-               TEXT,                                    \
-               FMT_CITADEL,                             \
-               SUBJECT,                                 \
-               N,                                       \
-               STR,                                     \
-               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);
@@ -168,6 +150,12 @@ void CtdlRegisterMaintenanceThread(char *name, void *(*thread_proc) (void *arg))
 
 void CtdlRegisterSearchFuncHook(void (*fcn_ptr)(int *, long **, const char *), char *name);
 
+/*
+ * if you say a) (which may take a while)
+ * don't forget to say b)
+ */
+void CtdlDisableHouseKeeping(void);
+void CtdlEnableHouseKeeping(void);
 
 /*
  * Directory services hooks for LDAP etc
@@ -234,14 +222,15 @@ unsigned CtdlCreateRoom(char *new_room_name,
                        int avoid_access,
                        int new_room_view);
 int CtdlGetRoom(struct ctdlroom *qrbuf, const char *room_name);
-int CtdlGetRoomLock(struct ctdlroom *qrbuf, char *room_name);
+int CtdlGetRoomLock(struct ctdlroom *qrbuf, const char *room_name);
 int CtdlDoIHavePermissionToDeleteThisRoom(struct ctdlroom *qr);
 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, OneRoomNetCfg *OneRNCFG);
-void CtdlForEachNetCfgRoom(ForEachRoomNetCfgCallBack CB, void *in_data, RoomNetCfg filter);
+char *LoadRoomNetConfigFile(long roomnum);
+void CtdlForEachNetCfgRoom(ForEachRoomNetCfgCallBack CB, void *in_data);
 void SaveChangedConfigs(void);
 void CtdlDeleteRoom(struct ctdlroom *qrbuf);
 int CtdlRenameRoom(char *old_name, char *new_name, int new_floor);
@@ -324,7 +313,7 @@ struct RoomNetCfgLine {
 
 struct OneRoomNetCfg {
        long lastsent;
-       long changed;
+       // long changed;
        StrBuf *Sender;
        StrBuf *RoomInfo;
        RoomNetCfgLine *NetConfigs[maxRoomNetCfg];
@@ -340,7 +329,9 @@ void DeleteGenericCfgLine(const CfgLineType *ThisOne, RoomNetCfgLine **data);
 RoomNetCfgLine *DuplicateOneGenericCfgLine(const RoomNetCfgLine *data);
 void AddRoomCfgLine(OneRoomNetCfg *OneRNCfg, struct ctdlroom *qrbuf, RoomNetCfg LineType, RoomNetCfgLine *Line);
 
-OneRoomNetCfg* CtdlGetNetCfgForRoom(long QRNumber);
+OneRoomNetCfg *CtdlGetNetCfgForRoom(long QRNumber);
+void SaveRoomNetConfigFile(OneRoomNetCfg *, long);
+void FreeRoomNetworkStruct(OneRoomNetCfg **);
 
 typedef struct _nodeconf {
        int DeleteMe;
@@ -366,26 +357,9 @@ typedef struct __NetMap {
 
 HashList* CtdlReadNetworkMap(void);
 StrBuf *CtdlSerializeNetworkMap(HashList *Map);
-void NetworkLearnTopology(char *node, char *path, HashList *the_netmap, int *netmap_changed);
-int CtdlIsValidNode(const StrBuf **nexthop,
-                   const StrBuf **secret,
-                   StrBuf *node,
-                   HashList *IgnetCfg,
-                   HashList *the_netmap);
-
-
 
 
-int CtdlNetworkTalkingTo(const char *nodename, long len, int operation);
 
-/*
- * Operations that can be performed by network_talking_to()
- */
-enum {
-        NTT_ADD,
-        NTT_REMOVE,
-        NTT_CHECK
-};
 
 /*
  * Expose API calls from user_ops.c
@@ -395,20 +369,13 @@ int CtdlGetUserLen(struct ctdluser *usbuf, const char *name, long len);
 int CtdlGetUserLock(struct ctdluser *usbuf, char *name);
 void CtdlPutUser(struct ctdluser *usbuf);
 void CtdlPutUserLock(struct ctdluser *usbuf);
-
 int CtdlLockGetCurrentUser(void);
 void CtdlPutCurrentUserLock(void);
-
 int CtdlGetUserByNumber(struct ctdluser *usbuf, long number);
-void CtdlGetRelationship(visit *vbuf,
-                        struct ctdluser *rel_user,
-                        struct ctdlroom *rel_room);
-void CtdlSetRelationship(visit *newvisit,
-                        struct ctdluser *rel_user,
-                        struct ctdlroom *rel_room);
+void CtdlGetRelationship(visit *vbuf, struct ctdluser *rel_user, struct ctdlroom *rel_room);
+void CtdlSetRelationship(visit *newvisit, struct ctdluser *rel_user, struct ctdlroom *rel_room);
 void CtdlMailboxName(char *buf, size_t n, const struct ctdluser *who, const char *prefix);
-
-int CtdlLoginExistingUser(char *authname, const char *username);
+int CtdlLoginExistingUser(const char *username);
 
 /*
  * Values which may be returned by CtdlLoginExistingUser()
@@ -434,20 +401,20 @@ enum {
 
 void CtdlUserLogout(void);
 
-
-
-
 /*
  * Expose API calls from msgbase.c
  */
 
 
-
 /*
  * Expose API calls from euidindex.c
  */
 long CtdlLocateMessageByEuid(char *euid, struct ctdlroom *qrbuf);
 
 
+/*
+ * Expose API calls from modules/openid/serv_openid_rp.c in order to turn it into a generic external authentication driver
+ */
+int attach_extauth(struct ctdluser *who, StrBuf *claimed_id);
 
 #endif /* CTDL_MODULE_H */