天嵌二次封装库使用手册  V1.0
rfcomm.h
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3  *
4  * BlueZ - Bluetooth protocol stack for Linux
5  *
6  * Copyright (C) 2002-2003 Maxim Krasnyansky <maxk@qualcomm.com>
7  * Copyright (C) 2002-2010 Marcel Holtmann <marcel@holtmann.org>
8  *
9  *
10  */
11 
12 #ifndef __RFCOMM_H
13 #define __RFCOMM_H
14 
15 #ifdef __cplusplus
16 extern "C" {
17 #endif
18 
19 #include <sys/socket.h>
20 
21 /* RFCOMM defaults */
22 #define RFCOMM_DEFAULT_MTU 127
23 
24 #define RFCOMM_PSM 3
25 
26 /* RFCOMM socket address */
27 struct sockaddr_rc {
28  sa_family_t rc_family;
29  bdaddr_t rc_bdaddr;
30  uint8_t rc_channel;
31 };
32 
33 /* RFCOMM socket options */
34 #define RFCOMM_CONNINFO 0x02
36  uint16_t hci_handle;
37  uint8_t dev_class[3];
38 };
39 
40 #define RFCOMM_LM 0x03
41 #define RFCOMM_LM_MASTER 0x0001
42 #define RFCOMM_LM_AUTH 0x0002
43 #define RFCOMM_LM_ENCRYPT 0x0004
44 #define RFCOMM_LM_TRUSTED 0x0008
45 #define RFCOMM_LM_RELIABLE 0x0010
46 #define RFCOMM_LM_SECURE 0x0020
47 
48 /* RFCOMM TTY support */
49 #define RFCOMM_MAX_DEV 256
50 
51 #define RFCOMMCREATEDEV _IOW('R', 200, int)
52 #define RFCOMMRELEASEDEV _IOW('R', 201, int)
53 #define RFCOMMGETDEVLIST _IOR('R', 210, int)
54 #define RFCOMMGETDEVINFO _IOR('R', 211, int)
55 
57  int16_t dev_id;
58  uint32_t flags;
59  bdaddr_t src;
60  bdaddr_t dst;
61  uint8_t channel;
62 };
63 #define RFCOMM_REUSE_DLC 0
64 #define RFCOMM_RELEASE_ONHUP 1
65 #define RFCOMM_HANGUP_NOW 2
66 #define RFCOMM_TTY_ATTACHED 3
67 
69  int16_t id;
70  uint32_t flags;
71  uint16_t state;
72  bdaddr_t src;
73  bdaddr_t dst;
74  uint8_t channel;
75 };
76 
78  uint16_t dev_num;
79  struct rfcomm_dev_info dev_info[0];
80 };
81 
82 #ifdef __cplusplus
83 }
84 #endif
85 
86 #endif /* __RFCOMM_H */
Definition: rfcomm.h:35
Definition: rfcomm.h:77
Definition: rfcomm.h:27
Definition: rfcomm.h:68
Definition: rfcomm.h:56