main.h
author viric@mandarina
Mon, 05 May 2008 23:14:22 +0200
changeset 216 b4476e12a717
parent 203 664044b1de73
child 218 f084c8de313f
permissions -rw-r--r--
Moving versions to 0.5.4.1 for debianers.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
117
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
     1
enum
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
     2
{
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
     3
    CMD_LEN=500
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
     4
};
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
     5
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
     6
enum msg_types
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
     7
{
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
     8
    KILL_SERVER,
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
     9
    NEWJOB,
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
    10
    NEWJOB_OK,
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
    11
    RUNJOB,
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
    12
    RUNJOB_OK,
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
    13
    ENDJOB,
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
    14
    LIST,
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
    15
    LIST_LINE,
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
    16
    CLEAR_FINISHED,
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
    17
    ASK_OUTPUT,
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
    18
    ANSWER_OUTPUT,
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
    19
    REMOVEJOB,
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
    20
    REMOVEJOB_OK,
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
    21
    WAITJOB,
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
    22
    WAITJOB_OK,
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
    23
    URGENT,
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
    24
    URGENT_OK,
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
    25
    GET_STATE,
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
    26
    ANSWER_STATE,
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
    27
    SWAP_JOBS,
146
5e689cb593aa Bones of the "-i" parameter, job info.
viric@llimona
parents: 138
diff changeset
    28
    SWAP_JOBS_OK,
5e689cb593aa Bones of the "-i" parameter, job info.
viric@llimona
parents: 138
diff changeset
    29
    INFO,
5e689cb593aa Bones of the "-i" parameter, job info.
viric@llimona
parents: 138
diff changeset
    30
    INFO_DATA
117
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
    31
};
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
    32
31
1a6c732b0b71 The command line parsing has been simplified.
viric@llimona
parents: 30
diff changeset
    33
enum Request
1a6c732b0b71 The command line parsing has been simplified.
viric@llimona
parents: 30
diff changeset
    34
{
1a6c732b0b71 The command line parsing has been simplified.
viric@llimona
parents: 30
diff changeset
    35
    c_QUEUE,
1a6c732b0b71 The command line parsing has been simplified.
viric@llimona
parents: 30
diff changeset
    36
    c_TAIL,
1a6c732b0b71 The command line parsing has been simplified.
viric@llimona
parents: 30
diff changeset
    37
    c_KILL_SERVER,
1a6c732b0b71 The command line parsing has been simplified.
viric@llimona
parents: 30
diff changeset
    38
    c_LIST,
1a6c732b0b71 The command line parsing has been simplified.
viric@llimona
parents: 30
diff changeset
    39
    c_CLEAR_FINISHED,
1a6c732b0b71 The command line parsing has been simplified.
viric@llimona
parents: 30
diff changeset
    40
    c_SHOW_HELP,
37
f2f6c6f0e86f Added version.
viric@llimona
parents: 35
diff changeset
    41
    c_SHOW_VERSION,
33
5c2d981f2f8e Added 'cat' and 'show output filename'
viric@llimona
parents: 32
diff changeset
    42
    c_CAT,
5c2d981f2f8e Added 'cat' and 'show output filename'
viric@llimona
parents: 32
diff changeset
    43
    c_SHOW_OUTPUT_FILE,
35
83d0da612dc4 Kill the running job works fine.
viric@llimona
parents: 33
diff changeset
    44
    c_SHOW_PID,
42
f093d0964cf5 Added wait for jobs.
viric@llimona
parents: 41
diff changeset
    45
    c_REMOVEJOB,
53
731c41817842 '-u' (urgency) implemented.
viric@llimona
parents: 51
diff changeset
    46
    c_WAITJOB,
63
47be318f4cbc Added "-s" for querying the job state.
viric@llimona
parents: 62
diff changeset
    47
    c_URGENT,
66
f70a27afd92e Adding "swap jobs" with -U. Fixed a big problem with fds 0, 1, 2.
viric@mandarina
parents: 65
diff changeset
    48
    c_GET_STATE,
146
5e689cb593aa Bones of the "-i" parameter, job info.
viric@llimona
parents: 138
diff changeset
    49
    c_SWAP_JOBS,
5e689cb593aa Bones of the "-i" parameter, job info.
viric@llimona
parents: 138
diff changeset
    50
    c_INFO
31
1a6c732b0b71 The command line parsing has been simplified.
viric@llimona
parents: 30
diff changeset
    51
};
1a6c732b0b71 The command line parsing has been simplified.
viric@llimona
parents: 30
diff changeset
    52
30
ab88478a7e9b The commandline parameters are centered in a struct.
viric@llimona
parents: 28
diff changeset
    53
struct Command_line {
31
1a6c732b0b71 The command line parsing has been simplified.
viric@llimona
parents: 30
diff changeset
    54
    enum Request request;
30
ab88478a7e9b The commandline parameters are centered in a struct.
viric@llimona
parents: 28
diff changeset
    55
    int need_server;
ab88478a7e9b The commandline parameters are centered in a struct.
viric@llimona
parents: 28
diff changeset
    56
    int store_output;
ab88478a7e9b The commandline parameters are centered in a struct.
viric@llimona
parents: 28
diff changeset
    57
    int should_go_background;
55
678ca291d545 Now the '-nf' doesn't leave a job in 'finished' state.
viric@llimona
parents: 53
diff changeset
    58
    int should_keep_finished;
71
531666e297d7 Send e-letter implemented.
viric@llimona
parents: 69
diff changeset
    59
    int send_output_by_mail;
65
dced0efccc19 Added gzip output.
viric@llimona
parents: 63
diff changeset
    60
    int gzip;
155
55515f9eac77 Added 'depend' -d
viric@vicerveza
parents: 150
diff changeset
    61
    int depend;
71
531666e297d7 Send e-letter implemented.
viric@llimona
parents: 69
diff changeset
    62
    int jobid; /* When queuing a job, main.c will fill it automatically from
531666e297d7 Send e-letter implemented.
viric@llimona
parents: 69
diff changeset
    63
                  the server answer to NEWJOB */
66
f70a27afd92e Adding "swap jobs" with -U. Fixed a big problem with fds 0, 1, 2.
viric@mandarina
parents: 65
diff changeset
    64
    int jobid2;
68
3ae9b38d7d30 Now the orders don't run under 'bash'. They run as is.
viric@llimona
parents: 65
diff changeset
    65
    struct {
3ae9b38d7d30 Now the orders don't run under 'bash'. They run as is.
viric@llimona
parents: 65
diff changeset
    66
        char **array;
3ae9b38d7d30 Now the orders don't run under 'bash'. They run as is.
viric@llimona
parents: 65
diff changeset
    67
        int num;
3ae9b38d7d30 Now the orders don't run under 'bash'. They run as is.
viric@llimona
parents: 65
diff changeset
    68
    } command;
150
a615d7971bf6 Added -L (label)
viric@llimona
parents: 147
diff changeset
    69
    char *label;
30
ab88478a7e9b The commandline parameters are centered in a struct.
viric@llimona
parents: 28
diff changeset
    70
};
3
2fb8a6bdd024 More code.
viric@llimona
parents:
diff changeset
    71
92
05004c52ecff Better error reports on internal handled errors.
viric@llimona
parents: 73
diff changeset
    72
enum Process_type {
05004c52ecff Better error reports on internal handled errors.
viric@llimona
parents: 73
diff changeset
    73
    CLIENT,
05004c52ecff Better error reports on internal handled errors.
viric@llimona
parents: 73
diff changeset
    74
    SERVER
05004c52ecff Better error reports on internal handled errors.
viric@llimona
parents: 73
diff changeset
    75
};
05004c52ecff Better error reports on internal handled errors.
viric@llimona
parents: 73
diff changeset
    76
30
ab88478a7e9b The commandline parameters are centered in a struct.
viric@llimona
parents: 28
diff changeset
    77
extern struct Command_line command_line;
32
3531439f2770 Tail works.
viric@llimona
parents: 31
diff changeset
    78
extern int server_socket;
92
05004c52ecff Better error reports on internal handled errors.
viric@llimona
parents: 73
diff changeset
    79
extern enum Process_type process_type;
117
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
    80
extern int server_socket; /* Used in the client */
3
2fb8a6bdd024 More code.
viric@llimona
parents:
diff changeset
    81
2fb8a6bdd024 More code.
viric@llimona
parents:
diff changeset
    82
struct msg;
2fb8a6bdd024 More code.
viric@llimona
parents:
diff changeset
    83
117
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
    84
enum Jobstate
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
    85
{
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
    86
    QUEUED,
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
    87
    RUNNING,
156
9ac3bd570159 Improved -d (depend) information.
viric@mandarina
parents: 155
diff changeset
    88
    FINISHED,
9ac3bd570159 Improved -d (depend) information.
viric@mandarina
parents: 155
diff changeset
    89
    SKIPPED
117
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
    90
};
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
    91
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
    92
struct msg
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
    93
{
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
    94
    enum msg_types type;
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
    95
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
    96
    union
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
    97
    {
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
    98
        struct {
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
    99
            int command_size;
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   100
            int store_output;
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   101
            int should_keep_finished;
150
a615d7971bf6 Added -L (label)
viric@llimona
parents: 147
diff changeset
   102
            int label_size;
147
e173645f5221 Added environment info through TS_ENV
viric@llimona
parents: 146
diff changeset
   103
            int env_size;
155
55515f9eac77 Added 'depend' -d
viric@vicerveza
parents: 150
diff changeset
   104
            int depend;
117
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   105
        } newjob;
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   106
        struct {
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   107
            int ofilename_size;
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   108
            int store_output;
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   109
            int pid;
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   110
        } output;
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   111
        int jobid;
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   112
        struct Result {
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   113
            int errorlevel;
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   114
            float user_ms;
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   115
            float system_ms;
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   116
            float real_ms;
156
9ac3bd570159 Improved -d (depend) information.
viric@mandarina
parents: 155
diff changeset
   117
            int skipped;
117
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   118
        } result;
146
5e689cb593aa Bones of the "-i" parameter, job info.
viric@llimona
parents: 138
diff changeset
   119
        int size;
117
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   120
        enum Jobstate state;
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   121
        struct {
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   122
            int jobid1;
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   123
            int jobid2;
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   124
        } swap;
155
55515f9eac77 Added 'depend' -d
viric@vicerveza
parents: 150
diff changeset
   125
	int last_errorlevel;
117
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   126
    } u;
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   127
};
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   128
146
5e689cb593aa Bones of the "-i" parameter, job info.
viric@llimona
parents: 138
diff changeset
   129
struct Procinfo
5e689cb593aa Bones of the "-i" parameter, job info.
viric@llimona
parents: 138
diff changeset
   130
{
5e689cb593aa Bones of the "-i" parameter, job info.
viric@llimona
parents: 138
diff changeset
   131
    char *ptr;
5e689cb593aa Bones of the "-i" parameter, job info.
viric@llimona
parents: 138
diff changeset
   132
    int nchars;
5e689cb593aa Bones of the "-i" parameter, job info.
viric@llimona
parents: 138
diff changeset
   133
    int allocchars;
5e689cb593aa Bones of the "-i" parameter, job info.
viric@llimona
parents: 138
diff changeset
   134
    struct timeval enqueue_time;
5e689cb593aa Bones of the "-i" parameter, job info.
viric@llimona
parents: 138
diff changeset
   135
    struct timeval start_time;
5e689cb593aa Bones of the "-i" parameter, job info.
viric@llimona
parents: 138
diff changeset
   136
    struct timeval end_time;
5e689cb593aa Bones of the "-i" parameter, job info.
viric@llimona
parents: 138
diff changeset
   137
};
5e689cb593aa Bones of the "-i" parameter, job info.
viric@llimona
parents: 138
diff changeset
   138
117
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   139
struct Job
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   140
{
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   141
    struct Job *next;
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   142
    int jobid;
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   143
    char *command;
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   144
    enum Jobstate state;
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   145
    struct Result result; /* Defined in msg.h */
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   146
    char *output_filename;
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   147
    int store_output;
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   148
    int pid;
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   149
    int should_keep_finished;
155
55515f9eac77 Added 'depend' -d
viric@vicerveza
parents: 150
diff changeset
   150
    int depend;
150
a615d7971bf6 Added -L (label)
viric@llimona
parents: 147
diff changeset
   151
    char *label;
146
5e689cb593aa Bones of the "-i" parameter, job info.
viric@llimona
parents: 138
diff changeset
   152
    struct Procinfo info;
117
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   153
};
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   154
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   155
3
2fb8a6bdd024 More code.
viric@llimona
parents:
diff changeset
   156
/* client.c */
68
3ae9b38d7d30 Now the orders don't run under 'bash'. They run as is.
viric@llimona
parents: 65
diff changeset
   157
void c_new_job();
8
03339adb7014 Some more code for execution.
viric@llimona
parents: 5
diff changeset
   158
void c_list_jobs();
44
4dcf05746ece Better include files.
viric@llimona
parents: 42
diff changeset
   159
void c_shutdown_server();
5
bc5e251418f3 The LIST_LINEs are outputed by the client.
viric@llimona
parents: 3
diff changeset
   160
void c_wait_server_lines();
44
4dcf05746ece Better include files.
viric@llimona
parents: 42
diff changeset
   161
void c_clear_finished();
68
3ae9b38d7d30 Now the orders don't run under 'bash'. They run as is.
viric@llimona
parents: 65
diff changeset
   162
int c_wait_server_commands();
35
83d0da612dc4 Kill the running job works fine.
viric@llimona
parents: 33
diff changeset
   163
void c_send_runjob_ok(const char *ofname, int pid);
174
c112f67965fb Our implementation of -t (equivalent tail -f), which now
viric@llimona
parents: 173
diff changeset
   164
int c_tail();
203
664044b1de73 Making '-c' to behave as 'tail -f', but showing *all* the file.
lbatlle@npdl268.bpo.hp.com
parents: 174
diff changeset
   165
int c_cat();
33
5c2d981f2f8e Added 'cat' and 'show output filename'
viric@llimona
parents: 32
diff changeset
   166
void c_show_output_file();
41
cad41574feda Added 'remove job'.
viric@llimona
parents: 38
diff changeset
   167
void c_remove_job();
44
4dcf05746ece Better include files.
viric@llimona
parents: 42
diff changeset
   168
void c_show_pid();
51
aa6e05d77537 '-w' returns the waited errorlevel. Added a testbench.
viric@llimona
parents: 44
diff changeset
   169
int c_wait_job();
174
c112f67965fb Our implementation of -t (equivalent tail -f), which now
viric@llimona
parents: 173
diff changeset
   170
int c_wait_job_recv();
c112f67965fb Our implementation of -t (equivalent tail -f), which now
viric@llimona
parents: 173
diff changeset
   171
void c_wait_job_send();
53
731c41817842 '-u' (urgency) implemented.
viric@llimona
parents: 51
diff changeset
   172
void c_move_urgent();
62
2b29d4666f6c Return the jobid in stdout.
viric@llimona
parents: 55
diff changeset
   173
int c_wait_newjob_ok();
63
47be318f4cbc Added "-s" for querying the job state.
viric@llimona
parents: 62
diff changeset
   174
void c_get_state();
66
f70a27afd92e Adding "swap jobs" with -U. Fixed a big problem with fds 0, 1, 2.
viric@mandarina
parents: 65
diff changeset
   175
void c_swap_jobs();
146
5e689cb593aa Bones of the "-i" parameter, job info.
viric@llimona
parents: 138
diff changeset
   176
void c_show_info();
71
531666e297d7 Send e-letter implemented.
viric@llimona
parents: 69
diff changeset
   177
char *build_command_string();
3
2fb8a6bdd024 More code.
viric@llimona
parents:
diff changeset
   178
2fb8a6bdd024 More code.
viric@llimona
parents:
diff changeset
   179
/* jobs.c */
2fb8a6bdd024 More code.
viric@llimona
parents:
diff changeset
   180
void s_list(int s);
18
af4898956964 Now commands of any-length are accepted.
viric@llimona
parents: 8
diff changeset
   181
int s_newjob(int s, struct msg *m);
3
2fb8a6bdd024 More code.
viric@llimona
parents:
diff changeset
   182
void s_removejob(int jobid);
114
bd123730295d times() reporting finished.
viric@mandarina
parents: 111
diff changeset
   183
void job_finished(const struct Result *result);
8
03339adb7014 Some more code for execution.
viric@llimona
parents: 5
diff changeset
   184
int next_run_job();
19
5efc347cca8d The finished jobs store the errorlevel, and can be listed.
viric@llimona
parents: 18
diff changeset
   185
void s_mark_job_running();
20
d85b4c0745fa "-c" added, for clearing the finished tasks' list.
viric@llimona
parents: 19
diff changeset
   186
void s_clear_finished();
35
83d0da612dc4 Kill the running job works fine.
viric@llimona
parents: 33
diff changeset
   187
void s_process_runjob_ok(int jobid, char *oname, int pid);
32
3531439f2770 Tail works.
viric@llimona
parents: 31
diff changeset
   188
void s_send_output(int socket, int jobid);
134
5a6b8bb1f7a8 Fixing two bugs noted in buglist.bug (ts clients not dying on removejob, queue
viric@llimona
parents: 120
diff changeset
   189
int s_remove_job(int s, int jobid);
42
f093d0964cf5 Added wait for jobs.
viric@llimona
parents: 41
diff changeset
   190
void s_remove_notification(int s);
44
4dcf05746ece Better include files.
viric@llimona
parents: 42
diff changeset
   191
void check_notify_list(int jobid);
4dcf05746ece Better include files.
viric@llimona
parents: 42
diff changeset
   192
void s_wait_job(int s, int jobid);
53
731c41817842 '-u' (urgency) implemented.
viric@llimona
parents: 51
diff changeset
   193
void s_move_urgent(int s, int jobid);
63
47be318f4cbc Added "-s" for querying the job state.
viric@llimona
parents: 62
diff changeset
   194
void s_send_state(int s, int jobid);
66
f70a27afd92e Adding "swap jobs" with -U. Fixed a big problem with fds 0, 1, 2.
viric@mandarina
parents: 65
diff changeset
   195
void s_swap_jobs(int s, int jobid1, int jobid2);
92
05004c52ecff Better error reports on internal handled errors.
viric@llimona
parents: 73
diff changeset
   196
void dump_jobs_struct(FILE *out);
120
790bc4cecd3b Added TS_SAVELIST.
viric@llimona
parents: 117
diff changeset
   197
void joblist_dump(int fd);
790bc4cecd3b Added TS_SAVELIST.
viric@llimona
parents: 117
diff changeset
   198
const char * jstate2string(enum Jobstate s);
147
e173645f5221 Added environment info through TS_ENV
viric@llimona
parents: 146
diff changeset
   199
void s_job_info(int s, int jobid);
3
2fb8a6bdd024 More code.
viric@llimona
parents:
diff changeset
   200
2fb8a6bdd024 More code.
viric@llimona
parents:
diff changeset
   201
/* server.c */
28
107abb4ec98a Unified socket path, depending on the username and $TMPDIR.
viric@llimona
parents: 27
diff changeset
   202
void server_main(int notify_fd, char *_path);
92
05004c52ecff Better error reports on internal handled errors.
viric@llimona
parents: 73
diff changeset
   203
void dump_conns_struct(FILE *out);
3
2fb8a6bdd024 More code.
viric@llimona
parents:
diff changeset
   204
2fb8a6bdd024 More code.
viric@llimona
parents:
diff changeset
   205
/* server_start.c */
2fb8a6bdd024 More code.
viric@llimona
parents:
diff changeset
   206
int try_connect(int s);
2fb8a6bdd024 More code.
viric@llimona
parents:
diff changeset
   207
void wait_server_up();
2fb8a6bdd024 More code.
viric@llimona
parents:
diff changeset
   208
int ensure_server_up();
25
e9e4babe6262 Now the server is quicly started.
viric@llimona
parents: 22
diff changeset
   209
void notify_parent(int fd);
8
03339adb7014 Some more code for execution.
viric@llimona
parents: 5
diff changeset
   210
03339adb7014 Some more code for execution.
viric@llimona
parents: 5
diff changeset
   211
/* execute.c */
68
3ae9b38d7d30 Now the orders don't run under 'bash'. They run as is.
viric@llimona
parents: 65
diff changeset
   212
int run_job();
32
3531439f2770 Tail works.
viric@llimona
parents: 31
diff changeset
   213
33
5c2d981f2f8e Added 'cat' and 'show output filename'
viric@llimona
parents: 32
diff changeset
   214
/* client_run.c */
32
3531439f2770 Tail works.
viric@llimona
parents: 31
diff changeset
   215
void c_run_tail(const char *filename);
33
5c2d981f2f8e Added 'cat' and 'show output filename'
viric@llimona
parents: 32
diff changeset
   216
void c_run_cat(const char *filename);
71
531666e297d7 Send e-letter implemented.
viric@llimona
parents: 69
diff changeset
   217
531666e297d7 Send e-letter implemented.
viric@llimona
parents: 69
diff changeset
   218
/* mail.c */
531666e297d7 Send e-letter implemented.
viric@llimona
parents: 69
diff changeset
   219
void send_mail(int jobid, int errorlevel, const char *ofname,
531666e297d7 Send e-letter implemented.
viric@llimona
parents: 69
diff changeset
   220
    const char *command);
73
0c03786ff927 Added TS_ONFINISH.
viric@llimona
parents: 71
diff changeset
   221
void hook_on_finish(int jobid, int errorlevel, const char *ofname,
0c03786ff927 Added TS_ONFINISH.
viric@llimona
parents: 71
diff changeset
   222
    const char *command);
92
05004c52ecff Better error reports on internal handled errors.
viric@llimona
parents: 73
diff changeset
   223
05004c52ecff Better error reports on internal handled errors.
viric@llimona
parents: 73
diff changeset
   224
/* error.c */
05004c52ecff Better error reports on internal handled errors.
viric@llimona
parents: 73
diff changeset
   225
void error(const char *str, ...);
05004c52ecff Better error reports on internal handled errors.
viric@llimona
parents: 73
diff changeset
   226
void warning(const char *str, ...);
95
d31aaee661d1 Protection against SIGPIPE. Block it.
viric@llimona
parents: 92
diff changeset
   227
d31aaee661d1 Protection against SIGPIPE. Block it.
viric@llimona
parents: 92
diff changeset
   228
/* signals.c */
d31aaee661d1 Protection against SIGPIPE. Block it.
viric@llimona
parents: 92
diff changeset
   229
void ignore_sigpipe();
d31aaee661d1 Protection against SIGPIPE. Block it.
viric@llimona
parents: 92
diff changeset
   230
void restore_sigmask();
138
00461b7bdf4b Passing SIGINT to the child, if it started.
viric@llimona
parents: 134
diff changeset
   231
void block_sigint();
00461b7bdf4b Passing SIGINT to the child, if it started.
viric@llimona
parents: 134
diff changeset
   232
void unblock_sigint_and_install_handler();
117
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   233
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   234
/* msg.c */
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   235
void send_bytes(const int fd, const char *data, const int bytes);
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   236
int recv_bytes(const int fd, char *data, const int bytes);
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   237
void send_msg(const int fd, const struct msg *m);
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   238
int recv_msg(const int fd, struct msg *m);
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   239
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   240
/* msgdump.c */
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   241
void msgdump(FILE *, const struct msg *m);
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   242
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   243
/* error.c */
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   244
void error_msg(const struct msg *m, const char *str, ...);
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   245
void warning_msg(const struct msg *m, const char *str, ...);
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   246
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   247
/* list.c */
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   248
char * joblist_headers();
db479ef293d3 Making "-l" not to trunc the commands.
viric@llimona
parents: 114
diff changeset
   249
char * joblist_line(const struct Job *p);
120
790bc4cecd3b Added TS_SAVELIST.
viric@llimona
parents: 117
diff changeset
   250
char * joblistdump_torun(const struct Job *p);
790bc4cecd3b Added TS_SAVELIST.
viric@llimona
parents: 117
diff changeset
   251
char * joblistdump_headers();
146
5e689cb593aa Bones of the "-i" parameter, job info.
viric@llimona
parents: 138
diff changeset
   252
5e689cb593aa Bones of the "-i" parameter, job info.
viric@llimona
parents: 138
diff changeset
   253
/* print.c */
5e689cb593aa Bones of the "-i" parameter, job info.
viric@llimona
parents: 138
diff changeset
   254
int fd_nprintf(int fd, int maxsize, const char *fmt, ...);
5e689cb593aa Bones of the "-i" parameter, job info.
viric@llimona
parents: 138
diff changeset
   255
5e689cb593aa Bones of the "-i" parameter, job info.
viric@llimona
parents: 138
diff changeset
   256
/* info.c */
5e689cb593aa Bones of the "-i" parameter, job info.
viric@llimona
parents: 138
diff changeset
   257
5e689cb593aa Bones of the "-i" parameter, job info.
viric@llimona
parents: 138
diff changeset
   258
void pinfo_dump(const struct Procinfo *p, int fd);
147
e173645f5221 Added environment info through TS_ENV
viric@llimona
parents: 146
diff changeset
   259
void pinfo_addinfo(struct Procinfo *p, int maxsize, const char *line, ...);
146
5e689cb593aa Bones of the "-i" parameter, job info.
viric@llimona
parents: 138
diff changeset
   260
void pinfo_free(struct Procinfo *p);
5e689cb593aa Bones of the "-i" parameter, job info.
viric@llimona
parents: 138
diff changeset
   261
int pinfo_size(const struct Procinfo *p);
5e689cb593aa Bones of the "-i" parameter, job info.
viric@llimona
parents: 138
diff changeset
   262
void pinfo_set_enqueue_time(struct Procinfo *p);
5e689cb593aa Bones of the "-i" parameter, job info.
viric@llimona
parents: 138
diff changeset
   263
void pinfo_set_start_time(struct Procinfo *p);
5e689cb593aa Bones of the "-i" parameter, job info.
viric@llimona
parents: 138
diff changeset
   264
void pinfo_set_end_time(struct Procinfo *p);
5e689cb593aa Bones of the "-i" parameter, job info.
viric@llimona
parents: 138
diff changeset
   265
float pinfo_time_until_now(const struct Procinfo *p);
5e689cb593aa Bones of the "-i" parameter, job info.
viric@llimona
parents: 138
diff changeset
   266
float pinfo_time_run(const struct Procinfo *p);
147
e173645f5221 Added environment info through TS_ENV
viric@llimona
parents: 146
diff changeset
   267
void pinfo_init(struct Procinfo *p);
e173645f5221 Added environment info through TS_ENV
viric@llimona
parents: 146
diff changeset
   268
e173645f5221 Added environment info through TS_ENV
viric@llimona
parents: 146
diff changeset
   269
/* env.c */
e173645f5221 Added environment info through TS_ENV
viric@llimona
parents: 146
diff changeset
   270
char * get_environment();
173
b572fdd206f4 Adding some code base for our implementation of 'tail'.
viric@llimona
parents: 156
diff changeset
   271
b572fdd206f4 Adding some code base for our implementation of 'tail'.
viric@llimona
parents: 156
diff changeset
   272
/* tail.c */
203
664044b1de73 Making '-c' to behave as 'tail -f', but showing *all* the file.
lbatlle@npdl268.bpo.hp.com
parents: 174
diff changeset
   273
int tail_file(const char *fname, int last_lines);