#include #include #include #include #include #include #include void die(int x, const char *s) { perror(s); exit(x); } int main() { int ret; int p[2]; char buf[2]; char namebuf[256]; socklen_t bufsize = sizeof(namebuf); ret = socketpair(AF_UNIX, SOCK_STREAM, PF_UNSPEC, p); if (ret) die(1, "socketpair"); ret = send(p[0], "xyz", 3, 0); printf("> send: %d\n", ret); if (ret < 0) die(2, "send"); ret = recvfrom(p[1], buf, sizeof(buf), 0, (struct sockaddr *)namebuf, &bufsize); printf("> recvfrom: %d, %d\n", ret, bufsize); if (ret < 0) die(3, "recvfrom"); close(p[0]); close(p[1]); return 0; }