PipeWire  1.0.5
type.h
1 /* Simple Plugin API */
2 /* SPDX-FileCopyrightText: Copyright © 2018 Wim Taymans */
3 /* SPDX-License-Identifier: MIT */
4 
5 #ifndef SPA_TYPE_H
6 #define SPA_TYPE_H
7 
8 #ifdef __cplusplus
9 extern "C" {
10 #endif
11 
12 #include <spa/utils/defs.h>
13 
23 enum {
24  /* Basic types */
25  SPA_TYPE_START = 0x00000,
48  /* Pointers */
55  /* Events */
61  /* Commands */
67  /* Objects */
84  /* vendor extensions */
86 
87  SPA_TYPE_VENDOR_Other = 0x7f000000,
88 };
89 
90 #define SPA_TYPE_INFO_BASE "Spa:"
91 
92 #define SPA_TYPE_INFO_Flags SPA_TYPE_INFO_BASE "Flags"
93 #define SPA_TYPE_INFO_FLAGS_BASE SPA_TYPE_INFO_Flags ":"
94 
95 #define SPA_TYPE_INFO_Enum SPA_TYPE_INFO_BASE "Enum"
96 #define SPA_TYPE_INFO_ENUM_BASE SPA_TYPE_INFO_Enum ":"
97 
98 #define SPA_TYPE_INFO_Pod SPA_TYPE_INFO_BASE "Pod"
99 #define SPA_TYPE_INFO_POD_BASE SPA_TYPE_INFO_Pod ":"
100 
101 #define SPA_TYPE_INFO_Struct SPA_TYPE_INFO_POD_BASE "Struct"
102 #define SPA_TYPE_INFO_STRUCT_BASE SPA_TYPE_INFO_Struct ":"
103 
104 #define SPA_TYPE_INFO_Object SPA_TYPE_INFO_POD_BASE "Object"
105 #define SPA_TYPE_INFO_OBJECT_BASE SPA_TYPE_INFO_Object ":"
107 #define SPA_TYPE_INFO_Pointer SPA_TYPE_INFO_BASE "Pointer"
108 #define SPA_TYPE_INFO_POINTER_BASE SPA_TYPE_INFO_Pointer ":"
110 #define SPA_TYPE_INFO_Interface SPA_TYPE_INFO_POINTER_BASE "Interface"
111 #define SPA_TYPE_INFO_INTERFACE_BASE SPA_TYPE_INFO_Interface ":"
112 
113 #define SPA_TYPE_INFO_Event SPA_TYPE_INFO_OBJECT_BASE "Event"
114 #define SPA_TYPE_INFO_EVENT_BASE SPA_TYPE_INFO_Event ":"
115 
116 #define SPA_TYPE_INFO_Command SPA_TYPE_INFO_OBJECT_BASE "Command"
117 #define SPA_TYPE_INFO_COMMAND_BASE SPA_TYPE_INFO_Command ":"
118 
120  uint32_t type;
121  uint32_t parent;
122  const char *name;
123  const struct spa_type_info *values;
124 };
125 
130 #ifdef __cplusplus
131 } /* extern "C" */
132 #endif
133 
134 #endif /* SPA_TYPE_H */
Definition: type.h:73
uint32_t type
Definition: type.h:144
Definition: type.h:67
Definition: type.h:30
not part of ABI
Definition: type.h:70
Definition: type.h:47
Definition: type.h:56
Definition: type.h:41
Definition: type.h:69
Definition: type.h:84
Definition: type.h:39
Definition: type.h:46
Definition: type.h:38
Definition: type.h:63
Definition: type.h:79
not part of ABI
Definition: type.h:87
Definition: type.h:143
Definition: type.h:90
Definition: type.h:42
not part of ABI
Definition: type.h:64
Definition: type.h:83
Definition: type.h:82
Definition: type.h:43
Definition: type.h:32
Definition: type.h:75
not part of ABI
Definition: type.h:51
not part of ABI
Definition: type.h:58
Definition: type.h:77
uint32_t parent
Definition: type.h:145
Definition: type.h:36
Definition: type.h:55
Definition: type.h:57
Definition: type.h:37
Definition: type.h:76
Definition: type.h:78
Definition: type.h:50
Definition: type.h:33
Definition: type.h:45
Definition: type.h:92
Definition: type.h:34
Definition: type.h:68
Definition: type.h:54
Definition: type.h:74
Definition: type.h:80
const struct spa_type_info * values
Definition: type.h:147
Definition: type.h:81
Definition: type.h:44
Definition: type.h:62
Definition: type.h:49
Definition: type.h:86
Definition: type.h:35
Definition: type.h:31
Definition: type.h:48
Definition: type.h:61
Definition: type.h:40