FreeBSD kernel netgraph code
ng_btsocket_rfcomm.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  rfcomm_frame_hdr
 
struct  rfcomm_cmd_hdr
 
struct  rfcomm_mcc_hdr
 
struct  rfcomm_mcc_msc
 
struct  rfcomm_mcc_rpn
 
struct  rfcomm_mcc_rls
 
struct  rfcomm_mcc_pn
 
struct  ng_btsocket_rfcomm_session
 
struct  ng_btsocket_rfcomm_pcb
 

Macros

#define RFCOMM_DEFAULT_MTU   667
 
#define RFCOMM_MAX_MTU   1024
 
#define RFCOMM_DEFAULT_CREDITS   7
 
#define RFCOMM_MAX_CREDITS   40
 
#define RFCOMM_FRAME_SABM   0x2f
 
#define RFCOMM_FRAME_DISC   0x43
 
#define RFCOMM_FRAME_UA   0x63
 
#define RFCOMM_FRAME_DM   0x0f
 
#define RFCOMM_FRAME_UIH   0xef
 
#define RFCOMM_MCC_TEST   0x08 /* Test */
 
#define RFCOMM_MCC_FCON   0x28 /* Flow Control on */
 
#define RFCOMM_MCC_FCOFF   0x18 /* Flow Control off */
 
#define RFCOMM_MCC_MSC   0x38 /* Modem Status Command */
 
#define RFCOMM_MCC_RPN   0x24 /* Remote Port Negotiation */
 
#define RFCOMM_MCC_RLS   0x14 /* Remote Line Status */
 
#define RFCOMM_MCC_PN   0x20 /* Port Negotiation */
 
#define RFCOMM_MCC_NSC   0x04 /* Non Supported Command */
 
#define RFCOMM_MODEM_FC   0x02 /* Flow Control asserted */
 
#define RFCOMM_MODEM_RTC   0x04 /* Ready To Communicate */
 
#define RFCOMM_MODEM_RTR   0x08 /* Ready To Receive */
 
#define RFCOMM_MODEM_IC   0x40 /* Incoming Call */
 
#define RFCOMM_MODEM_DV   0x80 /* Data Valid */
 
#define RFCOMM_RPN_BR_2400   0x0
 
#define RFCOMM_RPN_BR_4800   0x1
 
#define RFCOMM_RPN_BR_7200   0x2
 
#define RFCOMM_RPN_BR_9600   0x3
 
#define RFCOMM_RPN_BR_19200   0x4
 
#define RFCOMM_RPN_BR_38400   0x5
 
#define RFCOMM_RPN_BR_57600   0x6
 
#define RFCOMM_RPN_BR_115200   0x7
 
#define RFCOMM_RPN_BR_230400   0x8
 
#define RFCOMM_RPN_DATA_5   0x0
 
#define RFCOMM_RPN_DATA_6   0x2
 
#define RFCOMM_RPN_DATA_7   0x1
 
#define RFCOMM_RPN_DATA_8   0x3
 
#define RFCOMM_RPN_STOP_1   0
 
#define RFCOMM_RPN_STOP_15   1
 
#define RFCOMM_RPN_PARITY_NONE   0x0
 
#define RFCOMM_RPN_PARITY_ODD   0x4
 
#define RFCOMM_RPN_PARITY_EVEN   0x5
 
#define RFCOMM_RPN_PARITY_MARK   0x6
 
#define RFCOMM_RPN_PARITY_SPACE   0x7
 
#define RFCOMM_RPN_FLOW_NONE   0x00
 
#define RFCOMM_RPN_XON_CHAR   0x11
 
#define RFCOMM_RPN_XOFF_CHAR   0x13
 
#define RFCOMM_RPN_PM_BITRATE   0x0001
 
#define RFCOMM_RPN_PM_DATA   0x0002
 
#define RFCOMM_RPN_PM_STOP   0x0004
 
#define RFCOMM_RPN_PM_PARITY   0x0008
 
#define RFCOMM_RPN_PM_PARITY_TYPE   0x0010
 
#define RFCOMM_RPN_PM_XON   0x0020
 
#define RFCOMM_RPN_PM_XOFF   0x0040
 
#define RFCOMM_RPN_PM_FLOW   0x3F00
 
#define RFCOMM_RPN_PM_ALL   0x3F7F
 
#define RFCOMM_DLCI(b)   (((b) & 0xfc) >> 2)
 
#define RFCOMM_CHANNEL(b)   (((b) & 0xf8) >> 3)
 
#define RFCOMM_DIRECTION(b)   (((b) & 0x04) >> 2)
 
#define RFCOMM_TYPE(b)   (((b) & 0xef))
 
#define RFCOMM_EA(b)   (((b) & 0x01))
 
#define RFCOMM_CR(b)   (((b) & 0x02) >> 1)
 
#define RFCOMM_PF(b)   (((b) & 0x10) >> 4)
 
#define RFCOMM_SRVCHANNEL(dlci)   ((dlci) >> 1)
 
#define RFCOMM_MKADDRESS(cr, dlci)    ((((dlci) & 0x3f) << 2) | ((cr) << 1) | 0x01)
 
#define RFCOMM_MKCONTROL(type, pf)   ((((type) & 0xef) | ((pf) << 4)))
 
#define RFCOMM_MKDLCI(dir, channel)   ((((channel) & 0x1f) << 1) | (dir))
 
#define RFCOMM_MKLEN8(len)   (((len) << 1) | 1)
 
#define RFCOMM_MKLEN16(len)   ((len) << 1)
 
#define RFCOMM_MCC_TYPE(b)   (((b) & 0xfc) >> 2)
 
#define RFCOMM_MCC_LENGTH(b)   (((b) & 0xfe) >> 1)
 
#define RFCOMM_MKMCC_TYPE(cr, type)   ((((type) << 2) | ((cr) << 1) | 0x01))
 
#define RFCOMM_RPN_DATA_BITS(line)   ((line) & 0x3)
 
#define RFCOMM_RPN_STOP_BITS(line)   (((line) >> 2) & 0x1)
 
#define RFCOMM_RPN_PARITY(line)   (((line) >> 3) & 0x3)
 
#define RFCOMM_MKRPN_LINE_SETTINGS(data, stop, parity)    (((data) & 0x3) | (((stop) & 0x1) << 2) | (((parity) & 0x3) << 3))
 
#define NG_BTSOCKET_RFCOMM_SENDSPACE    (RFCOMM_MAX_CREDITS * RFCOMM_DEFAULT_MTU * 2)
 
#define NG_BTSOCKET_RFCOMM_RECVSPACE    (RFCOMM_MAX_CREDITS * RFCOMM_DEFAULT_MTU * 2)
 
#define NG_BTSOCKET_RFCOMM_SESSION_CLOSED   0
 
#define NG_BTSOCKET_RFCOMM_SESSION_LISTENING   1
 
#define NG_BTSOCKET_RFCOMM_SESSION_CONNECTING   2
 
#define NG_BTSOCKET_RFCOMM_SESSION_CONNECTED   3
 
#define NG_BTSOCKET_RFCOMM_SESSION_OPEN   4
 
#define NG_BTSOCKET_RFCOMM_SESSION_DISCONNECTING   5
 
#define NG_BTSOCKET_RFCOMM_SESSION_INITIATOR   (1 << 0) /* initiator */
 
#define NG_BTSOCKET_RFCOMM_SESSION_LFC   (1 << 1) /* local flow */
 
#define NG_BTSOCKET_RFCOMM_SESSION_RFC   (1 << 2) /* remote flow */
 
#define INITIATOR(s)    (((s)->flags & NG_BTSOCKET_RFCOMM_SESSION_INITIATOR)? 1 : 0)
 
#define NG_BTSOCKET_RFCOMM_DLC_TIMO   (1 << 0) /* timeout pending */
 
#define NG_BTSOCKET_RFCOMM_DLC_CFC   (1 << 1) /* credit flow ctrl */
 
#define NG_BTSOCKET_RFCOMM_DLC_TIMEDOUT   (1 << 2) /* timeout happened */
 
#define NG_BTSOCKET_RFCOMM_DLC_DETACHED   (1 << 3) /* DLC detached */
 
#define NG_BTSOCKET_RFCOMM_DLC_SENDING   (1 << 4) /* send pending */
 
#define NG_BTSOCKET_RFCOMM_DLC_CLOSED   0
 
#define NG_BTSOCKET_RFCOMM_DLC_W4_CONNECT   1
 
#define NG_BTSOCKET_RFCOMM_DLC_CONFIGURING   2
 
#define NG_BTSOCKET_RFCOMM_DLC_CONNECTING   3
 
#define NG_BTSOCKET_RFCOMM_DLC_CONNECTED   4
 
#define NG_BTSOCKET_RFCOMM_DLC_DISCONNECTING   5
 
#define so2rfcomm_pcb(so)    ((struct ng_btsocket_rfcomm_pcb *)((so)->so_pcb))
 

Typedefs

typedef struct ng_btsocket_rfcomm_session ng_btsocket_rfcomm_session_t
 
typedef struct ng_btsocket_rfcomm_sessionng_btsocket_rfcomm_session_p
 
typedef struct ng_btsocket_rfcomm_pcb ng_btsocket_rfcomm_pcb_t
 
typedef struct ng_btsocket_rfcomm_pcbng_btsocket_rfcomm_pcb_p
 

Functions

struct rfcomm_frame_hdr __attribute__ ((packed))
 
void ng_btsocket_rfcomm_abort (struct socket *)
 
void ng_btsocket_rfcomm_close (struct socket *)
 
int ng_btsocket_rfcomm_accept (struct socket *, struct sockaddr **)
 
int ng_btsocket_rfcomm_attach (struct socket *, int, struct thread *)
 
int ng_btsocket_rfcomm_bind (struct socket *, struct sockaddr *, struct thread *)
 
int ng_btsocket_rfcomm_connect (struct socket *, struct sockaddr *, struct thread *)
 
int ng_btsocket_rfcomm_control (struct socket *, u_long, caddr_t, struct ifnet *, struct thread *)
 
int ng_btsocket_rfcomm_ctloutput (struct socket *, struct sockopt *)
 
void ng_btsocket_rfcomm_detach (struct socket *)
 
int ng_btsocket_rfcomm_disconnect (struct socket *)
 
int ng_btsocket_rfcomm_listen (struct socket *, int, struct thread *)
 
int ng_btsocket_rfcomm_peeraddr (struct socket *, struct sockaddr **)
 
int ng_btsocket_rfcomm_send (struct socket *, int, struct mbuf *, struct sockaddr *, struct mbuf *, struct thread *)
 
int ng_btsocket_rfcomm_sockaddr (struct socket *, struct sockaddr **)
 

Variables

u_int8_t address
 
u_int8_t control
 
u_int8_t length
 
u_int8_t fcs
 
u_int8_t type
 
u_int8_t modem
 
u_int8_t dlci
 
u_int8_t bit_rate
 
u_int8_t line_settings
 
u_int8_t flow_control
 
u_int8_t xon_char
 
u_int8_t xoff_char
 
u_int16_t param_mask
 
u_int8_t status
 
u_int8_t priority
 
u_int8_t ack_timer
 
u_int16_t mtu
 
u_int8_t max_retrans
 
u_int8_t credits
 
struct ng_btsocket_rfcomm_session __attribute__
 

Macro Definition Documentation

◆ INITIATOR

#define INITIATOR (   s)     (((s)->flags & NG_BTSOCKET_RFCOMM_SESSION_INITIATOR)? 1 : 0)

Definition at line 250 of file ng_btsocket_rfcomm.h.

◆ NG_BTSOCKET_RFCOMM_DLC_CFC

#define NG_BTSOCKET_RFCOMM_DLC_CFC   (1 << 1) /* credit flow ctrl */

Definition at line 274 of file ng_btsocket_rfcomm.h.

◆ NG_BTSOCKET_RFCOMM_DLC_CLOSED

#define NG_BTSOCKET_RFCOMM_DLC_CLOSED   0

Definition at line 280 of file ng_btsocket_rfcomm.h.

◆ NG_BTSOCKET_RFCOMM_DLC_CONFIGURING

#define NG_BTSOCKET_RFCOMM_DLC_CONFIGURING   2

Definition at line 282 of file ng_btsocket_rfcomm.h.

◆ NG_BTSOCKET_RFCOMM_DLC_CONNECTED

#define NG_BTSOCKET_RFCOMM_DLC_CONNECTED   4

Definition at line 284 of file ng_btsocket_rfcomm.h.

◆ NG_BTSOCKET_RFCOMM_DLC_CONNECTING

#define NG_BTSOCKET_RFCOMM_DLC_CONNECTING   3

Definition at line 283 of file ng_btsocket_rfcomm.h.

◆ NG_BTSOCKET_RFCOMM_DLC_DETACHED

#define NG_BTSOCKET_RFCOMM_DLC_DETACHED   (1 << 3) /* DLC detached */

Definition at line 276 of file ng_btsocket_rfcomm.h.

◆ NG_BTSOCKET_RFCOMM_DLC_DISCONNECTING

#define NG_BTSOCKET_RFCOMM_DLC_DISCONNECTING   5

Definition at line 285 of file ng_btsocket_rfcomm.h.

◆ NG_BTSOCKET_RFCOMM_DLC_SENDING

#define NG_BTSOCKET_RFCOMM_DLC_SENDING   (1 << 4) /* send pending */

Definition at line 277 of file ng_btsocket_rfcomm.h.

◆ NG_BTSOCKET_RFCOMM_DLC_TIMEDOUT

#define NG_BTSOCKET_RFCOMM_DLC_TIMEDOUT   (1 << 2) /* timeout happened */

Definition at line 275 of file ng_btsocket_rfcomm.h.

◆ NG_BTSOCKET_RFCOMM_DLC_TIMO

#define NG_BTSOCKET_RFCOMM_DLC_TIMO   (1 << 0) /* timeout pending */

Definition at line 273 of file ng_btsocket_rfcomm.h.

◆ NG_BTSOCKET_RFCOMM_DLC_W4_CONNECT

#define NG_BTSOCKET_RFCOMM_DLC_W4_CONNECT   1

Definition at line 281 of file ng_btsocket_rfcomm.h.

◆ NG_BTSOCKET_RFCOMM_RECVSPACE

#define NG_BTSOCKET_RFCOMM_RECVSPACE    (RFCOMM_MAX_CREDITS * RFCOMM_DEFAULT_MTU * 2)

Definition at line 224 of file ng_btsocket_rfcomm.h.

◆ NG_BTSOCKET_RFCOMM_SENDSPACE

#define NG_BTSOCKET_RFCOMM_SENDSPACE    (RFCOMM_MAX_CREDITS * RFCOMM_DEFAULT_MTU * 2)

Definition at line 222 of file ng_btsocket_rfcomm.h.

◆ NG_BTSOCKET_RFCOMM_SESSION_CLOSED

#define NG_BTSOCKET_RFCOMM_SESSION_CLOSED   0

Definition at line 238 of file ng_btsocket_rfcomm.h.

◆ NG_BTSOCKET_RFCOMM_SESSION_CONNECTED

#define NG_BTSOCKET_RFCOMM_SESSION_CONNECTED   3

Definition at line 241 of file ng_btsocket_rfcomm.h.

◆ NG_BTSOCKET_RFCOMM_SESSION_CONNECTING

#define NG_BTSOCKET_RFCOMM_SESSION_CONNECTING   2

Definition at line 240 of file ng_btsocket_rfcomm.h.

◆ NG_BTSOCKET_RFCOMM_SESSION_DISCONNECTING

#define NG_BTSOCKET_RFCOMM_SESSION_DISCONNECTING   5

Definition at line 243 of file ng_btsocket_rfcomm.h.

◆ NG_BTSOCKET_RFCOMM_SESSION_INITIATOR

#define NG_BTSOCKET_RFCOMM_SESSION_INITIATOR   (1 << 0) /* initiator */

Definition at line 246 of file ng_btsocket_rfcomm.h.

◆ NG_BTSOCKET_RFCOMM_SESSION_LFC

#define NG_BTSOCKET_RFCOMM_SESSION_LFC   (1 << 1) /* local flow */

Definition at line 247 of file ng_btsocket_rfcomm.h.

◆ NG_BTSOCKET_RFCOMM_SESSION_LISTENING

#define NG_BTSOCKET_RFCOMM_SESSION_LISTENING   1

Definition at line 239 of file ng_btsocket_rfcomm.h.

◆ NG_BTSOCKET_RFCOMM_SESSION_OPEN

#define NG_BTSOCKET_RFCOMM_SESSION_OPEN   4

Definition at line 242 of file ng_btsocket_rfcomm.h.

◆ NG_BTSOCKET_RFCOMM_SESSION_RFC

#define NG_BTSOCKET_RFCOMM_SESSION_RFC   (1 << 2) /* remote flow */

Definition at line 248 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_CHANNEL

#define RFCOMM_CHANNEL (   b)    (((b) & 0xf8) >> 3)

Definition at line 185 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_CR

#define RFCOMM_CR (   b)    (((b) & 0x02) >> 1)

Definition at line 190 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_DEFAULT_CREDITS

#define RFCOMM_DEFAULT_CREDITS   7

Definition at line 50 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_DEFAULT_MTU

#define RFCOMM_DEFAULT_MTU   667

Definition at line 47 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_DIRECTION

#define RFCOMM_DIRECTION (   b)    (((b) & 0x04) >> 2)

Definition at line 186 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_DLCI

#define RFCOMM_DLCI (   b)    (((b) & 0xfc) >> 2)

Definition at line 184 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_EA

#define RFCOMM_EA (   b)    (((b) & 0x01))

Definition at line 189 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_FRAME_DISC

#define RFCOMM_FRAME_DISC   0x43

Definition at line 55 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_FRAME_DM

#define RFCOMM_FRAME_DM   0x0f

Definition at line 57 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_FRAME_SABM

#define RFCOMM_FRAME_SABM   0x2f

Definition at line 54 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_FRAME_UA

#define RFCOMM_FRAME_UA   0x63

Definition at line 56 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_FRAME_UIH

#define RFCOMM_FRAME_UIH   0xef

Definition at line 58 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_MAX_CREDITS

#define RFCOMM_MAX_CREDITS   40

Definition at line 51 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_MAX_MTU

#define RFCOMM_MAX_MTU   1024

Definition at line 48 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_MCC_FCOFF

#define RFCOMM_MCC_FCOFF   0x18 /* Flow Control off */

Definition at line 63 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_MCC_FCON

#define RFCOMM_MCC_FCON   0x28 /* Flow Control on */

Definition at line 62 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_MCC_LENGTH

#define RFCOMM_MCC_LENGTH (   b)    (((b) & 0xfe) >> 1)

Definition at line 206 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_MCC_MSC

#define RFCOMM_MCC_MSC   0x38 /* Modem Status Command */

Definition at line 64 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_MCC_NSC

#define RFCOMM_MCC_NSC   0x04 /* Non Supported Command */

Definition at line 68 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_MCC_PN

#define RFCOMM_MCC_PN   0x20 /* Port Negotiation */

Definition at line 67 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_MCC_RLS

#define RFCOMM_MCC_RLS   0x14 /* Remote Line Status */

Definition at line 66 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_MCC_RPN

#define RFCOMM_MCC_RPN   0x24 /* Remote Port Negotiation */

Definition at line 65 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_MCC_TEST

#define RFCOMM_MCC_TEST   0x08 /* Test */

Definition at line 61 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_MCC_TYPE

#define RFCOMM_MCC_TYPE (   b)    (((b) & 0xfc) >> 2)

Definition at line 205 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_MKADDRESS

#define RFCOMM_MKADDRESS (   cr,
  dlci 
)     ((((dlci) & 0x3f) << 2) | ((cr) << 1) | 0x01)

Definition at line 195 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_MKCONTROL

#define RFCOMM_MKCONTROL (   type,
  pf 
)    ((((type) & 0xef) | ((pf) << 4)))

Definition at line 198 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_MKDLCI

#define RFCOMM_MKDLCI (   dir,
  channel 
)    ((((channel) & 0x1f) << 1) | (dir))

Definition at line 199 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_MKLEN16

#define RFCOMM_MKLEN16 (   len)    ((len) << 1)

Definition at line 202 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_MKLEN8

#define RFCOMM_MKLEN8 (   len)    (((len) << 1) | 1)

Definition at line 201 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_MKMCC_TYPE

#define RFCOMM_MKMCC_TYPE (   cr,
  type 
)    ((((type) << 2) | ((cr) << 1) | 0x01))

Definition at line 207 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_MKRPN_LINE_SETTINGS

#define RFCOMM_MKRPN_LINE_SETTINGS (   data,
  stop,
  parity 
)     (((data) & 0x3) | (((stop) & 0x1) << 2) | (((parity) & 0x3) << 3))

Definition at line 213 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_MODEM_DV

#define RFCOMM_MODEM_DV   0x80 /* Data Valid */

Definition at line 75 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_MODEM_FC

#define RFCOMM_MODEM_FC   0x02 /* Flow Control asserted */

Definition at line 71 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_MODEM_IC

#define RFCOMM_MODEM_IC   0x40 /* Incoming Call */

Definition at line 74 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_MODEM_RTC

#define RFCOMM_MODEM_RTC   0x04 /* Ready To Communicate */

Definition at line 72 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_MODEM_RTR

#define RFCOMM_MODEM_RTR   0x08 /* Ready To Receive */

Definition at line 73 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_PF

#define RFCOMM_PF (   b)    (((b) & 0x10) >> 4)

Definition at line 191 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_RPN_BR_115200

#define RFCOMM_RPN_BR_115200   0x7

Definition at line 85 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_RPN_BR_19200

#define RFCOMM_RPN_BR_19200   0x4

Definition at line 82 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_RPN_BR_230400

#define RFCOMM_RPN_BR_230400   0x8

Definition at line 86 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_RPN_BR_2400

#define RFCOMM_RPN_BR_2400   0x0

Definition at line 78 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_RPN_BR_38400

#define RFCOMM_RPN_BR_38400   0x5

Definition at line 83 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_RPN_BR_4800

#define RFCOMM_RPN_BR_4800   0x1

Definition at line 79 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_RPN_BR_57600

#define RFCOMM_RPN_BR_57600   0x6

Definition at line 84 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_RPN_BR_7200

#define RFCOMM_RPN_BR_7200   0x2

Definition at line 80 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_RPN_BR_9600

#define RFCOMM_RPN_BR_9600   0x3

Definition at line 81 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_RPN_DATA_5

#define RFCOMM_RPN_DATA_5   0x0

Definition at line 89 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_RPN_DATA_6

#define RFCOMM_RPN_DATA_6   0x2

Definition at line 90 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_RPN_DATA_7

#define RFCOMM_RPN_DATA_7   0x1

Definition at line 91 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_RPN_DATA_8

#define RFCOMM_RPN_DATA_8   0x3

Definition at line 92 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_RPN_DATA_BITS

#define RFCOMM_RPN_DATA_BITS (   line)    ((line) & 0x3)

Definition at line 210 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_RPN_FLOW_NONE

#define RFCOMM_RPN_FLOW_NONE   0x00

Definition at line 106 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_RPN_PARITY

#define RFCOMM_RPN_PARITY (   line)    (((line) >> 3) & 0x3)

Definition at line 212 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_RPN_PARITY_EVEN

#define RFCOMM_RPN_PARITY_EVEN   0x5

Definition at line 101 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_RPN_PARITY_MARK

#define RFCOMM_RPN_PARITY_MARK   0x6

Definition at line 102 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_RPN_PARITY_NONE

#define RFCOMM_RPN_PARITY_NONE   0x0

Definition at line 99 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_RPN_PARITY_ODD

#define RFCOMM_RPN_PARITY_ODD   0x4

Definition at line 100 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_RPN_PARITY_SPACE

#define RFCOMM_RPN_PARITY_SPACE   0x7

Definition at line 103 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_RPN_PM_ALL

#define RFCOMM_RPN_PM_ALL   0x3F7F

Definition at line 119 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_RPN_PM_BITRATE

#define RFCOMM_RPN_PM_BITRATE   0x0001

Definition at line 111 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_RPN_PM_DATA

#define RFCOMM_RPN_PM_DATA   0x0002

Definition at line 112 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_RPN_PM_FLOW

#define RFCOMM_RPN_PM_FLOW   0x3F00

Definition at line 118 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_RPN_PM_PARITY

#define RFCOMM_RPN_PM_PARITY   0x0008

Definition at line 114 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_RPN_PM_PARITY_TYPE

#define RFCOMM_RPN_PM_PARITY_TYPE   0x0010

Definition at line 115 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_RPN_PM_STOP

#define RFCOMM_RPN_PM_STOP   0x0004

Definition at line 113 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_RPN_PM_XOFF

#define RFCOMM_RPN_PM_XOFF   0x0040

Definition at line 117 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_RPN_PM_XON

#define RFCOMM_RPN_PM_XON   0x0020

Definition at line 116 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_RPN_STOP_1

#define RFCOMM_RPN_STOP_1   0

Definition at line 95 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_RPN_STOP_15

#define RFCOMM_RPN_STOP_15   1

Definition at line 96 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_RPN_STOP_BITS

#define RFCOMM_RPN_STOP_BITS (   line)    (((line) >> 2) & 0x1)

Definition at line 211 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_RPN_XOFF_CHAR

#define RFCOMM_RPN_XOFF_CHAR   0x13

Definition at line 108 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_RPN_XON_CHAR

#define RFCOMM_RPN_XON_CHAR   0x11

Definition at line 107 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_SRVCHANNEL

#define RFCOMM_SRVCHANNEL (   dlci)    ((dlci) >> 1)

Definition at line 193 of file ng_btsocket_rfcomm.h.

◆ RFCOMM_TYPE

#define RFCOMM_TYPE (   b)    (((b) & 0xef))

Definition at line 187 of file ng_btsocket_rfcomm.h.

◆ so2rfcomm_pcb

#define so2rfcomm_pcb (   so)     ((struct ng_btsocket_rfcomm_pcb *)((so)->so_pcb))

Definition at line 309 of file ng_btsocket_rfcomm.h.

Typedef Documentation

◆ ng_btsocket_rfcomm_pcb_p

Definition at line 307 of file ng_btsocket_rfcomm.h.

◆ ng_btsocket_rfcomm_pcb_t

Definition at line 306 of file ng_btsocket_rfcomm.h.

◆ ng_btsocket_rfcomm_session_p

◆ ng_btsocket_rfcomm_session_t

Function Documentation

◆ __attribute__()

struct rfcomm_frame_hdr __attribute__ ( (packed)  )

◆ ng_btsocket_rfcomm_abort()

void ng_btsocket_rfcomm_abort ( struct socket *  so)

Definition at line 360 of file ng_btsocket_rfcomm.c.

References ng_btsocket_rfcomm_disconnect().

Here is the call graph for this function:

◆ ng_btsocket_rfcomm_accept()

int ng_btsocket_rfcomm_accept ( struct socket *  so,
struct sockaddr **  nam 
)

Definition at line 380 of file ng_btsocket_rfcomm.c.

References ng_btsocket_rfcomm_peeraddr().

Here is the call graph for this function:

◆ ng_btsocket_rfcomm_attach()

◆ ng_btsocket_rfcomm_bind()

int ng_btsocket_rfcomm_bind ( struct socket *  so,
struct sockaddr *  nam,
struct thread *  td 
)

◆ ng_btsocket_rfcomm_close()

void ng_btsocket_rfcomm_close ( struct socket *  so)

Definition at line 368 of file ng_btsocket_rfcomm.c.

References ng_btsocket_rfcomm_disconnect().

Here is the call graph for this function:

◆ ng_btsocket_rfcomm_connect()

◆ ng_btsocket_rfcomm_control()

int ng_btsocket_rfcomm_control ( struct socket *  so,
u_long  cmd,
caddr_t  data,
struct ifnet *  ifp,
struct thread *  td 
)

Definition at line 640 of file ng_btsocket_rfcomm.c.

◆ ng_btsocket_rfcomm_ctloutput()

◆ ng_btsocket_rfcomm_detach()

◆ ng_btsocket_rfcomm_disconnect()

◆ ng_btsocket_rfcomm_listen()

int ng_btsocket_rfcomm_listen ( struct socket *  so,
int  backlog,
struct thread *  td 
)

◆ ng_btsocket_rfcomm_peeraddr()

int ng_btsocket_rfcomm_peeraddr ( struct socket *  so,
struct sockaddr **  nam 
)

◆ ng_btsocket_rfcomm_send()

int ng_btsocket_rfcomm_send ( struct socket *  so,
int  flags,
struct mbuf *  m,
struct sockaddr *  nam,
struct mbuf *  control,
struct thread *  td 
)

◆ ng_btsocket_rfcomm_sockaddr()

int ng_btsocket_rfcomm_sockaddr ( struct socket *  so,
struct sockaddr **  nam 
)

Variable Documentation

◆ __attribute__

◆ ack_timer

u_int8_t ack_timer

Definition at line 3 of file ng_btsocket_rfcomm.h.

◆ address

u_int8_t address

Definition at line 0 of file ng_btsocket_rfcomm.h.

Referenced by ng_btsocket_rfcomm_send_uih(), and ng_path2noderef().

◆ bit_rate

u_int8_t bit_rate

Definition at line 1 of file ng_btsocket_rfcomm.h.

Referenced by ng_btsocket_rfcomm_receive_rpn().

◆ control

◆ credits

◆ dlci

◆ fcs

◆ flow_control

u_int8_t flow_control

◆ length

u_int8_t length

Definition at line 2 of file ng_btsocket_rfcomm.h.

◆ line_settings

u_int8_t line_settings

Definition at line 2 of file ng_btsocket_rfcomm.h.

◆ max_retrans

u_int8_t max_retrans

Definition at line 5 of file ng_btsocket_rfcomm.h.

◆ modem

u_int8_t modem

Definition at line 1 of file ng_btsocket_rfcomm.h.

◆ mtu

◆ param_mask

u_int16_t param_mask

Definition at line 6 of file ng_btsocket_rfcomm.h.

Referenced by ng_btsocket_rfcomm_receive_rpn().

◆ priority

u_int8_t priority

Definition at line 2 of file ng_btsocket_rfcomm.h.

◆ status

u_int8_t status

Definition at line 1 of file ng_btsocket_rfcomm.h.

◆ type

◆ xoff_char

u_int8_t xoff_char

Definition at line 5 of file ng_btsocket_rfcomm.h.

Referenced by ng_btsocket_rfcomm_receive_rpn().

◆ xon_char

u_int8_t xon_char

Definition at line 4 of file ng_btsocket_rfcomm.h.

Referenced by ng_btsocket_rfcomm_receive_rpn().