-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathio.h
53 lines (30 loc) · 818 Bytes
/
io.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
// io.h
#ifndef IO_H
#define IO_H
// includes
#include "util.h"
// defined
#define BufferSize 16384
// types
typedef struct {
int in_fd;
int out_fd;
const char * name;
bool in_eof;
sint32 in_size;
sint32 out_size;
char in_buffer[BufferSize];
char out_buffer[BufferSize];
} io_t;
// functions
extern bool io_is_ok (const io_t * io);
extern void io_init (io_t * io);
extern void io_close (io_t * io);
extern void io_get_update (io_t * io);
extern bool io_peek (io_t * io);
extern bool io_line_ready (const io_t * io);
extern bool io_get_line (io_t * io, char string[], int size);
extern void io_send (io_t * io, const char format[], ...);
extern void io_send_queue (io_t * io, const char format[], ...);
#endif // !defined IO_H
// end of io.h