#1 - sys/crc32.h is split out of sys/libkern.h to avoid conflicts
between zlib's crc32 and system crc32.
#2 - Use contrib/zstd/lib/freebsd's stdlib compatible includes.
#3 - ZLIB_C is created con/kern.pre.mk to share compile paths.
-I contrib/zlib
-I sys/contrib/zstd/lib/freebsd
-DZ_PREIFX
#4 - opencryptodeflate.c
zfs.state->dummy is an address and doesn't seem to be useful.
Its DTRACE probe is removed.
#5 - zfs has its own copy of zlib, too.
- sys/cddl/contrib/opensolaris/uts/common/zmod has zlib
version 1.2.3 in 2005
- However, it looks this code is not used and removed.
#6 - netgraph/deflate.c needs and uses FreeBSD enhancements to zlib.
Moved sys/zlib.h to netgraph/ng_zlib.h, sys/libkern/zlib.c to
netgraph/ng_zlib.c, and netgraph/deflate.c includes netgraph/ng_zlib.c
to compile as a part of deflate.c.
Prefixed with ng_ for inflate() and deflate() to emphasize that
these are the FreeBSD specific implementations.
All of ng_zlib.h functions are marked static.
TODOs
1 - Should we move contrib/zlib to sys/contrib/zlib?
2 - GZIP APIs are redefined in multiple places as static functions.