eth_worker_i.h 874 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #pragma once
  2. #include <furi.h>
  3. #include "eth_worker.h"
  4. #include "eth_view_process.h"
  5. #include "eth_save_process.h"
  6. struct EthWorkerNetConf {
  7. uint8_t mac[6];
  8. uint8_t ip[4];
  9. uint8_t mask[4];
  10. uint8_t gateway[4];
  11. uint8_t dns[4];
  12. uint8_t fifo_sizes[16];
  13. uint8_t is_dhcp;
  14. };
  15. struct EthWorker {
  16. FuriThread* thread;
  17. void* context;
  18. EthernetSaveConfig* config;
  19. EthViewProcess* init_process;
  20. EthViewProcess* dhcp_process;
  21. EthViewProcess* stat_process;
  22. EthViewProcess* ping_process;
  23. EthViewProcess* reset_process;
  24. EthViewProcess* active_process;
  25. EthWorkerState state;
  26. EthWorkerSubState sub_state;
  27. EthWorkerCallback callback;
  28. };
  29. void eth_worker_change_state(EthWorker* eth_worker, EthWorkerState state);
  30. void eth_worker_log(EthWorker* eth_worker, const char* str);
  31. int32_t eth_worker_task(void* context);