[PSDK]
[reactos.git] / include / psdk / mswsockdef.h
1 #pragma once
2
3 #ifdef __cplusplus
4 extern "C" {
5 #endif
6
7 #if(_WIN32_WINNT >= 0x0600)
8 #ifdef _MSC_VER
9 #define MSWSOCKDEF_INLINE __inline
10 #else
11 #define MSWSOCKDEF_INLINE extern inline
12 #endif
13 #endif /* (_WIN32_WINNT>=0x0600) */
14
15 #ifndef ASSERT
16 #define MSWSOCKDEF_ASSERT_UNDEFINED
17 #define ASSERT(exp) ((VOID) 0)
18 #endif
19
20 #if(_WIN32_WINNT >= 0x0600)
21
22 #ifdef _WS2DEF_
23
24 extern CONST UCHAR sockaddr_size[AF_MAX];
25
26 MSWSOCKDEF_INLINE
27 UCHAR
28 SOCKADDR_SIZE(
29 IN ADDRESS_FAMILY af)
30 {
31 return (UCHAR)((af < AF_MAX) ? sockaddr_size[af]
32 : sockaddr_size[AF_UNSPEC]);
33 }
34
35 MSWSOCKDEF_INLINE
36 SCOPE_LEVEL
37 ScopeLevel(
38 IN SCOPE_ID ScopeId)
39 {
40 return (SCOPE_LEVEL)ScopeId.Level;
41 }
42
43 #endif /* _WS2DEF_ */
44
45 #define SIO_SET_COMPATIBILITY_MODE _WSAIOW(IOC_VENDOR,300)
46
47 typedef enum _WSA_COMPATIBILITY_BEHAVIOR_ID {
48 WsaBehaviorAll = 0,
49 WsaBehaviorReceiveBuffering,
50 WsaBehaviorAutoTuning
51 } WSA_COMPATIBILITY_BEHAVIOR_ID, *PWSA_COMPATIBILITY_BEHAVIOR_ID;
52
53 typedef struct _WSA_COMPATIBILITY_MODE {
54 WSA_COMPATIBILITY_BEHAVIOR_ID BehaviorId;
55 ULONG TargetOsVersion;
56 } WSA_COMPATIBILITY_MODE, *PWSA_COMPATIBILITY_MODE;
57
58 #endif /* (_WIN32_WINNT>=0x0600) */
59
60 #ifdef MSWSOCKDEF_ASSERT_UNDEFINED
61 #undef ASSERT
62 #endif
63
64 #ifdef __cplusplus
65 }
66 #endif