Commit Graph

139 Commits

Author SHA1 Message Date
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
441993a8c7 network: Add missing forward declaration 2017-09-28 07:05:01 +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
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
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
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
Sebastian Huber
1641088178 network: Ensure matching syscall prototypes
Ensure that kernel and user space system call protoypes are identical.
2016-04-22 09:25:11 +02:00
Joel Sherrill
09c993b4bb libnetworking/sys/libkern.h: Disable non-POSIX prototype that is actually unused 2016-03-24 11:41:20 -05:00
Nick Withers
4202a31f91 Chase Newlib sys/types.h / sys/select.h changes 2016-01-18 14:59:52 +01:00
Joel Sherrill
547c2282ee sys/socket.h: Include <sys/types.h> for ssize_t
closes 2245
2015-02-12 15:23:33 -06:00
Joel Sherrill
081a6971d9 sys/socket.h: Add include of <sys/_types.h> for ssize_t
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.
2015-01-23 09:46:59 -06:00
Sebastian Huber
51c88e8bf4 libnetworking: Delete dead code
The so_uid is always 0 in RTEMS.
2015-01-20 07:08:30 +01:00
Daniel Ramirez
14876018c3 select.h, rtems_select.c, nds select: Add restrict keyword 2013-11-20 18:24:48 -06:00
Joel Sherrill
bb679b3111 Move <memory.h> and <sys/uio.h> to non-networking directory
These two header files were installed from libnetworking even
when networking was disabled. This patch moves them to a
non-networking location and updates uio.h to match the FreeBSD 8.x
source being used for the USB stack and TCP/IP stack upgrade.

 - cpukit/include/memory.h
   Move from cpukit/libnetworking/memory.h. No changes

 - cpukit/include/sys/uio.h
   Move from cpukit/libnetworking/sys/uio.h. Replace with FreeBSD 8.x version.

 - cpukit/include/sys/_iovec.h
   New. FreeBSD 8.x file supporting <sys/uio.h>.

 - cpukit/Makefile.am
   Reflect movement of <memory.h> and <sys/uio.h>.

 - cpukit/preinstall.am
   Regenerate

 - cpukit/libnetworking/nfs/bootp_subr.c
   Eliminate use of uio_procp field no longer in FreeBSD structure. This
   field was set and never read so eliminating the set has no impact.
2013-01-23 13:38:04 -06:00
Joel Sherrill
65c6425de9 Remove CVS Id Strings (manual edits after script)
These modifications were required by hand after running the script.
In some cases, the file names did not match patterns. In others,
the format of the file did not match any common patterns.
2012-05-11 08:44:14 -05:00
Joel Sherrill
9b4422a251 Remove All CVS Id Strings Possible Using a Script
Script does what is expected and tries to do it as
smartly as possible.

+ remove occurrences of two blank comment lines
  next to each other after Id string line removed.
+ remove entire comment blocks which only exited to
  contain CVS Ids
+ If the processing left a blank line at the top of
  a file, it was removed.
2012-05-11 08:44:13 -05:00
Ralf Corsepius
f73cdd5b6e 2011-05-18 Ralf Corsépius <ralf.corsepius@rtems.org>
* libnetworking/sys/signalvar.h: Cosmetics from FreeBSD.
	Comment out psignal().
2011-05-18 05:13:07 +00:00
Ralf Corsepius
7e1d1e4b9a Make self-contained. 2011-05-12 04:10:20 +00:00
Ralf Corsepius
ee613aa252 Include <sys/cdefs.h> (Eliminate rtems/bsd/sys/cdefs.h). 2011-03-24 09:36:14 +00:00
Ralf Corsepius
223fd16b30 2011-03-24 Ralf Corsépius <ralf.corsepius@rtems.org>
* libnetworking/sys/linker_set.h: Add local versions of __used
	and __CONCAT macros.
2011-03-24 09:28:32 +00:00
Ralf Corsepius
db4219ea9f Use <sys/queue.h> instead of <rtems/bsd/sys/queue.h. 2011-03-02 12:06:46 +00:00
Ralf Corsepius
546c4737f5 2011-02-23 Ralf Corsépius <ralf.corsepius@rtems.org>
* libnetworking/sys/signalvar.h: Comment out unused code.
2011-02-23 14:36:05 +00:00
Ralf Corsepius
375c39a358 2010-05-27 Ralf Corsépius <ralf.corsepius@rtems.org>
* libnetworking/sys/socketvar.h (struct sockbuf):
	Use void* instead of caddr_t.
2010-05-27 07:31:49 +00:00
Ralf Corsepius
e7583f67c6 2010-05-27 Ralf Corsépius <ralf.corsepius@rtems.org>
* libnetworking/sys/socket.h (struct sockwakeup):
	Use void* instead of caddr_t.
2010-05-27 04:11:07 +00:00
Ralf Corsepius
34c63d119a 2010-04-14 Ralf Corsépius <ralf.corsepius@rtems.org>
* libnetworking/sys/mbuf.h: Use uintptr_t instead of u_long
	for 16bit target compliance.
2010-04-14 12:43:21 +00:00
Ralf Corsepius
36275c646e 2010-04-14 Ralf Corsépius <ralf.corsepius@rtems.org>
* libnetworking/sys/sysctl.h: Change sysctl_oid->arg2 into int32_t
	for 16bit target compliance.
2010-04-14 10:57:48 +00:00
Ralf Corsepius
f5d5a2dc86 #include <sys/time.h>. 2010-04-02 07:39:34 +00:00
Ralf Corsepius
82292dc51b 2009-12-06 Ralf Corsépius <ralf.corsepius@rtems.org>
* libnetworking/sys/uio.h: Include <sys/types.h>.
	Use ssize_t for uio_resid in struct uio (From FreeBSD).
2009-12-06 08:16:57 +00:00
Ralf Corsepius
b34eb570d3 Partial update from FreeBSD. 2009-02-11 13:21:10 +00:00
Ralf Corsepius
dce90eae64 Remove PSEUDO_* (Unused, not in FreeBSD). 2009-02-11 03:39:59 +00:00
Ralf Corsepius
781c7d9c49 Remove struct linker_set (Unused). 2009-02-11 03:37:21 +00:00
Ralf Corsepius
8eca7190ba 2009-02-11 Ralf Corsépius <ralf.corsepius@rtems.org>
* libnetworking/sys/kernel.h: Remove execsw_set,
	si_elem_t (Unused, not in FreeBSD).
	#include <sys/linker_set.h>.
	Add #ifdef _KERNEL guards (From FreeBSD).
2009-02-11 02:58:27 +00:00
Ralf Corsepius
5d4976285e 2009-02-11 Ralf Corsépius <ralf.corsepius@rtems.org>
* libnetworking/sys/kernel.h: Remove hostnamelen, domainnamelen,
	lbolt, tickdelta, timedelta (Unused, not in FreeBSD).
2009-02-11 01:48:41 +00:00
Ralf Corsepius
d239d9866a Remove struct file, soo_ioctl, soo_select, soo_stat, getsock (Unused). 2009-02-09 22:18:30 +00:00
Ralf Corsepius
1cb54d1f38 #include <stdint.h> instead of <rtems/stdint.h>. 2008-12-11 00:47:56 +00:00
Joel Sherrill
02aaec7647 2008-08-18 Joel Sherrill <joel.sherrill@oarcorp.com>
* libnetworking/lib/ftpfs.c, libnetworking/libc/inet_ntoa.c,
	libnetworking/libc/rcmd.c, libnetworking/nfs/bootp_subr.c,
	libnetworking/rtems/rtems_glue.c,
	libnetworking/rtems/rtems_malloc_mbuf.c,
	libnetworking/rtems/rtems_showicmpstat.c, libnetworking/sys/malloc.h:
	Fix some warnings.
2008-08-18 21:42:41 +00:00
Joel Sherrill
b5bf8cd163 2007-09-24 Joel Sherrill <joel.sherrill@oarcorp.com>
PR 1262/filesystem
	* libcsupport/Makefile.am, libnetworking/libc/herror.c,
	libnetworking/libc/res_send.c, libnetworking/sys/uio.h,
	telnetd/Makefile.am, telnetd/README, telnetd/preinstall.am,
	telnetd/pty.c, telnetd/telnetd.c: Add support for readv() and
	writev() including documentation and test case.
	* libcsupport/src/readv.c, libcsupport/src/writev.c: New files.
2007-09-24 21:35:10 +00:00
Ralf Corsepius
cd9564e1cd Include <rtems/bsd/sys/cdefs.h> instead of <sys/cdefs.h>. 2007-05-10 07:29:14 +00:00
Ralf Corsepius
2016a98667 Remove (moved to include/rtems/bsd/sys/queue.h). 2007-05-10 06:40:07 +00:00
Ralf Corsepius
8fc471a554 Include <rtems/bsd/sys/queue.h> instead of <sys/queue.h>. 2007-05-10 05:07:28 +00:00
Ralf Corsepius
e546aceffb Remove selrecord, selwakeup (Unused). 2007-03-29 08:06:14 +00:00
Ralf Corsepius
014255f85b Remove (Unused). 2007-03-28 15:46:37 +00:00
Ralf Corsepius
1a795c31f8 Change int args to intptr_t because they are casted to pointers. 2007-03-28 04:47:30 +00:00
Ralf Corsepius
3bf2241fd2 Cosmetics from FreeBSD. 2007-03-25 07:33:20 +00:00
Ralf Corsepius
5b8e503495 2007-03-19 Ralf Corsépius <ralf.corsepius@rtems.org>
* libnetworking/sys/buf.h: Remove unused/non-implemented bsd kernel
	  symbols.
2007-03-19 08:28:04 +00:00
Ralf Corsepius
1a26f53b0e Don't include machine/conf.h.
Update copyright notice.
Remove unused/non-implemented declarations.
2007-03-19 07:01:40 +00:00
Ralf Corsepius
6cf0fae8a4 2007-03-19 Ralf Corsépius <ralf.corsepius@rtems.org>
* libnetworking/sys/systm.h: Update copyright notice from FreeBSD.
	Remove many non-supported/unused declarations.
2007-03-19 05:40:12 +00:00
Ralf Corsepius
417edf25a9 2007-03-18 Ralf Corsépius <ralf.corsepius@rtems.org>
* libnetworking/sys/ucred.h: Remove crcopy, crdup, crfree, crget,
	  crhold (Unused/non-implemented).
2007-03-18 14:03:16 +00:00