diff options
Diffstat (limited to 'server/render_socket.h')
-rw-r--r-- | server/render_socket.h | 55 |
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 */ |