Index: trunk/include/sh_calls.h
===================================================================
--- trunk/include/sh_calls.h	(revision 310)
+++ trunk/include/sh_calls.h	(revision 315)
@@ -39,4 +39,6 @@
 		      int fd, struct sh_sockaddr *serv_addr, int * addrlen);
 #endif
+
+int sh_calls_set_sub (const char * str);
 
 long int retry_stat (const char * file, int line, 
Index: trunk/include/sh_ipvx.h
===================================================================
--- trunk/include/sh_ipvx.h	(revision 310)
+++ trunk/include/sh_ipvx.h	(revision 315)
@@ -46,7 +46,15 @@
 int sh_ipvx_set_port(struct sh_sockaddr * ss, int port);
 
+/* Get the port
+ */
+int sh_ipvx_get_port(struct sockaddr * ss, int sa_family);
+
 /* Save a sockaddress
  */
 void sh_ipvx_save(struct sh_sockaddr * ss, int sa_family, struct sockaddr * sa);
+
+/* Ascii numerical sockaddress
+ */
+char * sh_ipvx_print_sockaddr (struct sockaddr * sa, int sa_family);
 
 /* Determine whether the given address is numeric
Index: trunk/include/sh_pthread.h
===================================================================
--- trunk/include/sh_pthread.h	(revision 310)
+++ trunk/include/sh_pthread.h	(revision 315)
@@ -10,4 +10,8 @@
 #define SH_MUTEX_STATIC(M,I)			static pthread_mutex_t M = I
 #define SH_MUTEX_EXTERN(M)			extern pthread_mutex_t M
+
+#define SH_SETSIGMASK(A, B, C)                  sh_pthread_setsigmask(A,B,C)
+
+int sh_pthread_setsigmask(int how, const void *set, void *oldset);
 
 /* pthread_mutex_unlock() has the wrong type (returns int), so
@@ -133,4 +137,8 @@
 #else
 
+#define SH_SETSIGMASK(A, B, C)                  sh_pthread_setsigmask(A,B,C)
+
+int sh_pthread_setsigmask(int how, const void *set, void *oldset);
+
 #define PTHREAD_MUTEX_INITIALIZER               NULL
 #define SH_MUTEX(M)				void *SH_MUTEX_DUMMY_ ## M
