common.h 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. #ifndef COMMON_H
  2. #define COMMON_H
  3. #include "tls_common.h"
  4. #include "wm_config.h"
  5. #include "wm_dbg.h"
  6. /* Macros for handling unaligned memory accesses */
  7. #define WPA_GET_BE16(a) ((u16) (((a)[0] << 8) | (a)[1]))
  8. #define WPA_PUT_BE16(a, val) \
  9. do { \
  10. (a)[0] = ((u16) (val)) >> 8; \
  11. (a)[1] = ((u16) (val)) & 0xff; \
  12. } while (0)
  13. #define WPA_GET_LE16(a) ((u16) (((a)[1] << 8) | (a)[0]))
  14. #define WPA_PUT_LE16(a, val) \
  15. do { \
  16. (a)[1] = ((u16) (val)) >> 8; \
  17. (a)[0] = ((u16) (val)) & 0xff; \
  18. } while (0)
  19. #define WPA_GET_BE24(a) ((((u32) (a)[0]) << 16) | (((u32) (a)[1]) << 8) | \
  20. ((u32) (a)[2]))
  21. #define WPA_PUT_BE24(a, val) \
  22. do { \
  23. (a)[0] = (u8) ((((u32) (val)) >> 16) & 0xff); \
  24. (a)[1] = (u8) ((((u32) (val)) >> 8) & 0xff); \
  25. (a)[2] = (u8) (((u32) (val)) & 0xff); \
  26. } while (0)
  27. #define WPA_GET_BE32(a) ((((u32) (a)[0]) << 24) | (((u32) (a)[1]) << 16) | \
  28. (((u32) (a)[2]) << 8) | ((u32) (a)[3]))
  29. #define WPA_PUT_BE32(a, val) \
  30. do { \
  31. (a)[0] = (u8) ((((u32) (val)) >> 24) & 0xff); \
  32. (a)[1] = (u8) ((((u32) (val)) >> 16) & 0xff); \
  33. (a)[2] = (u8) ((((u32) (val)) >> 8) & 0xff); \
  34. (a)[3] = (u8) (((u32) (val)) & 0xff); \
  35. } while (0)
  36. #define WPA_GET_LE32(a) ((((u32) (a)[3]) << 24) | (((u32) (a)[2]) << 16) | \
  37. (((u32) (a)[1]) << 8) | ((u32) (a)[0]))
  38. #define WPA_PUT_LE32(a, val) \
  39. do { \
  40. (a)[3] = (u8) ((((u32) (val)) >> 24) & 0xff); \
  41. (a)[2] = (u8) ((((u32) (val)) >> 16) & 0xff); \
  42. (a)[1] = (u8) ((((u32) (val)) >> 8) & 0xff); \
  43. (a)[0] = (u8) (((u32) (val)) & 0xff); \
  44. } while (0)
  45. #define WPA_GET_BE64(a) ((((u64) (a)[0]) << 56) | (((u64) (a)[1]) << 48) | \
  46. (((u64) (a)[2]) << 40) | (((u64) (a)[3]) << 32) | \
  47. (((u64) (a)[4]) << 24) | (((u64) (a)[5]) << 16) | \
  48. (((u64) (a)[6]) << 8) | ((u64) (a)[7]))
  49. #define WPA_PUT_BE64(a, val) \
  50. do { \
  51. (a)[0] = (u8) (((u64) (val)) >> 56); \
  52. (a)[1] = (u8) (((u64) (val)) >> 48); \
  53. (a)[2] = (u8) (((u64) (val)) >> 40); \
  54. (a)[3] = (u8) (((u64) (val)) >> 32); \
  55. (a)[4] = (u8) (((u64) (val)) >> 24); \
  56. (a)[5] = (u8) (((u64) (val)) >> 16); \
  57. (a)[6] = (u8) (((u64) (val)) >> 8); \
  58. (a)[7] = (u8) (((u64) (val)) & 0xff); \
  59. } while (0)
  60. #define WPA_GET_LE64(a) ((((u64) (a)[7]) << 56) | (((u64) (a)[6]) << 48) | \
  61. (((u64) (a)[5]) << 40) | (((u64) (a)[4]) << 32) | \
  62. (((u64) (a)[3]) << 24) | (((u64) (a)[2]) << 16) | \
  63. (((u64) (a)[1]) << 8) | ((u64) (a)[0]))
  64. #if TLS_WPA_DBG//TLS_CONFIG_SUPPLICANT_DEBUG
  65. const char * wpa_ssid_txt(const u8 *ssid, size_t ssid_len);
  66. #endif
  67. int hex2byte(const char *hex);
  68. int hexstr2bin(const char *hex, u8 *buf, size_t len);
  69. void inc_byte_array(u8 *counter, size_t len);
  70. void wpa_get_ntp_timestamp(u8 *buf);
  71. #endif /* end of COMMON_H */