radius_user.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. /******************************* (C) LiteMesh **********************************
  2. * @module template
  3. * @file template.h
  4. * @version 1.0.0
  5. * @date XX.XX.XXXX
  6. * $brief template
  7. *******************************************************************************
  8. * @history Version Author Comment
  9. * XX.XX.XXXX 1.0.0 Telenkov D.A. First release.
  10. *******************************************************************************
  11. */
  12. /* Define to prevent recursive ----------------------------------------------*/
  13. #ifndef __RADIUS_USER_H
  14. #define __RADIUS_USER_H
  15. #include "lwip/sockets.h"
  16. #include <stdbool.h>
  17. typedef enum
  18. {
  19. RC_ERROR = 0, // Внутренняя ошибка FreeRadius.
  20. RC_LOGIN_ADMIN_OK, // Успешный логин под admin
  21. RC_LOGIN_USER_OK, // Успешный логин под user
  22. RC_NET_ERR, // Ошибка сетевого взаимодействия
  23. RC_ACC_DENIED, // Не удалось залогиниться, доступ закрыт
  24. } RadiusClientResult;
  25. typedef struct
  26. {
  27. u8_t buf1[8];
  28. fd_set readset;
  29. u8_t buf2[8];
  30. fd_set writeset;
  31. u8_t buf3[8];
  32. fd_set errset;
  33. u8_t buf4[8];
  34. } fdsets;
  35. RadiusClientResult RC_Login(char* login, char* pas);
  36. /**
  37. * @brief
  38. */
  39. int RD_TestInit(void);
  40. void initFdsets(fdsets *sets);
  41. bool recvSelect(fdsets *sets, int *socket, uint32_t timeout);
  42. int RC_GetAccessRights(char* buf);
  43. #endif /* #ifndef __RADIUS_USER_H */
  44. /****************************** (C) LiteMesh ***************** end of file ****/