X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvlibapi%2Fapi.h;h=705678b7965936ecfdb83380095e976b2a3d1d99;hb=6cc757eff7b8c0d2bfaf6a8061c370d880fa89ca;hp=3eef0503310f3adbdd664588bfba28d644ff09e8;hpb=edfe2c0079a756f5fb1108037c39450e3521c8bd;p=vpp.git diff --git a/src/vlibapi/api.h b/src/vlibapi/api.h index 3eef0503310..705678b7965 100644 --- a/src/vlibapi/api.h +++ b/src/vlibapi/api.h @@ -36,8 +36,8 @@ typedef CLIB_PACKED ( struct { }) vl_api_trace_file_header_t; /* *INDENT-ON* */ -int vl_msg_api_trace_save (api_main_t * am, - vl_api_trace_which_t which, FILE * fp); +int vl_msg_api_trace_save (api_main_t *am, vl_api_trace_which_t which, + FILE *fp, u8 is_json); #define VLIB_API_INIT_FUNCTION(x) VLIB_DECLARE_INIT_FUNCTION(x,api_init) @@ -68,7 +68,7 @@ static void __vl_msg_api_add_##tag##_function_##x (void) \ \ static void __vl_msg_api_add_##tag##_function_##x (void) \ { \ - api_main_t * am = &api_main; \ + api_main_t * am = vlibapi_get_main(); \ static _vl_msg_api_function_list_elt_t _vl_msg_api_function; \ _vl_msg_api_function.next_init_function \ = am->tag##_function_registrations; \ @@ -105,9 +105,7 @@ int vl_msg_api_trace_onoff (api_main_t * am, vl_api_trace_which_t which, int vl_msg_api_trace_free (api_main_t * am, vl_api_trace_which_t which); int vl_msg_api_trace_configure (api_main_t * am, vl_api_trace_which_t which, u32 nitems); -void vl_msg_api_handler_with_vm_node (api_main_t * am, - void *the_msg, vlib_main_t * vm, - vlib_node_runtime_t * node); +u32 vl_msg_api_max_length (void *mp); vl_api_trace_t *vl_msg_api_trace_get (api_main_t * am, vl_api_trace_which_t which); void vl_msg_api_add_msg_name_crc (api_main_t * am, const char *string, @@ -121,6 +119,38 @@ vlib_node_t ***vlib_node_unserialize (u8 * vector); u32 vl_msg_api_get_msg_length (void *msg_arg); +typedef int (*vl_msg_traverse_trace_fn) (u8 *, void *); + +int vl_msg_traverse_trace (vl_api_trace_t *tp, vl_msg_traverse_trace_fn fn, + void *ctx); + +always_inline void +vl_api_increase_msg_trace_size (api_main_t *am, u32 msg_id, u32 inc) +{ + am->msg_data[msg_id].trace_size += inc; +} + +always_inline void +vl_api_set_msg_thread_safe (api_main_t *am, u32 msg_id, int v) +{ + am->msg_data[msg_id].is_mp_safe = v != 0; +} + +always_inline void +vl_api_set_msg_autoendian (api_main_t *am, u32 msg_id, int v) +{ + am->msg_data[msg_id].is_autoendian = v != 0; +} + +always_inline void +vl_api_allow_msg_replay (api_main_t *am, u32 msg_id, int v) +{ + am->msg_data[msg_id].replay_allowed = v != 0; +} + +format_function_t format_vl_api_msg_text; +format_function_t format_vl_api_msg_json; + #endif /* included_api_h */ /* * fd.io coding-style-patch-verification: ON