aboutsummaryrefslogtreecommitdiffstats
path: root/P1/include/utils.h
diff options
context:
space:
mode:
Diffstat (limited to 'P1/include/utils.h')
-rw-r--r--P1/include/utils.h52
1 files changed, 52 insertions, 0 deletions
diff --git a/P1/include/utils.h b/P1/include/utils.h
new file mode 100644
index 0000000..cfe56f2
--- /dev/null
+++ b/P1/include/utils.h
@@ -0,0 +1,52 @@
+#ifndef UTILS_H
+#define UTILS_H
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <unistd.h>
+#include <dirent.h>
+#include <string.h>
+#include <fcntl.h>
+#include <sys/msg.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+#include <sys/types.h>
+#include <ctype.h>
+
+#define chunkSize 1024
+#define MSGSIZE 1100
+#define ENDTYPE 1000
+#define ACKTYPE 1100
+
+struct msgBuffer {
+ long msgType;
+ char msgText[MSGSIZE];
+};
+
+// mapper side
+int validChar(char c);
+// getWord usage - retrieves words from the chunk passed until it is fully traversed
+// given a chunk of data chunkData, the call to getWord should look as below:
+// int i = 0;
+// char *buffer;
+// while ((buffer = getWord(chunkData, &i)) != NULL){
+// your code
+// }
+char *getWord(char *chunk, int *i);
+char *getChunkData(int mapperID);
+void sendChunkData(char *inputFile, int nMappers);
+
+
+// reducer side
+int hashFunction(char* key, int reducers);
+int getInterData(char *key, int reducerID);
+void shuffle(int nMappers, int nReducers);
+
+// directory
+void createOutputDir();
+char *createMapDir(int mapperID);
+void removeOutputDir();
+void bookeepingCode();
+
+#endif \ No newline at end of file