lib: Added mtio ability to pass file descriptors over streams.
[ashd.git] / lib / mtio.h
1 #ifndef _LIB_MTIO_H
2 #define _LIB_MTIO_H
3
4 #include <stdio.h>
5
6 #define EV_READ 1
7 #define EV_WRITE 2
8
9 struct stdiofd {
10     int fd;
11     int sock;
12     int timeout;
13     int rights, sendrights;
14 };
15
16 int block(int fd, int ev, time_t to);
17 int ioloop(void);
18 void exitioloop(int status);
19 FILE *mtstdopen(int fd, int issock, int timeout, char *mode, struct stdiofd **infop);
20 struct bufio *mtbioopen(int fd, int issock, int timeout, char *mode, struct stdiofd **infop);
21 void mtiopipe(FILE **read, FILE **write);
22
23 #endif