Commit Graph

2019 Commits

Author SHA1 Message Date
Gregory Nutt
abbaa2f565 Some typos noted by David Sidrane 2015-02-23 11:49:02 -06:00
Gregory Nutt
63f88fc55f Add some comments 2015-02-19 11:47:34 -06:00
Gregory Nutt
b478c11b85 Back out definition of mbstate_t. That is a mistake 2015-02-19 09:56:53 -06:00
Gregory Nutt
8bd9203d49 Add mbstate_t to wchar.h and cwchar 2015-02-19 09:21:35 -06:00
Gregory Nutt
5b1514cc9b Add an empty cwchar file 2015-02-19 06:32:10 -06:00
Gregory Nutt
2732da28a3 C++: Remove 'using ::timeval' from ctime. struct timeval was recently move to sys/time.h where it belongs. Now there are problems when it is referenced in ctime. Fixed by just removing it from ctime. Is that correct? or should ctime include sys/time.h? Noted by David Sidrane 2015-02-18 20:51:11 -06:00
Gregory Nutt
63ab39b274 VFS: The inode unlink method should not be support if operations on the root pseudo-filesystem are disabled. 2015-02-18 09:34:58 -06:00
Gregory Nutt
e2336a07bb The RTC ioctl() method is now a configuration option 2015-02-18 08:23:10 -06:00
Gregory Nutt
f94e601981 Add an IOCTL method to the RTC interface 2015-02-18 08:05:31 -06:00
Gregory Nutt
60bdc27d25 Fix a couple of typos in recent commit. Found by David Sidrane 2015-02-17 19:21:07 -06:00
Gregory Nutt
2f55a071d3 Ooops... accidentally backed out a good change. Must have had the wrong version in the editor 2015-02-17 12:47:48 -06:00
Gregory Nutt
ee517f428d Fix a typo: include vs incldue 2015-02-17 12:44:51 -06:00
Gregory Nutt
17c381c799 include, not incldue 2015-02-17 09:56:43 -06:00
Gregory Nutt
4e0885f5bc Add a mostly-commented-out version of the standard netdb.h header file 2015-02-17 08:27:12 -06:00
Gregory Nutt
2176ed38ec Add support for the restrict keyword 2015-02-17 08:24:20 -06:00
Gregory Nutt
db741dd695 Move some useful internal logic from recvfrom.c and udp_callback.c and put them in ip.h where they can be used more generally 2015-02-17 07:37:44 -06:00
Gregory Nutt
686dcbb79c Move some useful internal macros from udp_send.c and put them in ip.h where they can be used more generally 2015-02-17 07:08:11 -06:00
Gregory Nutt
eb8f5e548f Purely cosmetic changes resulting from last review IPv6 UDP change 2015-02-16 15:23:02 -06:00
Gregory Nutt
19eea866e6 Standardize some header files 2015-02-16 14:29:43 -06:00
Gregory Nutt
f357897b6c Some files that now include sys/time.h should no longer include timer.h 2015-02-15 16:38:18 -06:00
Gregory Nutt
d6704a1cd7 Suffer the consequences of moving struct timeval to its correct location 2015-02-15 15:18:35 -06:00
Gregory Nutt
fd8d374bfe Move struct timveval from include/time.h to include/sys/time.h where it belongs. 2015-02-15 13:00:44 -06:00
Gregory Nutt
f477c9b275 Add support for RTC driver to the STM32F4-Discovery board 2015-02-15 10:11:01 -06:00
Gregory Nutt
5cb233f712 RTC: A little more clean-up of the RTC driver 2015-02-15 08:19:23 -06:00
Gregory Nutt
8840102554 Networking: Divide net_intiialize() into net_setup() and net_initialize() to solve a chicken-and-egg problem. net_setup() must be caleld before up_initialize() is called so that networking data structures are ready to register new network devices.
net_initialize() now does only timer related operations and is called AFTER up_initialize() where the timers are configured.  This is really.
2015-02-14 06:36:53 -06:00
Gregory Nutt
9e80f7d8d2 STM32 RTC driver lower half: Implement the settime method of the RTC interface 2015-02-13 13:36:15 -06:00
Gregory Nutt
faa16d06ac Break out a new internal interface, stm32_rtc_setdatetime(). This eliminates some un-necessary time conversions. From Freddie Chopin.
Add a skeleton implementation of the RTC lower half interface at arch/arm/src/stm32/stm32_rtc_lowerhalf.c.  This is just the framework for the RTC lower half.  None of the interface methods have yet been implemetned.
2015-02-13 12:56:58 -06:00
Gregory Nutt
fcadc2d8e4 Add an RTC upper half driver. This is the driver that is documented in include/nutt/rtc.h 2015-02-13 11:49:04 -06:00
Gregory Nutt
2ba67e7841 Removed all of the old, malformed RTC interface definitions from include/nuttx/rtc.h. The necessary prototypes have been removed, renamed, scattered to the wind, hidden under rocks, -- whatever it takes to make it clear that there is no RTC interface callable from application code. 2015-02-13 10:07:23 -06:00
Gregory Nutt
3724a5e98e RTC: Remove all backdoor interfaces from rtc.h 2015-02-13 08:41:34 -06:00
Gregory Nutt
63ac1ec423 Cosmetic updates to comments 2015-02-12 13:44:22 -06:00
Gregory Nutt
3e1173225e Renamed SPIDEV_GSENSOR to SPIDEV_ACCELEROMETER just because it looks better beside SPIDEV_BAROMETER 2015-02-12 12:26:19 -06:00
Gregory Nutt
38aa31dea2 Update ChangeLog 2015-02-12 12:21:05 -06:00
Gregory Nutt
fd6d299788 Add driver for the Feescale MPL115A baramoter. From Alan Carvalho de Assis 2015-02-12 12:18:43 -06:00
Gregory Nutt
147042218b gettimeofday() and settimeofday(): Move gittimeofdady() from sched/clock to libc/time. All remove gettimeofday() from NuttX system calls. It is only a wrapper around clock_settime() and does not need a trap. gettimeofday() is no longer tried as a core OS interface.
gettimeofday has been decremented in POSIX 2008.  settimeofday() was never part of POSIX, but I decided to add it to libc as well just for symmetry.
2015-02-12 11:10:46 -06:00
Gregory Nutt
62aee62c3a Some extensions to netinet/in.h adding some Linux compatible defintions. From Macs N. 2015-02-11 06:35:34 -06:00
Gregory Nutt
410fcaa0a1 Added a forward reference to struct inode to avoid warning about mismatching types in assignemnt 2015-02-10 13:41:49 -06:00
Gregory Nutt
559f1ef825 Networking: Clean up and consolidate some clunky stuff by adding new net_timedwait() function 2015-02-09 07:50:10 -06:00
Gregory Nutt
2ae737f906 Update ChangeLog 2015-02-08 06:58:23 -06:00
Gregory Nutt
3465cb6138 SYSLOG: Add an option to use the syslog'ing device as the system consolution. This option enables a low-level, write-only console device at /dev/console (similar to the low-level UART console device). From Pierre-noel Bouteville. 2015-02-08 06:53:24 -06:00
Gregory Nutt
252802d1cd Remove inclusion of some un-necessary header files. 2015-02-06 08:50:53 -06:00
Gregory Nutt
3e6705b526 IPv6: Separate function that converts prefix lengths to a netmask 2015-02-06 08:11:09 -06:00
Gregory Nutt
10cf7e9634 Make some conditional compilation consistent 2015-02-05 14:26:11 -06:00
Gregory Nutt
c7f71c99a5 Networking: Changes need to build ICMPv6 'router' configuration on STM32 with network debug enabled 2015-02-05 11:47:56 -06:00
Gregory Nutt
6f3f43d930 IPv6: Add a netmaks for the local link address 2015-02-05 05:43:57 -06:00
Gregory Nutt
24d800398e Networking: Break out Ethernet definitions into a separate file; add IPv6 multicast addresses as common globals, Ethernet drivers need to filter link-local, all nodes Ethernet address 2015-02-04 14:51:20 -06:00
Gregory Nutt
1c05245963 STM32: Add driver for STM32L162XX AES peripheral. Signed-off-by: Juha Niskanen <juha.niskanen@haltian.com> 2015-02-04 06:49:05 -06:00
Gregory Nutt
66f0198e3f Networking: Add support for sending ICMPv6 Router Solicitation and receiving Router advertisement. This is a part of the ICMPv6 auto-configuration logic is still still not complete 2015-02-03 13:25:28 -06:00
Gregory Nutt
0e23712db4 Add an ioctal() that can be used to perform ICMPv6 auto-configuration 2015-02-03 08:54:42 -06:00
Gregory Nutt
1d534ff896 Convert the 64-bit usec limit to a 32-bit tick limit 2015-02-03 07:18:17 -06:00
Gregory Nutt
a448e0f69f On my platform I have just 16-bit timer clocked at 32kHz. As result oneshot timer max delay is 2s. The patch adds limit of maximum ticks in sched_timer_start (nuttx/sched/sched/sched_timerexpiration.c). From Macs N. 2015-02-03 06:25:19 -06:00
Gregory Nutt
2407008b6e drivers/ramdisk.c and include/nuttx/fs/ramdisk.h: Add logic to dispose of the drvier and RAM buffer when the RAM disk has been unlinked and all open references to the RAM disk have been closed. Add new parameters to romdisk() to specify what should be done with the RAM/ROM buffer -- Should it be freed or not? Changed all calls to ramdisk() to use these new parameters. 2015-02-01 07:24:16 -06:00
Gregory Nutt
a6f1dfa5b0 Remove execute privileges from some header files 2015-02-01 06:24:18 -06:00
Gregory Nutt
eb1aca3e46 Add an unlink method to block driver interface. Same motivataion as for the same modification to the character driver interface 2015-01-31 13:19:23 -06:00
Gregory Nutt
62e588a0a4 VFS: Add an unlink method to the character driver interface. This is important because if the character driver inode is unlinked and there are no open references to the driver, then the driver resources will be stranded. On the unlink call, the driver has the opportunity (1) check if there an any open references, and (2) if not free the driver resources 2015-01-31 11:31:34 -06:00
Gregory Nutt
e86d00913e Unix domain/FIFOs: Fix a race condition between FIFO buffer operations and the opening and closing of FIFOs which necessary when the FIFOs are used to support Unix domain, datagram sockets. The default policy is the deallocate FIFO buffering when the last client closes the pipe. When when used for datagram communicatinos, packets left in the FIFO will be lost. Some like UDP read-ahead is needed: The buffered data in the FIFO needs to be retained until the reader gets a chance to re-open the FIFO. Added an ioctl (PIPEIOC_POLICY) to control the buffer policy. Default (0) is the legacy behavior; Unix domain datagram logic sets the alternative policy so that the packet data persists after the FIFO is closed. 2015-01-30 11:14:24 -06:00
Gregory Nutt
5f9837dcc8 Merge remote-tracking branch 'origin/master' into afunix
Conflicts:
	nuttx/ChangeLog
2015-01-27 21:47:12 -06:00
Gregory Nutt
c4bd6f52b5 Networking: The are issues with the TCP write-ahead buffering if CONFIG_NET_NOINTS is enabled: There is a possibility of deadlocks in certain timing conditions. I have not seen this with the Tiva driver that I have been users but other people claim to see the issue on other platforms. Certainly it is a logic error: The network should never wait for TCP read-ahead buffering space to be available. It should drop the packets immediately.
This was fixed by duplicating most of the IOB interfaces:  The versions that waited are still present (like iob_alloc()), but now there are non-waiting verisons of the same interfaces (like iob_tryalloc()).  The TCP read-ahead logic now uses only these non-waiting interfaces.
2015-01-27 21:23:42 -06:00
Gregory Nutt
cbf0608513 Various fixes to get Unix domain sockets to build on the simulator without Ethernet 2015-01-27 14:11:46 -06:00
Gregory Nutt
6418f08459 Add math library defines for nan functions. From Brennan Ashton. 2015-01-26 19:03:38 -06:00
Gregory Nutt
b12cf6d2f5 Add math library support for trunc functions. From Brennan Ashton. 2015-01-26 19:00:35 -06:00
Gregory Nutt
06337a4f7a Add math library support for copysign. From Brennan Ashton 2015-01-26 18:52:28 -06:00
Gregory Nutt
7e177e1c12 Add error function to math library. From Brennan Ashton. 2015-01-26 13:58:47 -06:00
Gregory Nutt
36d5c00ec6 Add math library definition for isfinite. From Brennan Ashton. 2015-01-26 13:55:49 -06:00
Gregory Nutt
e153959eea Add support for inverse hyperbolic functions. From Brennan Ashton 2015-01-26 13:52:53 -06:00
Gregory Nutt
d7189558a6 Add ioctls for Unix domain sockets 2015-01-24 11:57:06 -06:00
Gregory Nutt
bf61008448 Add sys/un.h header file 2015-01-24 11:44:06 -06:00
Gregory Nutt
d84abfafc4 Fix another error in conditional compilation; plus some additional cosmetic changes 2015-01-24 09:04:28 -06:00
Gregory Nutt
f4bb7f14e1 Networking: Clean up network status collection and presentation for IPv6 2015-01-24 08:26:12 -06:00
Gregory Nutt
96a53254dd Some minor clean-up of IPv4/6 flags 2015-01-24 07:29:43 -06:00
Gregory Nutt
7e46e94546 Remove CONFIG_DEBUG_STACK. Adding CONFIG_STACK_COLORATION makes this configuration option pointless 2015-01-24 06:49:51 -06:00
Gregory Nutt
05c5c8c337 Add CONFIG_STACK_COLORATION that does the same thing as CONFIG_DEBUG_STACK but without enabling debug. From David Sidrane 2015-01-24 06:03:39 -06:00
Gregory Nutt
dc759d31d9 Math library: Adds support for the expm1 functions: http://pubs.opengroup.org/onlinepubs/009695399/functions/expm1.html. From Brennan Ashton 2015-01-23 17:15:42 -06:00
Gregory Nutt
30f0a942e1 Networking: First cut at ICMPv6 ping logic 2015-01-23 14:06:08 -06:00
Gregory Nutt
9f40a13cfa Correct the MSS calculation 2015-01-22 12:30:07 -06:00
Gregory Nutt
6175e9eec5 Networking: Correct the value returned by accept() in the case where net_lockingwait() is called. It was returning -1 and losing the errno value. Noted by Rony Xln 2015-01-22 06:51:31 -06:00
Gregory Nutt
38e0dcf097 Networking: Fix another error in an IPv6 macro. Again ampersand where there should not be one 2015-01-21 14:11:20 -06:00
Gregory Nutt
8132afb3de Fix some errors in memcpy arguments. No ampersands on array arguments. 2015-01-21 12:42:22 -06:00
Gregory Nutt
5d31687e75 Correct name of fields in struct sockaddr_in6: sin6_port and sin6_family, not sin_port and sin_family 2015-01-20 18:14:09 -06:00
Gregory Nutt
67a655ecf0 Networking: Add logic to search the Neighbor Table and update the destination address in the output Ethernet header OR to send an ICMPv6 Neighbor Solicitation if there is no entry in the Neighbor table for the IPv6 address 2015-01-20 14:37:02 -06:00
Gregory Nutt
d68cd0d8de Networking: Update ICMPv6 logic to RFCs 2015-01-20 11:06:51 -06:00
Gregory Nutt
2fd334432c Networking: Fix to ICMPv6 logic: Needs to set source and destination address in the Ethernet header 2015-01-19 14:57:55 -06:00
Gregory Nutt
13149536f2 Networking: Update ICMPv6 message numbers 2015-01-19 14:04:16 -06:00
Gregory Nutt
59c0757183 Fix a few more dangling IPv6 issues found by code inspection 2015-01-18 10:33:27 -06:00
Gregory Nutt
f7663ef0ab Networking: Final detangle off IPv4 and IPv6 TCP/UDP send logic. The Networking subsystem now compiles with IPv6 enabled 2015-01-18 08:56:05 -06:00
Gregory Nutt
86f617cc88 Networking: Straighten up use if IPv6/IPv4 in TCP connection logic 2015-01-17 17:07:54 -06:00
Gregory Nutt
94f9312150 Networking: Save the IP domain in the connection structure 2015-01-17 13:07:48 -06:00
Gregory Nutt
2c251d845c include/net/if.h: Add a bit to the device flags to indicate if the device packet buffer holds an IPv4 or an IPv6 domain packet. Set/clear the flag along with the correct offset to the application payload data as each packet is received.
net/socket, net/tcp, net/udp:  Add logic to select the domain of the outputgoing packet before sending any UDP or TCP packet.  This sets the bit to indicate the IPv4 or IPv6 domain and the correct offset to the output going payload data.
2015-01-17 07:42:09 -06:00
Gregory Nutt
88a0e82934 Networking: Remove field d_sndata from the device structure. It is the same as d_appdata and unnecessary 2015-01-17 05:59:13 -06:00
Gregory Nutt
8f8259a0d6 Networking: UDP and TCP MSS depends on the IP header size (as well as the link layer header size) and cannot be represented with a single value. 2015-01-16 15:03:10 -06:00
Gregory Nutt
2663538b0a Networking: Replace all references to the macros net_ipaddr_copy, net_ipaddr_hdrcopy, net_ipaddr_cmp, net_ipaddr_hdrcmp, and net_ipaddr_maskcmp with the appropriate IPv4 or IPv6 version of the macro (such as net_ipv4addr_copy). The goal is to support both IPv4 and IPv6 simultaneously. This requires that the macros be distinct and not conditionally defined to one on or the other. 2015-01-16 13:01:08 -06:00
Gregory Nutt
5e938941a6 Networking: Replace all references to net_ipaddr_t with either in_addr_t on net_ipv6addr_t. The goal is to support both IPv4 and IPv6 simultaneously. This requires that the two types be distinct and not conditionally typedef'ed to net_ipaddr_t. 2015-01-16 12:30:18 -06:00
Gregory Nutt
bee89be4f4 Networking: Drivers can have both IPv4 and IPv6 addesses, but a socket can only only one or the other; The socket connnection structures need to include a union of IPv4 and IPv6 addresses for the local address binding and for the remote address connections 2015-01-16 10:01:54 -06:00
Gregory Nutt
fe8b3c5220 Networking: More detangling of IPv6 logic. Next steps will be more invasive and will get moved to a branch 2015-01-16 08:51:18 -06:00
Gregory Nutt
5b45605991 Clean a few more IPv6 compilation issues; Add implementation of net_ipv6_maskcmp() 2015-01-15 15:55:52 -06:00
Gregory Nutt
630366272a Networking: Seperate tcp_input() and udp_input() into seprate functions tcp_ipv4_input(), tcp_ipv6_input(), udp_ipv4_input(), and upd_ipv6_input() than can deal will the data offsets caused by the differing sizes of the IP header. 2015-01-15 15:06:46 -06:00
Gregory Nutt
60e50ff3b5 Networking: More IPv6 detanglement 2015-01-15 13:08:28 -06:00
Gregory Nutt
5a441ce03b Networking: Misck IPv6 detanglement 2015-01-15 12:19:44 -06:00
Gregory Nutt
89538ac4a2 - Rename devif_input() ipv4_input()
- Copy net/devif/devif_input.c to ipv6_input.c.  Remove all IPv4-specific logic.
- Rename net/devif/devif_input.c to ipv4_input.c.  Remove all IPv6-specific logic
- Split IPv4 header structure out as net_ipv4hdr_s from net_iphdr_s
2015-01-15 08:03:56 -06:00
Gregory Nutt
a49f0231d2 Networking: A few more IPv6-related fixes 2015-01-14 18:34:28 -06:00