xref: /openbmc/linux/include/uapi/sound/firewire.h (revision 5f32c314)
1 #ifndef _UAPI_SOUND_FIREWIRE_H_INCLUDED
2 #define _UAPI_SOUND_FIREWIRE_H_INCLUDED
3 
4 #include <linux/ioctl.h>
5 
6 /* events can be read() from the hwdep device */
7 
8 #define SNDRV_FIREWIRE_EVENT_LOCK_STATUS	0x000010cc
9 #define SNDRV_FIREWIRE_EVENT_DICE_NOTIFICATION	0xd1ce004e
10 
11 struct snd_firewire_event_common {
12 	unsigned int type; /* SNDRV_FIREWIRE_EVENT_xxx */
13 };
14 
15 struct snd_firewire_event_lock_status {
16 	unsigned int type;
17 	unsigned int status; /* 0/1 = unlocked/locked */
18 };
19 
20 struct snd_firewire_event_dice_notification {
21 	unsigned int type;
22 	unsigned int notification; /* DICE-specific bits */
23 };
24 
25 union snd_firewire_event {
26 	struct snd_firewire_event_common            common;
27 	struct snd_firewire_event_lock_status       lock_status;
28 	struct snd_firewire_event_dice_notification dice_notification;
29 };
30 
31 
32 #define SNDRV_FIREWIRE_IOCTL_GET_INFO _IOR('H', 0xf8, struct snd_firewire_get_info)
33 #define SNDRV_FIREWIRE_IOCTL_LOCK      _IO('H', 0xf9)
34 #define SNDRV_FIREWIRE_IOCTL_UNLOCK    _IO('H', 0xfa)
35 
36 #define SNDRV_FIREWIRE_TYPE_DICE	1
37 /* Fireworks, AV/C, RME, MOTU, ... */
38 
39 struct snd_firewire_get_info {
40 	unsigned int type; /* SNDRV_FIREWIRE_TYPE_xxx */
41 	unsigned int card; /* same as fw_cdev_get_info.card */
42 	unsigned char guid[8];
43 	char device_name[16]; /* device node in /dev */
44 };
45 
46 /*
47  * SNDRV_FIREWIRE_IOCTL_LOCK prevents the driver from streaming.
48  * Returns -EBUSY if the driver is already streaming.
49  */
50 
51 #endif /* _UAPI_SOUND_FIREWIRE_H_INCLUDED */
52