mirror of
https://github.com/apache/nuttx.git
synced 2026-06-06 00:14:22 +08:00
Fix conflict in ChangeLog
This commit is contained in:
@@ -7540,12 +7540,8 @@
|
|||||||
runs from ISRAM and loads an Intel HEX file into DRAM (2014-6-26).
|
runs from ISRAM and loads an Intel HEX file into DRAM (2014-6-26).
|
||||||
* configs/sama5d4-ek/nsh and scripts/: Setup the SAMA5D4-EK NSHi
|
* configs/sama5d4-ek/nsh and scripts/: Setup the SAMA5D4-EK NSHi
|
||||||
configuration to use the DRAMBOOT loader by default (2014-6-26).
|
configuration to use the DRAMBOOT loader by default (2014-6-26).
|
||||||
|
* binfmt: Various changes associated with symbol tables. Most from Pelle
|
||||||
|
Windestam (2014-6-27).
|
||||||
|
* Networkin: Add network device ioctl to access PHY registers. From Daniel
|
||||||
|
Lazlo Sitzer (2014-6-27).
|
||||||
* net/netdev: Move net/netdev*.c to net/netdev/netdev*.c (2014-6-27).
|
* net/netdev: Move net/netdev*.c to net/netdev/netdev*.c (2014-6-27).
|
||||||
* net/netdev: Move net/netdev*.c to net/netdev/netdev*.c (2014-6-27).
|
|
||||||
* net/netdev: Move net/netdev*.c to net/netdev/netdev*.c (2014-6-27).
|
|
||||||
* net/netdev: Move net/netdev*.c to net/netdev/netdev*.c (2014-6-27).
|
|
||||||
* net/netdev: Move net/netdev*.c to net/netdev/netdev*.c (2014-6-27).
|
|
||||||
* net/netdev: Move net/netdev*.c to net/netdev/netdev*.c (2014-6-27).
|
|
||||||
* net/netdev: Move net/netdev*.c to net/netdev/netdev*.c (2014-6-27).
|
|
||||||
* net/netdev: Move net/netdev*.c to net/netdev/netdev*.c (2014-6-27).
|
|
||||||
|
|
||||||
|
|||||||
@@ -407,7 +407,10 @@ any following arguments.
|
|||||||
<code>nuttx/syscall/syscall.csv</code> that describes the NuttX RTOS interface, and
|
<code>nuttx/syscall/syscall.csv</code> that describes the NuttX RTOS interface, and
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<code>nuttx/libc/lib.csv</code> that describes the NuttX C library interface.
|
<code>nuttx/libc/libc.csv</code> that describes the NuttX C library interface.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<code>nuttx/libc/math.cvs</code> that descirbes any math library.
|
||||||
</li>
|
</li>
|
||||||
</ol>
|
</ol>
|
||||||
<ul><pre>
|
<ul><pre>
|
||||||
@@ -424,7 +427,7 @@ Where:
|
|||||||
</p>
|
</p>
|
||||||
<ul><pre>
|
<ul><pre>
|
||||||
cd nuttx/tools
|
cd nuttx/tools
|
||||||
cat ../syscall/syscall.csv ../libc/lib.csv | sort >tmp.csv
|
cat ../syscall/syscall.csv ../libc/libc.csv | sort >tmp.csv
|
||||||
./mksymtab.exe tmp.csv tmp.c
|
./mksymtab.exe tmp.csv tmp.c
|
||||||
</pre></ul>
|
</pre></ul>
|
||||||
|
|
||||||
|
|||||||
@@ -665,6 +665,9 @@ static void stm32_rxdescinit(FAR struct stm32_ethmac_s *priv);
|
|||||||
|
|
||||||
/* PHY Initialization */
|
/* PHY Initialization */
|
||||||
|
|
||||||
|
#ifdef CONFIG_NETDEV_PHY_IOCTL
|
||||||
|
static int stm32_ioctl(int cmd, struct mii_ioctl_data *req);
|
||||||
|
#endif
|
||||||
static int stm32_phyread(uint16_t phydevaddr, uint16_t phyregaddr, uint16_t *value);
|
static int stm32_phyread(uint16_t phydevaddr, uint16_t phyregaddr, uint16_t *value);
|
||||||
static int stm32_phywrite(uint16_t phydevaddr, uint16_t phyregaddr, uint16_t value);
|
static int stm32_phywrite(uint16_t phydevaddr, uint16_t phyregaddr, uint16_t value);
|
||||||
#ifdef CONFIG_ETH0_PHY_DM9161
|
#ifdef CONFIG_ETH0_PHY_DM9161
|
||||||
@@ -2475,6 +2478,63 @@ static void stm32_rxdescinit(FAR struct stm32_ethmac_s *priv)
|
|||||||
stm32_putreg((uint32_t)priv->rxtable, STM32_ETH_DMARDLAR);
|
stm32_putreg((uint32_t)priv->rxtable, STM32_ETH_DMARDLAR);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* Function: stm32_ioctl
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
* Executes the SIOCxMIIxxx command and responds using the request struct
|
||||||
|
* that must be provided as its 2nd parameter.
|
||||||
|
*
|
||||||
|
* When called with SIOCGMIIPHY it will get the PHY address for the device
|
||||||
|
* and write it to the req->phy_id field of the request struct.
|
||||||
|
*
|
||||||
|
* When called with SIOCGMIIREG it will read a register of the PHY that is
|
||||||
|
* specified using the req->reg_no struct field and then write its output
|
||||||
|
* to the req->val_out field.
|
||||||
|
*
|
||||||
|
* When called with SIOCSMIIREG it will write to a register of the PHY that
|
||||||
|
* is specified using the req->reg_no struct field and use req->val_in as
|
||||||
|
* its input.
|
||||||
|
*
|
||||||
|
* Parameters:
|
||||||
|
* cmd - SIOCxMIIxxx command code
|
||||||
|
* req - request structure also used to return values
|
||||||
|
*
|
||||||
|
* Returned Value: Negated errno on failure.
|
||||||
|
*
|
||||||
|
* Assumptions:
|
||||||
|
*
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
#ifdef CONFIG_NETDEV_PHY_IOCTL
|
||||||
|
static int stm32_ioctl(int cmd, struct mii_ioctl_data *req)
|
||||||
|
{
|
||||||
|
int ret = -ENOTTY;
|
||||||
|
|
||||||
|
switch (cmd)
|
||||||
|
{
|
||||||
|
case SIOCGMIIPHY: /* Get MII PHY address */
|
||||||
|
req->phy_id = CONFIG_STM32_PHYADDR;
|
||||||
|
ret = OK;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SIOCGMIIREG: /* Get register from MII PHY */
|
||||||
|
ret = stm32_phyread(req->phy_id, req->reg_num, &req->val_out);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SIOCSMIIREG: /* Set register in MII PHY */
|
||||||
|
ret = stm32_phywrite(req->phy_id, req->reg_num, req->val_in);
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
ret = -EINVAL;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
#endif /* CONFIG_NETDEV_PHY_IOCTL */
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Function: stm32_phyread
|
* Function: stm32_phyread
|
||||||
*
|
*
|
||||||
@@ -3460,6 +3520,9 @@ int stm32_ethinitialize(int intf)
|
|||||||
#ifdef CONFIG_NET_IGMP
|
#ifdef CONFIG_NET_IGMP
|
||||||
priv->dev.d_addmac = stm32_addmac; /* Add multicast MAC address */
|
priv->dev.d_addmac = stm32_addmac; /* Add multicast MAC address */
|
||||||
priv->dev.d_rmmac = stm32_rmmac; /* Remove multicast MAC address */
|
priv->dev.d_rmmac = stm32_rmmac; /* Remove multicast MAC address */
|
||||||
|
#endif
|
||||||
|
#ifdef CONFIG_NETDEV_PHY_IOCTL
|
||||||
|
priv->dev.d_ioctl = stm32_ioctl; /* Support PHY ioctl() calls */
|
||||||
#endif
|
#endif
|
||||||
priv->dev.d_private = (void*)g_stm32ethmac; /* Used to recover private state from dev */
|
priv->dev.d_private = (void*)g_stm32ethmac; /* Used to recover private state from dev */
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -684,7 +684,7 @@ There are also common-separated value (CSV) values in the source try that
|
|||||||
provide information about symbols. In particular:
|
provide information about symbols. In particular:
|
||||||
|
|
||||||
nuttx/syscall/syscall.csv - Describes the NuttX RTOS interface, and
|
nuttx/syscall/syscall.csv - Describes the NuttX RTOS interface, and
|
||||||
nuttx/lib/lib.csv - Describes the NuttX C library interface.
|
nuttx/lib/libc.csv - Describes the NuttX C library interface.
|
||||||
|
|
||||||
There is a tool at nuttx/tools/mksymtab that will use these CSV files as
|
There is a tool at nuttx/tools/mksymtab that will use these CSV files as
|
||||||
input to generate a generic symbol table. See nuttx/tools/README.txt for
|
input to generate a generic symbol table. See nuttx/tools/README.txt for
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ config SAMA5D4EK_DRAM_MAIN
|
|||||||
by SAMA5D4EK_DRAM_START.
|
by SAMA5D4EK_DRAM_START.
|
||||||
|
|
||||||
NOTE: If you use this boot loader, then your program must be built at
|
NOTE: If you use this boot loader, then your program must be built at
|
||||||
origin 0x2000:0000, not at 0x2100:0000 as is customary with U-Boot.
|
origin 0x2000:0000, not at 0x2000:8000 as is customary with U-Boot.
|
||||||
|
|
||||||
config SAMA5D4EK_DRAM_START
|
config SAMA5D4EK_DRAM_START
|
||||||
bool "Start DRAM program"
|
bool "Start DRAM program"
|
||||||
@@ -71,7 +71,7 @@ config SAMA5D4EK_DRAM_BOOT
|
|||||||
Select this option if you are going to boot using the sdram_main
|
Select this option if you are going to boot using the sdram_main
|
||||||
bootloader (created with SAMA5D4EK_DRAM_MAIN=y). This selection
|
bootloader (created with SAMA5D4EK_DRAM_MAIN=y). This selection
|
||||||
will simply origin your program at 0x2000:0000 as required by the
|
will simply origin your program at 0x2000:0000 as required by the
|
||||||
sdram_main bootloader (vs. 0x2100:0000 as required by U-Boot).
|
sdram_main bootloader (vs. 0x2000:8000 as required by U-Boot).
|
||||||
|
|
||||||
config SAMA5D4EK_NAND_AUTOMOUNT
|
config SAMA5D4EK_NAND_AUTOMOUNT
|
||||||
bool "NAND FLASH auto-mount"
|
bool "NAND FLASH auto-mount"
|
||||||
|
|||||||
+1
-1
@@ -66,7 +66,7 @@ namespace std
|
|||||||
using ::rmdir;
|
using ::rmdir;
|
||||||
using ::getopt;
|
using ::getopt;
|
||||||
using ::getoptargp;
|
using ::getoptargp;
|
||||||
using ::getopindgp;
|
using ::getoptindp;
|
||||||
using ::getoptoptp;
|
using ::getoptoptp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+8
-7
@@ -165,7 +165,8 @@ typedef void *imaxdiv_t; /* Dummy type since imaxdiv is not yet supported */
|
|||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
#define EXTERN extern "C"
|
#define EXTERN extern "C"
|
||||||
extern "C" {
|
extern "C"
|
||||||
|
{
|
||||||
#else
|
#else
|
||||||
#define EXTERN extern
|
#define EXTERN extern
|
||||||
#endif
|
#endif
|
||||||
@@ -174,13 +175,13 @@ extern "C" {
|
|||||||
* macros. Function prototypes shall be provided."
|
* macros. Function prototypes shall be provided."
|
||||||
*/
|
*/
|
||||||
|
|
||||||
EXTERN intmax_t imaxabs(intmax_t);
|
intmax_t imaxabs(intmax_t);
|
||||||
EXTERN imaxdiv_t imaxdiv(intmax_t, intmax_t);
|
imaxdiv_t imaxdiv(intmax_t, intmax_t);
|
||||||
EXTERN intmax_t strtoimax(const char *, char **, int);
|
intmax_t strtoimax(const char *, char **, int);
|
||||||
EXTERN uintmax_t strtoumax(const char *, char **, int);
|
uintmax_t strtoumax(const char *, char **, int);
|
||||||
|
|
||||||
EXTERN intmax_t wcstoimax(const wchar_t *, wchar_t **, int);
|
intmax_t wcstoimax(const wchar_t *, wchar_t **, int);
|
||||||
EXTERN uintmax_t wcstoumax(const wchar_t *, wchar_t **, int);
|
uintmax_t wcstoumax(const wchar_t *, wchar_t **, int);
|
||||||
|
|
||||||
#undef EXTERN
|
#undef EXTERN
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|||||||
+26
-1
@@ -57,11 +57,22 @@
|
|||||||
#define IFF_RUNNING (1 << 2)
|
#define IFF_RUNNING (1 << 2)
|
||||||
#define IFF_NOARP (1 << 7)
|
#define IFF_NOARP (1 << 7)
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************************************
|
/*******************************************************************************************
|
||||||
* Public Type Definitions
|
* Public Type Definitions
|
||||||
*******************************************************************************************/
|
*******************************************************************************************/
|
||||||
|
|
||||||
|
/* Part of the I/F request used to read from or write to the MII/PHY management
|
||||||
|
* interface when SIOCxMIIREG ioctl was called.
|
||||||
|
*/
|
||||||
|
|
||||||
|
struct mii_ioctl_data
|
||||||
|
{
|
||||||
|
uint16_t phy_id; /* PHY device address */
|
||||||
|
uint16_t reg_num; /* PHY register address */
|
||||||
|
uint16_t val_in; /* PHY input data */
|
||||||
|
uint16_t val_out; /* PHY output data */
|
||||||
|
};
|
||||||
|
|
||||||
/* This is the newer form if the I/F request structure that can be used with both IPv4
|
/* This is the newer form if the I/F request structure that can be used with both IPv4
|
||||||
* and IPv6.
|
* and IPv6.
|
||||||
*/
|
*/
|
||||||
@@ -79,6 +90,7 @@ struct lifreq
|
|||||||
int lifru_count; /* Number of devices */
|
int lifru_count; /* Number of devices */
|
||||||
int lifru_mtu; /* MTU size */
|
int lifru_mtu; /* MTU size */
|
||||||
uint8_t lifru_flags; /* Interface flags */
|
uint8_t lifru_flags; /* Interface flags */
|
||||||
|
struct mii_ioctl_data lifru_mii_data; /* MII request data */
|
||||||
} lifr_ifru;
|
} lifr_ifru;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -90,6 +102,10 @@ struct lifreq
|
|||||||
#define lifr_mtu lifr_ifru.lifru_mtu /* MTU */
|
#define lifr_mtu lifr_ifru.lifru_mtu /* MTU */
|
||||||
#define lifr_count lifr_ifru.lifru_count /* Number of devices */
|
#define lifr_count lifr_ifru.lifru_count /* Number of devices */
|
||||||
#define lifr_flags lifr_ifru.lifru_flags /* interface flags */
|
#define lifr_flags lifr_ifru.lifru_flags /* interface flags */
|
||||||
|
#define lifr_mii_phy_id lifr_ifru.lifru_mii_data.phy_id /* PHY device address */
|
||||||
|
#define lifr_mii_reg_num lifr_ifru.lifru_mii_data.reg_num /* PHY register address */
|
||||||
|
#define lifr_mii_val_in lifr_ifru.lifru_mii_data.val_in /* PHY input data */
|
||||||
|
#define lifr_mii_val_out lifr_ifru.lifru_mii_data.val_out /* PHY output data */
|
||||||
|
|
||||||
/* This is the older I/F request that should only be used with IPv4. However, since
|
/* This is the older I/F request that should only be used with IPv4. However, since
|
||||||
* NuttX only supports IPv4 or 6 (not both), we can force the older structure to
|
* NuttX only supports IPv4 or 6 (not both), we can force the older structure to
|
||||||
@@ -110,6 +126,7 @@ struct ifreq
|
|||||||
int ifru_count; /* Number of devices */
|
int ifru_count; /* Number of devices */
|
||||||
int ifru_mtu; /* MTU size */
|
int ifru_mtu; /* MTU size */
|
||||||
uint8_t ifru_flags; /* Interface flags */
|
uint8_t ifru_flags; /* Interface flags */
|
||||||
|
struct mii_ioctl_data ifru_mii_data; /* MII request data */
|
||||||
} ifr_ifru;
|
} ifr_ifru;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -121,6 +138,10 @@ struct ifreq
|
|||||||
#define ifr_mtu ifr_ifru.ifru_mtu /* MTU */
|
#define ifr_mtu ifr_ifru.ifru_mtu /* MTU */
|
||||||
#define ifr_count ifr_ifru.ifru_count /* Number of devices */
|
#define ifr_count ifr_ifru.ifru_count /* Number of devices */
|
||||||
#define ifr_flags ifr_ifru.ifru_flags /* interface flags */
|
#define ifr_flags ifr_ifru.ifru_flags /* interface flags */
|
||||||
|
#define ifr_mii_phy_id ifr_ifru.ifru_mii_data.phy_id /* PHY device address */
|
||||||
|
#define ifr_mii_reg_num ifr_ifru.ifru_mii_data.reg_num /* PHY register address */
|
||||||
|
#define ifr_mii_val_in ifr_ifru.ifru_mii_data.val_in /* PHY input data */
|
||||||
|
#define ifr_mii_val_out ifr_ifru.ifru_mii_data.val_out /* PHY output data */
|
||||||
|
|
||||||
#else /* CONFIG_NET_IPv6 */
|
#else /* CONFIG_NET_IPv6 */
|
||||||
|
|
||||||
@@ -134,6 +155,10 @@ struct ifreq
|
|||||||
#define ifr_mtu lifr_ifru.lifru_mtu /* MTU */
|
#define ifr_mtu lifr_ifru.lifru_mtu /* MTU */
|
||||||
#define ifr_count lifr_ifru.lifru_count /* Number of devices */
|
#define ifr_count lifr_ifru.lifru_count /* Number of devices */
|
||||||
#define ifr_flags lifr_ifru.lifru_flags /* interface flags */
|
#define ifr_flags lifr_ifru.lifru_flags /* interface flags */
|
||||||
|
#define ifr_mii_phy_id lifr_ifru.lifru_mii_data.phy_id /* PHY device address */
|
||||||
|
#define ifr_mii_reg_num lifr_ifru.lifru_mii_data.reg_num /* PHY register address */
|
||||||
|
#define ifr_mii_val_in lifr_ifru.lifru_mii_data.val_in /* PHY input data */
|
||||||
|
#define ifr_mii_val_out lifr_ifru.lifru_mii_data.val_out /* PHY output data */
|
||||||
|
|
||||||
#endif /* CONFIG_NET_IPv6 */
|
#endif /* CONFIG_NET_IPv6 */
|
||||||
|
|
||||||
|
|||||||
@@ -150,6 +150,14 @@ double round (double x);
|
|||||||
long double roundl(long double x);
|
long double roundl(long double x);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
float rintf(float x); /* Not implemented */
|
||||||
|
#if CONFIG_HAVE_DOUBLE
|
||||||
|
double_t rint(double_t x);
|
||||||
|
#endif
|
||||||
|
#ifdef CONFIG_HAVE_LONG_DOUBLE
|
||||||
|
long double rintl(long double x); /* Not implemented */
|
||||||
|
#endif
|
||||||
|
|
||||||
float fabsf (float x);
|
float fabsf (float x);
|
||||||
#if CONFIG_HAVE_DOUBLE
|
#if CONFIG_HAVE_DOUBLE
|
||||||
double fabs (double x);
|
double fabs (double x);
|
||||||
|
|||||||
@@ -160,6 +160,12 @@
|
|||||||
|
|
||||||
#define SIOCSIWPMKSA _SIOC(0x0041) /* PMKSA cache operation */
|
#define SIOCSIWPMKSA _SIOC(0x0041) /* PMKSA cache operation */
|
||||||
|
|
||||||
|
/* MDIO/MCD *****************************************************************/
|
||||||
|
|
||||||
|
#define SIOCGMIIPHY _SIOC(0x0042) /* Get address of MII PHY in use */
|
||||||
|
#define SIOCGMIIREG _SIOC(0x0043) /* Get a MII register via MDIO */
|
||||||
|
#define SIOCSMIIREG _SIOC(0x0044) /* Set a MII register via MDIO */
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Type Definitions
|
* Type Definitions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|||||||
@@ -187,6 +187,9 @@ struct uip_driver_s
|
|||||||
int (*d_addmac)(struct uip_driver_s *dev, FAR const uint8_t *mac);
|
int (*d_addmac)(struct uip_driver_s *dev, FAR const uint8_t *mac);
|
||||||
int (*d_rmmac)(struct uip_driver_s *dev, FAR const uint8_t *mac);
|
int (*d_rmmac)(struct uip_driver_s *dev, FAR const uint8_t *mac);
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef CONFIG_NETDEV_PHY_IOCTL
|
||||||
|
int (*d_ioctl)(int cmd, struct mii_ioctl_data *req);
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Drivers may attached device-specific, private information */
|
/* Drivers may attached device-specific, private information */
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -119,7 +119,7 @@ EXTERN int optind; /* Index into argv */
|
|||||||
EXTERN int optopt; /* unrecognized option character */
|
EXTERN int optopt; /* unrecognized option character */
|
||||||
#else
|
#else
|
||||||
# define optarg (*(getoptargp()))
|
# define optarg (*(getoptargp()))
|
||||||
# define optind (*(getopindgp()))
|
# define optind (*(getoptindp()))
|
||||||
# define optopt (*(getoptoptp()))
|
# define optopt (*(getoptoptp()))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -183,7 +183,7 @@ int getopt(int argc, FAR char *const argv[], FAR const char *optstring);
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
FAR char **getoptargp(void); /* Optional argument following option */
|
FAR char **getoptargp(void); /* Optional argument following option */
|
||||||
int *getopindgp(void); /* Index into argv */
|
int *getoptindp(void); /* Index into argv */
|
||||||
int *getoptoptp(void); /* unrecognized option character */
|
int *getoptoptp(void); /* unrecognized option character */
|
||||||
|
|
||||||
#undef EXTERN
|
#undef EXTERN
|
||||||
|
|||||||
+1
-1
@@ -52,7 +52,7 @@ Library Database
|
|||||||
|
|
||||||
Information about functions available in the NuttX C library information is
|
Information about functions available in the NuttX C library information is
|
||||||
maintained in a database. That "database" is implemented as a simple comma-
|
maintained in a database. That "database" is implemented as a simple comma-
|
||||||
separated-value file, lib.csv. Most spreadsheets programs will accept this
|
separated-value file, libc.csv. Most spreadsheets programs will accept this
|
||||||
format and can be used to maintain the library database.
|
format and can be used to maintain the library database.
|
||||||
|
|
||||||
This library database will (eventually) be used to generate symbol library
|
This library database will (eventually) be used to generate symbol library
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
|
|
||||||
# Add the fixed precision math C files to the build
|
# Add the fixed precision math C files to the build
|
||||||
|
|
||||||
CSRCS += lib_rint.c lib_fixedmath.c lib_b16sin.c lib_b16cos.c lib_b16atan2.c
|
CSRCS += lib_fixedmath.c lib_b16sin.c lib_b16cos.c lib_b16atan2.c
|
||||||
|
|
||||||
# Add the fixed precision math directory to the build
|
# Add the fixed precision math directory to the build
|
||||||
|
|
||||||
|
|||||||
@@ -51,7 +51,7 @@
|
|||||||
"gmtime_r","time.h","","FAR struct tm","FAR const time_t *","FAR struct tm *"
|
"gmtime_r","time.h","","FAR struct tm","FAR const time_t *","FAR struct tm *"
|
||||||
"htonl","arpa/inet.h","","uint32_t","uint32_t"
|
"htonl","arpa/inet.h","","uint32_t","uint32_t"
|
||||||
"htons","arpa/inet.h","","uint16_t","uint16_t"
|
"htons","arpa/inet.h","","uint16_t","uint16_t"
|
||||||
"imaxabs","stdlib.h","","intmax_t","intmax_t"
|
"imaxabs","inttypes.h","","intmax_t","intmax_t"
|
||||||
"inet_addr","arpa/inet.h","","in_addr_t","FAR const char "
|
"inet_addr","arpa/inet.h","","in_addr_t","FAR const char "
|
||||||
"inet_ntoa","arpa/inet.h","!defined(CONFIG_NET_IPv6) && defined(CONFIG_CAN_PASS_STRUCTS)","FAR char","struct in_addr"
|
"inet_ntoa","arpa/inet.h","!defined(CONFIG_NET_IPv6) && defined(CONFIG_CAN_PASS_STRUCTS)","FAR char","struct in_addr"
|
||||||
"inet_ntop","arpa/inet.h","","FAR const char","int","FAR const void *","FAR char *","socklen_t"
|
"inet_ntop","arpa/inet.h","","FAR const char","int","FAR const void *","FAR char *","socklen_t"
|
||||||
@@ -62,7 +62,7 @@
|
|||||||
"lldbg","debug.h","!defined(CONFIG_CPP_HAVE_VARARGS) && defined(CONFIG_DEBUG) && defined(CONFIG_ARCH_LOWPUTC)","int","const char *","..."
|
"lldbg","debug.h","!defined(CONFIG_CPP_HAVE_VARARGS) && defined(CONFIG_DEBUG) && defined(CONFIG_ARCH_LOWPUTC)","int","const char *","..."
|
||||||
"llvdbg","debug.h","!defined(CONFIG_CPP_HAVE_VARARGS) && defined(CONFIG_DEBUG) && defined(CONFIG_DEBUG_VERBOSE) && defined(CONFIG_ARCH_LOWPUTC)","int","const char *","..."
|
"llvdbg","debug.h","!defined(CONFIG_CPP_HAVE_VARARGS) && defined(CONFIG_DEBUG) && defined(CONFIG_DEBUG_VERBOSE) && defined(CONFIG_ARCH_LOWPUTC)","int","const char *","..."
|
||||||
"lowsyslog","syslog.h","","int","FAR const char *","..."
|
"lowsyslog","syslog.h","","int","FAR const char *","..."
|
||||||
"match","","","int","const char *","const char *"
|
"match","nuttx/regex.h","","int","const char *","const char *"
|
||||||
"memccpy","string.h","","FAR void","FAR void *","FAR const void *","int c","size_t"
|
"memccpy","string.h","","FAR void","FAR void *","FAR const void *","int c","size_t"
|
||||||
"memchr","string.h","","FAR void","FAR const void *","int c","size_t"
|
"memchr","string.h","","FAR void","FAR const void *","int c","size_t"
|
||||||
"memcmp","string.h","","int","FAR const void *","FAR const void *","size_t"
|
"memcmp","string.h","","int","FAR const void *","FAR const void *","size_t"
|
||||||
@@ -102,7 +102,6 @@
|
|||||||
"qsort","stdlib.h","","void","void *","size_t","size_t","int(*)(const void *","const void *)"
|
"qsort","stdlib.h","","void","void *","size_t","size_t","int(*)(const void *","const void *)"
|
||||||
"rand","stdlib.h","","int"
|
"rand","stdlib.h","","int"
|
||||||
"readdir_r","dirent.h","CONFIG_NFILE_DESCRIPTORS > 0","int","FAR DIR *","FAR struct dirent *","FAR struct dirent **"
|
"readdir_r","dirent.h","CONFIG_NFILE_DESCRIPTORS > 0","int","FAR DIR *","FAR struct dirent *","FAR struct dirent **"
|
||||||
"rint","","","double_t","double_t"
|
|
||||||
"sched_get_priority_max","sched.h","","int","int"
|
"sched_get_priority_max","sched.h","","int","int"
|
||||||
"sched_get_priority_min","sched.h","","int","int"
|
"sched_get_priority_min","sched.h","","int","int"
|
||||||
"sem_getvalue","semaphore.h","","int","FAR sem_t *","FAR int *"
|
"sem_getvalue","semaphore.h","","int","FAR sem_t *","FAR int *"
|
||||||
|
@@ -0,0 +1,73 @@
|
|||||||
|
"acos","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
|
||||||
|
"acosf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
|
||||||
|
"acosl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
|
||||||
|
"asin","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
|
||||||
|
"asinf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
|
||||||
|
"asinl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
|
||||||
|
"atan","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
|
||||||
|
"atan2","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double",double"
|
||||||
|
"atan2f","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float",float"
|
||||||
|
"atan2l","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double","long double"
|
||||||
|
"atanf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
|
||||||
|
"atanl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
|
||||||
|
"ceil","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
|
||||||
|
"ceilf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
|
||||||
|
"ceill","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
|
||||||
|
"cos","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
|
||||||
|
"cosf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
|
||||||
|
"cosh","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
|
||||||
|
"coshf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
|
||||||
|
"coshl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
|
||||||
|
"cosl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
|
||||||
|
"exp","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
|
||||||
|
"expf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
|
||||||
|
"expl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
|
||||||
|
"fabs","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
|
||||||
|
"fabsf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
|
||||||
|
"fabsl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
|
||||||
|
"floor","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
|
||||||
|
"floorf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
|
||||||
|
"floorl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
|
||||||
|
"fmod","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double","double"
|
||||||
|
"fmodf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float","float"
|
||||||
|
"fmodl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double","long double"
|
||||||
|
"frexp","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double","int *"
|
||||||
|
"frexpf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float","int *"
|
||||||
|
"frexpl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double",int *"
|
||||||
|
"ldexp","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double",int"
|
||||||
|
"ldexpf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float",int"
|
||||||
|
"ldexpl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double","int"
|
||||||
|
"log","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
|
||||||
|
"log10","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
|
||||||
|
"log10f","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
|
||||||
|
"log10l","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
|
||||||
|
"log2","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
|
||||||
|
"log2f","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
|
||||||
|
"log2l","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
|
||||||
|
"logf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
|
||||||
|
"logl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
|
||||||
|
"modf","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double","double *"
|
||||||
|
"modff","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float","float *"
|
||||||
|
"modfl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double","long double *"
|
||||||
|
"pow","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double","double"
|
||||||
|
"powf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float","float"
|
||||||
|
"powl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double","long double"
|
||||||
|
"rint","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double_t","double_t"
|
||||||
|
"round","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
|
||||||
|
"roundf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
|
||||||
|
"roundl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
|
||||||
|
"sin","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
|
||||||
|
"sinf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
|
||||||
|
"sinh","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
|
||||||
|
"sinhf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
|
||||||
|
"sinhl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
|
||||||
|
"sinl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
|
||||||
|
"sqrt","math.hdefined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","",""
|
||||||
|
"sqrtf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
|
||||||
|
"sqrtl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
|
||||||
|
"tan","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
|
||||||
|
"tanf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
|
||||||
|
"tanh","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
|
||||||
|
"tanhf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
|
||||||
|
"tanhl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
|
||||||
|
"tanl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
|
||||||
|
Can't render this file because it contains an unexpected character in line 8 and column 127.
|
+1
-1
@@ -45,7 +45,7 @@ CSRCS += lib_roundf.c lib_sinf.c lib_sinhf.c lib_sqrtf.c lib_tanf.c lib_tanhf.c
|
|||||||
CSRCS += lib_acos.c lib_asin.c lib_atan.c lib_atan2.c lib_ceil.c lib_cos.c
|
CSRCS += lib_acos.c lib_asin.c lib_atan.c lib_atan2.c lib_ceil.c lib_cos.c
|
||||||
CSRCS += lib_cosh.c lib_exp.c lib_fabs.c lib_floor.c lib_fmod.c lib_frexp.c
|
CSRCS += lib_cosh.c lib_exp.c lib_fabs.c lib_floor.c lib_fmod.c lib_frexp.c
|
||||||
CSRCS += lib_ldexp.c lib_log.c lib_log10.c lib_log2.c lib_modf.c lib_pow.c
|
CSRCS += lib_ldexp.c lib_log.c lib_log10.c lib_log2.c lib_modf.c lib_pow.c
|
||||||
CSRCS += lib_round.c lib_sin.c lib_sinh.c lib_sqrt.c lib_tan.c lib_tanh.c
|
CSRCS += lib_rint.c lib_round.c lib_sin.c lib_sinh.c lib_sqrt.c lib_tan.c lib_tanh.c
|
||||||
|
|
||||||
CSRCS += lib_acosl.c lib_asinl.c lib_atan2l.c lib_atanl.c lib_ceill.c lib_cosl.c
|
CSRCS += lib_acosl.c lib_asinl.c lib_atan2l.c lib_atanl.c lib_ceill.c lib_cosl.c
|
||||||
CSRCS += lib_coshl.c lib_expl.c lib_fabsl.c lib_floorl.c lib_fmodl.c lib_frexpl.c
|
CSRCS += lib_coshl.c lib_expl.c lib_fabsl.c lib_floorl.c lib_fmodl.c lib_frexpl.c
|
||||||
|
|||||||
@@ -42,8 +42,10 @@
|
|||||||
************************************************************/
|
************************************************************/
|
||||||
|
|
||||||
#include <nuttx/config.h>
|
#include <nuttx/config.h>
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#include <math.h>
|
||||||
|
|
||||||
/************************************************************
|
/************************************************************
|
||||||
* Definitions
|
* Definitions
|
||||||
@@ -73,6 +73,12 @@ config NET_SOCKOPTS
|
|||||||
---help---
|
---help---
|
||||||
Enable or disable support for socket options
|
Enable or disable support for socket options
|
||||||
|
|
||||||
|
config NETDEV_PHY_IOCTL
|
||||||
|
bool "Enable PHY ioctl()"
|
||||||
|
default n
|
||||||
|
---help---
|
||||||
|
Enable support for ioctl() commands to access PHY registers"
|
||||||
|
|
||||||
if NET_SOCKOPTS
|
if NET_SOCKOPTS
|
||||||
|
|
||||||
config NET_SOLINGER
|
config NET_SOLINGER
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
#
|
||||||
|
# For a description of the syntax of this configuration file,
|
||||||
|
# see misc/tools/kconfig-language.txt.
|
||||||
|
#
|
||||||
|
|
||||||
|
#menu "Network Device Operations"
|
||||||
|
|
||||||
|
#endmenu # Network Device Operations
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
############################################################################
|
||||||
|
# net/netdev/Make.defs
|
||||||
|
#
|
||||||
|
# Copyright (C) 2014 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.
|
||||||
|
#
|
||||||
|
############################################################################
|
||||||
|
|
||||||
|
ifeq ($(CONFIG_NET),y)
|
||||||
|
|
||||||
|
# Support for operations on network devices
|
||||||
|
|
||||||
|
NETDEV_CSRCS += netdev_register.c netdev_ioctl.c net_poll.c netdev_txnotify.c
|
||||||
|
NETDEV_CSRCS += netdev_findbyname.c netdev_findbyaddr.c netdev_count.c
|
||||||
|
NETDEV_CSRCS += netdev_foreach.c netdev_unregister.c netdev_sem.c
|
||||||
|
NETDEV_CSRCS += netdev_carrier.c
|
||||||
|
|
||||||
|
ifeq ($(CONFIG_NET_RXAVAIL),y)
|
||||||
|
NETDEV_CSRCS += netdev_rxnotify.c
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Include netdev build support
|
||||||
|
|
||||||
|
DEPPATH += --dep-path netdev
|
||||||
|
VPATH += :netdev
|
||||||
|
|
||||||
|
endif # CONFIG_NET
|
||||||
@@ -0,0 +1,125 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
* net/netdev/netdev.h
|
||||||
|
*
|
||||||
|
* Copyright (C) 2014 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.
|
||||||
|
*
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
#ifndef __NET_NETDEV_NETDEV_H
|
||||||
|
#define __NET_NETDEV_NETDEV_H
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* Included Files
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
#include <nuttx/config.h>
|
||||||
|
|
||||||
|
#include <sys/types.h>
|
||||||
|
|
||||||
|
#include <nuttx/net/uip.h>
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* Pre-processor Definitions
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* Public Type Definitions
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* Public Data
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
#undef EXTERN
|
||||||
|
#if defined(__cplusplus)
|
||||||
|
#define EXTERN extern "C"
|
||||||
|
extern "C"
|
||||||
|
{
|
||||||
|
#else
|
||||||
|
#define EXTERN extern
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* List of registered Ethernet device drivers */
|
||||||
|
|
||||||
|
#if CONFIG_NSOCKET_DESCRIPTORS > 0
|
||||||
|
EXTERN struct uip_driver_s *g_netdevices;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* Public Function Prototypes
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
/* netdev_register.c *********************************************************/
|
||||||
|
|
||||||
|
#if CONFIG_NSOCKET_DESCRIPTORS > 0
|
||||||
|
void netdev_seminit(void);
|
||||||
|
void netdev_semtake(void);
|
||||||
|
void netdev_semgive(void);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* netdev_findbyname.c *******************************************************/
|
||||||
|
|
||||||
|
#if CONFIG_NSOCKET_DESCRIPTORS > 0
|
||||||
|
FAR struct uip_driver_s *netdev_findbyname(FAR const char *ifname);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* netdev_findbyaddr.c *******************************************************/
|
||||||
|
|
||||||
|
#if CONFIG_NSOCKET_DESCRIPTORS > 0
|
||||||
|
FAR struct uip_driver_s *netdev_findbyaddr(const uip_ipaddr_t addr);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* netdev_txnotify.c *********************************************************/
|
||||||
|
|
||||||
|
#if CONFIG_NSOCKET_DESCRIPTORS > 0
|
||||||
|
void netdev_txnotify(const uip_ipaddr_t addr);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* netdev_rxnotify.c *********************************************************/
|
||||||
|
|
||||||
|
#if CONFIG_NSOCKET_DESCRIPTORS > 0 && defined(CONFIG_NET_RXAVAIL)
|
||||||
|
void netdev_rxnotify(const uip_ipaddr_t addr);
|
||||||
|
#else
|
||||||
|
# define netdev_rxnotify(addr)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* net_count.c ***************************************************************/
|
||||||
|
|
||||||
|
#if CONFIG_NSOCKET_DESCRIPTORS > 0
|
||||||
|
int netdev_count(void);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#undef EXTERN
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* __NET_NETDEV_NETDEV_H */
|
||||||
@@ -423,6 +423,21 @@ static int netdev_ifrioctl(FAR struct socket *psock, int cmd,
|
|||||||
# error "IOCTL Commands not implemented"
|
# error "IOCTL Commands not implemented"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_NETDEV_PHY_IOCTL
|
||||||
|
case SIOCGMIIPHY: /* Get address of MII PHY in use */
|
||||||
|
case SIOCGMIIREG: /* Get MII register via MDIO */
|
||||||
|
case SIOCSMIIREG: /* Set MII register via MDIO */
|
||||||
|
{
|
||||||
|
dev = netdev_ifrdev(req);
|
||||||
|
if (dev && dev->d_ioctl)
|
||||||
|
{
|
||||||
|
struct mii_ioctl_data *mii_data = &req->ifr_ifru.ifru_mii_data;
|
||||||
|
ret = dev->d_ioctl(cmd, mii_data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
|
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
ret = -ENOTTY;
|
ret = -ENOTTY;
|
||||||
|
|||||||
+1
-1
@@ -207,7 +207,7 @@ mksymtab.c, cvsparser.c, and cvsparser.h
|
|||||||
Example:
|
Example:
|
||||||
|
|
||||||
cd nuttx/tools
|
cd nuttx/tools
|
||||||
cat ../syscall/syscall.csv ../lib/lib.csv | sort >tmp.csv
|
cat ../syscall/syscall.csv ../lib/libc.csv | sort >tmp.csv
|
||||||
./mksymtab.exe tmp.csv tmp.c
|
./mksymtab.exe tmp.csv tmp.c
|
||||||
|
|
||||||
mkctags.sh
|
mkctags.sh
|
||||||
|
|||||||
@@ -222,6 +222,7 @@ int main(int argc, char **argv, char **envp)
|
|||||||
|
|
||||||
fprintf(outstream, "/* %s: Auto-generated symbol table. Do not edit */\n\n", symtab);
|
fprintf(outstream, "/* %s: Auto-generated symbol table. Do not edit */\n\n", symtab);
|
||||||
fprintf(outstream, "#include <nuttx/config.h>\n");
|
fprintf(outstream, "#include <nuttx/config.h>\n");
|
||||||
|
fprintf(outstream, "#include <nuttx/compiler.h>\n");
|
||||||
fprintf(outstream, "#include <nuttx/binfmt/symtab.h>\n\n");
|
fprintf(outstream, "#include <nuttx/binfmt/symtab.h>\n\n");
|
||||||
|
|
||||||
/* Output all of the require header files */
|
/* Output all of the require header files */
|
||||||
|
|||||||
Reference in New Issue
Block a user