From nobody Wed Jan 21 17:28:56 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dxB4m6KZnz6PTnx for ; Wed, 21 Jan 2026 17:28:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dxB4m3zZ1z3vgv for ; Wed, 21 Jan 2026 17:28:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769016536; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0maPFdCZUanXOKF4iCmdVfDIe1ZIbmWBOh6Cqmn7mCk=; b=SxczM/a4pAN5h7coZPZKv4s8EKctDTYZ9/yDVP1vUUPSd9lqJiWLFglPrC/IJDWz19dzgT HgejSuzHqA6alTjeM6p8LmuzIdhcdDOGLPbQM3/cKLGGFSxk/E410IsIsn/KQp/DHjC3No OXgHi+Jm+hqiUPNl+KQZD2DCkgK4E3y2svlp2hnrs8wb69YvyT9CEzsz+fxIdvrsRTisxG ilQ4tMWfSF0dLO2OxHLUhiNelJNgo75UiBEpQb2oL/Yk8nC+COrvdRN2rfAc4q4YRVRkDR f0ta4v+2jaLGRMSMx7vtZ9diEBWRJcBqn1ObKC6WKhZ+fzFP3JPDbMX4Gm6Ezw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769016536; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0maPFdCZUanXOKF4iCmdVfDIe1ZIbmWBOh6Cqmn7mCk=; b=L/XpIDatqnew6cdUgvx/FxfgdMPIavIJR0NlULAUs0AR4tPfzFppeSyhafx9t0cQ4wHYOY e5TrwrMRru7Z5EmN8pF4GDgDVft7x9e7+qqePVVWHhOvoNTa44LUInARQL/1gRMdFBsU0S STs8cccI3w6TygU7ZbJCj0IYGZezwVGu5aCXPjbBFDa9DM8uqmNoBhibm6YHkYufsjHXnO oJHvXFvx9IdgOSDjR+MvRbP4JTkmFikOV3hqkFRrQ7qdgcBa7cHwfIXAjvYO3b2oD0Wk94 FI4sSSCaL1A6kRSZbtFrXPPeVpeM3KXYMZfGd8VqXktwWijoXq5Wnj3gnUjIxA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769016536; a=rsa-sha256; cv=none; b=XkseKGGXa8C/AExbwyiFZgIMcIxkBjIOh7jqBCzIgbK5lzBCiI2IYM6BJCgi8OMax+Ri+6 +zEYyVnknF1xQPSQwGjieBDxOmW7YdqotKj/nMWKYoVIrrVcc+b4CLIx6AyRwQUnK8AhN7 J/izGl34WUSfAj4K8AoyrI4b9YjUijCfMvW6+szlVbBoqV6gAgOMDp5kbYeY5/zbJFo9Kc QEa5YWwKdSdGx/ZsvXH+AHj16ADDnJ1olp9bgAMQox5AuJj89zx9dDFoUTRdZu+UZUImI+ u9WXIca0GiPSgsbf7Y1Nm0vsSWtkCk1I2MxdTNIapBhgNPhl0IPw3qjCkUU/3g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dxB4m2HzZzx4C for ; Wed, 21 Jan 2026 17:28:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3d7ad by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 21 Jan 2026 17:28:56 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Artem Bunichev From: Alexander Ziaee Subject: git: 2c6bee2b23db - main - socket.2: Cross-reference protocol families List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2c6bee2b23db9ec231a6fa2979093eeae10aaf91 Auto-Submitted: auto-generated Date: Wed, 21 Jan 2026 17:28:56 +0000 Message-Id: <69710cd8.3d7ad.5cdc1956@gitrepo.freebsd.org> The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=2c6bee2b23db9ec231a6fa2979093eeae10aaf91 commit 2c6bee2b23db9ec231a6fa2979093eeae10aaf91 Author: Artem Bunichev AuthorDate: 2026-01-21 17:25:29 +0000 Commit: Alexander Ziaee CommitDate: 2026-01-21 17:25:36 +0000 socket.2: Cross-reference protocol families While here, make wider use of Dv for socket types and protocol families and reference fcntl(2) flags for the `type` argument values. MFC after: 3 days Reviewed by: glebius, ziaee Differential Revision: https://reviews.freebsd.org/D54434 --- lib/libsys/socket.2 | 137 +++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 110 insertions(+), 27 deletions(-) diff --git a/lib/libsys/socket.2 b/lib/libsys/socket.2 index 48b8f4e87489..fbf6b4e12df0 100644 --- a/lib/libsys/socket.2 +++ b/lib/libsys/socket.2 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd September 28, 2025 +.Dd January 17, 2026 .Dt SOCKET 2 .Os .Sh NAME @@ -52,20 +52,66 @@ These families are defined in the include file .In sys/socket.h . The currently understood formats are: .Pp -.Bd -literal -offset indent -compact -PF_LOCAL Host-internal protocols (alias for PF_UNIX), -PF_UNIX Host-internal protocols, -PF_INET Internet version 4 protocols, -PF_INET6 Internet version 6 protocols, -PF_DIVERT Firewall packet diversion/re-injection, -PF_ROUTE Internal routing protocol, -PF_KEY Internal key-management function, -PF_NETGRAPH Netgraph sockets, -PF_NETLINK Netlink protocols, -PF_BLUETOOTH Bluetooth protocols, -PF_INET_SDP OFED socket direct protocol (IPv4), -PF_HYPERV HyperV sockets -.Ed +.Bl -tag -width "PF_BLUETOOTH" +.It Dv PF_LOCAL +Host-internal protocols (alias for +.Dv PF_UNIX ) . +.It Dv PF_UNIX +Host-internal protocols. +See +.Xr unix 4 . +.It Dv PF_INET +Internet version 4 protocols. +See +.Xr icmp 4 , +.Xr igmp 4 , +.Xr ip 4 , +.Xr sctp 4 , +.Xr tcp 4 , +.Xr udp 4 , +.Xr udplite 4 . +.It Dv PF_INET6 +Internet version 6 protocols. +See +.Xr icmp6 4 , +.Xr ip6 4 , +.Xr mld 4 . +.It Dv PF_DIVERT +Firewall packet diversion/re-injection. +See +.Xr divert 4 . +.It Dv PF_ROUTE +Legacy protocol to control routing tables and receive network +configuration events from the kernel. +New applications should prefer +.Xr rtnetlink 4 +over +.Xr route 4 . +.It Dv PF_KEY +Internal key-management function. +See +.Xr ipsec 4 . +.It Dv PF_NETGRAPH +Netgraph sockets. +See +.Xr netgraph 3 +and +.Xr ng_socket 4 . +.It Dv PF_NETLINK +Netlink protocols. +See +.Xr genetlink 4 , +.Xr netlink 4 , +.Xr rtnetlink 4 . +.It Dv PF_BLUETOOTH +Bluetooth protocols. +See +.Xr ng_btsocket 4 . +.It Dv PF_INET_SDP +OFED socket direct protocol (IPv4). +.It Dv PF_HYPERV +HyperV sockets. +.El .Pp Each protocol family is connected to an address family, which has the same name except that the prefix is @@ -82,22 +128,47 @@ which specifies the semantics of communication. Currently defined types are: .Pp -.Bd -literal -offset indent -compact -SOCK_STREAM Stream socket, -SOCK_DGRAM Datagram socket, -SOCK_RAW Raw-protocol interface, -SOCK_SEQPACKET Sequenced packet stream -.Ed +.Bl -tag -width "SOCK_SEQPACKET" +.It Dv SOCK_STREAM +Stream socket. +.It Dv SOCK_DGRAM +Datagram socket. +.It Dv SOCK_RAW +Raw-protocol interface. +.It Dv SOCK_SEQPACKET +Sequenced packet stream. +.El .Pp Additionally, the following flags are allowed in the .Fa type argument: .Pp -.Bd -literal -offset indent -compact -SOCK_CLOEXEC Set close-on-exec on the new descriptor, -SOCK_CLOFORK Set close-on-fork on the new descriptor, -SOCK_NONBLOCK Set non-blocking mode on the new socket -.Ed +.Bl -tag -width "SOCK_NONBLOCK" +.It Dv SOCK_CLOEXEC +Set close-on-exec on the new socket. +See +.Xr fcntl 2 +.Dv FD_CLOEXEC +flag for +.Dv F_GETFD +command. +.It Dv SOCK_CLOFORK +Set close-on-fork on the new socket. +See +.Xr fcntl 2 +.Dv FD_CLOFORK +flag for +.Dv F_GETFD +command. +.It Dv SOCK_NONBLOCK +Set non-blocking mode on the new socket. +See +.Xr fcntl 2 +.Dv O_NONBLOCK +flag for +.Dv F_SETFL +command. +.El .Pp The .Fa protocol @@ -423,10 +494,22 @@ The socket type is not supported by the protocol. .Xr write 2 , .Xr CMSG_DATA 3 , .Xr getprotoent 3 , +.Xr netgraph 3 , .Xr divert 4 , +.Xr genetlink 4 , +.Xr icmp 4 , +.Xr icmp6 4 , +.Xr igmp 4 , .Xr ip 4 , .Xr ip6 4 , -.Xr netgraph 4 , +.Xr ipsec 4 , +.Xr netlink 4 , +.Xr ng_socket 4 , +.Xr route 4 , +.Xr rtnetlink 4 , +.Xr sctp 4 , +.Xr tcp 4 , +.Xr udp 4 , .Xr protocols 5 .Rs .%T "An Introductory 4.3 BSD Interprocess Communication Tutorial"