| 
| #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()  More...
  | 
|   | 
| #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  More...
  | 
|   | 
| #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.   More...
  | 
|   | 
| #define  | spa_device_sync(d, ...)   spa_device_method(d, sync, 0, __VA_ARGS__) | 
|   | Perform a sync operation.   More...
  | 
|   | 
| #define  | spa_device_enum_params(d, ...)   spa_device_method(d, enum_params, 0, __VA_ARGS__) | 
|   | Enumerate the parameters of a device.   More...
  | 
|   | 
| #define  | spa_device_set_param(d, ...)   spa_device_method(d, set_param, 0, __VA_ARGS__) | 
|   | Set the configurable parameter in device.   More...
  | 
|   | 
| #define  | SPA_KEY_DEVICE_ENUM_API   "device.enum.api" | 
|   | the api used to discover this device  More...
  | 
|   | 
| #define  | SPA_KEY_DEVICE_API   "device.api" | 
|   | the api used by the device Ex.  More...
  | 
|   | 
| #define  | SPA_KEY_DEVICE_NAME   "device.name" | 
|   | the name of the device  More...
  | 
|   | 
| #define  | SPA_KEY_DEVICE_ALIAS   "device.alias" | 
|   | alternative name of the device  More...
  | 
|   | 
| #define  | SPA_KEY_DEVICE_NICK   "device.nick" | 
|   | the device short name  More...
  | 
|   | 
| #define  | SPA_KEY_DEVICE_DESCRIPTION   "device.description" | 
|   | a device description  More...
  | 
|   | 
| #define  | SPA_KEY_DEVICE_ICON   "device.icon" | 
|   | icon for the device.  More...
  | 
|   | 
| #define  | SPA_KEY_DEVICE_ICON_NAME   "device.icon-name" | 
|   | an XDG icon name for the device.  More...
  | 
|   | 
| #define  | SPA_KEY_DEVICE_PLUGGED_USEC   "device.plugged.usec" | 
|   | when the device was plugged  More...
  | 
|   | 
| #define  | SPA_KEY_DEVICE_BUS_ID   "device.bus-id" | 
|   | the device bus-id  More...
  | 
|   | 
| #define  | SPA_KEY_DEVICE_BUS_PATH   "device.bus-path" | 
|   | bus path to the device in the OS' format.  More...
  | 
|   | 
| #define  | SPA_KEY_DEVICE_BUS   "device.bus" | 
|   | bus of the device if applicable.  More...
  | 
|   | 
| #define  | SPA_KEY_DEVICE_SUBSYSTEM   "device.subsystem" | 
|   | device subsystem  More...
  | 
|   | 
| #define  | SPA_KEY_DEVICE_SYSFS_PATH   "device.sysfs.path" | 
|   | device sysfs path  More...
  | 
|   | 
| #define  | SPA_KEY_DEVICE_VENDOR_ID   "device.vendor.id" | 
|   | vendor ID if applicable  More...
  | 
|   | 
| #define  | SPA_KEY_DEVICE_VENDOR_NAME   "device.vendor.name" | 
|   | vendor name if applicable  More...
  | 
|   | 
| #define  | SPA_KEY_DEVICE_PRODUCT_ID   "device.product.id" | 
|   | product ID if applicable  More...
  | 
|   | 
| #define  | SPA_KEY_DEVICE_PRODUCT_NAME   "device.product.name" | 
|   | product name if applicable  More...
  | 
|   | 
| #define  | SPA_KEY_DEVICE_SERIAL   "device.serial" | 
|   | Serial number if applicable.  More...
  | 
|   | 
| #define  | SPA_KEY_DEVICE_CLASS   "device.class" | 
|   | device class  More...
  | 
|   | 
| #define  | SPA_KEY_DEVICE_CAPABILITIES   "device.capabilities" | 
|   | api specific device capabilities  More...
  | 
|   | 
| #define  | SPA_KEY_DEVICE_FORM_FACTOR   "device.form-factor" | 
|   | form factor if applicable.  More...
  | 
|   | 
| #define  | SPA_KEY_DEVICE_PROFILE   "device.profile	" | 
|   | profile for the device  More...
  | 
|   | 
| #define  | SPA_KEY_DEVICE_PROFILE_SET   "device.profile-set" | 
|   | profile set for the device  More...
  | 
|   | 
| #define  | SPA_KEY_DEVICE_STRING   "device.string" | 
|   | device string in the underlying layer's format.  More...
  | 
|   | 
| #define  | SPA_KEY_DEVICE_DEVIDS   "device.devids" | 
|   | space separated list of device ids (dev_t) of the underlying device(s) if applicable  More...
  | 
|   |