# Function Call Graph Generated from `src/**/*.c` by `scripts/docs/generate-wiki.py`. ```mermaid flowchart LR subgraph module_0["src/announce.c"] function_announce_c_tlv_append["tlv_append()"] function_announce_c_tlv_str["tlv_str()"] function_announce_c_put32be["put32be()"] function_announce_c_parse_mac["parse_mac()"] function_announce_c_parse_ip["parse_ip()"] function_announce_c_announce_init["announce_init()"] function_announce_c_announce_send["announce_send()"] function_announce_c_announce_close["announce_close()"] end subgraph module_1["src/clients.c"] function_clients_c_mac_lower["mac_lower()"] function_clients_c_clients_mac_to_ip["clients_mac_to_ip()"] function_clients_c_clients_mac_to_hostname["clients_mac_to_hostname()"] function_clients_c_parse_rate_kbps["parse_rate_kbps()"] function_clients_c_clients_read_wifi["clients_read_wifi()"] function_clients_c_clients_build_sta_table["clients_build_sta_table()"] end subgraph module_2["src/config.c"] function_config_c_config_load["config_load()"] end subgraph module_3["src/crypto.c"] function_crypto_c_crypto_hex2bin["crypto_hex2bin()"] function_crypto_c_crypto_bin2hex["crypto_bin2hex()"] function_crypto_c_crypto_random_hex["crypto_random_hex()"] function_crypto_c_crypto_encrypt["crypto_encrypt()"] function_crypto_c_crypto_decrypt["crypto_decrypt()"] function_crypto_c_crypto_gcm_encrypt["crypto_gcm_encrypt()"] function_crypto_c_crypto_gcm_decrypt["crypto_gcm_decrypt()"] end subgraph module_4["src/http.c"] function_http_c_parse_url["parse_url()"] function_http_c_http_post["http_post()"] end subgraph module_5["src/inform/inform.c"] function_inform_inform_c_inform_send["inform_send()"] end subgraph module_6["src/inform/packet.c"] function_inform_packet_c_put32be["put32be()"] function_inform_packet_c_put16be["put16be()"] function_inform_packet_c_get32be["get32be()"] function_inform_packet_c_get16be["get16be()"] function_inform_packet_c_inform_packet_build["inform_packet_build()"] function_inform_packet_c_inform_packet_parse["inform_packet_parse()"] end subgraph module_7["src/inform/payload.c"] function_inform_payload_c_build_sys_stats["build_sys_stats()"] function_inform_payload_c_build_system_stats["build_system_stats()"] function_inform_payload_c_build_if_table["build_if_table()"] function_inform_payload_c_radio_runtime_iface["radio_runtime_iface()"] function_inform_payload_c_build_scan_table["build_scan_table()"] function_inform_payload_c_build_athstats["build_athstats()"] function_inform_payload_c_build_radio_table["build_radio_table()"] function_inform_payload_c_build_radio_table_stats["build_radio_table_stats()"] function_inform_payload_c_build_port_table["build_port_table()"] function_inform_payload_c_build_eth_table["build_eth_table()"] function_inform_payload_c_build_vap_table["build_vap_table()"] function_inform_payload_c_collect_sta_table["collect_sta_table()"] function_inform_payload_c_inform_build_payload["inform_build_payload()"] end subgraph module_8["src/inform/response.c"] function_inform_response_c_inform_valid_auth_key["inform_valid_auth_key()"] function_inform_response_c_inform_set_debug_level["inform_set_debug_level()"] function_inform_response_c_inform_debug_level["inform_debug_level()"] function_inform_response_c_inform_debug_system_cfg_key["inform_debug_system_cfg_key()"] function_inform_response_c_inform_log_controller_response["inform_log_controller_response()"] function_inform_response_c_reboot_openwrt["reboot_openwrt()"] function_inform_response_c_inform_handle_response["inform_handle_response()"] end subgraph module_9["src/lldp.c"] function_lldp_c_tlv_write["tlv_write()"] function_lldp_c_tlv_str["tlv_str()"] function_lldp_c_parse_mac["parse_mac()"] function_lldp_c_lldp_send_frame["lldp_send_frame()"] function_lldp_c_lldp_available["lldp_available()"] function_lldp_c_lldp_read_neighbors["lldp_read_neighbors()"] end subgraph module_10["src/main.c"] function_main_c_get_mac["get_mac()"] function_main_c_get_ip["get_ip()"] function_main_c_get_default_gateway["get_default_gateway()"] function_main_c_main["main()"] end subgraph module_11["src/models.c"] function_models_c_ufmodel_find["ufmodel_find()"] end subgraph module_12["src/state.c"] function_state_c_state_defaults["state_defaults()"] function_state_c_state_load["state_load()"] function_state_c_state_save["state_save()"] end subgraph module_13["src/sysinfo.c"] function_sysinfo_c_sysinfo_mem["sysinfo_mem()"] function_sysinfo_c_read_cpu["read_cpu()"] function_sysinfo_c_sysinfo_cpu_percent["sysinfo_cpu_percent()"] function_sysinfo_c_read_sysfs_str["read_sysfs_str()"] function_sysinfo_c_read_sysfs_int["read_sysfs_int()"] function_sysinfo_c_read_ip_ioctl["read_ip_ioctl()"] function_sysinfo_c_sysinfo_iface["sysinfo_iface()"] function_sysinfo_c_utilization_percent["utilization_percent()"] function_sysinfo_c_count_antenna_chains["count_antenna_chains()"] function_sysinfo_c_sysinfo_radio["sysinfo_radio()"] function_sysinfo_c_frequency_to_channel["frequency_to_channel()"] function_sysinfo_c_sysinfo_wifi_scan_cache["sysinfo_wifi_scan_cache()"] end subgraph module_14["src/wlan/common.c"] function_wlan_common_c_wlan_security_to_uci["wlan_security_to_uci()"] function_wlan_common_c_wlan_security_to_unifi["wlan_security_to_unifi()"] function_wlan_common_c_wlan_valid_object_id["wlan_valid_object_id()"] function_wlan_common_c_wlan_ensure_vap_ids["wlan_ensure_vap_ids()"] function_wlan_common_c_wlan_mobility_domain_for_ssid["wlan_mobility_domain_for_ssid()"] function_wlan_common_c_wlan_radio_uses_ath9k["wlan_radio_uses_ath9k()"] function_wlan_common_c_wlan_json_boolean_any["wlan_json_boolean_any()"] function_wlan_common_c_wlan_feature_enabled["wlan_feature_enabled()"] function_wlan_common_c_wlan_safe_section_name["wlan_safe_section_name()"] end subgraph module_15["src/wlan/legacy.c"] function_wlan_legacy_c_system_cfg_get["system_cfg_get()"] function_wlan_legacy_c_wlan_apply_system_cfg["wlan_apply_system_cfg()"] end subgraph module_16["src/wlan/provision.c"] function_wlan_provision_c_apply_vap["apply_vap()"] function_wlan_provision_c_force_wifi4_for_band["force_wifi4_for_band()"] function_wlan_provision_c_wlan_apply_config["wlan_apply_config()"] end subgraph module_17["src/wlan/radio.c"] function_wlan_radio_c_band_bit["band_bit()"] function_wlan_radio_c_bit_count["bit_count()"] function_wlan_radio_c_detect_radio_bands["detect_radio_bands()"] function_wlan_radio_c_resolve_radio_map["resolve_radio_map()"] function_wlan_radio_c_wlan_device_for_band["wlan_device_for_band()"] function_wlan_radio_c_wlan_band_for_device["wlan_band_for_device()"] function_wlan_radio_c_radio_max_standard["radio_max_standard()"] function_wlan_radio_c_select_htmode["select_htmode()"] function_wlan_radio_c_wlan_apply_radio["wlan_apply_radio()"] end subgraph module_18["src/wlan/telemetry.c"] function_wlan_telemetry_c_find_runtime_vap["find_runtime_vap()"] function_wlan_telemetry_c_wlan_get_vap_table["wlan_get_vap_table()"] end subgraph module_19["src/wlan/uci.c"] function_wlan_uci_c_wlan_uci_set["wlan_uci_set()"] function_wlan_uci_c_wlan_uci_set_required["wlan_uci_set_required()"] function_wlan_uci_c_wlan_uci_add_list["wlan_uci_add_list()"] function_wlan_uci_c_wlan_uci_ensure_section["wlan_uci_ensure_section()"] function_wlan_uci_c_find_vlan_uplink["find_vlan_uplink()"] function_wlan_uci_c_wlan_ensure_vlan_network["wlan_ensure_vlan_network()"] function_wlan_uci_c_wlan_configure_band_steering["wlan_configure_band_steering()"] function_wlan_uci_c_wlan_clear["wlan_clear()"] end function_announce_c_tlv_str --> function_announce_c_tlv_append function_announce_c_announce_init --> function_announce_c_tlv_append function_announce_c_announce_init --> function_announce_c_tlv_str function_announce_c_announce_init --> function_announce_c_parse_mac function_announce_c_announce_init --> function_announce_c_parse_ip function_announce_c_announce_send --> function_announce_c_put32be function_clients_c_clients_mac_to_ip --> function_clients_c_mac_lower function_clients_c_clients_mac_to_hostname --> function_clients_c_mac_lower function_clients_c_clients_read_wifi --> function_clients_c_clients_mac_to_ip function_clients_c_clients_read_wifi --> function_clients_c_clients_mac_to_hostname function_clients_c_clients_read_wifi --> function_clients_c_parse_rate_kbps function_clients_c_clients_build_sta_table --> function_clients_c_clients_read_wifi function_crypto_c_crypto_random_hex --> function_crypto_c_crypto_bin2hex function_crypto_c_crypto_encrypt --> function_crypto_c_crypto_hex2bin function_crypto_c_crypto_decrypt --> function_crypto_c_crypto_hex2bin function_crypto_c_crypto_gcm_encrypt --> function_crypto_c_crypto_hex2bin function_crypto_c_crypto_gcm_decrypt --> function_crypto_c_crypto_hex2bin function_http_c_http_post --> function_http_c_parse_url function_inform_inform_c_inform_send --> function_http_c_http_post function_inform_inform_c_inform_send --> function_inform_packet_c_inform_packet_build function_inform_inform_c_inform_send --> function_inform_packet_c_inform_packet_parse function_inform_inform_c_inform_send --> function_inform_payload_c_inform_build_payload function_inform_inform_c_inform_send --> function_inform_response_c_inform_log_controller_response function_inform_inform_c_inform_send --> function_inform_response_c_inform_handle_response function_inform_inform_c_inform_send --> function_state_c_state_save function_inform_packet_c_inform_packet_build --> function_crypto_c_crypto_hex2bin function_inform_packet_c_inform_packet_build --> function_crypto_c_crypto_random_hex function_inform_packet_c_inform_packet_build --> function_crypto_c_crypto_encrypt function_inform_packet_c_inform_packet_build --> function_crypto_c_crypto_gcm_encrypt function_inform_packet_c_inform_packet_build --> function_inform_packet_c_put32be function_inform_packet_c_inform_packet_build --> function_inform_packet_c_put16be function_inform_packet_c_inform_packet_parse --> function_crypto_c_crypto_bin2hex function_inform_packet_c_inform_packet_parse --> function_crypto_c_crypto_decrypt function_inform_packet_c_inform_packet_parse --> function_crypto_c_crypto_gcm_decrypt function_inform_packet_c_inform_packet_parse --> function_inform_packet_c_get32be function_inform_packet_c_inform_packet_parse --> function_inform_packet_c_get16be function_inform_payload_c_build_sys_stats --> function_sysinfo_c_sysinfo_mem function_inform_payload_c_build_sys_stats --> function_sysinfo_c_sysinfo_cpu_percent function_inform_payload_c_build_if_table --> function_sysinfo_c_sysinfo_iface function_inform_payload_c_radio_runtime_iface --> function_wlan_radio_c_wlan_device_for_band function_inform_payload_c_radio_runtime_iface --> function_wlan_telemetry_c_wlan_get_vap_table function_inform_payload_c_build_scan_table --> function_sysinfo_c_sysinfo_wifi_scan_cache function_inform_payload_c_build_radio_table --> function_inform_payload_c_radio_runtime_iface function_inform_payload_c_build_radio_table --> function_inform_payload_c_build_scan_table function_inform_payload_c_build_radio_table --> function_inform_payload_c_build_athstats function_inform_payload_c_build_radio_table --> function_inform_response_c_inform_debug_level function_inform_payload_c_build_radio_table_stats --> function_inform_payload_c_radio_runtime_iface function_inform_payload_c_build_radio_table_stats --> function_sysinfo_c_sysinfo_radio function_inform_payload_c_build_port_table --> function_sysinfo_c_sysinfo_iface function_inform_payload_c_build_vap_table --> function_clients_c_clients_build_sta_table function_inform_payload_c_build_vap_table --> function_sysinfo_c_sysinfo_iface function_inform_payload_c_build_vap_table --> function_sysinfo_c_sysinfo_radio function_inform_payload_c_build_vap_table --> function_wlan_radio_c_wlan_device_for_band function_inform_payload_c_build_vap_table --> function_wlan_telemetry_c_wlan_get_vap_table function_inform_payload_c_inform_build_payload --> function_inform_payload_c_build_sys_stats function_inform_payload_c_inform_build_payload --> function_inform_payload_c_build_system_stats function_inform_payload_c_inform_build_payload --> function_inform_payload_c_build_if_table function_inform_payload_c_inform_build_payload --> function_inform_payload_c_build_radio_table function_inform_payload_c_inform_build_payload --> function_inform_payload_c_build_radio_table_stats function_inform_payload_c_inform_build_payload --> function_inform_payload_c_build_port_table function_inform_payload_c_inform_build_payload --> function_inform_payload_c_build_eth_table function_inform_payload_c_inform_build_payload --> function_inform_payload_c_build_vap_table function_inform_payload_c_inform_build_payload --> function_inform_payload_c_collect_sta_table function_inform_payload_c_inform_build_payload --> function_lldp_c_lldp_read_neighbors function_inform_response_c_inform_log_controller_response --> function_inform_response_c_inform_debug_system_cfg_key function_inform_response_c_inform_handle_response --> function_inform_response_c_inform_valid_auth_key function_inform_response_c_inform_handle_response --> function_inform_response_c_reboot_openwrt function_inform_response_c_inform_handle_response --> function_state_c_state_save function_inform_response_c_inform_handle_response --> function_wlan_legacy_c_wlan_apply_system_cfg function_inform_response_c_inform_handle_response --> function_wlan_provision_c_wlan_apply_config function_lldp_c_tlv_str --> function_lldp_c_tlv_write function_lldp_c_lldp_send_frame --> function_lldp_c_tlv_write function_lldp_c_lldp_send_frame --> function_lldp_c_tlv_str function_lldp_c_lldp_send_frame --> function_lldp_c_parse_mac function_lldp_c_lldp_read_neighbors --> function_lldp_c_lldp_available function_main_c_main --> function_announce_c_announce_init function_main_c_main --> function_announce_c_announce_send function_main_c_main --> function_announce_c_announce_close function_main_c_main --> function_config_c_config_load function_main_c_main --> function_inform_inform_c_inform_send function_main_c_main --> function_inform_response_c_inform_set_debug_level function_main_c_main --> function_lldp_c_lldp_send_frame function_main_c_main --> function_lldp_c_lldp_available function_main_c_main --> function_main_c_get_mac function_main_c_main --> function_main_c_get_ip function_main_c_main --> function_main_c_get_default_gateway function_main_c_main --> function_models_c_ufmodel_find function_main_c_main --> function_state_c_state_load function_main_c_main --> function_state_c_state_save function_state_c_state_load --> function_state_c_state_defaults function_sysinfo_c_sysinfo_cpu_percent --> function_sysinfo_c_read_cpu function_sysinfo_c_read_sysfs_int --> function_sysinfo_c_read_sysfs_str function_sysinfo_c_sysinfo_iface --> function_sysinfo_c_read_sysfs_str function_sysinfo_c_sysinfo_iface --> function_sysinfo_c_read_sysfs_int function_sysinfo_c_sysinfo_iface --> function_sysinfo_c_read_ip_ioctl function_sysinfo_c_sysinfo_radio --> function_sysinfo_c_utilization_percent function_sysinfo_c_sysinfo_radio --> function_sysinfo_c_count_antenna_chains function_sysinfo_c_sysinfo_wifi_scan_cache --> function_sysinfo_c_frequency_to_channel function_wlan_common_c_wlan_ensure_vap_ids --> function_crypto_c_crypto_random_hex function_wlan_common_c_wlan_ensure_vap_ids --> function_wlan_common_c_wlan_valid_object_id function_wlan_legacy_c_wlan_apply_system_cfg --> function_wlan_common_c_wlan_valid_object_id function_wlan_legacy_c_wlan_apply_system_cfg --> function_wlan_common_c_wlan_feature_enabled function_wlan_legacy_c_wlan_apply_system_cfg --> function_wlan_legacy_c_system_cfg_get function_wlan_legacy_c_wlan_apply_system_cfg --> function_wlan_provision_c_wlan_apply_config function_wlan_provision_c_apply_vap --> function_wlan_common_c_wlan_security_to_uci function_wlan_provision_c_apply_vap --> function_wlan_common_c_wlan_valid_object_id function_wlan_provision_c_apply_vap --> function_wlan_common_c_wlan_mobility_domain_for_ssid function_wlan_provision_c_apply_vap --> function_wlan_common_c_wlan_radio_uses_ath9k function_wlan_provision_c_apply_vap --> function_wlan_common_c_wlan_json_boolean_any function_wlan_provision_c_apply_vap --> function_wlan_common_c_wlan_safe_section_name function_wlan_provision_c_apply_vap --> function_wlan_uci_c_wlan_uci_set_required function_wlan_provision_c_apply_vap --> function_wlan_uci_c_wlan_uci_add_list function_wlan_provision_c_apply_vap --> function_wlan_uci_c_wlan_uci_ensure_section function_wlan_provision_c_apply_vap --> function_wlan_uci_c_wlan_ensure_vlan_network function_wlan_provision_c_force_wifi4_for_band --> function_wlan_common_c_wlan_json_boolean_any function_wlan_provision_c_wlan_apply_config --> function_wlan_common_c_wlan_ensure_vap_ids function_wlan_provision_c_wlan_apply_config --> function_wlan_common_c_wlan_json_boolean_any function_wlan_provision_c_wlan_apply_config --> function_wlan_provision_c_apply_vap function_wlan_provision_c_wlan_apply_config --> function_wlan_provision_c_force_wifi4_for_band function_wlan_provision_c_wlan_apply_config --> function_wlan_radio_c_wlan_device_for_band function_wlan_provision_c_wlan_apply_config --> function_wlan_radio_c_wlan_apply_radio function_wlan_provision_c_wlan_apply_config --> function_wlan_uci_c_wlan_configure_band_steering function_wlan_provision_c_wlan_apply_config --> function_wlan_uci_c_wlan_clear function_wlan_radio_c_resolve_radio_map --> function_wlan_radio_c_band_bit function_wlan_radio_c_resolve_radio_map --> function_wlan_radio_c_bit_count function_wlan_radio_c_resolve_radio_map --> function_wlan_radio_c_detect_radio_bands function_wlan_radio_c_wlan_device_for_band --> function_wlan_radio_c_resolve_radio_map function_wlan_radio_c_wlan_band_for_device --> function_wlan_radio_c_resolve_radio_map function_wlan_radio_c_select_htmode --> function_wlan_radio_c_radio_max_standard function_wlan_radio_c_wlan_apply_radio --> function_wlan_radio_c_select_htmode function_wlan_telemetry_c_wlan_get_vap_table --> function_wlan_common_c_wlan_security_to_unifi function_wlan_telemetry_c_wlan_get_vap_table --> function_wlan_common_c_wlan_valid_object_id function_wlan_telemetry_c_wlan_get_vap_table --> function_wlan_radio_c_wlan_band_for_device function_wlan_telemetry_c_wlan_get_vap_table --> function_wlan_telemetry_c_find_runtime_vap function_wlan_uci_c_wlan_uci_set_required --> function_wlan_uci_c_wlan_uci_set function_wlan_uci_c_wlan_ensure_vlan_network --> function_wlan_uci_c_wlan_uci_add_list function_wlan_uci_c_wlan_ensure_vlan_network --> function_wlan_uci_c_wlan_uci_ensure_section function_wlan_uci_c_wlan_ensure_vlan_network --> function_wlan_uci_c_find_vlan_uplink function_wlan_uci_c_wlan_configure_band_steering --> function_wlan_uci_c_wlan_uci_ensure_section ``` ## Caller/callee index | Source | Caller | Internal callees | | --- | --- | --- | | `src/announce.c:67` | `tlv_append()` | — | | `src/announce.c:78` | `tlv_str()` | `tlv_append()` | | `src/announce.c:85` | `put32be()` | — | | `src/announce.c:94` | `parse_mac()` | — | | `src/announce.c:102` | `parse_ip()` | — | | `src/announce.c:110` | `announce_init()` | `tlv_append()`, `tlv_str()`, `parse_mac()`, `parse_ip()` | | `src/announce.c:233` | `announce_send()` | `put32be()` | | `src/announce.c:273` | `announce_close()` | — | | `src/clients.c:45` | `mac_lower()` | — | | `src/clients.c:55` | `clients_mac_to_ip()` | `mac_lower()` | | `src/clients.c:86` | `clients_mac_to_hostname()` | `mac_lower()` | | `src/clients.c:120` | `parse_rate_kbps()` | — | | `src/clients.c:130` | `clients_read_wifi()` | `clients_mac_to_ip()`, `clients_mac_to_hostname()`, `parse_rate_kbps()` | | `src/clients.c:247` | `clients_build_sta_table()` | `clients_read_wifi()` | | `src/config.c:7` | `config_load()` | — | | `src/crypto.c:13` | `crypto_hex2bin()` | — | | `src/crypto.c:22` | `crypto_bin2hex()` | — | | `src/crypto.c:30` | `crypto_random_hex()` | `crypto_bin2hex()` | | `src/crypto.c:58` | `crypto_encrypt()` | `crypto_hex2bin()` | | `src/crypto.c:93` | `crypto_decrypt()` | `crypto_hex2bin()` | | `src/crypto.c:123` | `crypto_gcm_encrypt()` | `crypto_hex2bin()` | | `src/crypto.c:144` | `crypto_gcm_decrypt()` | `crypto_hex2bin()` | | `src/http.c:24` | `parse_url()` | — | | `src/http.c:65` | `http_post()` | `parse_url()` | | `src/inform/inform.c:26` | `inform_send()` | `http_post()`, `inform_packet_build()`, `inform_packet_parse()`, `inform_build_payload()`, `inform_log_controller_response()`, `inform_handle_response()`, `state_save()` | | `src/inform/packet.c:26` | `put32be()` | — | | `src/inform/packet.c:31` | `put16be()` | — | | `src/inform/packet.c:35` | `get32be()` | — | | `src/inform/packet.c:40` | `get16be()` | — | | `src/inform/packet.c:45` | `inform_packet_build()` | `crypto_hex2bin()`, `crypto_random_hex()`, `crypto_encrypt()`, `crypto_gcm_encrypt()`, `put32be()`, `put16be()` | | `src/inform/packet.c:103` | `inform_packet_parse()` | `crypto_bin2hex()`, `crypto_decrypt()`, `crypto_gcm_decrypt()`, `get32be()`, `get16be()` | | `src/inform/payload.c:26` | `build_sys_stats()` | `sysinfo_mem()`, `sysinfo_cpu_percent()` | | `src/inform/payload.c:69` | `build_system_stats()` | — | | `src/inform/payload.c:91` | `build_if_table()` | `sysinfo_iface()` | | `src/inform/payload.c:139` | `radio_runtime_iface()` | `wlan_device_for_band()`, `wlan_get_vap_table()` | | `src/inform/payload.c:162` | `build_scan_table()` | `sysinfo_wifi_scan_cache()` | | `src/inform/payload.c:191` | `build_athstats()` | — | | `src/inform/payload.c:220` | `build_radio_table()` | `radio_runtime_iface()`, `build_scan_table()`, `build_athstats()`, `inform_debug_level()` | | `src/inform/payload.c:296` | `build_radio_table_stats()` | `radio_runtime_iface()`, `sysinfo_radio()` | | `src/inform/payload.c:373` | `build_port_table()` | `sysinfo_iface()` | | `src/inform/payload.c:410` | `build_eth_table()` | — | | `src/inform/payload.c:439` | `build_vap_table()` | `clients_build_sta_table()`, `sysinfo_iface()`, `sysinfo_radio()`, `wlan_device_for_band()`, `wlan_get_vap_table()` | | `src/inform/payload.c:647` | `collect_sta_table()` | — | | `src/inform/payload.c:668` | `inform_build_payload()` | `build_sys_stats()`, `build_system_stats()`, `build_if_table()`, `build_radio_table()`, `build_radio_table_stats()`, `build_port_table()`, `build_eth_table()`, `build_vap_table()`, `collect_sta_table()`, `lldp_read_neighbors()` | | `src/inform/response.c:26` | `inform_valid_auth_key()` | — | | `src/inform/response.c:38` | `inform_set_debug_level()` | — | | `src/inform/response.c:43` | `inform_debug_level()` | — | | `src/inform/response.c:48` | `inform_debug_system_cfg_key()` | — | | `src/inform/response.c:57` | `inform_log_controller_response()` | `inform_debug_system_cfg_key()` | | `src/inform/response.c:102` | `reboot_openwrt()` | — | | `src/inform/response.c:120` | `inform_handle_response()` | `inform_valid_auth_key()`, `reboot_openwrt()`, `state_save()`, `wlan_apply_system_cfg()`, `wlan_apply_config()` | | `src/lldp.c:75` | `tlv_write()` | — | | `src/lldp.c:86` | `tlv_str()` | `tlv_write()` | | `src/lldp.c:94` | `parse_mac()` | — | | `src/lldp.c:104` | `lldp_send_frame()` | `tlv_write()`, `tlv_str()`, `parse_mac()` | | `src/lldp.c:193` | `lldp_available()` | — | | `src/lldp.c:210` | `lldp_read_neighbors()` | `lldp_available()` | | `src/main.c:36` | `get_mac()` | — | | `src/main.c:51` | `get_ip()` | — | | `src/main.c:70` | `get_default_gateway()` | — | | `src/main.c:116` | `main()` | `announce_init()`, `announce_send()`, `announce_close()`, `config_load()`, `inform_send()`, `inform_set_debug_level()`, `lldp_send_frame()`, `lldp_available()`, `get_mac()`, `get_ip()`, `get_default_gateway()`, `ufmodel_find()`, `state_load()`, `state_save()` | | `src/models.c:179` | `ufmodel_find()` | — | | `src/state.c:16` | `state_defaults()` | — | | `src/state.c:27` | `state_load()` | `state_defaults()` | | `src/state.c:102` | `state_save()` | — | | `src/sysinfo.c:53` | `sysinfo_mem()` | — | | `src/sysinfo.c:81` | `read_cpu()` | — | | `src/sysinfo.c:92` | `sysinfo_cpu_percent()` | `read_cpu()` | | `src/sysinfo.c:115` | `read_sysfs_str()` | — | | `src/sysinfo.c:130` | `read_sysfs_int()` | `read_sysfs_str()` | | `src/sysinfo.c:137` | `read_ip_ioctl()` | — | | `src/sysinfo.c:151` | `sysinfo_iface()` | `read_sysfs_str()`, `read_sysfs_int()`, `read_ip_ioctl()` | | `src/sysinfo.c:238` | `utilization_percent()` | — | | `src/sysinfo.c:247` | `count_antenna_chains()` | — | | `src/sysinfo.c:277` | `sysinfo_radio()` | `utilization_percent()`, `count_antenna_chains()` | | `src/sysinfo.c:486` | `frequency_to_channel()` | — | | `src/sysinfo.c:498` | `sysinfo_wifi_scan_cache()` | `frequency_to_channel()` | | `src/wlan/common.c:20` | `wlan_security_to_uci()` | — | | `src/wlan/common.c:34` | `wlan_security_to_unifi()` | — | | `src/wlan/common.c:48` | `wlan_valid_object_id()` | — | | `src/wlan/common.c:65` | `wlan_ensure_vap_ids()` | `crypto_random_hex()`, `wlan_valid_object_id()` | | `src/wlan/common.c:157` | `wlan_mobility_domain_for_ssid()` | — | | `src/wlan/common.c:169` | `wlan_radio_uses_ath9k()` | — | | `src/wlan/common.c:187` | `wlan_json_boolean_any()` | — | | `src/wlan/common.c:209` | `wlan_feature_enabled()` | — | | `src/wlan/common.c:217` | `wlan_safe_section_name()` | — | | `src/wlan/legacy.c:20` | `system_cfg_get()` | — | | `src/wlan/legacy.c:44` | `wlan_apply_system_cfg()` | `wlan_valid_object_id()`, `wlan_feature_enabled()`, `system_cfg_get()`, `wlan_apply_config()` | | `src/wlan/provision.c:20` | `apply_vap()` | `wlan_security_to_uci()`, `wlan_valid_object_id()`, `wlan_mobility_domain_for_ssid()`, `wlan_radio_uses_ath9k()`, `wlan_json_boolean_any()`, `wlan_safe_section_name()`, `wlan_uci_set_required()`, `wlan_uci_add_list()`, `wlan_uci_ensure_section()`, `wlan_ensure_vlan_network()` | | `src/wlan/provision.c:291` | `force_wifi4_for_band()` | `wlan_json_boolean_any()` | | `src/wlan/provision.c:335` | `wlan_apply_config()` | `wlan_ensure_vap_ids()`, `wlan_json_boolean_any()`, `apply_vap()`, `force_wifi4_for_band()`, `wlan_device_for_band()`, `wlan_apply_radio()`, `wlan_configure_band_steering()`, `wlan_clear()` | | `src/wlan/radio.c:29` | `band_bit()` | — | | `src/wlan/radio.c:38` | `bit_count()` | — | | `src/wlan/radio.c:50` | `detect_radio_bands()` | — | | `src/wlan/radio.c:85` | `resolve_radio_map()` | `band_bit()`, `bit_count()`, `detect_radio_bands()` | | `src/wlan/radio.c:135` | `wlan_device_for_band()` | `resolve_radio_map()` | | `src/wlan/radio.c:146` | `wlan_band_for_device()` | `resolve_radio_map()` | | `src/wlan/radio.c:162` | `radio_max_standard()` | — | | `src/wlan/radio.c:195` | `select_htmode()` | `radio_max_standard()` | | `src/wlan/radio.c:241` | `wlan_apply_radio()` | `select_htmode()` | | `src/wlan/telemetry.c:25` | `find_runtime_vap()` | — | | `src/wlan/telemetry.c:58` | `wlan_get_vap_table()` | `wlan_security_to_unifi()`, `wlan_valid_object_id()`, `wlan_band_for_device()`, `find_runtime_vap()` | | `src/wlan/uci.c:21` | `wlan_uci_set()` | — | | `src/wlan/uci.c:36` | `wlan_uci_set_required()` | `wlan_uci_set()` | | `src/wlan/uci.c:56` | `wlan_uci_add_list()` | — | | `src/wlan/uci.c:72` | `wlan_uci_ensure_section()` | — | | `src/wlan/uci.c:100` | `find_vlan_uplink()` | — | | `src/wlan/uci.c:143` | `wlan_ensure_vlan_network()` | `wlan_uci_add_list()`, `wlan_uci_ensure_section()`, `find_vlan_uplink()` | | `src/wlan/uci.c:208` | `wlan_configure_band_steering()` | `wlan_uci_ensure_section()` | | `src/wlan/uci.c:268` | `wlan_clear()` | — |