Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/usr.sbin/bluetooth/bthidd/bthid_config.h
105784 views
1
/*
2
* bthid_config.h
3
*/
4
5
/*-
6
* SPDX-License-Identifier: BSD-2-Clause
7
*
8
* Copyright (c) 2006 Maksim Yevmenkin <[email protected]>
9
* All rights reserved.
10
*
11
* Redistribution and use in source and binary forms, with or without
12
* modification, are permitted provided that the following conditions
13
* are met:
14
* 1. Redistributions of source code must retain the above copyright
15
* notice, this list of conditions and the following disclaimer.
16
* 2. Redistributions in binary form must reproduce the above copyright
17
* notice, this list of conditions and the following disclaimer in the
18
* documentation and/or other materials provided with the distribution.
19
*
20
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
21
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
24
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30
* SUCH DAMAGE.
31
*
32
* $Id: bthid_config.h,v 1.4 2006/09/07 21:06:53 max Exp $
33
*/
34
35
#ifndef _BTHID_CONFIG_H_
36
#define _BTHID_CONFIG_H_ 1
37
38
#define BTHIDD_CONFFILE "/etc/bluetooth/bthidd.conf"
39
#define BTHIDD_HIDSFILE "/var/db/bthidd.hids"
40
41
struct hid_device
42
{
43
bdaddr_t bdaddr; /* HID device BDADDR */
44
char * name; /* HID device name */
45
uint16_t control_psm; /* control PSM */
46
uint16_t interrupt_psm; /* interrupt PSM */
47
uint16_t vendor_id; /* primary vendor id */
48
uint16_t product_id;
49
uint16_t version;
50
unsigned new_device : 1;
51
unsigned reconnect_initiate : 1;
52
unsigned battery_power : 1;
53
unsigned normally_connectable : 1;
54
unsigned keyboard : 1;
55
unsigned mouse : 1;
56
unsigned has_wheel : 1;
57
unsigned has_hwheel : 1;
58
unsigned has_cons : 1;
59
unsigned reserved : 7;
60
report_desc_t desc; /* HID report descriptor */
61
LIST_ENTRY(hid_device) next; /* link to the next */
62
};
63
typedef struct hid_device hid_device_t;
64
typedef struct hid_device * hid_device_p;
65
66
extern char const *config_file;
67
extern char const *hids_file;
68
69
int32_t read_config_file (void);
70
void clean_config (void);
71
hid_device_p get_hid_device (bdaddr_p bdaddr);
72
hid_device_p get_next_hid_device (hid_device_p d);
73
void print_hid_device (hid_device_p hid_device, FILE *f);
74
75
int32_t read_hids_file (void);
76
int32_t write_hids_file (void);
77
78
#endif /* ndef _BTHID_CONFIG_H_ */
79
80
81