Mercurial > hg > Members > kent > CbCTaskManager
diff TaskQueue.c @ 2:803d6bf22e6d default tip
second commit.
it's far to complete..
author | kent <kent@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 22 Dec 2009 16:19:56 +0900 |
parents | 5b089096921f |
children |
line wrap: on
line diff
--- a/TaskQueue.c Sun Dec 20 20:46:53 2009 +0900 +++ b/TaskQueue.c Tue Dec 22 16:19:56 2009 +0900 @@ -1,17 +1,19 @@ -#include"TaskList.h" +#include <stdlib.h> +// TODO: malloc +#include "List.h" +#include "Queue.h" -typedef struct _TaskQueue { - TaskList *head; - TaskList *tail; +typedef struct _Queue { + List *head; + List *tail; int length; -} TaskQueue; +} Queue; -TaskQueue * -newTaskQueue() +Queue * +newQueue() { - TaskQueue *queue; - /* TODO: mallocはあとで独自実装に書き直し! */ - malloc(sizeof(struct _TaskQueue)); + Queue *queue; + malloc(sizeof(struct _Queue)); queue->head = NULL; queue->tail = NULL; queue->length = 0; @@ -19,11 +21,11 @@ } void -queueAddFirst(TaskQueue *queue, Task *) +_QaddFirst(Queue *queue, void *) { - TaskList *oldhead = queue->head; - TaskList *newlist; - newlist = malloc(sizeof(struct _TaskList)); + List *oldhead = queue->head; + List *newlist; + newlist = malloc(sizeof(struct _List)); if (oldhead) { oldhead->prev = newlist; @@ -36,11 +38,11 @@ } void -queueAddLast(TaskQueue *queue, Task *task) +_QaddLast(Queue *queue, void *task) { - TaskList *oldtail = queue->tail; - TaskList *newlist; - newlist = malloc(sizeof(struct _TaskList)); + List *oldtail = queue->tail; + List *newlist; + newlist = malloc(sizeof(struct _List)); if (oldtail) { oldtail->next = newlist; @@ -52,12 +54,12 @@ return ; } -Task * -queuePollFirst(TaskQueue *queue) +void * +_QpollFirst(Queue *queue) { - TaskList *first = queue->head; - TaskList *second; - Task *task; + List *first = queue->head; + List *second; + void *task; if (!first) return NULL; second = first->next; @@ -70,12 +72,12 @@ return task; } -Task * -queuePollLast(TaskQueue *queue) +void * +_QpollLast(Queue *queue) { - TaskList *first = queue->tail; - TaskList *second; - Task *task; + List *first = queue->tail; + List *second; + void *task; if (!first) return NULL; second = first->prev;