typedef char *__caddr_t;
/* Duplicates info from stdint.h but this is used in unistd.h. */
+#ifdef __CHERI_PURE_CAPABILITY__
+__STD_TYPE __intcap_t __intptr_t;
+#else
__STD_TYPE __SWORD_TYPE __intptr_t;
+#endif
/* Duplicate info from sys/socket.h. */
__STD_TYPE __U32_TYPE __socklen_t;
/* Types for `void *' pointers. */
#if __WORDSIZE == 64
# ifndef __intptr_t_defined
+# ifdef __CHERI_PURE_CAPABILITY__
+typedef __intcap_t intptr_t;
+# else
typedef long int intptr_t;
+# endif
# define __intptr_t_defined
# endif
+# ifdef __CHERI_PURE_CAPABILITY__
+typedef __uintcap_t uintptr_t;
+# else
typedef unsigned long int uintptr_t;
+# endif
+# if defined __CHERI__ && !defined __CHERI_PURE_CAPABILITY__
+typedef __uintcap_t uintcap_t;
+typedef __intcap_t intcap_t;
+# endif
#else
# ifndef __intptr_t_defined
typedef int intptr_t;