}
(** A shell script. *)
+type preinfo = {
+ pi_job_name : string; (** Job name. *)
+ pi_serial : Big_int.big_int; (** Job serial number. *)
+}
+(** Information available to pre function before the job runs. *)
+
+type result = {
+ res_job_name : string; (** Job name. *)
+ res_serial : Big_int.big_int; (** Job serial number. *)
+ res_code : int; (** Return code from the script. *)
+ res_tmpdir : string; (** Temporary directory. *)
+ res_output : string; (** Filename of output from job. *)
+ res_start_time : float; (** When the job started. *)
+}
+(** Result of the run of a job. *)
+
+type pre = preinfo -> bool
+type post = result -> unit
+(** Pre and post functions. *)
+
type variable =
| T_unit
| T_bool of bool
type job = {
job_loc : Camlp4.PreCast.Loc.t;
job_name : string;
+ job_pre : pre option;
+ job_post : post option;
job_cond : job_cond;
job_script : shell_script;
}