summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorPaul Sokolovsky <pfalcon@users.sourceforge.net>2014-11-17 00:16:14 +0200
committerPaul Sokolovsky <pfalcon@users.sourceforge.net>2014-11-17 00:16:14 +0200
commit91386eee2613cbaf736d746cfef28674cce82c01 (patch)
tree68970598d01ce50b7a549a48dc95fce8ad85f925
parentfa2edabc5c78408538633b14802379f7b8dcc9c5 (diff)
downloadmicropython-91386eee2613cbaf736d746cfef28674cce82c01.tar.gz
micropython-91386eee2613cbaf736d746cfef28674cce82c01.zip
ports: Define mp_off_t.
-rw-r--r--bare-arm/mpconfigport.h1
-rw-r--r--qemu-arm/mpconfigport.h1
-rw-r--r--teensy/mpconfigport.h1
-rw-r--r--unix-cpy/mpconfigport.h1
-rw-r--r--windows/mpconfigport.h7
5 files changed, 11 insertions, 0 deletions
diff --git a/bare-arm/mpconfigport.h b/bare-arm/mpconfigport.h
index 59f246e2b8..0015541f98 100644
--- a/bare-arm/mpconfigport.h
+++ b/bare-arm/mpconfigport.h
@@ -46,6 +46,7 @@ typedef int32_t mp_int_t; // must be pointer size
typedef uint32_t mp_uint_t; // must be pointer size
typedef void *machine_ptr_t; // must be of pointer size
typedef const void *machine_const_ptr_t; // must be of pointer size
+typedef long mp_off_t;
// extra built in names to add to the global namespace
extern const struct _mp_obj_fun_builtin_t mp_builtin_open_obj;
diff --git a/qemu-arm/mpconfigport.h b/qemu-arm/mpconfigport.h
index e3c0969a5d..45c7737413 100644
--- a/qemu-arm/mpconfigport.h
+++ b/qemu-arm/mpconfigport.h
@@ -29,6 +29,7 @@ typedef int32_t mp_int_t; // must be pointer size
typedef uint32_t mp_uint_t; // must be pointer size
typedef void *machine_ptr_t; // must be of pointer size
typedef const void *machine_const_ptr_t; // must be of pointer size
+typedef long mp_off_t;
// extra built in names to add to the global namespace
extern const struct _mp_obj_fun_builtin_t mp_builtin_open_obj;
diff --git a/teensy/mpconfigport.h b/teensy/mpconfigport.h
index 8e2ba4afd9..efe51fecda 100644
--- a/teensy/mpconfigport.h
+++ b/teensy/mpconfigport.h
@@ -55,6 +55,7 @@ typedef int32_t mp_int_t; // must be pointer size
typedef unsigned int mp_uint_t; // must be pointer size
typedef void *machine_ptr_t; // must be of pointer size
typedef const void *machine_const_ptr_t; // must be of pointer size
+typedef long mp_off_t;
// We have inlined IRQ functions for efficiency (they are generally
// 1 machine instruction).
diff --git a/unix-cpy/mpconfigport.h b/unix-cpy/mpconfigport.h
index 4d1deb8793..2c1d5d7b27 100644
--- a/unix-cpy/mpconfigport.h
+++ b/unix-cpy/mpconfigport.h
@@ -48,6 +48,7 @@ typedef unsigned int mp_uint_t; // must be pointer size
typedef void *machine_ptr_t; // must be of pointer size
typedef const void *machine_const_ptr_t; // must be of pointer size
typedef double machine_float_t;
+typedef long mp_off_t;
// We need to provide a declaration/definition of alloca()
#ifdef __FreeBSD__
diff --git a/windows/mpconfigport.h b/windows/mpconfigport.h
index ee207c1ef8..7b23f5cb1b 100644
--- a/windows/mpconfigport.h
+++ b/windows/mpconfigport.h
@@ -92,6 +92,13 @@ typedef unsigned int mp_uint_t; // must be pointer size
// define standard endianness macros.
#define MP_ENDIANNESS_LITTLE (1)
+// Cannot include <sys/types.h>, as it may lead to symbol name clashes
+#if _FILE_OFFSET_BITS == 64 && !defined(__LP64__)
+typedef long long mp_off_t;
+#else
+typedef long mp_off_t;
+#endif
+
typedef void *machine_ptr_t; // must be of pointer size
typedef const void *machine_const_ptr_t; // must be of pointer size