telnet_server.h 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. /*
  2. * telnet_server.h
  3. *
  4. * Created on: 24.11.2017
  5. * Author: balbekova
  6. */
  7. #ifndef TELNET_SERVER_H_
  8. #define TELNET_SERVER_H_
  9. #include "settings_api.h"
  10. /* Dimensions the buffer into which input characters are placed. */
  11. #define cmdMAX_INPUT_SIZE 144
  12. /*Number of connection*/
  13. #define NUMBER_TELNET_CONNECT 5
  14. typedef enum{
  15. TELNET_AUTH = 0,
  16. TELNET_AUTH_PASSW,
  17. TELNET_CMD,
  18. TELNET_CHANGE_PWD,
  19. TELNET_CHANGE_PWD_ACK
  20. }state_telnet_server_t;
  21. /**
  22. * A telnet connection structure.
  23. */
  24. typedef struct{
  25. uint8_t state;
  26. uint8_t code;
  27. char buf[cmdMAX_INPUT_SIZE];
  28. char bufptr;
  29. char prev_cmd[cmdMAX_INPUT_SIZE];
  30. unsigned char optdata[cmdMAX_INPUT_SIZE];
  31. uint8_t optlen;
  32. state_telnet_server_t telnetState;
  33. user_level_t telnet_code_auth;
  34. char login[MAX_WEB_LOGIN_LEN];
  35. uint8_t login_err;
  36. uint8_t num_connect;
  37. bool active_conn;
  38. bool flagWhiteListTelnet;
  39. }telnetd_state_t;
  40. void telnet_server_init(void);
  41. void telnet_server_close(void);
  42. void telnet_server_port_change(void);
  43. #endif /* TELNET_SERVER_H_ */