5414d8aec433fb7a526a5a427b21f3295549f4db
[polyglot.git] / engine.h
1 // engine.h\r
2 \r
3 #ifndef ENGINE_H\r
4 #define ENGINE_H\r
5 \r
6 // includes\r
7 \r
8 #include "io.h"\r
9 #include "util.h"\r
10 #include "pipe.h"\r
11 \r
12 // types\r
13 \r
14 struct engine_t {\r
15 #ifndef _WIN32\r
16    io_t io[1];\r
17     pid_t pid;\r
18 #else\r
19     PipeStruct pipeEngine;\r
20 #endif\r
21 };\r
22 \r
23 \r
24 \r
25 // variables\r
26 \r
27 extern engine_t Engine[1];\r
28 \r
29 // functions\r
30 \r
31 extern bool engine_is_ok      (const engine_t * engine);\r
32 extern void engine_open       (engine_t * engine);\r
33 extern void engine_close      (engine_t * engine);\r
34 extern void engine_send       (engine_t * engine, const char format[], ...);\r
35 extern void engine_send_queue (engine_t * engine, const char format[], ...);\r
36 extern bool engine_get_non_blocking(engine_t * engine, char string[], int size);\r
37 extern void engine_get        (engine_t * engine, char string[], int size);\r
38 extern void engine_set_nice_value(engine_t * engine, int value);\r
39 \r
40 #endif // !defined ENGINE_H\r