{
gchar *uname = NULL;
+#ifdef HAVE_PWD_H
+
#ifdef HAVE_GETPWUID_R
struct passwd pwd;
size_t fbufsize;
g_free (fbuf);
#endif
+#endif /* HAVE_PWD_H */
+
return uname;
}
+#ifdef HAVE_GRP_H
+
static gboolean
IsMemberInList (uid_t user, struct group *g)
{
return result;
}
+#endif /* HAVE_GRP_H */
+
static gboolean
IsDefaultGroup (uid_t user, gid_t group)
{
+ gboolean result = FALSE;
+
+#ifdef HAVE_PWD_H
+
#ifdef HAVE_GETPWUID_R
struct passwd pwd;
size_t fbufsize;
gint32 retval;
#endif
struct passwd *p = NULL;
- gboolean result;
#ifdef HAVE_GETPWUID_R
#ifdef _SC_GETPW_R_SIZE_MAX
g_free (fbuf);
#endif
+#endif /* HAVE_PWD_H */
+
return result;
}
+#ifdef HAVE_GRP_H
+
static gboolean
IsMemberOf (gid_t user, struct group *g)
{
/* is the user in the group list */
return IsMemberInList (user, g);
}
+
+#endif /* HAVE_GRP_H */
+
#endif /* !HOST_WIN32 */
/* ICALLS */
gpointer
ves_icall_System_Security_Principal_WindowsIdentity_GetUserToken (MonoString *username)
{
+ gpointer token = (gpointer)-2;
+
+#ifdef HAVE_PWD_H
+
#ifdef HAVE_GETPWNAM_R
struct passwd pwd;
size_t fbufsize;
gchar *fbuf;
gint32 retval;
#endif
- gpointer token = (gpointer) -2;
struct passwd *p;
gchar *utf8_name;
gboolean result;
#endif
g_free (utf8_name);
+#endif /* HAVE_PWD_H */
+
return token;
}
#endif /* HOST_WIN32 */
{
gboolean result = FALSE;
+#ifdef HAVE_GRP_H
+
#ifdef HAVE_GETGRGID_R
struct group grp;
size_t fbufsize;
g_free (fbuf);
#endif
+#endif /* HAVE_GRP_H */
+
return result;
}
ves_icall_System_Security_Principal_WindowsPrincipal_IsMemberOfGroupName (gpointer user, MonoString *group)
{
gboolean result = FALSE;
+
+#ifdef HAVE_GRP_H
+
gchar *utf8_groupname;
utf8_groupname = mono_unicode_to_external (mono_string_chars (group));
g_free (utf8_groupname);
}
+#endif /* HAVE_GRP_H */
+
return result;
}
#endif /* !HOST_WIN32 */
case AddressFamily_InterNetwork:
return AF_INET;
case AddressFamily_AppleTalk:
+#ifdef AF_APPLETALK
return AF_APPLETALK;
+#else
+ return -1;
+#endif
case AddressFamily_InterNetworkV6:
return AF_INET6;
case AddressFamily_DecNet:
case AF_DECnet:
return AddressFamily_DecNet;
#endif
+#ifdef AF_APPLETALK
case AF_APPLETALK:
return AddressFamily_AppleTalk;
+#endif
case AF_INET6:
return AddressFamily_InterNetworkV6;
#ifdef AF_IRDA
return -1;
#endif
case SocketType_Seqpacket:
+#ifdef SOCK_SEQPACKET
return SOCK_SEQPACKET;
+#else
+ return -1;
+#endif
case SocketType_Unknown:
g_warning ("System.Net.Sockets.SocketType has unsupported value 0x%x", mono_type);
return -1;
/* Contains invalid flag values */
return -1;
+#ifdef MSG_OOB
if (sflags & SocketFlags_OutOfBand)
flags |= MSG_OOB;
+#endif
if (sflags & SocketFlags_Peek)
flags |= MSG_PEEK;
if (sflags & SocketFlags_DontRoute)
*/
*system_name = SO_LINGER;
break;
+#ifdef SO_DEBUG
case SocketOptionName_Debug:
*system_name = SO_DEBUG;
break;
+#endif
#ifdef SO_ACCEPTCONN
case SocketOptionName_AcceptConnection:
*system_name = SO_ACCEPTCONN;
case SocketOptionName_KeepAlive:
*system_name = SO_KEEPALIVE;
break;
+#ifdef SO_DONTROUTE
case SocketOptionName_DontRoute:
*system_name = SO_DONTROUTE;
break;
+#endif
case SocketOptionName_Broadcast:
*system_name = SO_BROADCAST;
break;
case SocketOptionName_Linger:
*system_name = SO_LINGER;
break;
+#ifdef SO_OOBINLINE
case SocketOptionName_OutOfBandInline:
*system_name = SO_OOBINLINE;
break;
+#endif
case SocketOptionName_SendBuffer:
*system_name = SO_SNDBUF;
break;
*system_level = mono_networking_get_ip_protocol ();
switch (mono_name) {
+#ifdef IP_OPTIONS
case SocketOptionName_IPOptions:
*system_name = IP_OPTIONS;
break;
+#endif
#ifdef IP_HDRINCL
case SocketOptionName_HeaderIncluded:
*system_name = IP_HDRINCL;