Initial commit.
This commit is contained in:
+257
@@ -0,0 +1,257 @@
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#include "il2cpp-config.h"
|
||||
#include "il2cpp-object-internals.h"
|
||||
|
||||
struct Il2CppArray;
|
||||
struct Il2CppObject;
|
||||
struct Il2CppString;
|
||||
|
||||
namespace il2cpp
|
||||
{
|
||||
namespace icalls
|
||||
{
|
||||
namespace System
|
||||
{
|
||||
namespace System
|
||||
{
|
||||
namespace Net
|
||||
{
|
||||
namespace Sockets
|
||||
{
|
||||
enum AddressFamily
|
||||
{
|
||||
kAddressFamilyUnknown = -1,
|
||||
kAddressFamilyUnspecified = 0,
|
||||
kAddressFamilyUnix = 1,
|
||||
kAddressFamilyInterNetwork = 2,
|
||||
kAddressFamilyImpLink = 3,
|
||||
kAddressFamilyPup = 4,
|
||||
kAddressFamilyChaos = 5,
|
||||
kAddressFamilyNS = 6,
|
||||
kAddressFamilyIpx = 6,
|
||||
kAddressFamilyIso = 7,
|
||||
kAddressFamilyOsi = 7,
|
||||
kAddressFamilyEcma = 8,
|
||||
kAddressFamilyDataKit = 9,
|
||||
kAddressFamilyCcitt = 10,
|
||||
kAddressFamilySna = 11,
|
||||
kAddressFamilyDecNet = 12,
|
||||
kAddressFamilyDataLink = 13,
|
||||
kAddressFamilyLat = 14,
|
||||
kAddressFamilyHyperChannel = 15,
|
||||
kAddressFamilyAppleTalk = 16,
|
||||
kAddressFamilyNetBios = 17,
|
||||
kAddressFamilyVoiceView = 18,
|
||||
kAddressFamilyFireFox = 19,
|
||||
kAddressFamilyBanyan = 21,
|
||||
kAddressFamilyAtm = 22,
|
||||
kAddressFamilyInterNetworkV6 = 23,
|
||||
kAddressFamilyCluster = 24,
|
||||
kAddressFamilyIeee12844 = 25,
|
||||
kAddressFamilyIrda = 26,
|
||||
kAddressFamilyNetworkDesigners = 28,
|
||||
kAddressFamilyMax = 29,
|
||||
};
|
||||
|
||||
enum SocketType
|
||||
{
|
||||
kSocketTypeUnknown = -1,
|
||||
kSocketTypeStream = 1,
|
||||
kSocketTypeDgram = 2,
|
||||
kSocketTypeRaw = 3,
|
||||
kSocketTypeRdm = 4,
|
||||
kSocketTypeSeqpacket = 5,
|
||||
};
|
||||
|
||||
enum ProtocolType
|
||||
{
|
||||
kProtocolTypeUnknown = -1,
|
||||
kProtocolTypeIP = 0,
|
||||
kProtocolTypeIcmp = 1,
|
||||
kProtocolTypeIgmp = 2,
|
||||
kProtocolTypeGgp = 3,
|
||||
kProtocolTypeTcp = 6,
|
||||
kProtocolTypePup = 12,
|
||||
kProtocolTypeUdp = 17,
|
||||
kProtocolTypeIdp = 22,
|
||||
kProtocolTypeND = 77,
|
||||
kProtocolTypeRaw = 255,
|
||||
kProtocolTypeUnspecified = 0,
|
||||
kProtocolTypeIpx = 1000,
|
||||
kProtocolTypeSpx = 1256,
|
||||
kProtocolTypeSpxII = 1257,
|
||||
|
||||
// #if NET_1_1
|
||||
kProtocolTypeIPv6 = 41,
|
||||
// #endif
|
||||
|
||||
// #if NET_2_0
|
||||
kProtocolTypeIPv4 = 4,
|
||||
kProtocolTypeIPv6RoutingHeader = 43,
|
||||
kProtocolTypeIPv6FragmentHeader = 44,
|
||||
kProtocolTypeIPSecEncapsulatingSecurityPayload = 50,
|
||||
kProtocolTypeIPSecAuthenticationHeader = 51,
|
||||
kProtocolTypeIcmpV6 = 58,
|
||||
kProtocolTypeIPv6NoNextHeader = 59,
|
||||
kProtocolTypeIPv6DestinationOptions = 60,
|
||||
kProtocolTypeIPv6HopByHopOptions = 0,
|
||||
// #endif
|
||||
};
|
||||
|
||||
enum SocketOptionLevel
|
||||
{
|
||||
kSocketOptionLevelSocket = 65535,
|
||||
kSocketOptionLevelIP = 0,
|
||||
kSocketOptionLevelTcp = 6,
|
||||
kSocketOptionLevelUdp = 17,
|
||||
|
||||
//#if NET_1_1
|
||||
kSocketOptionLevelIPv6 = 41,
|
||||
//#endif
|
||||
};
|
||||
|
||||
enum SocketOptionName
|
||||
{
|
||||
kSocketOptionNameDebug = 1,
|
||||
kSocketOptionNameAcceptConnection = 2,
|
||||
kSocketOptionNameReuseAddress = 4,
|
||||
kSocketOptionNameKeepAlive = 8,
|
||||
kSocketOptionNameDontRoute = 16,
|
||||
kSocketOptionNameBroadcast = 32,
|
||||
kSocketOptionNameUseLoopback = 64,
|
||||
kSocketOptionNameLinger = 128,
|
||||
kSocketOptionNameOutOfBandInline = 256,
|
||||
kSocketOptionNameDontLinger = -129,
|
||||
kSocketOptionNameExclusiveAddressUse = -5,
|
||||
kSocketOptionNameSendBuffer = 4097,
|
||||
kSocketOptionNameReceiveBuffer = 4098,
|
||||
kSocketOptionNameSendLowWater = 4099,
|
||||
kSocketOptionNameReceiveLowWater = 4100,
|
||||
kSocketOptionNameSendTimeout = 4101,
|
||||
kSocketOptionNameReceiveTimeout = 4102,
|
||||
kSocketOptionNameError = 4103,
|
||||
kSocketOptionNameType = 4104,
|
||||
kSocketOptionNameMaxConnections = 2147483647,
|
||||
kSocketOptionNameIPOptions = 1,
|
||||
kSocketOptionNameHeaderIncluded = 2,
|
||||
kSocketOptionNameTypeOfService = 3,
|
||||
kSocketOptionNameIpTimeToLive = 4,
|
||||
kSocketOptionNameMulticastInterface = 9,
|
||||
kSocketOptionNameMulticastTimeToLive = 10,
|
||||
kSocketOptionNameMulticastLoopback = 11,
|
||||
kSocketOptionNameAddMembership = 12,
|
||||
kSocketOptionNameDropMembership = 13,
|
||||
kSocketOptionNameDontFragment = 14,
|
||||
kSocketOptionNameAddSourceMembership = 15,
|
||||
kSocketOptionNameDropSourceMembership = 16,
|
||||
kSocketOptionNameBlockSource = 17,
|
||||
kSocketOptionNameUnblockSource = 18,
|
||||
kSocketOptionNamePacketInformation = 19,
|
||||
kSocketOptionNameNoDelay = 1,
|
||||
kSocketOptionNameBsdUrgent = 2,
|
||||
kSocketOptionNameExpedited = 2,
|
||||
kSocketOptionNameNoChecksum = 1,
|
||||
kSocketOptionNameChecksumCoverage = 20,
|
||||
|
||||
// #if NET_2_0
|
||||
kSocketOptionNameHopLimit = 21,
|
||||
kSocketOptionNameUpdateAcceptContext = 28683,
|
||||
kSocketOptionNameUpdateConnectContext = 28688,
|
||||
// #endif
|
||||
};
|
||||
|
||||
enum SelectMode
|
||||
{
|
||||
kSelectModeSelectRead = 0,
|
||||
kSelectModeSelectWrite = 1,
|
||||
kSelectModeSelectError = 2,
|
||||
};
|
||||
|
||||
enum SocketFlags
|
||||
{
|
||||
kSocketFlagsNone = 0x00000000,
|
||||
kSocketFlagsOutOfBand = 0x00000001,
|
||||
kSocketFlagsPeek = 0x00000002,
|
||||
kSocketFlagsDontRoute = 0x00000004,
|
||||
kSocketFlagsMaxIOVectorLength = 0x00000010,
|
||||
// #if NET_2_0
|
||||
kSocketFlagsTruncated = 0x00000100,
|
||||
kSocketFlagsControlDataTruncated = 0x00000200,
|
||||
kSocketFlagsBroadcast = 0x00000400,
|
||||
kSocketFlagsMulticast = 0x00000800,
|
||||
// #endif
|
||||
kSocketFlagsPartial = 0x00008000,
|
||||
};
|
||||
|
||||
enum TransmitFileOptions
|
||||
{
|
||||
kTransmitFileOptionsUseDefaultWorkerThread = 0x00000000,
|
||||
kTransmitFileOptionsDisconnect = 0x00000001,
|
||||
kTransmitFileOptionsReuseSocket = 0x00000002,
|
||||
kTransmitFileOptionsWriteBehind = 0x00000004,
|
||||
kTransmitFileOptionsUseSystemThread = 0x00000010,
|
||||
kTransmitFileOptionsUseKernelApc = 0x00000020,
|
||||
};
|
||||
|
||||
enum SocketShutdown
|
||||
{
|
||||
kSocketShutdownReceive = 0,
|
||||
kSocketShutdownSend = 1,
|
||||
kSocketShutdownBoth = 2,
|
||||
};
|
||||
|
||||
class LIBIL2CPP_CODEGEN_API Socket
|
||||
{
|
||||
public:
|
||||
static intptr_t Accept(intptr_t, int32_t*, bool);
|
||||
static int32_t Available(intptr_t, int32_t*);
|
||||
static void Bind(intptr_t, Il2CppSocketAddress*, int32_t*);
|
||||
static void Blocking(intptr_t, bool, int32_t*);
|
||||
static void Close(intptr_t, int32_t*);
|
||||
static void Connect(intptr_t, Il2CppSocketAddress*, int32_t*);
|
||||
static void Disconnect(intptr_t, bool, int32_t*);
|
||||
static void GetSocketOptionArray(intptr_t, SocketOptionLevel, SocketOptionName, Il2CppArray**, int32_t*);
|
||||
static void GetSocketOptionObj(intptr_t, SocketOptionLevel, SocketOptionName, Il2CppObject**, int32_t*);
|
||||
static void Listen(intptr_t, int32_t, int32_t*);
|
||||
static Il2CppSocketAddress* LocalEndPoint(intptr_t, int32_t*);
|
||||
static bool Poll(intptr_t, SelectMode, int32_t, int32_t*);
|
||||
static int32_t ReceiveArray(intptr_t, Il2CppArray*, SocketFlags, int32_t*);
|
||||
static int32_t Receive(intptr_t, Il2CppArray*, int32_t, int32_t, SocketFlags, int32_t*);
|
||||
static int32_t RecvFrom(intptr_t, Il2CppArray*, int32_t, int32_t, SocketFlags, Il2CppSocketAddress**, int32_t*);
|
||||
static Il2CppSocketAddress* RemoteEndPoint(intptr_t, int32_t*);
|
||||
static void Select(Il2CppArray**, int32_t, int32_t*);
|
||||
static bool SendFile(intptr_t, Il2CppString*, Il2CppArray*, Il2CppArray*, TransmitFileOptions);
|
||||
static int32_t SendTo(intptr_t, Il2CppArray*, int32_t, int32_t, SocketFlags, Il2CppSocketAddress*, int32_t*);
|
||||
static int32_t SendArray(intptr_t, Il2CppArray*, SocketFlags, int32_t*);
|
||||
static int32_t Send(intptr_t, Il2CppArray*, int32_t, int32_t, SocketFlags, int32_t*);
|
||||
static void SetSocketOption(intptr_t, SocketOptionLevel, SocketOptionName, Il2CppObject*, Il2CppArray*, int32_t, int32_t*);
|
||||
static void Shutdown(intptr_t, SocketShutdown, int32_t*);
|
||||
static intptr_t Socket_internal(Il2CppObject * self, AddressFamily, SocketType, ProtocolType, int32_t*);
|
||||
static int32_t WSAIoctl(intptr_t, int32_t, Il2CppArray*, Il2CppArray*, int32_t*);
|
||||
#if NET_4_0
|
||||
static bool SendFile_internal(intptr_t sock, Il2CppString* filename, Il2CppArray* pre_buffer, Il2CppArray* post_buffer, int32_t flags, int32_t* error, bool blocking);
|
||||
static bool SupportsPortReuse(ProtocolType proto);
|
||||
static int32_t IOControl_internal(intptr_t sock, int32_t ioctl_code, Il2CppArray* input, Il2CppArray* output, int32_t* error);
|
||||
static int32_t ReceiveFrom_internal(intptr_t sock, uint8_t* buffer, int32_t count, SocketFlags flags, Il2CppSocketAddress** sockaddr, int32_t* error, bool blocking);
|
||||
static int32_t SendTo_internal(intptr_t sock, uint8_t* buffer, int32_t count, SocketFlags flags, Il2CppSocketAddress* sa, int32_t* error, bool blocking);
|
||||
static Il2CppSocketAddress* LocalEndPoint_internal(intptr_t socket, int32_t family, int32_t* error);
|
||||
static Il2CppSocketAddress* RemoteEndPoint_internal(intptr_t socket, int32_t family, int32_t* error);
|
||||
static void cancel_blocking_socket_operation(Il2CppObject* thread);
|
||||
static void Connect_internal(intptr_t sock, Il2CppSocketAddress* sa, int32_t* error, bool blocking);
|
||||
static bool Duplicate_internal(intptr_t handle, int32_t targetProcessId, intptr_t *duplicate_handle, int32_t *werror);
|
||||
|
||||
static int32_t ReceiveArray40(intptr_t, void*, int32_t, SocketFlags, int32_t*, bool);
|
||||
static int32_t Receive40(intptr_t, uint8_t*, int32_t, SocketFlags, int32_t*, bool);
|
||||
static int32_t SendArray40(intptr_t, void*, int32_t, SocketFlags, int32_t*, bool);
|
||||
static int32_t Send40(intptr_t, uint8_t*, int32_t, SocketFlags, int32_t*, bool);
|
||||
static bool IsProtocolSupported_internal(int32_t networkInterface);
|
||||
#endif
|
||||
};
|
||||
} /* namespace Sockets */
|
||||
} /* namespace Net */
|
||||
} /* namespace System */
|
||||
} /* namespace System */
|
||||
} /* namespace icalls */
|
||||
} /* namespace il2cpp */
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#include "il2cpp-config.h"
|
||||
|
||||
struct Il2CppArray;
|
||||
struct Il2CppString;
|
||||
|
||||
namespace il2cpp
|
||||
{
|
||||
namespace icalls
|
||||
{
|
||||
namespace System
|
||||
{
|
||||
namespace System
|
||||
{
|
||||
namespace Net
|
||||
{
|
||||
namespace Sockets
|
||||
{
|
||||
class LIBIL2CPP_CODEGEN_API SocketException
|
||||
{
|
||||
public:
|
||||
static int32_t WSAGetLastError();
|
||||
};
|
||||
} /* namespace Sockets */
|
||||
} /* namespace Net */
|
||||
} /* namespace System */
|
||||
} /* namespace System */
|
||||
} /* namespace icalls */
|
||||
} /* namespace il2cpp */
|
||||
Reference in New Issue
Block a user