Lines Matching refs:cmsg
76 msghdr_add_fd(struct cmsghdr *cmsg, int fd) in msghdr_add_fd() argument
81 cmsg->cmsg_level = SOL_SOCKET; in msghdr_add_fd()
82 cmsg->cmsg_type = SCM_RIGHTS; in msghdr_add_fd()
83 cmsg->cmsg_len = CMSG_LEN(sizeof(fd)); in msghdr_add_fd()
84 bcopy(&fd, CMSG_DATA(cmsg), sizeof(fd)); in msghdr_add_fd()
153 struct cmsghdr *cmsg; in cred_send() local
177 cmsg = CMSG_FIRSTHDR(&msg); in cred_send()
178 cmsg->cmsg_len = CMSG_LEN(sizeof(struct cmsgcred)); in cred_send()
179 cmsg->cmsg_level = SOL_SOCKET; in cred_send()
180 cmsg->cmsg_type = SCM_CREDS; in cred_send()
193 struct cmsghdr *cmsg; in cred_recv() local
212 cmsg = CMSG_FIRSTHDR(&msg); in cred_recv()
213 if (cmsg == NULL || in cred_recv()
214 cmsg->cmsg_len != CMSG_LEN(sizeof(struct cmsgcred)) || in cred_recv()
215 cmsg->cmsg_level != SOL_SOCKET || cmsg->cmsg_type != SCM_CREDS) { in cred_recv()
219 bcopy(CMSG_DATA(cmsg), cred, sizeof(*cred)); in cred_recv()
229 struct cmsghdr *cmsg; in fd_package_send() local
257 for (i = 0, cmsg = CMSG_FIRSTHDR(&msg); i < nfds && cmsg != NULL; in fd_package_send()
258 i++, cmsg = CMSG_NXTHDR(&msg, cmsg)) { in fd_package_send()
259 if (msghdr_add_fd(cmsg, fds[i]) == -1) in fd_package_send()
278 struct cmsghdr *cmsg; in fd_package_recv() local
310 cmsg = CMSG_FIRSTHDR(&msg); in fd_package_recv()
311 while (cmsg && i < nfds) { in fd_package_recv()
314 if (cmsg->cmsg_level != SOL_SOCKET || in fd_package_recv()
315 cmsg->cmsg_type != SCM_RIGHTS) { in fd_package_recv()
319 n = (cmsg->cmsg_len - CMSG_LEN(0)) / sizeof(int); in fd_package_recv()
324 bcopy(CMSG_DATA(cmsg), fds + i, sizeof(int) * n); in fd_package_recv()
325 cmsg = CMSG_NXTHDR(&msg, cmsg); in fd_package_recv()
329 if (cmsg != NULL || i < nfds) { in fd_package_recv()