Home | History | Annotate | Download | only in base

Lines Matching defs:fds

18 bool SendMsg(int fd, const void* buf, size_t length, std::vector<int>& fds) {
26 if (fds.size()) {
27 const unsigned control_len = CMSG_SPACE(sizeof(int) * fds.size());
39 cmsg->cmsg_len = CMSG_LEN(sizeof(int) * fds.size());
40 memcpy(CMSG_DATA(cmsg), &fds[0], sizeof(int) * fds.size());
50 ssize_t RecvMsg(int fd, void* buf, size_t length, std::vector<int>* fds) {
53 fds->clear();
93 fds->resize(wire_fds_len);
94 memcpy(&(*fds)[0], wire_fds, sizeof(int) * wire_fds_len);
101 int fds[2];
105 if (socketpair(AF_UNIX, SOCK_DGRAM, 0, fds) == -1)
109 fd_vector.push_back(fds[1]);
111 close(fds[0]);
112 close(fds[1]);
115 close(fds[1]);
118 const ssize_t reply_len = RecvMsg(fds[0], reply, max_reply_len, &fd_vector);
119 close(fds[0]);