/*
- * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2008-2013 Apple Inc. All rights reserved.
*
- * @APPLE_LICENSE_HEADER_START@
+ * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
*
- * "Portions Copyright (c) 1999 Apple Computer, Inc. All Rights
- * Reserved. This file contains Original Code and/or Modifications of
- * Original Code as defined in and that are subject to the Apple Public
- * Source License Version 1.0 (the 'License'). You may not use this file
- * except in compliance with the License. Please obtain a copy of the
- * License at http://www.apple.com/publicsource and read it before using
- * this file.
+ * This file contains Original Code and/or Modifications of Original Code
+ * as defined in and that are subject to the Apple Public Source License
+ * Version 2.0 (the 'License'). You may not use this file except in
+ * compliance with the License. The rights granted to you under the License
+ * may not be used to create, or enable the creation or redistribution of,
+ * unlawful or unlicensed copies of an Apple operating system, or to
+ * circumvent, violate, or enable the circumvention or violation of, any
+ * terms of an Apple operating system software license agreement.
*
+ * Please obtain a copy of the License at
+ * http://www.opensource.apple.com/apsl/ and read it before using this file.
+ *
* The Original Code and all software distributed under the License are
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
- * License for the specific language governing rights and limitations
- * under the License."
+ * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+ * Please see the License for the specific language governing rights and
+ * limitations under the License.
*
- * @APPLE_LICENSE_HEADER_END@
+ * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
*/
/*
* Copyright (c) 1992, 1993
#include <sys/cdefs.h>
#include <sys/types.h>
+#include <stdint.h>
+
+#include <TargetConditionals.h>
extern int Aflag; /* show addresses of protocol control block */
extern int aflag; /* show all sockets (including servers) */
extern int bflag; /* show i/f total bytes in/out */
+extern int cflag; /* show specific classq */
extern int dflag; /* show i/f dropped packets */
+extern int Fflag; /* show i/f forwarded packets */
+#if defined(__APPLE__) && !TARGET_OS_EMBEDDED
extern int gflag; /* show group (multicast) routing or stats */
+#endif
extern int iflag; /* show interfaces */
extern int lflag; /* show routing table with use and ref */
extern int Lflag; /* show size of listen queues */
extern int mflag; /* show memory stats */
extern int nflag; /* show addresses numerically */
+extern int Rflag; /* show reachability information */
extern int rflag; /* show routing tables (or routing stats) */
extern int sflag; /* show protocol statistics */
+extern int prioflag; /* show packet priority statistics */
extern int tflag; /* show i/f watchdog timers */
+extern int vflag; /* more verbose */
extern int Wflag; /* wide display */
+extern int qflag; /* Display ifclassq stats */
+extern int Qflag; /* Display opportunistic polling stats */
+extern int xflag; /* show extended link-layer reachability information */
+extern int cq; /* send classq index (-1 for all) */
extern int interval; /* repeat interval for i/f stats */
extern char *interface; /* desired i/f for stats, or NULL for all i/fs */
extern int af; /* address family */
-int kread (u_long addr, char *buf, int size);
-char *plural (int);
-char *plurales (int);
-
-void protopr (u_long, char *, int);
-void tcp_stats (u_long, char *, int);
-void udp_stats (u_long, char *, int);
-void ip_stats (u_long, char *, int);
-void icmp_stats (u_long, char *, int);
-void igmp_stats (u_long, char *, int);
+extern char *plural(int);
+extern char *plurales(int);
+extern char *pluralies(int);
+
+extern void protopr(uint32_t, char *, int);
+extern void mptcppr(uint32_t, char *, int);
+extern void tcp_stats(uint32_t, char *, int);
+extern void mptcp_stats(uint32_t, char *, int);
+extern void udp_stats(uint32_t, char *, int);
+extern void ip_stats(uint32_t, char *, int);
+extern void icmp_stats(uint32_t, char *, int);
+extern void igmp_stats(uint32_t, char *, int);
+extern void arp_stats(uint32_t, char *, int);
#ifdef IPSEC
-void ipsec_stats (u_long, char *, int);
+extern void ipsec_stats(uint32_t, char *, int);
#endif
#ifdef INET6
-void ip6_stats (u_long, char *, int);
-void ip6_ifstats (char *);
-void icmp6_stats (u_long, char *, int);
-void icmp6_ifstats (char *);
-void pim6_stats (u_long, char *, int);
-void rip6_stats (u_long, char *, int);
-void mroute6pr (u_long, u_long);
-void mrt6_stats (u_long);
+extern void ip6_stats(uint32_t, char *, int);
+extern void ip6_ifstats(char *);
+extern void icmp6_stats(uint32_t, char *, int);
+extern void icmp6_ifstats(char *);
+#ifdef notyet
+extern void pim6_stats(uint32_t, char *, int);
+#endif
+extern void rip6_stats(uint32_t, char *, int);
+#if defined(__APPLE__) && !TARGET_OS_EMBEDDED
+extern void mroute6pr(void);
+extern void mrt6_stats(void);
+#endif
+/* forward references */
struct sockaddr_in6;
struct in6_addr;
-char *routename6 (struct sockaddr_in6 *);
-char *netname6 (struct sockaddr_in6 *, struct in6_addr *);
+struct sockaddr;
+
+extern char *routename6(struct sockaddr_in6 *);
+extern char *netname6(struct sockaddr_in6 *, struct sockaddr *);
#endif /*INET6*/
#ifdef IPSEC
-void pfkey_stats (u_long, char *, int);
+extern void pfkey_stats(uint32_t, char *, int);
#endif
-void bdg_stats (u_long, char *, int);
-
-//void mbpr (u_long, u_long, u_long, u_long);
-void mbpr (u_long);
+extern void mbpr(void);
-void hostpr (u_long, u_long);
-void impstats (u_long, u_long);
+extern void intpr(void (*)(char *));
+extern void intpr_ri(void (*)(char *));
+extern void intervalpr(void (*)(uint32_t, char *, int), uint32_t,
+ char *, int);
-void intpr (int, u_long, void (*)(char *));
+extern void pr_rthdr(int);
+extern void pr_family(int);
+extern void rt_stats(void);
+extern void upHex(char *);
+extern char *routename(uint32_t);
+extern char *netname(uint32_t, uint32_t);
+extern void routepr(void);
-void pr_rthdr (int);
-void pr_family (int);
-void rt_stats (u_long, u_long);
-char *ipx_pnet (struct sockaddr *);
-char *ipx_phost (struct sockaddr *);
-char *ns_phost (struct sockaddr *);
-void upHex (char *);
+extern void unixpr(void);
+extern void aqstatpr(void);
+extern void rxpollstatpr(void);
-char *routename (u_long);
-char *netname (u_long, u_long);
-#if 0
-char *atalk_print (struct sockaddr *, int);
-char *atalk_print2 (struct sockaddr *, struct sockaddr *, int);
-char *ipx_print (struct sockaddr *);
-char *ns_print (struct sockaddr *);
+#if defined(__APPLE__) && !TARGET_OS_EMBEDDED
+extern void mroutepr(void);
+extern void mrt_stats(void);
#endif
-void routepr (u_long);
-
-#if 0
-void ipxprotopr (u_long, char *, int);
-void spx_stats (u_long, char *, int);
-void ipx_stats (u_long, char *, int);
-void ipxerr_stats (u_long, char *, int);
-
-void nsprotopr (u_long, char *, int);
-void spp_stats (u_long, char *, int);
-void idp_stats (u_long, char *, int);
-void nserr_stats (u_long, char *, int);
-
-void atalkprotopr (u_long, char *, int);
-void ddp_stats (u_long, char *, int);
-
-void netgraphprotopr (u_long, char *, int);
-#endif
-
-void unixpr (void);
-
-void esis_stats (u_long, char *, int);
-void clnp_stats (u_long, char *, int);
-void cltp_stats (u_long, char *, int);
-void iso_protopr (u_long, char *, int);
-void iso_protopr1 (u_long, int);
-void tp_protopr (u_long, char *, int);
-void tp_inproto (u_long);
-void tp_stats (caddr_t, caddr_t);
-void mroutepr (u_long, u_long);
-void mrt_stats (u_long);
+extern void ifmalist_dump(void);
+extern int print_time(void);