mirror of
https://git.rtems.org/rtems-libbsd/
synced 2025-10-14 05:11:15 +08:00
Port wpa supplicant to RTEMS.
Add wpa_supplicant lib support and shell command support in RTEMS.
This commit is contained in:

committed by
Sebastian Huber

parent
9c9d11b481
commit
8f2267bbb9
@@ -173,6 +173,7 @@ def includes():
|
|||||||
return ['-Irtemsbsd/include',
|
return ['-Irtemsbsd/include',
|
||||||
'-Ifreebsd/sys',
|
'-Ifreebsd/sys',
|
||||||
'-Ifreebsd/sys/contrib/pf',
|
'-Ifreebsd/sys/contrib/pf',
|
||||||
|
'-Ifreebsd/crypto',
|
||||||
'-Ifreebsd/sys/net',
|
'-Ifreebsd/sys/net',
|
||||||
'-Ifreebsd/include',
|
'-Ifreebsd/include',
|
||||||
'-Ifreebsd/lib',
|
'-Ifreebsd/lib',
|
||||||
|
@@ -25,6 +25,11 @@
|
|||||||
#include <mach/mach_time.h>
|
#include <mach/mach_time.h>
|
||||||
#endif /* __MACH__ */
|
#endif /* __MACH__ */
|
||||||
|
|
||||||
|
#ifdef __rtems__
|
||||||
|
#include <unistd.h>
|
||||||
|
#endif /* __rtems__ */
|
||||||
|
|
||||||
|
|
||||||
#include "os.h"
|
#include "os.h"
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
|
|
||||||
@@ -225,7 +230,7 @@ static int os_daemon(int nochdir, int noclose)
|
|||||||
|
|
||||||
int os_daemonize(const char *pid_file)
|
int os_daemonize(const char *pid_file)
|
||||||
{
|
{
|
||||||
#if defined(__uClinux__) || defined(__sun__)
|
#if defined(__uClinux__) || defined(__sun__) || defined(__rtems__)
|
||||||
return -1;
|
return -1;
|
||||||
#else /* defined(__uClinux__) || defined(__sun__) */
|
#else /* defined(__uClinux__) || defined(__sun__) */
|
||||||
#ifdef __FreeBSD__
|
#ifdef __FreeBSD__
|
||||||
@@ -282,6 +287,9 @@ int os_get_random(unsigned char *buf, size_t len)
|
|||||||
if (TEST_FAIL())
|
if (TEST_FAIL())
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
|
#ifdef __rtems__
|
||||||
|
return getentropy(buf, len);
|
||||||
|
#else /* __rtems__ */
|
||||||
f = fopen("/dev/urandom", "rb");
|
f = fopen("/dev/urandom", "rb");
|
||||||
if (f == NULL) {
|
if (f == NULL) {
|
||||||
printf("Could not open /dev/urandom.\n");
|
printf("Could not open /dev/urandom.\n");
|
||||||
@@ -292,6 +300,7 @@ int os_get_random(unsigned char *buf, size_t len)
|
|||||||
fclose(f);
|
fclose(f);
|
||||||
|
|
||||||
return rc != len ? -1 : 0;
|
return rc != len ? -1 : 0;
|
||||||
|
#endif /* __rtems__ */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@@ -45,6 +45,9 @@
|
|||||||
#include "common/ieee802_11_defs.h"
|
#include "common/ieee802_11_defs.h"
|
||||||
#include "common/ieee802_11_common.h"
|
#include "common/ieee802_11_common.h"
|
||||||
|
|
||||||
|
#ifdef __rtems__
|
||||||
|
#include <machine/rtems-bsd-commands.h>
|
||||||
|
#endif /* __rtems__ */
|
||||||
|
|
||||||
struct wpa_cred {
|
struct wpa_cred {
|
||||||
/**
|
/**
|
||||||
|
@@ -19,6 +19,11 @@
|
|||||||
#include "driver_i.h"
|
#include "driver_i.h"
|
||||||
#include "p2p_supplicant.h"
|
#include "p2p_supplicant.h"
|
||||||
|
|
||||||
|
#ifdef __rtems__
|
||||||
|
#include <assert.h>
|
||||||
|
#include <sys/mutex.h>
|
||||||
|
#include <machine/rtems-bsd-program.h>
|
||||||
|
#endif /* __rtems__ */
|
||||||
|
|
||||||
static void usage(void)
|
static void usage(void)
|
||||||
{
|
{
|
||||||
@@ -154,6 +159,22 @@ static void wpa_supplicant_fd_workaround(int start)
|
|||||||
#endif /* __linux__ */
|
#endif /* __linux__ */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef __rtems__
|
||||||
|
#include <rtems/libio.h>
|
||||||
|
|
||||||
|
static int
|
||||||
|
main(int argc, char **argv);
|
||||||
|
|
||||||
|
int rtems_bsd_command_wpa_supplicant(int argc, char **argv)
|
||||||
|
{
|
||||||
|
int exit_code;
|
||||||
|
rtems_status_code sc;
|
||||||
|
|
||||||
|
exit_code = rtems_bsd_program_call_main("wpa_supplicant", main, argc, argv);
|
||||||
|
|
||||||
|
return exit_code;
|
||||||
|
}
|
||||||
|
#endif /* __rtems__ */
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
|
286
libbsd.py
286
libbsd.py
@@ -3998,6 +3998,291 @@ def usr_sbin_tcpdump(mm):
|
|||||||
)
|
)
|
||||||
return mod
|
return mod
|
||||||
|
|
||||||
|
#
|
||||||
|
# /usr/sbin/wpa_supplicant
|
||||||
|
#
|
||||||
|
def usr_sbin_wpa_supplicant(mm):
|
||||||
|
mod = builder.Module('usr_sbin_wpa_supplicant')
|
||||||
|
mod.addUserSpaceHeaderFiles(
|
||||||
|
[
|
||||||
|
'contrib/wpa/wpa_supplicant/ap.h',
|
||||||
|
'contrib/wpa/wpa_supplicant/blacklist.h',
|
||||||
|
'contrib/wpa/wpa_supplicant/bss.h',
|
||||||
|
'contrib/wpa/wpa_supplicant/config.h',
|
||||||
|
'contrib/wpa/wpa_supplicant/config_ssid.h',
|
||||||
|
'contrib/wpa/wpa_supplicant/ctrl_iface.h',
|
||||||
|
'contrib/wpa/wpa_supplicant/driver_i.h',
|
||||||
|
'contrib/wpa/wpa_supplicant/gas_query.h',
|
||||||
|
'contrib/wpa/wpa_supplicant/hs20_supplicant.h',
|
||||||
|
'contrib/wpa/wpa_supplicant/interworking.h',
|
||||||
|
'contrib/wpa/wpa_supplicant/mesh.h',
|
||||||
|
'contrib/wpa/wpa_supplicant/mesh_mpm.h',
|
||||||
|
'contrib/wpa/wpa_supplicant/mesh_rsn.h',
|
||||||
|
'contrib/wpa/wpa_supplicant/notify.h',
|
||||||
|
'contrib/wpa/wpa_supplicant/offchannel.h',
|
||||||
|
'contrib/wpa/wpa_supplicant/scan.h',
|
||||||
|
'contrib/wpa/wpa_supplicant/autoscan.h',
|
||||||
|
'contrib/wpa/wpa_supplicant/wmm_ac.h',
|
||||||
|
'contrib/wpa/wpa_supplicant/wnm_sta.h',
|
||||||
|
'contrib/wpa/wpa_supplicant/wpas_glue.h',
|
||||||
|
'contrib/wpa/wpa_supplicant/wpas_kay.h',
|
||||||
|
'contrib/wpa/wpa_supplicant/wpa_supplicant_i.h',
|
||||||
|
'contrib/wpa/wpa_supplicant/wps_supplicant.h',
|
||||||
|
'contrib/wpa/wpa_supplicant/ibss_rsn.h',
|
||||||
|
'contrib/wpa/wpa_supplicant/p2p_supplicant.h',
|
||||||
|
'contrib/wpa/wpa_supplicant/wifi_display.h',
|
||||||
|
'contrib/wpa/wpa_supplicant/sme.h',
|
||||||
|
'contrib/wpa/wpa_supplicant/bgscan.h',
|
||||||
|
'contrib/wpa/wpa_supplicant/dbus/dbus_common.h',
|
||||||
|
'contrib/wpa/wpa_supplicant/dbus/dbus_old.h',
|
||||||
|
'contrib/wpa/wpa_supplicant/dbus/dbus_new.h',
|
||||||
|
'contrib/wpa/src/ap/ap_config.h',
|
||||||
|
'contrib/wpa/src/ap/ap_drv_ops.h',
|
||||||
|
'contrib/wpa/src/ap/hs20.h',
|
||||||
|
'contrib/wpa/src/ap/hostapd.h',
|
||||||
|
'contrib/wpa/src/ap/ieee802_11.h',
|
||||||
|
'contrib/wpa/src/ap/ieee802_11_auth.h',
|
||||||
|
'contrib/wpa/src/ap/p2p_hostapd.h',
|
||||||
|
'contrib/wpa/src/ap/sta_info.h',
|
||||||
|
'contrib/wpa/src/utils/includes.h',
|
||||||
|
'contrib/wpa/src/utils/base64.h',
|
||||||
|
'contrib/wpa/src/utils/build_config.h',
|
||||||
|
'contrib/wpa/src/utils/common.h',
|
||||||
|
'contrib/wpa/src/utils/eloop.h',
|
||||||
|
'contrib/wpa/src/utils/ip_addr.h',
|
||||||
|
'contrib/wpa/src/utils/list.h',
|
||||||
|
'contrib/wpa/src/utils/os.h',
|
||||||
|
'contrib/wpa/src/utils/platform.h',
|
||||||
|
'contrib/wpa/src/utils/uuid.h',
|
||||||
|
'contrib/wpa/src/utils/wpa_debug.h',
|
||||||
|
'contrib/wpa/src/utils/wpabuf.h',
|
||||||
|
'contrib/wpa/src/utils/trace.h',
|
||||||
|
'contrib/wpa/src/utils/pcsc_funcs.h',
|
||||||
|
'contrib/wpa/src/utils/ext_password.h',
|
||||||
|
'contrib/wpa/src/utils/state_machine.h',
|
||||||
|
'contrib/wpa/src/common/gas.h',
|
||||||
|
'contrib/wpa/src/common/hw_features_common.h',
|
||||||
|
'contrib/wpa/src/common/ieee802_11_common.h',
|
||||||
|
'contrib/wpa/src/common/ieee802_11_defs.h',
|
||||||
|
'contrib/wpa/src/common/wpa_common.h',
|
||||||
|
'contrib/wpa/src/common/defs.h',
|
||||||
|
'contrib/wpa/src/common/qca-vendor.h',
|
||||||
|
'contrib/wpa/src/common/eapol_common.h',
|
||||||
|
'contrib/wpa/src/common/sae.h',
|
||||||
|
'contrib/wpa/src/common/wpa_ctrl.h',
|
||||||
|
'contrib/wpa/src/common/version.h',
|
||||||
|
'contrib/wpa/src/drivers/driver.h',
|
||||||
|
'contrib/wpa/src/drivers/driver_ndis.h',
|
||||||
|
'contrib/wpa/src/drivers/driver_nl80211.h',
|
||||||
|
'contrib/wpa/src/drivers/linux_defines.h',
|
||||||
|
'contrib/wpa/src/wps/http.h',
|
||||||
|
'contrib/wpa/src/wps/http_client.h',
|
||||||
|
'contrib/wpa/src/wps/http_server.h',
|
||||||
|
'contrib/wpa/src/wps/httpread.h',
|
||||||
|
'contrib/wpa/src/wps/wps.h',
|
||||||
|
'contrib/wpa/src/wps/wps_i.h',
|
||||||
|
'contrib/wpa/src/wps/wps_defs.h',
|
||||||
|
'contrib/wpa/src/wps/upnp_xml.h',
|
||||||
|
'contrib/wpa/src/wps/wps_attr_parse.h',
|
||||||
|
'contrib/wpa/src/wps/wps_dev_attr.h',
|
||||||
|
'contrib/wpa/src/wps/wps_er.h',
|
||||||
|
'contrib/wpa/src/wps/wps_upnp.h',
|
||||||
|
'contrib/wpa/src/wps/wps_upnp_i.h',
|
||||||
|
'contrib/wpa/src/l2_packet/l2_packet.h',
|
||||||
|
'contrib/wpa/src/rsn_supp/peerkey.h',
|
||||||
|
'contrib/wpa/src/rsn_supp/pmksa_cache.h',
|
||||||
|
'contrib/wpa/src/rsn_supp/preauth.h',
|
||||||
|
'contrib/wpa/src/rsn_supp/wpa.h',
|
||||||
|
'contrib/wpa/src/rsn_supp/wpa_i.h',
|
||||||
|
'contrib/wpa/src/rsn_supp/wpa_ie.h',
|
||||||
|
'contrib/wpa/src/p2p/p2p.h',
|
||||||
|
'contrib/wpa/src/fst/fst.h',
|
||||||
|
'contrib/wpa/src/fst/fst_ctrl_iface.h',
|
||||||
|
'contrib/wpa/src/fst/fst_ctrl_aux.h',
|
||||||
|
'contrib/wpa/src/crypto/md5.h',
|
||||||
|
'contrib/wpa/src/crypto/sha256.h',
|
||||||
|
'contrib/wpa/src/crypto/sha384.h',
|
||||||
|
'contrib/wpa/src/crypto/aes_wrap.h',
|
||||||
|
'contrib/wpa/src/crypto/crypto.h',
|
||||||
|
'contrib/wpa/src/crypto/random.h',
|
||||||
|
'contrib/wpa/src/crypto/dh_group5.h',
|
||||||
|
'contrib/wpa/src/crypto/sha1.h',
|
||||||
|
'contrib/wpa/src/crypto/tls.h',
|
||||||
|
'contrib/wpa/src/crypto/ms_funcs.h',
|
||||||
|
'contrib/wpa/src/crypto/aes.h',
|
||||||
|
'contrib/wpa/src/crypto/sha256_i.h',
|
||||||
|
'contrib/wpa/src/eapol_supp/eapol_supp_sm.h',
|
||||||
|
'contrib/wpa/src/eap_peer/eap_config.h',
|
||||||
|
'contrib/wpa/src/eap_peer/eap.h',
|
||||||
|
'contrib/wpa/src/eap_peer/eap_i.h',
|
||||||
|
'contrib/wpa/src/eap_peer/eap_methods.h',
|
||||||
|
'contrib/wpa/src/eap_peer/eap_proxy.h',
|
||||||
|
'contrib/wpa/src/eap_peer/mschapv2.h',
|
||||||
|
'contrib/wpa/src/eap_peer/tncc.h',
|
||||||
|
'contrib/wpa/src/eap_peer/eap_tls_common.h',
|
||||||
|
'contrib/wpa/src/eap_common/eap_defs.h',
|
||||||
|
'contrib/wpa/src/eap_common/eap_wsc_common.h',
|
||||||
|
'contrib/wpa/src/eap_common/eap_peap_common.h',
|
||||||
|
'contrib/wpa/src/eap_common/eap_psk_common.h',
|
||||||
|
'contrib/wpa/src/eap_common/eap_tlv_common.h',
|
||||||
|
'contrib/wpa/src/eap_common/eap_common.h',
|
||||||
|
'contrib/wpa/src/eap_common/chap.h',
|
||||||
|
'contrib/wpa/src/eap_common/eap_ttls.h',
|
||||||
|
'contrib/wpa/src/eap_server/eap_methods.h',
|
||||||
|
'contrib/wpa/src/eapol_supp/eapol_supp_sm.h',
|
||||||
|
'contrib/wpa/src/tls/tlsv1_client.h',
|
||||||
|
'contrib/wpa/src/tls/tlsv1_cred.h',
|
||||||
|
'contrib/wpa/src/tls/tlsv1_server.h',
|
||||||
|
'usr.sbin/wpa/wpa_supplicant/Packet32.h',
|
||||||
|
'usr.sbin/wpa/wpa_supplicant/ntddndis.h',
|
||||||
|
]
|
||||||
|
)
|
||||||
|
mod.addUserSpaceSourceFiles(
|
||||||
|
[
|
||||||
|
'contrib/wpa/wpa_supplicant/blacklist.c',
|
||||||
|
'contrib/wpa/wpa_supplicant/bss.c',
|
||||||
|
'contrib/wpa/wpa_supplicant/config.c',
|
||||||
|
'contrib/wpa/wpa_supplicant/config_file.c',
|
||||||
|
'contrib/wpa/wpa_supplicant/ctrl_iface.c',
|
||||||
|
'contrib/wpa/wpa_supplicant/ctrl_iface_unix.c',
|
||||||
|
'contrib/wpa/wpa_supplicant/eap_register.c',
|
||||||
|
'contrib/wpa/wpa_supplicant/events.c',
|
||||||
|
'contrib/wpa/wpa_supplicant/gas_query.c',
|
||||||
|
'contrib/wpa/wpa_supplicant/hs20_supplicant.c',
|
||||||
|
'contrib/wpa/wpa_supplicant/interworking.c',
|
||||||
|
'contrib/wpa/wpa_supplicant/main.c',
|
||||||
|
'contrib/wpa/wpa_supplicant/notify.c',
|
||||||
|
'contrib/wpa/wpa_supplicant/offchannel.c',
|
||||||
|
'contrib/wpa/wpa_supplicant/scan.c',
|
||||||
|
'contrib/wpa/wpa_supplicant/wmm_ac.c',
|
||||||
|
'contrib/wpa/wpa_supplicant/wpa_supplicant.c',
|
||||||
|
'contrib/wpa/wpa_supplicant/wpas_glue.c',
|
||||||
|
'contrib/wpa/wpa_supplicant/wps_supplicant.c',
|
||||||
|
'contrib/wpa/src/ap/ap_drv_ops.c',
|
||||||
|
'contrib/wpa/src/ap/hs20.c',
|
||||||
|
'contrib/wpa/src/ap/ieee802_11_shared.c',
|
||||||
|
'contrib/wpa/src/utils/base64.c',
|
||||||
|
'contrib/wpa/src/utils/common.c',
|
||||||
|
'contrib/wpa/src/utils/eloop.c',
|
||||||
|
'contrib/wpa/src/utils/os_unix.c',
|
||||||
|
'contrib/wpa/src/utils/uuid.c',
|
||||||
|
'contrib/wpa/src/utils/wpa_debug.c',
|
||||||
|
'contrib/wpa/src/utils/wpabuf.c',
|
||||||
|
'contrib/wpa/src/common/gas.c',
|
||||||
|
'contrib/wpa/src/common/hw_features_common.c',
|
||||||
|
'contrib/wpa/src/common/ieee802_11_common.c',
|
||||||
|
'contrib/wpa/src/common/wpa_common.c',
|
||||||
|
'contrib/wpa/src/drivers/driver_bsd.c',
|
||||||
|
'contrib/wpa/src/drivers/driver_common.c',
|
||||||
|
'contrib/wpa/src/drivers/driver_ndis.c',
|
||||||
|
'contrib/wpa/src/drivers/driver_wired.c',
|
||||||
|
'contrib/wpa/src/drivers/drivers.c',
|
||||||
|
'contrib/wpa/src/wps/http_client.c',
|
||||||
|
'contrib/wpa/src/wps/http_server.c',
|
||||||
|
'contrib/wpa/src/wps/httpread.c',
|
||||||
|
'contrib/wpa/src/wps/upnp_xml.c',
|
||||||
|
'contrib/wpa/src/wps/wps.c',
|
||||||
|
'contrib/wpa/src/wps/wps_attr_build.c',
|
||||||
|
'contrib/wpa/src/wps/wps_attr_parse.c',
|
||||||
|
'contrib/wpa/src/wps/wps_attr_process.c',
|
||||||
|
'contrib/wpa/src/wps/wps_common.c',
|
||||||
|
'contrib/wpa/src/wps/wps_dev_attr.c',
|
||||||
|
'contrib/wpa/src/wps/wps_enrollee.c',
|
||||||
|
'contrib/wpa/src/wps/wps_registrar.c',
|
||||||
|
'contrib/wpa/src/wps/wps_upnp.c',
|
||||||
|
'contrib/wpa/src/wps/wps_upnp_ap.c',
|
||||||
|
'contrib/wpa/src/wps/wps_upnp_event.c',
|
||||||
|
'contrib/wpa/src/wps/wps_upnp_ssdp.c',
|
||||||
|
'contrib/wpa/src/wps/wps_upnp_web.c',
|
||||||
|
'contrib/wpa/src/l2_packet/l2_packet_freebsd.c',
|
||||||
|
'contrib/wpa/src/rsn_supp/peerkey.c',
|
||||||
|
'contrib/wpa/src/rsn_supp/pmksa_cache.c',
|
||||||
|
'contrib/wpa/src/rsn_supp/preauth.c',
|
||||||
|
'contrib/wpa/src/rsn_supp/wpa.c',
|
||||||
|
'contrib/wpa/src/rsn_supp/wpa_ft.c',
|
||||||
|
'contrib/wpa/src/rsn_supp/wpa_ie.c',
|
||||||
|
'contrib/wpa/src/eapol_supp/eapol_supp_sm.c',
|
||||||
|
'contrib/wpa/src/eap_peer/eap.c',
|
||||||
|
'contrib/wpa/src/eap_peer/eap_methods.c',
|
||||||
|
'contrib/wpa/src/eap_peer/eap_mschapv2.c',
|
||||||
|
'contrib/wpa/src/eap_peer/mschapv2.c',
|
||||||
|
'contrib/wpa/src/eap_peer/eap_md5.c',
|
||||||
|
'contrib/wpa/src/eap_peer/eap_tls.c',
|
||||||
|
'contrib/wpa/src/eap_peer/eap_peap.c',
|
||||||
|
'contrib/wpa/src/eap_peer/eap_ttls.c',
|
||||||
|
'contrib/wpa/src/eap_peer/eap_gtc.c',
|
||||||
|
'contrib/wpa/src/eap_peer/eap_otp.c',
|
||||||
|
'contrib/wpa/src/eap_peer/eap_leap.c',
|
||||||
|
'contrib/wpa/src/eap_peer/eap_psk.c',
|
||||||
|
'contrib/wpa/src/eap_peer/eap_tls_common.c',
|
||||||
|
'contrib/wpa/src/eap_common/eap_common.c',
|
||||||
|
'contrib/wpa/src/eap_common/eap_peap_common.c',
|
||||||
|
'contrib/wpa/src/eap_common/eap_psk_common.c',
|
||||||
|
'contrib/wpa/src/eap_common/chap.c',
|
||||||
|
'contrib/wpa/src/crypto/crypto_openssl.c',
|
||||||
|
'contrib/wpa/src/crypto/random.c',
|
||||||
|
'contrib/wpa/src/crypto/aes-omac1.c',
|
||||||
|
'contrib/wpa/src/crypto/sha256-prf.c',
|
||||||
|
'contrib/wpa/src/crypto/sha256-internal.c',
|
||||||
|
'contrib/wpa/src/crypto/sha1.c',
|
||||||
|
'contrib/wpa/src/crypto/sha1-prf.c',
|
||||||
|
'contrib/wpa/src/crypto/aes-unwrap.c',
|
||||||
|
'contrib/wpa/src/crypto/rc4.c',
|
||||||
|
'contrib/wpa/src/crypto/sha1-pbkdf2.c',
|
||||||
|
'contrib/wpa/src/crypto/tls_internal.c',
|
||||||
|
'contrib/wpa/src/crypto/ms_funcs.c',
|
||||||
|
'contrib/wpa/src/crypto/aes-eax.c',
|
||||||
|
'contrib/wpa/src/crypto/aes-ctr.c',
|
||||||
|
'contrib/wpa/src/crypto/aes-encblock.c',
|
||||||
|
'usr.sbin/wpa/wpa_supplicant/Packet32.c',
|
||||||
|
],
|
||||||
|
mm.generator['source'](['-D__FreeBSD__=1',
|
||||||
|
'-DCONFIG_BACKEND_FILE=1',
|
||||||
|
'-DCONFIG_DEBUG_SYSLOG=1',
|
||||||
|
'-DCONFIG_DRIVER_BSD=1',
|
||||||
|
'-DCONFIG_DRIVER_NDIS=1',
|
||||||
|
'-DCONFIG_DRIVER_WIRED=1',
|
||||||
|
'-DCONFIG_GAS=1',
|
||||||
|
'-DCONFIG_HS20=1',
|
||||||
|
'-DCONFIG_IEEE80211R=1',
|
||||||
|
'-DCONFIG_INTERWORKING=1',
|
||||||
|
'-DCONFIG_PEERKEY=1',
|
||||||
|
'-DCONFIG_PRIVSEP=1',
|
||||||
|
'-DCONFIG_SMARTCARD=1',
|
||||||
|
'-DCONFIG_TERMINATE_ONLASTIF=1',
|
||||||
|
'-DCONFIG_TLS=openssl',
|
||||||
|
'-DCONFIG_WPS=1',
|
||||||
|
'-DCONFIG_WPS2=1',
|
||||||
|
'-DCONFIG_WPS_UPNP=1',
|
||||||
|
'-DPKCS12_FUNCS=1',
|
||||||
|
'-DCONFIG_SHA256=1',
|
||||||
|
'-DCONFIG_CTRL_IFACE=1',
|
||||||
|
'-DCONFIG_CTRL_IFACE_UNIX=1',
|
||||||
|
'-DIEEE8021X_EAPOL=1',
|
||||||
|
'-DEAP_MD5=1',
|
||||||
|
'-DEAP_GTC=1',
|
||||||
|
'-DEAP_LEAP=1',
|
||||||
|
'-DEAP_MSCHAPv2=1',
|
||||||
|
'-DEAP_OTP=1',
|
||||||
|
'-DEAP_PEAP=1',
|
||||||
|
'-DEAP_PSK=1',
|
||||||
|
'-DEAP_TLS=1',
|
||||||
|
'-DEAP_TTLS=1'],
|
||||||
|
['freebsd/contrib/wpa/src',
|
||||||
|
'freebsd/contrib/wpa/src/utils',
|
||||||
|
'freebsd/contrib/wpa/src/eap_peer',
|
||||||
|
'freebsd/usr.sbin/wpa/wpa_supplicant',
|
||||||
|
'freebsd/crypto/openssl/crypto'])
|
||||||
|
)
|
||||||
|
mod.addRTEMSSourceFiles(
|
||||||
|
[
|
||||||
|
'rtems/rtems-bsd-shell-wpa_supplicant.c',
|
||||||
|
'rtems/rtems-wpa_supplicant_mutex.c',
|
||||||
|
],
|
||||||
|
mm.generator['source']()
|
||||||
|
)
|
||||||
|
return mod
|
||||||
|
|
||||||
#
|
#
|
||||||
# in_chksum Module
|
# in_chksum Module
|
||||||
#
|
#
|
||||||
@@ -4338,6 +4623,7 @@ def sources(mm):
|
|||||||
mm.addModule(contrib_expat(mm))
|
mm.addModule(contrib_expat(mm))
|
||||||
mm.addModule(contrib_libpcap(mm))
|
mm.addModule(contrib_libpcap(mm))
|
||||||
mm.addModule(usr_sbin_tcpdump(mm))
|
mm.addModule(usr_sbin_tcpdump(mm))
|
||||||
|
mm.addModule(usr_sbin_wpa_supplicant(mm))
|
||||||
mm.addModule(crypto_openssl(mm))
|
mm.addModule(crypto_openssl(mm))
|
||||||
|
|
||||||
mm.addModule(tests(mm))
|
mm.addModule(tests(mm))
|
||||||
|
115
libbsd_waf.py
115
libbsd_waf.py
@@ -64,6 +64,7 @@ def build(bld):
|
|||||||
includes += ["rtemsbsd/include"]
|
includes += ["rtemsbsd/include"]
|
||||||
includes += ["freebsd/sys"]
|
includes += ["freebsd/sys"]
|
||||||
includes += ["freebsd/sys/contrib/pf"]
|
includes += ["freebsd/sys/contrib/pf"]
|
||||||
|
includes += ["freebsd/crypto"]
|
||||||
includes += ["freebsd/sys/net"]
|
includes += ["freebsd/sys/net"]
|
||||||
includes += ["freebsd/include"]
|
includes += ["freebsd/include"]
|
||||||
includes += ["freebsd/lib"]
|
includes += ["freebsd/lib"]
|
||||||
@@ -1405,7 +1406,111 @@ def build(bld):
|
|||||||
source = objs07_source)
|
source = objs07_source)
|
||||||
libbsd_use += ["objs07"]
|
libbsd_use += ["objs07"]
|
||||||
|
|
||||||
objs08_source = ['freebsd/contrib/tcpdump/addrtoname.c',
|
objs08_source = ['freebsd/contrib/wpa/src/ap/ap_drv_ops.c',
|
||||||
|
'freebsd/contrib/wpa/src/ap/hs20.c',
|
||||||
|
'freebsd/contrib/wpa/src/ap/ieee802_11_shared.c',
|
||||||
|
'freebsd/contrib/wpa/src/common/gas.c',
|
||||||
|
'freebsd/contrib/wpa/src/common/hw_features_common.c',
|
||||||
|
'freebsd/contrib/wpa/src/common/ieee802_11_common.c',
|
||||||
|
'freebsd/contrib/wpa/src/common/wpa_common.c',
|
||||||
|
'freebsd/contrib/wpa/src/crypto/aes-ctr.c',
|
||||||
|
'freebsd/contrib/wpa/src/crypto/aes-eax.c',
|
||||||
|
'freebsd/contrib/wpa/src/crypto/aes-encblock.c',
|
||||||
|
'freebsd/contrib/wpa/src/crypto/aes-omac1.c',
|
||||||
|
'freebsd/contrib/wpa/src/crypto/aes-unwrap.c',
|
||||||
|
'freebsd/contrib/wpa/src/crypto/crypto_openssl.c',
|
||||||
|
'freebsd/contrib/wpa/src/crypto/ms_funcs.c',
|
||||||
|
'freebsd/contrib/wpa/src/crypto/random.c',
|
||||||
|
'freebsd/contrib/wpa/src/crypto/rc4.c',
|
||||||
|
'freebsd/contrib/wpa/src/crypto/sha1-pbkdf2.c',
|
||||||
|
'freebsd/contrib/wpa/src/crypto/sha1-prf.c',
|
||||||
|
'freebsd/contrib/wpa/src/crypto/sha1.c',
|
||||||
|
'freebsd/contrib/wpa/src/crypto/sha256-internal.c',
|
||||||
|
'freebsd/contrib/wpa/src/crypto/sha256-prf.c',
|
||||||
|
'freebsd/contrib/wpa/src/crypto/tls_internal.c',
|
||||||
|
'freebsd/contrib/wpa/src/drivers/driver_bsd.c',
|
||||||
|
'freebsd/contrib/wpa/src/drivers/driver_common.c',
|
||||||
|
'freebsd/contrib/wpa/src/drivers/driver_ndis.c',
|
||||||
|
'freebsd/contrib/wpa/src/drivers/driver_wired.c',
|
||||||
|
'freebsd/contrib/wpa/src/drivers/drivers.c',
|
||||||
|
'freebsd/contrib/wpa/src/eap_common/chap.c',
|
||||||
|
'freebsd/contrib/wpa/src/eap_common/eap_common.c',
|
||||||
|
'freebsd/contrib/wpa/src/eap_common/eap_peap_common.c',
|
||||||
|
'freebsd/contrib/wpa/src/eap_common/eap_psk_common.c',
|
||||||
|
'freebsd/contrib/wpa/src/eap_peer/eap.c',
|
||||||
|
'freebsd/contrib/wpa/src/eap_peer/eap_gtc.c',
|
||||||
|
'freebsd/contrib/wpa/src/eap_peer/eap_leap.c',
|
||||||
|
'freebsd/contrib/wpa/src/eap_peer/eap_md5.c',
|
||||||
|
'freebsd/contrib/wpa/src/eap_peer/eap_methods.c',
|
||||||
|
'freebsd/contrib/wpa/src/eap_peer/eap_mschapv2.c',
|
||||||
|
'freebsd/contrib/wpa/src/eap_peer/eap_otp.c',
|
||||||
|
'freebsd/contrib/wpa/src/eap_peer/eap_peap.c',
|
||||||
|
'freebsd/contrib/wpa/src/eap_peer/eap_psk.c',
|
||||||
|
'freebsd/contrib/wpa/src/eap_peer/eap_tls.c',
|
||||||
|
'freebsd/contrib/wpa/src/eap_peer/eap_tls_common.c',
|
||||||
|
'freebsd/contrib/wpa/src/eap_peer/eap_ttls.c',
|
||||||
|
'freebsd/contrib/wpa/src/eap_peer/mschapv2.c',
|
||||||
|
'freebsd/contrib/wpa/src/eapol_supp/eapol_supp_sm.c',
|
||||||
|
'freebsd/contrib/wpa/src/l2_packet/l2_packet_freebsd.c',
|
||||||
|
'freebsd/contrib/wpa/src/rsn_supp/peerkey.c',
|
||||||
|
'freebsd/contrib/wpa/src/rsn_supp/pmksa_cache.c',
|
||||||
|
'freebsd/contrib/wpa/src/rsn_supp/preauth.c',
|
||||||
|
'freebsd/contrib/wpa/src/rsn_supp/wpa.c',
|
||||||
|
'freebsd/contrib/wpa/src/rsn_supp/wpa_ft.c',
|
||||||
|
'freebsd/contrib/wpa/src/rsn_supp/wpa_ie.c',
|
||||||
|
'freebsd/contrib/wpa/src/utils/base64.c',
|
||||||
|
'freebsd/contrib/wpa/src/utils/common.c',
|
||||||
|
'freebsd/contrib/wpa/src/utils/eloop.c',
|
||||||
|
'freebsd/contrib/wpa/src/utils/os_unix.c',
|
||||||
|
'freebsd/contrib/wpa/src/utils/uuid.c',
|
||||||
|
'freebsd/contrib/wpa/src/utils/wpa_debug.c',
|
||||||
|
'freebsd/contrib/wpa/src/utils/wpabuf.c',
|
||||||
|
'freebsd/contrib/wpa/src/wps/http_client.c',
|
||||||
|
'freebsd/contrib/wpa/src/wps/http_server.c',
|
||||||
|
'freebsd/contrib/wpa/src/wps/httpread.c',
|
||||||
|
'freebsd/contrib/wpa/src/wps/upnp_xml.c',
|
||||||
|
'freebsd/contrib/wpa/src/wps/wps.c',
|
||||||
|
'freebsd/contrib/wpa/src/wps/wps_attr_build.c',
|
||||||
|
'freebsd/contrib/wpa/src/wps/wps_attr_parse.c',
|
||||||
|
'freebsd/contrib/wpa/src/wps/wps_attr_process.c',
|
||||||
|
'freebsd/contrib/wpa/src/wps/wps_common.c',
|
||||||
|
'freebsd/contrib/wpa/src/wps/wps_dev_attr.c',
|
||||||
|
'freebsd/contrib/wpa/src/wps/wps_enrollee.c',
|
||||||
|
'freebsd/contrib/wpa/src/wps/wps_registrar.c',
|
||||||
|
'freebsd/contrib/wpa/src/wps/wps_upnp.c',
|
||||||
|
'freebsd/contrib/wpa/src/wps/wps_upnp_ap.c',
|
||||||
|
'freebsd/contrib/wpa/src/wps/wps_upnp_event.c',
|
||||||
|
'freebsd/contrib/wpa/src/wps/wps_upnp_ssdp.c',
|
||||||
|
'freebsd/contrib/wpa/src/wps/wps_upnp_web.c',
|
||||||
|
'freebsd/contrib/wpa/wpa_supplicant/blacklist.c',
|
||||||
|
'freebsd/contrib/wpa/wpa_supplicant/bss.c',
|
||||||
|
'freebsd/contrib/wpa/wpa_supplicant/config.c',
|
||||||
|
'freebsd/contrib/wpa/wpa_supplicant/config_file.c',
|
||||||
|
'freebsd/contrib/wpa/wpa_supplicant/ctrl_iface.c',
|
||||||
|
'freebsd/contrib/wpa/wpa_supplicant/ctrl_iface_unix.c',
|
||||||
|
'freebsd/contrib/wpa/wpa_supplicant/eap_register.c',
|
||||||
|
'freebsd/contrib/wpa/wpa_supplicant/events.c',
|
||||||
|
'freebsd/contrib/wpa/wpa_supplicant/gas_query.c',
|
||||||
|
'freebsd/contrib/wpa/wpa_supplicant/hs20_supplicant.c',
|
||||||
|
'freebsd/contrib/wpa/wpa_supplicant/interworking.c',
|
||||||
|
'freebsd/contrib/wpa/wpa_supplicant/main.c',
|
||||||
|
'freebsd/contrib/wpa/wpa_supplicant/notify.c',
|
||||||
|
'freebsd/contrib/wpa/wpa_supplicant/offchannel.c',
|
||||||
|
'freebsd/contrib/wpa/wpa_supplicant/scan.c',
|
||||||
|
'freebsd/contrib/wpa/wpa_supplicant/wmm_ac.c',
|
||||||
|
'freebsd/contrib/wpa/wpa_supplicant/wpa_supplicant.c',
|
||||||
|
'freebsd/contrib/wpa/wpa_supplicant/wpas_glue.c',
|
||||||
|
'freebsd/contrib/wpa/wpa_supplicant/wps_supplicant.c',
|
||||||
|
'freebsd/usr.sbin/wpa/wpa_supplicant/Packet32.c']
|
||||||
|
bld.objects(target = "objs08",
|
||||||
|
features = "c",
|
||||||
|
cflags = cflags,
|
||||||
|
includes = ['freebsd/contrib/wpa/src', 'freebsd/contrib/wpa/src/eap_peer', 'freebsd/contrib/wpa/src/utils', 'freebsd/crypto/openssl/crypto', 'freebsd/usr.sbin/wpa/wpa_supplicant'] + includes,
|
||||||
|
defines = defines + ['CONFIG_BACKEND_FILE=1', 'CONFIG_CTRL_IFACE=1', 'CONFIG_CTRL_IFACE_UNIX=1', 'CONFIG_DEBUG_SYSLOG=1', 'CONFIG_DRIVER_BSD=1', 'CONFIG_DRIVER_NDIS=1', 'CONFIG_DRIVER_WIRED=1', 'CONFIG_GAS=1', 'CONFIG_HS20=1', 'CONFIG_IEEE80211R=1', 'CONFIG_INTERWORKING=1', 'CONFIG_PEERKEY=1', 'CONFIG_PRIVSEP=1', 'CONFIG_SHA256=1', 'CONFIG_SMARTCARD=1', 'CONFIG_TERMINATE_ONLASTIF=1', 'CONFIG_TLS=openssl', 'CONFIG_WPS2=1', 'CONFIG_WPS=1', 'CONFIG_WPS_UPNP=1', 'EAP_GTC=1', 'EAP_LEAP=1', 'EAP_MD5=1', 'EAP_MSCHAPv2=1', 'EAP_OTP=1', 'EAP_PEAP=1', 'EAP_PSK=1', 'EAP_TLS=1', 'EAP_TTLS=1', 'IEEE8021X_EAPOL=1', 'PKCS12_FUNCS=1', '__FreeBSD__=1'],
|
||||||
|
source = objs08_source)
|
||||||
|
libbsd_use += ["objs08"]
|
||||||
|
|
||||||
|
objs09_source = ['freebsd/contrib/tcpdump/addrtoname.c',
|
||||||
'freebsd/contrib/tcpdump/addrtostr.c',
|
'freebsd/contrib/tcpdump/addrtostr.c',
|
||||||
'freebsd/contrib/tcpdump/af.c',
|
'freebsd/contrib/tcpdump/af.c',
|
||||||
'freebsd/contrib/tcpdump/ascii_strcasecmp.c',
|
'freebsd/contrib/tcpdump/ascii_strcasecmp.c',
|
||||||
@@ -1572,13 +1677,13 @@ def build(bld):
|
|||||||
'freebsd/contrib/tcpdump/smbutil.c',
|
'freebsd/contrib/tcpdump/smbutil.c',
|
||||||
'freebsd/contrib/tcpdump/tcpdump.c',
|
'freebsd/contrib/tcpdump/tcpdump.c',
|
||||||
'freebsd/contrib/tcpdump/util-print.c']
|
'freebsd/contrib/tcpdump/util-print.c']
|
||||||
bld.objects(target = "objs08",
|
bld.objects(target = "objs09",
|
||||||
features = "c",
|
features = "c",
|
||||||
cflags = cflags,
|
cflags = cflags,
|
||||||
includes = ['freebsd/contrib/tcpdump', 'freebsd/usr.sbin/tcpdump/tcpdump'] + includes,
|
includes = ['freebsd/contrib/tcpdump', 'freebsd/usr.sbin/tcpdump/tcpdump'] + includes,
|
||||||
defines = defines + ['HAVE_CONFIG_H=1', 'HAVE_NET_PFVAR_H=1', 'INET6', '_U_=__attribute__((unused))', '__FreeBSD__=1'],
|
defines = defines + ['HAVE_CONFIG_H=1', 'HAVE_NET_PFVAR_H=1', 'INET6', '_U_=__attribute__((unused))', '__FreeBSD__=1'],
|
||||||
source = objs08_source)
|
source = objs09_source)
|
||||||
libbsd_use += ["objs08"]
|
libbsd_use += ["objs09"]
|
||||||
|
|
||||||
source = ['freebsd/sys/arm/lpc/if_lpe.c',
|
source = ['freebsd/sys/arm/lpc/if_lpe.c',
|
||||||
'freebsd/sys/arm/lpc/lpc_pwr.c',
|
'freebsd/sys/arm/lpc/lpc_pwr.c',
|
||||||
@@ -2219,6 +2324,7 @@ def build(bld):
|
|||||||
'rtemsbsd/rtems/rtems-bsd-shell-tcpdump.c',
|
'rtemsbsd/rtems/rtems-bsd-shell-tcpdump.c',
|
||||||
'rtemsbsd/rtems/rtems-bsd-shell-vmstat.c',
|
'rtemsbsd/rtems/rtems-bsd-shell-vmstat.c',
|
||||||
'rtemsbsd/rtems/rtems-bsd-shell-wlanstats.c',
|
'rtemsbsd/rtems/rtems-bsd-shell-wlanstats.c',
|
||||||
|
'rtemsbsd/rtems/rtems-bsd-shell-wpa_supplicant.c',
|
||||||
'rtemsbsd/rtems/rtems-bsd-syscall-api.c',
|
'rtemsbsd/rtems/rtems-bsd-syscall-api.c',
|
||||||
'rtemsbsd/rtems/rtems-kernel-assert.c',
|
'rtemsbsd/rtems/rtems-kernel-assert.c',
|
||||||
'rtemsbsd/rtems/rtems-kernel-autoconf.c',
|
'rtemsbsd/rtems/rtems-kernel-autoconf.c',
|
||||||
@@ -2260,6 +2366,7 @@ def build(bld):
|
|||||||
'rtemsbsd/rtems/rtems-program-socket.c',
|
'rtemsbsd/rtems/rtems-program-socket.c',
|
||||||
'rtemsbsd/rtems/rtems-program.c',
|
'rtemsbsd/rtems/rtems-program.c',
|
||||||
'rtemsbsd/rtems/rtems-routes.c',
|
'rtemsbsd/rtems/rtems-routes.c',
|
||||||
|
'rtemsbsd/rtems/rtems-wpa_supplicant_mutex.c',
|
||||||
'rtemsbsd/rtems/syslog.c',
|
'rtemsbsd/rtems/syslog.c',
|
||||||
'rtemsbsd/sys/dev/atsam/if_atsam.c',
|
'rtemsbsd/sys/dev/atsam/if_atsam.c',
|
||||||
'rtemsbsd/sys/dev/atsam/if_atsam_media.c',
|
'rtemsbsd/sys/dev/atsam/if_atsam_media.c',
|
||||||
|
@@ -63,6 +63,8 @@ SYSINIT_MODULE_REFERENCE(wlan_ratectl_none);
|
|||||||
SYSINIT_MODULE_REFERENCE(wlan_sta);
|
SYSINIT_MODULE_REFERENCE(wlan_sta);
|
||||||
SYSINIT_MODULE_REFERENCE(wlan_amrr);
|
SYSINIT_MODULE_REFERENCE(wlan_amrr);
|
||||||
SYSINIT_MODULE_REFERENCE(wlan_wep);
|
SYSINIT_MODULE_REFERENCE(wlan_wep);
|
||||||
|
SYSINIT_MODULE_REFERENCE(wlan_tkip);
|
||||||
|
SYSINIT_MODULE_REFERENCE(wlan_ccmp);
|
||||||
SYSINIT_REFERENCE(rtwn_rtl8188eufw);
|
SYSINIT_REFERENCE(rtwn_rtl8188eufw);
|
||||||
|
|
||||||
RTEMS_BSD_DRIVER_USB;
|
RTEMS_BSD_DRIVER_USB;
|
||||||
|
@@ -62,6 +62,8 @@ int rtems_bsd_command_route(int argc, char **argv);
|
|||||||
|
|
||||||
int rtems_bsd_command_dhcpcd(int argc, char **argv);
|
int rtems_bsd_command_dhcpcd(int argc, char **argv);
|
||||||
|
|
||||||
|
int rtems_bsd_command_wpa_supplicant(int argc, char **argv);
|
||||||
|
|
||||||
int rtems_bsd_command_tcpdump(int argc, char **argv);
|
int rtems_bsd_command_tcpdump(int argc, char **argv);
|
||||||
|
|
||||||
int rtems_bsd_command_sysctl(int argc, char **argv);
|
int rtems_bsd_command_sysctl(int argc, char **argv);
|
||||||
|
41
rtemsbsd/include/machine/rtems-wpa_supplicant-mutex.h
Normal file
41
rtemsbsd/include/machine/rtems-wpa_supplicant-mutex.h
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
/**
|
||||||
|
* @file
|
||||||
|
*
|
||||||
|
* @ingroup rtems_bsd_machine
|
||||||
|
*
|
||||||
|
* @brief TODO.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2017 Sichen Zhao. All rights reserved.
|
||||||
|
*
|
||||||
|
* <zsc19940506@gmail.com>
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions
|
||||||
|
* are met:
|
||||||
|
* 1. Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
|
* documentation and/or other materials provided with the distribution.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
||||||
|
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
||||||
|
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||||
|
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||||
|
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||||
|
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||||
|
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||||
|
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||||
|
* SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _RTEMS_BSD_MACHINE_RTEMS_WPA_SUPPLICANT_MUTEX_H_
|
||||||
|
#define _RTEMS_BSD_MACHINE_RTEMS_WPA_SUPPLICANT_MUTEX_H_
|
||||||
|
|
||||||
|
extern struct mtx wpa_supplicant_mtx;
|
||||||
|
|
||||||
|
#endif /* _RTEMS_BSD_MACHINE_RTEMS_WPA_SUPPLICANT_MUTEX_H_ */
|
@@ -39,6 +39,8 @@ extern rtems_shell_cmd_t rtems_shell_HOSTNAME_Command;
|
|||||||
|
|
||||||
extern rtems_shell_cmd_t rtems_shell_TCPDUMP_Command;
|
extern rtems_shell_cmd_t rtems_shell_TCPDUMP_Command;
|
||||||
|
|
||||||
|
extern rtems_shell_cmd_t rtems_shell_WPA_SUPPLICANT_Command;
|
||||||
|
|
||||||
extern rtems_shell_cmd_t rtems_shell_SYSCTL_Command;
|
extern rtems_shell_cmd_t rtems_shell_SYSCTL_Command;
|
||||||
|
|
||||||
extern rtems_shell_cmd_t rtems_shell_VMSTAT_Command;
|
extern rtems_shell_cmd_t rtems_shell_VMSTAT_Command;
|
||||||
|
36
rtemsbsd/rtems/rtems-bsd-shell-wpa_supplicant.c
Normal file
36
rtemsbsd/rtems/rtems-bsd-shell-wpa_supplicant.c
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2017 Sichen Zhao. All rights reserved.
|
||||||
|
*
|
||||||
|
* <zsc19940506@gmail.com>
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions
|
||||||
|
* are met:
|
||||||
|
* 1. Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
|
* documentation and/or other materials provided with the distribution.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
||||||
|
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
||||||
|
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||||
|
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||||
|
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||||
|
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||||
|
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||||
|
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||||
|
* SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <rtems/netcmds-config.h>
|
||||||
|
#include <machine/rtems-bsd-commands.h>
|
||||||
|
|
||||||
|
rtems_shell_cmd_t rtems_shell_WPA_SUPPLICANT_Command = {
|
||||||
|
.name = "wpa_supplicant",
|
||||||
|
.usage = "wpa_supplicant [args]",
|
||||||
|
.topic = "net",
|
||||||
|
.command = rtems_bsd_command_wpa_supplicant
|
||||||
|
};
|
47
rtemsbsd/rtems/rtems-wpa_supplicant_mutex.c
Normal file
47
rtemsbsd/rtems/rtems-wpa_supplicant_mutex.c
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
/**
|
||||||
|
* @file
|
||||||
|
*
|
||||||
|
* @ingroup rtems_bsd_rtems
|
||||||
|
*
|
||||||
|
* @brief TODO.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2017, Sichen Zhao. All rights reserved.
|
||||||
|
*
|
||||||
|
* <zsc19940506@gmail.com>
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions
|
||||||
|
* are met:
|
||||||
|
* 1. Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
|
* documentation and/or other materials provided with the distribution.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
||||||
|
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
||||||
|
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||||
|
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||||
|
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||||
|
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||||
|
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||||
|
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||||
|
* SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <machine/rtems-bsd-kernel-space.h>
|
||||||
|
#include <machine/rtems-bsd-thread.h>
|
||||||
|
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/kernel.h>
|
||||||
|
#include <sys/lock.h>
|
||||||
|
#include <sys/mutex.h>
|
||||||
|
#include <machine/rtems-wpa_supplicant-mutex.h>
|
||||||
|
|
||||||
|
struct mtx wpa_supplicant_mtx;
|
||||||
|
|
||||||
|
MTX_SYSINIT(wpa_supplicant_program, &wpa_supplicant_mtx, "WPA program", MTX_DEF);
|
Reference in New Issue
Block a user