6 #include <sys/socket.h>
9 int main(int ac, const char **av)
11 struct sockaddr_un addr = {
12 .sun_family = AF_UNIX,
17 assert(strlen(av[1]) > 0);
18 assert(strlen(av[1]) < sizeof(addr.sun_path));
20 strcpy(addr.sun_path, av[1]);
21 len = offsetof(struct sockaddr_un, sun_path) + strlen(av[1]) + 1;
27 assert(socket(PF_LOCAL, SOCK_STREAM, 0) == 0);
28 assert(bind(0, (struct sockaddr *) &addr, len) == 0);
29 assert(listen(0, 5) == 0);
31 memset(&addr, 0, sizeof addr);
32 assert(getsockname(0, (struct sockaddr *) &addr, &len) == 0);
38 assert(accept(0, (struct sockaddr *) &addr, &len) == 1);
39 assert(close(0) == 0);
41 assert(waitpid(pid, &status, 0) == pid);
43 assert(close(1) == 0);
45 assert(socket(PF_LOCAL, SOCK_STREAM, 0) == 1);
46 assert(close(0) == 0);
47 assert(connect(1, (struct sockaddr *) &addr, len) == 0);
48 assert(close(1) == 0);