eth_worker_i.h 1005 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #pragma once
  2. #include <furi.h>
  3. #include "eth_worker.h"
  4. #include "eth_view_process.h"
  5. struct EthWorkerNetConf {
  6. uint8_t mac[6];
  7. uint8_t ip[4];
  8. uint8_t mask[4];
  9. uint8_t gateway[4];
  10. uint8_t dns[4];
  11. uint8_t fifo_sizes[16];
  12. uint8_t is_dhcp;
  13. };
  14. struct EthViewProcess {
  15. char fifo[SCREEN_STRINGS_COUNT][SCREEN_SYMBOLS_WIDTH];
  16. uint8_t x;
  17. uint8_t y;
  18. uint8_t carriage;
  19. uint8_t position;
  20. uint8_t autofill;
  21. uint8_t editing;
  22. EthWorkerProcess type;
  23. void* draw_struct;
  24. };
  25. struct EthWorker {
  26. FuriThread* thread;
  27. void* context;
  28. EthViewProcess* init_process;
  29. EthViewProcess* dhcp_process;
  30. EthViewProcess* stat_process;
  31. EthViewProcess* ping_process;
  32. EthViewProcess* reset_process;
  33. EthViewProcess* active_process;
  34. EthWorkerState state;
  35. EthWorkerSubState sub_state;
  36. EthWorkerCallback callback;
  37. };
  38. void eth_worker_change_state(EthWorker* eth_worker, EthWorkerState state);
  39. int32_t eth_worker_task(void* context);