xref: /freebsd/usr.sbin/bluetooth/bthidd/bthid_config.h (revision 6490c2ffabe2a6e5df2545d164f1c257e0d471de)
16490c2ffSMaksim Yevmenkin /*
26490c2ffSMaksim Yevmenkin  * bthid_config.h
36490c2ffSMaksim Yevmenkin  *
46490c2ffSMaksim Yevmenkin  * Copyright (c) 2004 Maksim Yevmenkin <m_evmenkin@yahoo.com>
56490c2ffSMaksim Yevmenkin  * All rights reserved.
66490c2ffSMaksim Yevmenkin  *
76490c2ffSMaksim Yevmenkin  * Redistribution and use in source and binary forms, with or without
86490c2ffSMaksim Yevmenkin  * modification, are permitted provided that the following conditions
96490c2ffSMaksim Yevmenkin  * are met:
106490c2ffSMaksim Yevmenkin  * 1. Redistributions of source code must retain the above copyright
116490c2ffSMaksim Yevmenkin  *    notice, this list of conditions and the following disclaimer.
126490c2ffSMaksim Yevmenkin  * 2. Redistributions in binary form must reproduce the above copyright
136490c2ffSMaksim Yevmenkin  *    notice, this list of conditions and the following disclaimer in the
146490c2ffSMaksim Yevmenkin  *    documentation and/or other materials provided with the distribution.
156490c2ffSMaksim Yevmenkin  *
166490c2ffSMaksim Yevmenkin  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
176490c2ffSMaksim Yevmenkin  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
186490c2ffSMaksim Yevmenkin  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
196490c2ffSMaksim Yevmenkin  * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
206490c2ffSMaksim Yevmenkin  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
216490c2ffSMaksim Yevmenkin  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
226490c2ffSMaksim Yevmenkin  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
236490c2ffSMaksim Yevmenkin  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
246490c2ffSMaksim Yevmenkin  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
256490c2ffSMaksim Yevmenkin  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
266490c2ffSMaksim Yevmenkin  * SUCH DAMAGE.
276490c2ffSMaksim Yevmenkin  *
286490c2ffSMaksim Yevmenkin  * $Id: bthid_config.h,v 1.3 2004/02/17 22:05:02 max Exp $
296490c2ffSMaksim Yevmenkin  * $FreeBSD$
306490c2ffSMaksim Yevmenkin  */
316490c2ffSMaksim Yevmenkin 
326490c2ffSMaksim Yevmenkin #ifndef _BTHID_CONFIG_H_
336490c2ffSMaksim Yevmenkin #define _BTHID_CONFIG_H_ 1
346490c2ffSMaksim Yevmenkin 
356490c2ffSMaksim Yevmenkin #define BTHIDD_CONFFILE		"/etc/bluetooth/bthidd.conf"
366490c2ffSMaksim Yevmenkin #define BTHIDD_HIDSFILE		"/var/db/bthidd.hids"
376490c2ffSMaksim Yevmenkin 
386490c2ffSMaksim Yevmenkin struct hid_device
396490c2ffSMaksim Yevmenkin {
406490c2ffSMaksim Yevmenkin 	bdaddr_t		bdaddr;		/* HID device BDADDR */
416490c2ffSMaksim Yevmenkin 	uint16_t		control_psm;	/* control PSM */
426490c2ffSMaksim Yevmenkin 	uint16_t		interrupt_psm;	/* interrupt PSM */
436490c2ffSMaksim Yevmenkin 	unsigned		new_device           : 1;
446490c2ffSMaksim Yevmenkin 	unsigned		reconnect_initiate   : 1;
456490c2ffSMaksim Yevmenkin 	unsigned		battery_power        : 1;
466490c2ffSMaksim Yevmenkin 	unsigned		normally_connectable : 1;
476490c2ffSMaksim Yevmenkin 	unsigned		reserved             : 12;
486490c2ffSMaksim Yevmenkin 	report_desc_t		desc;		/* HID report descriptor */
496490c2ffSMaksim Yevmenkin 	LIST_ENTRY(hid_device)	next;		/* link to the next */
506490c2ffSMaksim Yevmenkin };
516490c2ffSMaksim Yevmenkin typedef struct hid_device	hid_device_t;
526490c2ffSMaksim Yevmenkin typedef struct hid_device *	hid_device_p;
536490c2ffSMaksim Yevmenkin 
546490c2ffSMaksim Yevmenkin extern char	*config_file;
556490c2ffSMaksim Yevmenkin extern char	*hids_file;
566490c2ffSMaksim Yevmenkin 
576490c2ffSMaksim Yevmenkin int		read_config_file	(void);
586490c2ffSMaksim Yevmenkin void		clean_config		(void);
596490c2ffSMaksim Yevmenkin hid_device_p	get_hid_device		(bdaddr_p bdaddr);
606490c2ffSMaksim Yevmenkin hid_device_p	get_next_hid_device	(hid_device_p d);
616490c2ffSMaksim Yevmenkin void		print_hid_device	(hid_device_p hid_device, FILE *f);
626490c2ffSMaksim Yevmenkin 
636490c2ffSMaksim Yevmenkin int		read_hids_file		(void);
646490c2ffSMaksim Yevmenkin int		write_hids_file		(void);
656490c2ffSMaksim Yevmenkin 
666490c2ffSMaksim Yevmenkin #endif /* ndef _BTHID_CONFIG_H_ */
676490c2ffSMaksim Yevmenkin 
68