SocketType_Raw=3,
SocketType_Rdm=4,
SocketType_Seqpacket=5,
- SocketType_Unknown=-1,
+ SocketType_Unknown=-1
} MonoSocketType;
/* This is a copy of System.Net.Sockets.AddressFamily */
AddressFamily_Cluster=24,
AddressFamily_Ieee12844=25,
AddressFamily_Irda=26,
- AddressFamily_NetworkDesigners=28,
+ AddressFamily_NetworkDesigners=28
} MonoAddressFamily;
/* This is a copy of System.Net.Sockets.ProtocolType */
ProtocolType_Ipx=1000,
ProtocolType_Spx=1256,
ProtocolType_SpxII=1257,
- ProtocolType_Unknown=-1,
+ ProtocolType_Unknown=-1
} MonoProtocolType;
/* This is a copy of System.Net.Sockets.SocketOptionLevel */
SocketOptionLevel_IP=0,
SocketOptionLevel_IPv6=41,
SocketOptionLevel_Tcp=6,
- SocketOptionLevel_Udp=17,
+ SocketOptionLevel_Udp=17
} MonoSocketOptionLevel;
/* This is a copy of System.Net.Sockets.SocketOptionName */
SocketOptionName_BsdUrgent=2,
SocketOptionName_Expedited=2,
SocketOptionName_NoChecksum=1,
- SocketOptionName_ChecksumCoverage=20,
+ SocketOptionName_ChecksumCoverage=20
} MonoSocketOptionName;
+typedef struct _MonoSocketAsyncResult {
+ MonoObject obj;
+ MonoObject *socket;
+ HANDLE handle;
+ MonoObject *state;
+ MonoDelegate *callback;
+ MonoWaitHandle *wait_handle;
+ MonoException *delayed_exc;
+ MonoObject *ep;
+ MonoArray *buffer;
+ gint offset;
+ gint size;
+ gint socket_flags;
+ MonoObject *acc_socket;
+ gint total;
+ MonoBoolean completed_synch;
+ MonoBoolean completed;
+ MonoDelegate *real_callback;
+ gint error;
+} MonoSocketAsyncResult;
+
extern gpointer ves_icall_System_Net_Sockets_Socket_Socket_internal(MonoObject *this, gint32 family, gint32 type, gint32 proto, gint32 *error);
extern void ves_icall_System_Net_Sockets_Socket_Close_internal(SOCKET sock, gint32 *error);
extern gint32 ves_icall_System_Net_Sockets_SocketException_WSAGetLastError_internal(void);
extern MonoBoolean ves_icall_System_Net_Dns_GetHostByName_internal(MonoString *host, MonoString **h_name, MonoArray **h_aliases, MonoArray **h_addr_list);
extern MonoBoolean ves_icall_System_Net_Dns_GetHostByAddr_internal(MonoString *addr, MonoString **h_name, MonoArray **h_aliases, MonoArray **h_addr_list);
extern MonoBoolean ves_icall_System_Net_Dns_GetHostName_internal(MonoString **h_name);
+extern MonoBoolean ves_icall_System_Net_Sockets_Socket_Poll_internal (SOCKET sock, gint mode, gint timeout, gint32 *error);
+
+extern void ves_icall_System_Net_Sockets_Socket_AsyncReceive (MonoSocketAsyncResult *ares, gint *error);
+extern void ves_icall_System_Net_Sockets_Socket_AsyncSend (MonoSocketAsyncResult *ares, gint *error);
extern void mono_network_init(void);
extern void mono_network_cleanup(void);