1cc290419Sopenharmony_ci/*
2cc290419Sopenharmony_ci * Copyright (C) 2021 Huawei Device Co., Ltd.
3cc290419Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
4cc290419Sopenharmony_ci * you may not use this file except in compliance with the License.
5cc290419Sopenharmony_ci * You may obtain a copy of the License at
6cc290419Sopenharmony_ci *
7cc290419Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
8cc290419Sopenharmony_ci *
9cc290419Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
10cc290419Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
11cc290419Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12cc290419Sopenharmony_ci * See the License for the specific language governing permissions and
13cc290419Sopenharmony_ci * limitations under the License.
14cc290419Sopenharmony_ci */
15cc290419Sopenharmony_ci#ifndef HDC_COMMON_H
16cc290419Sopenharmony_ci#define HDC_COMMON_H
17cc290419Sopenharmony_ci
18cc290419Sopenharmony_ci#include <algorithm>
19cc290419Sopenharmony_ci#include <assert.h>
20cc290419Sopenharmony_ci#include <atomic>
21cc290419Sopenharmony_ci#include <cctype>
22cc290419Sopenharmony_ci#include <cinttypes>
23cc290419Sopenharmony_ci#include <cstdarg>
24cc290419Sopenharmony_ci#include <ctime>
25cc290419Sopenharmony_ci#include <condition_variable>
26cc290419Sopenharmony_ci#include <fcntl.h>
27cc290419Sopenharmony_ci#include <functional>
28cc290419Sopenharmony_ci#include <list>
29cc290419Sopenharmony_ci#include <map>
30cc290419Sopenharmony_ci#include <mutex>
31cc290419Sopenharmony_ci#include <queue>
32cc290419Sopenharmony_ci#include <set>
33cc290419Sopenharmony_ci#include <string>
34cc290419Sopenharmony_ci#include <stdio.h>
35cc290419Sopenharmony_ci#include <sys/types.h>
36cc290419Sopenharmony_ci#include <unistd.h>
37cc290419Sopenharmony_ci#ifdef CONFIG_USE_JEMALLOC_DFX_INIF
38cc290419Sopenharmony_ci#include <malloc.h>
39cc290419Sopenharmony_ci#endif
40cc290419Sopenharmony_ci#include <vector>
41cc290419Sopenharmony_ci
42cc290419Sopenharmony_ciusing std::condition_variable;
43cc290419Sopenharmony_ciusing std::list;
44cc290419Sopenharmony_ciusing std::map;
45cc290419Sopenharmony_ciusing std::mutex;
46cc290419Sopenharmony_ciusing std::string;
47cc290419Sopenharmony_ciusing std::vector;
48cc290419Sopenharmony_ci
49cc290419Sopenharmony_ci// clang-format off
50cc290419Sopenharmony_ci#include <uv.h>  // libuv 1.35
51cc290419Sopenharmony_ci#ifdef HDC_HOST
52cc290419Sopenharmony_ci
53cc290419Sopenharmony_ci#ifdef HARMONY_PROJECT
54cc290419Sopenharmony_ci#include <libusb/libusb.h>
55cc290419Sopenharmony_ci#else  // NOT HARMONY_PROJECT
56cc290419Sopenharmony_ci#include <libusb-1.0/libusb.h>
57cc290419Sopenharmony_ci#endif // END HARMONY_PROJECT
58cc290419Sopenharmony_ci
59cc290419Sopenharmony_ci#else // NOT HDC_HOST
60cc290419Sopenharmony_ci#endif // HDC_HOST
61cc290419Sopenharmony_ci
62cc290419Sopenharmony_ci#ifndef _WIN32
63cc290419Sopenharmony_ci#include <sys/socket.h>
64cc290419Sopenharmony_ci#include <sys/un.h>
65cc290419Sopenharmony_ci#endif
66cc290419Sopenharmony_ci
67cc290419Sopenharmony_ci#include <securec.h>
68cc290419Sopenharmony_ci#include <limits.h>
69cc290419Sopenharmony_ci
70cc290419Sopenharmony_ci#include "circle_buffer.h"
71cc290419Sopenharmony_ci#include "define.h"
72cc290419Sopenharmony_ci#include "debug.h"
73cc290419Sopenharmony_ci#include "base.h"
74cc290419Sopenharmony_ci#include "task.h"
75cc290419Sopenharmony_ci#include "channel.h"
76cc290419Sopenharmony_ci#include "session.h"
77cc290419Sopenharmony_ci#include "auth.h"
78cc290419Sopenharmony_ci
79cc290419Sopenharmony_ci#include "tcp.h"
80cc290419Sopenharmony_ci#include "usb.h"
81cc290419Sopenharmony_ci#ifdef HDC_SUPPORT_UART
82cc290419Sopenharmony_ci#include "uart.h"
83cc290419Sopenharmony_ci#endif
84cc290419Sopenharmony_ci#include "file_descriptor.h"
85cc290419Sopenharmony_ci
86cc290419Sopenharmony_ci// clang-format on
87cc290419Sopenharmony_ci
88cc290419Sopenharmony_ci#endif  // !defined(COMMON_H_INCLUDED)
89