#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;
#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
#else
#error I need at least some 64-bit type
#endif
-#endif /* FS_32BIT */
+#ifdef HAVE_LINUX_NBD_H
+#include <linux/nbd.h>
+#else
+/* 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
-#ifdef FS_32BIT
-struct { unsigned char m[8]; } cliserv_magic = { { 0x00, 0x00, 0x42, 0x02, 0x81, 0x86, 0x12, 0x53 } };
-#else
-u64 cliserv_magic = 0x00420281861253LL;
+#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)
setvbuf(stderr, NULL, _IONBF, 0);
}
-#ifndef FS_32BIT
#ifdef WORDS_BIGENDIAN
u64 ntohll(u64 a)
{
}
#endif
#define htonll ntohll
-#endif /* FS_32BIT */