summaryrefslogtreecommitdiffstats
path: root/cpukit/libnetworking/rtems (follow)
Commit message (Collapse)AuthorAgeFilesLines
* cpukit: Remove libnetworkingVijay Kumar Banerjee2021-04-0733-6869/+0
| | | | Update #3850
* Canonicalize config.h includeSebastian Huber2020-04-1618-18/+18
| | | | | | | | Use the following variant which was already used by most source files: #ifdef HAVE_CONFIG_H #include "config.h" #endif
* libio: Robust file descriptor reference countingSebastian Huber2020-03-131-3/+7
| | | | | | | | | | | | There was a race conditon in the reference counting of file descriptors during a close() operation. After the call to the close handler, the rtems_libio_free() function cleared the flags to zero. However, at this point in time there may still exist some holders of the file descriptor. With RTEMS_DEBUG enabled this could lead to failed assertions in rtems_libio_iop_drop(). Change the code to use only atomic read-modify-write operations on the rtems_libio_iop::flags.
* Remove explicit file names from @fileSebastian Huber2019-02-283-3/+3
| | | | | | This makes the @file documentation independent of the actual file name. Update #3707.
* Use rtems_task_exit()Sebastian Huber2018-10-022-2/+2
| | | | | Update #3530. Update #3533.
* network: Use kernel/user space header filesSebastian Huber2018-09-1022-36/+43
| | | | | | | | | | Add and use <machine/rtems-bsd-kernel-space.h> and <machine/rtems-bsd-user-space.h> similar to the libbsd to avoid command line defines and defines scattered throught the code base. Simplify cpukit/libnetworking/Makefile.am. Update #3375.
* ftpfs: Always build FTP clientSebastian Huber2018-05-021-159/+0
| | | | | | Move FTP client filesystem to separate library libftpfs.a. Update #3419.
* tftpfs: Always build TFTP clientSebastian Huber2018-05-021-44/+0
| | | | | | | Move TFTP client filesystem to separate library libtftpfs.a. Conditionally use legacy network stack features, e.g. BOOTP support. Update #3419.
* network: Fix integer typesSebastian Huber2018-02-071-1/+1
|
* network: Use self-contained recursive mutexSebastian Huber2018-02-021-96/+14
| | | | Update #2843.
* score: Move thread queue timeout handlingSebastian Huber2017-10-241-1/+1
| | | | | Update #3117. Update #3182.
* libio: LIBIO_GET_IOP() LIBIO_GET_IOP_WITH_ACCESS()Sebastian Huber2017-09-151-2/+1
| | | | | | | | | Replace rtems_libio_check_fd(), rtems_libio_iop(), rtems_libio_check_open() and rtems_libio_check_permissions() combinations with new LIBIO_GET_IOP() and LIBIO_GET_IOP_WITH_ACCESS() macros. Update #3132.
* libio: Add rtems_libio_iop_is_no_delay()Sebastian Huber2017-09-151-1/+1
| | | | Update #3132.
* libio: Add rtems_libio_iop_flags()Sebastian Huber2017-09-151-1/+1
| | | | Update #3132.
* libio: Add rtems_libio_iop_flags_initialize()Sebastian Huber2017-09-151-1/+1
| | | | Update #3132.
* libio: Add iop set/clear flagsSebastian Huber2017-09-151-1/+1
| | | | Update #3132.
* libio: Avoid direct use of rtems_libio_iopsSebastian Huber2017-09-141-1/+1
| | | | Update #3132.
* network: Include missing header fileSebastian Huber2017-08-251-0/+1
|
* posix/mmap: Add support for file handler and MAP_ANONKevin Kirspel2017-07-141-0/+1
| | | | | | | | | | | Added a mmap file handler to struct _rtems_filesystem_file_handlers_r. Updated each file handler object to support the default mmap handler. Updated mmap() to call the mmap handler for MAP_SHARED. Added a mmap file handler for shm Added support for MAP_ANON in mmap(). Updates #2859
* network: Fix DHCP client protocolStavros Passas2017-06-082-4/+29
| | | | Close #2877.
* network: Header file compatiblitySebastian Huber2017-06-073-0/+31
| | | | | | | | Move legacy network stack implementation specifics to <rtems/rtems_bsdnet_internal.h>. Include missing header files. Add interface flags compatibility. Update #2833.
* network: Use inet_ntoa_r()Sebastian Huber2017-06-072-2/+5
| | | | Update #2833.
* network: Move RTEMS specificsSebastian Huber2017-06-071-3/+25
| | | | | | | | | Move RTEMS specifics to <rtems/rtems_bsdnet.h>. Introduce rtems_tap_ifreq. The interface tap support is RTEMS-specific and only available in the legacy network stack. Update #2833.
* Include missing <sys/param.h>Sebastian Huber2017-06-071-0/+1
| | | | | | Some kernel-space header expect that <sys/param.h> is present. Update #2833.
* Do not include <sys/ioctl.h> in kernel-spaceSebastian Huber2017-06-075-5/+5
| | | | Update #2833.
* network: Do not use MSIZESebastian Huber2017-06-071-5/+5
| | | | | | | Do not use the MSIZE for the legacy network stack. Instead use _SYS_MBUF_LEGACY_MSIZE. Update #2833.
* configure: Remove __RTEMS_HAVE_DECL_SIGALTSTACK__Sebastian Huber2017-01-131-7/+0
|
* score: Unify CORE mutex seize/surrenderSebastian Huber2016-09-271-0/+2
| | | | | | Use the Thread_Control::resource_count for the no protocol mutexes. Merge the no protocol and priority inherit CORE mutex seize/surrender operations.
* score: Introduce Thread_queue_Lock_contextSebastian Huber2016-09-081-2/+2
| | | | | | Introduce Thread_queue_Lock_context to contain the context necessary for thread queue lock and thread wait lock acquire/release operations to reduce the Thread_Control size.
* cpukit: Add and use Watchdog_Discipline.Gedare Bloom2016-07-251-1/+1
| | | | | | | | | Clock disciplines may be WATCHDOG_RELATIVE, WATCHDOG_ABSOLUTE, or WATCHDOG_NO_TIMEOUT. A discipline of WATCHDOG_RELATIVE with a timeout of WATCHDOG_NO_TIMEOUT is equivalent to a discipline of WATCHDOG_NO_TIMEOUT. updates #2732
* libnetworking: Move RTEMS-specific socket wake-upSebastian Huber2016-06-281-0/+16
| | | | Close #2748.
* libnetworking: Import current <arpa/inet.h>Christian Mauderer2016-06-287-9/+29
| | | | | | | | | | 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-281-0/+80
| | | | | | | | | | | | | | | | 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: Add <rtems/rtems_netdb.h>Christian Mauderer2016-06-281-0/+52
| | | | | Move prototypes of non-portable _get*by*name/addr and _set/end*ent functions. This makes it easier to update <netdb.h>.
* 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-2212-13/+31
|
* network: Ensure matching syscall prototypesSebastian Huber2016-04-223-17/+103
| | | | Ensure that kernel and user space system call protoypes are identical.
* 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).
* Chase Newlib sys/types.h / sys/select.h changesNick Withers2016-01-181-0/+1
|