xref: /reactos/sdk/include/psdk/udpmib.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_UDPMIB_H
19 #define __WINE_UDPMIB_H
20 
21 #define TCPIP_OWNING_MODULE_SIZE 16
22 
23 
24 /* UDP table */
25 
26 typedef struct _MIB_UDPROW
27 {
28     DWORD dwLocalAddr;
29     DWORD dwLocalPort;
30 } MIB_UDPROW, *PMIB_UDPROW;
31 
32 typedef struct _MIB_UDPTABLE
33 {
34     DWORD      dwNumEntries;
35     MIB_UDPROW table[1];
36 } MIB_UDPTABLE, *PMIB_UDPTABLE;
37 
38 typedef struct _MIB_UDPROW_OWNER_PID
39 {
40     DWORD dwLocalAddr;
41     DWORD dwLocalPort;
42     DWORD dwOwningPid;
43 } MIB_UDPROW_OWNER_PID, *PMIB_UDPROW_OWNER_PID;
44 
45 typedef struct _MIB_UDPTABLE_OWNER_PID
46 {
47     DWORD                dwNumEntries;
48     MIB_UDPROW_OWNER_PID table[1];
49 } MIB_UDPTABLE_OWNER_PID, *PMIB_UDPTABLE_OWNER_PID;
50 
51 typedef struct _MIB_UDPROW_OWNER_MODULE
52 {
53     DWORD         dwLocalAddr;
54     DWORD         dwLocalPort;
55     DWORD         dwOwningPid;
56     LARGE_INTEGER liCreateTimestamp;
57     __C89_NAMELESS union
58     {
59         __C89_NAMELESS struct
60         {
61             int SpecificPortBind:1;
62         } __C89_NAMELESSSTRUCTNAME;
63         int dwFlags;
64     } __C89_NAMELESSUNIONNAME;
65     ULONGLONG OwningModuleInfo[TCPIP_OWNING_MODULE_SIZE];
66 } MIB_UDPROW_OWNER_MODULE, *PMIB_UDPROW_OWNER_MODULE;
67 
68 typedef struct _MIB_UDPTABLE_OWNER_MODULE
69 {
70     DWORD                   dwNumEntries;
71     MIB_UDPROW_OWNER_MODULE table[1];
72 } MIB_UDPTABLE_OWNER_MODULE, *PMIB_UDPTABLE_OWNER_MODULE;
73 
74 /* UDP statistics */
75 
76 typedef struct _MIB_UDPSTATS
77 {
78     DWORD dwInDatagrams;
79     DWORD dwNoPorts;
80     DWORD dwInErrors;
81     DWORD dwOutDatagrams;
82     DWORD dwNumAddrs;
83 } MIB_UDPSTATS, *PMIB_UDPSTATS;
84 
85 #endif /* __WINE_UDPMIB_H */
86