Загрузка данных


#include <zephyr/net/net_mgmt.h>
#include <zephyr/net/net_event.h>
#include <zephyr/net/net_if.h>

/* Структура для хранения параметров обратного вызова */
static struct net_mgmt_event_callback mgmt_cb;

void handler(struct net_mgmt_event_callback *cb,
             uint32_t mgmt_event,
             struct net_if *iface)
{
    if (mgmt_event == NET_EVENT_IF_UP) {
        printk("Ethernet Link UP\n");
    } else if (mgmt_event == NET_EVENT_IF_DOWN) {
        printk("Ethernet Link DOWN\n");
    }
}

int main(void)
{
    /* Инициализация структуры callback для событий интерфейса (Layer 2) */
    net_mgmt_init_event_callback(&mgmt_cb, handler, 
                                 NET_EVENT_IF_UP | NET_EVENT_IF_DOWN);
    
    /* Регистрация обработчика в системе net_mgmt */
    net_mgmt_add_event_callback(&mgmt_cb);

    return 0;
}