#include "ss.h"

void *init_readyq(System *s)
{
  Dllist d;

  d = new_dllist();
  return (void *) d;
}

void make_ready(System *s, Process *p)
{
  Dllist d;
 
  d = (Dllist) s->readyq;

  dll_append(d, new_jval_v((void *) p));
  return;
}

Process *scheduler(System *s, Process *lastevent) 
{
  Dllist d;
  Process *p;
 
  d = (Dllist) s->readyq;
  if (s->running != NULL) return s->running;

  if (!dll_empty(d)) {
    p = (Process *) d->flink->val.v;
    dll_delete_node(d->flink);
    return p;
  }
  return NULL;
}

void init_process_info(System *s, Process *p)
{
}

void free_process_info(System *s, Process *p)
{
}

void sched_adjust_cputime(System *s, Process *p, double delta) {} 

