-void segment_manager_get_segment_info (u32 index, u8 ** name, u32 * size);
-int
-session_manager_add_first_segment (segment_manager_t * sm, u32 segment_size);
-int session_manager_add_segment (segment_manager_t * sm);
+segment_manager_t *segment_manager_new ();
+int segment_manager_init (segment_manager_t * sm, u32 first_seg_size,
+ u32 prealloc_fifo_pairs);
+
+svm_fifo_segment_private_t *segment_manager_get_segment (segment_manager_t *
+ sm,
+ u32 segment_index);
+svm_fifo_segment_private_t
+ * segment_manager_get_segment_w_lock (segment_manager_t * sm,
+ u32 segment_index);
+int segment_manager_add_segment (segment_manager_t * sm, u32 segment_size);
+void segment_manager_del_segment (segment_manager_t * sm,
+ svm_fifo_segment_private_t * fs);
+void segment_manager_segment_reader_unlock (segment_manager_t * sm);
+void segment_manager_segment_writer_unlock (segment_manager_t * sm);
+
+int segment_manager_add_first_segment (segment_manager_t * sm,
+ u32 segment_size);