#ifndef _decl_h
#define _decl_h

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

#define MaxWordSize 15
#define MaxPhraseSize 180
#define RandomWordFactor 1.0 / 2147483647 /* --- RAND_MAX = 2^31 - 1 --- */
#define RandomCharFactor 26.0 * RandomWordFactor
#define RandomPriorityFactor 15.0 * RandomWordFactor

typedef char words[MaxWordSize];
typedef char phrases[MaxPhraseSize];

typedef struct listCDT *listADT;

typedef struct {
	words word;
	int priority, second_priority;
	phrases meaning, synonym, antonym, sentence;
} wordT;

struct listCDT {
	wordT thisWord;
	listADT nextWord;
};

typedef struct {
	listADT wordList;
	int wordCount;
} *priorityListT;

typedef priorityListT prListArray[6];

typedef struct {
	prListArray pr;
} *alphabetListT;

typedef alphabetListT alListArray[27];

typedef struct {
	alListArray alpha;
} *vocab;

vocab gskcVocabulary;
int XtraChar, userEntry;
FILE *filePtr;
wordT buffer;
char charStart;
int priority;
time_t t;
int prListStatus[6] = {0, 0, 0, 0, 0, 0};
int displayStatus[6] = {1, 1, 1, 1, 1, 1};
char fileName[] = "?.dat";
int WordEntryBytes = sizeof(buffer);
int VocBytes = sizeof(alListArray);
int AlBytes = sizeof(prListArray);
int PrBytes = sizeof(listADT) + sizeof(int);
int ADTBytes = sizeof(wordT) + sizeof(listADT);

#endif

