PipeWire  0.3.67
spa/include/spa/utils/type.h
Go to the documentation of this file.
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 */
83  /* vendor extensions */
85 
86  SPA_TYPE_VENDOR_Other = 0x7f000000,
87 };
88 
89 #define SPA_TYPE_INFO_BASE "Spa:"
90 
91 #define SPA_TYPE_INFO_Flags SPA_TYPE_INFO_BASE "Flags"
92 #define SPA_TYPE_INFO_FLAGS_BASE SPA_TYPE_INFO_Flags ":"
93 
94 #define SPA_TYPE_INFO_Enum SPA_TYPE_INFO_BASE "Enum"
95 #define SPA_TYPE_INFO_ENUM_BASE SPA_TYPE_INFO_Enum ":"
96 
97 #define SPA_TYPE_INFO_Pod SPA_TYPE_INFO_BASE "Pod"
98 #define SPA_TYPE_INFO_POD_BASE SPA_TYPE_INFO_Pod ":"
99 
100 #define SPA_TYPE_INFO_Struct SPA_TYPE_INFO_POD_BASE "Struct"
101 #define SPA_TYPE_INFO_STRUCT_BASE SPA_TYPE_INFO_Struct ":"
102 
103 #define SPA_TYPE_INFO_Object SPA_TYPE_INFO_POD_BASE "Object"
104 #define SPA_TYPE_INFO_OBJECT_BASE SPA_TYPE_INFO_Object ":"
106 #define SPA_TYPE_INFO_Pointer SPA_TYPE_INFO_BASE "Pointer"
107 #define SPA_TYPE_INFO_POINTER_BASE SPA_TYPE_INFO_Pointer ":"
109 #define SPA_TYPE_INFO_Interface SPA_TYPE_INFO_POINTER_BASE "Interface"
110 #define SPA_TYPE_INFO_INTERFACE_BASE SPA_TYPE_INFO_Interface ":"
111 
112 #define SPA_TYPE_INFO_Event SPA_TYPE_INFO_OBJECT_BASE "Event"
113 #define SPA_TYPE_INFO_EVENT_BASE SPA_TYPE_INFO_Event ":"
114 
115 #define SPA_TYPE_INFO_Command SPA_TYPE_INFO_OBJECT_BASE "Command"
116 #define SPA_TYPE_INFO_COMMAND_BASE SPA_TYPE_INFO_Command ":"
117 
119  uint32_t type;
120  uint32_t parent;
121  const char *name;
122  const struct spa_type_info *values;
123 };
124 
129 #ifdef __cplusplus
130 } /* extern "C" */
131 #endif
132 
133 #endif /* SPA_TYPE_H */
Definition: spa/include/spa/utils/type.h:80
uint32_t type
Definition: spa/include/spa/utils/type.h:143
Definition: spa/include/spa/utils/type.h:73
Definition: spa/include/spa/utils/type.h:50
Definition: spa/include/spa/utils/type.h:69
Definition: spa/include/spa/utils/type.h:83
Definition: spa/include/spa/utils/type.h:30
Definition: spa/include/spa/utils/type.h:49
Definition: spa/include/spa/utils/type.h:31
not part of ABI
Definition: spa/include/spa/utils/type.h:70
Definition: spa/include/spa/utils/type.h:62
Definition: spa/include/spa/utils/type.h:34
Definition: spa/include/spa/utils/type.h:74
Definition: spa/include/spa/utils/type.h:46
spa/utils/defs.h
Definition: spa/include/spa/utils/type.h:41
not part of ABI
Definition: spa/include/spa/utils/type.h:86
Definition: spa/include/spa/utils/type.h:77
Definition: spa/include/spa/utils/type.h:142
Definition: spa/include/spa/utils/type.h:44
Definition: spa/include/spa/utils/type.h:89
Definition: spa/include/spa/utils/type.h:75
Definition: spa/include/spa/utils/type.h:82
not part of ABI
Definition: spa/include/spa/utils/type.h:64
Definition: spa/include/spa/utils/type.h:54
Definition: spa/include/spa/utils/type.h:84
Definition: spa/include/spa/utils/type.h:56
Definition: spa/include/spa/utils/type.h:91
uint32_t parent
Definition: spa/include/spa/utils/type.h:144
Definition: spa/include/spa/utils/type.h:76
Definition: spa/include/spa/utils/type.h:81
not part of ABI
Definition: spa/include/spa/utils/type.h:58
Definition: spa/include/spa/utils/type.h:79
Definition: spa/include/spa/utils/type.h:78
Definition: spa/include/spa/utils/type.h:36
Definition: spa/include/spa/utils/type.h:47
Definition: spa/include/spa/utils/type.h:39
not part of ABI
Definition: spa/include/spa/utils/type.h:51
Definition: spa/include/spa/utils/type.h:38
Definition: spa/include/spa/utils/type.h:35
Definition: spa/include/spa/utils/type.h:55
const struct spa_type_info * values
Definition: spa/include/spa/utils/type.h:146
Definition: spa/include/spa/utils/type.h:85
Definition: spa/include/spa/utils/type.h:32
Definition: spa/include/spa/utils/type.h:42
Definition: spa/include/spa/utils/type.h:45
Definition: spa/include/spa/utils/type.h:57
Definition: spa/include/spa/utils/type.h:67
Definition: spa/include/spa/utils/type.h:68
Definition: spa/include/spa/utils/type.h:48
Definition: spa/include/spa/utils/type.h:43
Definition: spa/include/spa/utils/type.h:40
Definition: spa/include/spa/utils/type.h:61
Definition: spa/include/spa/utils/type.h:37
Definition: spa/include/spa/utils/type.h:63
Definition: spa/include/spa/utils/type.h:33