<sys/kinfo.h>: Fix legacy inclusion issues. Sadly this header was not being included properly for a long time. Make it publicly accessible and put a big NOTE how to do it properly for future codes. This makes the <sys/user.h> the only other header that defines _KERNEL_STRUCTURES to solve long term inclusion order issues. Previous variant was hiding implicit dependencies, adjust netstat(1). Any changes in this header breaks a lot of ports, try not to change any of the structs. Also make sure KERN_SIGTRAMP has public visibility. While there remove two defines that were not used since introduced in 5dfd06ac148512faf075c4e399e8485fd955578f
Remove support for the IPX and NCP protocols, and for NWFS. This was on the list for a longer time now. FreeBSD removed it recently, too. Their commit msg has some more info: "IPX was a network transport protocol in Novell's NetWare network operating system from late 80s and then 90s. The NetWare itself switched to TCP/IP as default transport in 1998. Later, in this century the Novell Open Enterprise Server became successor of Novell NetWare. The last release that claimed to still support IPX was OES 2 in 2007. Routing equipment vendors (e.g. Cisco) discontinued support for IPX in 2011." The commit removes support for NCP (NetWare Core Protocol) and NWFS (NetWare File System) along with it (both gone from FreeBSD too since a while).
netstat: Make netstat -rn more resilient to having the routing table changing Obtained-from: FreeBSD 176289 by jhb "Make netstat -rn more resilient to having the routing table change out from under it while running. Note that this is still not perfect: - Try to do something intelligent if kvm_read() fails to read a routing table structure such as an rtentry, radix_node, or ifnet. - Don't follow left and right node pointers in radix_nodes unless RNF_ACTIVE is set in rn_flags. This avoids walking through freed radix_nodes."
gcc47 warnings: A few more fixes usr.bin/make pass -fno-address, NO_WERROR=true usr.bin/monitor modified source file usr.bin/netstat modified source file (2) usr.bin/sdpquery WARNS=2, pass -fno-unused-but-set-variable Make has several evaluations that gcc47 believes will always (without exception) evaluate to true or false. Likely gcc47 is not detecting some cases correctly, so -Wno-address was passed to it. However, -Werror overrides it, so NO_WERROR had to be set on this Makefile. The remaining GCC warnings will be left for swildner to handle. The -Werror flag will be suppress for GCC47 until further notice.