55 const std::vector<int>& fds);
62 std::vector<android::base::unique_fd>* fds);
66template <
typename...
Args>
71 AssertType<int>(std::forward<Args>(sent_fds)...);
73 Append(fds, std::forward<Args>(sent_fds)...);
81template <
typename...
Args>
83 std::vector<unique_fd*> fds;
84 Append(fds, std::forward<Args>(received_fds)...);
86 std::vector<unique_fd> result;
88 if (rc == -1 || result.size() != fds.size()) {
89 int err = rc == -1 ? errno : ENOMSG;
97 for (
size_t i = 0; i < fds.size(); ++i) {
98 *fds[i] = std::move(result[i]);
Definition: unique_fd.h:61
char data[Size]
Definition: incremental_server.cpp:1
ssize_t ReceiveFileDescriptors(borrowed_fd sock, void *data, size_t len, Args &&... received_fds)
Definition: cmsg.h:82
ssize_t SendFileDescriptorVector(borrowed_fd sockfd, const void *data, size_t len, const std::vector< int > &fds)
Definition: cmsg.cpp:32
ssize_t SendFileDescriptors(borrowed_fd sock, const void *data, size_t len, Args &&... sent_fds)
Definition: cmsg.h:67
ssize_t ReceiveFileDescriptorVector(borrowed_fd sockfd, void *data, size_t len, size_t max_fds, std::vector< unique_fd > *fds)
Definition: cmsg.cpp:74
void Append(CollectionType &collection, T &&arg)
Definition: collections.h:36
std::vector< std::string_view > Args
Definition: incremental.h:28
Definition: unique_fd.h:292