apps/wireless/wapi: Fix problems in build support. Fix some initial compile isses (still does not compile).
This commit is contained in:
parent
806d2c731a
commit
aeb37c12b2
@ -38,7 +38,7 @@
|
|||||||
#include <netinet/in.h>
|
#include <netinet/in.h>
|
||||||
#include <sys/socket.h>
|
#include <sys/socket.h>
|
||||||
#include <net/ethernet.h>
|
#include <net/ethernet.h>
|
||||||
#include <linux/wireless.h>
|
#include <nuttx/wireless/wireless.h>
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Pre-processor Definitions
|
* Pre-processor Definitions
|
||||||
@ -314,10 +314,12 @@ int wapi_get_routes(wapi_list_t * list);
|
|||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
|
#ifdef CONFIG_NET_ROUTE
|
||||||
int wapi_add_route_gw(int sock, wapi_route_target_t targettype,
|
int wapi_add_route_gw(int sock, wapi_route_target_t targettype,
|
||||||
FAR const struct in_addr *target,
|
FAR const struct in_addr *target,
|
||||||
FAR const struct in_addr *netmask,
|
FAR const struct in_addr *netmask,
|
||||||
FAR const struct in_addr *gw);
|
FAR const struct in_addr *gw);
|
||||||
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Name: wapi_del_route_gw
|
* Name: wapi_del_route_gw
|
||||||
@ -327,10 +329,12 @@ int wapi_add_route_gw(int sock, wapi_route_target_t targettype,
|
|||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
|
#ifdef CONFIG_NET_ROUTE
|
||||||
int wapi_del_route_gw(int sock, wapi_route_target_t targettype,
|
int wapi_del_route_gw(int sock, wapi_route_target_t targettype,
|
||||||
FAR const struct in_addr *target,
|
FAR const struct in_addr *target,
|
||||||
FAR const struct in_addr *netmask,
|
FAR const struct in_addr *netmask,
|
||||||
FAR const struct in_addr *gw);
|
FAR const struct in_addr *gw);
|
||||||
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Name: wapi_get_we_version
|
* Name: wapi_get_we_version
|
||||||
|
2
wireless/.gitignore
vendored
Normal file
2
wireless/.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
/Kconfig
|
||||||
|
|
37
wireless/Make.defs
Normal file
37
wireless/Make.defs
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
############################################################################
|
||||||
|
# apps/wireless/Make.defs
|
||||||
|
# Adds selected applications to apps/ build
|
||||||
|
#
|
||||||
|
# Copyright (C) 2017 Gregory Nutt. All rights reserved.
|
||||||
|
# Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
|
# 3. Neither the name NuttX nor the names of its contributors may be
|
||||||
|
# used to endorse or promote products derived from this software
|
||||||
|
# without specific prior written permission.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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
|
||||||
|
# COPYRIGHT OWNER 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 $(wildcard wireless/*/Make.defs)
|
38
wireless/Makefile
Normal file
38
wireless/Makefile
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
############################################################################
|
||||||
|
# apps/wireless/Makefile
|
||||||
|
#
|
||||||
|
# Copyright (C) 2017 Gregory Nutt. All rights reserved.
|
||||||
|
# Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
|
# 3. Neither the name NuttX nor the names of its contributors may be
|
||||||
|
# used to endorse or promote products derived from this software
|
||||||
|
# without specific prior written permission.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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
|
||||||
|
# COPYRIGHT OWNER 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.
|
||||||
|
#
|
||||||
|
############################################################################
|
||||||
|
|
||||||
|
MENUDESC = "Wireless Libraries and NSH Add-Ons"
|
||||||
|
|
||||||
|
include $(APPDIR)/Directory.mk
|
@ -4,9 +4,9 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
menuconfig WIRELESS_WAPI
|
menuconfig WIRELESS_WAPI
|
||||||
bool "Temperature"
|
bool "IEEE802.11 Configuration Library"
|
||||||
default n
|
default n
|
||||||
depends on EXPERIMENTAL
|
depends on NET && DRIVERS_WIRELESS && EXPERIMENTAL
|
||||||
---help---
|
---help---
|
||||||
Wapi is a tool by Volkan YAZICI <volkan.yazici@gmail.com> that can
|
Wapi is a tool by Volkan YAZICI <volkan.yazici@gmail.com> that can
|
||||||
be used to manage 802.11 network.
|
be used to manage 802.11 network.
|
||||||
@ -14,7 +14,7 @@ menuconfig WIRELESS_WAPI
|
|||||||
if WIRELESS_WAPI
|
if WIRELESS_WAPI
|
||||||
|
|
||||||
config WIRELESS_WAPI_CMDTOOL
|
config WIRELESS_WAPI_CMDTOOL
|
||||||
bool "Build command line tool"
|
bool "IEEE802.11 Command Line Tool"
|
||||||
default n
|
default n
|
||||||
---help---
|
---help---
|
||||||
By default, Wapi is build as only a library. If this option is
|
By default, Wapi is build as only a library. If this option is
|
||||||
@ -22,11 +22,11 @@ config WIRELESS_WAPI_CMDTOOL
|
|||||||
will also be generated.
|
will also be generated.
|
||||||
|
|
||||||
config WIRELESS_WAPI_ENABLE_SET
|
config WIRELESS_WAPI_ENABLE_SET
|
||||||
bool "Enable setting options"
|
bool "Enable Setting Options"
|
||||||
default n
|
default n
|
||||||
|
|
||||||
config WIRELESS_WAPI_PROGNAME
|
config WIRELESS_WAPI_PROGNAME
|
||||||
string "Program name"
|
string "Program Name"
|
||||||
default "wapi"
|
default "wapi"
|
||||||
depends on BUILD_KERNEL
|
depends on BUILD_KERNEL
|
||||||
---help---
|
---help---
|
||||||
@ -34,11 +34,11 @@ config WIRELESS_WAPI_PROGNAME
|
|||||||
program is installed.
|
program is installed.
|
||||||
|
|
||||||
config WIRELESS_WAPI_STACKSIZE
|
config WIRELESS_WAPI_STACKSIZE
|
||||||
int "Stack size (bytes)"
|
int "Stack Size (bytes)"
|
||||||
default 2048
|
default 2048
|
||||||
|
|
||||||
config WIRELESS_WAPI_PRIORITY
|
config WIRELESS_WAPI_PRIORITY
|
||||||
int "Command priority"
|
int "Command Priority"
|
||||||
default 100
|
default 100
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
@ -53,6 +53,8 @@ ASRCS =
|
|||||||
CSRCS =
|
CSRCS =
|
||||||
MAINSRC =
|
MAINSRC =
|
||||||
|
|
||||||
|
VPATH = .
|
||||||
|
|
||||||
include $(APPDIR)/wireless/wapi/src/Make.defs
|
include $(APPDIR)/wireless/wapi/src/Make.defs
|
||||||
|
|
||||||
AOBJS = $(ASRCS:.S=$(OBJEXT))
|
AOBJS = $(ASRCS:.S=$(OBJEXT))
|
||||||
@ -89,8 +91,6 @@ ROOTDEPPATH = --dep-path .
|
|||||||
|
|
||||||
# Common build
|
# Common build
|
||||||
|
|
||||||
VPATH =
|
|
||||||
|
|
||||||
all: .built
|
all: .built
|
||||||
.PHONY: context depend clean distclean
|
.PHONY: context depend clean distclean
|
||||||
|
|
||||||
|
@ -43,7 +43,7 @@ endif
|
|||||||
|
|
||||||
DEPPATH += --dep-path src
|
DEPPATH += --dep-path src
|
||||||
VPATH += :src
|
VPATH += :src
|
||||||
CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" $(APPDIR)/wirelss/wapi/src}
|
CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" $(APPDIR)/wireless/wapi/src}
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -32,16 +32,19 @@
|
|||||||
* Included Files
|
* Included Files
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <net/route.h>
|
|
||||||
#include <netinet/in.h>
|
|
||||||
#include <sys/socket.h>
|
#include <sys/socket.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/ioctl.h>
|
#include <sys/ioctl.h>
|
||||||
|
|
||||||
|
#include <strings.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
#include <net/route.h>
|
||||||
|
#include <netinet/in.h>
|
||||||
|
|
||||||
#include "util.h"
|
#include "util.h"
|
||||||
#include "include/wireless/wapi.h"
|
#include "wireless/wapi.h"
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Private Functions
|
* Private Functions
|
||||||
@ -56,7 +59,7 @@ static int wapi_get_addr(int sock, FAR const char *ifname, int cmd,
|
|||||||
WAPI_VALIDATE_PTR(addr);
|
WAPI_VALIDATE_PTR(addr);
|
||||||
|
|
||||||
strncpy(ifr.ifr_name, ifname, IFNAMSIZ);
|
strncpy(ifr.ifr_name, ifname, IFNAMSIZ);
|
||||||
if ((ret = ioctl(sock, cmd, &ifr)) >= 0)
|
if ((ret = ioctl(sock, cmd, (unsigned long)((uintptr_t)&ifr))) >= 0)
|
||||||
{
|
{
|
||||||
struct sockaddr_in *sin = (struct sockaddr_in *)&ifr.ifr_addr;
|
struct sockaddr_in *sin = (struct sockaddr_in *)&ifr.ifr_addr;
|
||||||
memcpy(addr, &sin->sin_addr, sizeof(struct in_addr));
|
memcpy(addr, &sin->sin_addr, sizeof(struct in_addr));
|
||||||
@ -82,7 +85,7 @@ static int wapi_set_addr(int sock, FAR const char *ifname, int cmd,
|
|||||||
memcpy(&sin.sin_addr, addr, sizeof(struct in_addr));
|
memcpy(&sin.sin_addr, addr, sizeof(struct in_addr));
|
||||||
memcpy(&ifr.ifr_addr, &sin, sizeof(struct sockaddr_in));
|
memcpy(&ifr.ifr_addr, &sin, sizeof(struct sockaddr_in));
|
||||||
strncpy(ifr.ifr_name, ifname, IFNAMSIZ);
|
strncpy(ifr.ifr_name, ifname, IFNAMSIZ);
|
||||||
if ((ret = ioctl(sock, cmd, &ifr)) < 0)
|
if ((ret = ioctl(sock, cmd, (unsigned long)((uintptr_t)&ifr))) < 0)
|
||||||
{
|
{
|
||||||
WAPI_IOCTL_STRERROR(cmd);
|
WAPI_IOCTL_STRERROR(cmd);
|
||||||
}
|
}
|
||||||
@ -90,6 +93,7 @@ static int wapi_set_addr(int sock, FAR const char *ifname, int cmd,
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_NET_ROUTE
|
||||||
static int wapi_act_route_gw(int sock, int act,
|
static int wapi_act_route_gw(int sock, int act,
|
||||||
wapi_route_target_t targettype,
|
wapi_route_target_t targettype,
|
||||||
FAR const struct in_addr *target,
|
FAR const struct in_addr *target,
|
||||||
@ -130,13 +134,14 @@ static int wapi_act_route_gw(int sock, int act,
|
|||||||
rt.rt_flags |= RTF_HOST;
|
rt.rt_flags |= RTF_HOST;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((ret = ioctl(sock, act, &rt)) < 0)
|
if ((ret = ioctl(sock, act, (unsigned long)((uintptr_t)&rt))) < 0)
|
||||||
{
|
{
|
||||||
WAPI_IOCTL_STRERROR(act);
|
WAPI_IOCTL_STRERROR(act);
|
||||||
}
|
}
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
@ -161,7 +166,7 @@ int wapi_get_ifup(int sock, FAR const char *ifname, FAR int *is_up)
|
|||||||
WAPI_VALIDATE_PTR(is_up);
|
WAPI_VALIDATE_PTR(is_up);
|
||||||
|
|
||||||
strncpy(ifr.ifr_name, ifname, IFNAMSIZ);
|
strncpy(ifr.ifr_name, ifname, IFNAMSIZ);
|
||||||
if ((ret = ioctl(sock, SIOCGIFFLAGS, &ifr)) >= 0)
|
if ((ret = ioctl(sock, SIOCGIFFLAGS, (unsigned long)((uintptr_t)&ifr))) >= 0)
|
||||||
{
|
{
|
||||||
*is_up = (ifr.ifr_flags & IFF_UP) == IFF_UP;
|
*is_up = (ifr.ifr_flags & IFF_UP) == IFF_UP;
|
||||||
}
|
}
|
||||||
@ -187,10 +192,10 @@ int wapi_set_ifup(int sock, FAR const char *ifname)
|
|||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
strncpy(ifr.ifr_name, ifname, IFNAMSIZ);
|
strncpy(ifr.ifr_name, ifname, IFNAMSIZ);
|
||||||
if ((ret = ioctl(sock, SIOCGIFFLAGS, &ifr)) >= 0)
|
if ((ret = ioctl(sock, SIOCGIFFLAGS, (unsigned long)((uintptr_t)&ifr))) >= 0)
|
||||||
{
|
{
|
||||||
ifr.ifr_flags |= (IFF_UP | IFF_RUNNING);
|
ifr.ifr_flags |= (IFF_UP | IFF_RUNNING);
|
||||||
ret = ioctl(sock, SIOCSIFFLAGS, &ifr);
|
ret = ioctl(sock, SIOCSIFFLAGS, (unsigned long)((uintptr_t)&ifr));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -214,10 +219,10 @@ int wapi_set_ifdown(int sock, FAR const char *ifname)
|
|||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
strncpy(ifr.ifr_name, ifname, IFNAMSIZ);
|
strncpy(ifr.ifr_name, ifname, IFNAMSIZ);
|
||||||
if ((ret = ioctl(sock, SIOCGIFFLAGS, &ifr)) >= 0)
|
if ((ret = ioctl(sock, SIOCGIFFLAGS, (unsigned long)((uintptr_t)&ifr))) >= 0)
|
||||||
{
|
{
|
||||||
ifr.ifr_flags &= ~IFF_UP;
|
ifr.ifr_flags &= ~IFF_UP;
|
||||||
ret = ioctl(sock, SIOCSIFFLAGS, &ifr);
|
ret = ioctl(sock, SIOCSIFFLAGS, (unsigned long)((uintptr_t)&ifr));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -296,9 +301,9 @@ int wapi_set_netmask(int sock, FAR const char *ifname,
|
|||||||
int wapi_get_routes(FAR wapi_list_t *list)
|
int wapi_get_routes(FAR wapi_list_t *list)
|
||||||
{
|
{
|
||||||
FAR FILE *fp;
|
FAR FILE *fp;
|
||||||
int ret;
|
|
||||||
size_t bufsiz = WAPI_PROC_LINE_SIZE * sizeof(char);
|
size_t bufsiz = WAPI_PROC_LINE_SIZE * sizeof(char);
|
||||||
char buf[WAPI_PROC_LINE_SIZE];
|
char buf[WAPI_PROC_LINE_SIZE];
|
||||||
|
int ret;
|
||||||
|
|
||||||
WAPI_VALIDATE_PTR(list);
|
WAPI_VALIDATE_PTR(list);
|
||||||
|
|
||||||
@ -389,7 +394,7 @@ int wapi_get_routes(FAR wapi_list_t *list)
|
|||||||
/* Close file. */
|
/* Close file. */
|
||||||
|
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
return 0;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -400,6 +405,7 @@ int wapi_get_routes(FAR wapi_list_t *list)
|
|||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
|
#ifdef CONFIG_NET_ROUTE
|
||||||
int wapi_add_route_gw(int sock, wapi_route_target_t targettype,
|
int wapi_add_route_gw(int sock, wapi_route_target_t targettype,
|
||||||
FAR const struct in_addr *target,
|
FAR const struct in_addr *target,
|
||||||
FAR const struct in_addr *netmask,
|
FAR const struct in_addr *netmask,
|
||||||
@ -407,6 +413,7 @@ int wapi_add_route_gw(int sock, wapi_route_target_t targettype,
|
|||||||
{
|
{
|
||||||
return wapi_act_route_gw(sock, SIOCADDRT, targettype, target, netmask, gw);
|
return wapi_act_route_gw(sock, SIOCADDRT, targettype, target, netmask, gw);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Name: wapi_del_route_gw
|
* Name: wapi_del_route_gw
|
||||||
@ -416,6 +423,7 @@ int wapi_add_route_gw(int sock, wapi_route_target_t targettype,
|
|||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
|
#ifdef CONFIG_NET_ROUTE
|
||||||
int wapi_del_route_gw(int sock, wapi_route_target_t targettype,
|
int wapi_del_route_gw(int sock, wapi_route_target_t targettype,
|
||||||
FAR const struct in_addr *target,
|
FAR const struct in_addr *target,
|
||||||
FAR const struct in_addr *netmask,
|
FAR const struct in_addr *netmask,
|
||||||
@ -423,3 +431,4 @@ int wapi_del_route_gw(int sock, wapi_route_target_t targettype,
|
|||||||
{
|
{
|
||||||
return wapi_act_route_gw(sock, SIOCDELRT, targettype, target, netmask, gw);
|
return wapi_act_route_gw(sock, SIOCDELRT, targettype, target, netmask, gw);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
@ -39,7 +39,7 @@
|
|||||||
#include <sys/socket.h>
|
#include <sys/socket.h>
|
||||||
#include <sys/ioctl.h>
|
#include <sys/ioctl.h>
|
||||||
|
|
||||||
#include "include/wireless/wapi.h"
|
#include "wireless/wapi.h"
|
||||||
#include "util.h"
|
#include "util.h"
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
|
@ -40,7 +40,7 @@
|
|||||||
#include <netinet/in.h>
|
#include <netinet/in.h>
|
||||||
#include <arpa/inet.h>
|
#include <arpa/inet.h>
|
||||||
|
|
||||||
#include "include/wireless/wapi.h"
|
#include "wireless/wapi.h"
|
||||||
|
|
||||||
|
|
||||||
/* Gets current configuration of the @a ifname using WAPI accessors and prints
|
/* Gets current configuration of the @a ifname using WAPI accessors and prints
|
||||||
|
@ -38,7 +38,7 @@
|
|||||||
|
|
||||||
#include <nuttx/wireless/wireless.h>
|
#include <nuttx/wireless/wireless.h>
|
||||||
|
|
||||||
#include "include/wireless/wapi.h"
|
#include "wireless/wapi.h"
|
||||||
#include "util.h"
|
#include "util.h"
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -351,7 +351,7 @@ int wapi_get_we_version(int sock, const char *ifname, FAR int *we_version)
|
|||||||
/* Get WE version. */
|
/* Get WE version. */
|
||||||
|
|
||||||
strncpy(wrq.ifr_name, ifname, IFNAMSIZ);
|
strncpy(wrq.ifr_name, ifname, IFNAMSIZ);
|
||||||
if ((ret = ioctl(sock, SIOCGIWRANGE, &wrq)) >= 0)
|
if ((ret = ioctl(sock, SIOCGIWRANGE, (unsigned long)((uintptr_t)&wrq))) >= 0)
|
||||||
{
|
{
|
||||||
struct iw_range *range = (struct iw_range *)buf;
|
struct iw_range *range = (struct iw_range *)buf;
|
||||||
*we_version = (int)range->we_version_compiled;
|
*we_version = (int)range->we_version_compiled;
|
||||||
@ -382,7 +382,7 @@ int wapi_get_freq(int sock, FAR const char *ifname, FAR double *freq,
|
|||||||
WAPI_VALIDATE_PTR(flag);
|
WAPI_VALIDATE_PTR(flag);
|
||||||
|
|
||||||
strncpy(wrq.ifr_name, ifname, IFNAMSIZ);
|
strncpy(wrq.ifr_name, ifname, IFNAMSIZ);
|
||||||
if ((ret = ioctl(sock, SIOCGIWFREQ, &wrq)) >= 0)
|
if ((ret = ioctl(sock, SIOCGIWFREQ, (unsigned long)((uintptr_t)&wrq))) >= 0)
|
||||||
{
|
{
|
||||||
/* Set flag. */
|
/* Set flag. */
|
||||||
|
|
||||||
@ -440,7 +440,7 @@ int wapi_set_freq(int sock, FARconst char *ifname, double freq,
|
|||||||
}
|
}
|
||||||
|
|
||||||
strncpy(wrq.ifr_name, ifname, IFNAMSIZ);
|
strncpy(wrq.ifr_name, ifname, IFNAMSIZ);
|
||||||
ret = ioctl(sock, SIOCSIWFREQ, &wrq);
|
ret = ioctl(sock, SIOCSIWFREQ, (unsigned long)((uintptr_t)&wrq));
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
{
|
{
|
||||||
WAPI_IOCTL_STRERROR(SIOCSIWFREQ);
|
WAPI_IOCTL_STRERROR(SIOCSIWFREQ);
|
||||||
@ -479,7 +479,7 @@ int wapi_freq2chan(int sock, FAR const char *ifname, double freq,
|
|||||||
/* Get range. */
|
/* Get range. */
|
||||||
|
|
||||||
strncpy(wrq.ifr_name, ifname, IFNAMSIZ);
|
strncpy(wrq.ifr_name, ifname, IFNAMSIZ);
|
||||||
if ((ret = ioctl(sock, SIOCGIWRANGE, &wrq)) >= 0)
|
if ((ret = ioctl(sock, SIOCGIWRANGE, (unsigned long)((uintptr_t)&wrq))) >= 0)
|
||||||
{
|
{
|
||||||
struct iw_range *range = (struct iw_range *)buf;
|
struct iw_range *range = (struct iw_range *)buf;
|
||||||
int k;
|
int k;
|
||||||
@ -539,7 +539,7 @@ int wapi_chan2freq(int sock, FAR const char *ifname, int chan,
|
|||||||
/* Get range. */
|
/* Get range. */
|
||||||
|
|
||||||
strncpy(wrq.ifr_name, ifname, IFNAMSIZ);
|
strncpy(wrq.ifr_name, ifname, IFNAMSIZ);
|
||||||
if ((ret = ioctl(sock, SIOCGIWRANGE, &wrq)) >= 0)
|
if ((ret = ioctl(sock, SIOCGIWRANGE, (unsigned long)((uintptr_t)&wrq))) >= 0)
|
||||||
{
|
{
|
||||||
struct iw_range *range = (struct iw_range *)buf;
|
struct iw_range *range = (struct iw_range *)buf;
|
||||||
int k;
|
int k;
|
||||||
@ -591,7 +591,7 @@ int wapi_get_essid(int sock, FAR const char *ifname, FAR char *essid,
|
|||||||
wrq.u.essid.flags = 0;
|
wrq.u.essid.flags = 0;
|
||||||
|
|
||||||
strncpy(wrq.ifr_name, ifname, IFNAMSIZ);
|
strncpy(wrq.ifr_name, ifname, IFNAMSIZ);
|
||||||
ret = ioctl(sock, SIOCGIWESSID, &wrq);
|
ret = ioctl(sock, SIOCGIWESSID, (unsigned long)((uintptr_t)&wrq));
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
{
|
{
|
||||||
WAPI_IOCTL_STRERROR(SIOCGIWESSID);
|
WAPI_IOCTL_STRERROR(SIOCGIWESSID);
|
||||||
@ -629,7 +629,7 @@ int wapi_set_essid(int sock, FAR const char *ifname, FAR const char *essid,
|
|||||||
wrq.u.essid.flags = (flag == WAPI_ESSID_ON);
|
wrq.u.essid.flags = (flag == WAPI_ESSID_ON);
|
||||||
|
|
||||||
strncpy(wrq.ifr_name, ifname, IFNAMSIZ);
|
strncpy(wrq.ifr_name, ifname, IFNAMSIZ);
|
||||||
ret = ioctl(sock, SIOCSIWESSID, &wrq);
|
ret = ioctl(sock, SIOCSIWESSID, (unsigned long)((uintptr_t)&wrq));
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
{
|
{
|
||||||
WAPI_IOCTL_STRERROR(SIOCSIWESSID);
|
WAPI_IOCTL_STRERROR(SIOCSIWESSID);
|
||||||
@ -654,7 +654,7 @@ int wapi_get_mode(int sock, FAR const char *ifname, FAR wapi_mode_t *mode)
|
|||||||
WAPI_VALIDATE_PTR(mode);
|
WAPI_VALIDATE_PTR(mode);
|
||||||
|
|
||||||
strncpy(wrq.ifr_name, ifname, IFNAMSIZ);
|
strncpy(wrq.ifr_name, ifname, IFNAMSIZ);
|
||||||
if ((ret = ioctl(sock, SIOCGIWMODE, &wrq)) >= 0)
|
if ((ret = ioctl(sock, SIOCGIWMODE, (unsigned long)((uintptr_t)&wrq))) >= 0)
|
||||||
{
|
{
|
||||||
ret = wapi_parse_mode(wrq.u.mode, mode);
|
ret = wapi_parse_mode(wrq.u.mode, mode);
|
||||||
}
|
}
|
||||||
@ -682,7 +682,7 @@ int wapi_set_mode(int sock, FAR const char *ifname, wapi_mode_t mode)
|
|||||||
wrq.u.mode = mode;
|
wrq.u.mode = mode;
|
||||||
|
|
||||||
strncpy(wrq.ifr_name, ifname, IFNAMSIZ);
|
strncpy(wrq.ifr_name, ifname, IFNAMSIZ);
|
||||||
ret = ioctl(sock, SIOCSIWMODE, &wrq);
|
ret = ioctl(sock, SIOCSIWMODE, (unsigned long)((uintptr_t)&wrq));
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
{
|
{
|
||||||
WAPI_IOCTL_STRERROR(SIOCSIWMODE);
|
WAPI_IOCTL_STRERROR(SIOCSIWMODE);
|
||||||
@ -737,7 +737,7 @@ int wapi_get_ap(int sock, FAR const char *ifname, FAR struct ether_addr *ap)
|
|||||||
WAPI_VALIDATE_PTR(ap);
|
WAPI_VALIDATE_PTR(ap);
|
||||||
|
|
||||||
strncpy(wrq.ifr_name, ifname, IFNAMSIZ);
|
strncpy(wrq.ifr_name, ifname, IFNAMSIZ);
|
||||||
if ((ret = ioctl(sock, SIOCGIWAP, &wrq)) >= 0)
|
if ((ret = ioctl(sock, SIOCGIWAP, (unsigned long)((uintptr_t)&wrq))) >= 0)
|
||||||
{
|
{
|
||||||
memcpy(ap, wrq.u.ap_addr.sa_data, sizeof(struct ether_addr));
|
memcpy(ap, wrq.u.ap_addr.sa_data, sizeof(struct ether_addr));
|
||||||
}
|
}
|
||||||
@ -769,7 +769,7 @@ int wapi_set_ap(int sock, FAR const char *ifname,
|
|||||||
memcpy(wrq.u.ap_addr.sa_data, ap, sizeof(struct ether_addr));
|
memcpy(wrq.u.ap_addr.sa_data, ap, sizeof(struct ether_addr));
|
||||||
strncpy(wrq.ifr_name, ifname, IFNAMSIZ);
|
strncpy(wrq.ifr_name, ifname, IFNAMSIZ);
|
||||||
|
|
||||||
ret = ioctl(sock, SIOCSIWAP, &wrq);
|
ret = ioctl(sock, SIOCSIWAP, (unsigned long)((uintptr_t)&wrq));
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
{
|
{
|
||||||
WAPI_IOCTL_STRERROR(SIOCSIWAP);
|
WAPI_IOCTL_STRERROR(SIOCSIWAP);
|
||||||
@ -796,7 +796,7 @@ int wapi_get_bitrate(int sock, FAR const char *ifname,
|
|||||||
WAPI_VALIDATE_PTR(flag);
|
WAPI_VALIDATE_PTR(flag);
|
||||||
|
|
||||||
strncpy(wrq.ifr_name, ifname, IFNAMSIZ);
|
strncpy(wrq.ifr_name, ifname, IFNAMSIZ);
|
||||||
if ((ret = ioctl(sock, SIOCGIWRATE, &wrq)) >= 0)
|
if ((ret = ioctl(sock, SIOCGIWRATE, (unsigned long)((uintptr_t)&wrq))) >= 0)
|
||||||
{
|
{
|
||||||
/* Check if enabled. */
|
/* Check if enabled. */
|
||||||
if (wrq.u.bitrate.disabled)
|
if (wrq.u.bitrate.disabled)
|
||||||
@ -834,7 +834,7 @@ int wapi_set_bitrate(int sock, FAR const char *ifname, int bitrate,
|
|||||||
wrq.u.bitrate.fixed = (flag == WAPI_BITRATE_FIXED);
|
wrq.u.bitrate.fixed = (flag == WAPI_BITRATE_FIXED);
|
||||||
|
|
||||||
strncpy(wrq.ifr_name, ifname, IFNAMSIZ);
|
strncpy(wrq.ifr_name, ifname, IFNAMSIZ);
|
||||||
ret = ioctl(sock, SIOCSIWRATE, &wrq);
|
ret = ioctl(sock, SIOCSIWRATE, (unsigned long)((uintptr_t)&wrq));
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
{
|
{
|
||||||
WAPI_IOCTL_STRERROR(SIOCSIWRATE);
|
WAPI_IOCTL_STRERROR(SIOCSIWRATE);
|
||||||
@ -887,7 +887,7 @@ int wapi_get_txpower(int sock, FAR const char *ifname, FAR int *power,
|
|||||||
WAPI_VALIDATE_PTR(flag);
|
WAPI_VALIDATE_PTR(flag);
|
||||||
|
|
||||||
strncpy(wrq.ifr_name, ifname, IFNAMSIZ);
|
strncpy(wrq.ifr_name, ifname, IFNAMSIZ);
|
||||||
if ((ret = ioctl(sock, SIOCGIWTXPOW, &wrq)) >= 0)
|
if ((ret = ioctl(sock, SIOCGIWTXPOW, (unsigned long)((uintptr_t)&wrq))) >= 0)
|
||||||
{
|
{
|
||||||
/* Check if enabled. */
|
/* Check if enabled. */
|
||||||
|
|
||||||
@ -963,7 +963,7 @@ int wapi_set_txpower(int sock, FAR const char *ifname, int power,
|
|||||||
/* Issue the set command. */
|
/* Issue the set command. */
|
||||||
|
|
||||||
strncpy(wrq.ifr_name, ifname, IFNAMSIZ);
|
strncpy(wrq.ifr_name, ifname, IFNAMSIZ);
|
||||||
ret = ioctl(sock, SIOCSIWTXPOW, &wrq);
|
ret = ioctl(sock, SIOCSIWTXPOW, (unsigned long)((uintptr_t)&wrq));
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
{
|
{
|
||||||
WAPI_IOCTL_STRERROR(SIOCSIWTXPOW);
|
WAPI_IOCTL_STRERROR(SIOCSIWTXPOW);
|
||||||
@ -991,7 +991,7 @@ int wapi_scan_init(int sock, const char *ifname)
|
|||||||
wrq.u.data.length = 0;
|
wrq.u.data.length = 0;
|
||||||
|
|
||||||
strncpy(wrq.ifr_name, ifname, IFNAMSIZ);
|
strncpy(wrq.ifr_name, ifname, IFNAMSIZ);
|
||||||
ret = ioctl(sock, SIOCSIWSCAN, &wrq);
|
ret = ioctl(sock, SIOCSIWSCAN, (unsigned long)((uintptr_t)&wrq));
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
{
|
{
|
||||||
WAPI_IOCTL_STRERROR(SIOCSIWSCAN);
|
WAPI_IOCTL_STRERROR(SIOCSIWSCAN);
|
||||||
@ -1022,7 +1022,7 @@ int wapi_scan_stat(int sock, FAR const char *ifname)
|
|||||||
wrq.u.data.length = 0;
|
wrq.u.data.length = 0;
|
||||||
|
|
||||||
strncpy(wrq.ifr_name, ifname, IFNAMSIZ);
|
strncpy(wrq.ifr_name, ifname, IFNAMSIZ);
|
||||||
if ((ret = ioctl(sock, SIOCGIWSCAN, &wrq)) < 0)
|
if ((ret = ioctl(sock, SIOCGIWSCAN, (unsigned long)((uintptr_t)&wrq))) < 0)
|
||||||
{
|
{
|
||||||
if (errno == E2BIG)
|
if (errno == E2BIG)
|
||||||
{
|
{
|
||||||
@ -1090,7 +1090,8 @@ alloc:
|
|||||||
wrq.u.data.length = buflen;
|
wrq.u.data.length = buflen;
|
||||||
wrq.u.data.flags = 0;
|
wrq.u.data.flags = 0;
|
||||||
strncpy(wrq.ifr_name, ifname, IFNAMSIZ);
|
strncpy(wrq.ifr_name, ifname, IFNAMSIZ);
|
||||||
if ((ret = ioctl(sock, SIOCGIWSCAN, &wrq)) < 0 && errno == E2BIG)
|
if ((ret = ioctl(sock, SIOCGIWSCAN, (unsigned long)((uintptr_t)&wrq))) < 0 &&
|
||||||
|
errno == E2BIG)
|
||||||
{
|
{
|
||||||
char *tmp;
|
char *tmp;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user