Hello -

This moves the 'struct protosw' declarations to use C99 initializers.
Requested by mpi@

Index: kern/uipc_proto.c
===================================================================
RCS file: /cvs/src/sys/kern/uipc_proto.c,v
retrieving revision 1.11
diff -u -p -r1.11 uipc_proto.c
--- kern/uipc_proto.c   5 Feb 2017 07:57:08 -0000       1.11
+++ kern/uipc_proto.c   19 Feb 2017 02:15:00 -0000
@@ -49,20 +49,53 @@
 extern struct domain unixdomain;               /* or at least forward */
 
 struct protosw unixsw[] = {
-{ SOCK_STREAM, &unixdomain,    PF_LOCAL,       
PR_CONNREQUIRED|PR_WANTRCVD|PR_RIGHTS,
-  0,           0,              0,              0,
-  uipc_usrreq,
-  0,           0,              0,              0,
+{
+  .pr_type     = SOCK_STREAM,
+  .pr_domain   = &unixdomain,
+  .pr_protocol  = PF_LOCAL,
+  .pr_flags    = PR_CONNREQUIRED|PR_WANTRCVD|PR_RIGHTS,
+  .pr_input    = NULL,
+  .pr_output   = NULL,
+  .pr_ctlinput = NULL,
+  .pr_ctloutput        = NULL,
+  .pr_usrreq   = uipc_usrreq,
+  .pr_init     = NULL,
+  .pr_fasttimo = NULL,
+  .pr_slowtimo = NULL,
+  .pr_drain    = NULL,
+  .pr_sysctl   = NULL
 },
-{ SOCK_SEQPACKET,&unixdomain,  PF_LOCAL,       
PR_ATOMIC|PR_CONNREQUIRED|PR_WANTRCVD|PR_RIGHTS,
-  0,           0,              0,              0,
-  uipc_usrreq,
-  0,           0,              0,              0,
+{
+  .pr_type     = SOCK_SEQPACKET,
+  .pr_domain   = &unixdomain,
+  .pr_protocol = PF_LOCAL,
+  .pr_flags    = PR_ATOMIC|PR_CONNREQUIRED|PR_WANTRCVD|PR_RIGHTS,
+  .pr_input    = NULL,
+  .pr_output   = NULL,
+  .pr_ctlinput = NULL,
+  .pr_ctloutput        = NULL,
+  .pr_usrreq   = uipc_usrreq,
+  .pr_init     = NULL,
+  .pr_fasttimo = NULL,
+  .pr_slowtimo = NULL,
+  .pr_drain    = NULL,
+  .pr_sysctl   = NULL
 },
-{ SOCK_DGRAM,  &unixdomain,    PF_LOCAL,       PR_ATOMIC|PR_ADDR|PR_RIGHTS,
-  0,           0,              0,              0,
-  uipc_usrreq,
-  0,           0,              0,              0,
+{
+  .pr_type     = SOCK_DGRAM,
+  .pr_domain   = &unixdomain,
+  .pr_protocol = PF_LOCAL,
+  .pr_flags    = PR_ATOMIC|PR_ADDR|PR_RIGHTS,
+  .pr_input    = NULL,
+  .pr_output   = NULL,
+  .pr_ctlinput = NULL,
+  .pr_ctloutput        = NULL,
+  .pr_usrreq   = uipc_usrreq,
+  .pr_init     = NULL,
+  .pr_fasttimo = NULL,
+  .pr_slowtimo = NULL,
+  .pr_drain    = NULL,
+  .pr_sysctl   = NULL
 }
 };
 
Index: net/pfkey.c
===================================================================
RCS file: /cvs/src/sys/net/pfkey.c,v
retrieving revision 1.36
diff -u -p -r1.36 pfkey.c
--- net/pfkey.c 24 Jan 2017 10:08:30 -0000      1.36
+++ net/pfkey.c 19 Feb 2017 02:15:00 -0000
@@ -266,20 +266,20 @@ struct domain pfkeydomain = {
 };
 
 static struct protosw pfkey_protosw_template = {
-       SOCK_RAW,
-       &pfkeydomain,
-       -1, /* protocol */
-       PR_ATOMIC | PR_ADDR,
-       NULL, /* input */
-       (void *) pfkey_output,
-       NULL, /* ctlinput */
-       NULL, /* ctloutput */
-       pfkey_usrreq,
-       NULL, /* init */
-       NULL, /* fasttimo */
-       NULL, /* slowtimo */
-       NULL, /* drain */
-       NULL    /* sysctl */
+  .pr_type     = SOCK_RAW,
+  .pr_domain   = &pfkeydomain,
+  .pr_protocol = -1,
+  .pr_flags    = PR_ATOMIC | PR_ADDR,
+  .pr_input    = NULL,
+  .pr_output   = (void *) pfkey_output,
+  .pr_ctlinput = NULL,
+  .pr_ctloutput        = NULL,
+  .pr_usrreq   = pfkey_usrreq,
+  .pr_init     = NULL,
+  .pr_fasttimo = NULL,
+  .pr_slowtimo = NULL,
+  .pr_drain    = NULL,
+  .pr_sysctl   = NULL
 };
 
 int
Index: net/rtsock.c
===================================================================
RCS file: /cvs/src/sys/net/rtsock.c,v
retrieving revision 1.222
diff -u -p -r1.222 rtsock.c
--- net/rtsock.c        1 Feb 2017 20:59:47 -0000       1.222
+++ net/rtsock.c        19 Feb 2017 02:15:00 -0000
@@ -1654,13 +1654,23 @@ sysctl_rtable_rtstat(void *oldp, size_t 
 extern struct domain routedomain;              /* or at least forward */
 
 struct protosw routesw[] = {
-{ SOCK_RAW,    &routedomain,   0,              PR_ATOMIC|PR_ADDR|PR_WANTRCVD,
-  0,           route_output,   0,              route_ctloutput,
-  route_usrreq,
-  raw_init,    0,              0,              0,
-  sysctl_rtable,
+{
+  .pr_type     = SOCK_RAW,
+  .pr_domain   = &routedomain,
+  .pr_protocol = 0,
+  .pr_flags    = PR_ATOMIC|PR_ADDR|PR_WANTRCVD,
+  .pr_input    = NULL,
+  .pr_output   = route_output,
+  .pr_ctlinput = NULL,
+  .pr_ctloutput        = route_ctloutput,
+  .pr_usrreq   = route_usrreq,
+  .pr_init     = raw_init,
+  .pr_fasttimo = NULL,
+  .pr_slowtimo = NULL,
+  .pr_drain    = NULL,
+  .pr_sysctl   = sysctl_rtable
 }
-};
+};     
 
 struct domain routedomain =
     { PF_ROUTE, "route", route_init, 0, 0,
Index: netinet/in_proto.c
===================================================================
RCS file: /cvs/src/sys/netinet/in_proto.c,v
retrieving revision 1.72
diff -u -p -r1.72 in_proto.c
--- netinet/in_proto.c  29 Jan 2017 19:58:47 -0000      1.72
+++ netinet/in_proto.c  19 Feb 2017 02:15:00 -0000
@@ -175,138 +175,380 @@
 u_char ip_protox[IPPROTO_MAX];
 
 struct protosw inetsw[] = {
-{ 0,           &inetdomain,    0,              0,
-  0,           0,              0,              0,
-  0,
-  ip_init,     0,              ip_slowtimo,    ip_drain,       ip_sysctl
-},
-{ SOCK_DGRAM,  &inetdomain,    IPPROTO_UDP,    PR_ATOMIC|PR_ADDR|PR_SPLICE,
-  udp_input,   0,              udp_ctlinput,   ip_ctloutput,
-  udp_usrreq,
-  udp_init,    0,              0,              0,              udp_sysctl
-},
-{ SOCK_STREAM, &inetdomain,    IPPROTO_TCP,    
PR_CONNREQUIRED|PR_WANTRCVD|PR_ABRTACPTDIS|PR_SPLICE,
-  tcp_input,   0,              tcp_ctlinput,   tcp_ctloutput,
-  tcp_usrreq,
-  tcp_init,    0,              tcp_slowtimo,   0,              tcp_sysctl
-},
-{ SOCK_RAW,    &inetdomain,    IPPROTO_RAW,    PR_ATOMIC|PR_ADDR,
-  rip_input,   rip_output,     0,              rip_ctloutput,
-  rip_usrreq,
-  0,           0,              0,              0,
-},
-{ SOCK_RAW,    &inetdomain,    IPPROTO_ICMP,   PR_ATOMIC|PR_ADDR,
-  icmp_input,  rip_output,     0,              rip_ctloutput,
-  rip_usrreq,
-  icmp_init,   0,              0,              0,              icmp_sysctl
+{
+  .pr_type     = 0,
+  .pr_domain   = &inetdomain,
+  .pr_protocol = 0,
+  .pr_flags    = 0,
+  .pr_input    = NULL,
+  .pr_output   = NULL,
+  .pr_ctlinput = NULL,
+  .pr_ctloutput        = NULL,
+  .pr_usrreq   = NULL,
+  .pr_init     = ip_init,
+  .pr_fasttimo = NULL,
+  .pr_slowtimo = ip_slowtimo,
+  .pr_drain    = ip_drain,
+  .pr_sysctl   = ip_sysctl
+},
+{
+  .pr_type     = SOCK_DGRAM,
+  .pr_domain   = &inetdomain,
+  .pr_protocol = IPPROTO_UDP,
+  .pr_flags    = PR_ATOMIC|PR_ADDR|PR_SPLICE,
+  .pr_input    = udp_input,
+  .pr_output   = NULL,
+  .pr_ctlinput = udp_ctlinput,
+  .pr_ctloutput        = ip_ctloutput,
+  .pr_usrreq   = udp_usrreq,
+  .pr_init     = udp_init,
+  .pr_fasttimo = NULL,
+  .pr_slowtimo = NULL,
+  .pr_drain    = NULL,
+  .pr_sysctl   = udp_sysctl
+},
+{
+  .pr_type     = SOCK_STREAM,
+  .pr_domain   = &inetdomain,
+  .pr_protocol = IPPROTO_TCP,
+  .pr_flags    = PR_CONNREQUIRED|PR_WANTRCVD|PR_ABRTACPTDIS|PR_SPLICE,
+  .pr_input    = tcp_input,
+  .pr_output   = NULL,
+  .pr_ctlinput = tcp_ctlinput,
+  .pr_ctloutput        = tcp_ctloutput,
+  .pr_usrreq   = tcp_usrreq,
+  .pr_init     = tcp_init,
+  .pr_fasttimo = NULL,
+  .pr_slowtimo = tcp_slowtimo,
+  .pr_drain    = NULL,
+  .pr_sysctl   = tcp_sysctl
+},
+{
+  .pr_type     = SOCK_RAW,
+  .pr_domain   = &inetdomain,
+  .pr_protocol = IPPROTO_RAW,
+  .pr_flags    = PR_ATOMIC|PR_ADDR,
+  .pr_input    = rip_input,
+  .pr_output   = rip_output,
+  .pr_ctlinput = NULL,
+  .pr_ctloutput        = rip_ctloutput,
+  .pr_usrreq   = rip_usrreq,
+  .pr_init     = NULL,
+  .pr_fasttimo = NULL,
+  .pr_slowtimo = NULL,
+  .pr_drain    = NULL,
+  .pr_sysctl   = NULL
+},
+{
+  .pr_type     = SOCK_RAW,
+  .pr_domain   = &inetdomain,
+  .pr_protocol = IPPROTO_ICMP,
+  .pr_flags    = PR_ATOMIC|PR_ADDR,
+  .pr_input    = icmp_input,
+  .pr_output   = rip_output,
+  .pr_ctlinput = NULL,
+  .pr_ctloutput        = rip_ctloutput,
+  .pr_usrreq   = rip_usrreq,
+  .pr_init     = icmp_init,
+  .pr_fasttimo = NULL,
+  .pr_slowtimo = NULL,
+  .pr_drain    = NULL,
+  .pr_sysctl   = icmp_sysctl
 },
 #if NGIF > 0
-{ SOCK_RAW,    &inetdomain,    IPPROTO_IPV4,   PR_ATOMIC|PR_ADDR,
-  in_gif_input,        rip_output,     0,              rip_ctloutput,
-  rip_usrreq,
-  0,           0,              0,              0,              ipip_sysctl
-},
-{ SOCK_RAW,   &inetdomain,    IPPROTO_ETHERIP, PR_ATOMIC|PR_ADDR,
-  etherip_input,  rip_output, 0,              rip_ctloutput,
-  rip_usrreq,
-  0,          0,              0,              0,               etherip_sysctl
+{
+  .pr_type     = SOCK_RAW,
+  .pr_domain   = &inetdomain,
+  .pr_protocol = IPPROTO_IPV4,
+  .pr_flags    = PR_ATOMIC|PR_ADDR,
+  .pr_input    = in_gif_input,
+  .pr_output   = rip_output,
+  .pr_ctlinput = NULL,
+  .pr_ctloutput        = rip_ctloutput,
+  .pr_usrreq   = rip_usrreq,
+  .pr_init     = NULL,
+  .pr_fasttimo = NULL,
+  .pr_slowtimo = NULL,
+  .pr_drain    = NULL,
+  .pr_sysctl   = ipip_sysctl
+},
+{
+  .pr_type     = SOCK_RAW,
+  .pr_domain   = &inetdomain,
+  .pr_protocol = IPPROTO_ETHERIP,
+  .pr_flags    = PR_ATOMIC|PR_ADDR,
+  .pr_input    = etherip_input,
+  .pr_output   = rip_output,
+  .pr_ctlinput = NULL,
+  .pr_ctloutput        = rip_ctloutput,
+  .pr_usrreq   = rip_usrreq,
+  .pr_init     = NULL,
+  .pr_fasttimo = NULL,
+  .pr_slowtimo = NULL,
+  .pr_drain    = NULL,
+  .pr_sysctl   = etherip_sysctl
 },
 #ifdef INET6
-{ SOCK_RAW,    &inetdomain,    IPPROTO_IPV6,   PR_ATOMIC|PR_ADDR,
-  in_gif_input,        rip_output,      0,             0,
-  rip_usrreq,  /*XXX*/
-  0,           0,              0,              0,
+{
+  .pr_type     = SOCK_RAW,
+  .pr_domain   = &inetdomain,
+  .pr_protocol = IPPROTO_IPV6,
+  .pr_flags    = PR_ATOMIC|PR_ADDR,
+  .pr_input    = in_gif_input,
+  .pr_output   = rip_output,
+  .pr_ctlinput = NULL,
+  .pr_ctloutput        = NULL,
+  .pr_usrreq   = rip_usrreq, /* XXX */
+  .pr_init     = NULL,
+  .pr_fasttimo = NULL,
+  .pr_slowtimo = NULL,
+  .pr_drain    = NULL,
+  .pr_sysctl   = NULL
 },
 #endif
 #ifdef MPLS
-{ SOCK_RAW,    &inetdomain,    IPPROTO_MPLS,   PR_ATOMIC|PR_ADDR,
-  etherip_input,  rip_output,   0,             0,
-  rip_usrreq,
-  0,           0,              0,              0,
+{
+  .pr_type     = SOCK_RAW,
+  .pr_domain   = &inetdomain,
+  .pr_protocol = IPPROTO_MPLS,
+  .pr_flags    = PR_ATOMIC|PR_ADDR,
+  .pr_input    = etherip_input,
+  .pr_output   = rip_output,
+  .pr_ctlinput = NULL,
+  .pr_ctloutput        = NULL,
+  .pr_usrreq   = rip_usrreq,
+  .pr_init     = NULL,
+  .pr_fasttimo = NULL,
+  .pr_slowtimo = NULL,
+  .pr_drain    = NULL,
+  .pr_sysctl   = NULL
 },
 #endif
 #else /* NGIF */
-{ SOCK_RAW,    &inetdomain,    IPPROTO_IPIP,   PR_ATOMIC|PR_ADDR,
-  ip4_input,   rip_output,     0,              rip_ctloutput,
-  rip_usrreq,
-  0,           0,              0,              0,              ipip_sysctl
+{
+  .pr_type     = SOCK_RAW,
+  .pr_domain   = &inetdomain,
+  .pr_protocol = IPPROTO_IPIP,
+  .pr_flags    = PR_ATOMIC|PR_ADDR,
+  .pr_input    = ip4_input,
+  .pr_output   = rip_output,
+  .pr_ctlinput = NULL,
+  .pr_ctloutput        = rip_ctloutput,
+  .pr_usrreq   = rip_usrreq,
+  .pr_init     = NULL,
+  .pr_fasttimo = NULL,
+  .pr_slowtimo = NULL,
+  .pr_drain    = NULL,
+  .pr_sysctl   = ipip_sysctl
 },
 #ifdef INET6
-{ SOCK_RAW,    &inetdomain,    IPPROTO_IPV6,   PR_ATOMIC|PR_ADDR,
-  ip4_input,   rip_output,     0,              rip_ctloutput,
-  rip_usrreq,  /*XXX*/
-  0,           0,              0,              0,
+{
+  .pr_type     = SOCK_RAW,
+  .pr_domain   = &inetdomain,
+  .pr_protocol = IPPROTO_IPV6,
+  .pr_flags    = PR_ATOMIC|PR_ADDR,
+  .pr_input    = ip4_input,
+  .pr_output   = rip_output,
+  .pr_ctlinput = NULL,
+  .pr_ctloutput        = rip_ctloutput,
+  .pr_usrreq   = rip_usrreq, /* XXX */
+  .pr_init     = NULL,
+  .pr_fasttimo = NULL,
+  .pr_slowtimo = NULL,
+  .pr_drain    = NULL,
+  .pr_sysctl   = NULL
 },
 #endif
 #endif /*NGIF*/
-{ SOCK_RAW,    &inetdomain,    IPPROTO_IGMP,   PR_ATOMIC|PR_ADDR,
-  igmp_input,  rip_output,     0,              rip_ctloutput,
-  rip_usrreq,
-  igmp_init,   igmp_fasttimo,  igmp_slowtimo,  0,              igmp_sysctl
+{
+  .pr_type     = SOCK_RAW,
+  .pr_domain   = &inetdomain,
+  .pr_protocol = IPPROTO_IGMP,
+  .pr_flags    = PR_ATOMIC|PR_ADDR,
+  .pr_input    = igmp_input,
+  .pr_output   = rip_output,
+  .pr_ctlinput = NULL,
+  .pr_ctloutput        = rip_ctloutput,
+  .pr_usrreq   = rip_usrreq,
+  .pr_init     = igmp_init,
+  .pr_fasttimo = igmp_fasttimo,
+  .pr_slowtimo = igmp_slowtimo,
+  .pr_drain    = NULL,
+  .pr_sysctl   = igmp_sysctl
 },
 #ifdef IPSEC
-{ SOCK_RAW,   &inetdomain,    IPPROTO_AH,     PR_ATOMIC|PR_ADDR,
-  ah4_input,   rip_output,    ah4_ctlinput,   rip_ctloutput,
-  rip_usrreq,
-  0,          0,              0,              0,               ah_sysctl
-},
-{ SOCK_RAW,   &inetdomain,    IPPROTO_ESP,    PR_ATOMIC|PR_ADDR,
-  esp4_input,  rip_output,    esp4_ctlinput,  rip_ctloutput,
-  rip_usrreq,
-  0,          0,              0,              0,               esp_sysctl
-},
-{ SOCK_RAW,   &inetdomain,    IPPROTO_IPCOMP, PR_ATOMIC|PR_ADDR,
-  ipcomp4_input,  rip_output, 0,              rip_ctloutput,
-  rip_usrreq,
-  0,          0,              0,              0,                ipcomp_sysctl
+{
+  .pr_type     = SOCK_RAW,
+  .pr_domain   = &inetdomain,
+  .pr_protocol = IPPROTO_AH,
+  .pr_flags    = PR_ATOMIC|PR_ADDR,
+  .pr_input    = ah4_input,
+  .pr_output   = rip_output,
+  .pr_ctlinput = ah4_ctlinput,
+  .pr_ctloutput        = rip_ctloutput,
+  .pr_usrreq   = rip_usrreq,
+  .pr_init     = NULL,
+  .pr_fasttimo = NULL,
+  .pr_slowtimo = NULL,
+  .pr_drain    = NULL,
+  .pr_sysctl   = ah_sysctl
+},
+{
+  .pr_type     = SOCK_RAW,
+  .pr_domain   = &inetdomain,
+  .pr_protocol = IPPROTO_ESP,
+  .pr_flags    = PR_ATOMIC|PR_ADDR,
+  .pr_input    = esp4_input,
+  .pr_output   = rip_output,
+  .pr_ctlinput = esp4_ctlinput,
+  .pr_ctloutput        = rip_ctloutput,
+  .pr_usrreq   = rip_usrreq,
+  .pr_init     = NULL,
+  .pr_fasttimo = NULL,
+  .pr_slowtimo = NULL,
+  .pr_drain    = NULL,
+  .pr_sysctl   = esp_sysctl
+},
+{
+  .pr_type     = SOCK_RAW,
+  .pr_domain   = &inetdomain,
+  .pr_protocol = IPPROTO_IPCOMP,
+  .pr_flags    = PR_ATOMIC|PR_ADDR,
+  .pr_input    = ipcomp4_input,
+  .pr_output   = rip_output,
+  .pr_ctlinput = NULL,
+  .pr_ctloutput        = rip_ctloutput,
+  .pr_usrreq   = rip_usrreq,
+  .pr_init     = NULL,
+  .pr_fasttimo = NULL,
+  .pr_slowtimo = NULL,
+  .pr_drain    = NULL,
+  .pr_sysctl   = ipcomp_sysctl
 },
 #endif /* IPSEC */
 #if NGRE > 0
-{ SOCK_RAW,     &inetdomain,    IPPROTO_GRE,    PR_ATOMIC|PR_ADDR,
-  gre_input,    rip_output,     0,              rip_ctloutput,
-  gre_usrreq,
-  0,            0,              0,             0,              gre_sysctl
-},
-{ SOCK_RAW,     &inetdomain,    IPPROTO_MOBILE, PR_ATOMIC|PR_ADDR,
-  gre_mobile_input,     rip_output,     0,              rip_ctloutput,
-  rip_usrreq,
-  0,            0,              0,              0,             ipmobile_sysctl
+{
+  .pr_type     = SOCK_RAW,
+  .pr_domain   = &inetdomain,
+  .pr_protocol = IPPROTO_GRE,
+  .pr_flags    = PR_ATOMIC|PR_ADDR,
+  .pr_input    = gre_input,
+  .pr_output   = rip_output,
+  .pr_ctlinput = NULL,
+  .pr_ctloutput        = rip_ctloutput,
+  .pr_usrreq   = gre_usrreq,
+  .pr_init     = NULL,
+  .pr_fasttimo = NULL,
+  .pr_slowtimo = NULL,
+  .pr_drain    = NULL,
+  .pr_sysctl   = gre_sysctl
+},
+{
+  .pr_type     = SOCK_RAW,
+  .pr_domain   = &inetdomain,
+  .pr_protocol = IPPROTO_MOBILE,
+  .pr_flags    = PR_ATOMIC|PR_ADDR,
+  .pr_input    = gre_mobile_input,
+  .pr_output   = rip_output,
+  .pr_ctlinput = NULL,
+  .pr_ctloutput        = rip_ctloutput,
+  .pr_usrreq   = rip_usrreq,
+  .pr_init     = NULL,
+  .pr_fasttimo = NULL,
+  .pr_slowtimo = NULL,
+  .pr_drain    = NULL,
+  .pr_sysctl   = ipmobile_sysctl
 },
 #endif /* NGRE > 0 */
 #if NCARP > 0
-{ SOCK_RAW,    &inetdomain,    IPPROTO_CARP,   PR_ATOMIC|PR_ADDR,
-  carp_proto_input,    rip_output,     0,              rip_ctloutput,
-  rip_usrreq,
-  0,           0,              0,              0,              carp_sysctl
+{
+  .pr_type     = SOCK_RAW,
+  .pr_domain   = &inetdomain,
+  .pr_protocol = IPPROTO_CARP,
+  .pr_flags    = PR_ATOMIC|PR_ADDR,
+  .pr_input    = carp_proto_input,
+  .pr_output   = rip_output,
+  .pr_ctlinput = NULL,
+  .pr_ctloutput        = rip_ctloutput,
+  .pr_usrreq   = rip_usrreq,
+  .pr_init     = NULL,
+  .pr_fasttimo = NULL,
+  .pr_slowtimo = NULL,
+  .pr_drain    = NULL,
+  .pr_sysctl   = carp_sysctl
 },
 #endif /* NCARP > 0 */
 #if NPFSYNC > 0
-{ SOCK_RAW,    &inetdomain,    IPPROTO_PFSYNC, PR_ATOMIC|PR_ADDR,
-  pfsync_input,        rip_output,     0,              rip_ctloutput,
-  rip_usrreq,
-  0,           0,              0,              0,              pfsync_sysctl
+{
+  .pr_type     = SOCK_RAW,
+  .pr_domain   = &inetdomain,
+  .pr_protocol = IPPROTO_PFSYNC,
+  .pr_flags    = PR_ATOMIC|PR_ADDR,
+  .pr_input    = pfsync_input,
+  .pr_output   = rip_output,
+  .pr_ctlinput = NULL,
+  .pr_ctloutput        = rip_ctloutput,
+  .pr_usrreq   = rip_usrreq,
+  .pr_init     = NULL,
+  .pr_fasttimo = NULL,
+  .pr_slowtimo = NULL,
+  .pr_drain    = NULL,
+  .pr_sysctl   = pfsync_sysctl
 },
 #endif /* NPFSYNC > 0 */
 #if NPF > 0
-{ SOCK_RAW,    &inetdomain,    IPPROTO_DIVERT, PR_ATOMIC|PR_ADDR,
-  0,           0,              0,              rip_ctloutput,
-  divert_usrreq,
-  divert_init, 0,              0,              0,              divert_sysctl
+{
+  .pr_type     = SOCK_RAW,
+  .pr_domain   = &inetdomain,
+  .pr_protocol = IPPROTO_DIVERT,
+  .pr_flags    = PR_ATOMIC|PR_ADDR,
+  .pr_input    = NULL,
+  .pr_output   = NULL,
+  .pr_ctlinput = NULL,
+  .pr_ctloutput        = rip_ctloutput,
+  .pr_usrreq   = divert_usrreq,
+  .pr_init     = divert_init,
+  .pr_fasttimo = NULL,
+  .pr_slowtimo = NULL,
+  .pr_drain    = NULL,
+  .pr_sysctl   = divert_sysctl
 },
 #endif /* NPF > 0 */
 #if NETHERIP > 0
-{ SOCK_RAW,   &inetdomain,    IPPROTO_ETHERIP, PR_ATOMIC|PR_ADDR,
-  ip_etherip_input,  rip_output, 0,              rip_ctloutput,
-  rip_usrreq,
-  0,          0,              0,              0,               
ip_etherip_sysctl
+{
+  .pr_type     = SOCK_RAW,
+  .pr_domain   = &inetdomain,
+  .pr_protocol = IPPROTO_ETHERIP,
+  .pr_flags    = PR_ATOMIC|PR_ADDR,
+  .pr_input    = ip_etherip_input,
+  .pr_output   = rip_output,
+  .pr_ctlinput = NULL,
+  .pr_ctloutput        = rip_ctloutput,
+  .pr_usrreq   = rip_usrreq,
+  .pr_init     = NULL,
+  .pr_fasttimo = NULL,
+  .pr_slowtimo = NULL,
+  .pr_drain    = NULL,
+  .pr_sysctl   = ip_etherip_sysctl
 },
 #endif /* NETHERIP */
-/* raw wildcard */
-{ SOCK_RAW,    &inetdomain,    0,              PR_ATOMIC|PR_ADDR,
-  rip_input,   rip_output,     0,              rip_ctloutput,
-  rip_usrreq,
-  rip_init,    0,              0,              0,
-},
+{
+  /* raw wildcard */
+  .pr_type     = SOCK_RAW,
+  .pr_domain   = &inetdomain,
+  .pr_protocol = 0,
+  .pr_flags    = PR_ATOMIC|PR_ADDR,
+  .pr_input    = rip_input,
+  .pr_output   = rip_output,
+  .pr_ctlinput = NULL,
+  .pr_ctloutput        = rip_ctloutput,
+  .pr_usrreq   = rip_usrreq,
+  .pr_init     = rip_init,
+  .pr_fasttimo = NULL,
+  .pr_slowtimo = NULL,
+  .pr_drain    = NULL,
+  .pr_sysctl   = NULL
+}
 };
 
 struct domain inetdomain =
Index: netinet6/in6_proto.c
===================================================================
RCS file: /cvs/src/sys/netinet6/in6_proto.c,v
retrieving revision 1.88
diff -u -p -r1.88 in6_proto.c
--- netinet6/in6_proto.c        29 Jan 2017 19:58:47 -0000      1.88
+++ netinet6/in6_proto.c        19 Feb 2017 02:15:00 -0000
@@ -122,125 +122,338 @@
 u_char ip6_protox[IPPROTO_MAX];
 
 struct protosw inet6sw[] = {
-{ 0,           &inet6domain,   IPPROTO_IPV6,   0,
-  0,           0,              0,              0,
-  0,
-  ip6_init,    0,              frag6_slowtimo, frag6_drain,
-  ip6_sysctl,
-},
-{ SOCK_DGRAM,  &inet6domain,   IPPROTO_UDP,    PR_ATOMIC|PR_ADDR|PR_SPLICE,
-  udp_input,   0,              udp6_ctlinput,  ip6_ctloutput,
-  udp_usrreq,  0,
-  0,           0,              0,
-  udp_sysctl,
-},
-{ SOCK_STREAM, &inet6domain,   IPPROTO_TCP,    
PR_CONNREQUIRED|PR_WANTRCVD|PR_ABRTACPTDIS|PR_SPLICE,
-  tcp_input,   0,              tcp6_ctlinput,  tcp_ctloutput,
-  tcp_usrreq,
-  0,           0,              0,              0,
-  tcp_sysctl,
-},
-{ SOCK_RAW,    &inet6domain,   IPPROTO_RAW,    PR_ATOMIC|PR_ADDR,
-  rip6_input,  rip6_output,    rip6_ctlinput,  rip6_ctloutput,
-  rip6_usrreq,
-  0,           0,              0,              0,              rip6_sysctl
-},
-{ SOCK_RAW,    &inet6domain,   IPPROTO_ICMPV6, PR_ATOMIC|PR_ADDR,
-  icmp6_input, rip6_output,    rip6_ctlinput,  rip6_ctloutput,
-  rip6_usrreq,
-  icmp6_init,  icmp6_fasttimo, 0,              0,
-  icmp6_sysctl,
-},
-{ SOCK_RAW,    &inet6domain,   IPPROTO_DSTOPTS,PR_ATOMIC|PR_ADDR,
-  dest6_input, 0,              0,              0,
-  0,
-  0,           0,              0,              0,
-},
-{ SOCK_RAW,    &inet6domain,   IPPROTO_ROUTING,PR_ATOMIC|PR_ADDR,
-  route6_input,        0,              0,              0,
-  0,
-  0,           0,              0,              0,
-},
-{ SOCK_RAW,    &inet6domain,   IPPROTO_FRAGMENT,PR_ATOMIC|PR_ADDR,
-  frag6_input, 0,              0,              0,
-  0,
-  0,           0,              0,              0,
+{
+  .pr_type     = 0,
+  .pr_domain   = &inet6domain,
+  .pr_protocol = IPPROTO_IPV6,
+  .pr_flags    = 0,
+  .pr_input    = NULL,
+  .pr_output   = NULL,
+  .pr_ctlinput = NULL,
+  .pr_ctloutput        = NULL,
+  .pr_usrreq   = NULL,
+  .pr_init     = ip6_init,
+  .pr_fasttimo = NULL,
+  .pr_slowtimo = frag6_slowtimo,
+  .pr_drain    = frag6_drain,
+  .pr_sysctl   = ip6_sysctl
+},
+{
+  .pr_type     = SOCK_DGRAM,
+  .pr_domain   = &inet6domain,
+  .pr_protocol = IPPROTO_UDP,
+  .pr_flags    = PR_ATOMIC|PR_ADDR|PR_SPLICE,
+  .pr_input    = udp_input,
+  .pr_output   = NULL,
+  .pr_ctlinput = udp6_ctlinput,
+  .pr_ctloutput        = ip6_ctloutput,
+  .pr_usrreq   = udp_usrreq,
+  .pr_init     = NULL,
+  .pr_fasttimo = NULL,
+  .pr_slowtimo = NULL,
+  .pr_drain    = NULL,
+  .pr_sysctl   = udp_sysctl
+},
+{
+  .pr_type     = SOCK_STREAM,
+  .pr_domain   = &inet6domain,
+  .pr_protocol = IPPROTO_TCP,
+  .pr_flags    = PR_CONNREQUIRED|PR_WANTRCVD|PR_ABRTACPTDIS|PR_SPLICE,
+  .pr_input    = tcp_input,
+  .pr_output   = NULL,
+  .pr_ctlinput = tcp6_ctlinput,
+  .pr_ctloutput        = tcp_ctloutput,
+  .pr_usrreq   = tcp_usrreq,
+  .pr_init     = NULL,
+  .pr_fasttimo = NULL,
+  .pr_slowtimo = NULL,
+  .pr_drain    = NULL,
+  .pr_sysctl   = tcp_sysctl
+},
+{
+  .pr_type     = SOCK_RAW,
+  .pr_domain   = &inet6domain,
+  .pr_protocol = IPPROTO_RAW,
+  .pr_flags    = PR_ATOMIC|PR_ADDR,
+  .pr_input    = rip6_input,
+  .pr_output   = rip6_output,
+  .pr_ctlinput = rip6_ctlinput,
+  .pr_ctloutput        = rip6_ctloutput,
+  .pr_usrreq   = rip6_usrreq,
+  .pr_init     = NULL,
+  .pr_fasttimo = NULL,
+  .pr_slowtimo = NULL,
+  .pr_drain    = NULL,
+  .pr_sysctl   = rip6_sysctl
+},
+{
+  .pr_type     = SOCK_RAW,
+  .pr_domain   = &inet6domain,
+  .pr_protocol = IPPROTO_ICMPV6,
+  .pr_flags    = PR_ATOMIC|PR_ADDR,
+  .pr_input    = icmp6_input,
+  .pr_output   = rip6_output,
+  .pr_ctlinput = rip6_ctlinput,
+  .pr_ctloutput        = rip6_ctloutput,
+  .pr_usrreq   = rip6_usrreq,
+  .pr_init     = icmp6_init,
+  .pr_fasttimo = icmp6_fasttimo,
+  .pr_slowtimo = NULL,
+  .pr_drain    = NULL,
+  .pr_sysctl   = icmp6_sysctl
+},
+{
+  .pr_type     = SOCK_RAW,
+  .pr_domain   = &inet6domain,
+  .pr_protocol = IPPROTO_DSTOPTS,
+  .pr_flags    = PR_ATOMIC|PR_ADDR,
+  .pr_input    = dest6_input,
+  .pr_output   = NULL,
+  .pr_ctlinput = NULL,
+  .pr_ctloutput        = NULL,
+  .pr_usrreq   = NULL,
+  .pr_init     = NULL,
+  .pr_fasttimo = NULL,
+  .pr_slowtimo = NULL,
+  .pr_drain    = NULL,
+  .pr_sysctl   = NULL
+},
+{
+  .pr_type     = SOCK_RAW,
+  .pr_domain   = &inet6domain,
+  .pr_protocol = IPPROTO_ROUTING,
+  .pr_flags    = PR_ATOMIC|PR_ADDR,
+  .pr_input    = route6_input,
+  .pr_output   = NULL,
+  .pr_ctlinput = NULL,
+  .pr_ctloutput        = NULL,
+  .pr_usrreq   = NULL,
+  .pr_init     = NULL,
+  .pr_fasttimo = NULL,
+  .pr_slowtimo = NULL,
+  .pr_drain    = NULL,
+  .pr_sysctl   = NULL
+},
+{
+  .pr_type     = SOCK_RAW,
+  .pr_domain   = &inet6domain,
+  .pr_protocol = IPPROTO_FRAGMENT,
+  .pr_flags    = PR_ATOMIC|PR_ADDR,
+  .pr_input    = frag6_input,
+  .pr_output   = NULL,
+  .pr_ctlinput = NULL,
+  .pr_ctloutput        = NULL,
+  .pr_usrreq   = NULL,
+  .pr_init     = NULL,
+  .pr_fasttimo = NULL,
+  .pr_slowtimo = NULL,
+  .pr_drain    = NULL,
+  .pr_sysctl   = NULL
 },
 #ifdef IPSEC
-{ SOCK_RAW,    &inet6domain,   IPPROTO_AH,     PR_ATOMIC|PR_ADDR,
-  ah6_input,   rip6_output,    0,              rip6_ctloutput,
-  rip6_usrreq,
-  0,           0,              0,              0,
-  ah_sysctl,
-},
-{ SOCK_RAW,    &inet6domain,   IPPROTO_ESP,    PR_ATOMIC|PR_ADDR,
-  esp6_input,  rip6_output,    0,              rip6_ctloutput,
-  rip6_usrreq,
-  0,           0,              0,              0,
-  esp_sysctl,
-},
-{ SOCK_RAW,    &inet6domain,   IPPROTO_IPCOMP, PR_ATOMIC|PR_ADDR,
-  ipcomp6_input, rip6_output,  0,              rip6_ctloutput,
-  rip6_usrreq,
-  0,           0,              0,              0,
-  ipcomp_sysctl,
+{
+  .pr_type     = SOCK_RAW,
+  .pr_domain   = &inet6domain,
+  .pr_protocol = IPPROTO_AH,
+  .pr_flags    = PR_ATOMIC|PR_ADDR,
+  .pr_input    = ah6_input,
+  .pr_output   = rip6_output,
+  .pr_ctlinput = NULL,
+  .pr_ctloutput        = rip6_ctloutput,
+  .pr_usrreq   = rip6_usrreq,
+  .pr_init     = NULL,
+  .pr_fasttimo = NULL,
+  .pr_slowtimo = NULL,
+  .pr_drain    = NULL,
+  .pr_sysctl   = ah_sysctl
+},
+{
+  .pr_type     = SOCK_RAW,
+  .pr_domain   = &inet6domain,
+  .pr_protocol = IPPROTO_ESP,
+  .pr_flags    = PR_ATOMIC|PR_ADDR,
+  .pr_input    = esp6_input,
+  .pr_output   = rip6_output,
+  .pr_ctlinput = NULL,
+  .pr_ctloutput        = rip6_ctloutput,
+  .pr_usrreq   = rip6_usrreq,
+  .pr_init     = NULL,
+  .pr_fasttimo = NULL,
+  .pr_slowtimo = NULL,
+  .pr_drain    = NULL,
+  .pr_sysctl   = esp_sysctl
+},
+{
+  .pr_type     = SOCK_RAW,
+  .pr_domain   = &inet6domain,
+  .pr_protocol = IPPROTO_IPCOMP,
+  .pr_flags    = PR_ATOMIC|PR_ADDR,
+  .pr_input    = ipcomp6_input,
+  .pr_output   = rip6_output,
+  .pr_ctlinput = NULL,
+  .pr_ctloutput        = rip6_ctloutput,
+  .pr_usrreq   = rip6_usrreq,
+  .pr_init     = NULL,
+  .pr_fasttimo = NULL,
+  .pr_slowtimo = NULL,
+  .pr_drain    = NULL,
+  .pr_sysctl   = ipcomp_sysctl
 },
 #endif /* IPSEC */
 #if NGIF > 0
-{ SOCK_RAW,    &inet6domain,   IPPROTO_ETHERIP,PR_ATOMIC|PR_ADDR,
-  etherip_input, rip6_output,  0,              rip6_ctloutput,
-  rip6_usrreq,
-  0,           0,              0,              0,              etherip_sysctl
-},
-{ SOCK_RAW,    &inet6domain,   IPPROTO_IPV6,   PR_ATOMIC|PR_ADDR,
-  in6_gif_input, rip6_output,  0,              rip6_ctloutput,
-  rip6_usrreq, /* XXX */
-  0,           0,              0,              0,
-},
-{ SOCK_RAW,    &inet6domain,   IPPROTO_IPV4,   PR_ATOMIC|PR_ADDR,
-  in6_gif_input, rip6_output,  0,              rip6_ctloutput,
-  rip6_usrreq, /* XXX */
-  0,           0,              0,              0,
+{
+  .pr_type     = SOCK_RAW,
+  .pr_domain   = &inet6domain,
+  .pr_protocol = IPPROTO_ETHERIP,
+  .pr_flags    = PR_ATOMIC|PR_ADDR,
+  .pr_input    = etherip_input,
+  .pr_output   = rip6_output,
+  .pr_ctlinput = NULL,
+  .pr_ctloutput        = rip6_ctloutput,
+  .pr_usrreq   = rip6_usrreq,
+  .pr_init     = NULL,
+  .pr_fasttimo = NULL,
+  .pr_slowtimo = NULL,
+  .pr_drain    = NULL,
+  .pr_sysctl   = etherip_sysctl
+},
+{
+  .pr_type     = SOCK_RAW,
+  .pr_domain   = &inet6domain,
+  .pr_protocol = IPPROTO_IPV6,
+  .pr_flags    = PR_ATOMIC|PR_ADDR,
+  .pr_input    = in6_gif_input,
+  .pr_output   = rip6_output,
+  .pr_ctlinput = NULL,
+  .pr_ctloutput        = rip6_ctloutput,
+  .pr_usrreq   = rip6_usrreq,  /* XXX */
+  .pr_init     = NULL,
+  .pr_fasttimo = NULL,
+  .pr_slowtimo = NULL,
+  .pr_drain    = NULL,
+  .pr_sysctl   = NULL
+},
+{
+  .pr_type     = SOCK_RAW,
+  .pr_domain   = &inet6domain,
+  .pr_protocol = IPPROTO_IPV4,
+  .pr_flags    = PR_ATOMIC|PR_ADDR,
+  .pr_input    = in6_gif_input,
+  .pr_output   = rip6_output,
+  .pr_ctlinput = NULL,
+  .pr_ctloutput        = rip6_ctloutput,
+  .pr_usrreq   = rip6_usrreq,  /* XXX */
+  .pr_init     = NULL,
+  .pr_fasttimo = NULL,
+  .pr_slowtimo = NULL,
+  .pr_drain    = NULL,
+  .pr_sysctl   = NULL
 },
 #else /* NGIF */
-{ SOCK_RAW,    &inet6domain,   IPPROTO_IPV6,   PR_ATOMIC|PR_ADDR,
-  ip4_input,   rip6_output,    0,              rip6_ctloutput,
-  rip6_usrreq, /* XXX */
-  0,           0,              0,              0,              ipip_sysctl
-},
-{ SOCK_RAW,    &inet6domain,   IPPROTO_IPV4,   PR_ATOMIC|PR_ADDR,
-  ip4_input,   rip6_output,    0,              rip6_ctloutput,
-  rip6_usrreq, /* XXX */
-  0,           0,              0,              0,
+{
+  .pr_type     = SOCK_RAW,
+  .pr_domain   = &inet6domain,
+  .pr_protocol = IPPROTO_IPV6,
+  .pr_flags    = PR_ATOMIC|PR_ADDR,
+  .pr_input    = ip4_input,
+  .pr_output   = rip6_output,
+  .pr_ctlinput = NULL,
+  .pr_ctloutput        = rip6_ctloutput,
+  .pr_usrreq   = rip6_usrreq,  /* XXX */
+  .pr_init     = NULL,
+  .pr_fasttimo = NULL,
+  .pr_slowtimo = NULL,
+  .pr_drain    = NULL,
+  .pr_sysctl   = ipip_sysctl
+},
+{
+  .pr_type     = SOCK_RAW,
+  .pr_domain   = &inet6domain,
+  .pr_protocol = IPPROTO_IPV4,
+  .pr_flags    = PR_ATOMIC|PR_ADDR,
+  .pr_input    = ip4_input,
+  .pr_output   = rip6_output,
+  .pr_ctlinput = NULL,
+  .pr_ctloutput        = rip6_ctloutput,
+  .pr_usrreq   = rip6_usrreq,  /* XXX */
+  .pr_init     = NULL,
+  .pr_fasttimo = NULL,
+  .pr_slowtimo = NULL,
+  .pr_drain    = NULL,
+  .pr_sysctl   = NULL,
 },
 #endif /* GIF */
 #if NCARP > 0
-{ SOCK_RAW,    &inet6domain,   IPPROTO_CARP,   PR_ATOMIC|PR_ADDR,
-  carp6_proto_input,   rip6_output,    0,      rip6_ctloutput,
-  rip6_usrreq,
-  0,           0,              0,              0,              carp_sysctl
+{
+  .pr_type     = SOCK_RAW,
+  .pr_domain   = &inet6domain,
+  .pr_protocol = IPPROTO_CARP,
+  .pr_flags    = PR_ATOMIC|PR_ADDR,
+  .pr_input    = carp6_proto_input,
+  .pr_output   = rip6_output,
+  .pr_ctlinput = NULL,
+  .pr_ctloutput = rip6_ctloutput,
+  .pr_usrreq   = rip6_usrreq,
+  .pr_init     = NULL,
+  .pr_fasttimo = NULL,
+  .pr_slowtimo = NULL,
+  .pr_drain    = NULL,
+  .pr_sysctl   = carp_sysctl
 },
 #endif /* NCARP */
 #if NPF > 0
-{ SOCK_RAW,    &inet6domain,   IPPROTO_DIVERT, PR_ATOMIC|PR_ADDR,
-  0,           0,              0,      rip6_ctloutput,
-  divert6_usrreq,
-  divert6_init,        0,              0,              0,              
divert6_sysctl
+{
+  .pr_type     = SOCK_RAW,
+  .pr_domain   = &inet6domain,
+  .pr_protocol = IPPROTO_DIVERT,
+  .pr_flags    = PR_ATOMIC|PR_ADDR,
+  .pr_input    = NULL,
+  .pr_output   = NULL,
+  .pr_ctlinput = NULL,
+  .pr_ctloutput        = rip6_ctloutput,
+  .pr_usrreq   = divert6_usrreq,
+  .pr_init     = divert6_init,
+  .pr_fasttimo = NULL,
+  .pr_slowtimo = NULL,
+  .pr_drain    = NULL,
+  .pr_sysctl   = divert6_sysctl
 },
 #endif /* NPF > 0 */
 #if NETHERIP > 0
-{ SOCK_RAW,    &inet6domain,   IPPROTO_ETHERIP,PR_ATOMIC|PR_ADDR,
-  ip6_etherip_input, rip6_output,      0,              rip6_ctloutput,
-  rip6_usrreq,
-  0,           0,              0,              0,              
ip_etherip_sysctl
+{
+  .pr_type     = SOCK_RAW,
+  .pr_domain   = &inet6domain,
+  .pr_protocol = IPPROTO_ETHERIP,
+  .pr_flags    = PR_ATOMIC|PR_ADDR,
+  .pr_input    = ip6_etherip_input,
+  .pr_output   = rip6_output,
+  .pr_ctlinput = NULL,
+  .pr_ctloutput        = rip6_ctloutput,
+  .pr_usrreq   = rip6_usrreq,
+  .pr_init     = NULL,
+  .pr_fasttimo = NULL,
+  .pr_slowtimo = NULL,
+  .pr_drain    = NULL,
+  .pr_sysctl   = ip_etherip_sysctl
 },
 #endif /* NETHERIP */
-/* raw wildcard */
-{ SOCK_RAW,    &inet6domain,   0,              PR_ATOMIC|PR_ADDR,
-  rip6_input,  rip6_output,    0,              rip6_ctloutput,
-  rip6_usrreq, rip6_init,
-  0,           0,              0,
-},
+{
+  /* raw wildcard */
+  .pr_type     = SOCK_RAW,
+  .pr_domain   = &inet6domain,
+  .pr_protocol = 0,
+  .pr_flags    = PR_ATOMIC|PR_ADDR,
+  .pr_input    = rip6_input,
+  .pr_output   = rip6_output,
+  .pr_ctlinput = NULL,
+  .pr_ctloutput        = rip6_ctloutput,
+  .pr_usrreq   = rip6_usrreq,
+  .pr_init     = rip6_init,
+  .pr_fasttimo = NULL,
+  .pr_slowtimo = NULL,
+  .pr_drain    = NULL,
+  .pr_sysctl   = NULL
+}
 };
 
 struct domain inet6domain =

Reply via email to