#ifndef __FRAXOR_H__
#define __FRAXOR_H__

/*
 * Notera att detta inte är så mycket ett test utav programmeringskunskaper
 * eller kryptokunskaper utan mer ett test utav systemkunskaper.
 * Vid ansökan, skicka med källkod och en beskrivning av vad du gjorde.
 */

/* Börja med att implementera dessa metoder */
size_t my_strlen(const char* s);
int    my_puts(const char *s);
void   my_exit(int status);
double my_log2(double p);

void   my_init_random(int seed);
unsigned char my_get_random_byte(void);

/* Strängen cipher av längden len är xor'ad med en nyckel som ger texten text.
 * Implementera kod som returnerar nyckel.
*/
int    find_xor_key_for(const char* cipher, int len, const char* text);

/*
 * Vi vill veta om någon försöker extrahera vårat hemliga matrecept.
 * I variabeln in finns det lite trafik vi kommit över. De använder
 * troligen start-nyckeln start_xor_key som de inkrementerar med
 * xor_key_increment för varje byte. Returnera offset för receptet
 * om det finns med.
 */
int    find_secret_offset(const char* in, int start_xor_key,
                          int xor_key_increment, const char* recept);

#endif
