2004-12-03 Zoltan Varga <vargaz@freemail.hu>
[mono.git] / mono / metadata / socket-io.h
index e36479a3d686fe925b8454fc0db9c953bae3180c..5c2ee72181aba0cd18958c915d250ca7c07b77c0 100644 (file)
@@ -13,7 +13,7 @@
 #include <config.h>
 #include <glib.h>
 
-#include <mono/metadata/object.h>
+#include <mono/metadata/object-internals.h>
 #include <mono/io-layer/io-layer.h>
 
 /* This is a copy of System.Net.Sockets.SocketType */
@@ -130,7 +130,12 @@ typedef enum {
        SocketOptionName_BsdUrgent=2,
        SocketOptionName_Expedited=2,
        SocketOptionName_NoChecksum=1,
-       SocketOptionName_ChecksumCoverage=20
+       SocketOptionName_ChecksumCoverage=20,
+
+       /* This is Mono-specific, keep it in sync with
+        * Mono.Posix/PeerCred.cs
+        */
+       SocketOptionName_PeerCred=10001
 } MonoSocketOptionName;
 
 typedef struct _MonoSocketAsyncResult {
@@ -154,6 +159,14 @@ typedef struct _MonoSocketAsyncResult {
        gint error;
 } MonoSocketAsyncResult;
 
+typedef struct
+{
+       MonoObject obj;
+       gint pid;
+       gint uid;
+       gint gid;
+} MonoPeerCredData;
+
 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);