libyang NEW callback for adding schemas into ctx for data
diff --git a/src/context.c b/src/context.c
index 3eeb381..7990d90 100644
--- a/src/context.c
+++ b/src/context.c
@@ -357,14 +357,14 @@
 }
 
 API void
-ly_ctx_set_module_clb(struct ly_ctx *ctx, ly_module_clb clb, void *user_data)
+ly_ctx_set_imp_module_clb(struct ly_ctx *ctx, ly_module_imp_clb clb, void *user_data)
 {
-    ctx->module_clb = clb;
-    ctx->module_clb_data = user_data;
+    ctx->imp_clb = clb;
+    ctx->imp_clb_data = user_data;
 }
 
-API ly_module_clb
-ly_ctx_get_module_clb(const struct ly_ctx *ctx, void **user_data)
+API ly_module_imp_clb
+ly_ctx_get_imp_module_clb(const struct ly_ctx *ctx, void **user_data)
 {
     if (!ctx) {
         ly_errno = LY_EINVAL;
@@ -372,9 +372,25 @@
     }
 
     if (user_data) {
-        *user_data = ctx->module_clb_data;
+        *user_data = ctx->imp_clb_data;
     }
-    return ctx->module_clb;
+    return ctx->imp_clb;
+}
+
+API void
+ly_ctx_set_data_module_clb(struct ly_ctx *ctx, ly_module_data_clb clb, void *user_data)
+{
+    ctx->data_clb = clb;
+    ctx->data_clb_data = user_data;
+}
+
+API ly_module_data_clb
+ly_ctx_get_data_module_clb(const struct ly_ctx *ctx, void **user_data)
+{
+    if (user_data) {
+        *user_data = ctx->data_clb_data;
+    }
+    return ctx->data_clb;
 }
 
 const struct lys_module *
@@ -433,12 +449,12 @@
         }
     }
 
-    if (ctx->module_clb) {
+    if (ctx->imp_clb) {
         if (module) {
             mod = lys_main_module(module);
-            module_data = ctx->module_clb(mod->name, (mod->rev_size ? mod->rev[0].date : NULL), name, revision, ctx->module_clb_data, &format, &module_data_free);
+            module_data = ctx->imp_clb(mod->name, (mod->rev_size ? mod->rev[0].date : NULL), name, revision, ctx->imp_clb_data, &format, &module_data_free);
         } else {
-            module_data = ctx->module_clb(name, revision, NULL, NULL, ctx->module_clb_data, &format, &module_data_free);
+            module_data = ctx->imp_clb(name, revision, NULL, NULL, ctx->imp_clb_data, &format, &module_data_free);
         }
         if (!module_data) {
             if (module || revision) {