session: support half-close connection
[vpp.git] / src / vcl / vcl_locked.h
index 4f40f43..3adcf62 100644 (file)
 #include <vcl/vppcom.h>
 
 #define VLS_INVALID_HANDLE ((int)-1)
+#define VLS_WORKER_RPC_TIMEOUT 3 /* timeout to wait rpc response. */
 
 typedef int vls_handle_t;
 
 vls_handle_t vls_create (uint8_t proto, uint8_t is_nonblocking);
+int vls_shutdown (vls_handle_t vlsh);
 int vls_close (vls_handle_t vlsh);
 int vls_bind (vls_handle_t vlsh, vppcom_endpt_t * ep);
 int vls_listen (vls_handle_t vlsh, int q_len);
@@ -44,10 +46,16 @@ int vls_epoll_ctl (vls_handle_t ep_vlsh, int op, vls_handle_t vlsh,
                   struct epoll_event *event);
 int vls_epoll_wait (vls_handle_t ep_vlsh, struct epoll_event *events,
                    int maxevents, double wait_for_time);
+int vls_select (int n_bits, vcl_si_set * read_map, vcl_si_set * write_map,
+               vcl_si_set * except_map, double wait_for_time);
 vcl_session_handle_t vlsh_to_sh (vls_handle_t vlsh);
 vcl_session_handle_t vlsh_to_session_index (vls_handle_t vlsh);
 vls_handle_t vls_session_index_to_vlsh (uint32_t session_index);
 int vls_app_create (char *app_name);
+unsigned char vls_use_eventfd (void);
+unsigned char vls_mt_wrk_supported (void);
+int vls_use_real_epoll (void);
+void vls_register_vcl_worker (void);
 
 #endif /* SRC_VCL_VCL_LOCKED_H_ */