UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
BSDSocketTypesPrivate.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreTypes.h"
7
8#if PLATFORM_HAS_BSD_SOCKETS
9
10#if PLATFORM_HAS_BSD_SOCKET_FEATURE_WINSOCKETS
12
13#include <winsock2.h>
14#include <ws2tcpip.h>
15
16typedef int32 SOCKLEN;
17
19#else // PLATFORM_HAS_BSD_SOCKET_FEATURE_WINSOCKETS
20#if HAS_EVENTLOOP_PLATFORM_BSD_SOCKET_HEADER
21#include COMPILED_PLATFORM_HEADER(BSDSocketTypesPrivate.h)
22#else // HAS_EVENTLOOP_PLATFORM_BSD_SOCKET_HEADER
23#include <unistd.h>
24#include <sys/socket.h>
25#if PLATFORM_HAS_BSD_SOCKET_FEATURE_IOCTL
26#include <fcntl.h>
27#include <sys/types.h>
28#include <sys/ioctl.h>
29#endif // PLATFORM_HAS_BSD_SOCKET_FEATURE_IOCTL
30#if PLATFORM_HAS_BSD_SOCKET_FEATURE_POLL
31#include <poll.h>
32#endif // PLATFORM_HAS_BSD_SOCKET_FEATURE_POLL
33#include <netinet/in.h>
34#include <arpa/inet.h>
35#if PLATFORM_HAS_BSD_SOCKET_FEATURE_GETHOSTNAME
36#include <netdb.h>
37#endif // PLATFORM_HAS_BSD_SOCKET_FEATURE_GETHOSTNAME
38#if PLATFORM_HAS_BSD_SOCKET_FEATURE_NODELAY
39#include <netinet/tcp.h>
40#endif // PLATFORM_HAS_BSD_SOCKET_FEATURE_NODELAY
41
42#define ioctlsocket ioctl
43#endif // HAS_EVENTLOOP_PLATFORM_BSD_SOCKET_HEADER
44
45#define SOCKET_ERROR -1
46#define INVALID_SOCKET -1
47
48typedef socklen_t SOCKLEN;
49typedef int32 SOCKET;
51typedef struct timeval TIMEVAL;
52
53inline int32 closesocket(SOCKET Socket)
54{
55 shutdown(Socket, SHUT_RDWR); // gracefully shutdown if connected
56 return close(Socket);
57}
58
59#endif // PLATFORM_HAS_BSD_SOCKET_FEATURE_WINSOCKETS
60#endif // PLATFORM_HAS_BSD_SOCKETS
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
struct timeval TIMEVAL
Definition SocketSubsystemBSDPrivate.h:49
sockaddr_in SOCKADDR_IN
Definition SocketSubsystemBSDPrivate.h:48
int32 SOCKET
Definition SocketSubsystemBSDPrivate.h:47
int32 closesocket(SOCKET Socket)
Definition SocketSubsystemBSDPrivate.h:51
socklen_t SOCKLEN
Definition SocketSubsystemBSDPrivate.h:46