api: API trace improvements
[vpp.git] / src / vlibapi / api.h
index ae08915..d05395a 100644 (file)
@@ -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;                                 \
@@ -109,6 +109,7 @@ void vl_msg_api_handler_with_vm_node (api_main_t * am, svm_region_t * vlib_rp,
                                      void *the_msg, vlib_main_t * vm,
                                      vlib_node_runtime_t * node,
                                      u8 is_private);
+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,
@@ -122,6 +123,11 @@ 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);
+
 #endif /* included_api_h */
 /*
  * fd.io coding-style-patch-verification: ON