Index: base/posix/unix_domain_socket_linux.h |
diff --git a/base/posix/unix_domain_socket_linux.h b/base/posix/unix_domain_socket_linux.h |
index 1b30ef5e5e452eaa96433c90cbd3b23d699dd8c7..4efa9b710d819ad52f58452738c5a5c2a01fbe88 100644 |
--- a/base/posix/unix_domain_socket_linux.h |
+++ b/base/posix/unix_domain_socket_linux.h |
@@ -72,6 +72,15 @@ class BASE_EXPORT UnixDomainSocket { |
int* result_fd, |
const Pickle& request); |
+ // Same as SendRecvMsg, but sends an extra file descriptor with the request |
+ // message. |
+ static ssize_t SendRecvMsgWithFD(int fd, |
+ uint8_t* reply, |
+ unsigned reply_len, |
+ int* result_fd, |
+ const Pickle& request, |
+ int request_fd); |
+ |
// Similar to SendRecvMsg(), but |recvmsg_flags| allows to control the flags |
// of the recvmsg(2) call. |
static ssize_t SendRecvMsgWithFlags(int fd, |
@@ -80,6 +89,7 @@ class BASE_EXPORT UnixDomainSocket { |
int recvmsg_flags, |
int* result_fd, |
const Pickle& request); |
+ |
private: |
// Similar to RecvMsg, but allows to specify |flags| for recvmsg(2). |
static ssize_t RecvMsgWithFlags(int fd, |
@@ -88,6 +98,14 @@ class BASE_EXPORT UnixDomainSocket { |
int flags, |
std::vector<int>* fds, |
base::ProcessId* pid); |
+ |
+ static ssize_t SendRecvMsgImpl(int fd, |
+ uint8_t* reply, |
+ unsigned max_reply_len, |
+ int recvmsg_flags, |
+ int* result_fd, |
+ const Pickle& request, |
+ int request_fd); |
}; |
#endif // BASE_POSIX_UNIX_DOMAIN_SOCKET_LINUX_H_ |