r38: configure.in:
[nbd.git] / cliserv.h
index 4f7aa78..3ca02e7 100644 (file)
--- a/cliserv.h
+++ b/cliserv.h
@@ -13,6 +13,8 @@
 #include <errno.h>
 #include <string.h>
 #include <netdb.h>
+#include <netinet/tcp.h>
+#include <stdlib.h>
 
 #if SIZEOF_UNSIGNED_SHORT_INT==4
 typedef unsigned short u32;
@@ -24,7 +26,6 @@ typedef unsigned long u32;
 #error I need at least some 32-bit type
 #endif
 
-#ifndef        FS_32BIT
 #if SIZEOF_UNSIGNED_INT==8
 typedef unsigned int u64;
 #elif SIZEOF_UNSIGNED_LONG_INT==8
@@ -34,15 +35,22 @@ typedef unsigned long long u64;
 #else
 #error I need at least some 64-bit type
 #endif
-#endif /* FS_32BIT */
 
+#ifdef HAVE_LINUX_NBD_H
 #include <linux/nbd.h>
-
-#ifdef FS_32BIT
-struct { unsigned char m[8]; } cliserv_magic = { { 0x00, 0x00, 0x42, 0x02, 0x81, 0x86, 0x12, 0x53 } };
 #else
-u64 cliserv_magic = 0x00420281861253LL;
+/* get it from a kernel source somewhere, and dump it in this directory.
+ * Required for people trying to compile nbd-server on a non-linux
+ * system. */
+#include "nbd.h"
+#endif
+
+#if NBD_LFS==1
+#define _LARGEFILE_SOURCE
+#define _FILE_OFFSET_BITS=64
 #endif
+
+u64 cliserv_magic = 0x00420281861253LL;
 #define INIT_PASSWD "NBDMAGIC"
 
 #define INFO(a) do { } while(0)
@@ -105,7 +113,6 @@ void logging(void)
        setvbuf(stderr, NULL, _IONBF, 0);
 }
 
-#ifndef        FS_32BIT
 #ifdef WORDS_BIGENDIAN
 u64 ntohll(u64 a)
 {
@@ -122,4 +129,3 @@ u64 ntohll(u64 a)
 }
 #endif
 #define htonll ntohll
-#endif /* FS_32BIT */