summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorOri Bernstein <ori@eigenstate.org>2019-09-06 18:01:52 -0700
committerOri Bernstein <ori@eigenstate.org>2019-09-06 18:01:52 -0700
commitff9ce8210aeaf968e08e16ab62c388b9cf555a06 (patch)
tree388ce09e744d891daa611883f80aaa223f9ff213 /sys
parentc09546cceafeaa04b6536e8b31278fd3a30593c2 (diff)
Include integer limits from generic stdint.h in system-specific stdint.h
Diffstat (limited to 'sys')
-rw-r--r--sys/include/ape/limits.h3
-rw-r--r--sys/include/ape/stdint.h18
2 files changed, 18 insertions, 3 deletions
diff --git a/sys/include/ape/limits.h b/sys/include/ape/limits.h
index 0b05c0df3..00ff45d17 100644
--- a/sys/include/ape/limits.h
+++ b/sys/include/ape/limits.h
@@ -75,12 +75,13 @@
/*#define SEM_NSEMS_MAX _POSIX_SEM_NSEMS_MAX */
/*#define SEM_VALUE_MAX _POSIX_SEM_VALUE_MAX */
/*#define SIGQUEUE_MAX _POSIX_SIGQUEUE_MAX */
+#define SSIZE_MIN LONG_MIN
#define SSIZE_MAX LONG_MAX
-#define SIZE_MAX ULONG_MAX
/*#define STREAM_MAX _POSIX_STREAM_MAX */
/*#define TIMER_MAX _POSIX_TIMER_MAX */
#define TZNAME_MAX _POSIX_TZNAME_MAX
+
#ifdef _LIMITS_EXTENSION
/* some things are just too big for pedagogy (X!) */
#include <sys/limits.h>
diff --git a/sys/include/ape/stdint.h b/sys/include/ape/stdint.h
index 2a5ed9520..4aa5381ae 100644
--- a/sys/include/ape/stdint.h
+++ b/sys/include/ape/stdint.h
@@ -1,8 +1,14 @@
-#ifndef _STDINT_H_
-#define _STDINT_H_ 1
+#ifndef _STDINT_GENERIC_H_
+#define _STDINT_GENERIC_H_ 1
+/*
+ * Default for 32 bit architectures, overriden by
+ * /$objtype/include/ape/stdint.h if needed.
+ */
+#ifndef _STDINT_ARCH_H_
typedef int _intptr_t;
typedef unsigned int _uintptr_t;
+#endif
typedef char int8_t;
typedef short int16_t;
@@ -12,6 +18,7 @@ typedef unsigned char uint8_t;
typedef unsigned short uint16_t;
typedef unsigned int uint32_t;
typedef unsigned long long uint64_t;
+
typedef _intptr_t intptr_t;
typedef _uintptr_t uintptr_t;
@@ -35,4 +42,11 @@ typedef _uintptr_t uintptr_t;
#define UINT32_MAX 0xffffffffL
#define UINT64_MAX 0xffffffffffffffffULL
+/*
+ * Right now, all of our size_t types are 32 bit, even on
+ * 64 bit architectures.
+ */
+#define SIZE_MIN UINT32_MIN
+#define SIZE_MAX UINT32_MAX
+
#endif