version 1.2.2.1, 2002/06/26 15:30:38 |
version 1.2.2.2, 2002/10/11 14:51:52 |
|
|
struct cmsghdr *cmsg; |
struct cmsghdr *cmsg; |
struct iovec vec; |
struct iovec vec; |
char ch = '\0'; |
char ch = '\0'; |
int n; |
ssize_t n; |
|
|
memset(&msg, 0, sizeof(msg)); |
memset(&msg, 0, sizeof(msg)); |
msg.msg_control = (caddr_t)tmp; |
msg.msg_control = (caddr_t)tmp; |
|
|
fatal("%s: sendmsg(%d): %s", __func__, fd, |
fatal("%s: sendmsg(%d): %s", __func__, fd, |
strerror(errno)); |
strerror(errno)); |
if (n != 1) |
if (n != 1) |
fatal("%s: sendmsg: expected sent 1 got %d", |
fatal("%s: sendmsg: expected sent 1 got %ld", |
__func__, n); |
__func__, (long)n); |
} |
} |
|
|
int |
int |
|
|
char tmp[CMSG_SPACE(sizeof(int))]; |
char tmp[CMSG_SPACE(sizeof(int))]; |
struct cmsghdr *cmsg; |
struct cmsghdr *cmsg; |
struct iovec vec; |
struct iovec vec; |
|
ssize_t n; |
char ch; |
char ch; |
int fd, n; |
int fd; |
|
|
memset(&msg, 0, sizeof(msg)); |
memset(&msg, 0, sizeof(msg)); |
vec.iov_base = &ch; |
vec.iov_base = &ch; |
|
|
if ((n = recvmsg(socket, &msg, 0)) == -1) |
if ((n = recvmsg(socket, &msg, 0)) == -1) |
fatal("%s: recvmsg: %s", __func__, strerror(errno)); |
fatal("%s: recvmsg: %s", __func__, strerror(errno)); |
if (n != 1) |
if (n != 1) |
fatal("%s: recvmsg: expected received 1 got %d", |
fatal("%s: recvmsg: expected received 1 got %ld", |
__func__, n); |
__func__, (long)n); |
|
|
cmsg = CMSG_FIRSTHDR(&msg); |
cmsg = CMSG_FIRSTHDR(&msg); |
if (cmsg->cmsg_type != SCM_RIGHTS) |
if (cmsg->cmsg_type != SCM_RIGHTS) |