diff options
author | Alex Elder <elder@inktank.com> | 2013-04-19 15:34:50 -0500 |
---|---|---|
committer | Sage Weil <sage@inktank.com> | 2013-05-01 21:19:16 -0700 |
commit | b587398a4ff6520753f9a58da294c80ee22443a5 (patch) | |
tree | 3b484127a6c612977b8656d4506ef62a7d277bd7 | |
parent | a9e8ba2cb3eb64cf6cfa509d096ef79bc1c827ae (diff) | |
download | op-kernel-dev-b587398a4ff6520753f9a58da294c80ee22443a5.zip op-kernel-dev-b587398a4ff6520753f9a58da294c80ee22443a5.tar.gz |
libceph: add signed type limits
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>
-rw-r--r-- | include/linux/ceph/decode.h | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/include/linux/ceph/decode.h b/include/linux/ceph/decode.h index 689f1df..9575a52 100644 --- a/include/linux/ceph/decode.h +++ b/include/linux/ceph/decode.h @@ -10,10 +10,20 @@ /* 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, |