1613a7dd76c0d3902c74222a95c16eab870312bd
[mirror/winof/.git] / ulp / ipoib / kernel / ipoib_stat.h
1 /*++\r
2 \r
3 Copyright (c) 2005-2009 Mellanox Technologies. All rights reserved.\r
4 \r
5 Module Name:\r
6         ipoib_stat.h\r
7 \r
8 Abstract:\r
9         Statistics Collector header file\r
10 \r
11 Revision History:\r
12 \r
13 Notes:\r
14 \r
15 --*/\r
16 \r
17 #pragma once\r
18 \r
19 #include <ntddk.h>\r
20 \r
21 //\r
22 // restrictions\r
23 //\r
24 \r
25 #define IPOIB_ST_MAX_DEVICES                    8\r
26 \r
27 //\r
28 // enums\r
29 // \r
30 \r
31 //\r
32 // structures\r
33 //\r
34 \r
35 // device\r
36 typedef struct _ipoib_adapter ipoib_adapter_t;\r
37 \r
38 typedef struct _IPOIB_ST_DEVICE\r
39 {\r
40         boolean_t                       valid;\r
41         ipoib_adapter_t         *p_adapter;\r
42         int                                     n_power_irps;   // NdisDevicePnPEventPowerProfileChanged \r
43         int                                     n_pnp_irps;             // NdisDevicePnPEventSurpriseRemoved \r
44         \r
45 } IPOIB_ST_DEVICE, *PIPOIB_ST_DEVICE;\r
46 \r
47 // driver\r
48 typedef struct _IPOIB_ST_DRIVER\r
49 {\r
50         PDRIVER_OBJECT          obj;\r
51         \r
52 } IPOIB_ST_DRIVER, *PIPOIB_ST_DRIVER;\r
53 \r
54 // driver stack\r
55 \r
56 typedef struct _IPOIB_ST_STAT\r
57 {\r
58         IPOIB_ST_DRIVER         drv;\r
59         IPOIB_ST_DEVICE         dev[IPOIB_ST_MAX_DEVICES];\r
60         \r
61 } IPOIB_ST_STAT, *PIPOIB_ST_STAT;\r
62 \r
63 extern IPOIB_ST_STAT g_stat;\r
64 \r
65 //\r
66 // functions \r
67 //\r
68 \r
69 void ipoib_st_dev_rmv( PIPOIB_ST_DEVICE p_stat );\r
70 \r
71 PIPOIB_ST_DEVICE ipoib_st_dev_add();\r
72 \r
73 void ipoib_st_init();\r
74 \r
75 \r
76 \r