15 #define PIPEX_EOF (1<<0)
16 #define PIPEX_ACTIVE (1<<1)
18 // This should be bigger than the maximum length of an engine output or GUI
21 #define LINE_INPUT_MAX_CHAR 4096
28 HANDLE hInput, hOutput;
33 CRITICAL_SECTION CriticalSection;
35 volatile char * lpFeedEnd;
36 volatile int nReadEnd;
37 char lpBuffer[LINE_INPUT_MAX_CHAR];
38 char lpReadBuffer[LINE_INPUT_MAX_CHAR];
39 char szWriteBuffer[LINE_INPUT_MAX_CHAR];
51 #include <sys/types.h>
54 #include <sys/resource.h>
62 #define PIPEX_EOF (1<<0)
63 #define PIPEX_ACTIVE (1<<1)
75 // part common to WIN32 and POSIX
79 extern void pipex_open (pipex_t *pipex,
81 const char *working_dir,
83 extern bool pipex_active (pipex_t *pipex);
84 extern bool pipex_readln (pipex_t *pipex, char *string);
85 extern bool pipex_readln_nb (pipex_t *pipex, char *string);
86 extern void pipex_writeln (pipex_t *pipex, const char *string);
87 extern void pipex_write (pipex_t *pipex, const char *string);
88 extern bool pipex_eof (pipex_t *pipex);
89 extern void pipex_send_eof (pipex_t *pipex);
90 extern void pipex_exit (pipex_t *pipex);
91 extern void pipex_set_priority (pipex_t *pipex, int value);
92 extern void pipex_set_affinity (pipex_t *pipex, int value);
93 extern void pipex_wait_event (pipex_t *pipex[]);