/*
- * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2000-2011 Apple Inc. All rights reserved.
*
- * @APPLE_LICENSE_HEADER_START@
- *
- * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved.
+ * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
*
* 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. Please obtain a copy of the License at
- * http://www.opensource.apple.com/apsl/ and read it before using this
- * file.
+ * 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
* 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 1996 Massachusetts Institute of Technology
#define _NET_IF_MIB_H 1
#include <sys/appleapiopts.h>
-#ifdef __APPLE_API_UNSTABLE
struct ifmibdata {
- char ifmd_name[IFNAMSIZ]; /* name of interface */
- int ifmd_pcount; /* number of promiscuous listeners */
- int ifmd_flags; /* interface flags */
- int ifmd_snd_len; /* instantaneous length of send queue */
- int ifmd_snd_maxlen; /* maximum length of send queue */
- int ifmd_snd_drops; /* number of drops in send queue */
- int ifmd_filler[4]; /* for future expansion */
- struct if_data ifmd_data; /* generic information and statistics */
+ char ifmd_name[IFNAMSIZ]; /* name of interface */
+ unsigned int ifmd_pcount; /* number of promiscuous listeners */
+ unsigned int ifmd_flags; /* interface flags */
+ unsigned int ifmd_snd_len; /* instantaneous length of send queue */
+ unsigned int ifmd_snd_maxlen; /* maximum length of send queue */
+ unsigned int ifmd_snd_drops; /* number of drops in send queue */
+ unsigned int ifmd_filler[4]; /* for future expansion */
+ struct if_data64 ifmd_data; /* generic information and statistics */
+};
+
+#ifdef PRIVATE
+struct ifmibdata_supplemental {
+ struct if_traffic_class ifmd_traffic_class;
+ struct if_data_extended ifmd_data_extended;
+ struct if_packet_stats ifmd_packet_stats;
+ struct if_rxpoll_stats ifmd_rxpoll_stats;
};
+#endif /* PRIVATE */
/*
* sysctl MIB tags at the net.link.generic level
*/
#define IFMIB_SYSTEM 1 /* non-interface-specific */
#define IFMIB_IFDATA 2 /* per-interface data table */
+#define IFMIB_IFALLDATA 3 /* all interfaces data at once */
/*
* MIB tags for the various net.link.generic.ifdata tables
*/
-#define IFDATA_GENERAL 1 /* generic stats for all kinds of ifaces */
-#define IFDATA_LINKSPECIFIC 2 /* specific to the type of interface */
+#define IFDATA_GENERAL 1 /* generic stats for all kinds of ifaces */
+#define IFDATA_LINKSPECIFIC 2 /* specific to the type of interface */
+#define IFDATA_ADDRS 3 /* addresses assigned to interface */
+#define IFDATA_MULTIADDRS 4 /* multicast addresses assigned to interface */
+#ifdef PRIVATE
+#define IFDATA_SUPPLEMENTAL 5 /* supplemental link specific stats */
+#endif /* PRIVATE */
/*
* MIB tags at the net.link.generic.system level
*/
/* For IFT_ETHER, IFT_ISO88023, and IFT_STARLAN, as used by RFC 1650 */
-struct ifmib_iso_8802_3 {
+struct ifs_iso_8802_3 {
u_int32_t dot3StatsAlignmentErrors;
u_int32_t dot3StatsFCSErrors;
u_int32_t dot3StatsSingleCollisionFrames;
* Put other types of interface MIBs here, or in interface-specific
* header files if convenient ones already exist.
*/
-#endif /* __APPLE_API_UNSTABLE */
+
+/*
+ * Structure for interface family ID table
+ */
+
+struct if_family_id {
+ u_int32_t iffmid_len;
+ u_int32_t iffmid_id;
+ char iffmid_str[1]; /* variable length string */
+};
+
+
#endif /* _NET_IF_MIB_H */