• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  *
3  *  BlueZ - Bluetooth protocol stack for Linux
4  *
5  *  Copyright (C) 2003-2010  Marcel Holtmann <marcel@holtmann.org>
6  *
7  *
8  *  This program is free software; you can redistribute it and/or modify
9  *  it under the terms of the GNU General Public License as published by
10  *  the Free Software Foundation; either version 2 of the License, or
11  *  (at your option) any later version.
12  *
13  *  This program is distributed in the hope that it will be useful,
14  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
15  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16  *  GNU General Public License for more details.
17  *
18  *  You should have received a copy of the GNU General Public License
19  *  along with this program; if not, write to the Free Software
20  *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
21  *
22  */
23 
24 #ifndef __HIDP_H
25 #define __HIDP_H
26 
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30 
31 /* HIDP defaults */
32 #define HIDP_MINIMUM_MTU 48
33 #define HIDP_DEFAULT_MTU 48
34 
35 /* HIDP ioctl defines */
36 #define HIDPCONNADD	_IOW('H', 200, int)
37 #define HIDPCONNDEL	_IOW('H', 201, int)
38 #define HIDPGETCONNLIST	_IOR('H', 210, int)
39 #define HIDPGETCONNINFO	_IOR('H', 211, int)
40 
41 #define HIDP_VIRTUAL_CABLE_UNPLUG	0
42 #define HIDP_BOOT_PROTOCOL_MODE		1
43 #define HIDP_BLUETOOTH_VENDOR_ID	9
44 
45 struct hidp_connadd_req {
46 	int ctrl_sock;		/* Connected control socket */
47 	int intr_sock;		/* Connected interrupt socket */
48 	uint16_t parser;	/* Parser version */
49 	uint16_t rd_size;	/* Report descriptor size */
50 	uint8_t *rd_data;	/* Report descriptor data */
51 	uint8_t  country;
52 	uint8_t  subclass;
53 	uint16_t vendor;
54 	uint16_t product;
55 	uint16_t version;
56 	uint32_t flags;
57 	uint32_t idle_to;
58 	char name[128];		/* Device name */
59 };
60 
61 struct hidp_conndel_req {
62 	bdaddr_t bdaddr;
63 	uint32_t flags;
64 };
65 
66 struct hidp_conninfo {
67 	bdaddr_t bdaddr;
68 	uint32_t flags;
69 	uint16_t state;
70 	uint16_t vendor;
71 	uint16_t product;
72 	uint16_t version;
73 	char name[128];
74 };
75 
76 struct hidp_connlist_req {
77 	uint32_t cnum;
78 	struct hidp_conninfo *ci;
79 };
80 
81 #ifdef __cplusplus
82 }
83 #endif
84 
85 #endif /* __HIDP_H */
86