mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-01-11 00:29:11 +01:00
Merge pull request #680 from lioncash/fakepoll-removal
Remove fakepoll.h
This commit is contained in:
commit
3554a15180
@ -3,14 +3,13 @@
|
|||||||
// Refer to the license.txt file included.
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
/*
|
|
||||||
#ifdef HAVE_DXSDK_JUNE_2010
|
// Windows Vista is the lowest version we support
|
||||||
#define _WIN32_WINNT 0x501
|
// BUT We need to use the headers for Win8+ XAudio2, so Win8 version is used here.
|
||||||
#else
|
// The XAudio2 code will gracefully fallback to older versions if the new one
|
||||||
#pragma message("Resulting binary will be compatible with DirectX >= Windows 8. Install the June 2010 DirectX SDK if you want to build for older environments.")
|
// isn't available at runtime.
|
||||||
#define _WIN32_WINNT 0x602
|
#define _WIN32_WINNT 0x0602
|
||||||
#endif
|
|
||||||
*/
|
|
||||||
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
|
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
|
||||||
#define NOMINMAX // Don't include windows min/max definitions
|
#define NOMINMAX // Don't include windows min/max definitions
|
||||||
|
|
||||||
|
@ -4,23 +4,12 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
/*
|
// Windows Vista is the lowest version we support
|
||||||
#ifndef _WIN32_WINNT
|
#define _WIN32_WINNT 0x0600
|
||||||
#define _WIN32_WINNT 0x501
|
|
||||||
#endif
|
|
||||||
#ifndef _WIN32_IE
|
|
||||||
#define _WIN32_IE 0x0500 // Default value is 0x0400
|
|
||||||
#endif
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
|
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
|
||||||
#define NOMINMAX // Don't include windows min/max definitions
|
#define NOMINMAX // Don't include windows min/max definitions
|
||||||
|
|
||||||
/*
|
|
||||||
#define _CRT_SECURE_NO_DEPRECATE 1
|
|
||||||
#define _CRT_NONSTDC_NO_DEPRECATE 1
|
|
||||||
*/
|
|
||||||
#include <tchar.h>
|
#include <tchar.h>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <windows.h>
|
#include <Windows.h>
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<ItemGroup Label="ProjectConfigurations">
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
<ProjectConfiguration Include="Debug|x64">
|
<ProjectConfiguration Include="Debug|x64">
|
||||||
@ -362,7 +362,6 @@
|
|||||||
<ClInclude Include="HW\WiimoteReal\WiimoteReal.h" />
|
<ClInclude Include="HW\WiimoteReal\WiimoteReal.h" />
|
||||||
<ClInclude Include="HW\WiimoteReal\WiimoteRealBase.h" />
|
<ClInclude Include="HW\WiimoteReal\WiimoteRealBase.h" />
|
||||||
<ClInclude Include="HW\WII_IPC.h" />
|
<ClInclude Include="HW\WII_IPC.h" />
|
||||||
<ClInclude Include="IPC_HLE\fakepoll.h" />
|
|
||||||
<ClInclude Include="IPC_HLE\hci.h" />
|
<ClInclude Include="IPC_HLE\hci.h" />
|
||||||
<ClInclude Include="IPC_HLE\ICMP.h" />
|
<ClInclude Include="IPC_HLE\ICMP.h" />
|
||||||
<ClInclude Include="IPC_HLE\l2cap.h" />
|
<ClInclude Include="IPC_HLE\l2cap.h" />
|
||||||
@ -463,4 +462,4 @@
|
|||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
<ImportGroup Label="ExtensionTargets">
|
<ImportGroup Label="ExtensionTargets">
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
</Project>
|
</Project>
|
@ -1,4 +1,4 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Filter Include="ActionReplay">
|
<Filter Include="ActionReplay">
|
||||||
@ -1107,9 +1107,6 @@
|
|||||||
<ClInclude Include="IPC_HLE\WII_IPC_HLE_Device_usb_kbd.h">
|
<ClInclude Include="IPC_HLE\WII_IPC_HLE_Device_usb_kbd.h">
|
||||||
<Filter>IPC HLE %28IOS/Starlet%29\Keyboard</Filter>
|
<Filter>IPC HLE %28IOS/Starlet%29\Keyboard</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="IPC_HLE\fakepoll.h">
|
|
||||||
<Filter>IPC HLE %28IOS/Starlet%29\Net</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="IPC_HLE\ICMP.h">
|
<ClInclude Include="IPC_HLE\ICMP.h">
|
||||||
<Filter>IPC HLE %28IOS/Starlet%29\Net</Filter>
|
<Filter>IPC HLE %28IOS/Starlet%29\Net</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
@ -1214,4 +1211,4 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Text Include="CMakeLists.txt" />
|
<Text Include="CMakeLists.txt" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
@ -2,10 +2,6 @@
|
|||||||
// Licensed under GPLv2
|
// Licensed under GPLv2
|
||||||
// Refer to the license.txt file included.
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
// Used for pair up
|
|
||||||
#undef NTDDI_VERSION
|
|
||||||
#define NTDDI_VERSION NTDDI_WINXPSP2
|
|
||||||
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include <cstdio>
|
#include <cstdio>
|
||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
#include <winsock2.h>
|
#include <WinSock2.h>
|
||||||
#else
|
#else
|
||||||
#include <netinet/in.h>
|
#include <netinet/in.h>
|
||||||
#endif
|
#endif
|
||||||
|
@ -24,9 +24,7 @@
|
|||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
#include <ws2tcpip.h>
|
#include <ws2tcpip.h>
|
||||||
#include <iphlpapi.h>
|
#include <iphlpapi.h>
|
||||||
#include <iphlpapi.h>
|
|
||||||
|
|
||||||
#include "Core/IPC_HLE/fakepoll.h"
|
|
||||||
#define MALLOC(x) HeapAlloc(GetProcessHeap(), 0, (x))
|
#define MALLOC(x) HeapAlloc(GetProcessHeap(), 0, (x))
|
||||||
#define FREE(x) HeapFree(GetProcessHeap(), 0, (x))
|
#define FREE(x) HeapFree(GetProcessHeap(), 0, (x))
|
||||||
|
|
||||||
|
@ -7,9 +7,11 @@
|
|||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
#include <ws2tcpip.h>
|
#include <ws2tcpip.h>
|
||||||
#include <iphlpapi.h>
|
#include <iphlpapi.h>
|
||||||
#include <iphlpapi.h>
|
#include <WinSock2.h>
|
||||||
|
|
||||||
#include "fakepoll.h"
|
typedef pollfd pollfd_t;
|
||||||
|
|
||||||
|
#define poll WSAPoll
|
||||||
#define MALLOC(x) HeapAlloc(GetProcessHeap(), 0, (x))
|
#define MALLOC(x) HeapAlloc(GetProcessHeap(), 0, (x))
|
||||||
#define FREE(x) HeapFree(GetProcessHeap(), 0, (x))
|
#define FREE(x) HeapFree(GetProcessHeap(), 0, (x))
|
||||||
|
|
||||||
|
@ -1,165 +0,0 @@
|
|||||||
// fakepoll.h
|
|
||||||
// poll using select
|
|
||||||
//Matthew Parlane sourced this from http://www.sealiesoftware.com/
|
|
||||||
//Was listed as "Public domain." as of 31/07/2010
|
|
||||||
|
|
||||||
// Warning: a call to this poll() takes about 4K of stack space.
|
|
||||||
|
|
||||||
// Greg Parker gparker-web@sealiesoftware.com December 2000
|
|
||||||
// This code is in the public domain and may be copied or modified without
|
|
||||||
// permission.
|
|
||||||
|
|
||||||
// Updated May 2002:
|
|
||||||
// * fix crash when an fd is less than 0
|
|
||||||
// * set errno=EINVAL if an fd is greater or equal to FD_SETSIZE
|
|
||||||
// * don't set POLLIN or POLLOUT in revents if it wasn't requested
|
|
||||||
// in events (only happens when an fd is in the poll set twice)
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#if (_WIN32_WINNT < _WIN32_WINNT_VISTA)
|
|
||||||
|
|
||||||
#include <limits.h>
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
|
|
||||||
typedef struct pollfd {
|
|
||||||
int fd; /* file desc to poll */
|
|
||||||
int events; /* events of interest on fd */
|
|
||||||
int revents; /* events that occurred on fd */
|
|
||||||
} pollfd_t;
|
|
||||||
|
|
||||||
#define EINVAL 22
|
|
||||||
// poll flags
|
|
||||||
#define POLLIN 0x0001
|
|
||||||
#define POLLOUT 0x0008
|
|
||||||
#define POLLERR 0x0020
|
|
||||||
|
|
||||||
// synonyms
|
|
||||||
#define POLLNORM POLLIN
|
|
||||||
#define POLLPRI POLLIN
|
|
||||||
#define POLLRDNORM POLLIN
|
|
||||||
#define POLLRDBAND POLLIN
|
|
||||||
#define POLLWRNORM POLLOUT
|
|
||||||
#define POLLWRBAND POLLOUT
|
|
||||||
|
|
||||||
// ignored
|
|
||||||
#define POLLHUP 0x0040
|
|
||||||
#define POLLNVAL 0x0080
|
|
||||||
|
|
||||||
inline int poll(struct pollfd *pollSet, int pollCount, int pollTimeout)
|
|
||||||
{
|
|
||||||
struct timeval tv;
|
|
||||||
struct timeval *tvp;
|
|
||||||
fd_set readFDs, writeFDs, exceptFDs;
|
|
||||||
fd_set *readp, *writep, *exceptp;
|
|
||||||
struct pollfd *pollEnd, *p;
|
|
||||||
int selected;
|
|
||||||
int result;
|
|
||||||
int maxFD;
|
|
||||||
|
|
||||||
if (!pollSet) {
|
|
||||||
pollEnd = nullptr;
|
|
||||||
readp = nullptr;
|
|
||||||
writep = nullptr;
|
|
||||||
exceptp = nullptr;
|
|
||||||
maxFD = 0;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
pollEnd = pollSet + pollCount;
|
|
||||||
readp = &readFDs;
|
|
||||||
writep = &writeFDs;
|
|
||||||
exceptp = &exceptFDs;
|
|
||||||
|
|
||||||
FD_ZERO(readp);
|
|
||||||
FD_ZERO(writep);
|
|
||||||
FD_ZERO(exceptp);
|
|
||||||
|
|
||||||
// Find the biggest fd in the poll set
|
|
||||||
maxFD = 0;
|
|
||||||
for (p = pollSet; p < pollEnd; p++) {
|
|
||||||
if (p->fd > maxFD) maxFD = p->fd;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Transcribe flags from the poll set to the fd sets
|
|
||||||
for (p = pollSet; p < pollEnd; p++) {
|
|
||||||
if (p->fd < 0) {
|
|
||||||
// Negative fd checks nothing and always reports zero
|
|
||||||
} else {
|
|
||||||
if (p->events & POLLIN) FD_SET(p->fd, readp);
|
|
||||||
if (p->events & POLLOUT) FD_SET(p->fd, writep);
|
|
||||||
if (p->events != 0) FD_SET(p->fd, exceptp);
|
|
||||||
// POLLERR is never set coming in; poll() always reports errors
|
|
||||||
// But don't report if we're not listening to anything at all.
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// poll timeout is in milliseconds. Convert to struct timeval.
|
|
||||||
// poll timeout == -1 : wait forever : select timeout of nullptr
|
|
||||||
// poll timeout == 0 : return immediately : select timeout of zero
|
|
||||||
if (pollTimeout >= 0) {
|
|
||||||
tv.tv_sec = pollTimeout / 1000;
|
|
||||||
tv.tv_usec = (pollTimeout % 1000) * 1000;
|
|
||||||
tvp = &tv;
|
|
||||||
} else {
|
|
||||||
tvp = nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
selected = select(maxFD+1, readp, writep, exceptp, tvp);
|
|
||||||
|
|
||||||
|
|
||||||
if (selected < 0) {
|
|
||||||
// Error during select
|
|
||||||
result = -1;
|
|
||||||
}
|
|
||||||
else if (selected > 0) {
|
|
||||||
// Select found something
|
|
||||||
// Transcribe result from fd sets to poll set.
|
|
||||||
// Also count the number of selected fds. poll returns the
|
|
||||||
// number of ready fds; select returns the number of bits set.
|
|
||||||
int polled = 0;
|
|
||||||
for (p = pollSet; p < pollEnd; p++) {
|
|
||||||
p->revents = 0;
|
|
||||||
if (p->fd < 0) {
|
|
||||||
// Negative fd always reports zero
|
|
||||||
} else {
|
|
||||||
int isToRead = FD_ISSET(p->fd, readp);
|
|
||||||
if ((p->events & POLLIN) && isToRead) {
|
|
||||||
p->revents |= POLLIN;
|
|
||||||
}
|
|
||||||
|
|
||||||
int isToWrite = FD_ISSET(p->fd, writep);
|
|
||||||
if ((p->events & POLLOUT) && isToWrite) {
|
|
||||||
p->revents |= POLLOUT;
|
|
||||||
}
|
|
||||||
|
|
||||||
int isToError = FD_ISSET(p->fd, exceptp);
|
|
||||||
if ((p->events != 0) && isToError) {
|
|
||||||
p->revents |= POLLERR;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (p->revents) polled++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
result = polled;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
// selected == 0, select timed out before anything happened
|
|
||||||
// Clear all result bits and return zero.
|
|
||||||
for (p = pollSet; p < pollEnd; p++) {
|
|
||||||
p->revents = 0;
|
|
||||||
|
|
||||||
}
|
|
||||||
result = 0;
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
#else // (_WIN32_WINNT < _WIN32_WINNT_VISTA)
|
|
||||||
|
|
||||||
typedef pollfd pollfd_t;
|
|
||||||
#define poll WSAPoll
|
|
||||||
|
|
||||||
#endif
|
|
@ -4,10 +4,8 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#define _WIN32_WINNT 0x501
|
// Windows Vista is the lowest version we support
|
||||||
#ifndef _WIN32_IE
|
#define _WIN32_WINNT 0x0600
|
||||||
#define _WIN32_IE 0x0500 // Default value is 0x0400
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
|
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
|
||||||
#define NOMINMAX // Don't include windows min/max definitions
|
#define NOMINMAX // Don't include windows min/max definitions
|
||||||
|
@ -4,17 +4,12 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#ifndef _WIN32_WINNT // Allow use of features specific to Windows XP or later.
|
// Windows Vista is the lowest version we support
|
||||||
#define _WIN32_WINNT 0x0501 // Change this to the appropriate value to target other versions of Windows.
|
#define _WIN32_WINNT 0x0600
|
||||||
#endif
|
|
||||||
|
|
||||||
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
|
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
|
||||||
#define NOMINMAX // Don't include windows min/max definitions
|
#define NOMINMAX // Don't include windows min/max definitions
|
||||||
|
|
||||||
#ifndef _CRT_SECURE_NO_DEPRECATE
|
|
||||||
#define _CRT_SECURE_NO_DEPRECATE
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// TODO: reference additional headers your program requires here
|
// TODO: reference additional headers your program requires here
|
||||||
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
@ -6,11 +6,8 @@
|
|||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
|
|
||||||
// Change these values to use different versions
|
// Windows Vista is the lowest version we support
|
||||||
#define WINVER 0x0400
|
#define _WIN32_WINNT 0x0600
|
||||||
#define _WIN32_WINNT 0x0501
|
|
||||||
#define _WIN32_IE 0x0500
|
|
||||||
#define _RICHEDIT_VER 0x0100
|
|
||||||
|
|
||||||
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
|
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
|
||||||
#define NOMINMAX // Don't include windows min/max definitions
|
#define NOMINMAX // Don't include windows min/max definitions
|
||||||
|
@ -3,12 +3,13 @@
|
|||||||
// Refer to the license.txt file included.
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
/*
|
|
||||||
#define _WIN32_WINNT 0x501
|
// Windows Vista is the lowest version we support
|
||||||
#ifndef _WIN32_IE
|
// BUT We need to use the headers for Win8+ XInput, so Win8 version is used here.
|
||||||
#define _WIN32_IE 0x0500 // Default value is 0x0400
|
// The XInput code will gracefully fallback to older versions if the new one
|
||||||
#endif
|
// isn't available at runtime.
|
||||||
*/
|
#define _WIN32_WINNT 0x0602
|
||||||
|
|
||||||
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
|
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
|
||||||
#define NOMINMAX // Don't include windows min/max definitions
|
#define NOMINMAX // Don't include windows min/max definitions
|
||||||
|
|
||||||
|
@ -3,10 +3,9 @@
|
|||||||
// Refer to the license.txt file included.
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
#define _WIN32_WINNT 0x501
|
|
||||||
#ifndef _WIN32_IE
|
// Windows Vista is the lowest version we support
|
||||||
#define _WIN32_IE 0x0500 // Default value is 0x0400
|
#define _WIN32_WINNT 0x0600
|
||||||
#endif
|
|
||||||
|
|
||||||
#define NOMINMAX // Don't include windows min/max definitions
|
#define NOMINMAX // Don't include windows min/max definitions
|
||||||
|
|
||||||
|
@ -3,10 +3,9 @@
|
|||||||
// Refer to the license.txt file included.
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
#define _WIN32_WINNT 0x501
|
|
||||||
#ifndef _WIN32_IE
|
// Windows Vista is the lowest version we support
|
||||||
#define _WIN32_IE 0x0500 // Default value is 0x0400
|
#define _WIN32_WINNT 0x0600
|
||||||
#endif
|
|
||||||
|
|
||||||
#define NOMINMAX // Don't include windows min/max definitions
|
#define NOMINMAX // Don't include windows min/max definitions
|
||||||
|
|
||||||
|
@ -3,10 +3,9 @@
|
|||||||
// Refer to the license.txt file included.
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
#define _WIN32_WINNT 0x501
|
|
||||||
#ifndef _WIN32_IE
|
// Windows Vista is the lowest version we support
|
||||||
#define _WIN32_IE 0x0500 // Default value is 0x0400
|
#define _WIN32_WINNT 0x0600
|
||||||
#endif
|
|
||||||
|
|
||||||
#define NOMINMAX // Don't include windows min/max definitions
|
#define NOMINMAX // Don't include windows min/max definitions
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user