newlib-cygwin/newlib/libc/sys/rtems/include
Sebastian Huber 1db7cf5ce6 RTEMS: Add README 2022-07-11 13:19:29 +02:00
..
arpa RTEMS: Remove FreeBSD version tags 2022-07-11 11:52:46 +02:00
machine Reduce namespace pollution from <sys/_types.h> 2022-07-08 06:57:52 +02:00
net arp: Implement sticky ARP mode for interfaces. 2022-07-11 13:19:29 +02:00
netinet tcp: LRO code to deal with all 12 TCP header flags 2022-07-11 13:19:29 +02:00
netinet6 Add IP(V6)_VLAN_PCP to set 802.1 priority per-flow. 2022-07-11 11:52:46 +02:00
sys libc/syslog: fully deprecate and don't try to open "/dev/log" 2022-07-11 13:19:29 +02:00
README RTEMS: Add README 2022-07-11 13:19:29 +02:00
limits.h RTEMS: Increase SEM_VALUE_MAX 2016-12-20 12:39:31 +01:00
netdb.h RTEMS: Remove FreeBSD version tags 2022-07-11 11:52:46 +02:00
poll.h RTEMS: Add <poll.h> and <sys/poll.h> 2021-01-05 13:41:34 -05:00
semaphore.h RTEMS: Remove FreeBSD version tags 2022-07-11 11:52:46 +02:00
syslog.h Add some POSIX header files for RTEMS 2017-05-25 12:41:33 -04:00
termios.h Add tcgetwinsize(3) and tcsetwinsize(3) to termios 2022-07-11 11:52:46 +02:00

README

Some files in this directory are imported from FreeBSD.  The last
synchronization point with FreeBSD is the following FreeBSD commit:

commit 3bf66365129a13933f77d1f4421d5136861cffb4
Author: Brooks Davis <brooks@FreeBSD.org>
Date:   Wed Jul 6 14:03:48 2022 +0100

    cddl/*: add a WITH(OUT)_DTRACE option

    Add an option to enable/disable DTrace without disabling ZFS.  New
    architectures such as CHERI may support ZFS before they support DTrace
    and the old model of WITHOUT_CDDL disabling both wasn't helpful.

    For compatiblity, the CDDL option remains and WITHOUT_CDDL implies
    WITHOUT_DTRACE.  WITHOUT_DTRACE also implies WITHOUT_CTF.

    As part of this change, largely convert cddl/*/Makefile to using the
    more compact SUBDIR.${MK_<FOO>}+= form rather than using intermediate
    variables.

    Reviewed by:    markj
    Obtained from:  CheriBSD
    Sponsored by:   DARPA, AFRL
    Differential Revision:  https://reviews.freebsd.org/D35718

The files imported from FreeSD may be updated to a new FreeBSD baseline through
a patch set generated by this Git command:

git format-patch 3bf66365129a13933f77d1f4421d5136861cffb4 -- \
include/arpa/inet.h include/netdb.h include/termios.h sys/net/if.h \
sys/netinet6/in6.h sys/netinet/in.h sys/netinet/tcp.h sys/sys/filio.h \
sys/sys/ioccom.h sys/sys/_iovec.h sys/sys/mman.h sys/sys/poll.h \
sys/sys/_sockaddr_storage.h sys/sys/socket.h sys/sys/sockio.h \
sys/sys/syslog.h sys/sys/_termios.h sys/sys/ttycom.h sys/sys/ttydefaults.h \
sys/sys/_uio.h sys/sys/uio.h sys/sys/un.h

Use the follwing commands to map FreeBSD paths to Newlib paths:

sed -i 's,include/arpa/inet.h,newlib/libc/sys/rtems/include/arpa/inet.h,g' *.patch
sed -i 's,include/netdb.h,newlib/libc/sys/rtems/include/netdb.h,g' *.patch
sed -i 's,include/termios.h,newlib/libc/sys/rtems/include/termios.h,g' *.patch
sed -i 's,sys/net/if.h,newlib/libc/sys/rtems/include/net/if.h,g' *.patch
sed -i 's,sys/netinet6/in6.h,newlib/libc/sys/rtems/include/netinet6/in6.h,g' *.patch
sed -i 's,sys/netinet/in.h,newlib/libc/sys/rtems/include/netinet/in.h,g' *.patch
sed -i 's,sys/netinet/tcp.h,newlib/libc/sys/rtems/include/netinet/tcp.h,g' *.patch
sed -i 's,sys/sys/filio.h,newlib/libc/sys/rtems/include/sys/filio.h,g' *.patch
sed -i 's,sys/sys/ioccom.h,newlib/libc/sys/rtems/include/sys/ioccom.h,g' *.patch
sed -i 's,sys/sys/_iovec.h,newlib/libc/sys/rtems/include/sys/_iovec.h,g' *.patch
sed -i 's,sys/sys/mman.h,newlib/libc/sys/rtems/include/sys/mman.h,g' *.patch
sed -i 's,sys/sys/poll.h,newlib/libc/sys/rtems/include/sys/poll.h,g' *.patch
sed -i 's,sys/sys/_sockaddr_storage.h,newlib/libc/sys/rtems/include/sys/_sockaddr_storage.h,g' *.patch
sed -i 's,sys/sys/socket.h,newlib/libc/sys/rtems/include/sys/socket.h,g' *.patch
sed -i 's,sys/sys/sockio.h,newlib/libc/sys/rtems/include/sys/sockio.h,g' *.patch
sed -i 's,sys/sys/syslog.h,newlib/libc/sys/rtems/include/sys/syslog.h,g' *.patch
sed -i 's,sys/sys/_termios.h,newlib/libc/sys/rtems/include/sys/_termios.h,g' *.patch
sed -i 's,sys/sys/ttycom.h,newlib/libc/sys/rtems/include/sys/ttycom.h,g' *.patch
sed -i 's,sys/sys/ttydefaults.h,newlib/libc/sys/rtems/include/sys/ttydefaults.h,g' *.patch
sed -i 's,sys/sys/_uio.h,newlib/libc/sys/rtems/include/sys/_uio.h,g' *.patch
sed -i 's,sys/sys/uio.h,newlib/libc/sys/rtems/include/sys/uio.h,g' *.patch
sed -i 's,sys/sys/un.h,newlib/libc/sys/rtems/include/sys/un.h,g' *.patch

Some patches may change kernel space parts of the above header files.  These
parts are contained in kernel space header files provided by RTEMS or LibBSD.
Gather all patches and hunks of patches which belong to the kernel space so
that they can be applied to RTEMS or LibBSD.  Use the following commands to map
Newlib paths to kernel space header files.

sed -i 's,newlib/libc/sys/rtems/include/netinet6/in6.h,cpukit/include/machine/_kernel_in6.h,g' *.patch
sed -i 's,newlib/libc/sys/rtems/include/netinet/in.h,cpukit/include/machine/_kernel_in.h,g' *.patch
sed -i 's,newlib/libc/sys/rtems/include/sys/cpuset.h,cpukit/include/machine/_kernel_cpuset.h,g' *.patch
sed -i 's,newlib/libc/sys/rtems/include/sys/mman.h,cpukit/include/machine/_kernel_mman.h,g' *.patch
sed -i 's,newlib/libc/sys/rtems/include/sys/param.h,cpukit/include/machine/_kernel_param.h,g' *.patch
sed -i 's,newlib/libc/sys/rtems/include/sys/time.h,cpukit/include/machine/_kernel_time.h,g' *.patch
sed -i 's,newlib/libc/sys/rtems/include/sys/types.h,cpukit/include/machine/_kernel_types.h,g' *.patch
sed -i 's,newlib/libc/sys/rtems/include/sys/uio.h,cpukit/include/machine/_kernel_uio.h,g' *.patch

sed -i 's,newlib/libc/sys/rtems/include/net/if.h,rtemsbsd/include/machine/_kernel_if.h,g' *.patch
sed -i 's,newlib/libc/sys/rtems/include/sys/lock.h,rtemsbsd/include/machine/_kernel_lock.h,g' *.patch
sed -i 's,newlib/libc/sys/rtems/include/sys/socket.h,rtemsbsd/include/machine/_kernel_socket.h,g' *.patch