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)
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);
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;
}
{
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
/* 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);
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);