+static int sig_received = 0;
+
+#ifndef WIN32
+static void normal_stop_handler(int num)
+{
+ sig_received = num;
+}
+#endif
+
+static void daemon_handler(void *data)
+{
+ IOCHAN *pListener = data;
+ iochan_event_loop(pListener, &sig_received);
+}
+
+static void show_version(void)
+{
+ char vstr[20], sha1_str[41];
+
+ yaz_version(vstr, sha1_str);
+ printf("YAZ version: %s %s\n", YAZ_VERSION, YAZ_VERSION_SHA1);
+ if (strcmp(sha1_str, YAZ_VERSION_SHA1))
+ printf("YAZ DLL/SO: %s %s\n", vstr, sha1_str);
+ exit(0);
+}
+
+static int statserv_sc_main(yaz_sc_t s, int argc, char **argv)