#include <vppinfra/lock.h>
#include "stat_client.h"
#include <stdatomic.h>
+#include <vpp/stats/stat_segment.h>
+struct stat_client_main_t
+{
+ uint64_t current_epoch;
+ stat_segment_shared_header_t *shared_header;
+ stat_segment_directory_entry_t *directory_vector;
+ ssize_t memory_size;
+};
stat_client_main_t stat_client_main;
}
int
-stat_segment_connect_r (char *socket_name, stat_client_main_t * sm)
+stat_segment_connect_r (const char *socket_name, stat_client_main_t * sm)
{
int mfd = -1;
int sock;
}
int
-stat_segment_connect (char *socket_name)
+stat_segment_connect (const char *socket_name)
{
stat_client_main_t *sm = &stat_client_main;
return stat_segment_connect_r (socket_name, sm);
int i, j;
for (i = 0; i < vec_len (patterns); i++)
{
- int rv = regcomp (®ex[i], (char *) patterns[i], 0);
+ int rv = regcomp (®ex[i], (const char *) patterns[i], 0);
if (rv)
{
fprintf (stderr, "Could not compile regex %s\n", patterns[i]);
}
/* Create a vector from a string (or add to existing) */
-u8 **
-stat_segment_string_vector (u8 ** string_vector, char *string)
+uint8_t **
+stat_segment_string_vector (uint8_t ** string_vector, const char *string)
{
- u8 *name = 0;
- name = vec_dup ((u8 *) string);
- vec_add1 (string_vector, (u8 *) name);
+ uint8_t *name = 0;
+ size_t len = strlen (string);
+
+ vec_validate_init_c_string (name, string, len);
+ vec_add1 (string_vector, name);
return string_vector;
}