summaryrefslogtreecommitdiffstats
path: root/cpukit/libnetworking (follow)
Commit message (Collapse)AuthorAgeFilesLines
* net: Fix byte order issue for getnameinfo()Sebastian Huber2016-07-011-4/+2
|
* libnetworking: Import current <sys/socket.h>Christian Mauderer2016-06-281-73/+373
| | | | | Import the <sys/socket.h> from current FreeBSD. This allows to build some current software (e.g. libressl).
* libnetworking: Move RTEMS-specific socket wake-upSebastian Huber2016-06-283-15/+18
| | | | Close #2748.
* libnetworking: Hide SO_PRIVSTATEChristian Mauderer2016-06-282-1/+7
|
* libnetworking: Add <machine/_align.h>Christian Mauderer2016-06-283-1/+29
| | | | This is necessary for new <sys/socket.h>.
* libnetworking: Import current <arpa/inet.h>Christian Mauderer2016-06-289-38/+73
| | | | | | | | | | Import the <arpa/inet.h> from current FreeBSD. Necessary due to changes in <netinet/in.h>. Remove BSD hack from <arpa/inet.h>. Clean up problems with htonl(). These functions are defined in <arpa/inet.h>. This lead to some problems because they are defined in <rtems/endian.h> too. Add NTOHL, ... to <rtems/rtems_bsdnet_internal.h>.
* libnetworking: Import current <netinet/in.h>Christian Mauderer2016-06-2818-135/+443
| | | | | | | | | | | | | | | | Import the <netinet/in.h> from current FreeBSD. This allows to build some current software (e.g. libressl). Add legacy support like * prototype for in_cksum(), * IPPORT_USERRESERVED, * deprecated IPCTL_RT* defines, * ip_fw_chk_t and ip_fw_ctl_t, * ip_nat_... (IP NAT hooks), and * IP_NAT option for get/setsockopt() to new <rtems/rtems_netinet_in.h>.
* libnetworking: Import current <netinet6/in6.h>Christian Mauderer2016-06-283-0/+760
| | | | | Import the <netinet6/in6.h> from current FreeBSD. This allows to build some current software (e.g. libressl).
* libnetworking: Import <sys/_sockaddr_storage.h>Christian Mauderer2016-06-283-1/+60
| | | | | Import the <sys/_sockaddr_storage.h> from current FreeBSD. Necessary for <netinet/in.h> update.
* libnetworking: Add minimal getnameinfo()Christian Mauderer2016-06-282-1/+62
| | | | | | | This implementation just falls back to giving a string representation of the IP. It supports IPv4 only. Add test for getnameinfo().
* libnetworking: Import current <netdb.h>Christian Mauderer2016-06-287-52/+212
| | | | | | | | | | | | Import the <netdb.h> from current FreeBSD. This allows to build some current software (e.g. libressl). Add __h_errno(). Update gethostent_r() API. Linux and FreeBSD use a common API now. Adapt the RTEMS one to provide the same one. Match gethostbyname_r() with prototype.
* libnetworking: Add <rtems/rtems_netdb.h>Christian Mauderer2016-06-2813-22/+66
| | | | | Move prototypes of non-portable _get*by*name/addr and _set/end*ent functions. This makes it easier to update <netdb.h>.
* ftpfs: Remove superfluous includeSebastian Huber2016-06-091-1/+0
|
* tftp: Use proper semaphore attr for mutexSebastian Huber2016-06-061-4/+2
| | | | Close #2729.
* score: Rework CORE inherit priority mutexSebastian Huber2016-05-301-9/+11
| | | | | Provide dedicated seize and surrender methods for inherit priority mutexes. This eliminates CORE_mutex_Attributes.
* score: Add CORE mutex variantsSebastian Huber2016-05-301-3/+3
| | | | | | | | Add CORE_recursive_mutex_Control and CORE_ceiling_mutex_Control to avoid the run-time evaluation of attributes to figure out how a particular mutex methods should behave. Start with the no protocol variants. This eliminates the CORE_MUTEX_DISCIPLINES_FIFO and CORE_MUTEX_DISCIPLINES_PRIORITY disciplines.
* score: Add _Thread_queue_Context_set_MP_callout()Sebastian Huber2016-05-301-2/+2
| | | | | | Add _Thread_queue_Context_set_MP_callout() to simplify _Thread_queue_Context_initialize(). This makes it possible to more easily add additional fields to Thread_queue_Context.
* network: Align with Newlib type definitionsSebastian Huber2016-05-301-4/+5
|
* score: Add Status_Control for all APIsSebastian Huber2016-05-261-9/+7
| | | | | | | | | | | Unify the status codes of the Classic and POSIX API to use the new enum Status_Control. This eliminates the Thread_Control::Wait::timeout_code field and the timeout parameter of _Thread_queue_Enqueue_critical() and _MPCI_Send_request_packet(). It gets rid of the status code translation tables and instead uses simple bit operations to get the status for a particular API. This enables translation of status code constants at compile time. Add _Thread_Wait_get_status() to avoid direct access of thread internal data structures.
* score: Move thread queue MP callout to contextSebastian Huber2016-05-251-7/+8
| | | | | | | | Drop the multiprocessing (MP) dependent callout parameter from the thread queue extract, dequeue, flush and unblock methods. Merge this parameter with the lock context into new structure Thread_queue_Context. This helps to gets rid of the conditionally compiled method call helpers.
* score: Get rid of mp_id parameterSebastian Huber2016-05-251-1/+0
| | | | | Get rid of the mp_id parameter used for some thread queue methods. Use THREAD_QUEUE_QUEUE_TO_OBJECT() instead.
* rtems: Avoid Giant lock for semaphoresSebastian Huber2016-05-021-5/+2
| | | | Update #2555.
* network: Fix warningsSebastian Huber2016-04-2215-15/+38
|
* network: Ensure matching syscall prototypesSebastian Huber2016-04-226-26/+117
| | | | Ensure that kernel and user space system call protoypes are identical.
* network: Delete unused in4_cksum()Sebastian Huber2016-04-223-125/+0
|
* score: Remove id parameter _CORE_mutex_Seize()Sebastian Huber2016-04-211-1/+0
| | | | Parameter was unused.
* score: Compatibility with latest NewlibSebastian Huber2016-04-081-2/+2
|
* network: Quirk for Newlib compatibilitySebastian Huber2016-04-071-0/+1
| | | | | Newlib provides now a declration for random() in <stdlib.h>. This confilicts with the define in <rtems/rtems_bsdnet_internal.h>.
* score: Rework MP thread queue callout supportSebastian Huber2016-04-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The thread queue implementation was heavily reworked to support SMP. This broke the multiprocessing support of the thread queues. This is fixed by this patch. A thread proxy is unblocked due to three reasons 1) timeout, 2) request satisfaction, and 3) extraction. In case 1) no MPCI message must be sent. This is ensured via the _Thread_queue_MP_callout_do_nothing() callout set during _Thread_MP_Allocate_proxy(). In case 2) and 3) an MPCI message must be sent. In case we interrupt the blocking operation during _Thread_queue_Enqueue_critical(), then this message must be sent by the blocking thread. For this the new fields Thread_Proxy_control::thread_queue_callout and Thread_Proxy_control::thread_queue_id are used. Delete the individual API MP callout types and use Thread_queue_MP_callout throughout. This type is only defined in multiprocessing configurations. Prefix the multiprocessing parameters with mp_ to ease code review. Multiprocessing specific parameters are optional due to use of a similar macro pattern. There is no overhead for non-multiprocessing configurations.
* network: Special case for RTEMS_MULTIPROCESSINGSebastian Huber2016-03-291-0/+12
| | | | Allow network tasks to run with priority 0 (PRIORITY_PSEUDO_ISR).
* libnetworking/sys/libkern.h: Disable non-POSIX prototype that is actually unusedJoel Sherrill2016-03-241-0/+2
|
* Chase Newlib sys/types.h / sys/select.h changesNick Withers2016-01-186-23/+13
|
* basdefs.h: Add and use RTEMS_UNUSEDSebastian Huber2015-10-261-2/+2
|
* cpukit/libnetworking/rtems/rtems_dhcp.c: Fix compilation errorMartin Galvan2015-09-031-1/+1
| | | | | | | | Apparently 'free' is defined as a macro which takes two arguments and calls rtems_bsdnet_free. When fixing #2405 I added a missing 'free' but didn't notice it was non-standard. Closes #2410.
* cpukit/libnetworking/rtems/rtems_dhcp.c: Fix leak on realloc failure for ↵Martin Galvan2015-09-031-5/+13
| | | | | | dhcp_hostname. Closes #2405.
* tftpDriver: close() false errorMichael Davidsaver2015-07-291-1/+3
| | | | closes #2376.
* libnetworking: Send the hostname if set in the network configuration.Chris Johns2015-07-141-2/+16
| | | | | This allows a suitably configured DHCP server with DDNS to enter the name into the DNS table making it addressiable via it's host name.
* timecounter: Use in RTEMSAlexander Krutwig2015-05-202-5/+2
| | | | | | | | Replace timestamp implementation with FreeBSD bintime and timecounters. New test sptests/sptimecounter02. Update #2271.
* score: Fine grained locking for mutexesSebastian Huber2015-05-191-12/+7
| | | | Update #2273.
* score: _Objects_Get_isr_disable()Sebastian Huber2015-04-211-3/+3
| | | | | | | Use ISR_lock_Context instead of ISR_Level to allow use of ISR locks for low-level locking. Update #2273.
* network: Avoid clash with FreeBSD <sys/time.h>Sebastian Huber2015-03-092-4/+6
|
* Panic on RTEMS_FAST_MUTEX network semaphore claim/release.Chris Johns2015-02-241-1/+8
| | | | | | | Fix the code to panic rather than perform a bad access if the network semaphore is accessed without the stack being intialised. Closes #2229.
* networking: alignment exception in ioctl(SIOCGIFCONF)Till Straumann2015-02-231-11/+12
| | | | | Access memory using a byte stream when copying to avoid unaligned access. update #1401
* sys/socket.h: Include <sys/types.h> for ssize_tJoel Sherrill2015-02-121-1/+1
| | | | closes 2245
* Filesystem: Delete unused fsmountme_h handlerSebastian Huber2015-02-092-2/+0
|
* Filesystem: Use rtems_libio_iop_to_descriptor()Sebastian Huber2015-02-041-1/+1
| | | | | Drop parameter check from previously unused rtems_libio_iop_to_descriptor().
* sys/socket.h: Add include of <sys/_types.h> for ssize_tJoel Sherrill2015-01-231-0/+1
| | | | | | | | | This was needed to make it possible to only include <sys/socket.h> for the methods in this file in compliance with the POSIX specification. This was identified by the Open Group FACE Conformance Test Suite. Close 2245.
* libnetworking: Fix memset() callSebastian Huber2015-01-231-1/+1
| | | | Close #2244.
* Filesystem: Delete node type operationSebastian Huber2015-01-222-15/+8
| | | | Use the fstat handler instead.
* libnetworking: Fix close of active socketsSebastian Huber2015-01-205-66/+94
| | | | | | | Send a special event to notify tasks waiting for a socket state change in case this socket gets closed. This prevents a use after free. Close #785.