Lines Matching refs:frm

397 	const uint8_t *frm, const uint8_t *efrm)
404 const uint8_t *iefrm = frm + 2; /* action + code */
587 uint8_t *frm;
614 m = ieee80211_getmgtframe(&frm,
623 *frm++ = IEEE80211_ACTION_CAT_MESH;
624 *frm++ = IEEE80211_ACTION_MESH_HWMP;
627 frm = hwmp_add_meshpreq(frm,
631 frm = hwmp_add_meshprep(frm,
635 frm = hwmp_add_meshperr(frm,
639 frm = hwmp_add_meshrann(frm,
644 m->m_pkthdr.len = m->m_len = frm - mtod(m, uint8_t *);
674 #define ADDSHORT(frm, v) do { \
675 le16enc(frm, v); \
676 frm += 2; \
678 #define ADDWORD(frm, v) do { \
679 le32enc(frm, v); \
680 frm += 4; \
689 hwmp_add_meshpreq(uint8_t *frm, const struct ieee80211_meshpreq_ie *preq)
693 *frm++ = IEEE80211_ELEMID_MESHPREQ;
694 *frm++ = preq->preq_len; /* len already calculated */
695 *frm++ = preq->preq_flags;
696 *frm++ = preq->preq_hopcount;
697 *frm++ = preq->preq_ttl;
698 ADDWORD(frm, preq->preq_id);
699 IEEE80211_ADDR_COPY(frm, preq->preq_origaddr); frm += 6;
700 ADDWORD(frm, preq->preq_origseq);
702 IEEE80211_ADDR_COPY(frm, preq->preq_orig_ext_addr);
703 frm += 6;
705 ADDWORD(frm, preq->preq_lifetime);
706 ADDWORD(frm, preq->preq_metric);
707 *frm++ = preq->preq_tcount;
709 *frm++ = PREQ_TFLAGS(i);
710 IEEE80211_ADDR_COPY(frm, PREQ_TADDR(i));
711 frm += 6;
712 ADDWORD(frm, PREQ_TSEQ(i));
714 return frm;
724 hwmp_add_meshprep(uint8_t *frm, const struct ieee80211_meshprep_ie *prep)
726 *frm++ = IEEE80211_ELEMID_MESHPREP;
727 *frm++ = prep->prep_len; /* len already calculated */
728 *frm++ = prep->prep_flags;
729 *frm++ = prep->prep_hopcount;
730 *frm++ = prep->prep_ttl;
731 IEEE80211_ADDR_COPY(frm, prep->prep_targetaddr); frm += 6;
732 ADDWORD(frm, prep->prep_targetseq);
734 IEEE80211_ADDR_COPY(frm, prep->prep_target_ext_addr);
735 frm += 6;
737 ADDWORD(frm, prep->prep_lifetime);
738 ADDWORD(frm, prep->prep_metric);
739 IEEE80211_ADDR_COPY(frm, prep->prep_origaddr); frm += 6;
740 ADDWORD(frm, prep->prep_origseq);
741 return frm;
753 hwmp_add_meshperr(uint8_t *frm, const struct ieee80211_meshperr_ie *perr)
757 *frm++ = IEEE80211_ELEMID_MESHPERR;
758 *frm++ = perr->perr_len; /* len already calculated */
759 *frm++ = perr->perr_ttl;
760 *frm++ = perr->perr_ndests;
762 *frm++ = PERR_DFLAGS(i);
763 IEEE80211_ADDR_COPY(frm, PERR_DADDR(i));
764 frm += 6;
765 ADDWORD(frm, PERR_DSEQ(i));
767 IEEE80211_ADDR_COPY(frm, PERR_EXTADDR(i));
768 frm += 6;
770 ADDSHORT(frm, PERR_DRCODE(i));
772 return frm;
784 hwmp_add_meshrann(uint8_t *frm, const struct ieee80211_meshrann_ie *rann)
786 *frm++ = IEEE80211_ELEMID_MESHRANN;
787 *frm++ = rann->rann_len;
788 *frm++ = rann->rann_flags;
789 *frm++ = rann->rann_hopcount;
790 *frm++ = rann->rann_ttl;
791 IEEE80211_ADDR_COPY(frm, rann->rann_addr); frm += 6;
792 ADDWORD(frm, rann->rann_seq);
793 ADDWORD(frm, rann->rann_interval);
794 ADDWORD(frm, rann->rann_metric);
795 return frm;