-/*
- * waitingQueue.h
- *
- * Created on: Sep 1, 2010
- * Author: stephey
- */
-#ifndef WAITINGQUEUE_H_
-#define WAITINGQUEUE_H_
-
-#define NUMITEMS 20
-
-/* print header */
-struct TraverserData {
- void * resumePtr;
- int traverserID;
- int effectType;
-};
-
-struct BinVector {
- struct TraverserData array[NUMITEMS];
- struct BinVector * next;
- int index;
-};
-
-struct BinElement {
- struct BinVector * head;
- struct BinVector * tail;
- int size;
-};
-
-
-//TODO in the future, remove this struct all together
-struct WaitingQueue {
- struct BinElement * array;
-};
-
-void put(int allocSiteID, struct WaitingQueue * queue, int effectType, void * resumePtr, int traverserID);
-int check(struct WaitingQueue * queue, int allocSiteID);
-struct WaitingQueue * mallocWaitingQueue(int size);
-void returnVectorToFreePool(struct BinVector *ptr);
-void resolveChain(struct WaitingQueue * queue, int allocSiteID);
-struct BinVector * mallocNewVector();
-struct BinVector * getUsableVector();
-struct BinVector * getUsableVector();
-
-#endif /* WAITINGQUEUE_H_ */
+/*\r
+ * waitingQueue.h\r
+ *\r
+ * Created on: Sep 1, 2010\r
+ * Author: stephey\r
+ */\r
+#ifndef WAITINGQUEUE_H_\r
+#define WAITINGQUEUE_H_\r
+\r
+#define NUMITEMS_WQ 20\r
+\r
+/* print header */\r
+typedef struct TraverserData_WQ {\r
+ void * resumePtr;\r
+ int effectType;\r
+ int traverserID;\r
+} TraverserResumeDataFromWaitingQ;\r
+\r
+typedef struct BinVector_wq {\r
+ struct TraverserData_WQ array[NUMITEMS_WQ];\r
+ struct BinVector_wq * next;\r
+ int headIndex;\r
+ int tailIndex;\r
+} WaitingQueueBinVector;\r
+\r
+\r
+typedef struct BinElement_wq {\r
+ struct BinVector_wq * head;\r
+ struct BinVector_wq * tail;\r
+ int size;\r
+} WaitingQueueBin;\r
+\r
+void putIntoWaitingQueue(int allocSiteID, WaitingQueueBin * queue, int effectType, void * resumePtr, int traverserID);\r
+int isEmptyForWaitingQ(WaitingQueueBin * queue, int allocSiteID);\r
+WaitingQueueBin * mallocWaitingQueue(int size);\r
+WaitingQueueBinVector * returnWaitingQueueBinVectorToFreePool(struct BinVector_wq *ptr);\r
+int removeFromWaitingQueue(WaitingQueueBin * queue, int allocSiteID, int TraverserID);\r
+WaitingQueueBinVector * mallocNewWaitingQueueBinVector();\r
+WaitingQueueBinVector * getUsableWaitingQueueBinVector();\r