Did some stuff
[matches/swarm.git] / src / master.h
1 #ifndef _MASTER_H
2 #define _MASTER_H
3
4 #include "options.h"
5 #include "task.h"
6 #include <string.h>
7 #include "slave.h"
8
9
10 extern void Master_main(Options * o);
11 extern void Master_loop();
12 extern void * Master_sender(void * args);
13 extern void Master_setup(Options * o);
14 extern void Master_cleanup();
15 extern void Master_send();
16 extern void Master_absorb(char * addr, int np);
17
18 extern void Master_shell(int i);
19 extern void sigchld_handler(int signal);
20
21
22
23 typedef struct 
24 {
25         Slave * slave;
26         int nSlaves;
27         int running;
28
29         Task * task_pool; // tasks that aren't for a single specific slave
30
31         int last_number; //number of last task
32
33         char * buffer; // buffer for storing input
34         int buflen; // length of buffer string
35         int bufsiz; // actual size of buffer
36
37         char * outfile;
38
39         int fd_max;
40
41         int barrier_number;
42         bool barrier_block;
43
44         int commands_active;
45
46         int * remote_err; // sockets used as stderr for remote shells
47         int nRemote; // number of remote shells
48         int remote_reserved; // number of sockets reserved
49
50         Options * o;
51 } Master;
52
53
54
55
56 #endif //_MASTER_H

UCC git Repository :: git.ucc.asn.au