mirror of https://github.com/UMSKT/xpmgr.git
98 lines
1.7 KiB
C
98 lines
1.7 KiB
C
/*++
|
|
|
|
Copyright (c) Microsoft Corporation. All rights reserved.
|
|
|
|
Module Name:
|
|
|
|
mswsock.h
|
|
|
|
Abstract:
|
|
|
|
This module contains the Microsoft-specific extensions to the Windows
|
|
Sockets API.
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
|
|
#ifndef _MSWSOCKDEF_
|
|
#define _MSWSOCKDEF_
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif
|
|
|
|
#if(_WIN32_WINNT >= 0x0600)
|
|
#ifdef _MSC_VER
|
|
#define MSWSOCKDEF_INLINE __inline
|
|
#else
|
|
#define MSWSOCKDEF_INLINE extern inline /* GNU style */
|
|
#endif
|
|
#endif //(_WIN32_WINNT>=0x0600)
|
|
|
|
#ifndef ASSERT
|
|
#define MSWSOCKDEF_ASSERT_UNDEFINED
|
|
#define ASSERT(exp) ((VOID) 0)
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#if(_WIN32_WINNT >= 0x0600)
|
|
|
|
#ifdef _WS2DEF_
|
|
|
|
extern CONST UCHAR sockaddr_size[AF_MAX];
|
|
|
|
MSWSOCKDEF_INLINE
|
|
UCHAR
|
|
SOCKADDR_SIZE(__in ADDRESS_FAMILY af)
|
|
{
|
|
return (UCHAR)((af < AF_MAX) ? sockaddr_size[af]
|
|
: sockaddr_size[AF_UNSPEC]);
|
|
}
|
|
|
|
MSWSOCKDEF_INLINE
|
|
SCOPE_LEVEL
|
|
ScopeLevel(
|
|
__in SCOPE_ID ScopeId
|
|
)
|
|
{
|
|
//
|
|
// We can't declare the Level field of type SCOPE_LEVEL directly,
|
|
// since it gets sign extended to be negative. We can, however,
|
|
// safely cast.
|
|
//
|
|
return (SCOPE_LEVEL)ScopeId.Level;
|
|
}
|
|
|
|
#endif // _WS2DEF_
|
|
|
|
#define SIO_SET_COMPATIBILITY_MODE _WSAIOW(IOC_VENDOR,300)
|
|
|
|
typedef enum _WSA_COMPATIBILITY_BEHAVIOR_ID {
|
|
WsaBehaviorAll = 0,
|
|
WsaBehaviorReceiveBuffering,
|
|
WsaBehaviorAutoTuning
|
|
} WSA_COMPATIBILITY_BEHAVIOR_ID, *PWSA_COMPATIBILITY_BEHAVIOR_ID;
|
|
|
|
typedef struct _WSA_COMPATIBILITY_MODE {
|
|
WSA_COMPATIBILITY_BEHAVIOR_ID BehaviorId;
|
|
ULONG TargetOsVersion;
|
|
} WSA_COMPATIBILITY_MODE, *PWSA_COMPATIBILITY_MODE;
|
|
|
|
#endif //(_WIN32_WINNT>=0x0600)
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#ifdef MSWSOCKDEF_ASSERT_UNDEFINED
|
|
#undef ASSERT
|
|
#endif
|
|
|
|
#endif /* _MSWSOCKDEF_ */
|
|
|