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