]> code.citadel.org Git - citadel.git/blobdiff - citadel/include/ctdl_module.h
* if we're shutting down instantly close our server file descriptions
[citadel.git] / citadel / include / ctdl_module.h
index 8f3d3f7417a7d8b7aaff11378d65ca7ca3ccb4aa..067071862122cef7d231c80f46749585caa7693f 100644 (file)
@@ -1,4 +1,3 @@
-/* $Id$ */
 
 #ifndef CTDL_MODULE_H
 #define CTDL_MODULE_H
@@ -87,6 +86,7 @@ void CtdlLogPrintf(enum LogLevel loglevel, const char *format, ...);
 
 void CtdlRegisterSessionHook(void (*fcn_ptr)(void), int EventType);
 void CtdlUnregisterSessionHook(void (*fcn_ptr)(void), int EventType);
+void CtdlShutdownServiceHooks(void);
 
 void CtdlRegisterUserHook(void (*fcn_ptr)(struct ctdluser *), int EventType);
 void CtdlUnregisterUserHook(void (*fcn_ptr)(struct ctdluser *), int EventType);
@@ -161,7 +161,6 @@ void CtdlModuleStartCryptoMsgs(char *ok_response, char *nosup_response, char *er
  * Citadel Threads API
  */
 struct CtdlThreadNode *CtdlThreadCreate(char *name, long flags, void *(*thread_func) (void *arg), void *args);
-struct CtdlThreadNode *CtdlThreadSchedule(char *name, long flags, void *(*thread_func) (void *arg), void *args, time_t when);
 void CtdlThreadSleep(int secs);
 void CtdlThreadStop(struct CtdlThreadNode *thread);
 int CtdlThreadCheckStop(void);
@@ -185,6 +184,7 @@ void CtdlThreadAllocTSD(void);
 #define MYCURSORS      (((ThreadTSD*)pthread_getspecific(ThreadKey))->cursors)
 #define MYTID          (((ThreadTSD*)pthread_getspecific(ThreadKey))->tid)
 #define CT             (((ThreadTSD*)pthread_getspecific(ThreadKey))->self)
+#define CTP            ((ThreadTSD*)pthread_getspecific(ThreadKey))
 
 /** return the current context list as an array and do it in a safe manner
  * The returned data is a copy so only reading is useful
@@ -195,7 +195,7 @@ void CtdlThreadAllocTSD(void);
  */
 struct CitContext *CtdlGetContextArray (int *count);
 void CtdlFillSystemContext(struct CitContext *context, char *name);
-
+void CtdlClearSystemContext(void);
 int CtdlTrySingleUser(void);
 void CtdlEndSingleUser(void);
 int CtdlWantSingleUser(void);
@@ -274,10 +274,11 @@ int CtdlAccessCheck(int);
  */
 enum {
        ac_none,
+       ac_logged_in_or_guest,
        ac_logged_in,
        ac_room_aide,
        ac_aide,
-       ac_internal
+       ac_internal,
 };
 
 
@@ -302,15 +303,16 @@ extern struct config config;
 /*
  * Expose API calls from user_ops.c
  */
-int CtdlGetUser(struct ctdluser *usbuf, const char *name);
+int CtdlGetUser(struct ctdluser *usbuf, char *name);
+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 CtdlGetUserByNumber(struct ctdluser *usbuf, long number);
-void CtdlGetRelationship(struct visit *vbuf,
+void CtdlGetRelationship(visit *vbuf,
                         struct ctdluser *rel_user,
                         struct ctdlroom *rel_room);
-void CtdlSetRelationship(struct visit *newvisit,
+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);
@@ -328,7 +330,7 @@ enum {
        pass_wrong_password
 };
 
-int CtdlTryPassword(char *password);
+int CtdlTryPassword(const char *password, long len);
 /*
  * Values which may be returned by CtdlTryPassword()
  */