rename nopush_smart to autopush
[kgio.git] / ext / kgio / kgio.h
blobf1e2c1dd9e8c2818aabde82db0a47f41a01be535
1 #ifndef KGIO_H
2 #define KGIO_H
4 #include <ruby.h>
5 #ifdef HAVE_RUBY_IO_H
6 # include <ruby/io.h>
7 #else
8 # include <rubyio.h>
9 #endif
10 #include <errno.h>
11 #include <sys/types.h>
12 #include <sys/socket.h>
13 #include <sys/un.h>
14 #include <netinet/in.h>
15 #include <fcntl.h>
16 #include <unistd.h>
17 #include <arpa/inet.h>
18 #include <assert.h>
20 #include "ancient_ruby.h"
21 #include "nonblock.h"
22 #include "my_fileno.h"
24 struct io_args {
25 VALUE io;
26 VALUE buf;
27 char *ptr;
28 long len;
29 int fd;
32 void init_kgio_wait(void);
33 void init_kgio_read_write(void);
34 void init_kgio_accept(void);
35 void init_kgio_connect(void);
36 void init_kgio_autopush(void);
38 void kgio_autopush_accept(VALUE, VALUE, int, int);
39 void kgio_autopush_recv(VALUE, int);
40 void kgio_autopush_send(VALUE, int);
42 VALUE kgio_call_wait_writable(VALUE io);
43 VALUE kgio_call_wait_readable(VALUE io);
45 #endif /* KGIO_H */