[MINOR] add a generic delete_listener() primitive

Most protocols will be able to share a single delete_listener()
primitive. Provide it in protocols.c, and remove the specific
version from proto_uxst.
diff --git a/include/proto/proto_uxst.h b/include/proto/proto_uxst.h
index dd5a40c..642beb8 100644
--- a/include/proto/proto_uxst.h
+++ b/include/proto/proto_uxst.h
@@ -28,7 +28,6 @@
 
 int uxst_event_accept(int fd);
 void uxst_add_listener(struct listener *listener);
-void uxst_del_listener(struct listener *listener);
 void process_uxst_stats(struct task *t, struct timeval *next);
 
 #endif /* _PROTO_PROTO_UXST_H */
diff --git a/include/proto/protocols.h b/include/proto/protocols.h
index 353e4c4..c5efd0c 100644
--- a/include/proto/protocols.h
+++ b/include/proto/protocols.h
@@ -58,6 +58,13 @@
  */
 int unbind_listener(struct listener *listener);
 
+/* Delete a listener from its protocol's list of listeners. The listener's
+ * state is automatically updated from LI_ASSIGNED to LI_INIT. The protocol's
+ * number of listeners is updated. Note that the listener must have previously
+ * been unbound. This is the generic function to use to remove a listener.
+ */
+void delete_listener(struct listener *listener);
+
 /* Registers the protocol <proto> */
 void protocol_register(struct protocol *proto);
 
diff --git a/src/proto_uxst.c b/src/proto_uxst.c
index ca00b31..0b3f317 100644
--- a/src/proto_uxst.c
+++ b/src/proto_uxst.c
@@ -310,21 +310,6 @@
 	proto_unix.nb_listeners++;
 }
 
-/* Delete a listener from the list of unix stream listeners. The listener's
- * state is automatically updated from LI_ASSIGNED to LI_INIT. The number of
- * listeners is updated. Note that the listener must have previously been
- * unbound. This is the function to use to remove a listener.
- */
-void uxst_del_listener(struct listener *listener)
-{
-	if (listener->state != LI_ASSIGNED)
-		return;
-	listener->state = LI_INIT;
-	LIST_DEL(&listener->proto_list);
-	proto_unix.nb_listeners--;
-}
-
-
 /********************************
  * 3) protocol-oriented functions
  ********************************/
diff --git a/src/protocols.c b/src/protocols.c
index 3e118b8..294edef 100644
--- a/src/protocols.c
+++ b/src/protocols.c
@@ -100,6 +100,20 @@
 	return ERR_NONE;
 }
 
+/* Delete a listener from its protocol's list of listeners. The listener's
+ * state is automatically updated from LI_ASSIGNED to LI_INIT. The protocol's
+ * number of listeners is updated. Note that the listener must have previously
+ * been unbound. This is the generic function to use to remove a listener.
+ */
+void delete_listener(struct listener *listener)
+{
+	if (listener->state != LI_ASSIGNED)
+		return;
+	listener->state = LI_INIT;
+	LIST_DEL(&listener->proto_list);
+	listener->proto->nb_listeners--;
+}
+
 /* Registers the protocol <proto> */
 void protocol_register(struct protocol *proto)
 {