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