aboutsummaryrefslogtreecommitdiff
path: root/deps/libchdr/include/libchdr/coretypes.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/libchdr/include/libchdr/coretypes.h')
-rw-r--r--deps/libchdr/include/libchdr/coretypes.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/deps/libchdr/include/libchdr/coretypes.h b/deps/libchdr/include/libchdr/coretypes.h
new file mode 100644
index 0000000..30f892f
--- /dev/null
+++ b/deps/libchdr/include/libchdr/coretypes.h
@@ -0,0 +1,48 @@
+#ifndef __CORETYPES_H__
+#define __CORETYPES_H__
+
+#include <stdint.h>
+#include <stdio.h>
+
+#ifdef USE_LIBRETRO_VFS
+#include <streams/file_stream_transforms.h>
+#endif
+
+#define ARRAY_LENGTH(x) (sizeof(x)/sizeof(x[0]))
+
+typedef uint64_t UINT64;
+typedef uint32_t UINT32;
+typedef uint16_t UINT16;
+typedef uint8_t UINT8;
+
+typedef int64_t INT64;
+typedef int32_t INT32;
+typedef int16_t INT16;
+typedef int8_t INT8;
+
+#define core_file FILE
+#define core_fopen(file) fopen(file, "rb")
+#if defined(__WIN32__) || defined(_WIN32) || defined(WIN32) || defined(__WIN64__)
+ #define core_fseek _fseeki64
+ #define core_ftell _ftelli64
+#elif defined(_LARGEFILE_SOURCE) && defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64
+ #define core_fseek fseeko64
+ #define core_ftell ftello64
+#else
+ #define core_fseek fseeko
+ #define core_ftell ftello
+#endif
+#define core_fread(fc, buff, len) fread(buff, 1, len, fc)
+#define core_fclose fclose
+
+static UINT64 core_fsize(core_file *f)
+{
+ UINT64 rv;
+ UINT64 p = core_ftell(f);
+ core_fseek(f, 0, SEEK_END);
+ rv = core_ftell(f);
+ core_fseek(f, p, SEEK_SET);
+ return rv;
+}
+
+#endif