git.annexia.org
/
whenjobs.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add 'whenjobs --tail <serial>' to tail output messages from jobs.
[whenjobs.git]
/
lib
/
whenproto.x
diff --git
a/lib/whenproto.x
b/lib/whenproto.x
index
603cf91
..
5754821
100644
(file)
--- a/
lib/whenproto.x
+++ b/
lib/whenproto.x
@@
-24,11
+24,15
@@
/* Maximum lengths and some useful typedefs. */
const MAX_VARIABLE_NAME_LENGTH = 256;
const MAX_VARIABLE_VALUE_LENGTH = 65536;
/* Maximum lengths and some useful typedefs. */
const MAX_VARIABLE_NAME_LENGTH = 256;
const MAX_VARIABLE_VALUE_LENGTH = 65536;
+const MAX_JOB_NAME_LENGTH = 256;
const MAX_BIG_INT_LENGTH = 64; /* when encoded as a string */
const MAX_BIG_INT_LENGTH = 64; /* when encoded as a string */
+const MAX_PATH_LENGTH = 4096;
typedef string variable_name<MAX_VARIABLE_NAME_LENGTH>;
typedef string string_value<MAX_VARIABLE_VALUE_LENGTH>;
typedef string variable_name<MAX_VARIABLE_NAME_LENGTH>;
typedef string string_value<MAX_VARIABLE_VALUE_LENGTH>;
+typedef string job_name<MAX_JOB_NAME_LENGTH>;
typedef string string_big_int<MAX_BIG_INT_LENGTH>;
typedef string string_big_int<MAX_BIG_INT_LENGTH>;
+typedef string path<MAX_PATH_LENGTH>;
typedef variable_name variable_name_list<>;
typedef variable_name variable_name_list<>;
@@
-63,9
+67,18
@@
union variable switch (variable_type t) {
case INT_T:
string_big_int i; /* OCaml [big_int], as a string. */
case FLOAT_T:
case INT_T:
string_big_int i; /* OCaml [big_int], as a string. */
case FLOAT_T:
- double f; /* C 'double' maps to an OCaml 'float' */
+ double f;
/* C 'double' maps to an OCaml 'float' */
};
};
+struct job {
+ job_name job_name;
+ string_big_int job_serial;
+ path job_tmpdir;
+ hyper job_start_time;
+};
+
+typedef job job_list<>;
+
/* The API of the daemon. */
program When {
version V1 {
/* The API of the daemon. */
program When {
version V1 {
@@
-74,5
+87,9
@@
program When {
variable get_variable (variable_name) = 3;
variable_name_list get_variable_names (void) = 4;
status exit_daemon (void) = 5;
variable get_variable (variable_name) = 3;
variable_name_list get_variable_names (void) = 4;
status exit_daemon (void) = 5;
+ job_list get_jobs (void) = 6;
+ status cancel_job (string_big_int) = 7;
+ status start_job (job_name) = 8;
+ job get_job (string_big_int) = 9;
} = 1;
} = 0x20008081;
} = 1;
} = 0x20008081;