/*
* High level api to nfs filesystems
*/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#ifdef AROS
+#include "aros_compat.h"
+#endif
+
#ifdef WIN32
#include "win32_compat.h"
-#define DllExport
-#define HAVE_POLL_H
-#else
-#include <strings.h>
-#include <unistd.h>
-#include <sys/ioctl.h>
-#include <netdb.h>
-#include <sys/socket.h>
+#endif
+
+#ifdef HAVE_NET_IF_H
#include <net/if.h>
+#endif
-#ifdef AROS
-#include "aros_compat.h"
-#else
#ifdef ANDROID
-#include <netinet/in.h>
-#include <sys/vfs.h>
#define statvfs statfs
-#else
+#endif
+
+#ifdef HAVE_SYS_VFS_H
+#include <sys/vfs.h>
+#endif
+
+#ifdef HAVE_SYS_STATVFS_H
#include <sys/statvfs.h>
-#endif /*ANDRIOD*/
-#endif /*AROS*/
-#endif /*WIN32*/
+#endif
-#ifdef HAVE_CONFIG_H
-#include "config.h"
+#ifdef HAVE_SYS_IOCTL_H
+#include <sys/ioctl.h>
+#endif
+
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
#endif
#ifdef HAVE_POLL_H
#include <poll.h>
#endif
+#ifdef HAVE_NETDB_H
+#include <netdb.h>
+#endif
+
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
+#ifdef HAVE_NETINET_IN_H
+#include <netinet/in.h>
+#endif
+
+#ifdef HAVE_STRINGS_H
+#include <strings.h>
+#endif
+
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
nfs_set_error(nfs, "stat call failed with \"%s\"", (char *)data);
return;
}
-
- memcpy(cb_data->return_data, data, sizeof(struct stat));
+#ifdef WIN32
+ memcpy(cb_data->return_data, data, sizeof(struct __stat64));
+#else
+ memcpy(cb_data->return_data, data, sizeof(struct stat));
+#endif
}
+#ifdef WIN32
+int nfs_stat(struct nfs_context *nfs, const char *path, struct __stat64 *st)
+#else
int nfs_stat(struct nfs_context *nfs, const char *path, struct stat *st)
+#endif
{
struct sync_cb_data cb_data;