excrypt.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. #ifndef EXCRYPT_H_
  2. #define EXCRYPT_H_
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. #include <stdint.h>
  7. #if(__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
  8. #define SWAP16(i) i
  9. #define SWAP32(i) i
  10. #define SWAP64(i) i
  11. #else
  12. #define SWAP16(i) ((((i) & 0xFF) << 8 | ((i) >> 8) & 0xFF) & 0xFFFF)
  13. #define SWAP32(i) ((((i) & 0xff) << 24) | (((i) & 0xff00) << 8) | (((i) & 0xff0000) >> 8) | (((i) >> 24) & 0xff))
  14. #define SWAP64(i) ((SWAP32((i) & 0xFFFFFFFF) << 32) | (SWAP32(((i) >> 32) & 0xFFFFFFFF)))
  15. #endif
  16. #define U8V(data) ((uint8_t)(data) & 0xFF)
  17. #define ROTL8(data, bits) (U8V((data) << (bits)) | ((data) >> (8 - (bits))))
  18. #define U16V(data) ((uint16_t)(data) & 0xFFFF)
  19. #define ROTL16(data, bits) (U16V((data) << (bits)) | ((data) >> (16 - (bits))))
  20. #define U32V(data) ((uint32_t)(data) & 0xFFFFFFFF)
  21. #define ROTL32(data, bits) (U32V((data) << (bits)) | ((data) >> (32 - (bits))))
  22. #define ROTL64(data, bits) (((data) << (bits)) | ((data) >> (64 - (bits))))
  23. typedef int BOOL;
  24. #include "excrypt_des.h"
  25. #include "excrypt_sha.h"
  26. #include "excrypt_parve.h"
  27. #ifdef __cplusplus
  28. }
  29. #endif
  30. #endif // EXCRYPT_H_