-#define _PDCLIB_INT8_LITERAL c
-#define _PDCLIB_INT16_LITERAL s
-#define _PDCLIB_INT32_LITERAL l
-#define _PDCLIB_INT64_LITERAL ll
-#define _PDCLIB_UINT8_LITERAL uc
-#define _PDCLIB_UINT16_LITERAL us
-#define _PDCLIB_UINT32_LITERAL ul
-#define _PDCLIB_UINT64_LITERAL ull
-
-/* -------------------------------------------------------------------------- */
-/* <stdint.h> intptr and intmax typedefs and limits */
-/* -------------------------------------------------------------------------- */
+typedef _PDCLIB_intmax _PDCLIB_intmax_t;
+typedef unsigned _PDCLIB_intmax _PDCLIB_uintmax_t;
+#define _PDCLIB_INTMAX_MIN concat( concat( _PDCLIB_, _PDCLIB_INTMAX ), _MIN )
+#define _PDCLIB_INTMAX_MAX concat( concat( _PDCLIB_, _PDCLIB_INTMAX ), _MAX )
+#define _PDCLIB_UINTMAX_MAX concat( concat( _PDCLIB_U, _PDCLIB_INTMAX ), _MAX )
+#define _PDCLIB_INTMAX_C( value ) concat( value, _PDCLIB_INTMAX_LITERAL )
+#define _PDCLIB_UINTMAX_C( value ) concat( value, concat( u, _PDCLIB_INTMAX_LITERAL ) )