1 
2 #ifndef stream_chacha20_H
3 #define stream_chacha20_H
4 
5 #include <stdint.h>
6 
7 typedef struct crypto_stream_chacha20_implementation {
8     int (*stream)(unsigned char *c, unsigned long long clen,
9                   const unsigned char *n, const unsigned char *k);
10     int (*stream_ietf)(unsigned char *c, unsigned long long clen,
11                       const unsigned char *n, const unsigned char *k);
12     int (*stream_xor_ic)(unsigned char *c, const unsigned char *m,
13                          unsigned long long mlen,
14                          const unsigned char *n, uint64_t ic,
15                          const unsigned char *k);
16     int (*stream_ietf_xor_ic)(unsigned char *c, const unsigned char *m,
17                               unsigned long long mlen,
18                               const unsigned char *n, uint32_t ic,
19                               const unsigned char *k);
20 } crypto_stream_chacha20_implementation;
21 
22 #endif
23