diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -52,6 +52,42 @@ # xargs -n1 | sort | uniq -d; # done +# 20230214: libmchain man pages removed +OLD_FILES+=usr/share/man/man9/mbchain.9.gz +OLD_FILES+=usr/share/man/man9/mb_detach.9.gz +OLD_FILES+=usr/share/man/man9/mb_done.9.gz +OLD_FILES+=usr/share/man/man9/mb_fixhdr.9.gz +OLD_FILES+=usr/share/man/man9/mb_init.9.gz +OLD_FILES+=usr/share/man/man9/mb_initm.9.gz +OLD_FILES+=usr/share/man/man9/mb_put_int64be.9.gz +OLD_FILES+=usr/share/man/man9/mb_put_int64le.9.gz +OLD_FILES+=usr/share/man/man9/mb_put_mbuf.9.gz +OLD_FILES+=usr/share/man/man9/mb_put_mem.9.gz +OLD_FILES+=usr/share/man/man9/mb_put_uint16be.9.gz +OLD_FILES+=usr/share/man/man9/mb_put_uint16le.9.gz +OLD_FILES+=usr/share/man/man9/mb_put_uint32be.9.gz +OLD_FILES+=usr/share/man/man9/mb_put_uint32le.9.gz +OLD_FILES+=usr/share/man/man9/mb_put_uint8.9.gz +OLD_FILES+=usr/share/man/man9/mb_put_uio.9.gz +OLD_FILES+=usr/share/man/man9/mb_reserve.9 +OLD_FILES+=usr/share/man/man9/md_append_record.9.gz +OLD_FILES+=usr/share/man/man9/md_done.9.gz +OLD_FILES+=usr/share/man/man9/md_get_int64.9.gz +OLD_FILES+=usr/share/man/man9/md_get_int64be.9.gz +OLD_FILES+=usr/share/man/man9/md_get_int64le.9.gz +OLD_FILES+=usr/share/man/man9/md_get_mbuf.9.gz +OLD_FILES+=usr/share/man/man9/md_get_mem.9.gz +OLD_FILES+=usr/share/man/man9/md_get_uint16.9.gz +OLD_FILES+=usr/share/man/man9/md_get_uint16be.9.gz +OLD_FILES+=usr/share/man/man9/md_get_uint16le.9.gz +OLD_FILES+=usr/share/man/man9/md_get_uint32.9.gz +OLD_FILES+=usr/share/man/man9/md_get_uint32be.9.gz +OLD_FILES+=usr/share/man/man9/md_get_uint32le.9.gz +OLD_FILES+=usr/share/man/man9/md_get_uint8.9.gz +OLD_FILES+=usr/share/man/man9/md_get_uio.9.gz +OLD_FILES+=usr/share/man/man9/md_initm.9.gz +OLD_FILES+=usr/share/man/man9/md_next_record.9 + # 20230208: new clang import which bumps version from 14.0.5 to 15.0.7 OLD_FILES+=usr/lib/clang/14.0.5/include/cuda_wrappers/algorithm OLD_FILES+=usr/lib/clang/14.0.5/include/cuda_wrappers/complex diff --git a/share/man/man9/Makefile b/share/man/man9/Makefile --- a/share/man/man9/Makefile +++ b/share/man/man9/Makefile @@ -212,11 +212,9 @@ mac.9 \ make_dev.9 \ malloc.9 \ - mbchain.9 \ mbuf.9 \ mbuf_tags.9 \ MD5.9 \ - mdchain.9 \ memcchr.9 \ memguard.9 \ microseq.9 \ @@ -1441,22 +1439,6 @@ malloc.9 realloc.9 \ malloc.9 reallocf.9 \ malloc.9 zfree.9 -MLINKS+=mbchain.9 mb_detach.9 \ - mbchain.9 mb_done.9 \ - mbchain.9 mb_fixhdr.9 \ - mbchain.9 mb_init.9 \ - mbchain.9 mb_initm.9 \ - mbchain.9 mb_put_int64be.9 \ - mbchain.9 mb_put_int64le.9 \ - mbchain.9 mb_put_mbuf.9 \ - mbchain.9 mb_put_mem.9 \ - mbchain.9 mb_put_uint16be.9 \ - mbchain.9 mb_put_uint16le.9 \ - mbchain.9 mb_put_uint32be.9 \ - mbchain.9 mb_put_uint32le.9 \ - mbchain.9 mb_put_uint8.9 \ - mbchain.9 mb_put_uio.9 \ - mbchain.9 mb_reserve.9 MLINKS+=\ mbuf.9 m_adj.9 \ mbuf.9 m_align.9 \ @@ -1523,23 +1505,6 @@ mbuf_tags.9 m_tag_unlink.9 MLINKS+=MD5.9 MD5Init.9 \ MD5.9 MD5Transform.9 -MLINKS+=mdchain.9 md_append_record.9 \ - mdchain.9 md_done.9 \ - mdchain.9 md_get_int64.9 \ - mdchain.9 md_get_int64be.9 \ - mdchain.9 md_get_int64le.9 \ - mdchain.9 md_get_mbuf.9 \ - mdchain.9 md_get_mem.9 \ - mdchain.9 md_get_uint16.9 \ - mdchain.9 md_get_uint16be.9 \ - mdchain.9 md_get_uint16le.9 \ - mdchain.9 md_get_uint32.9 \ - mdchain.9 md_get_uint32be.9 \ - mdchain.9 md_get_uint32le.9 \ - mdchain.9 md_get_uint8.9 \ - mdchain.9 md_get_uio.9 \ - mdchain.9 md_initm.9 \ - mdchain.9 md_next_record.9 MLINKS+=microtime.9 bintime.9 \ microtime.9 getbintime.9 \ microtime.9 getmicrotime.9 \ diff --git a/share/man/man9/mbchain.9 b/share/man/man9/mbchain.9 deleted file mode 100644 --- a/share/man/man9/mbchain.9 +++ /dev/null @@ -1,222 +0,0 @@ -.\" -*- nroff -*- -.\" -.\" Copyright (c) 2001 Boris Popov -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR -.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, -.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.\" $FreeBSD$ -.\" -.Dd February 20, 2001 -.Dt MBCHAIN 9 -.Os -.Sh NAME -.Nm mbchain , -.Nm mb_init , -.Nm mb_initm , -.Nm mb_done , -.Nm mb_detach , -.Nm mb_fixhdr , -.Nm mb_reserve , -.Nm mb_put_uint8 , -.Nm mb_put_uint16be , -.Nm mb_put_uint16le , -.Nm mb_put_uint32be , -.Nm mb_put_uint32le , -.Nm mb_put_int64be , -.Nm mb_put_int64le , -.Nm mb_put_mem , -.Nm mb_put_mbuf , -.Nm mb_put_uio -.Nd "set of functions to build an mbuf chain from various data types" -.Sh SYNOPSIS -.Cd options LIBMCHAIN -.Li kldload libmchain -.Pp -.In sys/param.h -.In sys/uio.h -.In sys/mchain.h -.Ft int -.Fn mb_init "struct mbchain *mbp" -.Ft void -.Fn mb_initm "struct mbchain *mbp" "struct mbuf *m" -.Ft void -.Fn mb_done "struct mbchain *mbp" -.Ft struct mbuf * -.Fn mb_detach "struct mbchain *mbp" -.Ft int -.Fn mb_fixhdr "struct mbchain *mbp" -.Ft caddr_t -.Fn mb_reserve "struct mbchain *mbp" "int size" -.Ft int -.Fn mb_put_uint8 "struct mbchain *mbp" "uint8_t x" -.Ft int -.Fn mb_put_uint16be "struct mbchain *mbp" "uint16_t x" -.Ft int -.Fn mb_put_uint16le "struct mbchain *mbp" "uint16_t x" -.Ft int -.Fn mb_put_uint32be "struct mbchain *mbp" "uint32_t x" -.Ft int -.Fn mb_put_uint32le "struct mbchain *mbp" "uint32_t x" -.Ft int -.Fn mb_put_int64be "struct mbchain *mbp" "int64_t x" -.Ft int -.Fn mb_put_int64le "struct mbchain *mbp" "int64_t x" -.Ft int -.Fn mb_put_mem "struct mbchain *mbp" "c_caddr_t source" "int size" "int type" -.Ft int -.Fn mb_put_mbuf "struct mbchain *mbp" "struct mbuf *m" -.Ft int -.Fn mb_put_uio "struct mbchain *mbp" "struct uio *uiop" "int size" -.Sh DESCRIPTION -These functions are used to compose mbuf chains from various data types. -The -.Vt mbchain -structure is used as a working context and should be initialized with a call -to either -.Fn mb_init -or -.Fn mb_initm . -It has the following fields: -.Bl -tag -width ".Va mb_count" -.It Va "mb_top" -.Pq Vt "struct mbuf *" -A pointer to the top of constructed mbuf chain. -.It Va mb_cur -.Pq Vt "struct mbuf *" -A pointer to the currently filled mbuf. -.It Va mb_mleft -.Pq Vt int -Number of bytes left in the current mbuf. -.It Va mb_count -.Pq Vt int -Total number of bytes placed in the mbuf chain. -.It Va mb_copy -.Pq Vt "mb_copy_t *" -User-defined function to perform a copy into mbuf; -useful if any unusual -data conversion is necessary. -.It Va mb_udata -.Pq Vt "void *" -User-supplied data which can be used in the -.Va mb_copy -function. -.El -.Pp -.Fn mb_done -function disposes an mbuf chain pointed to by -.Fa mbp->mb_top -field and sets -the field to -.Dv NULL . -.Pp -.Fn mb_detach -function returns the value of -.Fa mbp->mb_top -field and sets its value to -.Dv NULL . -.Pp -.Fn mb_fixhdr -recalculates the length of an mbuf chain and updates the -.Va m_pkthdr.len -field of the first mbuf in the chain. -It returns the calculated length. -.Pp -.Fn mb_reserve -ensures that the object of the length specified by the -.Fa size -argument will fit in the current mbuf (mbuf allocation is performed if -necessary), and advances all pointers as if the real data was placed. -Returned -value will point to the beginning of the reserved space. -Note that the size -of the object should not exceed -.Dv MLEN -bytes. -.Pp -All -.Fn mb_put_* -functions perform an actual copy of the data into mbuf chain. -Functions which have -.Cm le -or -.Cm be -suffixes will perform conversion to the little\- or big\-endian data formats. -.Pp -.Fn mb_put_mem -function copies -.Fa size -bytes of data specified by the -.Fa source -argument to an mbuf chain. -The -.Fa type -argument specifies the method used to perform a copy, -and can be one of the following: -.Bl -tag -width ".Dv MB_MINLINE" -.It Dv MB_MSYSTEM -Use -.Fn bcopy -function. -.It Dv MB_MUSER -Use -.Xr copyin 9 -function. -.It Dv MB_MINLINE -Use an -.Dq inline -loop which does not call any function. -.It Dv MB_MZERO -Do not copy any data, but just fill the destination with zero bytes. -.It Dv MB_MCUSTOM -Call function specified by the -.Fa mbp->mb_copy -field. -.El -.Sh RETURN VALUES -All -.Ft int -functions except -.Fn mb_fixhdr -return zero if successful and an error code otherwise. -.Pp -.Em Note : -after failure of any function, an mbuf chain is left in the broken state, -and only -.Fn mb_done -function can safely be called to destroy it. -.Sh EXAMPLES -.Bd -literal -struct mbchain *mbp; -struct mbuf *m; - -mb_init(mbp); -mb_put_uint8(mbp, 33); -mb_put_uint16le(mbp, length); -m = m_copym(mbp->mb_top, 0, M_COPYALL, M_WAIT); -send(m); -mb_done(mbp); -.Ed -.Sh SEE ALSO -.Xr mbuf 9 , -.Xr mdchain 9 -.Sh AUTHORS -This manual page was written by -.An Boris Popov Aq Mt bp@FreeBSD.org . diff --git a/share/man/man9/mdchain.9 b/share/man/man9/mdchain.9 deleted file mode 100644 --- a/share/man/man9/mdchain.9 +++ /dev/null @@ -1,211 +0,0 @@ -.\" -*- nroff -*- -.\" -.\" Copyright (c) 2001 Boris Popov -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR -.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, -.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.\" $FreeBSD$ -.\" -.Dd February 28, 2001 -.Dt MDCHAIN 9 -.Os -.Sh NAME -.Nm mdchain , -.Nm md_initm , -.Nm md_done , -.Nm md_append_record , -.Nm md_next_record , -.Nm md_get_uint8 , -.Nm md_get_uint16 , -.Nm md_get_uint16be , -.Nm md_get_uint16le , -.Nm md_get_uint32 , -.Nm md_get_uint32be , -.Nm md_get_uint32le , -.Nm md_get_int64 , -.Nm md_get_int64be , -.Nm md_get_int64le , -.Nm md_get_mem , -.Nm md_get_mbuf , -.Nm md_get_uio -.Nd "set of functions to dissect an mbuf chain to various data types" -.Sh SYNOPSIS -.Cd options LIBMCHAIN -.Li kldload libmchain -.Pp -.In sys/param.h -.In sys/uio.h -.In sys/mchain.h -.Ft void -.Fn md_initm "struct mdchain *mdp" "struct mbuf *m" -.Ft void -.Fn md_done "struct mdchain *mdp" -.Ft void -.Fn md_append_record "struct mdchain *mdp" "struct mbuf *top" -.Ft int -.Fn md_next_record "struct mdchain *mdp" -.Ft int -.Fn md_get_uint8 "struct mdchain *mdp" "uint8_t *x" -.Ft int -.Fn md_get_uint16 "struct mdchain *mdp" "uint16_t *x" -.Ft int -.Fn md_get_uint16be "struct mdchain *mdp" "uint16_t *x" -.Ft int -.Fn md_get_uint16le "struct mdchain *mdp" "uint16_t *x" -.Ft int -.Fn md_get_uint32 "struct mdchain *mdp" "uint32_t *x" -.Ft int -.Fn md_get_uint32be "struct mdchain *mdp" "uint32_t *x" -.Ft int -.Fn md_get_uint32le "struct mdchain *mdp" "uint32_t *x" -.Ft int -.Fn md_get_int64 "struct mdchain *mdp" "int64_t *x" -.Ft int -.Fn md_get_int64be "struct mdchain *mdp" "int64_t *x" -.Ft int -.Fn md_get_int64le "struct mdchain *mdp" "int64_t *x" -.Ft int -.Fn md_get_mem "struct mdchain *mdp" "caddr_t target" "int size" "int type" -.Ft int -.Fn md_get_mbuf "struct mdchain *mdp" "int size" "struct mbuf **m" -.Ft int -.Fn md_get_uio "struct mdchain *mdp" "struct uio *uiop" "int size" -.Sh DESCRIPTION -These functions are used to decompose mbuf chains to various data types. -The -.Vt mdchain -structure is used as a working context -and should be initialized through a call of the -.Fn mb_initm -function. -It has the following fields: -.Bl -tag -width "md_top" -.It Va "md_top" -.Pq Vt "struct mbuf *" -A pointer to the top of the parsed mbuf chain. -.It Va md_cur -.Pq Vt "struct mbuf *" -A pointer to the currently parsed mbuf. -.It Va md_pas -.Pq Vt int -Offset in the current mbuf. -.El -.Pp -The -.Fn md_done -function disposes of an mbuf chain pointed to by the -.Fa mdp->md_top -field and sets the field to -.Dv NULL . -.Pp -The -.Fn md_append_record -appends a new mbuf chain using -.Va m_nextpkt -field to form a single linked list of mbuf chains. -If the -.Fa mdp->md_top -field is -.Dv NULL , -then this function behaves exactly as the -.Fn md_initm -function. -.Pp -The -.Fn md_next_record -function extracts the next mbuf chain and disposes the current one, if any. -For a new mbuf chain it calls the -.Fn md_initm -function. -If there is no data left the function returns -.Er ENOENT . -.Pp -All -.Fn md_get_* -functions perform an actual copy of the data from an mbuf chain. -Functions which have -.Cm le -or -.Cm be -suffixes will perform conversion to the little\- or big\-endian data formats. -.Pp -.Fn md_get_mem -function copies -.Fa size -bytes of data specified by the -.Fa source -argument from an mbuf chain. -The -.Fa type -argument specifies the method used to perform a copy, -and can be one of the following: -.Bl -tag -width ".Dv MB_MINLINE" -.It Dv MB_MSYSTEM -Use the -.Fn bcopy -function. -.It Dv MB_MUSER -Use the -.Xr copyin 9 -function. -.It Dv MB_MINLINE -Use an -.Dq inline -loop which does not call any function. -.El -.Pp -If -.Fa target -is -.Dv NULL , -an actual copy is not performed -and the function just skips the given number of bytes. -.Sh RETURN VALUES -All -.Ft int -functions return zero if successful, -otherwise an error code is returned. -.Pp -.Em Note : -after failure of any function, -an mbuf chain is left in the broken state and only the -.Fn md_done -function can safely be called to destroy it. -.Sh EXAMPLES -.Bd -literal -struct mdchain *mdp; -struct mbuf *m; -uint16_t length; -uint8_t byte; - -receive(so, &m); -md_initm(mdp, m); -if (md_get_uint8(mdp, &byte) != 0 || - md_get_uint16le(mdp, &length) != 0) - error = EBADRPC; -mb_done(mdp); -.Ed -.Sh SEE ALSO -.Xr mbchain 9 , -.Xr mbuf 9 -.Sh AUTHORS -This manual page was written by -.An Boris Popov Aq Mt bp@FreeBSD.org . diff --git a/sys/netsmb/smb_subr_mchain.c b/sys/netsmb/smb_subr_mchain.c --- a/sys/netsmb/smb_subr_mchain.c +++ b/sys/netsmb/smb_subr_mchain.c @@ -55,6 +55,10 @@ * Various helper functions for chains of mbufs. This logic was formerly its * own module, libmchain. smbfs has long been its only consumer, and so its * scope was decreased. + * + * The (deleted) API reference can be obtained from version control: + * `git checkout 8a7314fcb534 -- share/man/man9/mbchain.9` + * `git checkout 8a7314fcb534 -- share/man/man9/mdchain.9` */ int