1 /*
2  * This file is subject to the terms and conditions of the GNU General Public
3  * License.  See the file "COPYING" in the main directory of this archive
4  * for more details.
5  *
6  * usema/usemaclone-related stuff.
7  *
8  * `Inspired' by IRIX's sys/usioctl.h
9  *
10  * Mike.
11  */
12 #ifndef _ASM_USIOCTL_H
13 #define _ASM_USIOCTL_H
14 
15 /* ioctls */
16 #define UIOC	('u' << 16 | 's' << 8)
17 
18 #define UIOCATTACHSEMA	(UIOC|2)	/* attach to sema */
19 #define UIOCBLOCK	(UIOC|3)	/* block sync "intr"? */
20 #define UIOCABLOCK	(UIOC|4)	/* block async */
21 #define UIOCNOIBLOCK	(UIOC|5)	/* IRIX: block sync intr
22 					   Linux: block sync nointr */
23 #define UIOCUNBLOCK	(UIOC|6)	/* unblock sync */
24 #define UIOCAUNBLOCK	(UIOC|7)	/* unblock async */
25 #define UIOCINIT	(UIOC|8)	/* init sema (async) */
26 
27 typedef struct usattach_s {
28   dev_t	us_dev;		/* attach dev */
29   void	*us_handle;	/* userland semaphore handle */
30 } usattach_t;
31 
32 #endif /* _ASM_USIOCTL_H */
33