diff --git a/core/dap_config.c b/core/dap_config.c
index 7e788a86de986654749f9d2a4c1e1df254e12b47..7ae3f11338f43d277169366797c72d9cba436907 100755
--- a/core/dap_config.c
+++ b/core/dap_config.c
@@ -9,6 +9,8 @@
 
 #define LOG_TAG "dap_config"
 
+dap_config_t * g_config = NULL;
+
 /**
  * @brief The dap_config_item struct
  */
@@ -336,6 +338,18 @@ int32_t dap_config_get_item_int32(dap_config_t * a_config, const char * a_sectio
     return atoi(dap_config_get_item_str(a_config,a_section_path,a_item_name));
 }
 
+/**
+ * @brief dap_config_get_item_int64
+ * @param a_config
+ * @param a_section_path
+ * @param a_item_name
+ * @return
+ */
+int64_t dap_config_get_item_int64(dap_config_t * a_config, const char * a_section_path, const char * a_item_name)
+{
+    return atoll(dap_config_get_item_str(a_config,a_section_path,a_item_name));
+}
+
 /**
  * @brief dap_config_get_item_uint16
  * @param a_config
@@ -377,6 +391,20 @@ uint16_t dap_config_get_item_uint16_default(dap_config_t * a_config, const char
     return l_str_ret? (uint16_t) atoi(l_str_ret):a_default;
 }
 
+/**
+ * @brief dap_config_get_item_int64_default
+ * @param a_config
+ * @param a_section_path
+ * @param a_item_name
+ * @param a_default
+ * @return
+ */
+int64_t dap_config_get_item_int64_default(dap_config_t * a_config, const char * a_section_path, const char * a_item_name, int64_t a_default)
+{
+    const char * l_str_ret = dap_config_get_item_str(a_config,a_section_path,a_item_name);
+    return l_str_ret? (int64_t) atoll(l_str_ret):a_default;
+}
+
 
 /**
  * @brief dap_config_get_item Get the configuration as a item
diff --git a/core/dap_config.h b/core/dap_config.h
index 46297c726616f0706f072cf99016b55fc6187016..c07b5db1cb8c4df4e57d0be7117912ba56b0e2e5 100755
--- a/core/dap_config.h
+++ b/core/dap_config.h
@@ -50,6 +50,10 @@ uint16_t dap_config_get_item_uint16_default(dap_config_t * a_config, const char
 
 int32_t dap_config_get_item_int32(dap_config_t * a_config, const char * a_section_path, const char * a_item_name);
 int32_t dap_config_get_item_int32_default(dap_config_t * a_config, const char * a_section_path, const char * a_item_name, int32_t a_default);
+
+int64_t dap_config_get_item_int64(dap_config_t * a_config, const char * a_section_path, const char * a_item_name);
+int64_t dap_config_get_item_int64_default(dap_config_t * a_config, const char * a_section_path, const char * a_item_name, int64_t a_default);
+
 const char * dap_config_get_item_str(dap_config_t * a_config, const char * a_section_path, const char * a_item_name);
 const char * dap_config_get_item_str_default(dap_config_t * a_config, const char * a_section_path, const char * a_item_name, const char * a_value_default);
 char** dap_config_get_array_str(dap_config_t * a_config, const char * a_section_path,
@@ -61,6 +65,9 @@ bool dap_config_get_item_bool_default(dap_config_t * a_config, const char * a_se
 double dap_config_get_item_double(dap_config_t * a_config, const char * a_section_path, const char * a_item_name);
 double dap_config_get_item_double_default(dap_config_t * a_config, const char * a_section_path, const char * a_item_name, double a_default);
 
+extern dap_config_t * g_config;
+
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/core/dap_math_ops.h b/core/dap_math_ops.h
index 1f13c9c435eedb12b7a1299b9f0d38cf7908ce8c..993939f854823d9d0dc1f2d91f4c120d246637ef 100755
--- a/core/dap_math_ops.h
+++ b/core/dap_math_ops.h
@@ -9,6 +9,12 @@
 #define DAP_GLOBAL_IS_INT128
 typedef __int128 _dap_int128_t;
 
+#if !defined (int128_t)
+typedef __int128 int128_t;
+#endif
+#if !defined (uint128_t)
+typedef unsigned __int128 uint128_t;
+#endif
 #endif
 #endif