[add] first
This commit is contained in:
@@ -0,0 +1,251 @@
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#include "il2cpp-config.h"
|
||||
#include "il2cpp-object-internals.h"
|
||||
|
||||
struct Il2CppArray;
|
||||
struct Il2CppObject;
|
||||
struct Il2CppString;
|
||||
|
||||
namespace il2cpp
|
||||
{
|
||||
namespace os
|
||||
{
|
||||
struct WSABuf;
|
||||
}
|
||||
}
|
||||
|
||||
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 bool Duplicate_icall(intptr_t handle, int32_t targetProcessId, intptr_t* duplicateHandle, int32_t* error);
|
||||
static bool IsProtocolSupported_internal(int32_t networkInterface);
|
||||
static bool Poll_icall(intptr_t socket, SelectMode mode, int32_t timeout, int32_t* error);
|
||||
static bool SendFile_icall(intptr_t socket, Il2CppString* filename, Il2CppArray* pre_buffer, Il2CppArray* post_buffer, TransmitFileOptions flags, int32_t* error, bool blocking);
|
||||
static bool SupportsPortReuse(int32_t proto);
|
||||
static int32_t Available_icall(intptr_t socket, int32_t* error);
|
||||
static int32_t IOControl_icall(intptr_t socket, int32_t ioctl_code, Il2CppArray* input, Il2CppArray* output, int32_t* error);
|
||||
static int32_t Receive_array_icall(intptr_t socket, os::WSABuf* bufarray, int32_t count, SocketFlags flags, int32_t *error, bool blocking);
|
||||
static int32_t Receive_icall(intptr_t socket, uint8_t* buffer, int32_t count, SocketFlags flags, int32_t* error, bool blocking);
|
||||
static int32_t ReceiveFrom_icall(intptr_t socket, uint8_t* buffer, int32_t count, SocketFlags flags, Il2CppSocketAddress** socket_address, int32_t* error, bool blocking);
|
||||
static int32_t Send_array_icall(intptr_t socket, os::WSABuf* bufarray, int32_t count, SocketFlags flags, int32_t* error, bool blocking);
|
||||
static int32_t Send_icall(intptr_t socket, uint8_t* buffer, int32_t count, SocketFlags flags, int32_t* error, bool blocking);
|
||||
static int32_t SendTo_icall(intptr_t socket, uint8_t* buffer, int32_t count, SocketFlags flags, Il2CppSocketAddress* socket_address, int32_t* error, bool blocking);
|
||||
static intptr_t Accept_icall(intptr_t socket, int32_t* error, bool blocking);
|
||||
static intptr_t Socket_icall(AddressFamily family, SocketType type, ProtocolType proto, int32_t* error);
|
||||
static Il2CppSocketAddress* LocalEndPoint_icall(intptr_t socket, int32_t family, int32_t* error);
|
||||
static Il2CppSocketAddress* RemoteEndPoint_icall(intptr_t socket, int32_t family, int32_t* error);
|
||||
static void Bind_icall(intptr_t socket, Il2CppSocketAddress* socket_address, int32_t* error);
|
||||
static void Blocking_icall(intptr_t socket, bool block, int32_t* error);
|
||||
static void cancel_blocking_socket_operation(Il2CppObject* thread);
|
||||
static void Close_icall(intptr_t socket, int32_t* error);
|
||||
static void Connect_icall(intptr_t socket, Il2CppSocketAddress* sa, int32_t* error, bool blocking);
|
||||
static void Disconnect_icall(intptr_t socket, bool reuse, int32_t* error);
|
||||
static void GetSocketOption_arr_icall(intptr_t socket, SocketOptionLevel level, SocketOptionName name, Il2CppArray** byte_val, int32_t *error);
|
||||
static void GetSocketOption_obj_icall(intptr_t socket, SocketOptionLevel level, SocketOptionName name, Il2CppObject** obj_val, int32_t *error);
|
||||
static void Listen_icall(intptr_t socket, int32_t backlog, int32_t* error);
|
||||
static void Select_icall(Il2CppArray** sockets, int32_t microSeconds, int32_t* error);
|
||||
static void SetSocketOption_icall(intptr_t socket, SocketOptionLevel level, SocketOptionName name, Il2CppObject* obj_val, Il2CppArray* byte_val, int32_t int_val, int32_t* error);
|
||||
static void Shutdown_icall(intptr_t socket, SocketShutdown how, int32_t* error);
|
||||
};
|
||||
} /* namespace Sockets */
|
||||
} /* namespace Net */
|
||||
} /* namespace System */
|
||||
} /* namespace System */
|
||||
} /* namespace icalls */
|
||||
} /* namespace il2cpp */
|
||||
@@ -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_icall();
|
||||
};
|
||||
} /* namespace Sockets */
|
||||
} /* namespace Net */
|
||||
} /* namespace System */
|
||||
} /* namespace System */
|
||||
} /* namespace icalls */
|
||||
} /* namespace il2cpp */
|
||||
Reference in New Issue
Block a user