1 2#include "buffer.h" 3 4#ifdef WIN32 5#include <windows.h> 6typedef HANDLE descriptor_t; 7typedef HANDLE proc_pid_t; 8#else 9typedef int descriptor_t; 10typedef pid_t proc_pid_t; 11#endif 12 13typedef struct { 14 descriptor_t parent, child; 15 int fd; 16} pipe_t; 17 18typedef struct { 19 pipe_t in, out, err; 20 proc_pid_t child; 21} proc_handler_t; 22 23int proc_close(proc_handler_t *ht); 24int proc_open(proc_handler_t *ht, const char *command); 25int proc_open_buffer(const char *command, buffer *in, buffer *out, buffer *err); 26