diff options
author | David S. Miller <davem@davemloft.net> | 2010-03-29 16:50:10 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-03-29 16:50:10 -0400 |
commit | 7905e357ebe67a26d9dc8caa1a0b8346431b5f0d (patch) | |
tree | 134442df2f062caa6cebda1b352948b8209efcec /include/linux | |
parent | 083ba279d52bcad20f1dfa3cefd4255cbe82d521 (diff) | |
parent | 76232ebf898c4d5e657f2b663fbf7108bca80ded (diff) |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/nl80211.h | 50 | ||||
-rw-r--r-- | include/linux/wireless.h | 4 |
2 files changed, 53 insertions, 1 deletions
diff --git a/include/linux/nl80211.h b/include/linux/nl80211.h index 28ba20fda3e2..daf6a3432b92 100644 --- a/include/linux/nl80211.h +++ b/include/linux/nl80211.h | |||
@@ -323,6 +323,12 @@ | |||
323 | * the TX command and %NL80211_ATTR_FRAME includes the contents of the | 323 | * the TX command and %NL80211_ATTR_FRAME includes the contents of the |
324 | * frame. %NL80211_ATTR_ACK flag is included if the recipient acknowledged | 324 | * frame. %NL80211_ATTR_ACK flag is included if the recipient acknowledged |
325 | * the frame. | 325 | * the frame. |
326 | * @NL80211_CMD_SET_CQM: Connection quality monitor configuration. This command | ||
327 | * is used to configure connection quality monitoring notification trigger | ||
328 | * levels. | ||
329 | * @NL80211_CMD_NOTIFY_CQM: Connection quality monitor notification. This | ||
330 | * command is used as an event to indicate the that a trigger level was | ||
331 | * reached. | ||
326 | * | 332 | * |
327 | * @NL80211_CMD_MAX: highest used command number | 333 | * @NL80211_CMD_MAX: highest used command number |
328 | * @__NL80211_CMD_AFTER_LAST: internal use | 334 | * @__NL80211_CMD_AFTER_LAST: internal use |
@@ -419,6 +425,9 @@ enum nl80211_commands { | |||
419 | NL80211_CMD_SET_POWER_SAVE, | 425 | NL80211_CMD_SET_POWER_SAVE, |
420 | NL80211_CMD_GET_POWER_SAVE, | 426 | NL80211_CMD_GET_POWER_SAVE, |
421 | 427 | ||
428 | NL80211_CMD_SET_CQM, | ||
429 | NL80211_CMD_NOTIFY_CQM, | ||
430 | |||
422 | /* add new commands above here */ | 431 | /* add new commands above here */ |
423 | 432 | ||
424 | /* used to define NL80211_CMD_MAX below */ | 433 | /* used to define NL80211_CMD_MAX below */ |
@@ -691,6 +700,9 @@ enum nl80211_commands { | |||
691 | * @NL80211_ATTR_ACK: Flag attribute indicating that the frame was | 700 | * @NL80211_ATTR_ACK: Flag attribute indicating that the frame was |
692 | * acknowledged by the recipient. | 701 | * acknowledged by the recipient. |
693 | * | 702 | * |
703 | * @NL80211_ATTR_CQM: connection quality monitor configuration in a | ||
704 | * nested attribute with %NL80211_ATTR_CQM_* sub-attributes. | ||
705 | * | ||
694 | * @NL80211_ATTR_MAX: highest attribute number currently defined | 706 | * @NL80211_ATTR_MAX: highest attribute number currently defined |
695 | * @__NL80211_ATTR_AFTER_LAST: internal use | 707 | * @__NL80211_ATTR_AFTER_LAST: internal use |
696 | */ | 708 | */ |
@@ -842,6 +854,8 @@ enum nl80211_attrs { | |||
842 | 854 | ||
843 | NL80211_ATTR_PS_STATE, | 855 | NL80211_ATTR_PS_STATE, |
844 | 856 | ||
857 | NL80211_ATTR_CQM, | ||
858 | |||
845 | /* add attributes here, update the policy in nl80211.c */ | 859 | /* add attributes here, update the policy in nl80211.c */ |
846 | 860 | ||
847 | __NL80211_ATTR_AFTER_LAST, | 861 | __NL80211_ATTR_AFTER_LAST, |
@@ -1583,4 +1597,40 @@ enum nl80211_ps_state { | |||
1583 | NL80211_PS_ENABLED, | 1597 | NL80211_PS_ENABLED, |
1584 | }; | 1598 | }; |
1585 | 1599 | ||
1600 | /** | ||
1601 | * enum nl80211_attr_cqm - connection quality monitor attributes | ||
1602 | * @__NL80211_ATTR_CQM_INVALID: invalid | ||
1603 | * @NL80211_ATTR_CQM_RSSI_THOLD: RSSI threshold in dBm. This value specifies | ||
1604 | * the threshold for the RSSI level at which an event will be sent. Zero | ||
1605 | * to disable. | ||
1606 | * @NL80211_ATTR_CQM_RSSI_HYST: RSSI hysteresis in dBm. This value specifies | ||
1607 | * the minimum amount the RSSI level must change after an event before a | ||
1608 | * new event may be issued (to reduce effects of RSSI oscillation). | ||
1609 | * @NL80211_ATTR_CQM_RSSI_THRESHOLD_EVENT: RSSI threshold event | ||
1610 | * @__NL80211_ATTR_CQM_AFTER_LAST: internal | ||
1611 | * @NL80211_ATTR_CQM_MAX: highest key attribute | ||
1612 | */ | ||
1613 | enum nl80211_attr_cqm { | ||
1614 | __NL80211_ATTR_CQM_INVALID, | ||
1615 | NL80211_ATTR_CQM_RSSI_THOLD, | ||
1616 | NL80211_ATTR_CQM_RSSI_HYST, | ||
1617 | NL80211_ATTR_CQM_RSSI_THRESHOLD_EVENT, | ||
1618 | |||
1619 | /* keep last */ | ||
1620 | __NL80211_ATTR_CQM_AFTER_LAST, | ||
1621 | NL80211_ATTR_CQM_MAX = __NL80211_ATTR_CQM_AFTER_LAST - 1 | ||
1622 | }; | ||
1623 | |||
1624 | /** | ||
1625 | * enum nl80211_cqm_rssi_threshold_event - RSSI threshold event | ||
1626 | * @NL80211_CQM_RSSI_THRESHOLD_EVENT_LOW - The RSSI level is lower than the | ||
1627 | * configured threshold | ||
1628 | * @NL80211_CQM_RSSI_THRESHOLD_EVENT_HIGH - The RSSI is higher than the | ||
1629 | * configured threshold | ||
1630 | */ | ||
1631 | enum nl80211_cqm_rssi_threshold_event { | ||
1632 | NL80211_CQM_RSSI_THRESHOLD_EVENT_LOW, | ||
1633 | NL80211_CQM_RSSI_THRESHOLD_EVENT_HIGH, | ||
1634 | }; | ||
1635 | |||
1586 | #endif /* __LINUX_NL80211_H */ | 1636 | #endif /* __LINUX_NL80211_H */ |
diff --git a/include/linux/wireless.h b/include/linux/wireless.h index 5b4c6c772a9b..e6827eedf18b 100644 --- a/include/linux/wireless.h +++ b/include/linux/wireless.h | |||
@@ -346,6 +346,8 @@ | |||
346 | #define SIOCIWFIRST 0x8B00 | 346 | #define SIOCIWFIRST 0x8B00 |
347 | #define SIOCIWLAST SIOCIWLASTPRIV /* 0x8BFF */ | 347 | #define SIOCIWLAST SIOCIWLASTPRIV /* 0x8BFF */ |
348 | #define IW_IOCTL_IDX(cmd) ((cmd) - SIOCIWFIRST) | 348 | #define IW_IOCTL_IDX(cmd) ((cmd) - SIOCIWFIRST) |
349 | #define IW_HANDLER(id, func) \ | ||
350 | [IW_IOCTL_IDX(id)] = func | ||
349 | 351 | ||
350 | /* Odd : get (world access), even : set (root access) */ | 352 | /* Odd : get (world access), even : set (root access) */ |
351 | #define IW_IS_SET(cmd) (!((cmd) & 0x1)) | 353 | #define IW_IS_SET(cmd) (!((cmd) & 0x1)) |
@@ -648,7 +650,7 @@ | |||
648 | * 32 bit bitmasks. Note : 32 bits = 0x20 = 2^5. */ | 650 | * 32 bit bitmasks. Note : 32 bits = 0x20 = 2^5. */ |
649 | #define IW_EVENT_CAPA_BASE(cmd) ((cmd >= SIOCIWFIRSTPRIV) ? \ | 651 | #define IW_EVENT_CAPA_BASE(cmd) ((cmd >= SIOCIWFIRSTPRIV) ? \ |
650 | (cmd - SIOCIWFIRSTPRIV + 0x60) : \ | 652 | (cmd - SIOCIWFIRSTPRIV + 0x60) : \ |
651 | (cmd - SIOCSIWCOMMIT)) | 653 | (cmd - SIOCIWFIRST)) |
652 | #define IW_EVENT_CAPA_INDEX(cmd) (IW_EVENT_CAPA_BASE(cmd) >> 5) | 654 | #define IW_EVENT_CAPA_INDEX(cmd) (IW_EVENT_CAPA_BASE(cmd) >> 5) |
653 | #define IW_EVENT_CAPA_MASK(cmd) (1 << (IW_EVENT_CAPA_BASE(cmd) & 0x1F)) | 655 | #define IW_EVENT_CAPA_MASK(cmd) (1 << (IW_EVENT_CAPA_BASE(cmd) & 0x1F)) |
654 | /* Event capability constants - event autogenerated by the kernel | 656 | /* Event capability constants - event autogenerated by the kernel |