Author: adrian
Date: Fri Sep  9 04:47:48 2016
New Revision: 305638
URL: https://svnweb.freebsd.org/changeset/base/305638

Log:
  [net80211] add in ToA/ToD based location mbuf tags for some experimenting.

Modified:
  head/sys/net80211/ieee80211_freebsd.c
  head/sys/net80211/ieee80211_freebsd.h

Modified: head/sys/net80211/ieee80211_freebsd.c
==============================================================================
--- head/sys/net80211/ieee80211_freebsd.c       Fri Sep  9 04:45:25 2016        
(r305637)
+++ head/sys/net80211/ieee80211_freebsd.c       Fri Sep  9 04:47:48 2016        
(r305638)
@@ -530,6 +530,42 @@ ieee80211_get_rx_params(struct mbuf *m, 
 }
 
 /*
+ * Add TOA parameters to the given mbuf.
+ */
+int
+ieee80211_add_toa_params(struct mbuf *m, const struct ieee80211_toa_params *p)
+{
+       struct m_tag *mtag;
+       struct ieee80211_toa_params *rp;
+
+       mtag = m_tag_alloc(MTAG_ABI_NET80211, NET80211_TAG_TOA_PARAMS,
+           sizeof(struct ieee80211_toa_params), M_NOWAIT);
+       if (mtag == NULL)
+               return (0);
+
+       rp = (struct ieee80211_toa_params *)(mtag + 1);
+       memcpy(rp, p, sizeof(*rp));
+       m_tag_prepend(m, mtag);
+       return (1);
+}
+
+int
+ieee80211_get_toa_params(struct mbuf *m, struct ieee80211_toa_params *p)
+{
+       struct m_tag *mtag;
+       struct ieee80211_toa_params *rp;
+
+       mtag = m_tag_locate(m, MTAG_ABI_NET80211, NET80211_TAG_TOA_PARAMS,
+           NULL);
+       if (mtag == NULL)
+               return (0);
+       rp = (struct ieee80211_toa_params *)(mtag + 1);
+       if (p != NULL)
+               memcpy(p, rp, sizeof(*p));
+       return (1);
+}
+
+/*
  * Transmit a frame to the parent interface.
  */
 int

Modified: head/sys/net80211/ieee80211_freebsd.h
==============================================================================
--- head/sys/net80211/ieee80211_freebsd.h       Fri Sep  9 04:45:25 2016        
(r305637)
+++ head/sys/net80211/ieee80211_freebsd.h       Fri Sep  9 04:47:48 2016        
(r305638)
@@ -331,6 +331,8 @@ void        ieee80211_process_callback(struct i
 
 #define        NET80211_TAG_RECV_PARAMS        2
 
+#define        NET80211_TAG_TOA_PARAMS         3
+
 struct ieee80211com;
 int    ieee80211_parent_xmitpkt(struct ieee80211com *, struct mbuf *);
 int    ieee80211_vap_xmitpkt(struct ieee80211vap *, struct mbuf *);
@@ -656,6 +658,14 @@ int        ieee80211_add_rx_params(struct mbuf 
            const struct ieee80211_rx_stats *rxs);
 int    ieee80211_get_rx_params(struct mbuf *m,
            struct ieee80211_rx_stats *rxs);
+
+struct ieee80211_toa_params {
+       int request_id;
+};
+int    ieee80211_add_toa_params(struct mbuf *m,
+           const struct ieee80211_toa_params *p);
+int    ieee80211_get_toa_params(struct mbuf *m,
+           struct ieee80211_toa_params *p);
 #endif /* _KERNEL */
 
 /*
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"

Reply via email to