summaryrefslogtreecommitdiffstats
path: root/linux_mm.h
diff options
context:
space:
mode:
Diffstat (limited to 'linux_mm.h')
-rw-r--r--linux_mm.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/linux_mm.h b/linux_mm.h
new file mode 100644
index 0000000..d3b3954
--- /dev/null
+++ b/linux_mm.h
@@ -0,0 +1,36 @@
+#ifndef DECOMPR_MM_H
+#define DECOMPR_MM_H
+
+#define large_malloc(a) malloc(a)
+#define large_free(a) free(a)
+
+#define INIT
+#define STATIC
+
+#define _FILE_OFFSET_BITS 64
+
+#include <limits.h>
+#include <stdbool.h>
+#include <stdint.h>
+#include <stdlib.h>
+#include <string.h>
+
+/*
+ * min()/max() macros that also do strict type-checking.. See the
+ * "unnecessary" pointer comparison.
+ */
+#define min(x, y) ({ \
+ __typeof__(x) _min1 = (x); \
+ __typeof__(y) _min2 = (y); \
+ (void) (&_min1 == &_min2); \
+ _min1 < _min2 ? _min1 : _min2; })
+
+#define max(x, y) ({ \
+ __typeof__(x) _max1 = (x); \
+ __typeof__(y) _max2 = (y); \
+ (void) (&_max1 == &_max2); \
+ _max1 > _max2 ? _max1 : _max2; })
+
+#define min_t(type, x, y) min((type) x, (type) y)
+
+#endif