+static u32 default_fifo_size = 1 << 12;
+static u32 default_segment_size = 1 << 20;
+static u32 default_app_evt_queue_size = 128;
+
+segment_manager_properties_t *
+segment_manager_properties_get (segment_manager_t * sm)
+{
+ app_worker_t *app_wrk = app_worker_get (sm->app_wrk_index);
+ return application_get_segment_manager_properties (app_wrk->app_index);
+}
+
+segment_manager_properties_t *
+segment_manager_properties_init (segment_manager_properties_t * props)
+{
+ props->add_segment_size = default_segment_size;
+ props->rx_fifo_size = default_fifo_size;
+ props->tx_fifo_size = default_fifo_size;
+ props->evt_q_size = default_app_evt_queue_size;
+ return props;
+}
+
+static u8
+segment_manager_app_detached (segment_manager_t * sm)
+{
+ return (sm->app_wrk_index == SEGMENT_MANAGER_INVALID_APP_INDEX);
+}
+
+void
+segment_manager_app_detach (segment_manager_t * sm)
+{
+ sm->app_wrk_index = SEGMENT_MANAGER_INVALID_APP_INDEX;
+}
+
+always_inline u32
+segment_manager_segment_index (segment_manager_t * sm,
+ svm_fifo_segment_private_t * seg)
+{
+ return (seg - sm->segments);
+}