Lines Matching refs:cmsg
74 msghdr_add_fd(struct cmsghdr *cmsg, int fd) in msghdr_add_fd() argument
79 cmsg->cmsg_level = SOL_SOCKET; in msghdr_add_fd()
80 cmsg->cmsg_type = SCM_RIGHTS; in msghdr_add_fd()
81 cmsg->cmsg_len = CMSG_LEN(sizeof(fd)); in msghdr_add_fd()
82 bcopy(&fd, CMSG_DATA(cmsg), sizeof(fd)); in msghdr_add_fd()
151 struct cmsghdr *cmsg; in cred_send() local
175 cmsg = CMSG_FIRSTHDR(&msg); in cred_send()
176 cmsg->cmsg_len = CMSG_LEN(sizeof(struct cmsgcred)); in cred_send()
177 cmsg->cmsg_level = SOL_SOCKET; in cred_send()
178 cmsg->cmsg_type = SCM_CREDS; in cred_send()
191 struct cmsghdr *cmsg; in cred_recv() local
210 cmsg = CMSG_FIRSTHDR(&msg); in cred_recv()
211 if (cmsg == NULL || in cred_recv()
212 cmsg->cmsg_len != CMSG_LEN(sizeof(struct cmsgcred)) || in cred_recv()
213 cmsg->cmsg_level != SOL_SOCKET || cmsg->cmsg_type != SCM_CREDS) { in cred_recv()
217 bcopy(CMSG_DATA(cmsg), cred, sizeof(*cred)); in cred_recv()
227 struct cmsghdr *cmsg; in fd_package_send() local
255 for (i = 0, cmsg = CMSG_FIRSTHDR(&msg); i < nfds && cmsg != NULL; in fd_package_send()
256 i++, cmsg = CMSG_NXTHDR(&msg, cmsg)) { in fd_package_send()
257 if (msghdr_add_fd(cmsg, fds[i]) == -1) in fd_package_send()
276 struct cmsghdr *cmsg; in fd_package_recv() local
308 cmsg = CMSG_FIRSTHDR(&msg); in fd_package_recv()
309 while (cmsg && i < nfds) { in fd_package_recv()
312 if (cmsg->cmsg_level != SOL_SOCKET || in fd_package_recv()
313 cmsg->cmsg_type != SCM_RIGHTS) { in fd_package_recv()
317 n = (cmsg->cmsg_len - CMSG_LEN(0)) / sizeof(int); in fd_package_recv()
322 bcopy(CMSG_DATA(cmsg), fds + i, sizeof(int) * n); in fd_package_recv()
323 cmsg = CMSG_NXTHDR(&msg, cmsg); in fd_package_recv()
327 if (cmsg != NULL || i < nfds) { in fd_package_recv()