summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Mauderer <Christian.Mauderer@embedded-brains.de>2016-12-12 12:31:33 +0100
committerChristian Mauderer <Christian.Mauderer@embedded-brains.de>2017-01-17 12:50:57 +0100
commitefc782bd1cf91e5441935c5f3a990c340c9660df (patch)
tree3444f7ce1ae60584501e86805c90d3675ff8c9fb
parentImport IEEE 802.11 from FreeBSD. (diff)
downloadrtems-libbsd-efc782bd1cf91e5441935c5f3a990c340c9660df.tar.bz2
Port IEEE 802.11.
-rwxr-xr-xlibbsd.py7
-rw-r--r--libbsd_waf.py39
-rw-r--r--rtemsbsd/include/rtems/bsd/local/opt_platform.h0
-rw-r--r--rtemsbsd/include/rtems/bsd/sys/param.h8
-rw-r--r--rtemsbsd/rtems/rtems-kernel-init.c4
5 files changed, 56 insertions, 2 deletions
diff --git a/libbsd.py b/libbsd.py
index 53461fac..b00e5738 100755
--- a/libbsd.py
+++ b/libbsd.py
@@ -1514,12 +1514,13 @@ def net80211(mm):
'sys/net80211/ieee80211_action.h',
'sys/net80211/ieee80211_adhoc.h',
'sys/net80211/ieee80211_ageq.h',
+ 'sys/net80211/ieee80211_alq.h',
'sys/net80211/ieee80211_amrr.h',
'sys/net80211/ieee80211_crypto.h',
'sys/net80211/ieee80211_dfs.h',
'sys/net80211/ieee80211_freebsd.h',
- 'sys/net80211/_ieee80211.h',
'sys/net80211/ieee80211.h',
+ 'sys/net80211/_ieee80211.h',
'sys/net80211/ieee80211_hostap.h',
'sys/net80211/ieee80211_ht.h',
'sys/net80211/ieee80211_input.h',
@@ -1535,6 +1536,7 @@ def net80211(mm):
'sys/net80211/ieee80211_regdomain.h',
'sys/net80211/ieee80211_rssadapt.h',
'sys/net80211/ieee80211_scan.h',
+ 'sys/net80211/ieee80211_scan_sw.h',
'sys/net80211/ieee80211_sta.h',
'sys/net80211/ieee80211_superg.h',
'sys/net80211/ieee80211_tdma.h',
@@ -1577,6 +1579,7 @@ def net80211(mm):
'sys/net80211/ieee80211_rssadapt.c',
'sys/net80211/ieee80211_scan.c',
'sys/net80211/ieee80211_scan_sta.c',
+ 'sys/net80211/ieee80211_scan_sw.c',
'sys/net80211/ieee80211_sta.c',
'sys/net80211/ieee80211_superg.c',
'sys/net80211/ieee80211_tdma.c',
@@ -2768,7 +2771,7 @@ def sources(mm):
mm.addModule(netinet(mm))
mm.addModule(netinet6(mm))
#mm.addModule(netipsec(mm))
- #mm.addModule(net80211(mm))
+ mm.addModule(net80211(mm))
mm.addModule(opencrypto(mm))
mm.addModule(crypto(mm))
mm.addModule(altq(mm))
diff --git a/libbsd_waf.py b/libbsd_waf.py
index 899b8e80..9849ab5e 100644
--- a/libbsd_waf.py
+++ b/libbsd_waf.py
@@ -898,6 +898,45 @@ def build(bld):
'freebsd/sys/net/route.c',
'freebsd/sys/net/rtsock.c',
'freebsd/sys/net/slcompress.c',
+ 'freebsd/sys/net80211/ieee80211.c',
+ 'freebsd/sys/net80211/ieee80211_acl.c',
+ 'freebsd/sys/net80211/ieee80211_action.c',
+ 'freebsd/sys/net80211/ieee80211_adhoc.c',
+ 'freebsd/sys/net80211/ieee80211_ageq.c',
+ 'freebsd/sys/net80211/ieee80211_amrr.c',
+ 'freebsd/sys/net80211/ieee80211_crypto.c',
+ 'freebsd/sys/net80211/ieee80211_crypto_ccmp.c',
+ 'freebsd/sys/net80211/ieee80211_crypto_none.c',
+ 'freebsd/sys/net80211/ieee80211_crypto_tkip.c',
+ 'freebsd/sys/net80211/ieee80211_crypto_wep.c',
+ 'freebsd/sys/net80211/ieee80211_ddb.c',
+ 'freebsd/sys/net80211/ieee80211_dfs.c',
+ 'freebsd/sys/net80211/ieee80211_freebsd.c',
+ 'freebsd/sys/net80211/ieee80211_hostap.c',
+ 'freebsd/sys/net80211/ieee80211_ht.c',
+ 'freebsd/sys/net80211/ieee80211_hwmp.c',
+ 'freebsd/sys/net80211/ieee80211_input.c',
+ 'freebsd/sys/net80211/ieee80211_ioctl.c',
+ 'freebsd/sys/net80211/ieee80211_mesh.c',
+ 'freebsd/sys/net80211/ieee80211_monitor.c',
+ 'freebsd/sys/net80211/ieee80211_node.c',
+ 'freebsd/sys/net80211/ieee80211_output.c',
+ 'freebsd/sys/net80211/ieee80211_phy.c',
+ 'freebsd/sys/net80211/ieee80211_power.c',
+ 'freebsd/sys/net80211/ieee80211_proto.c',
+ 'freebsd/sys/net80211/ieee80211_radiotap.c',
+ 'freebsd/sys/net80211/ieee80211_ratectl.c',
+ 'freebsd/sys/net80211/ieee80211_ratectl_none.c',
+ 'freebsd/sys/net80211/ieee80211_regdomain.c',
+ 'freebsd/sys/net80211/ieee80211_rssadapt.c',
+ 'freebsd/sys/net80211/ieee80211_scan.c',
+ 'freebsd/sys/net80211/ieee80211_scan_sta.c',
+ 'freebsd/sys/net80211/ieee80211_scan_sw.c',
+ 'freebsd/sys/net80211/ieee80211_sta.c',
+ 'freebsd/sys/net80211/ieee80211_superg.c',
+ 'freebsd/sys/net80211/ieee80211_tdma.c',
+ 'freebsd/sys/net80211/ieee80211_wds.c',
+ 'freebsd/sys/net80211/ieee80211_xauth.c',
'freebsd/sys/netinet/accf_data.c',
'freebsd/sys/netinet/accf_dns.c',
'freebsd/sys/netinet/accf_http.c',
diff --git a/rtemsbsd/include/rtems/bsd/local/opt_platform.h b/rtemsbsd/include/rtems/bsd/local/opt_platform.h
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/rtemsbsd/include/rtems/bsd/local/opt_platform.h
diff --git a/rtemsbsd/include/rtems/bsd/sys/param.h b/rtemsbsd/include/rtems/bsd/sys/param.h
index fb9b80cc..8042746c 100644
--- a/rtemsbsd/include/rtems/bsd/sys/param.h
+++ b/rtemsbsd/include/rtems/bsd/sys/param.h
@@ -177,6 +177,14 @@
#endif
/*
+ * ALIGNED_POINTER is a boolean macro that checks whether an address
+ * is valid to fetch data elements of type t from on this architecture.
+ * This does not reflect the optimal alignment, just the possibility
+ * (within reasonable limits).
+ */
+#define ALIGNED_POINTER(p, t) ((((u_long)(p)) & (sizeof(t) - 1)) == 0)
+
+/*
* Some macros for units conversion
*/
diff --git a/rtemsbsd/rtems/rtems-kernel-init.c b/rtemsbsd/rtems/rtems-kernel-init.c
index d6ba174c..6b37ad1c 100644
--- a/rtemsbsd/rtems/rtems-kernel-init.c
+++ b/rtemsbsd/rtems/rtems-kernel-init.c
@@ -50,6 +50,8 @@
#include <sys/proc.h>
#include <sys/stat.h>
+#include <net80211/ieee80211_freebsd.h>
+
#include <rtems/bsd/bsd.h>
SYSINIT_REFERENCE(configure1);
@@ -61,6 +63,8 @@ SYSINIT_DRIVER_REFERENCE(nexus, root);
RTEMS_BSD_DEFINE_SET(modmetadata_set, struct mod_metadata *);
RTEMS_BSD_DEFINE_SET(sysctl_set, struct sysctl_oid *);
+RTEMS_BSD_DEFINE_SET(ieee80211_ioctl_getset, ieee80211_ioctl_getfunc *);
+RTEMS_BSD_DEFINE_SET(ieee80211_ioctl_setset, ieee80211_ioctl_setfunc *);
RTEMS_BSD_DEFINE_RWSET(sysinit_set, struct sysinit *);