From: "Theo de Raadt" Subject: Re: send(2): describe sendmmsg(2) in more detail and correct arg list To: Otto Moerbeek Cc: tech@openbsd.org Date: Wed, 30 Sep 2026 05:37:05 -0600 The seperated out text looks better. It is weird how it was commited with "const". Pretty sure that struct should not have const, and you are fixing that also. Otto Moerbeek wrote: > OK? > > -Otto > > Index: sys/send.2 > =================================================================== > RCS file: /home/cvs/src/lib/libc/sys/send.2,v > diff -u -p -r1.35 send.2 > --- sys/send.2 9 Sep 2022 13:52:59 -0000 1.35 > +++ sys/send.2 7 Mar 2024 13:34:07 -0000 > @@ -48,14 +48,15 @@ > .Ft ssize_t > .Fn sendmsg "int s" "const struct msghdr *msg" "int flags" > .Ft int > -.Fn sendmmsg "int s" "const struct mmsghdr *mmsg" "unsigned int vlen" "int flags" > +.Fn sendmmsg "int s" "struct mmsghdr *mmsg" "unsigned int vlen" "int flags" > .Sh DESCRIPTION > .Fn send , > .Fn sendto , > -.Fn sendmsg , > and > +.Fn sendmsg > +are used to transmit one message to another socket. > .Fn sendmmsg > -are used to transmit a message to another socket. > +is used to send one or more messages to another socket. > .Fn send > may be used only when the socket is in a > .Em connected > @@ -78,6 +79,18 @@ underlying protocol, the error > .Er EMSGSIZE > is returned, and > the message is not transmitted. > +.Pp > +The > +.Fn sendmmsg > +function sends multiple messages at a call. > +They are given by the > +.Fa msgvec > +vector along with > +.Fa vlen > +specifying the vector size. > +The number of octets sent per each message is placed in the > +.Fa msg_len > +field of each processed element of the vector after transmission. > .Pp > No indication of failure to deliver is implicit in a > .Fn send . >