Commit Graph

939 Commits

Author SHA1 Message Date
Sebastian Huber
2d0bc839ed build: Remove EXTRA_DIST
A "make dist" is not supported. So, it makes no sense to have pure "make
dist" related stuff in the Makefile.am.
2018-04-04 10:09:04 +02:00
Sebastian Huber
16f4661fd1 network: Optionally install network headers
Install the network headers only if --enable-networking is specified.

Update #3254.
2018-03-09 08:43:29 +01:00
Sebastian Huber
0f7913b911 network: Fix integer types 2018-02-07 09:23:08 +01:00
Sebastian Huber
2aa5b98c32 syslog: Use self-contained recursive mutex
Update #2843.
2018-02-07 08:58:31 +01:00
Sebastian Huber
3535439f5c tftpfs: Use self-contained mutex
Update #2843.
2018-02-07 08:58:31 +01:00
Sebastian Huber
16fc3f9a54 network: Use self-contained recursive mutex
Update #2843.
2018-02-02 15:01:22 +01:00
Chris Johns
2afb22b7e1 Remove make preinstall
A speciality of the RTEMS build system was the make preinstall step.  It
copied header files from arbitrary locations into the build tree.  The
header files were included via the -Bsome/build/tree/path GCC command
line option.

This has at least seven problems:

* The make preinstall step itself needs time and disk space.

* Errors in header files show up in the build tree copy.  This makes it
  hard for editors to open the right file to fix the error.

* There is no clear relationship between source and build tree header
  files.  This makes an audit of the build process difficult.

* The visibility of all header files in the build tree makes it
  difficult to enforce API barriers.  For example it is discouraged to
  use BSP-specifics in the cpukit.

* An introduction of a new build system is difficult.

* Include paths specified by the -B option are system headers.  This
  may suppress warnings.

* The parallel build had sporadic failures on some hosts.

This patch removes the make preinstall step.   All installed header
files are moved to dedicated include directories in the source tree.
Let @RTEMS_CPU@ be the target architecture, e.g. arm, powerpc, sparc,
etc.  Let @RTEMS_BSP_FAMILIY@ be a BSP family base directory, e.g.
erc32, imx, qoriq, etc.

The new cpukit include directories are:

* cpukit/include

* cpukit/score/cpu/@RTEMS_CPU@/include

* cpukit/libnetworking

The new BSP include directories are:

* bsps/include

* bsps/@RTEMS_CPU@/include

* bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILIY@/include

There are build tree include directories for generated files.

The include directory order favours the most general header file, e.g.
it is not possible to override general header files via the include path
order.

The "bootstrap -p" option was removed.  The new "bootstrap -H" option
should be used to regenerate the "headers.am" files.

Update #3254.
2018-01-25 08:45:26 +01:00
Sebastian Huber
3f575da2f2 Remove obsolete network header files
Update #3254.
2017-12-07 07:23:59 +01:00
Sebastian Huber
c310589474 score: Move thread queue timeout handling
Update #3117.
Update #3182.
2017-10-24 10:19:05 +02:00
Sebastian Huber
441993a8c7 network: Add missing forward declaration 2017-09-28 07:05:01 +02:00
Sebastian Huber
9012db84f6 libio: LIBIO_GET_IOP() LIBIO_GET_IOP_WITH_ACCESS()
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.
2017-09-15 10:27:13 +02:00
Sebastian Huber
3cffd66d76 libio: Add rtems_libio_iop_is_writeable()
Update #3132.
2017-09-15 10:27:12 +02:00
Sebastian Huber
a937a5a534 libio: Add rtems_libio_iop_is_readable()
Update #3132.
2017-09-15 10:27:12 +02:00
Sebastian Huber
bbcdc302cd libio: Add rtems_libio_iop_is_no_delay()
Update #3132.
2017-09-15 10:27:12 +02:00
Sebastian Huber
e2b1db2311 libio: Add rtems_libio_iop_flags()
Update #3132.
2017-09-15 10:27:12 +02:00
Sebastian Huber
ca90c6c1db libio: Add rtems_libio_iop_flags_initialize()
Update #3132.
2017-09-15 10:27:08 +02:00
Sebastian Huber
856ede4f91 libio: Add iop set/clear flags
Update #3132.
2017-09-15 07:48:03 +02:00
Sebastian Huber
4b759b1892 libio: Avoid direct use of rtems_libio_iops
Update #3132.
2017-09-14 07:02:29 +02:00
Sebastian Huber
f93f770ee6 network: Include missing header file 2017-08-25 11:01:50 +02:00
Kevin Kirspel
c6bb1c33bc posix/mmap: Add support for file handler and MAP_ANON
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
2017-07-14 16:04:05 -04:00
Sebastian Huber
86c100439c network: Remove FreeBSD specific hack
For whatever reason FreeBSD renames several functions provided by
<arpa/inet.h> and uses weak references to provide the standard function
names.  This causes problems on targets lacking proper support for weak
references.  We do not need this function renaming on RTEMS.lk:x

Update #2833.
2017-06-12 14:03:54 +02:00
Stavros Passas
2585347189 network: Fix DHCP client protocol
Close #2877.
2017-06-08 10:06:33 +02:00
Sebastian Huber
26ccd139dc network: Header file compatiblity
Move legacy network stack implementation specifics to
<rtems/rtems_bsdnet_internal.h>.  Include missing header files.  Add
interface flags compatibility.

Update #2833.
2017-06-07 13:02:21 +02:00
Sebastian Huber
e744c36c3f network: Use inet_ntoa_r()
Update #2833.
2017-06-07 13:02:21 +02:00
Sebastian Huber
9b035a0a4a network: Update <arpa/inet.h>
Update #2833.
2017-06-07 13:02:21 +02:00
Sebastian Huber
3bc19384a7 network: Move header files
Prevent accidental use of legacy network header files.

Update #2833.
2017-06-07 13:02:20 +02:00
Sebastian Huber
d4ab0aef96 network: Move RTEMS specifics
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.
2017-06-07 13:02:20 +02:00
Sebastian Huber
d7613f7a18 network: Include <sys/uio.h> explicitly
Do not rely on indirect includes via other header files.

Update #2833.
2017-06-07 13:02:19 +02:00
Sebastian Huber
643b82026c Include missing <sys/param.h>
Some kernel-space header expect that <sys/param.h> is present.

Update #2833.
2017-06-07 13:02:19 +02:00
Sebastian Huber
787f51f5b3 Do not include <sys/ioctl.h> in kernel-space
Update #2833.
2017-06-07 13:02:08 +02:00
Sebastian Huber
81ea00146e Test for POSIX headers from Newlib 20170522
Update #2833.
2017-06-07 12:57:38 +02:00
Sebastian Huber
eddb13416b network: Do not use MSIZE
Do not use the MSIZE for the legacy network stack.  Instead use
_SYS_MBUF_LEGACY_MSIZE.

Update #2833.
2017-06-07 07:49:12 +02:00
Sebastian Huber
cf54965493 network: Include missing <inttypes.h>
Update #2833.
2017-06-07 07:44:12 +02:00
Kevin Kirspel
1c6926c11f termios: Synchronize with latest FreeBSD headers
Adding modified FreeBSD headers to synchronize RTEMS termios with
FreeBSD.  Modify termios to support dedicated input and output baud for
termios structure.  Updated BSPs to use dedicated input and output baud
in termios structure.  Updated tools to use dedicated input and output
baud in termios structure.  Updated termios testsuites to use dedicated
input and output baud in termios structure.

Close #2897.
2017-03-22 11:55:04 +01:00
Sebastian Huber
714617e7ec configure: Remove __RTEMS_HAVE_DECL_SIGALTSTACK__ 2017-01-13 11:46:19 +01:00
Sebastian Huber
6de41c5fe9 Provide kernel space header files
These kernel space header files must be provided for Newlib
172e2050d95b41861db858dd9bc43a3fb4a28987.
2016-11-08 10:15:28 +01:00
Sebastian Huber
8797c76add score: Unify CORE mutex seize/surrender
Use the Thread_Control::resource_count for the no protocol mutexes.
Merge the no protocol and priority inherit CORE mutex seize/surrender
operations.
2016-09-27 15:23:00 +02:00
Sebastian Huber
e41308eab8 score: Introduce Thread_queue_Lock_context
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.
2016-09-08 09:55:27 +02:00
Gedare Bloom
f23d470616 cpukit: Add and use Watchdog_Discipline.
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
2016-07-25 12:44:47 -04:00
Sebastian Huber
2e3ba71256 net: Fix byte order issue for getnameinfo() 2016-07-01 15:16:10 +02:00
Christian Mauderer
095ecbf263 libnetworking: Import current <sys/socket.h>
Import the <sys/socket.h> from current FreeBSD.  This allows to build
some current software (e.g. libressl).
2016-06-28 13:10:01 +02:00
Sebastian Huber
e79a0ca75f libnetworking: Move RTEMS-specific socket wake-up
Close #2748.
2016-06-28 13:10:01 +02:00
Christian Mauderer
4ba4f8218a libnetworking: Hide SO_PRIVSTATE 2016-06-28 13:10:01 +02:00
Christian Mauderer
f0fc2c0e02 libnetworking: Add <machine/_align.h>
This is necessary for new <sys/socket.h>.
2016-06-28 13:10:01 +02:00
Christian Mauderer
4c02385d8f libnetworking: Import current <arpa/inet.h>
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>.
2016-06-28 13:10:01 +02:00
Christian Mauderer
657e6c93ef libnetworking: Import current <netinet/in.h>
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>.
2016-06-28 13:09:44 +02:00
Christian Mauderer
005c3fe701 libnetworking: Import current <netinet6/in6.h>
Import the <netinet6/in6.h> from current FreeBSD.  This allows to build
some current software (e.g. libressl).
2016-06-28 13:02:20 +02:00
Christian Mauderer
f2082cc61d libnetworking: Import <sys/_sockaddr_storage.h>
Import the <sys/_sockaddr_storage.h> from current FreeBSD.  Necessary
for <netinet/in.h> update.
2016-06-28 13:02:20 +02:00
Christian Mauderer
195d412d39 libnetworking: Add minimal getnameinfo()
This implementation just falls back to giving a string representation of
the IP.  It supports IPv4 only.

Add test for getnameinfo().
2016-06-28 13:01:47 +02:00
Christian Mauderer
232d6fecb6 libnetworking: Import current <netdb.h>
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.
2016-06-28 13:01:38 +02:00