|  | 
| #define | SPA_TYPE_INTERFACE_Device   SPA_TYPE_INFO_INTERFACE_BASE "Device" | 
|  | 
| #define | SPA_VERSION_DEVICE   0 | 
|  | 
| #define | SPA_VERSION_DEVICE_INFO   0 | 
|  | 
| #define | SPA_DEVICE_CHANGE_MASK_FLAGS   (1u<<0) | 
|  | 
| #define | SPA_DEVICE_CHANGE_MASK_PROPS   (1u<<1) | 
|  | 
| #define | SPA_DEVICE_CHANGE_MASK_PARAMS   (1u<<2) | 
|  | 
| #define | SPA_DEVICE_INFO_INIT()   ((struct spa_device_info){ SPA_VERSION_DEVICE_INFO, }) | 
|  | 
| #define | SPA_VERSION_DEVICE_OBJECT_INFO   0 | 
|  | 
| #define | SPA_DEVICE_OBJECT_CHANGE_MASK_FLAGS   (1u<<0) | 
|  | 
| #define | SPA_DEVICE_OBJECT_CHANGE_MASK_PROPS   (1u<<1) | 
|  | 
| #define | SPA_DEVICE_OBJECT_INFO_INIT()   ((struct spa_device_object_info){ SPA_VERSION_DEVICE_OBJECT_INFO, }) | 
|  | 
| #define | SPA_RESULT_TYPE_DEVICE_PARAMS   1 | 
|  | the result of spa_device_enum_params() 
 | 
|  | 
| #define | SPA_DEVICE_EVENT_INFO   0 | 
|  | 
| #define | SPA_DEVICE_EVENT_RESULT   1 | 
|  | 
| #define | SPA_DEVICE_EVENT_EVENT   2 | 
|  | 
| #define | SPA_DEVICE_EVENT_OBJECT_INFO   3 | 
|  | 
| #define | SPA_DEVICE_EVENT_NUM   4 | 
|  | 
| #define | SPA_VERSION_DEVICE_EVENTS   0 | 
|  | version of the structure 
 | 
|  | 
| #define | SPA_DEVICE_METHOD_ADD_LISTENER   0 | 
|  | 
| #define | SPA_DEVICE_METHOD_SYNC   1 | 
|  | 
| #define | SPA_DEVICE_METHOD_ENUM_PARAMS   2 | 
|  | 
| #define | SPA_DEVICE_METHOD_SET_PARAM   3 | 
|  | 
| #define | SPA_DEVICE_METHOD_NUM   4 | 
|  | 
| #define | SPA_VERSION_DEVICE_METHODS   0 | 
|  | 
| #define | spa_device_method(o,  method,  version, ...) | 
|  | 
| #define | spa_device_add_listener(d, ...)   spa_device_method(d, add_listener, 0, __VA_ARGS__) | 
|  | Set events to receive asynchronous notifications from the device. 
 | 
|  | 
| #define | spa_device_sync(d, ...)   spa_device_method(d, sync, 0, __VA_ARGS__) | 
|  | Perform a sync operation. 
 | 
|  | 
| #define | spa_device_enum_params(d, ...)   spa_device_method(d, enum_params, 0, __VA_ARGS__) | 
|  | Enumerate the parameters of a device. 
 | 
|  | 
| #define | spa_device_set_param(d, ...)   spa_device_method(d, set_param, 0, __VA_ARGS__) | 
|  | Set the configurable parameter in device. 
 | 
|  | 
| #define | SPA_KEY_DEVICE_ENUM_API   "device.enum.api" | 
|  | the api used to discover this device 
 | 
|  | 
| #define | SPA_KEY_DEVICE_API   "device.api" | 
|  | the api used by the device Ex. 
 | 
|  | 
| #define | SPA_KEY_DEVICE_NAME   "device.name" | 
|  | the name of the device 
 | 
|  | 
| #define | SPA_KEY_DEVICE_ALIAS   "device.alias" | 
|  | alternative name of the device 
 | 
|  | 
| #define | SPA_KEY_DEVICE_NICK   "device.nick" | 
|  | the device short name 
 | 
|  | 
| #define | SPA_KEY_DEVICE_DESCRIPTION   "device.description" | 
|  | a device description 
 | 
|  | 
| #define | SPA_KEY_DEVICE_ICON   "device.icon" | 
|  | icon for the device. 
 | 
|  | 
| #define | SPA_KEY_DEVICE_ICON_NAME   "device.icon-name" | 
|  | an XDG icon name for the device. 
 | 
|  | 
| #define | SPA_KEY_DEVICE_PLUGGED_USEC   "device.plugged.usec" | 
|  | when the device was plugged 
 | 
|  | 
| #define | SPA_KEY_DEVICE_BUS_ID   "device.bus-id" | 
|  | the device bus-id 
 | 
|  | 
| #define | SPA_KEY_DEVICE_BUS_PATH   "device.bus-path" | 
|  | bus path to the device in the OS' format. 
 | 
|  | 
| #define | SPA_KEY_DEVICE_BUS   "device.bus" | 
|  | bus of the device if applicable. 
 | 
|  | 
| #define | SPA_KEY_DEVICE_SUBSYSTEM   "device.subsystem" | 
|  | device subsystem 
 | 
|  | 
| #define | SPA_KEY_DEVICE_SYSFS_PATH   "device.sysfs.path" | 
|  | device sysfs path 
 | 
|  | 
| #define | SPA_KEY_DEVICE_VENDOR_ID   "device.vendor.id" | 
|  | vendor ID if applicable 
 | 
|  | 
| #define | SPA_KEY_DEVICE_VENDOR_NAME   "device.vendor.name" | 
|  | vendor name if applicable 
 | 
|  | 
| #define | SPA_KEY_DEVICE_PRODUCT_ID   "device.product.id" | 
|  | product ID if applicable 
 | 
|  | 
| #define | SPA_KEY_DEVICE_PRODUCT_NAME   "device.product.name" | 
|  | product name if applicable 
 | 
|  | 
| #define | SPA_KEY_DEVICE_SERIAL   "device.serial" | 
|  | Serial number if applicable. 
 | 
|  | 
| #define | SPA_KEY_DEVICE_CLASS   "device.class" | 
|  | device class 
 | 
|  | 
| #define | SPA_KEY_DEVICE_CAPABILITIES   "device.capabilities" | 
|  | api specific device capabilities 
 | 
|  | 
| #define | SPA_KEY_DEVICE_FORM_FACTOR   "device.form-factor" | 
|  | form factor if applicable. 
 | 
|  | 
| #define | SPA_KEY_DEVICE_PROFILE   "device.profile	" | 
|  | profile for the device 
 | 
|  | 
| #define | SPA_KEY_DEVICE_PROFILE_SET   "device.profile-set" | 
|  | profile set for the device 
 | 
|  | 
| #define | SPA_KEY_DEVICE_STRING   "device.string" | 
|  | device string in the underlying layer's format. 
 | 
|  | 
| #define | SPA_KEY_DEVICE_DEVIDS   "device.devids" | 
|  | space separated list of device ids (dev_t) of the underlying device(s) if applicable 
 | 
|  |