misc: add callback hooks and refactor pmc
[vpp.git] / src / vlibapi / api_common.h
index 86b1c5a..915ddab 100644 (file)
@@ -224,7 +224,7 @@ typedef struct
 } api_version_t;
 
 /** API main structure, used by both vpp and binary API clients */
-typedef struct
+typedef struct api_main_t
 {
   /** Message handler vector  */
   void (**msg_handlers) (void *);
@@ -374,6 +374,12 @@ typedef struct
   elog_main_t *elog_main;
   int elog_trace_api_messages;
 
+  /** performance counter callback **/
+  void (**perf_counter_cbs)
+    (struct api_main_t *, u32 id, int before_or_after);
+  void (**perf_counter_cbs_tmp)
+    (struct api_main_t *, u32 id, int before_or_after);
+
 } api_main_t;
 
 extern __thread api_main_t *my_api_main;