xref: /reactos/sdk/include/psdk/ifmib.h (revision c2c66aff)
1 /*
2  * Copyright (C) 2003 Juan Lang
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17  */
18 #ifndef __WINE_IFMIB_H
19 #define __WINE_IFMIB_H
20 
21 #include <ifdef.h>
22 
23 typedef struct _MIB_IFNUMBER
24 {
25     DWORD dwValue;
26 } MIB_IFNUMBER, *PMIB_IFNUMBER;
27 
28 
29 /* Interface table */
30 
31 #define MAX_INTERFACE_NAME_LEN 256
32 #define MAXLEN_PHYSADDR 8
33 #define MAXLEN_IFDESCR 256
34 
35 typedef struct _MIB_IFROW
36 {
37     WCHAR wszName[MAX_INTERFACE_NAME_LEN];
38     DWORD dwIndex;
39     DWORD dwType;
40     DWORD dwMtu;
41     DWORD dwSpeed;
42     DWORD dwPhysAddrLen;
43     UCHAR bPhysAddr[MAXLEN_PHYSADDR];
44     DWORD dwAdminStatus;
45     INTERNAL_IF_OPER_STATUS dwOperStatus;
46     DWORD dwLastChange;
47     DWORD dwInOctets;
48     DWORD dwInUcastPkts;
49     DWORD dwInNUcastPkts;
50     DWORD dwInDiscards;
51     DWORD dwInErrors;
52     DWORD dwInUnknownProtos;
53     DWORD dwOutOctets;
54     DWORD dwOutUcastPkts;
55     DWORD dwOutNUcastPkts;
56     DWORD dwOutDiscards;
57     DWORD dwOutErrors;
58     DWORD dwOutQLen;
59     DWORD dwDescrLen;
60     BYTE  bDescr[MAXLEN_IFDESCR];
61 } MIB_IFROW, *PMIB_IFROW;
62 
63 typedef struct _MIB_IFTABLE
64 {
65     DWORD     dwNumEntries;
66     MIB_IFROW table[1];
67 } MIB_IFTABLE, *PMIB_IFTABLE;
68 
69 
70 #endif /* __WINE_IFMIB_H */
71