joylink_probe.h 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. #ifndef _JOYLINK_PROBE_H_
  2. #define _JOYLINK_PROBE_H_
  3. #include "joylink_wlan_probe.h"
  4. //#include "joylink_syshdr.h"
  5. #include "stdint.h"
  6. struct ieee802_11_elems {
  7. const uint8_t *ssid;
  8. const uint8_t *supp_rates;
  9. const uint8_t *ds_params;
  10. const uint8_t *challenge;
  11. const uint8_t *erp_info;
  12. const uint8_t *ext_supp_rates;
  13. const uint8_t *wpa_ie;
  14. const uint8_t *rsn_ie;
  15. const uint8_t *wmm; /* WMM Information or Parameter Element */
  16. const uint8_t *wmm_tspec;
  17. const uint8_t *wps_ie;
  18. const uint8_t *supp_channels;
  19. const uint8_t *mdie;
  20. const uint8_t *ftie;
  21. const uint8_t *timeout_int;
  22. const uint8_t *ht_capabilities;
  23. const uint8_t *ht_operation;
  24. const uint8_t *vht_capabilities;
  25. const uint8_t *vht_operation;
  26. const uint8_t *vht_opmode_notif;
  27. const uint8_t *vendor_ht_cap;
  28. const uint8_t *p2p;
  29. const uint8_t *wfd;
  30. const uint8_t *link_id;
  31. const uint8_t *interworking;
  32. const uint8_t *qos_map_set;
  33. const uint8_t *hs20;
  34. const uint8_t *ext_capab;
  35. const uint8_t *bss_max_idle_period;
  36. const uint8_t *ssid_list;
  37. const uint8_t *osen;
  38. const uint8_t *vendor_custom;
  39. uint8_t ssid_len;
  40. uint8_t supp_rates_len;
  41. uint8_t ds_params_len;
  42. uint8_t challenge_len;
  43. uint8_t erp_info_len;
  44. uint8_t ext_supp_rates_len;
  45. uint8_t wpa_ie_len;
  46. uint8_t rsn_ie_len;
  47. uint8_t wmm_len; /* 7 = WMM Information; 24 = WMM Parameter */
  48. uint8_t wmm_tspec_len;
  49. uint8_t wps_ie_len;
  50. uint8_t supp_channels_len;
  51. uint8_t mdie_len;
  52. uint8_t ftie_len;
  53. uint8_t timeout_int_len;
  54. uint8_t ht_capabilities_len;
  55. uint8_t ht_operation_len;
  56. uint8_t vht_capabilities_len;
  57. uint8_t vht_operation_len;
  58. uint8_t vendor_ht_cap_len;
  59. uint8_t p2p_len;
  60. uint8_t wfd_len;
  61. uint8_t interworking_len;
  62. uint8_t qos_map_set_len;
  63. uint8_t hs20_len;
  64. uint8_t ext_capab_len;
  65. uint8_t ssid_list_len;
  66. uint8_t osen_len;
  67. uint8_t vendor_custom_len;
  68. };
  69. int joylink_ieee802_11_parse_elems(const uint8_t *start, size_t len,struct ieee802_11_elems *elems);
  70. int joylink_gen_vendor_specific(uint8_t *vendor_ie, uint8_t *content, int content_len);
  71. /*
  72. * Genarate probe request frame
  73. */
  74. uint8_t * joylink_gen_probe_req(void *vendor_ie, int vendor_len, int *req_len);
  75. uint8_t * joylink_gen_probe_resp(void *vendor_ie, int vendor_len, const struct ieee80211_mgmt *probe_req, int *resp_len);
  76. #endif