Mercurial > hg > Members > kono > Cerium
diff TaskManager/kernel/memory/MemList.cpp @ 366:09f33c51a204
rename include/TaskManager/* and add memory
author | aaa |
---|---|
date | Mon, 27 Jul 2009 15:51:18 +0900 |
parents | |
children | c7a4818cdfcb |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/TaskManager/kernel/memory/MemList.cpp Mon Jul 27 15:51:18 2009 +0900 @@ -0,0 +1,52 @@ +MemList* +createMeamList(uint32 size, uint32 count) +{ + MemList* mlist = + smanager->locate(sizeof(MemorySegment)); + return mlist; +} + +void +addFirst(MemorySegment* e) +{ + e->next = this->first; + this->first->prev = e; + first = e; +} + +void +addLast(MemorySegment* e) +{ + e->prev = this->last; + this->last->next = e; + last = e; +} + +MemorySegment +getFirst() +{ + return this->first; +} + +MemorySegment +getLast() +{ + return this->last; +} + +boolean +remove(MemorySegment* e) +{ + MemorySegment* p = e; + p->prev->next = p->next; + p->next->prev = p->prev; + p->prev = NULL; + p->next = NULL; +} + +void +moveToFirst(MemorySegment* e) +{ + remove(e); + addFirst(e); +}