vppinfra: add option to use libexecinfo
[vpp.git] / src / vppinfra / format.h
index 3c4aec9..6e958e2 100644 (file)
@@ -68,10 +68,10 @@ word va_fformat (FILE * f, char *fmt, va_list * va);
 word fformat (FILE * f, char *fmt, ...);
 word fdformat (int fd, char *fmt, ...);
 
-always_inline uword
+always_inline u32
 format_get_indent (u8 * s)
 {
-  uword indent = 0;
+  u32 indent = 0;
   u8 *nl;
 
   if (!s)
@@ -87,13 +87,14 @@ format_get_indent (u8 * s)
   return indent;
 }
 
-#define _(f) u8 * f (u8 * s, va_list * va)
+#define _(f) __clib_export u8 * f (u8 * s, va_list * va)
 
 /* Standard user-defined formats. */
 _(format_vec32);
 _(format_vec_uword);
 _(format_ascii_bytes);
 _(format_hex_bytes);
+_(format_hex_bytes_no_wrap);
 _(format_white_space);
 _(format_f64);
 _(format_time_interval);
@@ -152,7 +153,7 @@ unformat_init (unformat_input_t * i,
               uword (*fill_buffer) (unformat_input_t *),
               void *fill_buffer_arg)
 {
-  memset (i, 0, sizeof (i[0]));
+  clib_memset (i, 0, sizeof (i[0]));
   i->fill_buffer = fill_buffer;
   i->fill_buffer_arg = fill_buffer_arg;
 }
@@ -162,7 +163,7 @@ unformat_free (unformat_input_t * i)
 {
   vec_free (i->buffer);
   vec_free (i->buffer_marks);
-  memset (i, 0, sizeof (i[0]));
+  clib_memset (i, 0, sizeof (i[0]));
 }
 
 always_inline uword
@@ -296,6 +297,12 @@ unformat_function_t unformat_memory_size;
 /* Unparse memory size e.g. 100, 100k, 100m, 100g. */
 u8 *format_memory_size (u8 * s, va_list * va);
 
+/* Parse memory page size e.g. 4K, 2M */
+unformat_function_t unformat_log2_page_size;
+
+/* Unparse memory page size e.g. 4K, 2M */
+u8 *format_log2_page_size (u8 * s, va_list * va);
+
 /* Format c identifier: e.g. a_name -> "a name". */
 u8 *format_c_identifier (u8 * s, va_list * va);
 
@@ -315,6 +322,8 @@ uword unformat_init_unix_env (unformat_input_t * input, char *var);
 unformat_function_t unformat_unix_gid;
 #endif /* CLIB_UNIX */
 
+uword unformat_data_size (unformat_input_t * input, va_list * args);
+
 /* Test code. */
 int test_format_main (unformat_input_t * input);
 int test_unformat_main (unformat_input_t * input);