#ifndef CHALLENGES_H 
#define CHALLENGES_H 

#define _POSIX_C_SOURCE 200809L

#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>
#include "errors.h"
#include "math.h"

#define MAX_NORMALS 1000
#define MAGIC_VAL 0x12345678

typedef struct challenge_t {
    char * message;
    char * question;
    char * flag;
    void (*function) (void);
} challenge_t;

char genChallenge(FILE * stream, char ** output, challenge_t challenge);
void writeChallenge();
void filterChallenge();
void questionChallenge();
void quineChallenge();
void gdbChallenge();
void normalChallenge();

#endif