WIN32 fixes
authorRonnie Sahlberg <ronniesahlberg@gmail.com>
Tue, 28 May 2013 23:15:16 +0000 (16:15 -0700)
committerRonnie Sahlberg <ronniesahlberg@gmail.com>
Tue, 28 May 2013 23:15:16 +0000 (16:15 -0700)
13 files changed:
examples/nfs-cp.c
examples/nfs-ls.c
examples/nfsclient-sync.c
include/libnfs-private.h
include/nfsc/libnfs-zdr.h
lib/init.c
lib/libnfs-sync.c
lib/libnfs-zdr.c
lib/libnfs.c
lib/pdu.c
nfs/libnfs-raw-nfs.h
win32/win32_compat.h
win32build.bat

index eeea40423790d2b5b2ace872e76545f583db45b7..3d25189ca57b263718e60bd4c9af2557f17dfef7 100644 (file)
@@ -29,6 +29,8 @@
 
 #ifdef WIN32
 #include "win32_compat.h"
+#pragma comment(lib, "ws2_32.lib")
+WSADATA wsaData;
 #else
 #include <sys/stat.h>
 #include <string.h>
index c4b9fa938f68aec8476f3433229f2b96f321415f..e0131c8b745d719daaa34f7ca8e62103eca9463c 100644 (file)
@@ -30,7 +30,9 @@
 #include "win32_compat.h"
 #pragma comment(lib, "ws2_32.lib")
 WSADATA wsaData;
+#define PRId64 "ll"
 #else
+#include <inttypes.h>
 #include <string.h>
 #include <sys/stat.h>
 #ifndef AROS
@@ -45,7 +47,6 @@ WSADATA wsaData;
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
-#include <inttypes.h>
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
@@ -167,7 +168,7 @@ int main(int argc, char *argv[])
                        continue;
                }
 
-               snprintf(path, 1024, "%s/%s", "/", nfsdirent->name);
+               sprintf(path, "%s/%s", "/", nfsdirent->name);
                ret = nfs_stat(nfs, path, &st);
                if (ret != 0) {
                        fprintf(stderr, "Failed to stat(%s) %s\n", path, nfs_get_error(nfs));
@@ -175,7 +176,9 @@ int main(int argc, char *argv[])
                }
 
                switch (st.st_mode & S_IFMT) {
+#ifndef WIN32
                case S_IFLNK:
+#endif
                case S_IFREG:
                        printf("-");
                        break;
index 72aa312fe2b6625e034894327bcffbe019fdbb74..9ca58b467c8461f97c9043d1fcc120d2edd0416c 100644 (file)
@@ -32,7 +32,9 @@
 #include "win32_compat.h"
 #pragma comment(lib, "ws2_32.lib")
 WSADATA wsaData;
+#define PRId64 "ll"
 #else
+#include <inttypes.h>
 #include <string.h>
 #include <sys/stat.h>
 #ifndef AROS
@@ -47,7 +49,6 @@ WSADATA wsaData;
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
-#include <inttypes.h>
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
@@ -172,7 +173,7 @@ int main(int argc, char *argv[])
                        continue;
                }
 
-               snprintf(path, 1024, "%s/%s", "/", nfsdirent->name);
+               sprintf(path, "%s/%s", "/", nfsdirent->name);
                ret = nfs_stat(nfs, path, &st);
                if (ret != 0) {
                        fprintf(stderr, "Failed to stat(%s) %s\n", path, nfs_get_error(nfs));
@@ -180,7 +181,9 @@ int main(int argc, char *argv[])
                }
 
                switch (st.st_mode & S_IFMT) {
+#ifndef WIN32
                case S_IFLNK:
+#endif
                case S_IFREG:
                        printf("-");
                        break;
index f995a7ef94a5466e1024b157563763fcc1f6e4ca..79ac411339668ffcb4e79d3edd00c95ed2b4f54c 100644 (file)
 #include "config.h"  /* HAVE_SOCKADDR_STORAGE ? */
 #endif
 
+#ifndef WIN32
 #include <sys/socket.h>  /* struct sockaddr_storage */
+#endif
 
 #include "libnfs-zdr.h"
 
-#ifndef HAVE_SOCKADDR_STORAGE
+
+#if !defined(HAVE_SOCKADDR_STORAGE) && !defined(WIN32)
 /*
  * RFC 2553: protocol-independent placeholder for socket addresses
  */
index aae56be0ceabfc45641d3499ad03a5c3bc42f62a..5d9fe7c2cbdb387cf48e8e61de33d51927cd53cd 100644 (file)
 #ifndef _LIBNFS_ZDR_H_
 #define _LIBNFS_ZDR_H_
 
+#ifdef WIN32
+#ifndef CADDR_T_DEFINED
+#define CADDR_T_DEFINED
+typedef char *caddr_t;
+#endif
+#endif
+
 #include <stdio.h>
 #include <assert.h>
 #include <stdint.h>
@@ -41,6 +48,7 @@
 /* we dont need these */
 typedef void CLIENT;
 struct svc_req {
+       int _dummy_;
 };
 typedef void SVCXPRT;
 
index ecac1e7e2fd168b3831aea109a32d65ad093cb20..09ab61c7ef50f9c7a64bc9df035bc05c9dc82cbd 100644 (file)
@@ -61,11 +61,7 @@ struct rpc_context *rpc_init_context(void)
                return NULL;
        }
 
-#if defined(WIN32)
-       rpc->auth = authunix_create("LibNFS", 65535, 65535, 0, NULL);
-#else
        rpc->auth = authunix_create_default();
-#endif
        if (rpc->auth == NULL) {
                free(rpc->encodebuf);
                free(rpc);
index 4478a498bfc1804bbdaba7b0406d6069b5c1d57b..5ca7c66dad1004615e5f5cfd4cb9e5d62b2d23ef 100644 (file)
@@ -32,6 +32,7 @@
 #include <netdb.h>
 #include <sys/socket.h>
 #include <net/if.h>
+#include <netinet/in.h>
 #endif /*WIN32*/
 
 #ifdef ANDROID
@@ -65,7 +66,6 @@
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
-#include <netinet/in.h>
 #include <errno.h>
 
 #ifdef HAVE_SYS_SOCKIO_H
index 29bb18daa280639c719da46b47f5a07288962308..e904df9bf356fc28584de07808bc35cc17b15d7f 100644 (file)
@@ -504,7 +504,11 @@ struct AUTH *libnfs_authunix_create(char *host, uint32_t uid, uint32_t gid, uint
 
 struct AUTH *libnfs_authunix_create_default(void)
 {
+#ifdef WIN32
+       return libnfs_authunix_create("libnfs", 65535, 65535, 0, NULL);
+#else
        return libnfs_authunix_create("libnfs", getuid(), getgid(), 0, NULL);
+#endif
 }
 
 void libnfs_auth_destroy(struct AUTH *auth)
index d2f60dac7cbc68d716f23212a8487f90ea07ab17..97663ac658ff2fe4d2285b7833c2c5bb8c79482b 100644 (file)
@@ -30,6 +30,7 @@
 #else
 #include <strings.h>
 #include <utime.h>
+#include <netinet/in.h>
 #endif /*WIN32*/
 
 #ifdef ANDROID
@@ -59,7 +60,6 @@
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
-#include <netinet/in.h>
 #include "libnfs-zdr.h"
 #include "libnfs.h"
 #include "libnfs-raw.h"
index 5dff51780d6b2edfe21ec5c03265c8515c810e07..3d8fecaaaefc738467f34253db8fb2dbfb47f5bb 100644 (file)
--- a/lib/pdu.c
+++ b/lib/pdu.c
 #include "win32_compat.h"
 #else
 #include <strings.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
 #endif/*WIN32*/
 
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
 #include <assert.h>
 #include <errno.h>
 #include "slist.h"
index 2d0449781d42f5cf095e338ff8667b654c9c1068..dc47c05ef76f8b16178c18d42b38bc76af61ffa4 100644 (file)
@@ -21,6 +21,10 @@ extern "C" {
 typedef long long int quad_t;
 typedef long long unsigned u_quad_t;
 #endif
+#if defined(WIN32)
+typedef long long int quad_t;
+typedef long long unsigned u_quad_t;
+#endif
 
 typedef char cookieverf3[NFS3_COOKIEVERFSIZE];
 
index abdf1dbe7611684b0570c7a0e53cfacce7b851d3..71f10bd735b6e33363cad804f7b8e779cb846c09 100644 (file)
@@ -105,6 +105,5 @@ int     win32_poll(struct pollfd *fds, unsigned int nfsd, int timeout);
 int     win32_gettimeofday(struct timeval *tv, struct timezone *tz);
 
 #define DllExport
-#define HAVE_POLL_H
 
 #endif//win32_COMPAT_H_
index 86641e336665477d12cef5d9f9b8ac15f3bb07f1..35a3c3011eb1c080bbe2f49069baf069c5768d4f 100755 (executable)
@@ -1,69 +1,90 @@
-rem build script for win32\r
-rem set the \r
-rem\r
-\r
-\r
-\r
-rem NFS\r
-rem\r
-cl /I. /Iinclude -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd nfs\libnfs-raw-nfs.c -Fonfs\libnfs-raw-nfs.obj\r
-cl /I. /Iinclude -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd nfs\nfs.c -Fonfs\nfs.obj\r
-cl /I. /Iinclude -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd nfs\nfsacl.c -Fonfs\nfsacl.obj\r
-\r
-\r
-\r
-rem\r
-rem RQUOTA\r
-rem\r
-cl /I. /Iinclude -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd rquota\libnfs-raw-rquota.c -Forquota\libnfs-raw-rquota.obj\r
-cl /I. /Iinclude -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd rquota\rquota.c -Forquota\rquota.obj\r
-\r
-\r
-\r
-rem\r
-rem PORTMAP\r
-rem\r
-cl /I. /Iinclude -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd portmap\libnfs-raw-portmap.c -Foportmap\libnfs-raw-portmap.obj\r
-cl /I. /Iinclude -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd portmap\portmap.c -Foportmap\portmap.obj\r
-\r
-\r
-rem\r
-rem MOUNT\r
-rem\r
-cl /I. /Iinclude -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd mount\libnfs-raw-mount.c -Fomount\libnfs-raw-mount.obj\r
-cl /I. /Iinclude -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd mount\mount.c -Fomount\mount.obj\r
-\r
-\r
-\r
-rem\r
-rem generate core part of library\r
-rem\r
-cl /I. /Iinclude -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd lib\init.c -Folib\init.obj\r
-cl /I. /Iinclude -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd -D_U_="" lib\pdu.c -Folib\pdu.obj\r
-cl /I. /Iinclude -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd -D_U_="" lib\socket.c -Folib\socket.obj\r
-cl /I. /Iinclude /Imount /Infs -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd -D_U_="" lib\libnfs.c -Folib\libnfs.obj\r
-cl /I. /Iinclude /Imount /Infs -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd -D_U_="" lib\libnfs-sync.c -Folib\libnfs-sync.obj\r
-\r
-\r
-\r
-rem\r
-rem create a linklibrary/dll\r
-rem\r
-lib /out:lib\libnfs.lib /def:lib\libnfs-win32.def nfs\nfs.obj nfs\nfsacl.obj nfs\libnfs-raw-nfs.obj rquota\rquota.obj rquota\libnfs-raw-rquota.obj mount\mount.obj mount\libnfs-raw-mount.obj portmap\portmap.obj portmap\libnfs-raw-portmap.obj lib\init.obj lib\pdu.obj lib\socket.obj lib\libnfs.obj lib\libnfs-sync.obj\r
-\r
-link /DLL /out:lib\libnfs.dll /DEBUG /DEBUGTYPE:cv lib\libnfs.exp nfs\nfs.obj nfs\nfsacl.obj nfs\libnfs-raw-nfs.obj rquota\rquota.obj rquota\libnfs-raw-rquota.obj mount\mount.obj mount\libnfs-raw-mount.obj portmap\portmap.obj portmap\libnfs-raw-portmap.obj lib\init.obj lib\pdu.obj lib\socket.obj lib\libnfs.obj lib\libnfs-sync.obj ws2_32.lib\r
-\r
-\r
-\r
-rem\r
-rem build a test application\r
-rem\r
-cl /I. /Iinclude /Imount /Infs -Zi -Od -DWIN32 -D_WIN32_WINNT=0x0600 -MDd -D_U_="" examples\nfsclient-sync.c lib\libnfs.lib WS2_32.lib kernel32.lib mswsock.lib advapi32.lib wsock32.lib advapi32.lib\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
+rem build script for win32
+rem set the 
+rem
+
+
+
+rem NFS
+rem
+cl /I. /Iwin32 /Iinclude/nfsc /Iinclude -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd nfs\libnfs-raw-nfs.c -Fonfs\libnfs-raw-nfs.obj
+cl /I. /Iwin32 /Iinclude/nfsc /Iinclude -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd nfs\nfs.c -Fonfs\nfs.obj
+cl /I. /Iwin32 /Iinclude/nfsc /Iinclude -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd nfs\nfsacl.c -Fonfs\nfsacl.obj
+
+
+
+rem
+rem RQUOTA
+rem
+cl /I. /Iwin32 /Iinclude/nfsc /Iinclude -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd rquota\libnfs-raw-rquota.c -Forquota\libnfs-raw-rquota.obj
+cl /I. /Iwin32 /Iinclude/nfsc /Iinclude -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd rquota\rquota.c -Forquota\rquota.obj
+
+
+
+rem
+rem PORTMAP
+rem
+cl /I. /Iwin32 /Iinclude/nfsc /Iinclude -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd portmap\libnfs-raw-portmap.c -Foportmap\libnfs-raw-portmap.obj
+cl /I. /Iwin32 /Iinclude/nfsc /Iinclude -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd portmap\portmap.c -Foportmap\portmap.obj
+
+
+rem
+rem MOUNT
+rem
+cl /I. /Iwin32 /Iinclude/nfsc /Iinclude -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd mount\libnfs-raw-mount.c -Fomount\libnfs-raw-mount.obj
+cl /I. /Iwin32 /Iinclude/nfsc /Iinclude -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd mount\mount.c -Fomount\mount.obj
+
+
+
+rem
+rem generate core part of library
+rem
+cl /I. /Iwin32 /Iinclude/nfsc /Iinclude -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd lib\init.c -Folib\init.obj
+cl /I. /Iwin32 /Iinclude/nfsc /Iinclude -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd -D_U_="" lib\pdu.c -Folib\pdu.obj
+cl /I. /Iwin32 /Iinclude/nfsc /Iinclude -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd -D_U_="" lib\socket.c -Folib\socket.obj
+cl /I. /Iwin32 /Iinclude/nfsc /Iinclude /Imount /Infs -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd -D_U_="" lib\libnfs.c -Folib\libnfs.obj
+cl /I. /Iwin32 /Iinclude/nfsc /Iinclude /Imount /Infs -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd -D_U_="" lib\libnfs-sync.c -Folib\libnfs-sync.obj
+cl /I. /Iwin32 /Iinclude/nfsc /Iinclude /Imount /Infs -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd -D_U_="" lib\libnfs-zdr.c -Folib\libnfs-zdr.obj
+cl /I. /Iwin32 /Iinclude/nfsc /Iinclude /Imount /Infs -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd -D_U_="" win32\win32_compat.c -Fowin32\win32_compat.obj
+
+
+
+rem
+rem create a linklibrary/dll
+rem
+lib /out:lib\libnfs.lib /def:lib\libnfs-win32.def nfs\nfs.obj nfs\nfsacl.obj nfs\libnfs-raw-nfs.obj rquota\rquota.obj rquota\libnfs-raw-rquota.obj mount\mount.obj mount\libnfs-raw-mount.obj portmap\portmap.obj portmap\libnfs-raw-portmap.obj lib\init.obj lib\pdu.obj lib\socket.obj lib\libnfs.obj lib\libnfs-sync.obj lib\libnfs-zdr.obj win32\win32_compat.obj
+
+link /DLL /out:lib\libnfs.dll /DEBUG /DEBUGTYPE:cv lib\libnfs.exp nfs\nfs.obj nfs\nfsacl.obj nfs\libnfs-raw-nfs.obj rquota\rquota.obj rquota\libnfs-raw-rquota.obj mount\mount.obj mount\libnfs-raw-mount.obj portmap\portmap.obj portmap\libnfs-raw-portmap.obj lib\init.obj lib\pdu.obj lib\socket.obj lib\libnfs.obj lib\libnfs-sync.obj lib\libnfs-zdr.obj win32\win32_compat.obj ws2_32.lib
+
+
+
+rem
+rem build a test application
+rem
+cl /I. /Iwin32 /Iinclude/nfsc /Iinclude /Imount /Infs -Zi -Od -DWIN32 -D_WIN32_WINNT=0x0600 -MDd -D_U_="" examples\nfs-ls.c lib\libnfs.lib WS2_32.lib kernel32.lib mswsock.lib advapi32.lib wsock32.lib advapi32.lib
+cl /I. /Iwin32 /Iinclude/nfsc /Iinclude /Imount /Infs -Zi -Od -DWIN32 -D_WIN32_WINNT=0x0600 -MDd -D_U_="" examples\nfs-cp.c lib\libnfs.lib WS2_32.lib kernel32.lib mswsock.lib advapi32.lib wsock32.lib advapi32.lib
+
+
+
+
+
+
+
+
+.lib mswsock.lib advapi32.lib wsock32.lib advapi32.lib
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+