vcl: add api to retrieve num bytes for tx
[vpp.git] / src / vppinfra / error.h
index 63d73af..9eae8ea 100644 (file)
@@ -72,19 +72,7 @@ void clib_error_register_handler (clib_error_handler_func_t func, void *arg);
 #define clib_panic(format,args...) \
   _clib_error (CLIB_ERROR_ABORT, (char *) clib_error_function, __LINE__, format, ## args)
 
-typedef struct
-{
-  /* Error message. */
-  u8 *what;
-
-  /* Where error occurred (e.g. __FUNCTION__ __LINE__) */
-  const u8 *where;
-
-  uword flags;
-
-  /* Error code (e.g. errno for Unix errors). */
-  any code;
-} clib_error_t;
+#include <vppinfra/clib_error.h>
 
 #define clib_error_get_code(err) ((err) ? (err)->code : 0)
 #define clib_error_set_code(err, c)            \
@@ -97,10 +85,9 @@ extern void *clib_error_free_vector (clib_error_t * errors);
 
 #define clib_error_free(e) e = clib_error_free_vector(e)
 
-extern clib_error_t *_clib_error_return (clib_error_t * errors,
-                                        any code,
-                                        uword flags,
-                                        char *where, char *fmt, ...);
+extern clib_error_t *_clib_error_return (clib_error_t *errors, any code,
+                                        uword flags, const char *where,
+                                        const char *fmt, ...);
 
 #define clib_error_return_code(e,code,flags,args...) \
   _clib_error_return((e),(code),(flags),(char *)clib_error_function,args)
@@ -190,6 +177,16 @@ do {                                                       \
   _error_assert;                               \
 })
 
+/*
+ * If we're running under Coverity, don't die on
+ * failed static assertions.
+ */
+#ifdef __COVERITY__
+#ifndef _Static_assert
+#define _Static_assert(x,y)
+#endif
+#endif
+
 #endif /* included_error_h */
 
 /*