PipeWire  0.3.66
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 ":"
105 
106 #define SPA_TYPE_INFO_Pointer SPA_TYPE_INFO_BASE "Pointer"
107 #define SPA_TYPE_INFO_POINTER_BASE SPA_TYPE_INFO_Pointer ":"
108 
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 */
spa/utils/defs.h
@ SPA_TYPE_POINTER_Buffer
Definition: spa/include/spa/utils/type.h:55
@ SPA_TYPE_OBJECT_ParamPortConfig
Definition: spa/include/spa/utils/type.h:81
@ SPA_TYPE_Int
Definition: spa/include/spa/utils/type.h:34
@ SPA_TYPE_OBJECT_ParamProfile
Definition: spa/include/spa/utils/type.h:80
@ SPA_TYPE_COMMAND_START
Definition: spa/include/spa/utils/type.h:67
@ SPA_TYPE_POINTER_START
Definition: spa/include/spa/utils/type.h:54
@ SPA_TYPE_Rectangle
Definition: spa/include/spa/utils/type.h:40
@ SPA_TYPE_Long
Definition: spa/include/spa/utils/type.h:35
@ SPA_TYPE_Bool
Definition: spa/include/spa/utils/type.h:32
@ SPA_TYPE_Bytes
Definition: spa/include/spa/utils/type.h:39
@ SPA_TYPE_VENDOR_Other
Definition: spa/include/spa/utils/type.h:91
@ SPA_TYPE_EVENT_Device
Definition: spa/include/spa/utils/type.h:62
@ SPA_TYPE_Pod
Definition: spa/include/spa/utils/type.h:50
@ SPA_TYPE_OBJECT_PropInfo
Definition: spa/include/spa/utils/type.h:74
@ SPA_TYPE_OBJECT_START
Definition: spa/include/spa/utils/type.h:73
@ SPA_TYPE_Bitmap
Definition: spa/include/spa/utils/type.h:42
@ SPA_TYPE_Object
Definition: spa/include/spa/utils/type.h:45
@ SPA_TYPE_POINTER_Dict
Definition: spa/include/spa/utils/type.h:57
@ SPA_TYPE_Float
Definition: spa/include/spa/utils/type.h:36
@ SPA_TYPE_COMMAND_Device
Definition: spa/include/spa/utils/type.h:68
@ SPA_TYPE_OBJECT_ParamBuffers
Definition: spa/include/spa/utils/type.h:77
@ SPA_TYPE_Fraction
Definition: spa/include/spa/utils/type.h:41
@ SPA_TYPE_None
Definition: spa/include/spa/utils/type.h:31
@ SPA_TYPE_OBJECT_ParamIO
Definition: spa/include/spa/utils/type.h:79
@ _SPA_TYPE_LAST
not part of ABI
Definition: spa/include/spa/utils/type.h:51
@ SPA_TYPE_OBJECT_Props
Definition: spa/include/spa/utils/type.h:75
@ SPA_TYPE_Sequence
Definition: spa/include/spa/utils/type.h:46
@ SPA_TYPE_Double
Definition: spa/include/spa/utils/type.h:37
@ SPA_TYPE_OBJECT_Profiler
Definition: spa/include/spa/utils/type.h:83
@ SPA_TYPE_OBJECT_ParamLatency
Definition: spa/include/spa/utils/type.h:84
@ SPA_TYPE_Id
Definition: spa/include/spa/utils/type.h:33
@ SPA_TYPE_EVENT_START
Definition: spa/include/spa/utils/type.h:61
@ SPA_TYPE_Choice
Definition: spa/include/spa/utils/type.h:49
@ SPA_TYPE_EVENT_Node
Definition: spa/include/spa/utils/type.h:63
@ SPA_TYPE_Pointer
Definition: spa/include/spa/utils/type.h:47
@ _SPA_TYPE_OBJECT_LAST
not part of ABI
Definition: spa/include/spa/utils/type.h:86
@ SPA_TYPE_Array
Definition: spa/include/spa/utils/type.h:43
@ _SPA_TYPE_EVENT_LAST
not part of ABI
Definition: spa/include/spa/utils/type.h:64
@ SPA_TYPE_String
Definition: spa/include/spa/utils/type.h:38
@ SPA_TYPE_VENDOR_PipeWire
Definition: spa/include/spa/utils/type.h:89
@ SPA_TYPE_POINTER_Meta
Definition: spa/include/spa/utils/type.h:56
@ _SPA_TYPE_COMMAND_LAST
not part of ABI
Definition: spa/include/spa/utils/type.h:70
@ SPA_TYPE_COMMAND_Node
Definition: spa/include/spa/utils/type.h:69
@ SPA_TYPE_OBJECT_ParamProcessLatency
Definition: spa/include/spa/utils/type.h:85
@ SPA_TYPE_Fd
Definition: spa/include/spa/utils/type.h:48
@ SPA_TYPE_OBJECT_ParamMeta
Definition: spa/include/spa/utils/type.h:78
@ SPA_TYPE_OBJECT_ParamRoute
Definition: spa/include/spa/utils/type.h:82
@ _SPA_TYPE_POINTER_LAST
not part of ABI
Definition: spa/include/spa/utils/type.h:58
@ SPA_TYPE_Struct
Definition: spa/include/spa/utils/type.h:44
@ SPA_TYPE_OBJECT_Format
Definition: spa/include/spa/utils/type.h:76
@ SPA_TYPE_START
Definition: spa/include/spa/utils/type.h:30
Definition: spa/include/spa/utils/type.h:142
uint32_t type
Definition: spa/include/spa/utils/type.h:143
uint32_t parent
Definition: spa/include/spa/utils/type.h:144
const struct spa_type_info * values
Definition: spa/include/spa/utils/type.h:146