xref: /openbsd/sys/dev/hid/hidccvar.h (revision 916dfe90)
1*916dfe90Santon /*	$OpenBSD: hidccvar.h,v 1.1 2022/11/11 06:46:48 anton Exp $	*/
2*916dfe90Santon 
3*916dfe90Santon /*
4*916dfe90Santon  * Copyright (c) 2022 Anton Lindqvist <anton@openbsd.org>
5*916dfe90Santon  *
6*916dfe90Santon  * Permission to use, copy, modify, and distribute this software for any
7*916dfe90Santon  * purpose with or without fee is hereby granted, provided that the above
8*916dfe90Santon  * copyright notice and this permission notice appear in all copies.
9*916dfe90Santon  *
10*916dfe90Santon  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11*916dfe90Santon  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12*916dfe90Santon  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13*916dfe90Santon  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14*916dfe90Santon  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15*916dfe90Santon  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16*916dfe90Santon  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17*916dfe90Santon  */
18*916dfe90Santon 
19*916dfe90Santon #include <sys/types.h>
20*916dfe90Santon 
21*916dfe90Santon struct hidcc_attach_arg {
22*916dfe90Santon 	struct device	*device;
23*916dfe90Santon 	void		*audio_cookie;
24*916dfe90Santon 
25*916dfe90Santon 	void		*desc;
26*916dfe90Santon 	int		 descsiz;
27*916dfe90Santon 	int		 repid;
28*916dfe90Santon 	int		 isize;
29*916dfe90Santon 
30*916dfe90Santon 	int		 (*enable)(void *, int);
31*916dfe90Santon 	void		*arg;
32*916dfe90Santon };
33*916dfe90Santon 
34*916dfe90Santon int		 hidcc_match(void *, int, uint8_t);
35*916dfe90Santon struct hidcc	*hidcc_attach(const struct hidcc_attach_arg *);
36*916dfe90Santon int		 hidcc_detach(struct hidcc *, int);
37*916dfe90Santon void		 hidcc_intr(struct hidcc *, void *, u_int);
38