diff options
author | Ellie Jeong <78930976+EllieJeong@users.noreply.github.com> | 2021-02-18 11:21:48 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-18 10:21:48 -0600 |
commit | 6c376fe02da73ee58f6693528861cf96bc4ca0d9 (patch) | |
tree | e7c23560ba52b798c5dd7b76c9d0615255b32122 | |
parent | bdcc66012c3c5f0561f87528c0121eef74883e29 (diff) | |
download | py-bcrypt-git-6c376fe02da73ee58f6693528861cf96bc4ca0d9.tar.gz |
Installing bcrypt on z/OS (#248)
* zos support
* add changelog for z/OS support
* add changelog for z/OS support
-rw-r--r-- | README.rst | 1 | ||||
-rw-r--r-- | src/_csrc/portable_endian.h | 16 | ||||
-rw-r--r-- | src/_csrc/pycabcrypt.h | 6 |
3 files changed, 23 insertions, 0 deletions
@@ -52,6 +52,7 @@ Changelog UNRELEASED ---------- +* Added support for compilation on z/OS 3.2.0 ----- diff --git a/src/_csrc/portable_endian.h b/src/_csrc/portable_endian.h index 17ceb1b..d900688 100644 --- a/src/_csrc/portable_endian.h +++ b/src/_csrc/portable_endian.h @@ -212,6 +212,22 @@ # define htobe16(x) be16toh(x) # endif +#elif defined(__MVS__) + +# define htobe16(x) (x) +# define htole16(x) (((((uint16_t)(x)) >> 8))|((((uint16_t)(x)) << 8))) +# define be16toh(x) (x) +# define le16toh(x) (((((uint16_t)(x)) >> 8))|((((uint16_t)(x)) << 8))) + +# define htobe32(x) (x) +# define htole32(x) (((uint32_t)htole16(((uint16_t)(((uint32_t)(x)) >> 16)))) | (((uint32_t)htole16(((uint16_t)(x)))) << 16)) +# define be32toh(x) (x) +# define le32toh(x) (((uint32_t)le16toh(((uint16_t)(((uint32_t)(x)) >> 16)))) | (((uint32_t)le16toh(((uint16_t)(x)))) << 16)) + +# define htobe64(x) (x) +# define htole64(x) (((uint64_t)htole32(((uint32_t)(((uint64_t)(x)) >> 32)))) | (((uint64_t)htole32(((uint32_t)(x)))) << 32)) +# define be64toh(x) (x) +# define le64toh(x) (((uint64_t)le32toh(((uint32_t)(((uint64_t)(x)) >> 32)))) | (((uint64_t)le32toh(((uint32_t)(x)))) << 32)) #else diff --git a/src/_csrc/pycabcrypt.h b/src/_csrc/pycabcrypt.h index b905459..509d4fe 100644 --- a/src/_csrc/pycabcrypt.h +++ b/src/_csrc/pycabcrypt.h @@ -22,6 +22,12 @@ typedef uint8_t u_int8_t; typedef uint16_t u_int16_t; typedef uint32_t u_int32_t; typedef uint64_t u_int64_t; +#elif defined(__MVS__) +#include <stdint.h> +typedef uint8_t u_int8_t; +typedef uint16_t u_int16_t; +typedef uint32_t u_int32_t; +typedef uint64_t u_int64_t; #else #include <stdint.h> #endif |