Session layer refactoring
[vpp.git] / src / svm / svm_fifo_segment.h
index 793fa7c..9ab47a4 100644 (file)
@@ -15,8 +15,8 @@
 #ifndef __included_ssvm_fifo_segment_h__
 #define __included_ssvm_fifo_segment_h__
 
-#include "svm_fifo.h"
-#include "ssvm.h"
+#include <svm/svm_fifo.h>
+#include <svm/ssvm.h>
 
 typedef struct
 {
@@ -55,6 +55,18 @@ svm_fifo_get_segment (u32 segment_index)
   return vec_elt_at_index (ssm->segments, segment_index);
 }
 
+static inline u8
+svm_fifo_segment_has_fifos (svm_fifo_segment_private_t * fifo_segment)
+{
+  return vec_len ((svm_fifo_t **) fifo_segment->h->fifos) != 0;
+}
+
+static inline svm_fifo_t **
+svm_fifo_segment_get_fifos (svm_fifo_segment_private_t * fifo_segment)
+{
+  return (svm_fifo_t **) fifo_segment->h->fifos;
+}
+
 #define foreach_ssvm_fifo_segment_api_error             \
 _(OUT_OF_SPACE, "Out of space in segment", -200)
 
@@ -73,9 +85,7 @@ svm_fifo_t *svm_fifo_segment_alloc_fifo (svm_fifo_segment_private_t * s,
                                         u32 data_size_in_bytes);
 void svm_fifo_segment_free_fifo (svm_fifo_segment_private_t * s,
                                 svm_fifo_t * f);
-
 void svm_fifo_segment_init (u64 baseva, u32 timeout_in_seconds);
-
 u32 svm_fifo_segment_index (svm_fifo_segment_private_t * s);
 
 #endif /* __included_ssvm_fifo_segment_h__ */