]> code.citadel.org Git - citadel.git/blobdiff - citadel/include/ctdl_module.h
* by counting up threads starting at 3, we seem to get what top shows in the LWPID...
[citadel.git] / citadel / include / ctdl_module.h
index 5e7488794dccbedba8ba833555d7cea5977bced1..21550ed872be44eaa9f0487e28b72a4ffbb17cbc 100644 (file)
@@ -4,6 +4,19 @@
 #define CTDL_MODULE_H
 
 #include "sysdep.h"
+
+#ifdef HAVE_GC
+#define GC_THREADS
+#define GC_REDIRECT_TO_LOCAL
+#include <gc/gc_local_alloc.h>
+#else
+#define GC_MALLOC malloc
+#define GC_MALLOC_ATOMIC malloc
+#define GC_FREE free
+#define GC_REALLOC realloc
+#endif
+
+
 #include <stdlib.h>
 #include <unistd.h>
 #include <stdio.h>
@@ -121,7 +134,7 @@ void CtdlUnRegisterFixedOutputHook(char *content_type);
 
 void CtdlRegisterMaintenanceThread(char *name, void *(*thread_proc) (void *arg));
 
-void CtdlRegisterSearchFuncHook(void (*fcn_ptr)(int *, long **, char *), char *name);
+void CtdlRegisterSearchFuncHook(void (*fcn_ptr)(int *, long **, const char *), char *name);
 
 
 /*
@@ -172,6 +185,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
@@ -182,7 +196,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);
@@ -190,6 +204,8 @@ int CtdlIsSingleUser(void);
 
 
 int CtdlIsUserLoggedIn (char *user_name);
+int CtdlIsUserLoggedInByNum (long usernum);
+void CtdlBumpNewMailCounter(long which_user);
 
 
 /*
@@ -270,7 +286,7 @@ enum {
 /*
  * API declarations from serv_extensions.h
  */
-void CtdlModuleDoSearch(int *num_msgs, long **search_msgs, char *search_string, char *func_name);
+void CtdlModuleDoSearch(int *num_msgs, long **search_msgs, const char *search_string, const char *func_name);
 /* 
  * Global system configuration.  Don't change anything here.  It's all in dtds/config-defs.h now.
  */
@@ -287,7 +303,8 @@ extern struct config config;
 /*
  * Expose API calls from user_ops.c
  */
-int CtdlGetUser(struct ctdluser *usbuf, 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);
@@ -300,7 +317,7 @@ void CtdlSetRelationship(struct visit *newvisit,
                         struct ctdlroom *rel_room);
 void CtdlMailboxName(char *buf, size_t n, const struct ctdluser *who, const char *prefix);
 
-int CtdlLoginExistingUser(char *authname, char *username);
+int CtdlLoginExistingUser(char *authname, const char *username);
 
 /*
  * Values which may be returned by CtdlLoginExistingUser()
@@ -313,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()
  */