123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- /*++
- Copyright (c) 2015 Minoca Corp. All Rights Reserved
- Module Name:
- control.c
- Abstract:
- This module implements control frame handling functionality for the 802.11
- core wireless networking library.
- Author:
- Chris Stevens 20-Oct-2015
- Environment:
- Kernel
- --*/
- //
- // ------------------------------------------------------------------- Includes
- //
- #include "net80211.h"
- //
- // ---------------------------------------------------------------- Definitions
- //
- //
- // ------------------------------------------------------ Data Type Definitions
- //
- //
- // ----------------------------------------------- Internal Function Prototypes
- //
- //
- // -------------------------------------------------------------------- Globals
- //
- //
- // ------------------------------------------------------------------ Functions
- //
- VOID
- Net80211pProcessControlFrame (
- PNET80211_LINK Link,
- PNET_PACKET_BUFFER Packet
- )
- /*++
- Routine Description:
- This routine processes an 802.11 control frame.
- Arguments:
- Link - Supplies a pointer to the 802.11 link on which the frame arrived.
- Packet - Supplies a pointer to the network packet.
- Return Value:
- None.
- --*/
- {
- ULONG FrameSubtype;
- PNET80211_FRAME_HEADER Header;
- Header = Packet->Buffer + Packet->DataOffset;
- FrameSubtype = NET80211_GET_FRAME_SUBTYPE(Header);
- switch (FrameSubtype) {
- case NET80211_CONTROL_FRAME_SUBTYPE_ACK:
- case NET80211_CONTROL_FRAME_SUBTYPE_CONTROL_WRAPPER:
- case NET80211_CONTROL_FRAME_SUBTYPE_BLOCK_ACK_REQUEST:
- case NET80211_CONTROL_FRAME_SUBTYPE_BLOCK_ACK:
- case NET80211_CONTROL_FRAME_SUBTYPE_PS_POLL:
- case NET80211_CONTROL_FRAME_SUBTYPE_RTS:
- case NET80211_CONTROL_FRAME_SUBTYPE_CTS:
- case NET80211_CONTROL_FRAME_SUBTYPE_CF_END:
- case NET80211_CONTROL_FRAME_SUBTYPE_CF_END_ACK:
- default:
- break;
- }
- return;
- }
- //
- // --------------------------------------------------------- Internal Functions
- //
|