From aa365710b227ba82b1c43f9cdf497261edb21852 Mon Sep 17 00:00:00 2001 From: Amin Ben Romdhane <amin.benromdhane@iopsys.eu> Date: Mon, 3 Jun 2024 15:46:03 +0200 Subject: [PATCH] Align Hosts Objects to use dm_data --- src/bbf_plugin/hosts.c | 141 ++++++++++++++++++++++------------------- 1 file changed, 77 insertions(+), 64 deletions(-) diff --git a/src/bbf_plugin/hosts.c b/src/bbf_plugin/hosts.c index 9ad4467..1305e18 100644 --- a/src/bbf_plugin/hosts.c +++ b/src/bbf_plugin/hosts.c @@ -28,6 +28,7 @@ DM_MAP_OBJ tDynamicObj[] = { static int browseHostsHostInst(struct dmctx *dmctx, DMNODE *parent_node, void *prev_data, char *prev_instance) { json_object *res = NULL, *host_obj = NULL, *arrobj = NULL; + struct dm_data curr_data = {0}; int idx = 0, i = 0; char *inst = NULL; @@ -35,9 +36,11 @@ static int browseHostsHostInst(struct dmctx *dmctx, DMNODE *parent_node, void *p dmjson_foreach_obj_in_array(res, arrobj, host_obj, idx, 1, "hosts") { + curr_data.json_object = host_obj; + inst = handle_instance_without_section(dmctx, parent_node, ++i); - if (DM_LINK_INST_OBJ(dmctx, parent_node, (void *)host_obj, inst) == DM_STOP) + if (DM_LINK_INST_OBJ(dmctx, parent_node, (void *)&curr_data, inst) == DM_STOP) break; } return 0; @@ -46,13 +49,18 @@ static int browseHostsHostInst(struct dmctx *dmctx, DMNODE *parent_node, void *p /*#Device.Hosts.Host.{i}.IPv4Address.{i}.!UBUS:hosts/show//hosts[@i-1].ipv4addr*/ static int browseHostsHostIPv4AddressInst(struct dmctx *dmctx, DMNODE *parent_node, void *prev_data, char *prev_instance) { - json_object *ip_arr = NULL, *host_obj = (json_object *)prev_data; + json_object *ip_arr = NULL, *host_obj = ((struct dm_data *)prev_data)->json_object; + struct dm_data curr_data = {0}; char *inst = NULL, *ipv4addr = NULL; int id = 0, i = 0; dmjson_foreach_value_in_array(host_obj, ip_arr, ipv4addr, i, 1, "ipv4addr") { + + curr_data.additional_data = (void *)ipv4addr; + inst = handle_instance_without_section(dmctx, parent_node, ++id); - if (DM_LINK_INST_OBJ(dmctx, parent_node, (void *)ipv4addr, inst) == DM_STOP) + + if (DM_LINK_INST_OBJ(dmctx, parent_node, (void *)&curr_data, inst) == DM_STOP) break; } return 0; @@ -61,13 +69,18 @@ static int browseHostsHostIPv4AddressInst(struct dmctx *dmctx, DMNODE *parent_no /*#Device.Hosts.Host.{i}.IPv6Address.{i}.!UBUS:hosts/show//hosts[@i-1].ipv6addr*/ static int browseHostsHostIPv6AddressInst(struct dmctx *dmctx, DMNODE *parent_node, void *prev_data, char *prev_instance) { - json_object *ip_arr = NULL, *host_obj = (json_object *)prev_data; + json_object *ip_arr = NULL, *host_obj = ((struct dm_data *)prev_data)->json_object; + struct dm_data curr_data = {0}; char *inst = NULL, *ipv6addr = NULL; int id = 0, i = 0; dmjson_foreach_value_in_array(host_obj, ip_arr, ipv6addr, i, 1, "ipv6addr") { + + curr_data.additional_data = (void *)ipv6addr; + inst = handle_instance_without_section(dmctx, parent_node, ++id); - if (DM_LINK_INST_OBJ(dmctx, parent_node, (void *)ipv6addr, inst) == DM_STOP) + + if (DM_LINK_INST_OBJ(dmctx, parent_node, (void *)&curr_data, inst) == DM_STOP) break; } return 0; @@ -75,16 +88,16 @@ static int browseHostsHostIPv6AddressInst(struct dmctx *dmctx, DMNODE *parent_no static int browseHostsAccessControlInst(struct dmctx *dmctx, DMNODE *parent_node, void *prev_data, char *prev_instance) { - struct dmmap_dup *p = NULL; + struct dm_data *curr_data = NULL; LIST_HEAD(dup_list); char *inst = NULL; synchronize_specific_config_sections_with_dmmap("hosts", "access_control", "dmmap_hosts", &dup_list); - list_for_each_entry(p, &dup_list, list) { + list_for_each_entry(curr_data, &dup_list, list) { - inst = handle_instance(dmctx, parent_node, p->dmmap_section, "access_control_instance", "access_control_alias"); + inst = handle_instance(dmctx, parent_node, curr_data->dmmap_section, "access_control_instance", "access_control_alias"); - if (DM_LINK_INST_OBJ(dmctx, parent_node, (void *)p, inst) == DM_STOP) + if (DM_LINK_INST_OBJ(dmctx, parent_node, (void *)curr_data, inst) == DM_STOP) break; } free_dmmap_config_dup_list(&dup_list); @@ -94,17 +107,17 @@ static int browseHostsAccessControlInst(struct dmctx *dmctx, DMNODE *parent_node static int browseHostsAccessControlScheduleInst(struct dmctx *dmctx, DMNODE *parent_node, void *prev_data, char *prev_instance) { - struct uci_section *ac_s = ((struct dmmap_dup *)prev_data)->config_section; - struct dmmap_dup *p = NULL; + struct uci_section *ac_s = ((struct dm_data *)prev_data)->config_section; + struct dm_data *curr_data = NULL; LIST_HEAD(dup_list); char *inst = NULL; synchronize_specific_config_sections_with_dmmap_eq("hosts", "ac_schedule", "dmmap_hosts", "dm_parent", section_name(ac_s), &dup_list); - list_for_each_entry(p, &dup_list, list) { + list_for_each_entry(curr_data, &dup_list, list) { - inst = handle_instance(dmctx, parent_node, p->dmmap_section, "schedule_instance", "schedule_alias"); + inst = handle_instance(dmctx, parent_node, curr_data->dmmap_section, "schedule_instance", "schedule_alias"); - if (DM_LINK_INST_OBJ(dmctx, parent_node, (void *)p, inst) == DM_STOP) + if (DM_LINK_INST_OBJ(dmctx, parent_node, (void *)curr_data, inst) == DM_STOP) break; } free_dmmap_config_dup_list(&dup_list); @@ -140,7 +153,7 @@ static int delObjHostsAccessControl(char *refparam, struct dmctx *ctx, void *dat switch (del_action) { case DEL_INST: // AccessControl Schedule section - uci_foreach_option_eq_safe("hosts", "ac_schedule", "dm_parent", section_name(((struct dmmap_dup *)data)->config_section), stmp, s) { + uci_foreach_option_eq_safe("hosts", "ac_schedule", "dm_parent", section_name(((struct dm_data *)data)->config_section), stmp, s) { // dmmap AccessControl Schedule section get_dmmap_section_of_config_section("dmmap_hosts", "ac_schedule", section_name(s), &dmmap_section); @@ -150,10 +163,10 @@ static int delObjHostsAccessControl(char *refparam, struct dmctx *ctx, void *dat } // AccessControl section - dmuci_delete_by_section(((struct dmmap_dup *)data)->config_section, NULL, NULL); + dmuci_delete_by_section(((struct dm_data *)data)->config_section, NULL, NULL); // Dmmap AccessControl section - dmuci_delete_by_section(((struct dmmap_dup *)data)->dmmap_section, NULL, NULL); + dmuci_delete_by_section(((struct dm_data *)data)->dmmap_section, NULL, NULL); break; case DEL_ALL: @@ -184,7 +197,7 @@ static int delObjHostsAccessControl(char *refparam, struct dmctx *ctx, void *dat static int addObjHostsAccessControlSchedule(char *refparam, struct dmctx *ctx, void *data, char **instance) { - struct uci_section *ac_s = ((struct dmmap_dup *)data)->config_section; + struct uci_section *ac_s = ((struct dm_data *)data)->config_section; struct uci_section *ac_schedule_s = NULL, *dmmap_s = NULL; char ac_schedule_name[32] = {0}; @@ -208,11 +221,11 @@ static int delObjHostsAccessControlSchedule(char *refparam, struct dmctx *ctx, v switch (del_action) { case DEL_INST: - dmuci_delete_by_section(((struct dmmap_dup *)data)->config_section, NULL, NULL); - dmuci_delete_by_section(((struct dmmap_dup *)data)->dmmap_section, NULL, NULL); + dmuci_delete_by_section(((struct dm_data *)data)->config_section, NULL, NULL); + dmuci_delete_by_section(((struct dm_data *)data)->dmmap_section, NULL, NULL); break; case DEL_ALL: - ac_s = ((struct dmmap_dup *)data)->config_section; + ac_s = ((struct dm_data *)data)->config_section; // AccessControl Schedule section uci_foreach_option_eq_safe("hosts", "ac_schedule", "dm_parent", section_name(ac_s), stmp, s) { @@ -250,23 +263,23 @@ static int get_Hosts_AccessControlNumberOfEntries(char *refparam, struct dmctx * /*#Device.Hosts.Host.{i}.PhysAddress!UBUS:hosts/show//hosts[@i-1].macaddr*/ static int get_HostsHost_PhysAddress(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) { - *value = dmjson_get_value((json_object *)data, 1, "macaddr"); + *value = dmjson_get_value(((struct dm_data *)data)->json_object, 1, "macaddr"); return 0; } /*#Device.Hosts.Host.{i}.IPAddress!UBUS:hosts/show//hosts[@i-1].ipaddr*/ static int get_HostsHost_IPAddress(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) { - *value = dmjson_get_value((json_object *)data, 1, "ipaddr"); + *value = dmjson_get_value(((struct dm_data *)data)->json_object, 1, "ipaddr"); return 0; } static int get_HostsHost_DHCPClient(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) { - char *address_source = dmjson_get_value((json_object *)data, 1, "address_source"); + char *address_source = dmjson_get_value(((struct dm_data *)data)->json_object, 1, "address_source"); if (DM_STRCMP(address_source, "DHCP") == 0) { - char *linker = dmjson_get_value((json_object *)data, 1, "macaddr"); + char *linker = dmjson_get_value(((struct dm_data *)data)->json_object, 1, "macaddr"); return _bbfdm_get_references(ctx, "Device.DHCPv4.Server.Pool.*.Client.", "Chaddr", linker, value); } else { @@ -279,9 +292,9 @@ static int get_HostsHost_AssociatedDevice(char *refparam, struct dmctx *ctx, voi { char buf[4096] = {0}; - bool is1905 = dmuci_string_to_boolean(dmjson_get_value((json_object *)data, 1, "is1905")); + bool is1905 = dmuci_string_to_boolean(dmjson_get_value(((struct dm_data *)data)->json_object, 1, "is1905")); - char *linker = dmjson_get_value((json_object *)data, 1, is1905 ? "link_macaddr" : "macaddr"); + char *linker = dmjson_get_value(((struct dm_data *)data)->json_object, 1, is1905 ? "link_macaddr" : "macaddr"); bbfdm_get_references(ctx, MATCH_FIRST, "Device.WiFi.AccessPoint.*.AssociatedDevice.", "MACAddress", linker, buf, sizeof(buf)); bbfdm_get_references(ctx, MATCH_FIRST, "Device.WiFi.DataElements.Network.Device.*.Radio.*.BSS.*.STA.", "MACAddress", linker, buf, sizeof(buf)); @@ -292,24 +305,24 @@ static int get_HostsHost_AssociatedDevice(char *refparam, struct dmctx *ctx, voi static int get_HostsHost_Layer1Interface(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) { - bool is_local = dmuci_string_to_boolean(dmjson_get_value((json_object *)data, 1, "local")); + bool is_local = dmuci_string_to_boolean(dmjson_get_value(((struct dm_data *)data)->json_object, 1, "local")); if (is_local) { char buf[4096] = {0}; char *linker = NULL; - char *type = dmjson_get_value((json_object *)data, 1, "interface_type"); + char *type = dmjson_get_value(((struct dm_data *)data)->json_object, 1, "interface_type"); if (DM_LSTRCMP(type, "Wi-Fi") == 0) { - bool is1905 = dmuci_string_to_boolean(dmjson_get_value((json_object *)data, 1, "is1905")); - linker = dmjson_get_value((json_object *)data, 1, is1905 ? "parent_device" : "device"); + bool is1905 = dmuci_string_to_boolean(dmjson_get_value(((struct dm_data *)data)->json_object, 1, "is1905")); + linker = dmjson_get_value(((struct dm_data *)data)->json_object, 1, is1905 ? "parent_device" : "device"); struct uci_section *iface_s = get_dup_section_in_config_opt("wireless", "wifi-iface", "ifname", linker); dmuci_get_value_by_section_string(iface_s, "device", &linker); bbfdm_get_references(ctx, MATCH_FIRST, "Device.WiFi.Radio.", "Name", linker, buf, sizeof(buf)); } else { - linker = dmjson_get_value((json_object *)data, 1, "device"); + linker = dmjson_get_value(((struct dm_data *)data)->json_object, 1, "device"); struct uci_section *device_s = get_dup_section_in_config_opt("network", "device", "name", linker); dmuci_get_value_by_section_string(device_s, "ifname", &linker); @@ -326,7 +339,7 @@ static int get_HostsHost_Layer1Interface(char *refparam, struct dmctx *ctx, void static int get_HostsHost_Layer3Interface(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) { - char *linker = dmjson_get_value((json_object *)data, 1, "network"); + char *linker = dmjson_get_value(((struct dm_data *)data)->json_object, 1, "network"); return _bbfdm_get_references(ctx, "Device.IP.Interface.", "Name", linker, value); } @@ -334,14 +347,14 @@ static int get_HostsHost_Layer3Interface(char *refparam, struct dmctx *ctx, void /*#Device.Hosts.Host.{i}.InterfaceType!UBUS:hosts/show//hosts[@i-1].interface_type*/ static int get_HostsHost_InterfaceType(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) { - *value = dmjson_get_value((json_object *)data, 1, "interface_type"); + *value = dmjson_get_value(((struct dm_data *)data)->json_object, 1, "interface_type"); return 0; } /*#Device.Hosts.Host.{i}.HostName!UBUS:hosts/show//hosts[@i-1].hostname*/ static int get_HostsHost_HostName(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) { - *value = dmjson_get_value((json_object *)data, 1, "hostname"); + *value = dmjson_get_value(((struct dm_data *)data)->json_object, 1, "hostname"); if (DM_STRCMP(*value, "*") == 0) *value = ""; @@ -352,14 +365,14 @@ static int get_HostsHost_HostName(char *refparam, struct dmctx *ctx, void *data, /*#Device.Hosts.Host.{i}.Active!UBUS:hosts/show//hosts[@i-1].active*/ static int get_HostsHost_Active(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) { - *value = dmjson_get_value((json_object *)data, 1, "active"); + *value = dmjson_get_value(((struct dm_data *)data)->json_object, 1, "active"); return 0; } /*#Device.Hosts.Host.{i}.ActiveLastChange!UBUS:hosts/show//hosts[@i-1].active_last_change*/ static int get_HostsHost_ActiveLastChange(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) { - *value = dmjson_get_value((json_object *)data, 1, "active_last_change"); + *value = dmjson_get_value(((struct dm_data *)data)->json_object, 1, "active_last_change"); return 0; } @@ -382,58 +395,58 @@ static int get_HostsHost_IPv6AddressNumberOfEntries(char *refparam, struct dmctx /*#Device.Hosts.Host.{i}.IPv4Address.{i}.IPAddress!UBUS:hosts/show//hosts[@i-1].ipv4addr[@i-1]*/ static int get_HostsHostIPv4Address_IPAddress(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) { - *value = (char *)data; + *value = (char *)((struct dm_data *)data)->additional_data; return 0; } /*#Device.Hosts.Host.{i}.IPv6Address.{i}.IPAddress!UBUS:hosts/show//hosts[@i-1].ipv6addr[@i-1]*/ static int get_HostsHostIPv6Address_IPAddress(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) { - *value = (char *)data; + *value = (char *)((struct dm_data *)data)->additional_data; return 0; } /*#Device.Hosts.Host.{i}.WANStats.BytesSent!UBUS:hosts/show//hosts[@i-1].stats.tx_bytes*/ static int get_HostsHostWANStats_BytesSent(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) { - *value = dmjson_get_value((json_object *)data, 2, "stats", "tx_bytes"); + *value = dmjson_get_value(((struct dm_data *)data)->json_object, 2, "stats", "tx_bytes"); return 0; } /*#Device.Hosts.Host.{i}.WANStats.BytesReceived!UBUS:hosts/show//hosts[@i-1].stats.rx_bytes*/ static int get_HostsHostWANStats_BytesReceived(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) { - *value = dmjson_get_value((json_object *)data, 2, "stats", "rx_bytes"); + *value = dmjson_get_value(((struct dm_data *)data)->json_object, 2, "stats", "rx_bytes"); return 0; } /*#Device.Hosts.Host.{i}.WANStats.PacketsSent!UBUS:hosts/show//hosts[@i-1].stats.tx_packets*/ static int get_HostsHostWANStats_PacketsSent(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) { - *value = dmjson_get_value((json_object *)data, 2, "stats", "tx_packets"); + *value = dmjson_get_value(((struct dm_data *)data)->json_object, 2, "stats", "tx_packets"); return 0; } /*#Device.Hosts.Host.{i}.WANStats.PacketsReceived!UBUS:hosts/show//hosts[@i-1].stats.rx_packets*/ static int get_HostsHostWANStats_PacketsReceived(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) { - *value = dmjson_get_value((json_object *)data, 2, "stats", "rx_packets"); + *value = dmjson_get_value(((struct dm_data *)data)->json_object, 2, "stats", "rx_packets"); return 0; } static int get_HostsAccessControl_Alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) { - return bbf_get_alias(ctx, ((struct dmmap_dup *)data)->dmmap_section, "access_control_alias", instance, value); + return bbf_get_alias(ctx, ((struct dm_data *)data)->dmmap_section, "access_control_alias", instance, value); } static int set_HostsAccessControl_Alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action) { - return bbf_set_alias(ctx, ((struct dmmap_dup *)data)->dmmap_section, "access_control_alias", instance, value); + return bbf_set_alias(ctx, ((struct dm_data *)data)->dmmap_section, "access_control_alias", instance, value); } static int get_HostsAccessControl_PhysAddress(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) { - dmuci_get_value_by_section_string(((struct dmmap_dup *)data)->config_section, "macaddr", value); + dmuci_get_value_by_section_string(((struct dm_data *)data)->config_section, "macaddr", value); return 0; } @@ -445,7 +458,7 @@ static int set_HostsAccessControl_PhysAddress(char *refparam, struct dmctx *ctx, return FAULT_9007; break; case VALUESET: - dmuci_set_value_by_section(((struct dmmap_dup *)data)->config_section, "macaddr", value); + dmuci_set_value_by_section(((struct dm_data *)data)->config_section, "macaddr", value); break; } return 0; @@ -453,7 +466,7 @@ static int set_HostsAccessControl_PhysAddress(char *refparam, struct dmctx *ctx, static int get_HostsAccessControl_HostName(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) { - dmuci_get_value_by_section_string(((struct dmmap_dup *)data)->config_section, "host", value); + dmuci_get_value_by_section_string(((struct dm_data *)data)->config_section, "host", value); return 0; } @@ -465,7 +478,7 @@ static int set_HostsAccessControl_HostName(char *refparam, struct dmctx *ctx, vo return FAULT_9007; break; case VALUESET: - dmuci_set_value_by_section(((struct dmmap_dup *)data)->config_section, "host", value); + dmuci_set_value_by_section(((struct dm_data *)data)->config_section, "host", value); break; } return 0; @@ -473,7 +486,7 @@ static int set_HostsAccessControl_HostName(char *refparam, struct dmctx *ctx, vo static int get_HostsAccessControl_Enable(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) { - *value = dmuci_get_value_by_section_fallback_def(((struct dmmap_dup *)data)->config_section, "enable", "0"); + *value = dmuci_get_value_by_section_fallback_def(((struct dm_data *)data)->config_section, "enable", "0"); return 0; } @@ -488,7 +501,7 @@ static int set_HostsAccessControl_Enable(char *refparam, struct dmctx *ctx, void break; case VALUESET: string_to_bool(value, &b); - dmuci_set_value_by_section(((struct dmmap_dup *)data)->config_section, "enable", b ? "1" : "0"); + dmuci_set_value_by_section(((struct dm_data *)data)->config_section, "enable", b ? "1" : "0"); break; } return 0; @@ -496,7 +509,7 @@ static int set_HostsAccessControl_Enable(char *refparam, struct dmctx *ctx, void static int get_HostsAccessControl_AccessPolicy(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) { - dmuci_get_value_by_section_string(((struct dmmap_dup *)data)->config_section, "access_policy", value); + dmuci_get_value_by_section_string(((struct dm_data *)data)->config_section, "access_policy", value); return 0; } @@ -508,7 +521,7 @@ static int set_HostsAccessControl_AccessPolicy(char *refparam, struct dmctx *ctx return FAULT_9007; break; case VALUESET: - dmuci_set_value_by_section(((struct dmmap_dup *)data)->config_section, "access_policy", value); + dmuci_set_value_by_section(((struct dm_data *)data)->config_section, "access_policy", value); break; } return 0; @@ -523,17 +536,17 @@ static int get_HostsAccessControl_ScheduleNumberOfEntries(char *refparam, struct static int get_HostsAccessControlSchedule_Alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) { - return bbf_get_alias(ctx, ((struct dmmap_dup *)data)->dmmap_section, "schedule_alias", instance, value); + return bbf_get_alias(ctx, ((struct dm_data *)data)->dmmap_section, "schedule_alias", instance, value); } static int set_HostsAccessControlSchedule_Alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action) { - return bbf_set_alias(ctx, ((struct dmmap_dup *)data)->dmmap_section, "schedule_alias", instance, value); + return bbf_set_alias(ctx, ((struct dm_data *)data)->dmmap_section, "schedule_alias", instance, value); } static int get_HostsAccessControlSchedule_Enable(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) { - *value = dmuci_get_value_by_section_fallback_def(((struct dmmap_dup *)data)->config_section, "enable", "0"); + *value = dmuci_get_value_by_section_fallback_def(((struct dm_data *)data)->config_section, "enable", "0"); return 0; } @@ -548,7 +561,7 @@ static int set_HostsAccessControlSchedule_Enable(char *refparam, struct dmctx *c break; case VALUESET: string_to_bool(value, &b); - dmuci_set_value_by_section(((struct dmmap_dup *)data)->config_section, "enable", b ? "1" : "0"); + dmuci_set_value_by_section(((struct dm_data *)data)->config_section, "enable", b ? "1" : "0"); break; } return 0; @@ -559,7 +572,7 @@ static int get_HostsAccessControlSchedule_Day(char *refparam, struct dmctx *ctx, struct uci_list *days_list = NULL; char buf[64] = {0}; - dmuci_get_value_by_section_list(((struct dmmap_dup *)data)->config_section, "day", &days_list); + dmuci_get_value_by_section_list(((struct dm_data *)data)->config_section, "day", &days_list); if (days_list != NULL) { struct uci_element *e = NULL; @@ -595,9 +608,9 @@ static int set_HostsAccessControlSchedule_Day(char *refparam, struct dmctx *ctx, return FAULT_9007; break; case VALUESET: - dmuci_set_value_by_section(((struct dmmap_dup *)data)->config_section, "day", ""); + dmuci_set_value_by_section(((struct dm_data *)data)->config_section, "day", ""); for (pch = strtok_r(value_buf, ",", &spch); pch != NULL; pch = strtok_r(NULL, ",", &spch)) - dmuci_add_list_value_by_section(((struct dmmap_dup *)data)->config_section, "day", pch); + dmuci_add_list_value_by_section(((struct dm_data *)data)->config_section, "day", pch); break; } return 0; @@ -605,7 +618,7 @@ static int set_HostsAccessControlSchedule_Day(char *refparam, struct dmctx *ctx, static int get_HostsAccessControlSchedule_StartTime(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) { - dmuci_get_value_by_section_string(((struct dmmap_dup *)data)->config_section, "start_time", value); + dmuci_get_value_by_section_string(((struct dm_data *)data)->config_section, "start_time", value); return 0; } @@ -617,7 +630,7 @@ static int set_HostsAccessControlSchedule_StartTime(char *refparam, struct dmctx return FAULT_9007; break; case VALUESET: - dmuci_set_value_by_section(((struct dmmap_dup *)data)->config_section, "start_time", value); + dmuci_set_value_by_section(((struct dm_data *)data)->config_section, "start_time", value); break; } return 0; @@ -625,7 +638,7 @@ static int set_HostsAccessControlSchedule_StartTime(char *refparam, struct dmctx static int get_HostsAccessControlSchedule_Duration(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) { - dmuci_get_value_by_section_string(((struct dmmap_dup *)data)->config_section, "duration", value); + dmuci_get_value_by_section_string(((struct dm_data *)data)->config_section, "duration", value); return 0; } @@ -637,7 +650,7 @@ static int set_HostsAccessControlSchedule_Duration(char *refparam, struct dmctx return FAULT_9007; break; case VALUESET: - dmuci_set_value_by_section(((struct dmmap_dup *)data)->config_section, "duration", value); + dmuci_set_value_by_section(((struct dm_data *)data)->config_section, "duration", value); break; } return 0; -- GitLab