+extern int vppcom_session_recvfrom (uint32_t session_handle, void *buffer,
+ uint32_t buflen, int flags,
+ vppcom_endpt_t * ep);
+extern int vppcom_session_sendto (uint32_t session_handle, void *buffer,
+ uint32_t buflen, int flags,
+ vppcom_endpt_t * ep);
+extern int vppcom_poll (vcl_poll_t * vp, uint32_t n_sids,
+ double wait_for_time);
+extern int vppcom_mq_epoll_fd (void);
+extern int vppcom_session_index (vcl_session_handle_t session_handle);
+extern int vppcom_session_worker (vcl_session_handle_t session_handle);
+
+extern int vppcom_session_read_segments (uint32_t session_handle,
+ vppcom_data_segments_t ds);
+extern void vppcom_session_free_segments (uint32_t session_handle,
+ vppcom_data_segments_t ds);
+extern int vppcom_session_tls_add_cert (uint32_t session_handle, char *cert,
+ uint32_t cert_len);
+extern int vppcom_session_tls_add_key (uint32_t session_handle, char *key,
+ uint32_t key_len);
+extern int vppcom_data_segment_copy (void *buf, vppcom_data_segments_t ds,
+ uint32_t max_bytes);
+extern int vppcom_unformat_proto (uint8_t * proto, char *proto_str);
+extern int vppcom_session_is_connectable_listener (uint32_t session_handle);
+extern int vppcom_session_listener (uint32_t session_handle);
+extern int vppcom_session_n_accepted (uint32_t session_handle);
+
+/**
+ * Request from application to register a new worker
+ *
+ * Expectation is that applications will make use of this after a new pthread
+ * is spawned.
+ */
+extern int vppcom_worker_register (void);
+
+/**
+ * Unregister current worker
+ */
+extern void vppcom_worker_unregister (void);
+
+/**
+ * Retrieve current worker index
+ */
+extern int vppcom_worker_index (void);
+
+/**
+ * Returns the current worker's message queues epoll fd
+ *
+ * This only works if vcl is configured to do eventfd based message queue
+ * notifications.
+ */
+extern int vppcom_worker_mqs_epfd (void);
+
+/* *INDENT-OFF* */
+#ifdef __cplusplus
+}
+#endif
+/* *INDENT-ON* */