main.h
author viric@llimona
Tue, 27 Mar 2007 23:29:56 +0200
changeset 58 3c492266923e
parent 55 678ca291d545
child 62 2b29d4666f6c
permissions -rw-r--r--
Preparing v0.2.3
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
31
1a6c732b0b71 The command line parsing has been simplified.
viric@llimona
parents: 30
diff changeset
     1
enum Request
1a6c732b0b71 The command line parsing has been simplified.
viric@llimona
parents: 30
diff changeset
     2
{
1a6c732b0b71 The command line parsing has been simplified.
viric@llimona
parents: 30
diff changeset
     3
    c_QUEUE,
1a6c732b0b71 The command line parsing has been simplified.
viric@llimona
parents: 30
diff changeset
     4
    c_TAIL,
1a6c732b0b71 The command line parsing has been simplified.
viric@llimona
parents: 30
diff changeset
     5
    c_KILL_SERVER,
1a6c732b0b71 The command line parsing has been simplified.
viric@llimona
parents: 30
diff changeset
     6
    c_LIST,
1a6c732b0b71 The command line parsing has been simplified.
viric@llimona
parents: 30
diff changeset
     7
    c_CLEAR_FINISHED,
1a6c732b0b71 The command line parsing has been simplified.
viric@llimona
parents: 30
diff changeset
     8
    c_SHOW_HELP,
37
f2f6c6f0e86f Added version.
viric@llimona
parents: 35
diff changeset
     9
    c_SHOW_VERSION,
33
5c2d981f2f8e Added 'cat' and 'show output filename'
viric@llimona
parents: 32
diff changeset
    10
    c_CAT,
5c2d981f2f8e Added 'cat' and 'show output filename'
viric@llimona
parents: 32
diff changeset
    11
    c_SHOW_OUTPUT_FILE,
35
83d0da612dc4 Kill the running job works fine.
viric@llimona
parents: 33
diff changeset
    12
    c_SHOW_PID,
42
f093d0964cf5 Added wait for jobs.
viric@llimona
parents: 41
diff changeset
    13
    c_REMOVEJOB,
53
731c41817842 '-u' (urgency) implemented.
viric@llimona
parents: 51
diff changeset
    14
    c_WAITJOB,
731c41817842 '-u' (urgency) implemented.
viric@llimona
parents: 51
diff changeset
    15
    c_URGENT
31
1a6c732b0b71 The command line parsing has been simplified.
viric@llimona
parents: 30
diff changeset
    16
};
1a6c732b0b71 The command line parsing has been simplified.
viric@llimona
parents: 30
diff changeset
    17
30
ab88478a7e9b The commandline parameters are centered in a struct.
viric@llimona
parents: 28
diff changeset
    18
struct Command_line {
31
1a6c732b0b71 The command line parsing has been simplified.
viric@llimona
parents: 30
diff changeset
    19
    enum Request request;
30
ab88478a7e9b The commandline parameters are centered in a struct.
viric@llimona
parents: 28
diff changeset
    20
    int need_server;
ab88478a7e9b The commandline parameters are centered in a struct.
viric@llimona
parents: 28
diff changeset
    21
    int store_output;
ab88478a7e9b The commandline parameters are centered in a struct.
viric@llimona
parents: 28
diff changeset
    22
    int should_go_background;
55
678ca291d545 Now the '-nf' doesn't leave a job in 'finished' state.
viric@llimona
parents: 53
diff changeset
    23
    int should_keep_finished;
30
ab88478a7e9b The commandline parameters are centered in a struct.
viric@llimona
parents: 28
diff changeset
    24
    int jobid;
ab88478a7e9b The commandline parameters are centered in a struct.
viric@llimona
parents: 28
diff changeset
    25
};
3
2fb8a6bdd024 More code.
viric@llimona
parents:
diff changeset
    26
30
ab88478a7e9b The commandline parameters are centered in a struct.
viric@llimona
parents: 28
diff changeset
    27
extern struct Command_line command_line;
32
3531439f2770 Tail works.
viric@llimona
parents: 31
diff changeset
    28
extern int server_socket;
3
2fb8a6bdd024 More code.
viric@llimona
parents:
diff changeset
    29
2fb8a6bdd024 More code.
viric@llimona
parents:
diff changeset
    30
struct msg;
2fb8a6bdd024 More code.
viric@llimona
parents:
diff changeset
    31
2fb8a6bdd024 More code.
viric@llimona
parents:
diff changeset
    32
/* client.c */
30
ab88478a7e9b The commandline parameters are centered in a struct.
viric@llimona
parents: 28
diff changeset
    33
void c_new_job(const char *command);
8
03339adb7014 Some more code for execution.
viric@llimona
parents: 5
diff changeset
    34
void c_list_jobs();
44
4dcf05746ece Better include files.
viric@llimona
parents: 42
diff changeset
    35
void c_shutdown_server();
5
bc5e251418f3 The LIST_LINEs are outputed by the client.
viric@llimona
parents: 3
diff changeset
    36
void c_wait_server_lines();
44
4dcf05746ece Better include files.
viric@llimona
parents: 42
diff changeset
    37
void c_clear_finished();
38
768d009604b3 The program returns the errorlevel of the job, if it doesn't go to background.
viric@llimona
parents: 37
diff changeset
    38
int c_wait_server_commands(const char *my_command);
35
83d0da612dc4 Kill the running job works fine.
viric@llimona
parents: 33
diff changeset
    39
void c_send_runjob_ok(const char *ofname, int pid);
32
3531439f2770 Tail works.
viric@llimona
parents: 31
diff changeset
    40
void c_tail();
33
5c2d981f2f8e Added 'cat' and 'show output filename'
viric@llimona
parents: 32
diff changeset
    41
void c_cat();
5c2d981f2f8e Added 'cat' and 'show output filename'
viric@llimona
parents: 32
diff changeset
    42
void c_show_output_file();
41
cad41574feda Added 'remove job'.
viric@llimona
parents: 38
diff changeset
    43
void c_remove_job();
44
4dcf05746ece Better include files.
viric@llimona
parents: 42
diff changeset
    44
void c_show_pid();
51
aa6e05d77537 '-w' returns the waited errorlevel. Added a testbench.
viric@llimona
parents: 44
diff changeset
    45
int c_wait_job();
53
731c41817842 '-u' (urgency) implemented.
viric@llimona
parents: 51
diff changeset
    46
void c_move_urgent();
3
2fb8a6bdd024 More code.
viric@llimona
parents:
diff changeset
    47
2fb8a6bdd024 More code.
viric@llimona
parents:
diff changeset
    48
/* jobs.c */
2fb8a6bdd024 More code.
viric@llimona
parents:
diff changeset
    49
void s_list(int s);
18
af4898956964 Now commands of any-length are accepted.
viric@llimona
parents: 8
diff changeset
    50
int s_newjob(int s, struct msg *m);
3
2fb8a6bdd024 More code.
viric@llimona
parents:
diff changeset
    51
void s_removejob(int jobid);
19
5efc347cca8d The finished jobs store the errorlevel, and can be listed.
viric@llimona
parents: 18
diff changeset
    52
void job_finished(int errorlevel);
8
03339adb7014 Some more code for execution.
viric@llimona
parents: 5
diff changeset
    53
int next_run_job();
19
5efc347cca8d The finished jobs store the errorlevel, and can be listed.
viric@llimona
parents: 18
diff changeset
    54
void s_mark_job_running();
20
d85b4c0745fa "-c" added, for clearing the finished tasks' list.
viric@llimona
parents: 19
diff changeset
    55
void s_clear_finished();
35
83d0da612dc4 Kill the running job works fine.
viric@llimona
parents: 33
diff changeset
    56
void s_process_runjob_ok(int jobid, char *oname, int pid);
32
3531439f2770 Tail works.
viric@llimona
parents: 31
diff changeset
    57
void s_send_output(int socket, int jobid);
41
cad41574feda Added 'remove job'.
viric@llimona
parents: 38
diff changeset
    58
void s_remove_job(int s, int jobid);
42
f093d0964cf5 Added wait for jobs.
viric@llimona
parents: 41
diff changeset
    59
void s_remove_notification(int s);
44
4dcf05746ece Better include files.
viric@llimona
parents: 42
diff changeset
    60
void check_notify_list(int jobid);
4dcf05746ece Better include files.
viric@llimona
parents: 42
diff changeset
    61
void s_wait_job(int s, int jobid);
53
731c41817842 '-u' (urgency) implemented.
viric@llimona
parents: 51
diff changeset
    62
void s_move_urgent(int s, int jobid);
3
2fb8a6bdd024 More code.
viric@llimona
parents:
diff changeset
    63
2fb8a6bdd024 More code.
viric@llimona
parents:
diff changeset
    64
/* server.c */
28
107abb4ec98a Unified socket path, depending on the username and $TMPDIR.
viric@llimona
parents: 27
diff changeset
    65
void server_main(int notify_fd, char *_path);
3
2fb8a6bdd024 More code.
viric@llimona
parents:
diff changeset
    66
2fb8a6bdd024 More code.
viric@llimona
parents:
diff changeset
    67
/* server_start.c */
2fb8a6bdd024 More code.
viric@llimona
parents:
diff changeset
    68
int try_connect(int s);
2fb8a6bdd024 More code.
viric@llimona
parents:
diff changeset
    69
void wait_server_up();
2fb8a6bdd024 More code.
viric@llimona
parents:
diff changeset
    70
int ensure_server_up();
25
e9e4babe6262 Now the server is quicly started.
viric@llimona
parents: 22
diff changeset
    71
void notify_parent(int fd);
8
03339adb7014 Some more code for execution.
viric@llimona
parents: 5
diff changeset
    72
03339adb7014 Some more code for execution.
viric@llimona
parents: 5
diff changeset
    73
/* execute.c */
30
ab88478a7e9b The commandline parameters are centered in a struct.
viric@llimona
parents: 28
diff changeset
    74
int run_job(const char *command);
32
3531439f2770 Tail works.
viric@llimona
parents: 31
diff changeset
    75
33
5c2d981f2f8e Added 'cat' and 'show output filename'
viric@llimona
parents: 32
diff changeset
    76
/* client_run.c */
32
3531439f2770 Tail works.
viric@llimona
parents: 31
diff changeset
    77
void c_run_tail(const char *filename);
33
5c2d981f2f8e Added 'cat' and 'show output filename'
viric@llimona
parents: 32
diff changeset
    78
void c_run_cat(const char *filename);