|
FD.io VPP
v21.10.1-2-g0a485f517
Vector Packet Processing
|
Go to the documentation of this file.
43 #ifdef CLIB_LINUX_KERNEL
44 #include <linux/unistd.h>
45 #include <linux/kernel.h>
54 #ifdef CLIB_STANDALONE
55 #include <vppinfra/standalone_stdio.h>
112 _clib_error (
int how_to_die,
122 msg =
format (msg,
"%wd:", line_number);
132 msg =
format (msg,
": %s (errno %d)", strerror (errno), errno);
157 word errno_save = errno;
206 where =
format (where,
"from ");
209 s =
format (s,
"%v: ", where);
214 if ((
vec_end (errors) - 1) != e)
246 return error_return (0,
"x is odd %d", x);
252 return error_return (0,
"x is even %d", x);
264 return error_return (e, 0);
268 error_handler (
void *arg,
char *msg,
int msg_len)
270 write (2, msg, msg_len);
274 main (
int argc,
char *argv[])
278 register_error_handler (error_handler, 0);
clib_error_handler_func_t * func
static clib_error_handler_t * handlers
#define vec_end(v)
End (last data address) of vector.
__clib_export u8 * format_clib_error(u8 *s, va_list *va)
#define vec_len(v)
Number of elements in vector (rvalue-only, NULL tolerant)
#define vec_add2(V, P, N)
Add N elements to end of vector V, return pointer to new elements in P.
#define vec_add1(V, E)
Add 1 element to end of vector (unspecified alignment).
static void error_exit(int code)
__clib_export void clib_error_register_handler(clib_error_handler_func_t func, void *arg)
static void debugger(void)
void clib_error_handler_func_t(void *arg, u8 *msg, int msg_len)
#define vec_free(V)
Free vector's memory (no header).
int main(int argc, char **argv)
description fragment has unexpected format
#define vec_foreach(var, vec)
Vector iterator.
#define clib_error_free(e)
static u8 * dispatch_message(u8 *msg)
void os_puts(u8 *string, uword length, uword is_error)
unsigned char function_name[]
__clib_export void * clib_error_free_vector(clib_error_t *errors)
vl_api_wireguard_peer_flags_t flags