dinput: Avoid deadlock when CS are acquired in different order.
[wine.git] / include / udpmib.h
blob4b670b00078b3ac75c5bf5976cbff8d1909fb026
1 /*
2 * Copyright (C) 2003 Juan Lang
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.
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.
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
18 #ifndef __WINE_UDPMIB_H
19 #define __WINE_UDPMIB_H
21 #define TCPIP_OWNING_MODULE_SIZE 16
24 /* UDP table */
26 typedef struct _MIB_UDPROW
28 DWORD dwLocalAddr;
29 DWORD dwLocalPort;
30 } MIB_UDPROW, *PMIB_UDPROW;
32 typedef struct _MIB_UDPTABLE
34 DWORD dwNumEntries;
35 MIB_UDPROW table[1];
36 } MIB_UDPTABLE, *PMIB_UDPTABLE;
38 typedef struct _MIB_UDPROW_OWNER_PID
40 DWORD dwLocalAddr;
41 DWORD dwLocalPort;
42 DWORD dwOwningPid;
43 } MIB_UDPROW_OWNER_PID, *PMIB_UDPROW_OWNER_PID;
45 typedef struct _MIB_UDPTABLE_OWNER_PID
47 DWORD dwNumEntries;
48 MIB_UDPROW_OWNER_PID table[1];
49 } MIB_UDPTABLE_OWNER_PID, *PMIB_UDPTABLE_OWNER_PID;
51 typedef struct _MIB_UDPROW_OWNER_MODULE
53 DWORD dwLocalAddr;
54 DWORD dwLocalPort;
55 DWORD dwOwningPid;
56 LARGE_INTEGER liCreateTimestamp;
57 __C89_NAMELESS union
59 __C89_NAMELESS struct
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;
68 typedef struct _MIB_UDPTABLE_OWNER_MODULE
70 DWORD dwNumEntries;
71 MIB_UDPROW_OWNER_MODULE table[1];
72 } MIB_UDPTABLE_OWNER_MODULE, *PMIB_UDPTABLE_OWNER_MODULE;
74 typedef struct _MIB_UDP6ROW
76 IN6_ADDR dwLocalAddr;
77 DWORD dwLocalScopeId;
78 DWORD dwLocalPort;
79 } MIB_UDP6ROW, *PMIB_UDP6ROW;
81 typedef struct _MIB_UDP6TABLE
83 DWORD dwNumEntries;
84 MIB_UDP6ROW table[1];
85 } MIB_UDP6TABLE, *PMIB_UDP6TABLE;
87 typedef struct _MIB_UDP6ROW_OWNER_PID
89 UCHAR ucLocalAddr[16];
90 DWORD dwLocalScopeId;
91 DWORD dwLocalPort;
92 DWORD dwOwningPid;
93 } MIB_UDP6ROW_OWNER_PID, *PMIB_UDP6ROW_OWNER_PID;
95 typedef struct _MIB_UDP6TABLE_OWNER_PID
97 DWORD dwNumEntries;
98 MIB_UDP6ROW_OWNER_PID table[1];
99 } MIB_UDP6TABLE_OWNER_PID, *PMIB_UDP6TABLE_OWNER_PID;
101 typedef struct _MIB_UDP6ROW_OWNER_MODULE
103 UCHAR ucLocalAddr[16];
104 DWORD dwLocalScopeId;
105 DWORD dwLocalPort;
106 DWORD dwOwningPid;
107 LARGE_INTEGER liCreateTimestamp;
108 __C89_NAMELESS union
110 __C89_NAMELESS struct
112 int SpecificPortBind:1;
113 } __C89_NAMELESSSTRUCTNAME;
114 int dwFlags;
115 } __C89_NAMELESSUNIONNAME;
116 ULONGLONG OwningModuleInfo[TCPIP_OWNING_MODULE_SIZE];
117 } MIB_UDP6ROW_OWNER_MODULE, *PMIB_UDP6ROW_OWNER_MODULE;
119 typedef struct _MIB_UDP6TABLE_OWNER_MODULE
121 DWORD dwNumEntries;
122 MIB_UDP6ROW_OWNER_MODULE table[1];
123 } MIB_UDP6TABLE_OWNER_MODULE, *PMIB_UDP6TABLE_OWNER_MODULE;
125 /* UDP statistics */
127 typedef struct _MIB_UDPSTATS
129 DWORD dwInDatagrams;
130 DWORD dwNoPorts;
131 DWORD dwInErrors;
132 DWORD dwOutDatagrams;
133 DWORD dwNumAddrs;
134 } MIB_UDPSTATS, *PMIB_UDPSTATS;
136 #endif /* __WINE_UDPMIB_H */