typedef int SwitchArray[30];

#ifndef FALSE
#define	FALSE   (0)
#define TRUE    (1)
#endif

typedef enum JobKind {
	compile = 0,
	cind = 1,
	ms = 2
} JobKind;

typedef struct JobDesc {
	char *shortFileName;
	char *workingDirectory;
	char *nfsHostName;
	char *userName;
	char *userPassword;
	JobKind jobKind;
	SwitchArray switches;
} JobDesc;

typedef enum JobStatus {
	onReadyQueue = 0,
	mimosaInProgress = 1,
	mimosaCompileFailed = 2,
	successfulDef = 3,
	successfulImpl = 4,
	successfulDefWithWarnings = 5,
	successfulImplWithWarnings = 6,
	successfulCind = 7,
	successfulCindWithWarnings = 8,
	cindFailed = 9,
	successfulMS = 10,
	successfulMSWithWarnings = 11,
	msFailed = 12,
	jobNotFound = 13,
	serverTimeout = 14,
	unknown = 15
} JobStatus;

typedef struct JobQueryResult {
	JobStatus js;
	char *err;
} JobQueryResult;

typedef struct ServerStatusResult {
	char *status;
} ServerStatusResult;