uint8_t *mhr = MHR(frame);
uint8_t len = ((ieee154_header_t*) frame->header)->length & FRAMECTL_LENGTH_MASK;
if ((mhr[MHR_INDEX_FC1] & FC1_FRAMETYPE_MASK) == FC1_FRAMETYPE_BEACON) {
- uint8_t *payload = call Frame.getPayload(frame);
+ uint8_t *payload = call BeaconFrame.getBeaconPayload(frame);
len = len - (payload - (uint8_t *) frame->data);
}
return len;
// PASSIVE_SCAN / ACTIVE_SCAN:
// A beacon frame containing a non-empty payload is always signalled
- // to the next higher layer (regardless of the value of macAutoRequest),
- // but it is unclear whether it should in addition be added to the
- // PAN Descriptor list when macAutoRequest is set to TRUE. This is,
- // anyway, what the implementation currently does ...
+ // to the next higher layer (regardless of the value of macAutoRequest);
+ // when macAutoRequest is set to TRUE, then the beacon is always
+ // stored in the PAN Descriptor list (see 7.1.11.2.1 - Table 68)
if (!call MLME_GET.macAutoRequest())
return signal MLME_BEACON_NOTIFY.indication (frame);