Root/
Source at commit 2740 created 8 years 11 months ago. By ifabio, sync with trunk. | |
---|---|
1 | /*␊ |
2 | * Copyright (c) 1998-2008 Apple Inc. All rights reserved.␊ |
3 | *␊ |
4 | * @APPLE_LICENSE_HEADER_START@␊ |
5 | * ␊ |
6 | * The contents of this file constitute Original Code as defined in and␊ |
7 | * are subject to the Apple Public Source License Version 1.1 (the␊ |
8 | * "License"). You may not use this file except in compliance with the␊ |
9 | * License. Please obtain a copy of the License at␊ |
10 | * http://www.apple.com/publicsource and read it before using this file.␊ |
11 | * ␊ |
12 | * This Original Code and all software distributed under the License are␊ |
13 | * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER␊ |
14 | * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,␊ |
15 | * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,␊ |
16 | * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the␊ |
17 | * License for the specific language governing rights and limitations␊ |
18 | * under the License.␊ |
19 | * ␊ |
20 | * @APPLE_LICENSE_HEADER_END@␊ |
21 | */␊ |
22 | ␊ |
23 | #ifndef _IONETWORKSTATS_H␊ |
24 | #define _IONETWORKSTATS_H␊ |
25 | ␊ |
26 | /*! @header IONetworkStats.h␊ |
27 | @discussion Generic network statistics. */␊ |
28 | ␊ |
29 | //------------------------------------------------------------------------␊ |
30 | // Generic network statistics. Common to all network interfaces.␊ |
31 | //␊ |
32 | // WARNING: This structure must match the statistics field in␊ |
33 | // ifnet->if_data. This structure will overlay a portion of ifnet.␊ |
34 | ␊ |
35 | /*! @typedef IONetworkStats␊ |
36 | @discussion Generic network statistics structure.␊ |
37 | @field inputPackets count input packets.␊ |
38 | @field inputErrors count input errors.␊ |
39 | @field outputPackets count output packets.␊ |
40 | @field outputErrors count output errors.␊ |
41 | @field collisions count collisions on CDMA networks. */␊ |
42 | ␊ |
43 | typedef struct {␊ |
44 | UInt32 inputPackets;␊ |
45 | UInt32 inputErrors;␊ |
46 | UInt32 outputPackets;␊ |
47 | UInt32 outputErrors;␊ |
48 | UInt32 collisions;␊ |
49 | } IONetworkStats;␊ |
50 | ␊ |
51 | /*! @defined kIONetworkStatsKey␊ |
52 | @discussion Defines the name of an IONetworkData that contains␊ |
53 | an IONetworkStats. */␊ |
54 | ␊ |
55 | #define kIONetworkStatsKey "IONetworkStatsKey"␊ |
56 | ␊ |
57 | //------------------------------------------------------------------------␊ |
58 | // Output queue statistics.␊ |
59 | ␊ |
60 | /*! @typedef IOOutputQueueStats␊ |
61 | @discussion Statistics recorded by IOOutputQueue objects.␊ |
62 | @field capacity queue capacity.␊ |
63 | @field size current size of the queue.␊ |
64 | @field peakSize peak size of the queue.␊ |
65 | @field dropCount number of packets dropped.␊ |
66 | @field outputCount number of output packets.␊ |
67 | @field retryCount number of retries.␊ |
68 | @field stallCount number of queue stalls. */␊ |
69 | ␊ |
70 | typedef struct {␊ |
71 | UInt32 capacity;␊ |
72 | UInt32 size;␊ |
73 | UInt32 peakSize;␊ |
74 | UInt32 dropCount;␊ |
75 | UInt32 outputCount;␊ |
76 | UInt32 retryCount;␊ |
77 | UInt32 stallCount;␊ |
78 | UInt32 reserved[4];␊ |
79 | } IOOutputQueueStats;␊ |
80 | ␊ |
81 | /*! @defined kIOOutputQueueStatsKey␊ |
82 | @discussion Defines the name of an IONetworkData that contains␊ |
83 | an IOOutputQueueStats. */␊ |
84 | ␊ |
85 | #define kIOOutputQueueStatsKey "IOOutputQueueStatsKey"␊ |
86 | ␊ |
87 | #endif /* !_IONETWORKSTATS_H */␊ |
88 |