Index: trunk/include/samhain.h
===================================================================
--- trunk/include/samhain.h	(revision 139)
+++ trunk/include/samhain.h	(revision 140)
@@ -126,4 +126,10 @@
   SH_CHECK_INIT    = 1,
   SH_CHECK_CHECK   = 2
+};
+
+enum {
+  SH_MOD_ACTIVE    = 0, 
+  SH_MOD_THREAD    = 1,
+  SH_MOD_FAILED    = 2
 };
 
Index: trunk/include/sh_kern.h
===================================================================
--- trunk/include/sh_kern.h	(revision 139)
+++ trunk/include/sh_kern.h	(revision 140)
@@ -6,5 +6,5 @@
 
 #ifdef SH_USE_KERN
-int sh_kern_init  (void);
+int sh_kern_init  (struct mod_type * arg);
 int sh_kern_timer (time_t tcurrent);
 int sh_kern_check (void);
Index: trunk/include/sh_modules.h
===================================================================
--- trunk/include/sh_modules.h	(revision 139)
+++ trunk/include/sh_modules.h	(revision 140)
@@ -3,4 +3,5 @@
 #define SH_MODULE_H
 
+#include "sh_pthread.h"
 
 typedef struct rconf
@@ -19,5 +20,5 @@
 
   /* The initialization function. Return 0 on success.         */
-  int (* mod_init)    (void);  
+  int (* mod_init)    (struct mod_type * arg);  
                              
   /* The timer function. Return 0 if NOT time to check.        */
@@ -39,4 +40,6 @@
   sh_rconf * conf_table; 
 
+  SH_MUTEX(mod_mutex);
+
 } sh_mtype;
 
Index: trunk/include/sh_mounts.h
===================================================================
--- trunk/include/sh_mounts.h	(revision 139)
+++ trunk/include/sh_mounts.h	(revision 140)
@@ -11,5 +11,5 @@
 
 #ifdef SH_USE_MOUNTS
-int sh_mounts_init  (void);
+int sh_mounts_init  (struct mod_type * arg);
 int sh_mounts_timer (time_t tcurrent);
 int sh_mounts_check (void);
Index: trunk/include/sh_portcheck.h
===================================================================
--- trunk/include/sh_portcheck.h	(revision 139)
+++ trunk/include/sh_portcheck.h	(revision 140)
@@ -3,5 +3,5 @@
 #define SH_PORTCHECK_H
 
-int sh_portchk_init(void);
+int sh_portchk_init(struct mod_type * arg);
 int sh_portchk_timer(time_t tcurrent);
 int sh_portchk_check(void);
Index: trunk/include/sh_processcheck.h
===================================================================
--- trunk/include/sh_processcheck.h	(revision 139)
+++ trunk/include/sh_processcheck.h	(revision 140)
@@ -3,5 +3,5 @@
 #define SH_PROCESSCHECK_H
 
-int sh_prochk_init(void);
+int sh_prochk_init(struct mod_type * arg);
 int sh_prochk_timer(time_t tcurrent);
 int sh_prochk_check(void);
Index: trunk/include/sh_pthread.h
===================================================================
--- trunk/include/sh_pthread.h	(revision 139)
+++ trunk/include/sh_pthread.h	(revision 140)
@@ -123,4 +123,5 @@
 #else
 
+#define PTHREAD_MUTEX_INITIALIZER               NULL
 #define SH_MUTEX(M)				void *SH_MUTEX_DUMMY_ ## M
 #define SH_MUTEX_INIT(M,I)			extern void *SH_MUTEX_DUMMY_ ## M
Index: trunk/include/sh_suidchk.h
===================================================================
--- trunk/include/sh_suidchk.h	(revision 139)
+++ trunk/include/sh_suidchk.h	(revision 140)
@@ -6,5 +6,5 @@
 
 #ifdef SH_USE_SUIDCHK
-int sh_suidchk_init  (void);
+int sh_suidchk_init  (struct mod_type * arg);
 int sh_suidchk_timer (time_t tcurrent);
 int sh_suidchk_check (void);
Index: trunk/include/sh_userfiles.h
===================================================================
--- trunk/include/sh_userfiles.h	(revision 139)
+++ trunk/include/sh_userfiles.h	(revision 140)
@@ -9,5 +9,5 @@
 
 #ifdef SH_USE_USERFILES
-int sh_userfiles_init  (void);
+int sh_userfiles_init  (struct mod_type * arg);
 int sh_userfiles_timer (time_t tcurrent);
 int sh_userfiles_check (void);
Index: trunk/include/sh_utmp.h
===================================================================
--- trunk/include/sh_utmp.h	(revision 139)
+++ trunk/include/sh_utmp.h	(revision 140)
@@ -6,5 +6,5 @@
 
 #ifdef SH_USE_UTMP
-int sh_utmp_init  (void);
+int sh_utmp_init  (struct mod_type * arg);
 int sh_utmp_timer (time_t tcurrent);
 int sh_utmp_check (void);
