// #include "queue.h" // #include "memManager.h" // #include // typedef struct nodeT { // processADT * process; // struct nodeT * next; // } nodeT; // typedef struct queueCDT { // nodeT * first; // nodeT * last; // int length; // } queueCDT; // queueADT createQueue() { // queueADT aux = pvPortMalloc(sizeof(queueCDT)); // if (aux == NULL) // return NULL; // aux->first = NULL; // aux->last = NULL; // aux->length = 0; // return aux; // } // void queue(queueADT * my_queue, processADT * process) { // if (my_queue == NULL) // return; // nodeT * new_node = pvPortMalloc(sizeof(nodeT)); // if (new_node == NULL) // return; // new_node->process = process; // new_node->next = NULL; // (*my_queue)->last->next = new_node; // (*my_queue)->last = new_node; // (*my_queue)->length++; // } // processADT * dequeue(queueADT * my_queue) { // if (my_queue == NULL || isEmpty(my_queue)) // return NULL; // nodeT * aux = (*my_queue)->first; // (*my_queue)->first = (*my_queue)->first->next; // processADT * ans = aux->process; // vPortFree(aux); // return ans; // } // char isEmpty(queueADT * my_queue) { // return (*my_queue)->length == 0; // }