summaryrefslogtreecommitdiffstats
path: root/private/inc/sys/snet/net_stat.h
diff options
context:
space:
mode:
Diffstat (limited to 'private/inc/sys/snet/net_stat.h')
-rw-r--r--private/inc/sys/snet/net_stat.h159
1 files changed, 159 insertions, 0 deletions
diff --git a/private/inc/sys/snet/net_stat.h b/private/inc/sys/snet/net_stat.h
new file mode 100644
index 000000000..c9f46d507
--- /dev/null
+++ b/private/inc/sys/snet/net_stat.h
@@ -0,0 +1,159 @@
+/*++
+
+Copyright (c) 1991 Microsoft Corporation
+
+Module Name:
+
+ net_stat.h
+
+Abstract:
+
+ This file defines the IOCTL interface to the TCP/IP drivers used by
+ the netstat program.
+
+Author:
+
+ Mike Massa (mikemas) Jan 31, 1992
+
+Revision History:
+
+ Who When What
+ -------- -------- ----------------------------------------------
+ mikemas 01-31-92 created
+
+Notes:
+
+--*/
+
+/*
+ * /usr/projects/spare/PBRAIN/SCCS/pbrainG/dev/src/include/sys/snet/0/s.net_stat.h
+ * @(#)net_stat.h 1.9
+ *
+ * Last delta created 12:04:31 3/6/90
+ * This file extracted 16:49:18 12/23/91
+ *
+ * MV 08/06/88 Mods for Generic Ethernet Driver (GENERICE).
+ *
+ * MV 18/07/88 To get over limits on STREAMS ioctl size, we now
+ * get connection information send up in separate
+ * messages, with the number of connections to expect
+ * passed up (along with protocol stats) in the initial
+ * ioctl.
+ */
+
+/*
+ * TCP statistics.
+ */
+
+struct tcp_stat
+{
+ long net; /* net to get stats on, 0L -> all nets */
+
+ /* protocol statistics */
+ int tcp_small; /* incomplete headers */
+ int tcp_cksum; /* header checksum errors */
+
+ /* connection information */
+ int tcp_conns; /* number of active TCBs */
+};
+
+#define MAX_TCB 32 /* max. no. of tcp_conns in a message */
+
+/*
+ * Per-Connection (TCB) Data.
+ */
+
+struct tcp_conn
+{
+ long tcp_addr; /* TCB address */
+ int tcp_rcvq; /* packets on receive queue */
+ int tcp_sndq; /* packets on send queue */
+ long tcp_laddr; /* local address */
+ long tcp_faddr; /* foreign address */
+ short tcp_lport; /* local port */
+ short tcp_fport; /* foreign port */
+ int tcp_state; /* connection state */
+};
+
+/* possible values for tcp_state */
+
+#define CLOSED 0 /* connection not in use */
+#define LISTEN 1 /* listening for requests */
+#define SYN_SEND 2 /* sent SYN, awaiting ACK */
+#define SYN_RECV 3 /* received SYN, not ACKed */
+#define ESTABLISHED 4 /* connection established */
+#define FIN_WAIT_1 5 /* sent FIN, awaiting ACK */
+#define FIN_WAIT_2 6 /* sent FIN, got ACK not FIN */
+#define CLOSE_WAIT 7 /* received FIN, not ACKed */
+#define LAST_ACK 8 /* waiting for final ACK */
+
+/*
+ * UDP statistics.
+ */
+
+struct udp_stat
+{
+ long net; /* net to get stats on, 0L -> all nets */
+
+ /* protocol statistics */
+ int udp_small; /* packets smaller than minimum */
+ int udp_cksum; /* header checksum errors */
+ int udp_header; /* bad data length fields */
+
+ /* connection information */
+ int udp_conns; /* number of active UCBs */
+};
+
+#define MAX_UCB 32 /* max. no. of udp_conns in a message */
+
+/*
+ * Per-Connection (UCB) Data.
+ */
+
+struct udp_conn
+{
+ long udp_addr; /* UCB address */
+ int udp_rcvq; /* packets on receive queue */
+ int udp_sndq; /* packets on send queue */
+ long udp_laddr; /* local address */
+ int udp_lport; /* local port */
+ long udp_faddr; /* foreign address */
+ int udp_fport; /* foreign port */
+};
+
+/*
+ * IP statistics
+ */
+
+struct ip_stat
+{
+ long net; /* net to get stats on, 0L -> all nets */
+
+ int ip_small; /* packets smaller than minimum */
+ int ip_cksum; /* header checksum errors */
+ int ip_header; /* bad data length fields */
+};
+
+#ifndef GENERICE
+/*
+ * Ethernet statistics
+ */
+
+struct eth_stat
+{
+ long eth_tx; /* packets transmitted */
+ long eth_rx; /* packets received */
+ long eth_lost; /* packets discarded */
+ int eth_crc; /* CRC error packets */
+ int eth_align; /* alignment error packets */
+ int eth_res; /* 82586 resource errors */
+ int eth_over; /* overrun error packets */
+};
+#endif /*~GENERICE*/
+
+/*
+ * Ioctl(2) commands for Network Devices.
+ */
+
+#define NET_STAT ('N'<<8|1) /* generic statistics gathering */
+#define NET_RESET ('N'<<8|2) /* generic statistics reset */