diff options
Diffstat (limited to 'src/vnet/api_errno.h')
-rw-r--r-- | src/vnet/api_errno.h | 28 |
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 */ /* |