map gbp papi: match endianess of f64
[vpp.git] / src / vpp / api / api.c
index 66857fb..9ae027d 100644 (file)
@@ -86,7 +86,9 @@ _(SHOW_THREADS, show_threads)                                                             \
 _(GET_NODE_GRAPH, get_node_graph)                                       \
 _(GET_NEXT_INDEX, get_next_index)                                       \
 _(LOG_DUMP, log_dump)                                                   \
-_(SHOW_VPE_SYSTEM_TIME_TICKS, show_vpe_system_time_ticks)
+_(SHOW_VPE_SYSTEM_TIME_TICKS, show_vpe_system_time_ticks)                              \
+_(GET_F64_ENDIAN_VALUE, get_f64_endian_value)                                                  \
+_(GET_F64_INCREMENT_BY_ONE, get_f64_increment_by_one)                                  \
 
 #define QUOTE_(x) #x
 #define QUOTE(x) QUOTE_(x)
@@ -554,6 +556,37 @@ static void
   /* *INDENT-ON* */
 }
 
+static void
+vl_api_get_f64_endian_value_t_handler (vl_api_get_f64_endian_value_t * mp)
+{
+  int rv = 0;
+  f64 one = 1.0;
+  vl_api_get_f64_endian_value_reply_t *rmp;
+  if (1.0 != clib_net_to_host_f64 (mp->f64_one))
+    rv = VNET_API_ERROR_API_ENDIAN_FAILED;
+
+  /* *INDENT-OFF* */
+  REPLY_MACRO2(VL_API_GET_F64_ENDIAN_VALUE_REPLY,
+  ({
+    rmp->f64_one_result = clib_host_to_net_f64 (one);
+  }));
+  /* *INDENT-ON* */
+}
+
+static void
+vl_api_get_f64_increment_by_one_t_handler (vl_api_get_f64_increment_by_one_t *
+                                          mp)
+{
+  int rv = 0;
+  vl_api_get_f64_increment_by_one_reply_t *rmp;
+
+  /* *INDENT-OFF* */
+  REPLY_MACRO2(VL_API_GET_F64_INCREMENT_BY_ONE_REPLY,
+  ({
+    rmp->f64_value = clib_host_to_net_f64 (clib_net_to_host_f64(mp->f64_value) + 1.0);
+  }));
+  /* *INDENT-ON* */
+}
 
 #define BOUNCE_HANDLER(nn)                                              \
 static void vl_api_##nn##_t_handler (                                   \