aboutsummaryrefslogtreecommitdiff
path: root/server/render_socket.h
diff options
context:
space:
mode:
Diffstat (limited to 'server/render_socket.h')
-rw-r--r--server/render_socket.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/server/render_socket.h b/server/render_socket.h
new file mode 100644
index 00000000..ead1f8cc
--- /dev/null
+++ b/server/render_socket.h
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2021 Google LLC
+ * SPDX-License-Identifier: MIT
+ */
+
+#ifndef RENDER_SOCKET_H
+#define RENDER_SOCKET_H
+
+#include "render_common.h"
+
+struct render_socket {
+ int fd;
+};
+
+bool
+render_socket_pair(int out_fds[static 2]);
+
+bool
+render_socket_is_seqpacket(int fd);
+
+void
+render_socket_init(struct render_socket *socket, int fd);
+
+void
+render_socket_fini(struct render_socket *socket);
+
+bool
+render_socket_receive_request(struct render_socket *socket,
+ void *data,
+ size_t max_size,
+ size_t *out_size);
+
+bool
+render_socket_receive_request_with_fds(struct render_socket *socket,
+ void *data,
+ size_t max_size,
+ size_t *out_size,
+ int *fds,
+ int max_fd_count,
+ int *out_fd_count);
+
+bool
+render_socket_receive_data(struct render_socket *socket, void *data, size_t size);
+
+bool
+render_socket_send_reply(struct render_socket *socket, const void *data, size_t size);
+
+bool
+render_socket_send_reply_with_fds(struct render_socket *socket,
+ const void *data,
+ size_t size,
+ const int *fds,
+ int fd_count);
+
+#endif /* RENDER_SOCKET_H */