Index: /trunk/include/iprt/types.h
===================================================================
--- /trunk/include/iprt/types.h	(revision 58624)
+++ /trunk/include/iprt/types.h	(revision 58625)
@@ -978,4 +978,6 @@
 #elif HC_ARCH_BITS == 64
 typedef int64_t             RTHCINTPTR;
+#elif HC_ARCH_BITS == 16
+typedef int16_t             RTHCINTPTR;
 #else
 # error Unsupported HC_ARCH_BITS value.
@@ -988,12 +990,16 @@
 #if HC_ARCH_BITS == 32
 # define RTHCINTPTR_MAX     INT32_MAX
-#else
+#elif HC_ARCH_BITS == 64
 # define RTHCINTPTR_MAX     INT64_MAX
+#else
+# define RTHCINTPTR_MAX     INT16_MAX
 #endif
 /** Min RTHCINTPTR value. */
 #if HC_ARCH_BITS == 32
 # define RTHCINTPTR_MIN     INT32_MIN
-#else
+#elif HC_ARCH_BITS == 64
 # define RTHCINTPTR_MIN     INT64_MIN
+#else
+# define RTHCINTPTR_MIN     INT16_MIN
 #endif
 
@@ -1003,4 +1009,6 @@
 #elif R3_ARCH_BITS == 64
 typedef int64_t             RTR3INTPTR;
+#elif R3_ARCH_BITS == 16
+typedef int16_t             RTR3INTPTR;
 #else
 #  error Unsupported R3_ARCH_BITS value.
@@ -1013,12 +1021,16 @@
 #if R3_ARCH_BITS == 32
 # define RTR3INTPTR_MAX     INT32_MAX
-#else
+#elif R3_ARCH_BITS == 64
 # define RTR3INTPTR_MAX     INT64_MAX
+#else
+# define RTR3INTPTR_MAX     INT16_MAX
 #endif
 /** Min RTR3INTPTR value. */
 #if R3_ARCH_BITS == 32
 # define RTR3INTPTR_MIN     INT32_MIN
-#else
+#elif R3_ARCH_BITS == 64
 # define RTR3INTPTR_MIN     INT64_MIN
+#else
+# define RTR3INTPTR_MIN     INT16_MIN
 #endif
 
@@ -1028,4 +1040,6 @@
 #elif R0_ARCH_BITS == 64
 typedef int64_t             RTR0INTPTR;
+#elif R0_ARCH_BITS == 16
+typedef int16_t             RTR0INTPTR;
 #else
 # error Unsupported R0_ARCH_BITS value.
@@ -1038,12 +1052,16 @@
 #if R0_ARCH_BITS == 32
 # define RTR0INTPTR_MAX     INT32_MAX
-#else
+#elif R0_ARCH_BITS == 64
 # define RTR0INTPTR_MAX     INT64_MAX
+#else
+# define RTR0INTPTR_MAX     INT16_MAX
 #endif
 /** Min RTHCINTPTR value. */
 #if R0_ARCH_BITS == 32
 # define RTR0INTPTR_MIN     INT32_MIN
-#else
+#elif R0_ARCH_BITS == 64
 # define RTR0INTPTR_MIN     INT64_MIN
+#else
+# define RTR0INTPTR_MIN     INT16_MIN
 #endif
 
@@ -1054,4 +1072,6 @@
 #elif HC_ARCH_BITS == 64
 typedef uint64_t            RTHCUINTPTR;
+#elif HC_ARCH_BITS == 16
+typedef uint16_t            RTHCUINTPTR;
 #else
 # error Unsupported HC_ARCH_BITS value.
@@ -1064,6 +1084,8 @@
 #if HC_ARCH_BITS == 32
 # define RTHCUINTPTR_MAX    UINT32_MAX
-#else
+#elif HC_ARCH_BITS == 64
 # define RTHCUINTPTR_MAX    UINT64_MAX
+#else
+# define RTHCUINTPTR_MAX    UINT16_MAX
 #endif
 
@@ -1073,4 +1095,6 @@
 #elif R3_ARCH_BITS == 64
 typedef uint64_t            RTR3UINTPTR;
+#elif R3_ARCH_BITS == 16
+typedef uint16_t            RTR3UINTPTR;
 #else
 # error Unsupported R3_ARCH_BITS value.
@@ -1083,6 +1107,8 @@
 #if R3_ARCH_BITS == 32
 # define RTR3UINTPTR_MAX    UINT32_MAX
-#else
+#elif R3_ARCH_BITS == 64
 # define RTR3UINTPTR_MAX    UINT64_MAX
+#else
+# define RTR3UINTPTR_MAX    UINT16_MAX
 #endif
 
@@ -1092,4 +1118,6 @@
 #elif R0_ARCH_BITS == 64
 typedef uint64_t            RTR0UINTPTR;
+#elif R0_ARCH_BITS == 16
+typedef uint16_t            RTR0UINTPTR;
 #else
 # error Unsupported R0_ARCH_BITS value.
@@ -1100,8 +1128,10 @@
 typedef const RTR0UINTPTR  *PCRTR0UINTPTR;
 /** Max RTR0UINTTPR value. */
-#if HC_ARCH_BITS == 32
+#if R0_ARCH_BITS == 32
 # define RTR0UINTPTR_MAX    UINT32_MAX
-#else
+#elif R0_ARCH_BITS == 64
 # define RTR0UINTPTR_MAX    UINT64_MAX
+#else
+# define RTR0UINTPTR_MAX    UINT16_MAX
 #endif
 
@@ -1189,4 +1219,6 @@
 #elif HC_ARCH_BITS == 64
 typedef uint64_t            RTHCUINTREG;
+#elif HC_ARCH_BITS == 16
+typedef uint16_t            RTHCUINTREG;
 #else
 # error "Unsupported HC_ARCH_BITS!"
@@ -1202,4 +1234,6 @@
 #elif R3_ARCH_BITS == 64
 typedef uint64_t            RTR3UINTREG;
+#elif R3_ARCH_BITS == 16
+typedef uint16_t            RTR3UINTREG;
 #else
 # error "Unsupported R3_ARCH_BITS!"
@@ -1215,4 +1249,6 @@
 #elif R0_ARCH_BITS == 64
 typedef uint64_t            RTR0UINTREG;
+#elif R0_ARCH_BITS == 16
+typedef uint16_t            RTR0UINTREG;
 #else
 # error "Unsupported R3_ARCH_BITS!"
@@ -1508,4 +1544,6 @@
 #elif ARCH_BITS == 64
 typedef uint64_t                RTCCUINTREG;
+#elif ARCH_BITS == 16
+typedef uint16_t                RTCCUINTREG;
 #else
 # error "Unsupported ARCH_BITS!"
@@ -1521,4 +1559,6 @@
 #elif ARCH_BITS == 64
 typedef int64_t                 RTCCINTREG;
+#elif ARCH_BITS == 16
+typedef int16_t                 RTCCINTREG;
 #endif
 /** Pointer to a signed integer register in the current context. */
