Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-08-06 09:38:11

0001 #ifndef crypto_core_keccak1600_H
0002 #define crypto_core_keccak1600_H
0003 
0004 #include <stddef.h>
0005 
0006 #include "export.h"
0007 
0008 #ifdef __cplusplus
0009 # ifdef __GNUC__
0010 #  pragma GCC diagnostic ignored "-Wlong-long"
0011 # endif
0012 extern "C" {
0013 #endif
0014 
0015 #ifdef __IBMC__
0016 # pragma pack(1)
0017 #elif defined(__SUNPRO_C) || defined(__SUNPRO_CC)
0018 # pragma pack(1)
0019 #else
0020 # pragma pack(push, 1)
0021 #endif
0022 
0023 typedef struct CRYPTO_ALIGN(16) crypto_core_keccak1600_state {
0024     unsigned char opaque[224];
0025 } crypto_core_keccak1600_state;
0026 
0027 #ifdef __IBMC__
0028 # pragma pack(pop)
0029 #elif defined(__SUNPRO_C) || defined(__SUNPRO_CC)
0030 # pragma pack()
0031 #else
0032 # pragma pack(pop)
0033 #endif
0034 
0035 SODIUM_EXPORT
0036 size_t crypto_core_keccak1600_statebytes(void);
0037 
0038 SODIUM_EXPORT
0039 void crypto_core_keccak1600_init(crypto_core_keccak1600_state *state)
0040             __attribute__ ((nonnull));
0041 
0042 SODIUM_EXPORT
0043 void crypto_core_keccak1600_xor_bytes(crypto_core_keccak1600_state *state,
0044                                       const unsigned char *bytes,
0045                                       size_t offset, size_t length)
0046             __attribute__ ((nonnull));
0047 
0048 SODIUM_EXPORT
0049 void crypto_core_keccak1600_extract_bytes(const crypto_core_keccak1600_state *state,
0050                                           unsigned char *bytes,
0051                                           size_t offset, size_t length)
0052             __attribute__ ((nonnull));
0053 
0054 SODIUM_EXPORT
0055 void crypto_core_keccak1600_permute_24(crypto_core_keccak1600_state *state)
0056             __attribute__ ((nonnull));
0057 
0058 SODIUM_EXPORT
0059 void crypto_core_keccak1600_permute_12(crypto_core_keccak1600_state *state)
0060             __attribute__ ((nonnull));
0061 
0062 #ifdef __cplusplus
0063 }
0064 #endif
0065 
0066 #endif