+type preinfo = {
+ pi_job_name : string; (** Job name. *)
+ pi_serial : Big_int.big_int; (** Job serial number. *)
+ pi_variables : (string * variable) list; (** Variables set in job. *)
+ pi_running : preinfo_running_job list; (** List of running jobs. *)
+}
+and preinfo_running_job = {
+ pirun_job_name : string; (** Running job name. *)
+ pirun_serial : Big_int.big_int; (** Running job serial number. *)
+ pirun_start_time : float; (** Running job start time. *)
+ pirun_pid : int; (** Running job process ID. *)
+}
+(** 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. *)
+