blob: 53a51e2dd2f9d82bed44b28e671ab8556b5cc1e9 [file] [log] [blame]
Romit Dasgupta61b572a2017-06-23 17:48:22 -07001#pragma once
Greg Hartman5234ffa2017-08-25 14:21:56 -07002/*
3 * Copyright (C) 2017 The Android Open Source Project
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
Romit Dasgupta61b572a2017-06-23 17:48:22 -070017
18#include <inttypes.h>
19#include <iostream>
20#include <string>
21
22namespace ivserver {
23
24const uint16_t kIVServerMajorVersion = 1;
25const uint16_t kIVServerMinorVersion = 0;
26const uint32_t kIVServerDefaultShmSizeInMiB = 4;
Romit Dasgupta61b572a2017-06-23 17:48:22 -070027const std::string kIVServerDefaultLayoutFile = "vsoc_mem.json";
Romit Dasgupta61b572a2017-06-23 17:48:22 -070028
29//
30// structure that contains the various options to start the server.
31//
32struct IVServerOptions final {
33 IVServerOptions(const std::string &mem_layout_conf,
34 const std::string &shm_file_path,
35 const std::string &qemu_socket_path,
Greg Hartman8fae86d2017-08-25 14:16:15 -070036 const std::string &client_socket_path);
Romit Dasgupta61b572a2017-06-23 17:48:22 -070037
38 //
39 // We still need a friend here
40 //
41 friend std::ostream &operator<<(std::ostream &out,
42 const IVServerOptions &opts);
43
44 const std::string memory_layout_conf_path;
45 const std::string shm_file_path;
46 const std::string qemu_socket_path;
47 const std::string client_socket_path;
Romit Dasgupta61b572a2017-06-23 17:48:22 -070048};
49
50} // namespace ivserver