typedef struct {
  int jobsize;
  int userid;
  int jobid;
} Job;

typedef struct {
  int nusers;
  int nprinters;
  int arrtime;
  int maxpages;
  int bufsize;
  int nevents;
  int starttime;
  int id;
  int event;
  Job *job;
  void *v;
} Spq;

extern void initialize_v(Spq *);

/* When this is done, it will call function(s) as a continuation */
extern void submit_job(Spq *s, Job *j, void (*function)());  

/* When this is done, it will call function(s) as a continuation,
   and  s->job will be set to be the job. */
extern void get_print_job(Spq *s, void (*function)());

