#ifndef CHACHA20_H
#define CHACHA20_H

#ifdef CHACHA20_TEST
void QuarterRoll(register u_int32 *a,
                 register u_int32 *b,
                 register u_int32 *c,
                 register u_int32 *d);
extern __mem_y u_int32 chachaState[32];
extern u_int32 chachaWork[32];
void Chacha20Block();
#endif

void Chacha20SetKey(register u_int32 *key,
            register u_int32 counter,
            register u_int32 *nonce );
void Chacha20Encrypt(char * msg, u_int16 len);
#endif
