Blame


1 1544f909 2004-12-25 devnull #include <u.h>
2 1544f909 2004-12-25 devnull #include <unistd.h>
3 1544f909 2004-12-25 devnull #include <fcntl.h>
4 1544f909 2004-12-25 devnull #include <libc.h>
5 1544f909 2004-12-25 devnull #include <fcall.h>
6 1544f909 2004-12-25 devnull #include <thread.h>
7 1544f909 2004-12-25 devnull #include "ioproc.h"
8 1544f909 2004-12-25 devnull
9 1544f909 2004-12-25 devnull static long
10 1544f909 2004-12-25 devnull _ioclose(va_list *arg)
11 1544f909 2004-12-25 devnull {
12 1544f909 2004-12-25 devnull int fd;
13 1544f909 2004-12-25 devnull
14 1544f909 2004-12-25 devnull fd = va_arg(*arg, int);
15 1544f909 2004-12-25 devnull return close(fd);
16 1544f909 2004-12-25 devnull }
17 1544f909 2004-12-25 devnull int
18 1544f909 2004-12-25 devnull ioclose(Ioproc *io, int fd)
19 1544f909 2004-12-25 devnull {
20 1544f909 2004-12-25 devnull return iocall(io, _ioclose, fd);
21 1544f909 2004-12-25 devnull }
22 1544f909 2004-12-25 devnull
23 1544f909 2004-12-25 devnull static long
24 1544f909 2004-12-25 devnull _iodial(va_list *arg)
25 1544f909 2004-12-25 devnull {
26 1544f909 2004-12-25 devnull char *addr, *local, *dir;
27 1544f909 2004-12-25 devnull int *cdfp, fd;
28 1544f909 2004-12-25 devnull
29 1544f909 2004-12-25 devnull addr = va_arg(*arg, char*);
30 1544f909 2004-12-25 devnull local = va_arg(*arg, char*);
31 1544f909 2004-12-25 devnull dir = va_arg(*arg, char*);
32 1544f909 2004-12-25 devnull cdfp = va_arg(*arg, int*);
33 1544f909 2004-12-25 devnull
34 1544f909 2004-12-25 devnull fd = dial(addr, local, dir, cdfp);
35 1544f909 2004-12-25 devnull return fd;
36 1544f909 2004-12-25 devnull }
37 1544f909 2004-12-25 devnull int
38 1544f909 2004-12-25 devnull iodial(Ioproc *io, char *addr, char *local, char *dir, int *cdfp)
39 1544f909 2004-12-25 devnull {
40 1544f909 2004-12-25 devnull return iocall(io, _iodial, addr, local, dir, cdfp);
41 1544f909 2004-12-25 devnull }
42 1544f909 2004-12-25 devnull
43 1544f909 2004-12-25 devnull static long
44 1544f909 2004-12-25 devnull _ioopen(va_list *arg)
45 1544f909 2004-12-25 devnull {
46 1544f909 2004-12-25 devnull char *path;
47 1544f909 2004-12-25 devnull int mode;
48 1544f909 2004-12-25 devnull
49 1544f909 2004-12-25 devnull path = va_arg(*arg, char*);
50 1544f909 2004-12-25 devnull mode = va_arg(*arg, int);
51 1544f909 2004-12-25 devnull return open(path, mode);
52 1544f909 2004-12-25 devnull }
53 1544f909 2004-12-25 devnull int
54 1544f909 2004-12-25 devnull ioopen(Ioproc *io, char *path, int mode)
55 1544f909 2004-12-25 devnull {
56 1544f909 2004-12-25 devnull return iocall(io, _ioopen, path, mode);
57 1544f909 2004-12-25 devnull }
58 1544f909 2004-12-25 devnull
59 1544f909 2004-12-25 devnull static long
60 1544f909 2004-12-25 devnull _ioread(va_list *arg)
61 1544f909 2004-12-25 devnull {
62 1544f909 2004-12-25 devnull int fd;
63 1544f909 2004-12-25 devnull void *a;
64 1544f909 2004-12-25 devnull long n;
65 1544f909 2004-12-25 devnull
66 1544f909 2004-12-25 devnull fd = va_arg(*arg, int);
67 1544f909 2004-12-25 devnull a = va_arg(*arg, void*);
68 1544f909 2004-12-25 devnull n = va_arg(*arg, long);
69 1544f909 2004-12-25 devnull return read(fd, a, n);
70 1544f909 2004-12-25 devnull }
71 1544f909 2004-12-25 devnull long
72 1544f909 2004-12-25 devnull ioread(Ioproc *io, int fd, void *a, long n)
73 1544f909 2004-12-25 devnull {
74 1544f909 2004-12-25 devnull return iocall(io, _ioread, fd, a, n);
75 1544f909 2004-12-25 devnull }
76 1544f909 2004-12-25 devnull
77 1544f909 2004-12-25 devnull static long
78 1544f909 2004-12-25 devnull _ioreadn(va_list *arg)
79 1544f909 2004-12-25 devnull {
80 1544f909 2004-12-25 devnull int fd;
81 1544f909 2004-12-25 devnull void *a;
82 1544f909 2004-12-25 devnull long n;
83 1544f909 2004-12-25 devnull
84 1544f909 2004-12-25 devnull fd = va_arg(*arg, int);
85 1544f909 2004-12-25 devnull a = va_arg(*arg, void*);
86 1544f909 2004-12-25 devnull n = va_arg(*arg, long);
87 1544f909 2004-12-25 devnull n = readn(fd, a, n);
88 1544f909 2004-12-25 devnull return n;
89 1544f909 2004-12-25 devnull }
90 1544f909 2004-12-25 devnull long
91 1544f909 2004-12-25 devnull ioreadn(Ioproc *io, int fd, void *a, long n)
92 1544f909 2004-12-25 devnull {
93 1544f909 2004-12-25 devnull return iocall(io, _ioreadn, fd, a, n);
94 1544f909 2004-12-25 devnull }
95 1544f909 2004-12-25 devnull
96 1544f909 2004-12-25 devnull static long
97 1544f909 2004-12-25 devnull _iosleep(va_list *arg)
98 1544f909 2004-12-25 devnull {
99 1544f909 2004-12-25 devnull long n;
100 1544f909 2004-12-25 devnull
101 1544f909 2004-12-25 devnull n = va_arg(*arg, long);
102 1544f909 2004-12-25 devnull return sleep(n);
103 1544f909 2004-12-25 devnull }
104 1544f909 2004-12-25 devnull int
105 1544f909 2004-12-25 devnull iosleep(Ioproc *io, long n)
106 1544f909 2004-12-25 devnull {
107 1544f909 2004-12-25 devnull return iocall(io, _iosleep, n);
108 1544f909 2004-12-25 devnull }
109 1544f909 2004-12-25 devnull
110 1544f909 2004-12-25 devnull static long
111 1544f909 2004-12-25 devnull _iowrite(va_list *arg)
112 1544f909 2004-12-25 devnull {
113 1544f909 2004-12-25 devnull int fd;
114 1544f909 2004-12-25 devnull void *a;
115 1544f909 2004-12-25 devnull long n, nn;
116 1544f909 2004-12-25 devnull
117 1544f909 2004-12-25 devnull fd = va_arg(*arg, int);
118 1544f909 2004-12-25 devnull a = va_arg(*arg, void*);
119 1544f909 2004-12-25 devnull n = va_arg(*arg, long);
120 1544f909 2004-12-25 devnull nn = write(fd, a, n);
121 1544f909 2004-12-25 devnull return nn;
122 1544f909 2004-12-25 devnull }
123 1544f909 2004-12-25 devnull long
124 1544f909 2004-12-25 devnull iowrite(Ioproc *io, int fd, void *a, long n)
125 1544f909 2004-12-25 devnull {
126 af89fc10 2005-01-06 devnull n = iocall(io, _iowrite, fd, a, n);
127 af89fc10 2005-01-06 devnull return n;
128 1544f909 2004-12-25 devnull }
129 1544f909 2004-12-25 devnull
130 1544f909 2004-12-25 devnull static long
131 1544f909 2004-12-25 devnull _iosendfd(va_list *arg)
132 1544f909 2004-12-25 devnull {
133 1544f909 2004-12-25 devnull int n, fd, fd2;
134 1544f909 2004-12-25 devnull
135 1544f909 2004-12-25 devnull fd = va_arg(*arg, int);
136 1544f909 2004-12-25 devnull fd2 = va_arg(*arg, int);
137 1544f909 2004-12-25 devnull n = sendfd(fd, fd2);
138 1544f909 2004-12-25 devnull return n;
139 1544f909 2004-12-25 devnull }
140 1544f909 2004-12-25 devnull int
141 1544f909 2004-12-25 devnull iosendfd(Ioproc *io, int fd, int fd2)
142 1544f909 2004-12-25 devnull {
143 1544f909 2004-12-25 devnull return iocall(io, _iosendfd, fd, fd2);
144 1544f909 2004-12-25 devnull }
145 1544f909 2004-12-25 devnull
146 1544f909 2004-12-25 devnull static long
147 1544f909 2004-12-25 devnull _iorecvfd(va_list *arg)
148 1544f909 2004-12-25 devnull {
149 1544f909 2004-12-25 devnull int n, fd;
150 1544f909 2004-12-25 devnull
151 1544f909 2004-12-25 devnull fd = va_arg(*arg, int);
152 1544f909 2004-12-25 devnull n = recvfd(fd);
153 1544f909 2004-12-25 devnull return n;
154 1544f909 2004-12-25 devnull }
155 1544f909 2004-12-25 devnull int
156 1544f909 2004-12-25 devnull iorecvfd(Ioproc *io, int fd)
157 1544f909 2004-12-25 devnull {
158 1544f909 2004-12-25 devnull return iocall(io, _iorecvfd, fd);
159 1544f909 2004-12-25 devnull }
160 1544f909 2004-12-25 devnull
161 1544f909 2004-12-25 devnull static long
162 1544f909 2004-12-25 devnull _ioread9pmsg(va_list *arg)
163 1544f909 2004-12-25 devnull {
164 1544f909 2004-12-25 devnull int fd;
165 1544f909 2004-12-25 devnull void *a;
166 1544f909 2004-12-25 devnull int n;
167 1544f909 2004-12-25 devnull
168 1544f909 2004-12-25 devnull fd = va_arg(*arg, int);
169 1544f909 2004-12-25 devnull a = va_arg(*arg, void*);
170 1544f909 2004-12-25 devnull n = va_arg(*arg, int);
171 220c15d2 2012-10-20 rsc read9pmsg(fd, a, n);
172 1544f909 2004-12-25 devnull return n;
173 1544f909 2004-12-25 devnull }
174 1544f909 2004-12-25 devnull int
175 1544f909 2004-12-25 devnull ioread9pmsg(Ioproc *io, int fd, void *a, int n)
176 1544f909 2004-12-25 devnull {
177 1544f909 2004-12-25 devnull return iocall(io, _ioread9pmsg, fd, a, n);
178 1544f909 2004-12-25 devnull }