18b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann/* 28b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann * 38b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann * BlueZ - Bluetooth protocol stack for Linux 48b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann * 59184e2eeb7b97371c6b83b747c8984e2340d2b47Marcel Holtmann * Copyright (C) 2003-2010 Marcel Holtmann <marcel@holtmann.org> 68b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann * 78b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann * 88b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann * This program is free software; you can redistribute it and/or modify 9c0d524486a50e8366c12c5ebea1a4441e9db46aaMarcel Holtmann * it under the terms of the GNU General Public License as published by 10c0d524486a50e8366c12c5ebea1a4441e9db46aaMarcel Holtmann * the Free Software Foundation; either version 2 of the License, or 11c0d524486a50e8366c12c5ebea1a4441e9db46aaMarcel Holtmann * (at your option) any later version. 128b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann * 13c0d524486a50e8366c12c5ebea1a4441e9db46aaMarcel Holtmann * This program is distributed in the hope that it will be useful, 14c0d524486a50e8366c12c5ebea1a4441e9db46aaMarcel Holtmann * but WITHOUT ANY WARRANTY; without even the implied warranty of 15c0d524486a50e8366c12c5ebea1a4441e9db46aaMarcel Holtmann * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16c0d524486a50e8366c12c5ebea1a4441e9db46aaMarcel Holtmann * GNU General Public License for more details. 178b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann * 18c0d524486a50e8366c12c5ebea1a4441e9db46aaMarcel Holtmann * You should have received a copy of the GNU General Public License 19c0d524486a50e8366c12c5ebea1a4441e9db46aaMarcel Holtmann * along with this program; if not, write to the Free Software 20c0d524486a50e8366c12c5ebea1a4441e9db46aaMarcel Holtmann * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 218b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann * 228b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann */ 238b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann 248b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann#ifndef __HIDP_H 258b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann#define __HIDP_H 268b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann 278b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann#ifdef __cplusplus 288b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmannextern "C" { 298b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann#endif 308b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann 318b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann/* HIDP defaults */ 328b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann#define HIDP_MINIMUM_MTU 48 338b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann#define HIDP_DEFAULT_MTU 48 348b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann 358b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann/* HIDP ioctl defines */ 368b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann#define HIDPCONNADD _IOW('H', 200, int) 378b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann#define HIDPCONNDEL _IOW('H', 201, int) 388b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann#define HIDPGETCONNLIST _IOR('H', 210, int) 398b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann#define HIDPGETCONNINFO _IOR('H', 211, int) 408b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann 418b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann#define HIDP_VIRTUAL_CABLE_UNPLUG 0 42a4a1f2b6249f30899c8226d15d9006d878cf55b5Marcel Holtmann#define HIDP_BOOT_PROTOCOL_MODE 1 43a4a1f2b6249f30899c8226d15d9006d878cf55b5Marcel Holtmann#define HIDP_BLUETOOTH_VENDOR_ID 9 448b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann 458b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmannstruct hidp_connadd_req { 468b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann int ctrl_sock; /* Connected control socket */ 478b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann int intr_sock; /* Connected interrupt socket */ 488b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann uint16_t parser; /* Parser version */ 498b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann uint16_t rd_size; /* Report descriptor size */ 508b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann uint8_t *rd_data; /* Report descriptor data */ 518b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann uint8_t country; 52a4a1f2b6249f30899c8226d15d9006d878cf55b5Marcel Holtmann uint8_t subclass; 538b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann uint16_t vendor; 548b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann uint16_t product; 558b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann uint16_t version; 568b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann uint32_t flags; 578b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann uint32_t idle_to; 588b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann char name[128]; /* Device name */ 598b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann}; 608b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann 618b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmannstruct hidp_conndel_req { 628b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann bdaddr_t bdaddr; 638b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann uint32_t flags; 648b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann}; 658b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann 668b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmannstruct hidp_conninfo { 678b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann bdaddr_t bdaddr; 688b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann uint32_t flags; 698b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann uint16_t state; 7055543cd15f83edbc560f45bd23adae86c511d7acMarcel Holtmann uint16_t vendor; 7155543cd15f83edbc560f45bd23adae86c511d7acMarcel Holtmann uint16_t product; 7255543cd15f83edbc560f45bd23adae86c511d7acMarcel Holtmann uint16_t version; 7355543cd15f83edbc560f45bd23adae86c511d7acMarcel Holtmann char name[128]; 748b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann}; 758b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann 768b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmannstruct hidp_connlist_req { 77113e48df05d54510646b3dcf33a1df2c60e3461fMarcel Holtmann uint32_t cnum; 788b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann struct hidp_conninfo *ci; 798b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann}; 808b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann 818b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann#ifdef __cplusplus 828b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann} 838b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann#endif 848b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann 858b9071e009bb469a12095ae83178567d30e9177bMarcel Holtmann#endif /* __HIDP_H */ 86