Index: trunk/include/sh_fifo.h
===================================================================
--- trunk/include/sh_fifo.h	(revision 212)
+++ trunk/include/sh_fifo.h	(revision 214)
@@ -10,5 +10,5 @@
  *****************************************************/
 
-#define SH_FIFO_MAX 128
+#define SH_FIFO_MAX 16384
 
 /*****************************************************
@@ -21,4 +21,7 @@
   struct dlist * next;
   char         * data;
+  char         * s_xtra;
+  int            i_xtra;
+  int            transact;
   struct dlist * prev;
 };
@@ -47,5 +50,5 @@
  * Returns: -1 if the list is full, 0 on success 
  */
-int push_list (SH_FIFO * fifo, char * indat);
+int push_list (SH_FIFO * fifo, char * indat, int in_i, const char * in_str);
 
 /* Push an item on the tail of the list.
@@ -53,5 +56,5 @@
  * Returns: -1 if the list is full, 0 on success 
  */
-int push_tail_list (SH_FIFO * fifo, char * indat);
+int push_tail_list (SH_FIFO * fifo, char * indat, int in_i, const char * in_str);
 
 /* pop an item from the tail of the list
@@ -62,3 +65,12 @@
 char * pop_list (SH_FIFO * fifo);
 
+
+sh_string * tag_list (SH_FIFO * fifo, char * tag,
+		      int(*check)(int, const char*, const char*, const void*),
+		      const void * info);
+void rollback_list (SH_FIFO * fifo);
+void mark_list (SH_FIFO * fifo);
+void reset_list (SH_FIFO * fifo);
+int commit_list (SH_FIFO * fifo);
+
 #endif
Index: trunk/include/sh_mail.h
===================================================================
--- trunk/include/sh_mail.h	(revision 212)
+++ trunk/include/sh_mail.h	(revision 214)
@@ -52,9 +52,5 @@
 /* call if not urgent
  */
-int sh_mail_pushstack (/*@null@*/char * msg);
-
-/* call if mail immediate
- */
-int sh_mail_msg (/*@null@*/char * message);
+int sh_mail_pushstack (int severity, const char * msg, const char * alias);
 
 /* set sender of mail
Index: trunk/include/sh_pthread.h
===================================================================
--- trunk/include/sh_pthread.h	(revision 212)
+++ trunk/include/sh_pthread.h	(revision 214)
@@ -30,4 +30,5 @@
 
 #define SH_MUTEX_LOCK_UNSAFE(M) pthread_mutex_lock(&(M))
+#define SH_MUTEX_TRYLOCK_UNSAFE(M) pthread_mutex_trylock(&(M))
 #define SH_MUTEX_UNLOCK_UNSAFE(M) pthread_mutex_unlock(&(M))
 
@@ -140,4 +141,5 @@
 #define SH_MUTEX_UNLOCK(M)			((void)0)
 #define SH_MUTEX_LOCK_UNSAFE(M)			((void)0)
+#define SH_MUTEX_TRYLOCK_UNSAFE(M)		(0)
 #define SH_MUTEX_UNLOCK_UNSAFE(M)		((void)0)
 
Index: trunk/include/sh_utils.h
===================================================================
--- trunk/include/sh_utils.h	(revision 212)
+++ trunk/include/sh_utils.h	(revision 214)
@@ -40,5 +40,5 @@
   unsigned long   data_ulong;
   long            data_long;
-  /*@null@*/char *data_str;
+  char           *data_str;
 } st_format;
 
@@ -131,5 +131,5 @@
 /* a simple compressor
  */
-long sh_util_compress (char * dest, char * src, size_t dest_size);
+size_t sh_util_compress (char * dest, char * src, size_t dest_size);
 
 /* an even simpler en-/decoder 
Index: trunk/include/slib.h
===================================================================
--- trunk/include/slib.h	(revision 212)
+++ trunk/include/slib.h	(revision 214)
@@ -203,5 +203,5 @@
    * strstr
    */
-  const char * sl_strstr (const char * haystack, const char * needle); 
+  char * sl_strstr (const char * haystack, const char * needle); 
 
   /*
