#ifndef _testscheduler_h_INCLUDED
#define _testscheduler_h_INCLUDED

typedef struct tissat_job tissat_job;

extern unsigned tissat_scheduled;

void tissat_schedule_function (void (*function) (void), const char *name);
tissat_job *tissat_schedule_command (int, const char *command, tissat_job *);
tissat_job *tissat_schedule_application (int, const char *args);

#define SCHEDULE_FUNCTION(FUNCTION) \
  tissat_schedule_function (FUNCTION, #FUNCTION)

void tissat_run_jobs (int parallel);
void tissat_release_jobs (void);

#endif