#include "task-descriptor.h"
#include "kernel.h"
#include "syscall-handler.h"



int handlerCreate(KernelStruct* Colonel, TD* Active, int priority, void (*code)()) {

    TD* NewTask = NewTask(priority,Active->TaskID),code);
    return pushToScheduler(Colonel, NewTask);
}


int handle(TD* Active, Request* req) {
    switch(req->n) {
        case SYS_Create:
            return handlerCreate(Active, Active->TaskPriority, ???); // TODO
        case SYS_MyTid:
            return Active->TaskID;
        case SYS_ParentTid:
            if (isTaskAlive(Active->ParentID))  return Active->ParentID;
            else return FAILURE;
        case SYS_Pass:
            Active->TaskState = Ready;
            return SUCCESS;
        case SYS_Exit:
            

    }
}