hostapd_ioctl.h 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. /*
  2. * Host AP (software wireless LAN access point) user space daemon for
  3. * Host AP kernel driver
  4. * Copyright 2002-2003, Jouni Malinen <jkmaline@cc.hut.fi>
  5. * Copyright 2002-2004, Instant802 Networks, Inc.
  6. * Copyright 2005, Devicescape Software, Inc.
  7. *
  8. * This program is free software; you can redistribute it and/or modify
  9. * it under the terms of the GNU General Public License version 2 as
  10. * published by the Free Software Foundation.
  11. */
  12. #ifndef HOSTAPD_IOCTL_H
  13. #define HOSTAPD_IOCTL_H
  14. #ifdef __KERNEL__
  15. #include <linux/types.h>
  16. #endif /* __KERNEL__ */
  17. #define PRISM2_IOCTL_PRISM2_PARAM (SIOCIWFIRSTPRIV + 0)
  18. #define PRISM2_IOCTL_GET_PRISM2_PARAM (SIOCIWFIRSTPRIV + 1)
  19. #define PRISM2_IOCTL_HOSTAPD (SIOCIWFIRSTPRIV + 3)
  20. /* PRISM2_IOCTL_PRISM2_PARAM ioctl() subtypes:
  21. * This table is no longer added to, the whole sub-ioctl
  22. * mess shall be deleted completely. */
  23. enum {
  24. PRISM2_PARAM_IEEE_802_1X = 23,
  25. /* Instant802 additions */
  26. PRISM2_PARAM_CTS_PROTECT_ERP_FRAMES = 1001,
  27. PRISM2_PARAM_PREAMBLE = 1003,
  28. PRISM2_PARAM_SHORT_SLOT_TIME = 1006,
  29. PRISM2_PARAM_NEXT_MODE = 1008,
  30. PRISM2_PARAM_RADIO_ENABLED = 1010,
  31. PRISM2_PARAM_ANTENNA_MODE = 1013,
  32. PRISM2_PARAM_STAT_TIME = 1016,
  33. PRISM2_PARAM_STA_ANTENNA_SEL = 1017,
  34. PRISM2_PARAM_TX_POWER_REDUCTION = 1022,
  35. PRISM2_PARAM_KEY_TX_RX_THRESHOLD = 1024,
  36. PRISM2_PARAM_DEFAULT_WEP_ONLY = 1026,
  37. PRISM2_PARAM_WIFI_WME_NOACK_TEST = 1033,
  38. PRISM2_PARAM_SCAN_FLAGS = 1035,
  39. PRISM2_PARAM_HW_MODES = 1036,
  40. PRISM2_PARAM_CREATE_IBSS = 1037,
  41. PRISM2_PARAM_WMM_ENABLED = 1038,
  42. PRISM2_PARAM_MIXED_CELL = 1039,
  43. PRISM2_PARAM_RADAR_DETECT = 1043,
  44. PRISM2_PARAM_SPECTRUM_MGMT = 1044,
  45. };
  46. enum {
  47. IEEE80211_KEY_MGMT_NONE = 0,
  48. IEEE80211_KEY_MGMT_IEEE8021X = 1,
  49. IEEE80211_KEY_MGMT_WPA_PSK = 2,
  50. IEEE80211_KEY_MGMT_WPA_EAP = 3,
  51. };
  52. /* Data structures used for get_hw_features ioctl */
  53. struct hostapd_ioctl_hw_modes_hdr {
  54. int mode;
  55. int num_channels;
  56. int num_rates;
  57. };
  58. struct ieee80211_channel_data {
  59. short chan; /* channel number (IEEE 802.11) */
  60. short freq; /* frequency in MHz */
  61. int flag; /* flag for hostapd use (IEEE80211_CHAN_*) */
  62. };
  63. struct ieee80211_rate_data {
  64. int rate; /* rate in 100 kbps */
  65. int flags; /* IEEE80211_RATE_ flags */
  66. };
  67. /* ADD_IF, REMOVE_IF, and UPDATE_IF 'type' argument */
  68. enum {
  69. HOSTAP_IF_WDS = 1, HOSTAP_IF_VLAN = 2, HOSTAP_IF_BSS = 3,
  70. HOSTAP_IF_STA = 4
  71. };
  72. struct hostapd_if_wds {
  73. u8 remote_addr[ETH_ALEN];
  74. };
  75. struct hostapd_if_vlan {
  76. u8 id;
  77. };
  78. struct hostapd_if_bss {
  79. u8 bssid[ETH_ALEN];
  80. };
  81. struct hostapd_if_sta {
  82. };
  83. #endif /* HOSTAPD_IOCTL_H */