msg.h
author viric@llimona
Mon, 02 Apr 2007 17:53:52 +0200
changeset 74 bb1b20d79acf
parent 66 f70a27afd92e
child 110 2726c92a5cb3
child 111 d6bc62904b5a
permissions -rw-r--r--
Marking the TODO for 0.3
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
74928e2b27f4 Honta versio de ia strukturo.
viric@llimona
parents:
diff changeset
     1
extern int server_socket;
74928e2b27f4 Honta versio de ia strukturo.
viric@llimona
parents:
diff changeset
     2
3
2fb8a6bdd024 More code.
viric@llimona
parents: 2
diff changeset
     3
enum
2fb8a6bdd024 More code.
viric@llimona
parents: 2
diff changeset
     4
{
5
bc5e251418f3 The LIST_LINEs are outputed by the client.
viric@llimona
parents: 4
diff changeset
     5
    CMD_LEN=500,
4
viric@llimona
parents: 3
diff changeset
     6
    LINE_LEN=500
3
2fb8a6bdd024 More code.
viric@llimona
parents: 2
diff changeset
     7
};
2fb8a6bdd024 More code.
viric@llimona
parents: 2
diff changeset
     8
1
74928e2b27f4 Honta versio de ia strukturo.
viric@llimona
parents:
diff changeset
     9
enum msg_types
74928e2b27f4 Honta versio de ia strukturo.
viric@llimona
parents:
diff changeset
    10
{
31
1a6c732b0b71 The command line parsing has been simplified.
viric@llimona
parents: 22
diff changeset
    11
    KILL_SERVER,
3
2fb8a6bdd024 More code.
viric@llimona
parents: 2
diff changeset
    12
    NEWJOB,
2fb8a6bdd024 More code.
viric@llimona
parents: 2
diff changeset
    13
    NEWJOB_OK,
2fb8a6bdd024 More code.
viric@llimona
parents: 2
diff changeset
    14
    RUNJOB,
22
afdc8410633f Now output can go to filenames.
viric@llimona
parents: 21
diff changeset
    15
    RUNJOB_OK,
3
2fb8a6bdd024 More code.
viric@llimona
parents: 2
diff changeset
    16
    ENDJOB,
2fb8a6bdd024 More code.
viric@llimona
parents: 2
diff changeset
    17
    LIST,
4
viric@llimona
parents: 3
diff changeset
    18
    LIST_LINE,
32
3531439f2770 Tail works.
viric@llimona
parents: 31
diff changeset
    19
    CLEAR_FINISHED,
3531439f2770 Tail works.
viric@llimona
parents: 31
diff changeset
    20
    ASK_OUTPUT,
41
cad41574feda Added 'remove job'.
viric@llimona
parents: 35
diff changeset
    21
    ANSWER_OUTPUT,
cad41574feda Added 'remove job'.
viric@llimona
parents: 35
diff changeset
    22
    REMOVEJOB,
42
f093d0964cf5 Added wait for jobs.
viric@llimona
parents: 41
diff changeset
    23
    REMOVEJOB_OK,
f093d0964cf5 Added wait for jobs.
viric@llimona
parents: 41
diff changeset
    24
    WAITJOB,
53
731c41817842 '-u' (urgency) implemented.
viric@llimona
parents: 44
diff changeset
    25
    WAITJOB_OK,
731c41817842 '-u' (urgency) implemented.
viric@llimona
parents: 44
diff changeset
    26
    URGENT,
63
47be318f4cbc Added "-s" for querying the job state.
viric@llimona
parents: 55
diff changeset
    27
    URGENT_OK,
47be318f4cbc Added "-s" for querying the job state.
viric@llimona
parents: 55
diff changeset
    28
    GET_STATE,
66
f70a27afd92e Adding "swap jobs" with -U. Fixed a big problem with fds 0, 1, 2.
viric@mandarina
parents: 63
diff changeset
    29
    ANSWER_STATE,
f70a27afd92e Adding "swap jobs" with -U. Fixed a big problem with fds 0, 1, 2.
viric@mandarina
parents: 63
diff changeset
    30
    SWAP_JOBS,
f70a27afd92e Adding "swap jobs" with -U. Fixed a big problem with fds 0, 1, 2.
viric@mandarina
parents: 63
diff changeset
    31
    SWAP_JOBS_OK
63
47be318f4cbc Added "-s" for querying the job state.
viric@llimona
parents: 55
diff changeset
    32
};
47be318f4cbc Added "-s" for querying the job state.
viric@llimona
parents: 55
diff changeset
    33
47be318f4cbc Added "-s" for querying the job state.
viric@llimona
parents: 55
diff changeset
    34
enum Jobstate
47be318f4cbc Added "-s" for querying the job state.
viric@llimona
parents: 55
diff changeset
    35
{
47be318f4cbc Added "-s" for querying the job state.
viric@llimona
parents: 55
diff changeset
    36
    QUEUED,
47be318f4cbc Added "-s" for querying the job state.
viric@llimona
parents: 55
diff changeset
    37
    RUNNING,
47be318f4cbc Added "-s" for querying the job state.
viric@llimona
parents: 55
diff changeset
    38
    FINISHED
1
74928e2b27f4 Honta versio de ia strukturo.
viric@llimona
parents:
diff changeset
    39
};
74928e2b27f4 Honta versio de ia strukturo.
viric@llimona
parents:
diff changeset
    40
74928e2b27f4 Honta versio de ia strukturo.
viric@llimona
parents:
diff changeset
    41
struct msg
74928e2b27f4 Honta versio de ia strukturo.
viric@llimona
parents:
diff changeset
    42
{
2
602bd67df3aa Changed tabs to 4 spaces. Rule.
viric@llimona
parents: 1
diff changeset
    43
    enum msg_types type;
1
74928e2b27f4 Honta versio de ia strukturo.
viric@llimona
parents:
diff changeset
    44
2
602bd67df3aa Changed tabs to 4 spaces. Rule.
viric@llimona
parents: 1
diff changeset
    45
    union
602bd67df3aa Changed tabs to 4 spaces. Rule.
viric@llimona
parents: 1
diff changeset
    46
    {
18
af4898956964 Now commands of any-length are accepted.
viric@llimona
parents: 5
diff changeset
    47
        struct {
af4898956964 Now commands of any-length are accepted.
viric@llimona
parents: 5
diff changeset
    48
            int command_size;
22
afdc8410633f Now output can go to filenames.
viric@llimona
parents: 21
diff changeset
    49
            int store_output;
55
678ca291d545 Now the '-nf' doesn't leave a job in 'finished' state.
viric@llimona
parents: 53
diff changeset
    50
            int should_keep_finished;
18
af4898956964 Now commands of any-length are accepted.
viric@llimona
parents: 5
diff changeset
    51
        } newjob;
22
afdc8410633f Now output can go to filenames.
viric@llimona
parents: 21
diff changeset
    52
        struct {
afdc8410633f Now output can go to filenames.
viric@llimona
parents: 21
diff changeset
    53
            int ofilename_size;
afdc8410633f Now output can go to filenames.
viric@llimona
parents: 21
diff changeset
    54
            int store_output;
35
83d0da612dc4 Kill the running job works fine.
viric@llimona
parents: 32
diff changeset
    55
            int pid;
32
3531439f2770 Tail works.
viric@llimona
parents: 31
diff changeset
    56
        } output;
3
2fb8a6bdd024 More code.
viric@llimona
parents: 2
diff changeset
    57
        int jobid;
2fb8a6bdd024 More code.
viric@llimona
parents: 2
diff changeset
    58
        int errorlevel;
21
a797f96a022f Lines for list doesn't have limit.
viric@llimona
parents: 19
diff changeset
    59
        int line_size;
63
47be318f4cbc Added "-s" for querying the job state.
viric@llimona
parents: 55
diff changeset
    60
        enum Jobstate state;
66
f70a27afd92e Adding "swap jobs" with -U. Fixed a big problem with fds 0, 1, 2.
viric@mandarina
parents: 63
diff changeset
    61
        struct {
f70a27afd92e Adding "swap jobs" with -U. Fixed a big problem with fds 0, 1, 2.
viric@mandarina
parents: 63
diff changeset
    62
            int jobid1;
f70a27afd92e Adding "swap jobs" with -U. Fixed a big problem with fds 0, 1, 2.
viric@mandarina
parents: 63
diff changeset
    63
            int jobid2;
f70a27afd92e Adding "swap jobs" with -U. Fixed a big problem with fds 0, 1, 2.
viric@mandarina
parents: 63
diff changeset
    64
        } swap;
2
602bd67df3aa Changed tabs to 4 spaces. Rule.
viric@llimona
parents: 1
diff changeset
    65
    } u;
1
74928e2b27f4 Honta versio de ia strukturo.
viric@llimona
parents:
diff changeset
    66
};
74928e2b27f4 Honta versio de ia strukturo.
viric@llimona
parents:
diff changeset
    67
63
47be318f4cbc Added "-s" for querying the job state.
viric@llimona
parents: 55
diff changeset
    68
/* msg.c */
18
af4898956964 Now commands of any-length are accepted.
viric@llimona
parents: 5
diff changeset
    69
void send_bytes(const int fd, const char *data, const int bytes);
af4898956964 Now commands of any-length are accepted.
viric@llimona
parents: 5
diff changeset
    70
int recv_bytes(const int fd, char *data, const int bytes);
af4898956964 Now commands of any-length are accepted.
viric@llimona
parents: 5
diff changeset
    71
void send_msg(const int fd, const struct msg *m);
af4898956964 Now commands of any-length are accepted.
viric@llimona
parents: 5
diff changeset
    72
int recv_msg(const int fd, struct msg *m);
44
4dcf05746ece Better include files.
viric@llimona
parents: 42
diff changeset
    73
63
47be318f4cbc Added "-s" for querying the job state.
viric@llimona
parents: 55
diff changeset
    74
/* jobs.c */
47be318f4cbc Added "-s" for querying the job state.
viric@llimona
parents: 55
diff changeset
    75
const char * jstate2string(enum Jobstate s);
47be318f4cbc Added "-s" for querying the job state.
viric@llimona
parents: 55
diff changeset
    76
47be318f4cbc Added "-s" for querying the job state.
viric@llimona
parents: 55
diff changeset
    77
/* msgdump.c */
44
4dcf05746ece Better include files.
viric@llimona
parents: 42
diff changeset
    78
void msgdump(const struct msg *m);