]> git.lizzy.rs Git - plan9front.git/blob - sys/src/libc/9sys/iounit.c
libaml: fix gc bug, need to amltake()/amldrop() temporary buffer
[plan9front.git] / sys / src / libc / 9sys / iounit.c
1 #include <u.h>
2 #include <libc.h>
3
4 /*
5  * Format:
6   3 r  M    4 (0000000000457def 11 00)   8192      512 /rc/lib/rcmain
7  */
8
9 int
10 iounit(int fd)
11 {
12         int i, cfd;
13         char buf[128], *args[10];
14
15         snprint(buf, sizeof buf, "#d/%dctl", fd);
16         cfd = open(buf, OREAD|OCEXEC);
17         if(cfd < 0)
18                 return 0;
19         i = read(cfd, buf, sizeof buf-1);
20         close(cfd);
21         if(i <= 0)
22                 return 0;
23         buf[i] = '\0';
24         if(tokenize(buf, args, nelem(args)) != nelem(args))
25                 return 0;
26         return atoi(args[7]);
27 }