From nobody Fri Aug 12 17:26:49 2022 X-Original-To: dev-commits-src-main@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 4M49b02ggJz4Y059; Fri, 12 Aug 2022 17:26:52 +0000 (UTC) (envelope-from ler@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (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 "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4M49b025Nvz3NB6; Fri, 12 Aug 2022 17:26:52 +0000 (UTC) (envelope-from ler@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1660325212; 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: in-reply-to:in-reply-to:references:references; bh=dghtdp5L7VqLM0KfBKc6WM/T1QXKbeMiKhE44D85Fys=; b=daqWOMtVOMYB1O2pfho0Tyg1Hkkc9qtsvpselRyunasHL4w1pSqS5aRQDRTx/FZoT3KsVB 2qoPRapzWL5nbl4vQJBeQhqyC0ODmJbe5f8WnWaL1cVxbNy6vmirA0ihMyK/DblaYjZTSp PHCiSu8Oe8PBFh3BiYTrfK3nh8IaqANA6CK/b7BkO2+2TuepkBSRnYrtcekdj1XP7C7aBz P1AUcADAeqL1HWikYccQ2KEEGT5iVCdpapllfLUwW7Ac2fouFjKXTrPiDlqYVhBRsyd00z QsxIa6qvfulh/lZl0uvamS0LZL68SrvAuHv7WiNf6rbamSFMYkhTrDxBsnRxlg== Received: from thebighonker.lerctr.org (thebighonker.lerctr.org [IPv6:2602:fcdb:0:10:7ae3:b5ff:fe1b:23b4]) (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 (2048 bits) client-digest SHA256) (Client CN "*.lerctr.org", Issuer "R3" (verified OK)) (Authenticated sender: ler/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4M49b00q0Vz1N8R; Fri, 12 Aug 2022 17:26:52 +0000 (UTC) (envelope-from ler@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lerctr.org; s=ler2019; h=Content-Transfer-Encoding:Content-Type:Message-ID:References: In-Reply-To:Subject:Cc:To:From:Date:MIME-Version:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=dghtdp5L7VqLM0KfBKc6WM/T1QXKbeMiKhE44D85Fys=; b=U83phB5Gmn3N/quKJ7RKOhUxii SYS8TptwNDNv1No8yRdgaqzOKlGuXSMCrTrNsCzcmAvmyV7UA0CWl/aV0uJ2m0A4Ve9AT7DH2MmL7 XBWd2464dbOGhfr0Z1FTh57u3nMDrxi4vPtPvpAhrqxBj2wSU+UZbNB4LZXLhnzx5ob5rFGGFj/E5 AHD5XC2J+FfZjt+Mxjg8dTHipp2BZkBLH+lJ51gEnuHAeP/sFNQs0YDoZhZB3PoyGHSTxIUCJvP+v AzjP2mDAOIPiVUV4kPMt85lbV4rr+rerUY+IiyMlyCsJ6sJC26Si+7oc6enuz8BqgsuD+rdNp1Iix XWWj0ugw==; Authentication-Results: thebighonker.lerctr.org; iprev=pass (thebighonker.lerctr.org) smtp.remote-ip=2602:fcdb:0:10:7ae3:b5ff:fe1b:23b4; auth=pass (LOGIN) smtp.auth=ler@lerctr.org; spf=softfail smtp.mailfrom=FreeBSD.org; dmarc=skipped header.from=FreeBSD.org; arc=none Received-SPF: softfail (thebighonker.lerctr.org: transitioning domain of FreeBSD.org does not designate 2602:fcdb:0:10:7ae3:b5ff:fe1b:23b4 as permitted sender) client-ip=2602:fcdb:0:10:7ae3:b5ff:fe1b:23b4; envelope-from=ler@FreeBSD.org; helo=webmail.lerctr.org; Received: from thebighonker.lerctr.org ([2602:fcdb:0:10:7ae3:b5ff:fe1b:23b4]:20810 helo=webmail.lerctr.org) by thebighonker.lerctr.org with esmtpsa (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.95 (FreeBSD)) (envelope-from ) id 1oMYQs-000111-28; Fri, 12 Aug 2022 12:26:50 -0500 Received: from 2600:1700:210:b18f:b9c7:5d38:a0f5:985a by webmail.lerctr.org with HTTP (HTTP/1.1 POST); Fri, 12 Aug 2022 12:26:49 -0500 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Date: Fri, 12 Aug 2022 12:26:49 -0500 From: Larry Rosenman To: Gleb Smirnoff Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 886fc1e80490 - main - protosw: provide prototypes for all protocol switch methods In-Reply-To: <202208121532.27CFWkid042790@gitrepo.freebsd.org> References: <202208121532.27CFWkid042790@gitrepo.freebsd.org> Message-ID: <5dbaa97b12b77c07577806052c0254c7@FreeBSD.org> X-Sender: ler@FreeBSD.org Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1660325212; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=dghtdp5L7VqLM0KfBKc6WM/T1QXKbeMiKhE44D85Fys=; b=tt+YZb94u5XpSk/K2lXb3aSS6ezpaAJLcn/aoPK8rt3HCpY1L13Qw9ow6cZK7PK04ksG25 flw/QIaqaDo9eyCdViPO1Z6fc/9MHtA+6AK36o6QuXzNqhAL39keJ8B+q6af8ch9buT/+M Um0QkIPej/NS2UiInEVMPc1WZfGgWbjG/xiylMhCF8CwXT/yW/hPS4e9fQ2us24M+CwuRp yM0gMbMGUzGr6KKt6/2NvXCAUQEghTYc/+pr8Yr811Qat9rWZDT6CiCo28mc4Lrl1xFj7d yt7tYUckDJY/D5s5BtrPqGeLu+RpW5+ulPM5EZLlhauBtP42rrc/LQiM1q9Qzg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1660325212; a=rsa-sha256; cv=none; b=mtpuj6ASSahn7nhpUsYdvjADxJiO15MQ9qnHSjRa/ud9snVAC9QFt1EibHs+qMGMWUXXo6 g5b0nshxMi4c+T7QIejnyGiSEW7GAyh/30cwyTRcpvsgNS2vd4QTKvjaKUlfVdzIPuTNKJ tTcud01Xbo/EKOfDlOpCNFVuuEmO7a7BEk+5HJPk0Eq6S7jaYDMCea7jrDr+9XuX5Ts4A9 GuXUm5MeQ61U0rMbHZt0itQo46OZuAW53/vAruSraozwR/uEasbCrpwtmk8fQxCXLOL9+9 fxFKGw1cF0yuQv3lh2FYDlDEjtQzIoWX/B9MmyskAPy+8Y8xRLLZEN4V+VJFKw== ARC-Authentication-Results: i=1; thebighonker.lerctr.org; iprev=pass (thebighonker.lerctr.org) smtp.remote-ip=2602:fcdb:0:10:7ae3:b5ff:fe1b:23b4; auth=pass (LOGIN) smtp.auth=ler@lerctr.org; spf=softfail smtp.mailfrom=FreeBSD.org; dmarc=skipped header.from=FreeBSD.org; arc=none X-ThisMailContainsUnwantedMimeParts: N This broke the build In file included from sys_protosw.c:1: /usr/obj/usr/src/amd64.amd64/tmp/usr/include/sys/protosw.h:82:43: error: type specifier missing, defaults to 'int' [-Werror,-Wimplicit-int] typedef int pr_control_t(struct socket *, u_long, caddr_t, struct ifnet *, ^ /usr/obj/usr/src/amd64.amd64/tmp/usr/include/sys/protosw.h:82:51: error: type specifier missing, defaults to 'int' [-Werror,-Wimplicit-int] typedef int pr_control_t(struct socket *, u_long, caddr_t, struct ifnet *, ^ 2 errors generated. *** Error code 1 On 08/12/2022 10:32 am, Gleb Smirnoff wrote: > The branch main has been updated by glebius: > > URL: > https://cgit.FreeBSD.org/src/commit/?id=886fc1e80490fb03e72e306774766cbb2c733ac6 > > commit 886fc1e80490fb03e72e306774766cbb2c733ac6 > Author: Gleb Smirnoff > AuthorDate: 2022-08-12 15:30:34 +0000 > Commit: Gleb Smirnoff > CommitDate: 2022-08-12 15:30:34 +0000 > > protosw: provide prototypes for all protocol switch methods > > Reviewed by: melifaro > Differential revision: https://reviews.freebsd.org/D36153 > --- > sys/sys/protosw.h | 131 > +++++++++++++++++++++++++++++++++--------------------- > 1 file changed, 80 insertions(+), 51 deletions(-) > > diff --git a/sys/sys/protosw.h b/sys/sys/protosw.h > index 22e057e5691a..7c7eece83e78 100644 > --- a/sys/sys/protosw.h > +++ b/sys/sys/protosw.h > @@ -60,13 +60,60 @@ struct sockopt; > * In retrospect, it would be a lot nicer to use an interface > * similar to the vnode VOP interface. > */ > +struct ifnet; > +struct stat; > +struct ucred; > +struct uio; > + > /* USE THESE FOR YOUR PROTOTYPES ! */ > -typedef int pr_input_t (struct mbuf **, int*, int); > -typedef void pr_ctlinput_t (int, struct sockaddr *, void *); > -typedef int pr_ctloutput_t (struct socket *, struct sockopt *); > -typedef void pr_fasttimo_t (void); > -typedef void pr_slowtimo_t (void); > -typedef void pr_drain_t (void); > +typedef int pr_input_t(struct mbuf **, int*, int); > +typedef void pr_ctlinput_t(int, struct sockaddr *, void *); > +typedef int pr_ctloutput_t(struct socket *, struct sockopt *); > +typedef void pr_fasttimo_t(void); > +typedef void pr_slowtimo_t(void); > +typedef void pr_drain_t(void); > +typedef void pr_abort_t(struct socket *); > +typedef int pr_accept_t(struct socket *, struct sockaddr **); > +typedef int pr_attach_t(struct socket *, int, struct thread *); > +typedef int pr_bind_t(struct socket *, struct sockaddr *, struct > thread *); > +typedef int pr_connect_t(struct socket *, struct sockaddr *, > + struct thread *); > +typedef int pr_connect2_t(struct socket *, struct socket *); > +typedef int pr_control_t(struct socket *, u_long, caddr_t, struct > ifnet *, > + struct thread *); > +typedef void pr_detach_t(struct socket *); > +typedef int pr_disconnect_t(struct socket *); > +typedef int pr_listen_t(struct socket *, int, struct thread *); > +typedef int pr_peeraddr_t(struct socket *, struct sockaddr **); > +typedef int pr_rcvd_t(struct socket *, int); > +typedef int pr_rcvoob_t(struct socket *, struct mbuf *, int); > +typedef enum { > + PRUS_OOB = 0x1, > + PRUS_EOF = 0x2, > + PRUS_MORETOCOME = 0x4, > + PRUS_NOTREADY = 0x8, > + PRUS_IPV6 = 0x10, > +} pr_send_flags_t; > +typedef int pr_send_t(struct socket *, int, struct mbuf *, > + struct sockaddr *, struct mbuf *, struct thread *); > +typedef int pr_ready_t(struct socket *, struct mbuf *, int); > +typedef int pr_sense_t(struct socket *, struct stat *); > +typedef int pr_shutdown_t(struct socket *); > +typedef int pr_flush_t(struct socket *, int); > +typedef int pr_sockaddr_t(struct socket *, struct sockaddr **); > +typedef int pr_sosend_t(struct socket *, struct sockaddr *, struct uio > *, > + struct mbuf *, struct mbuf *, int, struct thread *); > +typedef int pr_soreceive_t(struct socket *, struct sockaddr **, > + struct uio *, struct mbuf **, struct mbuf **, int *); > +typedef int pr_sopoll_t(struct socket *, int, struct ucred *, > + struct thread *); > +typedef void pr_sosetlabel_t(struct socket *); > +typedef void pr_close_t(struct socket *); > +typedef int pr_bindat_t(int, struct socket *, struct sockaddr *, > + struct thread *); > +typedef int pr_connectat_t(int, struct socket *, struct sockaddr *, > + struct thread *); > +typedef int pr_aio_queue_t(struct socket *, struct kaiocb *); > > struct protosw { > short pr_type; /* socket type used for */ > @@ -181,51 +228,33 @@ struct uio; > * Some fields initialized to defaults if they are NULL. > */ > struct pr_usrreqs { > - void (*pru_abort)(struct socket *so); > - int (*pru_accept)(struct socket *so, struct sockaddr **nam); > - int (*pru_attach)(struct socket *so, int proto, struct thread *td); > - int (*pru_bind)(struct socket *so, struct sockaddr *nam, > - struct thread *td); > - int (*pru_connect)(struct socket *so, struct sockaddr *nam, > - struct thread *td); > - int (*pru_connect2)(struct socket *so1, struct socket *so2); > - int (*pru_control)(struct socket *so, u_long cmd, caddr_t data, > - struct ifnet *ifp, struct thread *td); > - void (*pru_detach)(struct socket *so); > - int (*pru_disconnect)(struct socket *so); > - int (*pru_listen)(struct socket *so, int backlog, > - struct thread *td); > - int (*pru_peeraddr)(struct socket *so, struct sockaddr **nam); > - int (*pru_rcvd)(struct socket *so, int flags); > - int (*pru_rcvoob)(struct socket *so, struct mbuf *m, int flags); > - int (*pru_send)(struct socket *so, int flags, struct mbuf *m, > - struct sockaddr *addr, struct mbuf *control, > - struct thread *td); > -#define PRUS_OOB 0x1 > -#define PRUS_EOF 0x2 > -#define PRUS_MORETOCOME 0x4 > -#define PRUS_NOTREADY 0x8 > -#define PRUS_IPV6 0x10 > - int (*pru_ready)(struct socket *so, struct mbuf *m, int count); > - int (*pru_sense)(struct socket *so, struct stat *sb); > - int (*pru_shutdown)(struct socket *so); > - int (*pru_flush)(struct socket *so, int direction); > - int (*pru_sockaddr)(struct socket *so, struct sockaddr **nam); > - int (*pru_sosend)(struct socket *so, struct sockaddr *addr, > - struct uio *uio, struct mbuf *top, struct mbuf *control, > - int flags, struct thread *td); > - int (*pru_soreceive)(struct socket *so, struct sockaddr **paddr, > - struct uio *uio, struct mbuf **mp0, struct mbuf **controlp, > - int *flagsp); > - int (*pru_sopoll)(struct socket *so, int events, > - struct ucred *cred, struct thread *td); > - void (*pru_sosetlabel)(struct socket *so); > - void (*pru_close)(struct socket *so); > - int (*pru_bindat)(int fd, struct socket *so, struct sockaddr *nam, > - struct thread *td); > - int (*pru_connectat)(int fd, struct socket *so, > - struct sockaddr *nam, struct thread *td); > - int (*pru_aio_queue)(struct socket *so, struct kaiocb *job); > + pr_abort_t *pru_abort; > + pr_accept_t *pru_accept; > + pr_attach_t *pru_attach; > + pr_bind_t *pru_bind; > + pr_connect_t *pru_connect; > + pr_connect2_t *pru_connect2; > + pr_control_t *pru_control; > + pr_detach_t *pru_detach; > + pr_disconnect_t *pru_disconnect; > + pr_listen_t *pru_listen; > + pr_peeraddr_t *pru_peeraddr; > + pr_rcvd_t *pru_rcvd; > + pr_rcvoob_t *pru_rcvoob; > + pr_send_t *pru_send; > + pr_ready_t *pru_ready; > + pr_sense_t *pru_sense; > + pr_shutdown_t *pru_shutdown; > + pr_flush_t *pru_flush; > + pr_sockaddr_t *pru_sockaddr; > + pr_sosend_t *pru_sosend; > + pr_soreceive_t *pru_soreceive; > + pr_sopoll_t *pru_sopoll; > + pr_sosetlabel_t *pru_sosetlabel; > + pr_close_t *pru_close; > + pr_bindat_t *pru_bindat; > + pr_connectat_t *pru_connectat; > + pr_aio_queue_t *pru_aio_queue; > }; > > /* -- Larry Rosenman http://people.freebsd.org/~ler Phone: +1 214-642-9640 E-Mail: ler@FreeBSD.org US Mail: 5708 Sabbia Dr, Round Rock, TX 78665-2106