summaryrefslogtreecommitdiffstats
path: root/src/vnet/api_errno.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/vnet/api_errno.h')
-rw-r--r--src/vnet/api_errno.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/vnet/api_errno.h b/src/vnet/api_errno.h
index 8c509d7a411..f928e0d8aa4 100644
--- a/src/vnet/api_errno.h
+++ b/src/vnet/api_errno.h
@@ -15,6 +15,10 @@
#ifndef included_vnet_api_errno_h
#define included_vnet_api_errno_h
+#include <stdarg.h>
+#include <vppinfra/types.h>
+#include <vppinfra/format.h>
+
#define foreach_vnet_api_error \
_(UNSPECIFIED, -1, "Unspecified Error") \
_(INVALID_SW_IF_INDEX, -2, "Invalid sw_if_index") \
@@ -147,6 +151,30 @@ typedef enum
VNET_API_N_ERROR,
} vnet_api_error_t;
+/* *INDENT-OFF* */
+static inline u8 *
+format_vnet_api_errno (u8 * s, va_list * args)
+{
+ vnet_api_error_t api_error = va_arg (*args, vnet_api_error_t);
+#ifdef _
+#undef _
+#endif
+#define _(a, b, c) \
+ case b: \
+ s = format (s, "%s", c); \
+ break;
+ switch (api_error)
+ {
+ foreach_vnet_api_error
+ default:
+ s = format (s, "UNKNOWN");
+ break;
+ }
+ return s;
+#undef _
+}
+/* *INDENT-ON* */
+
#endif /* included_vnet_api_errno_h */
/*