summaryrefslogtreecommitdiff
path: root/libs/libsodium/src/crypto_stream/chacha20/stream_chacha20.h
blob: d6b71c5e0d6441f1a7569f7e160c1b74f67eac51 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

#ifndef stream_chacha20_H
#define stream_chacha20_H

#include <stdint.h>

typedef struct crypto_stream_chacha20_implementation {
    int (*stream)(unsigned char *c, unsigned long long clen,
                  const unsigned char *n, const unsigned char *k);
    int (*stream_ietf)(unsigned char *c, unsigned long long clen,
                      const unsigned char *n, const unsigned char *k);
    int (*stream_xor_ic)(unsigned char *c, const unsigned char *m,
                         unsigned long long mlen,
                         const unsigned char *n, uint64_t ic,
                         const unsigned char *k);
    int (*stream_ietf_xor_ic)(unsigned char *c, const unsigned char *m,
                              unsigned long long mlen,
                              const unsigned char *n, uint32_t ic,
                              const unsigned char *k);
} crypto_stream_chacha20_implementation;

#endif