sock api: fix registrations and client reads
[vpp.git] / src / vlibmemory / socket_api.h
index 69610e8..f3af300 100644 (file)
@@ -19,6 +19,7 @@
 #define SRC_VLIBMEMORY_SOCKET_API_H_
 
 #include <vlibapi/api_common.h>
+#include <svm/ssvm.h>
 #include <vppinfra/file.h>
 
 #define API_SOCKET_FILE "/run/vpp-api.sock"
@@ -64,18 +65,18 @@ extern socket_main_t socket_main;
 
 void vl_socket_free_registration_index (u32 pool_index);
 clib_error_t *vl_socket_read_ready (struct clib_file *uf);
-void vl_socket_add_pending_output (struct clib_file *uf,
-                                  struct vl_api_registration_ *rp,
-                                  u8 * buffer, uword buffer_bytes);
-void vl_socket_add_pending_output_no_flush (struct clib_file *uf,
-                                           struct vl_api_registration_ *rp,
-                                           u8 * buffer, uword buffer_bytes);
 clib_error_t *vl_socket_write_ready (struct clib_file *uf);
 void vl_socket_api_send (vl_api_registration_t * rp, u8 * elem);
 void vl_socket_process_api_msg (clib_file_t * uf, vl_api_registration_t * rp,
                                i8 * input_v);
 void vl_sock_api_dump_clients (vlib_main_t * vm, api_main_t * am);
 clib_error_t *vl_sock_api_init (vlib_main_t * vm);
+clib_error_t *vl_sock_api_send_fd_msg (int socket_fd, int fds[], int n_fds);
+clib_error_t *vl_sock_api_recv_fd_msg (int socket_fd, int fds[], int n_fds,
+                                      u32 wait);
+
+vl_api_registration_t *vl_socket_api_client_handle_to_registration (u32 idx);
+u8 vl_socket_api_registration_handle_is_valid (u32 reg_index);
 
 #endif /* SRC_VLIBMEMORY_SOCKET_API_H_ */