libmemif: socket filename length 108
[vpp.git] / extras / libmemif / src / memif_private.h
index cf950ba..9542936 100644 (file)
@@ -66,6 +66,33 @@ _Static_assert (strlen (MEMIF_DEFAULT_APP_NAME) <= MEMIF_NAME_LEN,
 #define DBG(...)
 #endif /* MEMIF_DBG */
 
+#ifndef HAS_LIB_BSD
+static inline size_t
+strlcpy (char *dest, const char *src, size_t len)
+{
+  const char *s = src;
+  size_t n = len;
+
+  while (--n > 0)
+    {
+      if ((*dest++ = *s++) == '\0')
+       break;
+    }
+
+  if (n == 0)
+    {
+      if (len != 0)
+       *dest = '\0';
+      while (*s++)
+       ;
+    }
+
+  return (s - src - 1);
+}
+#else
+#include <bsd/string.h>
+#endif
+
 typedef enum
 {
   MEMIF_SOCKET_TYPE_NONE = 0,  /* unassigned, not used by any interface */
@@ -95,7 +122,7 @@ typedef struct
   int int_fd;
 
   uint64_t int_count;
-  uint32_t alloc_bufs;
+  uint32_t next_buf; /* points to next free buffer */
 } memif_queue_t;
 
 typedef struct memif_msg_queue_elt
@@ -166,7 +193,7 @@ typedef struct
   int fd;
   uint16_t use_count;
   memif_socket_type_t type;
-  uint8_t *filename;
+  uint8_t filename[108];
   /* unique database */
   struct libmemif_main *lm;
   uint16_t interface_list_len;