+int
+vl_client_connect_to_vlib_no_map (const char *svm_name,
+ const char *client_name, int rx_queue_size)
+{
+ return connect_to_vlib_internal (svm_name, client_name, rx_queue_size,
+ rx_thread_fn, 0 /* dont map */ );
+}
+
+int
+vl_client_connect_to_vlib_no_rx_pthread_no_map (const char *svm_name,
+ const char *client_name,
+ int rx_queue_size)
+{
+ return connect_to_vlib_internal (svm_name, client_name, rx_queue_size,
+ 0 /* want pthread */ ,
+ 0 /* dont map */ );
+}
+
+int
+vl_client_connect_to_vlib_thread_fn (const char *svm_name,
+ const char *client_name,
+ int rx_queue_size,
+ void *(*thread_fn) (void *))
+{
+ return connect_to_vlib_internal (svm_name, client_name, rx_queue_size,
+ thread_fn, 1 /* do map */ );
+}
+
+
+static void
+disconnect_from_vlib_internal (u8 do_unmap)