#ifndef _TRANS_H
#define _TRANS_H

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define MSGLEN 12000

/**********************TYPES AND VARIABLES*****************************/

typedef struct {
   int val1;
   int val2;
   char type;
}swaptype;

FILE *ifp, *ofp;                              
int message_length, swap_pointer = 0;
swaptype swaps[100];
char message[MSGLEN];

/**************************FUNCTION PROTOTYPES***************************/

void ProcessMainRequest(int danswer);
int ReadMessage();
void PrintMainMenu();
void PrintSolveMenu();
void PrintToFileByRows(char**, int, int);
void PrintToFileByColumns(char**, int, int);
void PrintOrigCipher(char msg[], int width);
void SolvingMode();
void ProcessSolveRequest(char**, int ans, int r, int c, int fmode);
void SwapColumns(char** rect, int s1, int s2, int r, int c);
void SwapRows(char** rect, int s1, int s2, int r, int c);
void UndoLastNPermutations(int num, char** currentRect, int rows, int columns);
void PrintVowelCount();
void PrintRectangleSizes();
void PrintRect(char**, int, int);
void FillRect(char**, int, int, char);

#endif

