[net80211] add placeholders for the VHT action frame handling.
Upcoming vht support will register send/receive action handlers.
This commit is contained in:
parent
34694ebe05
commit
7c87f23e82
@ -382,7 +382,7 @@ struct ieee80211_action {
|
||||
#define IEEE80211_ACTION_CAT_MESH 13 /* Mesh */
|
||||
#define IEEE80211_ACTION_CAT_SELF_PROT 15 /* Self-protected */
|
||||
/* 16 - 125 reserved */
|
||||
#define IEEE80211_ACTION_VHT 21
|
||||
#define IEEE80211_ACTION_CAT_VHT 21
|
||||
#define IEEE80211_ACTION_CAT_VENDOR 127 /* Vendor Specific */
|
||||
|
||||
#define IEEE80211_ACTION_HT_TXCHWIDTH 0 /* recommended xmit chan width*/
|
||||
|
@ -79,6 +79,10 @@ static ieee80211_send_action_func *vendor_send_action[8] = {
|
||||
send_inval, send_inval, send_inval, send_inval,
|
||||
};
|
||||
|
||||
static ieee80211_send_action_func *vht_send_action[3] = {
|
||||
send_inval, send_inval, send_inval,
|
||||
};
|
||||
|
||||
int
|
||||
ieee80211_send_action_register(int cat, int act, ieee80211_send_action_func *f)
|
||||
{
|
||||
@ -108,6 +112,11 @@ ieee80211_send_action_register(int cat, int act, ieee80211_send_action_func *f)
|
||||
break;
|
||||
vendor_send_action[act] = f;
|
||||
return 0;
|
||||
case IEEE80211_ACTION_CAT_VHT:
|
||||
if (act >= nitems(vht_send_action))
|
||||
break;
|
||||
vht_send_action[act] = f;
|
||||
return 0;
|
||||
}
|
||||
return EINVAL;
|
||||
}
|
||||
@ -144,6 +153,10 @@ ieee80211_send_action(struct ieee80211_node *ni, int cat, int act, void *sa)
|
||||
if (act < nitems(vendor_send_action))
|
||||
f = vendor_send_action[act];
|
||||
break;
|
||||
case IEEE80211_ACTION_CAT_VHT:
|
||||
if (act < nitems(vht_send_action))
|
||||
f = vht_send_action[act];
|
||||
break;
|
||||
}
|
||||
return f(ni, cat, act, sa);
|
||||
}
|
||||
@ -177,6 +190,10 @@ static ieee80211_recv_action_func *vendor_recv_action[8] = {
|
||||
recv_inval, recv_inval, recv_inval, recv_inval,
|
||||
};
|
||||
|
||||
static ieee80211_recv_action_func *vht_recv_action[3] = {
|
||||
recv_inval, recv_inval, recv_inval
|
||||
};
|
||||
|
||||
int
|
||||
ieee80211_recv_action_register(int cat, int act, ieee80211_recv_action_func *f)
|
||||
{
|
||||
@ -206,6 +223,11 @@ ieee80211_recv_action_register(int cat, int act, ieee80211_recv_action_func *f)
|
||||
break;
|
||||
vendor_recv_action[act] = f;
|
||||
return 0;
|
||||
case IEEE80211_ACTION_CAT_VHT:
|
||||
if (act >= nitems(vht_recv_action))
|
||||
break;
|
||||
vht_recv_action[act] = f;
|
||||
return 0;
|
||||
}
|
||||
return EINVAL;
|
||||
}
|
||||
@ -256,6 +278,10 @@ ieee80211_recv_action(struct ieee80211_node *ni,
|
||||
if (ia->ia_action < nitems(vendor_recv_action))
|
||||
f = vendor_recv_action[ia->ia_action];
|
||||
break;
|
||||
case IEEE80211_ACTION_CAT_VHT:
|
||||
if (ia->ia_action < nitems(vht_recv_action))
|
||||
f = vht_recv_action[ia->ia_action];
|
||||
break;
|
||||
}
|
||||
return f(ni, wh, frm, efrm);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user