]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/sys/socket.h
xnu-6153.11.26.tar.gz
[apple/xnu.git] / bsd / sys / socket.h
index f6bafa632ea2829e91d8a0d6d5caf27f029c5acd..e851212be4ad45b8db78411ff1c32098329c46ee 100644 (file)
@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright (c) 2000-2018 Apple Inc. All rights reserved.
+ * Copyright (c) 2000-2019 Apple Inc. All rights reserved.
  *
  * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  *
  *
  * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  *
@@ -70,7 +70,7 @@
  */
 
 #ifndef _SYS_SOCKET_H_
  */
 
 #ifndef _SYS_SOCKET_H_
-#define        _SYS_SOCKET_H_
+#define _SYS_SOCKET_H_
 
 #include <sys/types.h>
 #include <sys/cdefs.h>
 
 #include <sys/types.h>
 #include <sys/cdefs.h>
 /*
  * Types
  */
 /*
  * Types
  */
-#define        SOCK_STREAM     1               /* stream socket */
-#define        SOCK_DGRAM      2               /* datagram socket */
-#define        SOCK_RAW        3               /* raw-protocol interface */
+#define SOCK_STREAM     1               /* stream socket */
+#define SOCK_DGRAM      2               /* datagram socket */
+#define SOCK_RAW        3               /* raw-protocol interface */
 #if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
 #if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
-#define        SOCK_RDM        4               /* reliably-delivered message */
-#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */
-#define        SOCK_SEQPACKET  5               /* sequenced packet stream */
+#define SOCK_RDM        4               /* reliably-delivered message */
+#endif  /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */
+#define SOCK_SEQPACKET  5               /* sequenced packet stream */
 
 /*
  * Option flags per-socket.
  */
 
 /*
  * Option flags per-socket.
  */
-#define        SO_DEBUG        0x0001          /* turn on debugging info recording */
-#define        SO_ACCEPTCONN   0x0002          /* socket has had listen() */
-#define        SO_REUSEADDR    0x0004          /* allow local address reuse */
-#define        SO_KEEPALIVE    0x0008          /* keep connections alive */
-#define        SO_DONTROUTE    0x0010          /* just use interface addresses */
-#define        SO_BROADCAST    0x0020          /* permit sending of broadcast msgs */
+#define SO_DEBUG        0x0001          /* turn on debugging info recording */
+#define SO_ACCEPTCONN   0x0002          /* socket has had listen() */
+#define SO_REUSEADDR    0x0004          /* allow local address reuse */
+#define SO_KEEPALIVE    0x0008          /* keep connections alive */
+#define SO_DONTROUTE    0x0010          /* just use interface addresses */
+#define SO_BROADCAST    0x0020          /* permit sending of broadcast msgs */
 #if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
 #if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
-#define        SO_USELOOPBACK  0x0040          /* bypass hardware when possible */
-#define        SO_LINGER       0x0080          /* linger on close if data present (in ticks) */
+#define SO_USELOOPBACK  0x0040          /* bypass hardware when possible */
+#define SO_LINGER       0x0080          /* linger on close if data present (in ticks) */
 #else
 #else
-#define        SO_LINGER       0x1080          /* linger on close if data present (in seconds) */
-#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */
-#define        SO_OOBINLINE    0x0100          /* leave received OOB data in line */
+#define SO_LINGER       0x1080          /* linger on close if data present (in seconds) */
+#endif  /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */
+#define SO_OOBINLINE    0x0100          /* leave received OOB data in line */
 #if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
 #if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
-#define        SO_REUSEPORT    0x0200          /* allow local address & port reuse */
-#define        SO_TIMESTAMP    0x0400          /* timestamp received dgram traffic */
-#define        SO_TIMESTAMP_MONOTONIC  0x0800  /* Monotonically increasing timestamp on rcvd dgram */
+#define SO_REUSEPORT    0x0200          /* allow local address & port reuse */
+#define SO_TIMESTAMP    0x0400          /* timestamp received dgram traffic */
+#define SO_TIMESTAMP_MONOTONIC  0x0800  /* Monotonically increasing timestamp on rcvd dgram */
 #ifndef __APPLE__
 #ifndef __APPLE__
-#define        SO_ACCEPTFILTER 0x1000          /* there is an accept filter */
+#define SO_ACCEPTFILTER 0x1000          /* there is an accept filter */
 #else
 #else
-#define        SO_DONTTRUNC    0x2000          /* APPLE: Retain unread data */
-                                       /*  (ATOMIC proto) */
-#define        SO_WANTMORE     0x4000          /* APPLE: Give hint when more data ready */
-#define        SO_WANTOOBFLAG  0x8000          /* APPLE: Want OOB in MSG_FLAG on receive */
+#define SO_DONTTRUNC    0x2000          /* APPLE: Retain unread data */
+                                        /*  (ATOMIC proto) */
+#define SO_WANTMORE     0x4000          /* APPLE: Give hint when more data ready */
+#define SO_WANTOOBFLAG  0x8000          /* APPLE: Want OOB in MSG_FLAG on receive */
 
 #ifdef PRIVATE
 
 #ifdef PRIVATE
-#define        SO_NOWAKEFROMSLEEP      0x10000 /* Don't wake for traffic to this socket */
-#define        SO_NOAPNFALLBK          0x20000 /* Don't attempt APN fallback for the socket */
-#define        SO_TIMESTAMP_CONTINUOUS 0x40000 /* Continuous monotonic timestamp on rcvd dgram */
+#define SO_NOWAKEFROMSLEEP      0x10000 /* Don't wake for traffic to this socket */
+#define SO_NOAPNFALLBK          0x20000 /* Don't attempt APN fallback for the socket */
+#define SO_TIMESTAMP_CONTINUOUS 0x40000 /* Continuous monotonic timestamp on rcvd dgram */
 #endif
 
 #endif  /* (!__APPLE__) */
 #endif
 
 #endif  /* (!__APPLE__) */
-#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */
+#endif  /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */
 
 /*
  * Additional options, not kept in so_options.
  */
 
 /*
  * Additional options, not kept in so_options.
  */
-#define        SO_SNDBUF       0x1001          /* send buffer size */
-#define        SO_RCVBUF       0x1002          /* receive buffer size */
-#define        SO_SNDLOWAT     0x1003          /* send low-water mark */
-#define        SO_RCVLOWAT     0x1004          /* receive low-water mark */
-#define        SO_SNDTIMEO     0x1005          /* send timeout */
-#define        SO_RCVTIMEO     0x1006          /* receive timeout */
-#define        SO_ERROR        0x1007          /* get error status and clear */
-#define        SO_TYPE         0x1008          /* get socket type */
+#define SO_SNDBUF       0x1001          /* send buffer size */
+#define SO_RCVBUF       0x1002          /* receive buffer size */
+#define SO_SNDLOWAT     0x1003          /* send low-water mark */
+#define SO_RCVLOWAT     0x1004          /* receive low-water mark */
+#define SO_SNDTIMEO     0x1005          /* send timeout */
+#define SO_RCVTIMEO     0x1006          /* receive timeout */
+#define SO_ERROR        0x1007          /* get error status and clear */
+#define SO_TYPE         0x1008          /* get socket type */
 #if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
 #if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
-#define        SO_LABEL        0x1010          /* socket's MAC label */
-#define        SO_PEERLABEL    0x1011          /* socket's peer MAC label */
+#define SO_LABEL        0x1010          /* socket's MAC label */
+#define SO_PEERLABEL    0x1011          /* socket's peer MAC label */
 #ifdef __APPLE__
 #ifdef __APPLE__
-#define        SO_NREAD        0x1020          /* APPLE: get 1st-packet byte count */
-#define        SO_NKE          0x1021          /* APPLE: Install socket-level NKE */
-#define        SO_NOSIGPIPE    0x1022          /* APPLE: No SIGPIPE on EPIPE */
-#define        SO_NOADDRERR    0x1023          /* APPLE: Returns EADDRNOTAVAIL when src is not available anymore */
-#define        SO_NWRITE       0x1024          /* APPLE: Get number of bytes currently in send socket buffer */
-#define        SO_REUSESHAREUID        0x1025          /* APPLE: Allow reuse of port/socket by different userids */
+#define SO_NREAD        0x1020          /* APPLE: get 1st-packet byte count */
+#define SO_NKE          0x1021          /* APPLE: Install socket-level NKE */
+#define SO_NOSIGPIPE    0x1022          /* APPLE: No SIGPIPE on EPIPE */
+#define SO_NOADDRERR    0x1023          /* APPLE: Returns EADDRNOTAVAIL when src is not available anymore */
+#define SO_NWRITE       0x1024          /* APPLE: Get number of bytes currently in send socket buffer */
+#define SO_REUSESHAREUID        0x1025          /* APPLE: Allow reuse of port/socket by different userids */
 #ifdef __APPLE_API_PRIVATE
 #ifdef __APPLE_API_PRIVATE
-#define        SO_NOTIFYCONFLICT       0x1026  /* APPLE: send notification if there is a bind on a port which is already in use */
-#define        SO_UPCALLCLOSEWAIT      0x1027  /* APPLE: block on close until an upcall returns */
+#define SO_NOTIFYCONFLICT       0x1026  /* APPLE: send notification if there is a bind on a port which is already in use */
+#define SO_UPCALLCLOSEWAIT      0x1027  /* APPLE: block on close until an upcall returns */
 #endif
 #endif
-#define        SO_LINGER_SEC   0x1080          /* linger on close if data present (in seconds) */
+#define SO_LINGER_SEC   0x1080          /* linger on close if data present (in seconds) */
 #ifdef PRIVATE
 #ifdef PRIVATE
-#define        SO_RESTRICTIONS 0x1081          /* APPLE: deny flag set */
-#define         SO_RESTRICT_DENY_IN    0x1     /* deny inbound (trapdoor) */
-#define         SO_RESTRICT_DENY_OUT   0x2     /* deny outbound (trapdoor) */
-#define         SO_RESTRICT_DENY_CELLULAR 0x4  /* deny use of cellular (trapdoor) */
-#define         SO_RESTRICT_DENY_EXPENSIVE 0x8 /* deny use of expensive if (trapdoor) */
+#define SO_RESTRICTIONS 0x1081          /* APPLE: deny flag set */
+#define  SO_RESTRICT_DENY_IN    0x1     /* deny inbound (trapdoor) */
+#define  SO_RESTRICT_DENY_OUT   0x2     /* deny outbound (trapdoor) */
+#define  SO_RESTRICT_DENY_CELLULAR 0x4  /* deny use of cellular (trapdoor) */
+#define  SO_RESTRICT_DENY_EXPENSIVE 0x8 /* deny use of expensive if (trapdoor) */
+#define  SO_RESTRICT_DENY_CONSTRAINED 0x10 /* deny use of expensive if (trapdoor) */
 #endif /* PRIVATE */
 #endif /* PRIVATE */
-#define        SO_RANDOMPORT   0x1082  /* APPLE: request local port randomization */
-#define        SO_NP_EXTENSIONS        0x1083  /* To turn off some POSIX behavior */
+#define SO_RANDOMPORT   0x1082  /* APPLE: request local port randomization */
+#define SO_NP_EXTENSIONS        0x1083  /* To turn off some POSIX behavior */
 #endif
 
 #ifdef PRIVATE
 #endif
 
 #ifdef PRIVATE
-#define        SO_EXECPATH     0x1085          /* Application Firewall Socket option */
+#define SO_EXECPATH     0x1085          /* Application Firewall Socket option */
 
 /*
  * Traffic service class definitions (lowest to highest):
 
 /*
  * Traffic service class definitions (lowest to highest):
  *     certain types of locally-originated ICMP, ICMPv6; IGMP/MLD join/leave,
  *     ARP.
  */
  *     certain types of locally-originated ICMP, ICMPv6; IGMP/MLD join/leave,
  *     ARP.
  */
-#define        SO_TRAFFIC_CLASS        0x1086  /* Traffic service class (int) */
-#define        SO_TC_BK_SYS    100             /* lowest class */
-#define        SO_TC_BK        200
-#define        SO_TC_BE        0
-#define        SO_TC_RD        300
-#define        SO_TC_OAM       400
-#define        SO_TC_AV        500
-#define        SO_TC_RV        600
-#define        SO_TC_VI        700
-#define        SO_TC_VO        800
-#define        SO_TC_CTL       900             /* highest class */
-#define        SO_TC_MAX       10              /* Total # of traffic classes */
+#define SO_TRAFFIC_CLASS        0x1086  /* Traffic service class (int) */
+#define SO_TC_BK_SYS    100             /* lowest class */
+#define SO_TC_BK        200
+#define SO_TC_BE        0
+#define SO_TC_RD        300
+#define SO_TC_OAM       400
+#define SO_TC_AV        500
+#define SO_TC_RV        600
+#define SO_TC_VI        700
+#define SO_TC_VO        800
+#define SO_TC_CTL       900             /* highest class */
+#define SO_TC_MAX       10              /* Total # of traffic classes */
 #ifdef XNU_KERNEL_PRIVATE
 #ifdef XNU_KERNEL_PRIVATE
-#define        _SO_TC_BK       1               /* deprecated */
-#define        _SO_TC_VI       2               /* deprecated */
-#define        _SO_TC_VO       3               /* deprecated */
-#define        _SO_TC_MAX      4               /* deprecated */
-
-#define        SO_VALID_TC(c)                                                  \
-       (c == SO_TC_BK_SYS || c == SO_TC_BK || c == SO_TC_BE ||         \
-       c == SO_TC_RD || c == SO_TC_OAM || c == SO_TC_AV ||             \
-       c == SO_TC_RV || c == SO_TC_VI || c == SO_TC_VO ||              \
+#define _SO_TC_BK       1               /* deprecated */
+#define _SO_TC_VI       2               /* deprecated */
+#define _SO_TC_VO       3               /* deprecated */
+#define _SO_TC_MAX      4               /* deprecated */
+
+#define SO_VALID_TC(c)                                                  \
+       (c == SO_TC_BK_SYS || c == SO_TC_BK || c == SO_TC_BE ||         \
+       c == SO_TC_RD || c == SO_TC_OAM || c == SO_TC_AV ||             \
+       c == SO_TC_RV || c == SO_TC_VI || c == SO_TC_VO ||              \
        c == SO_TC_CTL || c == SO_TC_NETSVC_SIG)
 
        c == SO_TC_CTL || c == SO_TC_NETSVC_SIG)
 
-#define        SO_TC_UNSPEC    ((int)-1)               /* Traffic class not specified */
+#define SO_TC_UNSPEC    ((int)-1)               /* Traffic class not specified */
 
 
-#define        SO_TC_SIG       SO_TC_VI                /* to be removed XXX */
+#define SO_TC_SIG       SO_TC_VI                /* to be removed XXX */
 
 
-#define        SOTCIX_BK_SYS   0
-#define        SOTCIX_BK       1
-#define        SOTCIX_BE       2
-#define        SOTCIX_RD       3
-#define        SOTCIX_OAM      4
-#define        SOTCIX_AV       5
-#define        SOTCIX_RV       6
-#define        SOTCIX_VI       7
-#define        SOTCIX_VO       8
-#define        SOTCIX_CTL      9
+#define SOTCIX_BK_SYS   0
+#define SOTCIX_BK       1
+#define SOTCIX_BE       2
+#define SOTCIX_RD       3
+#define SOTCIX_OAM      4
+#define SOTCIX_AV       5
+#define SOTCIX_RV       6
+#define SOTCIX_VI       7
+#define SOTCIX_VO       8
+#define SOTCIX_CTL      9
 #endif /* XNU_KERNEL_PRIVATE */
 
 /* Background socket configuration flags  */
 #endif /* XNU_KERNEL_PRIVATE */
 
 /* Background socket configuration flags  */
-#define        TRAFFIC_MGT_SO_BACKGROUND       0x0001  /* background socket */
-#define        TRAFFIC_MGT_TCP_RECVBG          0x0002  /* Only TCP sockets, receiver throttling */
+#define TRAFFIC_MGT_SO_BACKGROUND       0x0001  /* background socket */
+#define TRAFFIC_MGT_TCP_RECVBG          0x0002  /* Only TCP sockets, receiver throttling */
 
 
-#define        SO_RECV_TRAFFIC_CLASS   0x1087          /* Receive traffic class (bool) */
-#define        SO_TRAFFIC_CLASS_DBG    0x1088          /* Debug traffic class (struct so_tcdbg) */
-#define        SO_TRAFFIC_CLASS_STATS  0x1089          /* Traffic class statistics */
-#define        SO_PRIVILEGED_TRAFFIC_CLASS 0x1090      /* Privileged traffic class (bool) */
-#define        SO_DEFUNCTIT    0x1091          /* Defunct a socket (only in internal builds) */
-#define        SO_DEFUNCTOK    0x1100          /* can be defunct'd */
-#define        SO_ISDEFUNCT    0x1101          /* get defunct status */
+#define SO_RECV_TRAFFIC_CLASS   0x1087          /* Receive traffic class (bool) */
+#define SO_TRAFFIC_CLASS_DBG    0x1088          /* Debug traffic class (struct so_tcdbg) */
+#define SO_TRAFFIC_CLASS_STATS  0x1089          /* Traffic class statistics */
+#define SO_PRIVILEGED_TRAFFIC_CLASS 0x1090      /* Privileged traffic class (bool) */
+#define SO_DEFUNCTIT    0x1091          /* Defunct a socket (only in internal builds) */
+#define SO_DEFUNCTOK    0x1100          /* can be defunct'd */
+#define SO_ISDEFUNCT    0x1101          /* get defunct status */
 
 
-#define        SO_OPPORTUNISTIC        0x1102  /* deprecated; use SO_TRAFFIC_CLASS */
+#define SO_OPPORTUNISTIC        0x1102  /* deprecated; use SO_TRAFFIC_CLASS */
 
 /*
  * SO_FLUSH flushes any unsent data generated by a given socket.  It takes
  * an integer parameter, which can be any of the SO_TC traffic class values,
  * or the special SO_TC_ALL value.
  */
 
 /*
  * SO_FLUSH flushes any unsent data generated by a given socket.  It takes
  * an integer parameter, which can be any of the SO_TC traffic class values,
  * or the special SO_TC_ALL value.
  */
-#define        SO_FLUSH        0x1103          /* flush unsent data (int) */
-#define         SO_TC_ALL      (-1)
+#define SO_FLUSH        0x1103          /* flush unsent data (int) */
+#define  SO_TC_ALL      (-1)
 
 
-#define        SO_RECV_ANYIF   0x1104          /* unrestricted inbound processing */
-#define        SO_TRAFFIC_MGT_BACKGROUND       0x1105  /* Background traffic management */
+#define SO_RECV_ANYIF   0x1104          /* unrestricted inbound processing */
+#define SO_TRAFFIC_MGT_BACKGROUND       0x1105  /* Background traffic management */
 
 
-#define        SO_FLOW_DIVERT_TOKEN    0x1106  /* flow divert token */
+#define SO_FLOW_DIVERT_TOKEN    0x1106  /* flow divert token */
 
 
-#define        SO_DELEGATED            0x1107  /* set socket as delegate (pid_t) */
-#define        SO_DELEGATED_UUID       0x1108  /* set socket as delegate (uuid_t) */
-#define        SO_NECP_ATTRIBUTES      0x1109  /* NECP socket attributes (domain, account, etc.) */
-#define        SO_CFIL_SOCK_ID         0x1110  /* get content filter socket ID (cfil_sock_id_t) */
-#define        SO_NECP_CLIENTUUID      0x1111  /* NECP Client uuid */
+#define SO_DELEGATED            0x1107  /* set socket as delegate (pid_t) */
+#define SO_DELEGATED_UUID       0x1108  /* set socket as delegate (uuid_t) */
+#define SO_NECP_ATTRIBUTES      0x1109  /* NECP socket attributes (domain, account, etc.) */
+#define SO_CFIL_SOCK_ID         0x1110  /* get content filter socket ID (cfil_sock_id_t) */
+#define SO_NECP_CLIENTUUID      0x1111  /* NECP Client uuid */
 #endif /* PRIVATE */
 #endif /* PRIVATE */
-#define        SO_NUMRCVPKT            0x1112  /* number of datagrams in receive socket buffer */
+#define SO_NUMRCVPKT            0x1112  /* number of datagrams in receive socket buffer */
 #ifdef PRIVATE
 #ifdef PRIVATE
-#define        SO_AWDL_UNRESTRICTED    0x1113  /* try to use AWDL in restricted mode */
-#define        SO_EXTENDED_BK_IDLE     0x1114  /* extended time to keep socket idle after app is suspended (int) */
-#define        SO_MARK_CELLFALLBACK    0x1115  /* Mark as initiated by cell fallback */
+#define SO_AWDL_UNRESTRICTED    0x1113  /* try to use AWDL in restricted mode */
+#define SO_EXTENDED_BK_IDLE     0x1114  /* extended time to keep socket idle after app is suspended (int) */
+#define SO_MARK_CELLFALLBACK    0x1115  /* Mark as initiated by cell fallback */
 #endif /* PRIVATE */
 #endif /* PRIVATE */
+#define SO_NET_SERVICE_TYPE     0x1116  /* Network service type */
 
 
+#ifdef PRIVATE
+#define SO_QOSMARKING_POLICY_OVERRIDE   0x1117  /* int */
+#define SO_INTCOPROC_ALLOW              0x1118  /* Try to use internal co-processor interfaces. */
+#endif /* PRIVATE */
+
+#define SO_NETSVC_MARKING_LEVEL 0x1119  /* Get QoS marking in effect for socket */
+
+#ifdef PRIVATE
+#define SO_NECP_LISTENUUID      0x1120  /* NECP client UUID for listener */
+#define SO_MPKL_SEND_INFO       0x1122  /* (struct so_mpkl_send_info) */
+#define SO_STATISTICS_EVENT 0x1123  /* int64 argument, an event in statistics collection */
+#endif /* PRIVATE */
 /*
  * Network Service Type for option SO_NET_SERVICE_TYPE
  *
 /*
  * Network Service Type for option SO_NET_SERVICE_TYPE
  *
  *     inelastic flow, constant packet rate, somewhat fixed size.
  *     E.g. VoIP.
  */
  *     inelastic flow, constant packet rate, somewhat fixed size.
  *     E.g. VoIP.
  */
-#define        SO_NET_SERVICE_TYPE     0x1116  /* Network service type */
-
-#define        NET_SERVICE_TYPE_BE     0 /* Best effort */
-#define        NET_SERVICE_TYPE_BK     1 /* Background system initiated */
-#define        NET_SERVICE_TYPE_SIG    2 /* Signaling */
-#define        NET_SERVICE_TYPE_VI     3 /* Interactive Video */
-#define        NET_SERVICE_TYPE_VO     4 /* Interactive Voice */
-#define        NET_SERVICE_TYPE_RV     5 /* Responsive Multimedia Audio/Video */
-#define        NET_SERVICE_TYPE_AV     6 /* Multimedia Audio/Video Streaming */
-#define        NET_SERVICE_TYPE_OAM    7 /* Operations, Administration, and Management */
-#define        NET_SERVICE_TYPE_RD     8 /* Responsive Data */
 
 
-#if PRIVATE
-#define        SO_QOSMARKING_POLICY_OVERRIDE   0x1117  /* int */
-#define        SO_INTCOPROC_ALLOW              0x1118  /* Try to use internal co-processor interfaces. */
+#define NET_SERVICE_TYPE_BE     0 /* Best effort */
+#define NET_SERVICE_TYPE_BK     1 /* Background system initiated */
+#define NET_SERVICE_TYPE_SIG    2 /* Signaling */
+#define NET_SERVICE_TYPE_VI     3 /* Interactive Video */
+#define NET_SERVICE_TYPE_VO     4 /* Interactive Voice */
+#define NET_SERVICE_TYPE_RV     5 /* Responsive Multimedia Audio/Video */
+#define NET_SERVICE_TYPE_AV     6 /* Multimedia Audio/Video Streaming */
+#define NET_SERVICE_TYPE_OAM    7 /* Operations, Administration, and Management */
+#define NET_SERVICE_TYPE_RD     8 /* Responsive Data */
 
 
-#define        _NET_SERVICE_TYPE_COUNT 9
-#define        _NET_SERVICE_TYPE_UNSPEC        ((int)-1)
+#if PRIVATE
+#define _NET_SERVICE_TYPE_COUNT 9
+#define _NET_SERVICE_TYPE_UNSPEC        ((int)-1)
 
 
-#define        IS_VALID_NET_SERVICE_TYPE(c)                            \
+#define IS_VALID_NET_SERVICE_TYPE(c)                            \
        (c >= NET_SERVICE_TYPE_BE && c <= NET_SERVICE_TYPE_RD)
 
 extern const int sotc_by_netservicetype[_NET_SERVICE_TYPE_COUNT];
        (c >= NET_SERVICE_TYPE_BE && c <= NET_SERVICE_TYPE_RD)
 
 extern const int sotc_by_netservicetype[_NET_SERVICE_TYPE_COUNT];
@@ -446,53 +456,53 @@ extern const int sotc_by_netservicetype[_NET_SERVICE_TYPE_COUNT];
  * Mostly useful to simplify implementation of frameworks to adopt the new
  * Network Service Type values for Signaling.
  */
  * Mostly useful to simplify implementation of frameworks to adopt the new
  * Network Service Type values for Signaling.
  */
-#define        SO_TC_NET_SERVICE_OFFSET        10000
-#define        SO_TC_NETSVC_SIG        (SO_TC_NET_SERVICE_OFFSET + NET_SERVICE_TYPE_SIG)
+#define SO_TC_NET_SERVICE_OFFSET        10000
+#define SO_TC_NETSVC_SIG        (SO_TC_NET_SERVICE_OFFSET + NET_SERVICE_TYPE_SIG)
 #endif /* PRIVATE */
 
 #endif /* PRIVATE */
 
-#define        SO_NETSVC_MARKING_LEVEL 0x1119  /* Get QoS marking in effect for socket */
+/* These are supported values for SO_NETSVC_MARKING_LEVEL */
+#define NETSVC_MRKNG_UNKNOWN            0       /* The outgoing network interface is not known */
+#define NETSVC_MRKNG_LVL_L2             1       /* Default marking at layer 2 (for example Wi-Fi WMM) */
+#define NETSVC_MRKNG_LVL_L3L2_ALL       2       /* Layer 3 DSCP marking and layer 2 marking for all Network Service Types */
+#define NETSVC_MRKNG_LVL_L3L2_BK        3       /* The system policy limits layer 3 DSCP marking and layer 2 marking
+                                                * to background Network Service Types */
 
 
-#define        NETSVC_MRKNG_UNKNOWN            0       /* The outgoing network interface is not known */
-#define        NETSVC_MRKNG_LVL_L2             1       /* Default marking at layer 2 (for example Wi-Fi WMM) */
-#define        NETSVC_MRKNG_LVL_L3L2_ALL       2       /* Layer 3 DSCP marking and layer 2 marking for all Network Service Types */
-#define        NETSVC_MRKNG_LVL_L3L2_BK        3       /* The system policy limits layer 3 DSCP marking and layer 2 marking
-                                                * to background Network Service Types */
 
 typedef __uint32_t sae_associd_t;
 
 typedef __uint32_t sae_associd_t;
-#define        SAE_ASSOCID_ANY 0
-#define        SAE_ASSOCID_ALL ((sae_associd_t)(-1ULL))
+#define SAE_ASSOCID_ANY 0
+#define SAE_ASSOCID_ALL ((sae_associd_t)(-1ULL))
 
 typedef __uint32_t sae_connid_t;
 
 typedef __uint32_t sae_connid_t;
-#define        SAE_CONNID_ANY  0
-#define        SAE_CONNID_ALL  ((sae_connid_t)(-1ULL))
+#define SAE_CONNID_ANY  0
+#define SAE_CONNID_ALL  ((sae_connid_t)(-1ULL))
 
 /* connectx() flag parameters */
 
 /* connectx() flag parameters */
-#define        CONNECT_RESUME_ON_READ_WRITE    0x1 /* resume connect() on read/write */
-#define        CONNECT_DATA_IDEMPOTENT         0x2 /* data is idempotent */
-#define        CONNECT_DATA_AUTHENTICATED      0x4 /* data includes security that replaces the TFO-cookie */
+#define CONNECT_RESUME_ON_READ_WRITE    0x1 /* resume connect() on read/write */
+#define CONNECT_DATA_IDEMPOTENT         0x2 /* data is idempotent */
+#define CONNECT_DATA_AUTHENTICATED      0x4 /* data includes security that replaces the TFO-cookie */
 
 /* sockaddr endpoints */
 typedef struct sa_endpoints {
 
 /* sockaddr endpoints */
 typedef struct sa_endpoints {
-       unsigned int            sae_srcif;      /* optional source interface */
-       const struct sockaddr   *sae_srcaddr;   /* optional source address */
-       socklen_t               sae_srcaddrlen; /* size of source address */
-       const struct sockaddr   *sae_dstaddr;   /* destination address */
-       socklen_t               sae_dstaddrlen; /* size of destination address */
+       unsigned int            sae_srcif;      /* optional source interface */
+       const struct sockaddr   *sae_srcaddr;   /* optional source address */
+       socklen_t               sae_srcaddrlen; /* size of source address */
+       const struct sockaddr   *sae_dstaddr;   /* destination address */
+       socklen_t               sae_dstaddrlen; /* size of destination address */
 } sa_endpoints_t;
 } sa_endpoints_t;
-#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */
+#endif  /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */
 
 /*
  * Structure used for manipulating linger option.
  */
 
 /*
  * Structure used for manipulating linger option.
  */
-struct linger {
-       int     l_onoff;                /* option on/off */
-       int     l_linger;               /* linger time */
+struct  linger {
+       int     l_onoff;                /* option on/off */
+       int     l_linger;               /* linger time */
 };
 
 #ifndef __APPLE__
 };
 
 #ifndef __APPLE__
-struct accept_filter_arg {
-       char    af_name[16];
-       char    af_arg[256-16];
+struct  accept_filter_arg {
+       char    af_name[16];
+       char    af_arg[256 - 16];
 };
 #endif
 
 };
 #endif
 
@@ -503,17 +513,17 @@ struct    accept_filter_arg {
  * Structure to control non-portable Sockets extension to POSIX
  */
 struct so_np_extensions {
  * Structure to control non-portable Sockets extension to POSIX
  */
 struct so_np_extensions {
-       u_int32_t       npx_flags;
-       u_int32_t       npx_mask;
+       u_int32_t       npx_flags;
+       u_int32_t       npx_mask;
 };
 
 };
 
-#define        SONPX_SETOPTSHUT        0x000000001     /* flag for allowing setsockopt after shutdown */
+#define SONPX_SETOPTSHUT        0x000000001     /* flag for allowing setsockopt after shutdown */
 
 
 #ifdef KERNEL_PRIVATE
 
 
 #ifdef KERNEL_PRIVATE
-#define        SONPX_MASK_VALID                (SONPX_SETOPTSHUT)
-#define        IS_SO_TC_BACKGROUND(_tc_) ((_tc_) == SO_TC_BK || (_tc_) == SO_TC_BK_SYS)
-#define        IS_SO_TC_BACKGROUNDSYSTEM(_tc_) ((_tc_) == SO_TC_BK_SYS)
+#define SONPX_MASK_VALID                (SONPX_SETOPTSHUT)
+#define IS_SO_TC_BACKGROUND(_tc_) ((_tc_) == SO_TC_BK || (_tc_) == SO_TC_BK_SYS)
+#define IS_SO_TC_BACKGROUNDSYSTEM(_tc_) ((_tc_) == SO_TC_BK_SYS)
 #endif /* KERNEL_PRIVATE */
 
 #endif
 #endif /* KERNEL_PRIVATE */
 
 #endif
@@ -522,170 +532,171 @@ struct so_np_extensions {
 /*
  * Level number for (get/set)sockopt() to apply to socket itself.
  */
 /*
  * Level number for (get/set)sockopt() to apply to socket itself.
  */
-#define        SOL_SOCKET      0xffff          /* options for socket level */
+#define SOL_SOCKET      0xffff          /* options for socket level */
 
 
 /*
  * Address families.
  */
 
 
 /*
  * Address families.
  */
-#define        AF_UNSPEC       0               /* unspecified */
-#define        AF_UNIX         1               /* local to host (pipes) */
+#define AF_UNSPEC       0               /* unspecified */
+#define AF_UNIX         1               /* local to host (pipes) */
 #if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
 #if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
-#define        AF_LOCAL        AF_UNIX         /* backward compatibility */
-#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */
-#define        AF_INET         2               /* internetwork: UDP, TCP, etc. */
+#define AF_LOCAL        AF_UNIX         /* backward compatibility */
+#endif  /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */
+#define AF_INET         2               /* internetwork: UDP, TCP, etc. */
 #if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
 #if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
-#define        AF_IMPLINK      3               /* arpanet imp addresses */
-#define        AF_PUP          4               /* pup protocols: e.g. BSP */
-#define        AF_CHAOS        5               /* mit CHAOS protocols */
-#define        AF_NS           6               /* XEROX NS protocols */
-#define        AF_ISO          7               /* ISO protocols */
-#define        AF_OSI          AF_ISO
-#define        AF_ECMA         8               /* European computer manufacturers */
-#define        AF_DATAKIT      9               /* datakit protocols */
-#define        AF_CCITT        10              /* CCITT protocols, X.25 etc */
-#define        AF_SNA          11              /* IBM SNA */
-#define        AF_DECnet       12              /* DECnet */
-#define        AF_DLI          13              /* DEC Direct data link interface */
-#define        AF_LAT          14              /* LAT */
-#define        AF_HYLINK       15              /* NSC Hyperchannel */
-#define        AF_APPLETALK    16              /* Apple Talk */
-#define        AF_ROUTE        17              /* Internal Routing Protocol */
-#define        AF_LINK         18              /* Link layer interface */
-#define        pseudo_AF_XTP   19              /* eXpress Transfer Protocol (no AF) */
-#define        AF_COIP         20              /* connection-oriented IP, aka ST II */
-#define        AF_CNT          21              /* Computer Network Technology */
-#define        pseudo_AF_RTIP  22              /* Help Identify RTIP packets */
-#define        AF_IPX          23              /* Novell Internet Protocol */
-#define        AF_SIP          24              /* Simple Internet Protocol */
-#define        pseudo_AF_PIP   25              /* Help Identify PIP packets */
-#define        AF_NDRV         27              /* Network Driver 'raw' access */
-#define        AF_ISDN         28              /* Integrated Services Digital Network */
-#define        AF_E164         AF_ISDN         /* CCITT E.164 recommendation */
-#define        pseudo_AF_KEY   29              /* Internal key-management function */
-#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */
-#define        AF_INET6        30              /* IPv6 */
+#define AF_IMPLINK      3               /* arpanet imp addresses */
+#define AF_PUP          4               /* pup protocols: e.g. BSP */
+#define AF_CHAOS        5               /* mit CHAOS protocols */
+#define AF_NS           6               /* XEROX NS protocols */
+#define AF_ISO          7               /* ISO protocols */
+#define AF_OSI          AF_ISO
+#define AF_ECMA         8               /* European computer manufacturers */
+#define AF_DATAKIT      9               /* datakit protocols */
+#define AF_CCITT        10              /* CCITT protocols, X.25 etc */
+#define AF_SNA          11              /* IBM SNA */
+#define AF_DECnet       12              /* DECnet */
+#define AF_DLI          13              /* DEC Direct data link interface */
+#define AF_LAT          14              /* LAT */
+#define AF_HYLINK       15              /* NSC Hyperchannel */
+#define AF_APPLETALK    16              /* Apple Talk */
+#define AF_ROUTE        17              /* Internal Routing Protocol */
+#define AF_LINK         18              /* Link layer interface */
+#define pseudo_AF_XTP   19              /* eXpress Transfer Protocol (no AF) */
+#define AF_COIP         20              /* connection-oriented IP, aka ST II */
+#define AF_CNT          21              /* Computer Network Technology */
+#define pseudo_AF_RTIP  22              /* Help Identify RTIP packets */
+#define AF_IPX          23              /* Novell Internet Protocol */
+#define AF_SIP          24              /* Simple Internet Protocol */
+#define pseudo_AF_PIP   25              /* Help Identify PIP packets */
+#define AF_NDRV         27              /* Network Driver 'raw' access */
+#define AF_ISDN         28              /* Integrated Services Digital Network */
+#define AF_E164         AF_ISDN         /* CCITT E.164 recommendation */
+#define pseudo_AF_KEY   29              /* Internal key-management function */
+#endif  /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */
+#define AF_INET6        30              /* IPv6 */
 #if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
 #if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
-#define        AF_NATM         31              /* native ATM access */
-#define        AF_SYSTEM       32              /* Kernel event messages */
-#define        AF_NETBIOS      33              /* NetBIOS */
-#define        AF_PPP          34              /* PPP communication protocol */
-#define        pseudo_AF_HDRCMPLT 35           /* Used by BPF to not rewrite headers
-                                       in interface output routine */
+#define AF_NATM         31              /* native ATM access */
+#define AF_SYSTEM       32              /* Kernel event messages */
+#define AF_NETBIOS      33              /* NetBIOS */
+#define AF_PPP          34              /* PPP communication protocol */
+#define pseudo_AF_HDRCMPLT 35           /* Used by BPF to not rewrite headers
+                                        *  in interface output routine */
 #ifdef PRIVATE
 #ifdef PRIVATE
-#define        AF_AFP  36                      /* Used by AFP */
+#define AF_AFP  36                      /* Used by AFP */
 #else
 #else
-#define        AF_RESERVED_36  36              /* Reserved for internal usage */
+#define AF_RESERVED_36  36              /* Reserved for internal usage */
 #endif
 #endif
-#define        AF_IEEE80211    37              /* IEEE 802.11 protocol */
-#define        AF_UTUN         38
+#define AF_IEEE80211    37              /* IEEE 802.11 protocol */
+#define AF_UTUN         38
 #ifdef PRIVATE
 #ifdef PRIVATE
-#define        AF_MULTIPATH    39
+#define AF_MULTIPATH    39
 #endif /* PRIVATE */
 #endif /* PRIVATE */
-#define        AF_MAX          40
-#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */
+#define AF_MAX          40
+#endif  /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */
 
 /*
  * [XSI] Structure used by kernel to store most addresses.
  */
 struct sockaddr {
 
 /*
  * [XSI] Structure used by kernel to store most addresses.
  */
 struct sockaddr {
-       __uint8_t       sa_len;         /* total length */
-       sa_family_t     sa_family;      /* [XSI] address family */
-       char            sa_data[14];    /* [XSI] addr value (actually larger) */
+       __uint8_t       sa_len;         /* total length */
+       sa_family_t     sa_family;      /* [XSI] address family */
+       char            sa_data[14];    /* [XSI] addr value (actually larger) */
 };
 
 #if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
 };
 
 #if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
-#define        SOCK_MAXADDRLEN 255             /* longest possible addresses */
+#define SOCK_MAXADDRLEN 255             /* longest possible addresses */
 
 /*
  * Structure used by kernel to pass protocol
  * information in raw sockets.
  */
 struct sockproto {
 
 /*
  * Structure used by kernel to pass protocol
  * information in raw sockets.
  */
 struct sockproto {
-       __uint16_t      sp_family;              /* address family */
-       __uint16_t      sp_protocol;            /* protocol */
+       __uint16_t      sp_family;              /* address family */
+       __uint16_t      sp_protocol;            /* protocol */
 };
 };
-#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */
+#endif  /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */
 
 /*
  * RFC 2553: protocol-independent placeholder for socket addresses
  */
 
 /*
  * RFC 2553: protocol-independent placeholder for socket addresses
  */
-#define        _SS_MAXSIZE     128
-#define        _SS_ALIGNSIZE   (sizeof(__int64_t))
-#define        _SS_PAD1SIZE    \
-               (_SS_ALIGNSIZE - sizeof(__uint8_t) - sizeof(sa_family_t))
-#define        _SS_PAD2SIZE    \
-               (_SS_MAXSIZE - sizeof(__uint8_t) - sizeof(sa_family_t) - \
-                               _SS_PAD1SIZE - _SS_ALIGNSIZE)
+#define _SS_MAXSIZE     128
+#define _SS_ALIGNSIZE   (sizeof(__int64_t))
+#define _SS_PAD1SIZE    \
+               (_SS_ALIGNSIZE - sizeof(__uint8_t) - sizeof(sa_family_t))
+#define _SS_PAD2SIZE    \
+               (_SS_MAXSIZE - sizeof(__uint8_t) - sizeof(sa_family_t) - \
+                               _SS_PAD1SIZE - _SS_ALIGNSIZE)
 
 /*
  * [XSI] sockaddr_storage
  */
 struct sockaddr_storage {
 
 /*
  * [XSI] sockaddr_storage
  */
 struct sockaddr_storage {
-       __uint8_t       ss_len;         /* address length */
-       sa_family_t     ss_family;      /* [XSI] address family */
-       char                    __ss_pad1[_SS_PAD1SIZE];
-       __int64_t       __ss_align;     /* force structure storage alignment */
-       char                    __ss_pad2[_SS_PAD2SIZE];
+       __uint8_t       ss_len;         /* address length */
+       sa_family_t     ss_family;      /* [XSI] address family */
+       char                    __ss_pad1[_SS_PAD1SIZE];
+       __int64_t       __ss_align;     /* force structure storage alignment */
+       char                    __ss_pad2[_SS_PAD2SIZE];
 };
 
 /*
  * Protocol families, same as address families for now.
  */
 };
 
 /*
  * Protocol families, same as address families for now.
  */
-#define        PF_UNSPEC       AF_UNSPEC
-#define        PF_LOCAL        AF_LOCAL
-#define        PF_UNIX         PF_LOCAL        /* backward compatibility */
-#define        PF_INET         AF_INET
-#define        PF_IMPLINK      AF_IMPLINK
-#define        PF_PUP          AF_PUP
-#define        PF_CHAOS        AF_CHAOS
-#define        PF_NS           AF_NS
-#define        PF_ISO          AF_ISO
-#define        PF_OSI          AF_ISO
-#define        PF_ECMA         AF_ECMA
-#define        PF_DATAKIT      AF_DATAKIT
-#define        PF_CCITT        AF_CCITT
-#define        PF_SNA          AF_SNA
-#define        PF_DECnet       AF_DECnet
-#define        PF_DLI          AF_DLI
-#define        PF_LAT          AF_LAT
-#define        PF_HYLINK       AF_HYLINK
-#define        PF_APPLETALK    AF_APPLETALK
-#define        PF_ROUTE        AF_ROUTE
-#define        PF_LINK         AF_LINK
-#define        PF_XTP          pseudo_AF_XTP   /* really just proto family, no AF */
-#define        PF_COIP         AF_COIP
-#define        PF_CNT          AF_CNT
-#define        PF_SIP          AF_SIP
-#define        PF_IPX          AF_IPX          /* same format as AF_NS */
-#define        PF_RTIP         pseudo_AF_RTIP  /* same format as AF_INET */
-#define        PF_PIP          pseudo_AF_PIP
-#define        PF_NDRV         AF_NDRV
-#define        PF_ISDN         AF_ISDN
-#define        PF_KEY          pseudo_AF_KEY
-#define        PF_INET6        AF_INET6
-#define        PF_NATM         AF_NATM
-#define        PF_SYSTEM       AF_SYSTEM
-#define        PF_NETBIOS      AF_NETBIOS
-#define        PF_PPP          AF_PPP
+#define PF_UNSPEC       AF_UNSPEC
+#define PF_LOCAL        AF_LOCAL
+#define PF_UNIX         PF_LOCAL        /* backward compatibility */
+#define PF_INET         AF_INET
+#define PF_IMPLINK      AF_IMPLINK
+#define PF_PUP          AF_PUP
+#define PF_CHAOS        AF_CHAOS
+#define PF_NS           AF_NS
+#define PF_ISO          AF_ISO
+#define PF_OSI          AF_ISO
+#define PF_ECMA         AF_ECMA
+#define PF_DATAKIT      AF_DATAKIT
+#define PF_CCITT        AF_CCITT
+#define PF_SNA          AF_SNA
+#define PF_DECnet       AF_DECnet
+#define PF_DLI          AF_DLI
+#define PF_LAT          AF_LAT
+#define PF_HYLINK       AF_HYLINK
+#define PF_APPLETALK    AF_APPLETALK
+#define PF_ROUTE        AF_ROUTE
+#define PF_LINK         AF_LINK
+#define PF_XTP          pseudo_AF_XTP   /* really just proto family, no AF */
+#define PF_COIP         AF_COIP
+#define PF_CNT          AF_CNT
+#define PF_SIP          AF_SIP
+#define PF_IPX          AF_IPX          /* same format as AF_NS */
+#define PF_RTIP         pseudo_AF_RTIP  /* same format as AF_INET */
+#define PF_PIP          pseudo_AF_PIP
+#define PF_NDRV         AF_NDRV
+#define PF_ISDN         AF_ISDN
+#define PF_KEY          pseudo_AF_KEY
+#define PF_INET6        AF_INET6
+#define PF_NATM         AF_NATM
+#define PF_SYSTEM       AF_SYSTEM
+#define PF_NETBIOS      AF_NETBIOS
+#define PF_PPP          AF_PPP
 #ifdef PRIVATE
 #ifdef PRIVATE
-#define        PF_AFP          AF_AFP
+#define PF_AFP          AF_AFP
 #else
 #else
-#define        PF_RESERVED_36  AF_RESERVED_36
+#define PF_RESERVED_36  AF_RESERVED_36
 #endif
 #endif
-#define        PF_UTUN         AF_UTUN
+#define PF_UTUN         AF_UTUN
 #ifdef PRIVATE
 #ifdef PRIVATE
-#define        PF_MULTIPATH    AF_MULTIPATH
+#define PF_MULTIPATH    AF_MULTIPATH
 #endif /* PRIVATE */
 #endif /* PRIVATE */
-#define        PF_MAX          AF_MAX
+#define PF_MAX          AF_MAX
 
 /*
  * These do not have socket-layer support:
  */
 
 /*
  * These do not have socket-layer support:
  */
-#define        PF_VLAN         ((uint32_t)0x766c616e)  /* 'vlan' */
-#define        PF_BOND         ((uint32_t)0x626f6e64)  /* 'bond' */
+#define PF_VLAN         ((uint32_t)0x766c616e)  /* 'vlan' */
+#define PF_BOND         ((uint32_t)0x626f6e64)  /* 'bond' */
 #ifdef KERNEL_PRIVATE
 #ifdef KERNEL_PRIVATE
-#define        PF_BRIDGE       ((uint32_t)0x62726467)  /* 'brdg' */
+#define PF_BRIDGE       ((uint32_t)0x62726467)  /* 'brdg' */
+#define PF_802154       ((uint32_t)0x38313534)  /* '8154' */
 #endif /* KERNEL_PRIVATE */
 
 /*
 #endif /* KERNEL_PRIVATE */
 
 /*
@@ -697,11 +708,11 @@ struct sockaddr_storage {
  * Further levels are defined by the individual families below.
  */
 #if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
  * Further levels are defined by the individual families below.
  */
 #if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
-#define        NET_MAXID       AF_MAX
+#define NET_MAXID       AF_MAX
 #endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */
 
 #ifdef KERNEL_PRIVATE
 #endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */
 
 #ifdef KERNEL_PRIVATE
-#define        CTL_NET_NAMES { \
+#define CTL_NET_NAMES { \
        { 0, 0 }, \
        { "local", CTLTYPE_NODE }, \
        { "inet", CTLTYPE_NODE }, \
        { 0, 0 }, \
        { "local", CTLTYPE_NODE }, \
        { "inet", CTLTYPE_NODE }, \
@@ -750,27 +761,36 @@ struct sockaddr_storage {
  *     Fifth: type of info, defined below
  *     Sixth: flag(s) to mask with for NET_RT_FLAGS
  */
  *     Fifth: type of info, defined below
  *     Sixth: flag(s) to mask with for NET_RT_FLAGS
  */
-#define        NET_RT_DUMP             1       /* dump; may limit to a.f. */
-#define        NET_RT_FLAGS            2       /* by flags, e.g. RESOLVING */
-#define        NET_RT_IFLIST           3       /* survey interface list */
-#define        NET_RT_STAT             4       /* routing statistics */
-#define        NET_RT_TRASH            5       /* routes not in table but not freed */
-#define        NET_RT_IFLIST2          6       /* interface list with addresses */
-#define        NET_RT_DUMP2            7       /* dump; may limit to a.f. */
+#define NET_RT_DUMP             1       /* dump; may limit to a.f. */
+#define NET_RT_FLAGS            2       /* by flags, e.g. RESOLVING */
+#define NET_RT_IFLIST           3       /* survey interface list */
+#define NET_RT_STAT             4       /* routing statistics */
+#define NET_RT_TRASH            5       /* routes not in table but not freed */
+#define NET_RT_IFLIST2          6       /* interface list with addresses */
+#define NET_RT_DUMP2            7       /* dump; may limit to a.f. */
 #ifdef PRIVATE
 #ifdef PRIVATE
-#define        NET_RT_DUMPX            8       /* private */
-#define        NET_RT_DUMPX_FLAGS      9       /* private */
+#define NET_RT_DUMPX            8       /* private */
+#define NET_RT_DUMPX_FLAGS      9       /* private */
 #endif /* PRIVATE */
 /*
  * Allows read access non-local host's MAC address
  * if the process has neighbor cache entitlement.
  */
 #endif /* PRIVATE */
 /*
  * Allows read access non-local host's MAC address
  * if the process has neighbor cache entitlement.
  */
-#define        NET_RT_FLAGS_PRIV       10
-#define        NET_RT_MAXID            11
+#define NET_RT_FLAGS_PRIV       10
+#define NET_RT_MAXID            11
 #endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */
 
 #endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */
 
+#ifdef PRIVATE
+/* These are supported values for SO_STATISTICS_EVENT */
+#define SO_STATISTICS_EVENT_ENTER_CELLFALLBACK (1 << 0)
+#define SO_STATISTICS_EVENT_EXIT_CELLFALLBACK  (1 << 1)
+#define SO_STATISTICS_EVENT_RESERVED_1         (1 << 2)
+#define SO_STATISTICS_EVENT_RESERVED_2         (1 << 3)
+#endif /* PRIVATE */
+
+
 #ifdef KERNEL_PRIVATE
 #ifdef KERNEL_PRIVATE
-#define        CTL_NET_RT_NAMES { \
+#define CTL_NET_RT_NAMES { \
        { 0, 0 }, \
        { "dump", CTLTYPE_STRUCT }, \
        { "flags", CTLTYPE_STRUCT }, \
        { 0, 0 }, \
        { "dump", CTLTYPE_STRUCT }, \
        { "flags", CTLTYPE_STRUCT }, \
@@ -788,20 +808,20 @@ struct sockaddr_storage {
 /*
  * Maximum queue length specifiable by listen.
  */
 /*
  * Maximum queue length specifiable by listen.
  */
-#define        SOMAXCONN       128
+#define SOMAXCONN       128
 
 /*
  * [XSI] Message header for recvmsg and sendmsg calls.
  * Used value-result for recvmsg, value only for sendmsg.
  */
 struct msghdr {
 
 /*
  * [XSI] Message header for recvmsg and sendmsg calls.
  * Used value-result for recvmsg, value only for sendmsg.
  */
 struct msghdr {
-       void            *msg_name;      /* [XSI] optional address */
-       socklen_t       msg_namelen;    /* [XSI] size of address */
-       struct          iovec *msg_iov; /* [XSI] scatter/gather array */
-       int             msg_iovlen;     /* [XSI] # elements in msg_iov */
-       void            *msg_control;   /* [XSI] ancillary data, see below */
-       socklen_t       msg_controllen; /* [XSI] ancillary data buffer len */
-       int             msg_flags;      /* [XSI] flags on received message */
+       void            *msg_name;      /* [XSI] optional address */
+       socklen_t       msg_namelen;    /* [XSI] size of address */
+       struct          iovec *msg_iov; /* [XSI] scatter/gather array */
+       int             msg_iovlen;     /* [XSI] # elements in msg_iov */
+       void            *msg_control;   /* [XSI] ancillary data, see below */
+       socklen_t       msg_controllen; /* [XSI] ancillary data buffer len */
+       int             msg_flags;      /* [XSI] flags on received message */
 };
 
 #ifdef PRIVATE
 };
 
 #ifdef PRIVATE
@@ -815,14 +835,14 @@ struct msghdr {
  * the iovec array -- like sendmsg(). The field msg_datalen is ignored.
  */
 struct msghdr_x {
  * the iovec array -- like sendmsg(). The field msg_datalen is ignored.
  */
 struct msghdr_x {
-       void            *msg_name;      /* optional address */
-       socklen_t       msg_namelen;    /* size of address */
-       struct iovec    *msg_iov;       /* scatter/gather array */
-       int             msg_iovlen;     /* # elements in msg_iov */
-       void            *msg_control;   /* ancillary data, see below */
-       socklen_t       msg_controllen; /* ancillary data buffer len */
-       int             msg_flags;      /* flags on received message */
-       size_t          msg_datalen;    /* byte length of buffer in msg_iov */
+       void            *msg_name;      /* optional address */
+       socklen_t       msg_namelen;    /* size of address */
+       struct iovec    *msg_iov;       /* scatter/gather array */
+       int             msg_iovlen;     /* # elements in msg_iov */
+       void            *msg_control;   /* ancillary data, see below */
+       socklen_t       msg_controllen; /* ancillary data buffer len */
+       int             msg_flags;      /* flags on received message */
+       size_t          msg_datalen;    /* byte length of buffer in msg_iov */
 };
 #endif /* PRIVATE */
 
 };
 #endif /* PRIVATE */
 
@@ -834,13 +854,13 @@ struct msghdr_x {
  */
 
 struct user_msghdr {
  */
 
 struct user_msghdr {
-       user_addr_t     msg_name;               /* optional address */
-       socklen_t       msg_namelen;            /* size of address */
-       user_addr_t     msg_iov;                /* scatter/gather array */
-       int             msg_iovlen;             /* # elements in msg_iov */
-       user_addr_t     msg_control;            /* ancillary data, see below */
-       socklen_t       msg_controllen;         /* ancillary data buffer len */
-       int             msg_flags;              /* flags on received message */
+       user_addr_t     msg_name;               /* optional address */
+       socklen_t       msg_namelen;            /* size of address */
+       user_addr_t     msg_iov;                /* scatter/gather array */
+       int             msg_iovlen;             /* # elements in msg_iov */
+       user_addr_t     msg_control;            /* ancillary data, see below */
+       socklen_t       msg_controllen;         /* ancillary data buffer len */
+       int             msg_flags;              /* flags on received message */
 };
 
 /*
 };
 
 /*
@@ -849,13 +869,13 @@ struct user_msghdr {
  */
 
 struct user64_msghdr {
  */
 
 struct user64_msghdr {
-       user64_addr_t   msg_name;               /* optional address */
-       socklen_t       msg_namelen;            /* size of address */
-       user64_addr_t   msg_iov;                /* scatter/gather array */
-       int             msg_iovlen;             /* # elements in msg_iov */
-       user64_addr_t   msg_control;            /* ancillary data, see below */
-       socklen_t       msg_controllen;         /* ancillary data buffer len */
-       int             msg_flags;              /* flags on received message */
+       user64_addr_t   msg_name;               /* optional address */
+       socklen_t       msg_namelen;            /* size of address */
+       user64_addr_t   msg_iov;                /* scatter/gather array */
+       int             msg_iovlen;             /* # elements in msg_iov */
+       user64_addr_t   msg_control;            /* ancillary data, see below */
+       socklen_t       msg_controllen;         /* ancillary data buffer len */
+       int             msg_flags;              /* flags on received message */
 };
 
 /*
 };
 
 /*
@@ -864,13 +884,13 @@ struct user64_msghdr {
  */
 
 struct user32_msghdr {
  */
 
 struct user32_msghdr {
-       user32_addr_t   msg_name;       /* optional address */
-       socklen_t       msg_namelen;    /* size of address */
-       user32_addr_t   msg_iov;        /* scatter/gather array */
-       int             msg_iovlen;     /* # elements in msg_iov */
-       user32_addr_t   msg_control;    /* ancillary data, see below */
-       socklen_t       msg_controllen; /* ancillary data buffer len */
-       int             msg_flags;      /* flags on received message */
+       user32_addr_t   msg_name;       /* optional address */
+       socklen_t       msg_namelen;    /* size of address */
+       user32_addr_t   msg_iov;        /* scatter/gather array */
+       int             msg_iovlen;     /* # elements in msg_iov */
+       user32_addr_t   msg_control;    /* ancillary data, see below */
+       socklen_t       msg_controllen; /* ancillary data buffer len */
+       int             msg_flags;      /* flags on received message */
 };
 
 /*
 };
 
 /*
@@ -880,14 +900,14 @@ struct user32_msghdr {
  */
 
 struct user_msghdr_x {
  */
 
 struct user_msghdr_x {
-       user_addr_t     msg_name;       /* optional address */
-       socklen_t       msg_namelen;    /* size of address */
-       user_addr_t     msg_iov;        /* scatter/gather array */
-       int             msg_iovlen;     /* # elements in msg_iov */
-       user_addr_t     msg_control;    /* ancillary data, see below */
-       socklen_t       msg_controllen; /* ancillary data buffer len */
-       int             msg_flags;      /* flags on received message */
-       size_t          msg_datalen;    /* byte length of buffer in msg_iov */
+       user_addr_t     msg_name;       /* optional address */
+       socklen_t       msg_namelen;    /* size of address */
+       user_addr_t     msg_iov;        /* scatter/gather array */
+       int             msg_iovlen;     /* # elements in msg_iov */
+       user_addr_t     msg_control;    /* ancillary data, see below */
+       socklen_t       msg_controllen; /* ancillary data buffer len */
+       int             msg_flags;      /* flags on received message */
+       size_t          msg_datalen;    /* byte length of buffer in msg_iov */
 };
 
 /*
 };
 
 /*
@@ -896,14 +916,14 @@ struct user_msghdr_x {
  */
 
 struct user64_msghdr_x {
  */
 
 struct user64_msghdr_x {
-       user64_addr_t   msg_name;       /* optional address */
-       socklen_t       msg_namelen;    /* size of address */
-       user64_addr_t   msg_iov;        /* scatter/gather array */
-       int             msg_iovlen;     /* # elements in msg_iov */
-       user64_addr_t   msg_control;    /* ancillary data, see below */
-       socklen_t       msg_controllen; /* ancillary data buffer len */
-       int             msg_flags;      /* flags on received message */
-       user64_size_t   msg_datalen;    /* byte length of buffer in msg_iov */
+       user64_addr_t   msg_name;       /* optional address */
+       socklen_t       msg_namelen;    /* size of address */
+       user64_addr_t   msg_iov;        /* scatter/gather array */
+       int             msg_iovlen;     /* # elements in msg_iov */
+       user64_addr_t   msg_control;    /* ancillary data, see below */
+       socklen_t       msg_controllen; /* ancillary data buffer len */
+       int             msg_flags;      /* flags on received message */
+       user64_size_t   msg_datalen;    /* byte length of buffer in msg_iov */
 };
 
 /*
 };
 
 /*
@@ -912,14 +932,14 @@ struct user64_msghdr_x {
  */
 
 struct user32_msghdr_x {
  */
 
 struct user32_msghdr_x {
-       user32_addr_t   msg_name;       /* optional address */
-       socklen_t       msg_namelen;    /* size of address */
-       user32_addr_t   msg_iov;        /* scatter/gather array */
-       int             msg_iovlen;     /* # elements in msg_iov */
-       user32_addr_t   msg_control;    /* ancillary data, see below */
-       socklen_t       msg_controllen; /* ancillary data buffer len */
-       int             msg_flags;      /* flags on received message */
-       user32_size_t   msg_datalen;    /* byte length of buffer in msg_iov */
+       user32_addr_t   msg_name;       /* optional address */
+       socklen_t       msg_namelen;    /* size of address */
+       user32_addr_t   msg_iov;        /* scatter/gather array */
+       int             msg_iovlen;     /* # elements in msg_iov */
+       user32_addr_t   msg_control;    /* ancillary data, see below */
+       socklen_t       msg_controllen; /* ancillary data buffer len */
+       int             msg_flags;      /* flags on received message */
+       user32_size_t   msg_datalen;    /* byte length of buffer in msg_iov */
 };
 
 /*
 };
 
 /*
@@ -929,11 +949,11 @@ struct user32_msghdr_x {
  */
 
 struct user_sa_endpoints {
  */
 
 struct user_sa_endpoints {
-       unsigned int    sae_srcif;      /* optional source interface */
-       user_addr_t     sae_srcaddr;    /* optional source address */
-       socklen_t       sae_srcaddrlen; /* size of source address */
-       user_addr_t     sae_dstaddr;    /* destination address */
-       socklen_t       sae_dstaddrlen; /* size of destination address */
+       unsigned int    sae_srcif;      /* optional source interface */
+       user_addr_t     sae_srcaddr;    /* optional source address */
+       socklen_t       sae_srcaddrlen; /* size of source address */
+       user_addr_t     sae_dstaddr;    /* destination address */
+       socklen_t       sae_dstaddrlen; /* size of destination address */
 };
 
 /*
 };
 
 /*
@@ -942,11 +962,11 @@ struct user_sa_endpoints {
  */
 
 struct user64_sa_endpoints {
  */
 
 struct user64_sa_endpoints {
-       unsigned int    sae_srcif;      /* optional source interface */
-       user64_addr_t   sae_srcaddr;    /* optional source address */
-       socklen_t       sae_srcaddrlen; /* size of source address */
-       user64_addr_t   sae_dstaddr;    /* destination address */
-       socklen_t       sae_dstaddrlen; /* size of destination address */
+       unsigned int    sae_srcif;      /* optional source interface */
+       user64_addr_t   sae_srcaddr;    /* optional source address */
+       socklen_t       sae_srcaddrlen; /* size of source address */
+       user64_addr_t   sae_dstaddr;    /* destination address */
+       socklen_t       sae_dstaddrlen; /* size of destination address */
 };
 
 /*
 };
 
 /*
@@ -955,51 +975,51 @@ struct user64_sa_endpoints {
  */
 
 struct user32_sa_endpoints {
  */
 
 struct user32_sa_endpoints {
-       unsigned int    sae_srcif;      /* optional source interface */
-       user32_addr_t   sae_srcaddr;    /* optional source address */
-       socklen_t       sae_srcaddrlen; /* size of source address */
-       user32_addr_t   sae_dstaddr;    /* destination address */
-       socklen_t       sae_dstaddrlen; /* size of destination address */
+       unsigned int    sae_srcif;      /* optional source interface */
+       user32_addr_t   sae_srcaddr;    /* optional source address */
+       socklen_t       sae_srcaddrlen; /* size of source address */
+       user32_addr_t   sae_dstaddr;    /* destination address */
+       socklen_t       sae_dstaddrlen; /* size of destination address */
 };
 
 #endif /* XNU_KERNEL_PRIVATE */
 
 };
 
 #endif /* XNU_KERNEL_PRIVATE */
 
-#define        MSG_OOB         0x1             /* process out-of-band data */
-#define        MSG_PEEK        0x2             /* peek at incoming message */
-#define        MSG_DONTROUTE   0x4             /* send without using routing tables */
-#define        MSG_EOR         0x8             /* data completes record */
-#define        MSG_TRUNC       0x10            /* data discarded before delivery */
-#define        MSG_CTRUNC      0x20            /* control data lost before delivery */
-#define        MSG_WAITALL     0x40            /* wait for full request or error */
+#define MSG_OOB         0x1             /* process out-of-band data */
+#define MSG_PEEK        0x2             /* peek at incoming message */
+#define MSG_DONTROUTE   0x4             /* send without using routing tables */
+#define MSG_EOR         0x8             /* data completes record */
+#define MSG_TRUNC       0x10            /* data discarded before delivery */
+#define MSG_CTRUNC      0x20            /* control data lost before delivery */
+#define MSG_WAITALL     0x40            /* wait for full request or error */
 #if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
 #if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
-#define        MSG_DONTWAIT    0x80            /* this message should be nonblocking */
-#define        MSG_EOF         0x100           /* data completes connection */
+#define MSG_DONTWAIT    0x80            /* this message should be nonblocking */
+#define MSG_EOF         0x100           /* data completes connection */
 #ifdef __APPLE__
 #ifndef PRIVATE
 #ifdef __APPLE_API_OBSOLETE
 #ifdef __APPLE__
 #ifndef PRIVATE
 #ifdef __APPLE_API_OBSOLETE
-#define        MSG_WAITSTREAM  0x200           /* wait up to full request.. may return partial */
+#define MSG_WAITSTREAM  0x200           /* wait up to full request.. may return partial */
 #endif
 #else
 #endif
 #else
-#define        MSG_WAITSTREAM  0x200           /* wait up to full request.. may return partial */
+#define MSG_WAITSTREAM  0x200           /* wait up to full request.. may return partial */
 #endif
 #endif
-#define        MSG_FLUSH       0x400           /* Start of 'hold' seq; dump so_temp */
-#define        MSG_HOLD        0x800           /* Hold frag in so_temp */
-#define        MSG_SEND        0x1000          /* Send the packet in so_temp */
-#define        MSG_HAVEMORE    0x2000          /* Data ready to be read */
-#define        MSG_RCVMORE     0x4000          /* Data remains in current pkt */
+#define MSG_FLUSH       0x400           /* Start of 'hold' seq; dump so_temp, deprecated */
+#define MSG_HOLD        0x800           /* Hold frag in so_temp, deprecated */
+#define MSG_SEND        0x1000          /* Send the packet in so_temp, deprecated */
+#define MSG_HAVEMORE    0x2000          /* Data ready to be read */
+#define MSG_RCVMORE     0x4000          /* Data remains in current pkt */
 #endif
 #ifdef KERNEL_PRIVATE
 #endif
 #ifdef KERNEL_PRIVATE
-#define        MSG_COMPAT      0x8000          /* deprecated */
+#define MSG_COMPAT      0x8000          /* deprecated */
 #endif /* KERNEL_PRIVATE */
 #endif /* KERNEL_PRIVATE */
-#define        MSG_NEEDSA      0x10000         /* Fail receive if socket address cannot be allocated */
+#define MSG_NEEDSA      0x10000         /* Fail receive if socket address cannot be allocated */
 #ifdef KERNEL_PRIVATE
 #ifdef KERNEL_PRIVATE
-#define        MSG_NBIO        0x20000         /* FIONBIO mode, used by fifofs */
-#define        MSG_SKIPCFIL    0x40000         /* skip pass content filter */
+#define MSG_NBIO        0x20000         /* FIONBIO mode, used by fifofs */
+#define MSG_SKIPCFIL    0x40000         /* skip pass content filter */
 #endif
 #endif
-#ifdef KERNEL
-#define        MSG_USEUPCALL   0x80000000 /* Inherit upcall in sock_accept */
+#ifdef  KERNEL
+#define MSG_USEUPCALL   0x80000000 /* Inherit upcall in sock_accept */
 #endif
 #endif
-#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */
+#endif  /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */
 
 /*
  * Header for ancillary data objects in msg_control buffer.
 
 /*
  * Header for ancillary data objects in msg_control buffer.
@@ -1008,9 +1028,9 @@ struct user32_sa_endpoints {
  * of message elements headed by cmsghdr structures.
  */
 struct cmsghdr {
  * of message elements headed by cmsghdr structures.
  */
 struct cmsghdr {
-       socklen_t       cmsg_len;       /* [XSI] data byte count, including hdr */
-       int             cmsg_level;     /* [XSI] originating protocol */
-       int             cmsg_type;      /* [XSI] protocol-specific type */
+       socklen_t       cmsg_len;       /* [XSI] data byte count, including hdr */
+       int             cmsg_level;     /* [XSI] originating protocol */
+       int             cmsg_type;      /* [XSI] protocol-specific type */
 /* followed by unsigned char  cmsg_data[]; */
 };
 
 /* followed by unsigned char  cmsg_data[]; */
 };
 
@@ -1021,7 +1041,7 @@ struct cmsghdr {
  * be able to fit in an mbuf, and NGROUPS_MAX is too large to allow
  * this.
  */
  * be able to fit in an mbuf, and NGROUPS_MAX is too large to allow
  * this.
  */
-#define        CMGROUP_MAX 16
+#define CMGROUP_MAX 16
 
 /*
  * Credentials structure, used to verify the identity of a peer
 
 /*
  * Credentials structure, used to verify the identity of a peer
@@ -1031,25 +1051,25 @@ struct cmsghdr {
  * is the effective GID.)
  */
 struct cmsgcred {
  * is the effective GID.)
  */
 struct cmsgcred {
-       pid_t   cmcred_pid;             /* PID of sending process */
-       uid_t   cmcred_uid;             /* real UID of sending process */
-       uid_t   cmcred_euid;            /* effective UID of sending process */
-       gid_t   cmcred_gid;             /* real GID of sending process */
-       short   cmcred_ngroups;         /* number or groups */
-       gid_t   cmcred_groups[CMGROUP_MAX];     /* groups */
+       pid_t   cmcred_pid;             /* PID of sending process */
+       uid_t   cmcred_uid;             /* real UID of sending process */
+       uid_t   cmcred_euid;            /* effective UID of sending process */
+       gid_t   cmcred_gid;             /* real GID of sending process */
+       short   cmcred_ngroups;         /* number or groups */
+       gid_t   cmcred_groups[CMGROUP_MAX];     /* groups */
 };
 #endif
 };
 #endif
-#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */
+#endif  /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */
 
 /* given pointer to struct cmsghdr, return pointer to data */
 
 /* given pointer to struct cmsghdr, return pointer to data */
-#define        CMSG_DATA(cmsg)         ((unsigned char *)(cmsg) + \
+#define CMSG_DATA(cmsg)         ((unsigned char *)(cmsg) + \
        __DARWIN_ALIGN32(sizeof(struct cmsghdr)))
 
 /*
  * RFC 2292 requires to check msg_controllen, in case that the kernel returns
  * an empty list for some reasons.
  */
        __DARWIN_ALIGN32(sizeof(struct cmsghdr)))
 
 /*
  * RFC 2292 requires to check msg_controllen, in case that the kernel returns
  * an empty list for some reasons.
  */
-#define        CMSG_FIRSTHDR(mhdr) \
+#define CMSG_FIRSTHDR(mhdr) \
        ((mhdr)->msg_controllen >= sizeof(struct cmsghdr) ? \
            (struct cmsghdr *)(mhdr)->msg_control : \
            (struct cmsghdr *)0L)
        ((mhdr)->msg_controllen >= sizeof(struct cmsghdr) ? \
            (struct cmsghdr *)(mhdr)->msg_control : \
            (struct cmsghdr *)0L)
@@ -1059,38 +1079,40 @@ struct cmsgcred {
  * Given pointer to struct cmsghdr, return pointer to next cmsghdr
  * RFC 2292 says that CMSG_NXTHDR(mhdr, NULL) is equivalent to CMSG_FIRSTHDR(mhdr)
  */
  * Given pointer to struct cmsghdr, return pointer to next cmsghdr
  * RFC 2292 says that CMSG_NXTHDR(mhdr, NULL) is equivalent to CMSG_FIRSTHDR(mhdr)
  */
-#define        CMSG_NXTHDR(mhdr, cmsg)                                         \
-       ((char *)(cmsg) == (char *)0L ? CMSG_FIRSTHDR(mhdr) :           \
-           ((((unsigned char *)(cmsg) +                                \
-           __DARWIN_ALIGN32((__uint32_t)(cmsg)->cmsg_len) +            \
-           __DARWIN_ALIGN32(sizeof(struct cmsghdr))) >                 \
-           ((unsigned char *)(mhdr)->msg_control +                     \
-           (mhdr)->msg_controllen)) ?                                  \
-               (struct cmsghdr *)0L /* NULL */ :                       \
-               (struct cmsghdr *)(void *)((unsigned char *)(cmsg) +    \
-                   __DARWIN_ALIGN32((__uint32_t)(cmsg)->cmsg_len))))
+#define CMSG_NXTHDR(mhdr, cmsg)                                         \
+       ((char *)(cmsg) == (char *)0L ? CMSG_FIRSTHDR(mhdr) :           \
+           ((((unsigned char *)(cmsg) +                                \
+           __DARWIN_ALIGN32((__uint32_t)(cmsg)->cmsg_len) +            \
+           __DARWIN_ALIGN32(sizeof(struct cmsghdr))) >                 \
+           ((unsigned char *)(mhdr)->msg_control +                     \
+           (mhdr)->msg_controllen)) ?                                  \
+               (struct cmsghdr *)0L /* NULL */ :                       \
+               (struct cmsghdr *)(void *)((unsigned char *)(cmsg) +    \
+                   __DARWIN_ALIGN32((__uint32_t)(cmsg)->cmsg_len))))
 
 #if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
 /* RFC 2292 additions */
 
 #if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
 /* RFC 2292 additions */
-#define        CMSG_SPACE(l)           (__DARWIN_ALIGN32(sizeof(struct cmsghdr)) + __DARWIN_ALIGN32(l))
-#define        CMSG_LEN(l)             (__DARWIN_ALIGN32(sizeof(struct cmsghdr)) + (l))
+#define CMSG_SPACE(l)           (__DARWIN_ALIGN32(sizeof(struct cmsghdr)) + __DARWIN_ALIGN32(l))
+#define CMSG_LEN(l)             (__DARWIN_ALIGN32(sizeof(struct cmsghdr)) + (l))
 
 #ifdef KERNEL
 
 #ifdef KERNEL
-#define        CMSG_ALIGN(n)   __DARWIN_ALIGN32(n)
+#define CMSG_ALIGN(n)   __DARWIN_ALIGN32(n)
 #endif
 #endif
-#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */
+#endif  /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */
 
 /* "Socket"-level control message types: */
 
 /* "Socket"-level control message types: */
-#define        SCM_RIGHTS                      0x01    /* access rights (array of int) */
+#define SCM_RIGHTS                      0x01    /* access rights (array of int) */
 #if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
 #if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
-#define        SCM_TIMESTAMP                   0x02    /* timestamp (struct timeval) */
-#define        SCM_CREDS                       0x03    /* process creds (struct cmsgcred) */
-#define        SCM_TIMESTAMP_MONOTONIC         0x04    /* timestamp (uint64_t) */
+#define SCM_TIMESTAMP                   0x02    /* timestamp (struct timeval) */
+#define SCM_CREDS                       0x03    /* process creds (struct cmsgcred) */
+#define SCM_TIMESTAMP_MONOTONIC         0x04    /* timestamp (uint64_t) */
 
 #ifdef PRIVATE
 
 #ifdef PRIVATE
-#define        SCM_SEQNUM                      0x05    /* TCP unordered recv seq no */
-#define        SCM_MSG_PRIORITY                0x06    /* TCP unordered snd priority */
-#define        SCM_TIMESTAMP_CONTINUOUS                0x07    /* timestamp (uint64_t) */
+#define SCM_SEQNUM                      0x05    /* TCP unordered recv seq no */
+#define SCM_MSG_PRIORITY                0x06    /* TCP unordered snd priority */
+#define SCM_TIMESTAMP_CONTINUOUS        0x07    /* timestamp (uint64_t) */
+#define SCM_MPKL_SEND_INFO              0x08    /* send info for multi-layer packet logging (struct so_mpkl_send_info) */
+#define SCM_MPKL_RECV_INFO              0x09    /* receive info for multi-layer packet logging (struct so_mpkl_recv_info */
 #endif /* PRIVATE */
 
 #ifdef KERNEL_PRIVATE
 #endif /* PRIVATE */
 
 #ifdef KERNEL_PRIVATE
@@ -1098,73 +1120,73 @@ struct cmsgcred {
  * 4.3 compat sockaddr (deprecated)
  */
 struct osockaddr {
  * 4.3 compat sockaddr (deprecated)
  */
 struct osockaddr {
-       __uint16_t      sa_family;      /* address family */
-       char    sa_data[14];            /* up to 14 bytes of direct address */
+       __uint16_t      sa_family;      /* address family */
+       char    sa_data[14];            /* up to 14 bytes of direct address */
 };
 
 /*
  * 4.3-compat message header (deprecated)
  */
 struct omsghdr {
 };
 
 /*
  * 4.3-compat message header (deprecated)
  */
 struct omsghdr {
-       void            *msg_name;              /* optional address */
-       socklen_t       msg_namelen;            /* size of address */
-       struct  iovec   *msg_iov;               /* scatter/gather array */
-       int             msg_iovlen;             /* # elements in msg_iov */
-       void            *msg_accrights;         /* access rights sent/rcvd */
-       int             msg_accrightslen;
+       void            *msg_name;              /* optional address */
+       socklen_t       msg_namelen;            /* size of address */
+       struct  iovec   *msg_iov;               /* scatter/gather array */
+       int             msg_iovlen;             /* # elements in msg_iov */
+       void            *msg_accrights;         /* access rights sent/rcvd */
+       int             msg_accrightslen;
 };
 
 };
 
-#define        SA(s)   ((struct sockaddr *)(void *)(s))
+#define SA(s)   ((struct sockaddr *)(void *)(s))
 #endif /* KERNEL_PRIVATE */
 #endif /* KERNEL_PRIVATE */
-#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */
+#endif  /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */
 
 /*
  * howto arguments for shutdown(2), specified by Posix.1g.
  */
 
 /*
  * howto arguments for shutdown(2), specified by Posix.1g.
  */
-#define        SHUT_RD         0               /* shut down the reading side */
-#define        SHUT_WR         1               /* shut down the writing side */
-#define        SHUT_RDWR       2               /* shut down both sides */
+#define SHUT_RD         0               /* shut down the reading side */
+#define SHUT_WR         1               /* shut down the writing side */
+#define SHUT_RDWR       2               /* shut down both sides */
 
 #if !defined(_POSIX_C_SOURCE)
 /*
  * sendfile(2) header/trailer struct
  */
 struct sf_hdtr {
 
 #if !defined(_POSIX_C_SOURCE)
 /*
  * sendfile(2) header/trailer struct
  */
 struct sf_hdtr {
-       struct iovec *headers;  /* pointer to an array of header struct iovec's */
-       int hdr_cnt;            /* number of header iovec's */
-       struct iovec *trailers; /* pointer to an array of trailer struct iovec's */
-       int trl_cnt;            /* number of trailer iovec's */
+       struct iovec *headers;  /* pointer to an array of header struct iovec's */
+       int hdr_cnt;            /* number of header iovec's */
+       struct iovec *trailers; /* pointer to an array of trailer struct iovec's */
+       int trl_cnt;            /* number of trailer iovec's */
 };
 
 #ifdef KERNEL
 
 /* In-kernel representation */
 struct user_sf_hdtr {
 };
 
 #ifdef KERNEL
 
 /* In-kernel representation */
 struct user_sf_hdtr {
-       user_addr_t headers;    /* pointer to an array of header struct iovec's */
-       int hdr_cnt;            /* number of header iovec's */
-       user_addr_t trailers;   /* pointer to an array of trailer struct iovec's */
-       int trl_cnt;            /* number of trailer iovec's */
+       user_addr_t headers;    /* pointer to an array of header struct iovec's */
+       int hdr_cnt;            /* number of header iovec's */
+       user_addr_t trailers;   /* pointer to an array of trailer struct iovec's */
+       int trl_cnt;            /* number of trailer iovec's */
 };
 
 /* LP64 user version of struct sf_hdtr */
 struct user64_sf_hdtr {
 };
 
 /* LP64 user version of struct sf_hdtr */
 struct user64_sf_hdtr {
-       user64_addr_t headers;  /* pointer to an array of header struct iovec's */
-       int hdr_cnt;            /* number of header iovec's */
-       user64_addr_t trailers; /* pointer to an array of trailer struct iovec's */
-       int trl_cnt;            /* number of trailer iovec's */
+       user64_addr_t headers;  /* pointer to an array of header struct iovec's */
+       int hdr_cnt;            /* number of header iovec's */
+       user64_addr_t trailers; /* pointer to an array of trailer struct iovec's */
+       int trl_cnt;            /* number of trailer iovec's */
 };
 
 /* ILP32 user version of struct sf_hdtr */
 struct user32_sf_hdtr {
 };
 
 /* ILP32 user version of struct sf_hdtr */
 struct user32_sf_hdtr {
-       user32_addr_t headers;  /* pointer to an array of header struct iovec's */
-       int hdr_cnt;            /* number of header iovec's */
-       user32_addr_t trailers; /* pointer to an array of trailer struct iovec's */
-       int trl_cnt;            /* number of trailer iovec's */
+       user32_addr_t headers;  /* pointer to an array of header struct iovec's */
+       int hdr_cnt;            /* number of header iovec's */
+       user32_addr_t trailers; /* pointer to an array of trailer struct iovec's */
+       int trl_cnt;            /* number of trailer iovec's */
 };
 
 #endif /* KERNEL */
 
 };
 
 #endif /* KERNEL */
 
-#endif /* !_POSIX_C_SOURCE */
+#endif  /* !_POSIX_C_SOURCE */
 
 #ifdef PRIVATE
 #if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
 
 #ifdef PRIVATE
 #if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
@@ -1173,19 +1195,19 @@ struct user32_sf_hdtr {
  * Structure for SIOCGASSOCIDS
  */
 struct so_aidreq {
  * Structure for SIOCGASSOCIDS
  */
 struct so_aidreq {
-       __uint32_t      sar_cnt;        /* number of associations */
-       sae_associd_t   *sar_aidp;      /* array of association IDs */
+       __uint32_t      sar_cnt;        /* number of associations */
+       sae_associd_t   *sar_aidp;      /* array of association IDs */
 };
 
 #ifdef BSD_KERNEL_PRIVATE
 struct so_aidreq32 {
 };
 
 #ifdef BSD_KERNEL_PRIVATE
 struct so_aidreq32 {
-       __uint32_t      sar_cnt;
-       user32_addr_t   sar_aidp;
+       __uint32_t      sar_cnt;
+       user32_addr_t   sar_aidp;
 };
 
 struct so_aidreq64 {
 };
 
 struct so_aidreq64 {
-       __uint32_t      sar_cnt;
-       user64_addr_t   sar_aidp __attribute__((aligned(8)));
+       __uint32_t      sar_cnt;
+       user64_addr_t   sar_aidp __attribute__((aligned(8)));
 };
 #endif /* BSD_KERNEL_PRIVATE */
 
 };
 #endif /* BSD_KERNEL_PRIVATE */
 
@@ -1193,22 +1215,22 @@ struct so_aidreq64 {
  * Structure for SIOCGCONNIDS
  */
 struct so_cidreq {
  * Structure for SIOCGCONNIDS
  */
 struct so_cidreq {
-       sae_associd_t   scr_aid;        /* association ID */
-       __uint32_t      scr_cnt;        /* number of connections */
-       sae_connid_t    *scr_cidp;      /* array of connection IDs */
+       sae_associd_t   scr_aid;        /* association ID */
+       __uint32_t      scr_cnt;        /* number of connections */
+       sae_connid_t    *scr_cidp;      /* array of connection IDs */
 };
 
 #ifdef BSD_KERNEL_PRIVATE
 struct so_cidreq32 {
 };
 
 #ifdef BSD_KERNEL_PRIVATE
 struct so_cidreq32 {
-       sae_associd_t   scr_aid;
-       __uint32_t      scr_cnt;
-       user32_addr_t   scr_cidp;
+       sae_associd_t   scr_aid;
+       __uint32_t      scr_cnt;
+       user32_addr_t   scr_cidp;
 };
 
 struct so_cidreq64 {
 };
 
 struct so_cidreq64 {
-       sae_associd_t   scr_aid;
-       __uint32_t      scr_cnt;
-       user64_addr_t   scr_cidp __attribute__((aligned(8)));
+       sae_associd_t   scr_aid;
+       __uint32_t      scr_cnt;
+       user64_addr_t   scr_cidp __attribute__((aligned(8)));
 };
 #endif /* BSD_KERNEL_PRIVATE */
 
 };
 #endif /* BSD_KERNEL_PRIVATE */
 
@@ -1216,116 +1238,114 @@ struct so_cidreq64 {
  * Structure for SIOCGCONNINFO
  */
 struct so_cinforeq {
  * Structure for SIOCGCONNINFO
  */
 struct so_cinforeq {
-       sae_connid_t    scir_cid;               /* connection ID */
-       __uint32_t      scir_flags;             /* see flags below */
-       __uint32_t      scir_ifindex;           /* (last) outbound interface */
-       __int32_t       scir_error;             /* most recent error */
-       struct sockaddr *scir_src;              /* source address */
-       socklen_t       scir_src_len;           /* source address len */
-       struct sockaddr *scir_dst;              /* destination address */
-       socklen_t       scir_dst_len;           /* destination address len */
-       __uint32_t      scir_aux_type;          /* aux data type (CIAUX) */
-       void            *scir_aux_data;         /* aux data */
-       __uint32_t      scir_aux_len;           /* aux data len */
+       sae_connid_t    scir_cid;               /* connection ID */
+       __uint32_t      scir_flags;             /* see flags below */
+       __uint32_t      scir_ifindex;           /* (last) outbound interface */
+       __int32_t       scir_error;             /* most recent error */
+       struct sockaddr *scir_src;              /* source address */
+       socklen_t       scir_src_len;           /* source address len */
+       struct sockaddr *scir_dst;              /* destination address */
+       socklen_t       scir_dst_len;           /* destination address len */
+       __uint32_t      scir_aux_type;          /* aux data type (CIAUX) */
+       void            *scir_aux_data;         /* aux data */
+       __uint32_t      scir_aux_len;           /* aux data len */
 };
 
 #ifdef BSD_KERNEL_PRIVATE
 struct so_cinforeq32 {
 };
 
 #ifdef BSD_KERNEL_PRIVATE
 struct so_cinforeq32 {
-       sae_connid_t    scir_cid;
-       __uint32_t      scir_flags;
-       __uint32_t      scir_ifindex;
-       __int32_t       scir_error;
-       user32_addr_t   scir_src;
-       socklen_t       scir_src_len;
-       user32_addr_t   scir_dst;
-       socklen_t       scir_dst_len;
-       __uint32_t      scir_aux_type;
-       user32_addr_t   scir_aux_data;
-       __uint32_t      scir_aux_len;
+       sae_connid_t    scir_cid;
+       __uint32_t      scir_flags;
+       __uint32_t      scir_ifindex;
+       __int32_t       scir_error;
+       user32_addr_t   scir_src;
+       socklen_t       scir_src_len;
+       user32_addr_t   scir_dst;
+       socklen_t       scir_dst_len;
+       __uint32_t      scir_aux_type;
+       user32_addr_t   scir_aux_data;
+       __uint32_t      scir_aux_len;
 };
 
 struct so_cinforeq64 {
 };
 
 struct so_cinforeq64 {
-       sae_connid_t    scir_cid;
-       __uint32_t      scir_flags;
-       __uint32_t      scir_ifindex;
-       __int32_t       scir_error;
-       user64_addr_t   scir_src        __attribute__((aligned(8)));
-       socklen_t       scir_src_len;
-       user64_addr_t   scir_dst        __attribute__((aligned(8)));
-       socklen_t       scir_dst_len;
-       __uint32_t      scir_aux_type;
-       user64_addr_t   scir_aux_data   __attribute__((aligned(8)));
-       __uint32_t      scir_aux_len;
+       sae_connid_t    scir_cid;
+       __uint32_t      scir_flags;
+       __uint32_t      scir_ifindex;
+       __int32_t       scir_error;
+       user64_addr_t   scir_src        __attribute__((aligned(8)));
+       socklen_t       scir_src_len;
+       user64_addr_t   scir_dst        __attribute__((aligned(8)));
+       socklen_t       scir_dst_len;
+       __uint32_t      scir_aux_type;
+       user64_addr_t   scir_aux_data   __attribute__((aligned(8)));
+       __uint32_t      scir_aux_len;
 };
 #endif /* BSD_KERNEL_PRIVATE */
 
 /* valid connection info flags */
 };
 #endif /* BSD_KERNEL_PRIVATE */
 
 /* valid connection info flags */
-#define        CIF_CONNECTING          0x1     /* connection was attempted */
-#define        CIF_CONNECTED           0x2     /* connection is established */
-#define        CIF_DISCONNECTING       0x4     /* disconnection was attempted */
-#define        CIF_DISCONNECTED        0x8     /* has been disconnected */
-#define        CIF_BOUND_IF            0x10    /* bound to an interface */
-#define        CIF_BOUND_IP            0x20    /* bound to a src address */
-#define        CIF_BOUND_PORT          0x40    /* bound to a src port */
-#define        CIF_PREFERRED           0x80    /* connection is primary/preferred */
-#define        CIF_MP_CAPABLE          0x100   /* supports multipath protocol */
-#define        CIF_MP_READY            0x200   /* multipath protocol confirmed */
-#define        CIF_MP_DEGRADED         0x400   /* has lost its multipath capability */
-#define        CIF_MP_ACTIVE           0x800   /* this is the active subflow */
+#define CIF_CONNECTING          0x1     /* connection was attempted */
+#define CIF_CONNECTED           0x2     /* connection is established */
+#define CIF_DISCONNECTING       0x4     /* disconnection was attempted */
+#define CIF_DISCONNECTED        0x8     /* has been disconnected */
+#define CIF_BOUND_IF            0x10    /* bound to an interface */
+#define CIF_BOUND_IP            0x20    /* bound to a src address */
+#define CIF_BOUND_PORT          0x40    /* bound to a src port */
+#define CIF_PREFERRED           0x80    /* connection is primary/preferred */
+#define CIF_MP_CAPABLE          0x100   /* supports multipath protocol */
+#define CIF_MP_READY            0x200   /* multipath protocol confirmed */
+#define CIF_MP_DEGRADED         0x400   /* has lost its multipath capability */
+#define CIF_MP_ACTIVE           0x800   /* this is the active subflow */
 
 /* valid connection info auxiliary data types */
 
 /* valid connection info auxiliary data types */
-#define        CIAUX_TCP       0x1     /* TCP auxiliary data (conninfo_tcp_t) */
-#define        CIAUX_MPTCP     0x2     /* MPTCP auxiliary data (conninfo_mptcp_t) */
+#define CIAUX_TCP       0x1     /* TCP auxiliary data (conninfo_tcp_t) */
+#define CIAUX_MPTCP     0x2     /* MPTCP auxiliary data (conninfo_mptcp_t) */
 
 /*
  * Structure for SIOC{S,G}CONNORDER
  */
 struct so_cordreq {
 
 /*
  * Structure for SIOC{S,G}CONNORDER
  */
 struct so_cordreq {
-       sae_connid_t    sco_cid;                /* connection ID */
-       __uint32_t      sco_rank;               /* rank (0 means unspecified) */
+       sae_connid_t    sco_cid;                /* connection ID */
+       __uint32_t      sco_rank;               /* rank (0 means unspecified) */
 };
 
 /*
  * Common structure for KEV_NETPOLICY_SUBCLASS
  */
 struct netpolicy_event_data {
 };
 
 /*
  * Common structure for KEV_NETPOLICY_SUBCLASS
  */
 struct netpolicy_event_data {
-       __uint64_t      eupid;          /* effective unique PID */
-       pid_t           epid;           /* effective PID */
-#if !defined(__LP64__)
-       __uint32_t      pad;
-#endif /* __LP64__ */
-       uuid_t          euuid;          /* effective UUID */
+       __uint64_t      eupid;          /* effective unique PID */
+       __uint64_t      epid;           /* effective PID */
+       uuid_t          euuid;          /* effective UUID */
 };
 
 /*
  * NETPOLICY_IFDENIED event structure
  */
 struct kev_netpolicy_ifdenied {
 };
 
 /*
  * NETPOLICY_IFDENIED event structure
  */
 struct kev_netpolicy_ifdenied {
-       struct netpolicy_event_data     ev_data;
+       struct netpolicy_event_data     ev_data;
        __uint32_t ev_if_functional_type;
 };
 
 /*
        __uint32_t ev_if_functional_type;
 };
 
 /*
- * Common structure for KEV_SOCKET_SUBCLASS
+ * Network Service Type to DiffServ Code Point mapping
  */
  */
-struct kev_socket_event_data {
-       struct sockaddr_storage kev_sockname;
-       struct sockaddr_storage kev_peername;
-};
-
-struct kev_socket_closed {
-       struct kev_socket_event_data ev_data;
+struct netsvctype_dscp_map {
+       int             netsvctype;
+       u_int8_t        dscp; /* 6 bits diffserv code point */
 };
 
 /*
 };
 
 /*
- * Network Service Type to DiffServ Code Point mapping
+ * Multi-layer packet logging require SO_MPK_LOG to be set
  */
  */
-struct netsvctype_dscp_map {
-       int             netsvctype;
-       u_int8_t        dscp; /* 6 bits diffserv code point */
+struct so_mpkl_send_info {
+       uuid_t          mpkl_uuid;
+       __uint8_t       mpkl_proto;     /* see net/multi_layer_pkt_log.h */
+};
+
+struct so_mpkl_recv_info {
+       __uint32_t      mpkl_seq;
+       __uint8_t       mpkl_proto;     /* see net/multi_layer_pkt_log.h */
 };
 
 };
 
-#ifndef        KERNEL
+#ifndef KERNEL
 __BEGIN_DECLS
 
 extern int peeloff(int s, sae_associd_t);
 __BEGIN_DECLS
 
 extern int peeloff(int s, sae_associd_t);
@@ -1396,42 +1416,42 @@ ssize_t recvmsg_x(int s, const struct msghdr_x *msgp, u_int cnt, int flags);
 ssize_t sendmsg_x(int s, const struct msghdr_x *msgp, u_int cnt, int flags);
 __END_DECLS
 #endif /* !KERNEL */
 ssize_t sendmsg_x(int s, const struct msghdr_x *msgp, u_int cnt, int flags);
 __END_DECLS
 #endif /* !KERNEL */
-#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */
+#endif  /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */
 #endif /* PRIVATE */
 
 #endif /* PRIVATE */
 
-#ifndef        KERNEL
+#ifndef KERNEL
 __BEGIN_DECLS
 
 __BEGIN_DECLS
 
-int    accept(int, struct sockaddr * __restrict, socklen_t * __restrict)
-               __DARWIN_ALIAS_C(accept);
-int    bind(int, const struct sockaddr *, socklen_t) __DARWIN_ALIAS(bind);
-int    connect(int, const struct sockaddr *, socklen_t) __DARWIN_ALIAS_C(connect);
-int    getpeername(int, struct sockaddr * __restrict, socklen_t * __restrict)
-               __DARWIN_ALIAS(getpeername);
-int    getsockname(int, struct sockaddr * __restrict, socklen_t * __restrict)
-               __DARWIN_ALIAS(getsockname);
-int    getsockopt(int, int, int, void * __restrict, socklen_t * __restrict);
-int    listen(int, int) __DARWIN_ALIAS(listen);
-ssize_t        recv(int, void *, size_t, int) __DARWIN_ALIAS_C(recv);
-ssize_t        recvfrom(int, void *, size_t, int, struct sockaddr * __restrict,
-               socklen_t * __restrict) __DARWIN_ALIAS_C(recvfrom);
-ssize_t        recvmsg(int, struct msghdr *, int) __DARWIN_ALIAS_C(recvmsg);
-ssize_t        send(int, const void *, size_t, int) __DARWIN_ALIAS_C(send);
-ssize_t        sendmsg(int, const struct msghdr *, int) __DARWIN_ALIAS_C(sendmsg);
-ssize_t        sendto(int, const void *, size_t,
-               int, const struct sockaddr *, socklen_t) __DARWIN_ALIAS_C(sendto);
-int    setsockopt(int, int, int, const void *, socklen_t);
-int    shutdown(int, int);
-int    sockatmark(int) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0);
-int    socket(int, int, int);
-int    socketpair(int, int, int, int *) __DARWIN_ALIAS(socketpair);
+int     accept(int, struct sockaddr * __restrict, socklen_t * __restrict)
+__DARWIN_ALIAS_C(accept);
+int     bind(int, const struct sockaddr *, socklen_t) __DARWIN_ALIAS(bind);
+int     connect(int, const struct sockaddr *, socklen_t) __DARWIN_ALIAS_C(connect);
+int     getpeername(int, struct sockaddr * __restrict, socklen_t * __restrict)
+__DARWIN_ALIAS(getpeername);
+int     getsockname(int, struct sockaddr * __restrict, socklen_t * __restrict)
+__DARWIN_ALIAS(getsockname);
+int     getsockopt(int, int, int, void * __restrict, socklen_t * __restrict);
+int     listen(int, int) __DARWIN_ALIAS(listen);
+ssize_t recv(int, void *, size_t, int) __DARWIN_ALIAS_C(recv);
+ssize_t recvfrom(int, void *, size_t, int, struct sockaddr * __restrict,
+    socklen_t * __restrict) __DARWIN_ALIAS_C(recvfrom);
+ssize_t recvmsg(int, struct msghdr *, int) __DARWIN_ALIAS_C(recvmsg);
+ssize_t send(int, const void *, size_t, int) __DARWIN_ALIAS_C(send);
+ssize_t sendmsg(int, const struct msghdr *, int) __DARWIN_ALIAS_C(sendmsg);
+ssize_t sendto(int, const void *, size_t,
+    int, const struct sockaddr *, socklen_t) __DARWIN_ALIAS_C(sendto);
+int     setsockopt(int, int, int, const void *, socklen_t);
+int     shutdown(int, int);
+int     sockatmark(int) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0);
+int     socket(int, int, int);
+int     socketpair(int, int, int, int *) __DARWIN_ALIAS(socketpair);
 
 #if !defined(_POSIX_C_SOURCE)
 
 #if !defined(_POSIX_C_SOURCE)
-int    sendfile(int, int, off_t, off_t *, struct sf_hdtr *, int);
-#endif /* !_POSIX_C_SOURCE */
+int     sendfile(int, int, off_t, off_t *, struct sf_hdtr *, int);
+#endif  /* !_POSIX_C_SOURCE */
 
 #if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
 
 #if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
-void   pfctlinput(int, struct sockaddr *);
+void    pfctlinput(int, struct sockaddr *);
 
 __API_AVAILABLE(macosx(10.11), ios(9.0), tvos(9.0), watchos(2.0))
 int connectx(int, const sa_endpoints_t *, sae_associd_t, unsigned int,
 
 __API_AVAILABLE(macosx(10.11), ios(9.0), tvos(9.0), watchos(2.0))
 int connectx(int, const sa_endpoints_t *, sae_associd_t, unsigned int,
@@ -1439,7 +1459,7 @@ int connectx(int, const sa_endpoints_t *, sae_associd_t, unsigned int,
 
 __API_AVAILABLE(macosx(10.11), ios(9.0), tvos(9.0), watchos(2.0))
 int disconnectx(int, sae_associd_t, sae_connid_t);
 
 __API_AVAILABLE(macosx(10.11), ios(9.0), tvos(9.0), watchos(2.0))
 int disconnectx(int, sae_associd_t, sae_connid_t);
-#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */
+#endif  /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */
 __END_DECLS
 #endif /* !KERNEL */
 
 __END_DECLS
 #endif /* !KERNEL */