#ifdef UNSAFE_BUFFERS_BUILD
#pragma allow_unsafe_buffers
#endif
#include "sandbox/linux/syscall_broker/broker_simple_message.h"
#include <errno.h>
#include <string.h>
#include <sys/socket.h>
#include <unistd.h>
#include "base/check_op.h"
#include "base/containers/span.h"
#include "base/files/scoped_file.h"
#include "base/notreached.h"
#include "base/numerics/safe_math.h"
#include "base/posix/eintr_wrapper.h"
#include "base/posix/unix_domain_socket.h"
#include "base/process/process_handle.h"
#include "build/build_config.h"
#define ALLOW_VLA(line) …
namespace sandbox {
namespace syscall_broker {
ssize_t BrokerSimpleMessage::SendRecvMsgWithFlags(int fd,
int recvmsg_flags,
base::ScopedFD* result_fd,
BrokerSimpleMessage* reply) { … }
ssize_t BrokerSimpleMessage::SendRecvMsgWithFlagsMultipleFds(
int fd,
int recvmsg_flags,
base::span<const int> send_fds,
base::span<base::ScopedFD> result_fds,
BrokerSimpleMessage* reply) { … }
bool BrokerSimpleMessage::SendMsg(int fd, int send_fd) { … }
bool BrokerSimpleMessage::SendMsgMultipleFds(int fd,
base::span<const int> send_fds) { … }
ssize_t BrokerSimpleMessage::RecvMsgWithFlags(int fd,
int flags,
base::ScopedFD* return_fd) { … }
ssize_t BrokerSimpleMessage::RecvMsgWithFlagsMultipleFds(
int fd,
int flags,
base::span<base::ScopedFD> return_fds) { … }
bool BrokerSimpleMessage::AddStringToMessage(const char* string) { … }
bool BrokerSimpleMessage::AddDataToMessage(const char* data, size_t length) { … }
bool BrokerSimpleMessage::AddIntToMessage(int data) { … }
bool BrokerSimpleMessage::ReadString(const char** data) { … }
bool BrokerSimpleMessage::ReadData(const char** data, size_t* length) { … }
bool BrokerSimpleMessage::ReadInt(int* result) { … }
bool BrokerSimpleMessage::ValidateType(EntryType expected_type) { … }
}
}