summaryrefslogtreecommitdiffstats
path: root/vppinfra/vppinfra/format.h
diff options
context:
space:
mode:
Diffstat (limited to 'vppinfra/vppinfra/format.h')
-rw-r--r--vppinfra/vppinfra/format.h145
1 files changed, 77 insertions, 68 deletions
diff --git a/vppinfra/vppinfra/format.h b/vppinfra/vppinfra/format.h
index 45cd3f50e37..c91cc74711e 100644
--- a/vppinfra/vppinfra/format.h
+++ b/vppinfra/vppinfra/format.h
@@ -40,15 +40,15 @@
#include <stdarg.h>
-#include <vppinfra/clib.h> /* for CLIB_UNIX, etc. */
+#include <vppinfra/clib.h> /* for CLIB_UNIX, etc. */
#include <vppinfra/vec.h>
-#include <vppinfra/error.h> /* for ASSERT */
+#include <vppinfra/error.h> /* for ASSERT */
#include <vppinfra/string.h>
-typedef u8 * (format_function_t) (u8 * s, va_list * args);
+typedef u8 *(format_function_t) (u8 * s, va_list * args);
-u8 * va_format (u8 * s, char * format, va_list * args);
-u8 * format (u8 * s, char * format, ...);
+u8 *va_format (u8 * s, char *format, va_list * args);
+u8 *format (u8 * s, char *format, ...);
#ifdef CLIB_UNIX
@@ -64,17 +64,17 @@ u8 * format (u8 * s, char * format, ...);
#endif
-word va_fformat (FILE * f, char * fmt, va_list * va);
-word fformat (FILE * f, char * fmt, ...);
-word fdformat (int fd, char * fmt, ...);
+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
format_get_indent (u8 * s)
{
uword indent = 0;
- u8 * nl;
+ u8 *nl;
- if (! s)
+ if (!s)
return indent;
nl = vec_end (s) - 1;
@@ -90,52 +90,53 @@ format_get_indent (u8 * s)
#define _(f) u8 * f (u8 * s, va_list * va)
/* Standard user-defined formats. */
-_ (format_vec32);
-_ (format_vec_uword);
-_ (format_ascii_bytes);
-_ (format_hex_bytes);
-_ (format_white_space);
-_ (format_f64);
-_ (format_time_interval);
+_(format_vec32);
+_(format_vec_uword);
+_(format_ascii_bytes);
+_(format_hex_bytes);
+_(format_white_space);
+_(format_f64);
+_(format_time_interval);
#ifdef CLIB_UNIX
/* Unix specific formats. */
-_ (format_address_family);
-_ (format_unix_arphrd);
-_ (format_unix_interface_flags);
-_ (format_network_address);
-_ (format_network_protocol);
-_ (format_network_port);
-_ (format_sockaddr);
-_ (format_ip4_tos_byte);
-_ (format_ip4_packet);
-_ (format_icmp4_type_and_code);
-_ (format_ethernet_packet);
-_ (format_hostname);
-_ (format_timeval);
-_ (format_time_float);
-_ (format_signal);
-_ (format_ucontext_pc);
+_(format_address_family);
+_(format_unix_arphrd);
+_(format_unix_interface_flags);
+_(format_network_address);
+_(format_network_protocol);
+_(format_network_port);
+_(format_sockaddr);
+_(format_ip4_tos_byte);
+_(format_ip4_packet);
+_(format_icmp4_type_and_code);
+_(format_ethernet_packet);
+_(format_hostname);
+_(format_timeval);
+_(format_time_float);
+_(format_signal);
+_(format_ucontext_pc);
#endif
#undef _
/* Unformat. */
-typedef struct _unformat_input_t {
+typedef struct _unformat_input_t
+{
/* Input buffer (vector). */
- u8 * buffer;
+ u8 *buffer;
/* Current index in input buffer. */
uword index;
/* Vector of buffer marks. Used to delineate pieces of the buffer
for error reporting and for parse recovery. */
- uword * buffer_marks;
+ uword *buffer_marks;
/* User's function to fill the buffer when its empty
(and argument). */
- uword (* fill_buffer) (struct _unformat_input_t * i);
+ uword (*fill_buffer) (struct _unformat_input_t * i);
/* Return values for fill buffer function which indicate whether not
input has been exhausted. */
@@ -143,13 +144,13 @@ typedef struct _unformat_input_t {
#define UNFORMAT_MORE_INPUT 0
/* User controlled argument to fill buffer function. */
- void * fill_buffer_arg;
+ void *fill_buffer_arg;
} unformat_input_t;
always_inline void
unformat_init (unformat_input_t * i,
- uword (* fill_buffer) (unformat_input_t *),
- void * fill_buffer_arg)
+ uword (*fill_buffer) (unformat_input_t *),
+ void *fill_buffer_arg)
{
memset (i, 0, sizeof (i[0]));
i->fill_buffer = fill_buffer;
@@ -170,8 +171,7 @@ unformat_check_input (unformat_input_t * i)
/* Low level fill input function. */
extern uword _unformat_fill_input (unformat_input_t * i);
- if (i->index >= vec_len (i->buffer)
- && i->index != UNFORMAT_END_OF_INPUT)
+ if (i->index >= vec_len (i->buffer) && i->index != UNFORMAT_END_OF_INPUT)
_unformat_fill_input (i);
return i->index;
@@ -201,7 +201,9 @@ unformat_get_input (unformat_input_t * input)
/* Back up input pointer by one. */
always_inline void
unformat_put_input (unformat_input_t * input)
-{ input->index -= 1; }
+{
+ input->index -= 1;
+}
/* Peek current input character without advancing. */
always_inline uword
@@ -214,59 +216,59 @@ unformat_peek_input (unformat_input_t * input)
}
/* Skip current input line. */
-always_inline void unformat_skip_line (unformat_input_t * i)
+always_inline void
+unformat_skip_line (unformat_input_t * i)
{
uword c;
- while ((c = unformat_get_input (i)) != UNFORMAT_END_OF_INPUT
- && c != '\n')
+ while ((c = unformat_get_input (i)) != UNFORMAT_END_OF_INPUT && c != '\n')
;
}
uword unformat_skip_white_space (unformat_input_t * input);
/* Unformat function. */
-typedef uword (unformat_function_t) (unformat_input_t * input, va_list * args);
+typedef uword (unformat_function_t) (unformat_input_t * input,
+ va_list * args);
/* External functions. */
/* General unformatting function with programmable input stream. */
-uword unformat (unformat_input_t * i, char * fmt, ...);
+uword unformat (unformat_input_t * i, char *fmt, ...);
/* Call user defined parse function.
unformat_user (i, f, ...) is equivalent to unformat (i, "%U", f, ...) */
-uword unformat_user (unformat_input_t * input, unformat_function_t * func, ...);
+uword unformat_user (unformat_input_t * input, unformat_function_t * func,
+ ...);
/* Alternate version which allows for extensions. */
-uword va_unformat (unformat_input_t * i, char * fmt, va_list * args);
+uword va_unformat (unformat_input_t * i, char *fmt, va_list * args);
/* Setup for unformat of Unix style command line. */
-void unformat_init_command_line (unformat_input_t * input,
- char * argv[]);
+void unformat_init_command_line (unformat_input_t * input, char *argv[]);
/* Setup for unformat of given string. */
void unformat_init_string (unformat_input_t * input,
- char * string,
- int string_len);
+ char *string, int string_len);
always_inline void
-unformat_init_cstring (unformat_input_t * input,
- char * string)
-{ unformat_init_string (input, string, strlen (string)); }
+unformat_init_cstring (unformat_input_t * input, char *string)
+{
+ unformat_init_string (input, string, strlen (string));
+}
/* Setup for unformat of given vector string; vector will be freed by unformat_string. */
-void unformat_init_vector (unformat_input_t * input,
- u8 * vector_string);
+void unformat_init_vector (unformat_input_t * input, u8 * vector_string);
/* Format function for unformat input usable when an unformat error
has occurred. */
-u8 * format_unformat_error (u8 * s, va_list * va);
+u8 *format_unformat_error (u8 * s, va_list * va);
#define unformat_parse_error(input) \
clib_error_return (0, "parse error `%U'", format_unformat_error, input)
/* Print all input: not just error context. */
-u8 * format_unformat_input (u8 * s, va_list * va);
+u8 *format_unformat_input (u8 * s, va_list * va);
/* Unformat (parse) function which reads a %s string and converts it
to and unformat_input_t. */
@@ -292,31 +294,38 @@ unformat_function_t unformat_eof;
unformat_function_t unformat_memory_size;
/* Unparse memory size e.g. 100, 100k, 100m, 100g. */
-u8 * format_memory_size (u8 * s, va_list * va);
+u8 *format_memory_size (u8 * s, va_list * va);
/* Format c identifier: e.g. a_name -> "a name". */
-u8 * format_c_identifier (u8 * s, va_list * va);
+u8 *format_c_identifier (u8 * s, va_list * va);
/* Format hexdump with both hex and printable chars - compatible with text2pcap */
-u8 * format_hexdump (u8 * s, va_list * va);
+u8 *format_hexdump (u8 * s, va_list * va);
/* Unix specific formats. */
#ifdef CLIB_UNIX
/* Setup input from Unix file. */
-void unformat_init_unix_file (unformat_input_t * input,
- int file_descriptor);
+void unformat_init_unix_file (unformat_input_t * input, int file_descriptor);
/* Take input from Unix environment variable; returns
1 if variable exists zero otherwise. */
-uword unformat_init_unix_env (unformat_input_t * input, char * var);
+uword unformat_init_unix_env (unformat_input_t * input, char *var);
#endif /* CLIB_UNIX */
/* Test code. */
int test_format_main (unformat_input_t * input);
int test_unformat_main (unformat_input_t * input);
-/* This is not the right place for this, but putting it in vec.h
+/* This is not the right place for this, but putting it in vec.h
created circular dependency problems. */
int test_vec_main (unformat_input_t * input);
#endif /* included_format_h */
+
+/*
+ * fd.io coding-style-patch-verification: ON
+ *
+ * Local Variables:
+ * eval: (c-set-style "gnu")
+ * End:
+ */