+int session_open (session_endpoint_cfg_t *sep, session_handle_t *rsh);
+int session_listen (session_t * s, session_endpoint_cfg_t * sep);
+int session_stop_listen (session_t * s);
+void session_half_close (session_t *s);
+void session_close (session_t * s);
+void session_reset (session_t * s);
+void session_detach_app (session_t *s);
+void session_transport_half_close (session_t *s);
+void session_transport_close (session_t * s);
+void session_transport_reset (session_t * s);
+void session_transport_cleanup (session_t * s);
+int session_enqueue_notify (session_t *s);
+int session_dequeue_notify (session_t * s);
+int session_enqueue_notify_cl (session_t *s);
+int session_send_io_evt_to_thread (svm_fifo_t *f, session_evt_type_t evt_type);
+int session_send_io_evt_to_thread_custom (void *data, u32 thread_index,
+ session_evt_type_t evt_type);
+int session_program_tx_io_evt (session_handle_tu_t sh,
+ session_evt_type_t evt_type);
+void session_send_rpc_evt_to_thread (u32 thread_index, void *fp,
+ void *rpc_args);
+void session_send_rpc_evt_to_thread_force (u32 thread_index, void *fp,
+ void *rpc_args);
+void session_add_self_custom_tx_evt (transport_connection_t * tc,
+ u8 has_prio);
+void sesssion_reschedule_tx (transport_connection_t * tc);
+transport_connection_t *session_get_transport (session_t * s);
+void session_get_endpoint (session_t * s, transport_endpoint_t * tep,
+ u8 is_lcl);
+int session_transport_attribute (session_t *s, u8 is_get,
+ transport_endpt_attr_t *attr);
+u64 session_segment_handle (session_t *s);
+
+u8 *format_session (u8 * s, va_list * args);
+uword unformat_session (unformat_input_t * input, va_list * args);
+uword unformat_transport_connection (unformat_input_t * input,
+ va_list * args);
+
+/*
+ * Interface to transport protos
+ */
+
+int session_enqueue_stream_connection (transport_connection_t * tc,
+ vlib_buffer_t * b, u32 offset,
+ u8 queue_event, u8 is_in_order);
+int session_enqueue_dgram_connection (session_t * s,
+ session_dgram_hdr_t * hdr,
+ vlib_buffer_t * b, u8 proto,
+ u8 queue_event);
+int session_enqueue_dgram_connection2 (session_t *s, session_dgram_hdr_t *hdr,
+ vlib_buffer_t *b, u8 proto,
+ u8 queue_event);
+int session_enqueue_dgram_connection_cl (session_t *s,
+ session_dgram_hdr_t *hdr,
+ vlib_buffer_t *b, u8 proto,
+ u8 queue_event);
+int session_stream_connect_notify (transport_connection_t * tc,
+ session_error_t err);
+int session_dgram_connect_notify (transport_connection_t * tc,
+ u32 old_thread_index,
+ session_t ** new_session);
+int session_stream_accept_notify (transport_connection_t * tc);
+void session_transport_closing_notify (transport_connection_t * tc);
+void session_transport_delete_notify (transport_connection_t * tc);
+void session_half_open_delete_notify (transport_connection_t *tc);
+void session_half_open_migrate_notify (transport_connection_t *tc);
+int session_half_open_migrated_notify (transport_connection_t *tc);
+void session_transport_closed_notify (transport_connection_t * tc);
+void session_transport_reset_notify (transport_connection_t * tc);
+int session_stream_accept (transport_connection_t * tc, u32 listener_index,
+ u32 thread_index, u8 notify);
+int session_dgram_accept (transport_connection_t * tc, u32 listener_index,
+ u32 thread_index);