You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
840 B
39 lines
840 B
/*
|
|
* Copyright 2021 Google LLC
|
|
* SPDX-License-Identifier: MIT
|
|
*/
|
|
|
|
#ifndef RENDER_SERVER_H
|
|
#define RENDER_SERVER_H
|
|
|
|
#include "render_common.h"
|
|
|
|
enum render_server_state {
|
|
RENDER_SERVER_STATE_RUN,
|
|
RENDER_SERVER_STATE_SUBPROCESS,
|
|
};
|
|
|
|
struct render_server {
|
|
enum render_server_state state;
|
|
|
|
/* only initialized in subprocesses */
|
|
struct render_context_args *context_args;
|
|
|
|
/* options */
|
|
int client_fd;
|
|
const char *worker_seccomp_bpf;
|
|
const char *worker_seccomp_minijail_policy;
|
|
bool worker_seccomp_minijail_log;
|
|
|
|
struct render_worker_jail *worker_jail;
|
|
int max_worker_count;
|
|
int current_worker_count;
|
|
|
|
/* only one client in the current design */
|
|
struct render_client *client;
|
|
};
|
|
|
|
bool
|
|
render_server_main(int argc, char **argv, struct render_context_args *ctx_args);
|
|
|
|
#endif /* RENDER_SERVER_H */
|
|
|