1 /* 2 * Copyright 2021 Google LLC 3 * SPDX-License-Identifier: MIT 4 */ 5 6 #ifndef RENDER_SERVER_H 7 #define RENDER_SERVER_H 8 9 #include "render_common.h" 10 11 enum render_server_state { 12 RENDER_SERVER_STATE_RUN, 13 RENDER_SERVER_STATE_SUBPROCESS, 14 }; 15 16 struct render_server { 17 enum render_server_state state; 18 19 /* only initialized in subprocesses */ 20 struct render_context_args *context_args; 21 22 /* options */ 23 int client_fd; 24 const char *worker_seccomp_bpf; 25 const char *worker_seccomp_minijail_policy; 26 bool worker_seccomp_minijail_log; 27 28 struct render_worker_jail *worker_jail; 29 30 /* only one client in the current design */ 31 struct render_client *client; 32 }; 33 34 bool 35 render_server_main(int argc, char **argv, struct render_context_args *ctx_args); 36 37 #endif /* RENDER_SERVER_H */ 38