libceph: add signed type limits
authorAlex Elder <elder@inktank.com>
Fri, 19 Apr 2013 20:34:50 +0000 (15:34 -0500)
committerSage Weil <sage@inktank.com>
Thu, 2 May 2013 04:19:16 +0000 (21:19 -0700)
Flesh out the limits defined in <linux/ceph/decode.h> to include the
maximum and minimum values for signed type S8, S16, S32, and S64.

Signed-off-by: Alex Elder <elder@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
include/linux/ceph/decode.h

index 689f1df..9575a52 100644 (file)
 
 /* This seemed to be the easiest place to define these */
 
-#define        U8_MAX  ((u8)  (~0U))
-#define        U16_MAX ((u16) (~0U))
-#define        U32_MAX ((u32) (~0U))
-#define        U64_MAX ((u64) (~0ULL))
+#define        U8_MAX  ((u8)(~0U))
+#define        U16_MAX ((u16)(~0U))
+#define        U32_MAX ((u32)(~0U))
+#define        U64_MAX ((u64)(~0ULL))
+
+#define        S8_MAX  ((s8)(U8_MAX >> 1))
+#define        S16_MAX ((s16)(U16_MAX >> 1))
+#define        S32_MAX ((s32)(U32_MAX >> 1))
+#define        S64_MAX ((s64)(U64_MAX >> 1LL))
+
+#define        S8_MIN  ((s8)(-S8_MAX - 1))
+#define        S16_MIN ((s16)(-S16_MAX - 1))
+#define        S32_MIN ((s32)(-S32_MAX - 1))
+#define        S64_MIN ((s64)(-S64_MAX - 1LL))
 
 /*
  * in all cases,