Lines Matching refs:cmsg
73 msghdr_add_fd(struct cmsghdr *cmsg, int fd) in msghdr_add_fd() argument
78 cmsg->cmsg_level = SOL_SOCKET; in msghdr_add_fd()
79 cmsg->cmsg_type = SCM_RIGHTS; in msghdr_add_fd()
80 cmsg->cmsg_len = CMSG_LEN(sizeof(fd)); in msghdr_add_fd()
81 bcopy(&fd, CMSG_DATA(cmsg), sizeof(fd)); in msghdr_add_fd()
150 struct cmsghdr *cmsg; in cred_send() local
174 cmsg = CMSG_FIRSTHDR(&msg); in cred_send()
175 cmsg->cmsg_len = CMSG_LEN(sizeof(struct cmsgcred)); in cred_send()
176 cmsg->cmsg_level = SOL_SOCKET; in cred_send()
177 cmsg->cmsg_type = SCM_CREDS; in cred_send()
190 struct cmsghdr *cmsg; in cred_recv() local
209 cmsg = CMSG_FIRSTHDR(&msg); in cred_recv()
210 if (cmsg == NULL || in cred_recv()
211 cmsg->cmsg_len != CMSG_LEN(sizeof(struct cmsgcred)) || in cred_recv()
212 cmsg->cmsg_level != SOL_SOCKET || cmsg->cmsg_type != SCM_CREDS) { in cred_recv()
216 bcopy(CMSG_DATA(cmsg), cred, sizeof(*cred)); in cred_recv()
226 struct cmsghdr *cmsg; in fd_package_send() local
254 for (i = 0, cmsg = CMSG_FIRSTHDR(&msg); i < nfds && cmsg != NULL; in fd_package_send()
255 i++, cmsg = CMSG_NXTHDR(&msg, cmsg)) { in fd_package_send()
256 if (msghdr_add_fd(cmsg, fds[i]) == -1) in fd_package_send()
275 struct cmsghdr *cmsg; in fd_package_recv() local
307 cmsg = CMSG_FIRSTHDR(&msg); in fd_package_recv()
308 while (cmsg && i < nfds) { in fd_package_recv()
311 if (cmsg->cmsg_level != SOL_SOCKET || in fd_package_recv()
312 cmsg->cmsg_type != SCM_RIGHTS) { in fd_package_recv()
316 n = (cmsg->cmsg_len - CMSG_LEN(0)) / sizeof(int); in fd_package_recv()
321 bcopy(CMSG_DATA(cmsg), fds + i, sizeof(int) * n); in fd_package_recv()
322 cmsg = CMSG_NXTHDR(&msg, cmsg); in fd_package_recv()
326 if (cmsg != NULL || i < nfds) { in fd_package_recv()