#ifndef __PATTERNS_H__
#define __PATTERNS_H__
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <unistd.h>
#include <sys/mman.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <pthread.h>
#include <time.h>
#include <sys/time.h>
//#include <limits.h>

struct sort_structure{
	unsigned int highest;
	unsigned int sub_highest[256][256];
};

struct translation_structure{
#ifdef BIG_FILE
	unsigned long series;
#else
	unsigned int series;
#endif
        unsigned int times;
};

struct pat_length{
	unsigned int highest_times;
	unsigned int len;
	unsigned int search_num;
	struct translation_structure ***member;
};

struct buffer_structure {
	unsigned int times;
	char *string;
#ifdef BIG_FILE
        unsigned long series;
#else
        unsigned int series;
#endif
};

struct common_structure {
	unsigned int times;
	char *string;
	unsigned int sub;
};

void Patterns_PT(int verbose, int thread_count, double *results);

#endif