1 /*
2  * Copyright (c) 2023 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *     http://www.apache.org/licenses/LICENSE-2.0
7  * Unless required by applicable law or agreed to in writing, software
8  * distributed under the License is distributed on an "AS IS" BASIS,
9  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10  * See the License for the specific language governing permissions and
11  * limitations under the License.
12  */
13 
14 #ifndef HCS_CONFIG_CONFIG_HEADER_H
15 #define HCS_CONFIG_CONFIG_HEADER_H
16 
17 #include <stdint.h>
18 
19 struct HdfConfigPipelineSpecsPortSpec {
20     const char* name;
21     const char* peerPortName;
22     const char* peerPortNodeName;
23     uint8_t direction;
24     uint8_t width;
25     uint8_t height;
26     uint8_t format;
27     uint64_t usage;
28     uint8_t needAllocation;
29     uint8_t bufferCount;
30 };
31 
32 struct HdfConfigPipelineSpecsNodeSpec {
33     const char* name;
34     const char* status;
35     const char* streamType;
36     const struct HdfConfigPipelineSpecsPortSpec* portSpec;
37     uint16_t portSpecSize;
38 };
39 
40 struct HdfConfigPipelineSpecsPipelineSpec {
41     const char* name;
42     const struct HdfConfigPipelineSpecsNodeSpec* nodeSpec;
43     uint16_t nodeSpecSize;
44 };
45 
46 struct HdfConfigPipelineSpecsRoot {
47     const char* module;
48     const struct HdfConfigPipelineSpecsPipelineSpec* pipelineSpec;
49     uint16_t pipelineSpecSize;
50 };
51 
52 #endif // HCS_CONFIG_CONFIG_HEADER_H
53