FreeBSD kernel netgraph code
|
Go to the source code of this file.
Data Structures | |
struct | ng_btsocket_sco_rtentry |
struct | ng_btsocket_sco_pcb |
Macros | |
#define | NG_BTSOCKET_SCO_SENDSPACE 1024 |
#define | NG_BTSOCKET_SCO_RECVSPACE (64 * 1024) |
#define | NG_BTSOCKET_SCO_CLIENT (1 << 0) /* socket is client */ |
#define | NG_BTSOCKET_SCO_TIMO (1 << 1) /* timeout pending */ |
#define | NG_BTSOCKET_SCO_CLOSED 0 /* socket closed */ |
#define | NG_BTSOCKET_SCO_CONNECTING 1 /* wait for connect */ |
#define | NG_BTSOCKET_SCO_OPEN 2 /* socket open */ |
#define | NG_BTSOCKET_SCO_DISCONNECTING 3 /* wait for disconnect */ |
#define | so2sco_pcb(so) ((struct ng_btsocket_sco_pcb *)((so)->so_pcb)) |
Typedefs | |
typedef struct ng_btsocket_sco_rtentry | ng_btsocket_sco_rtentry_t |
typedef struct ng_btsocket_sco_rtentry * | ng_btsocket_sco_rtentry_p |
typedef struct ng_btsocket_sco_pcb | ng_btsocket_sco_pcb_t |
typedef struct ng_btsocket_sco_pcb * | ng_btsocket_sco_pcb_p |
Functions | |
void | ng_btsocket_sco_abort (struct socket *) |
void | ng_btsocket_sco_close (struct socket *) |
int | ng_btsocket_sco_accept (struct socket *, struct sockaddr **) |
int | ng_btsocket_sco_attach (struct socket *, int, struct thread *) |
int | ng_btsocket_sco_bind (struct socket *, struct sockaddr *, struct thread *) |
int | ng_btsocket_sco_connect (struct socket *, struct sockaddr *, struct thread *) |
int | ng_btsocket_sco_control (struct socket *, u_long, caddr_t, struct ifnet *, struct thread *) |
int | ng_btsocket_sco_ctloutput (struct socket *, struct sockopt *) |
void | ng_btsocket_sco_detach (struct socket *) |
int | ng_btsocket_sco_disconnect (struct socket *) |
int | ng_btsocket_sco_listen (struct socket *, int, struct thread *) |
int | ng_btsocket_sco_peeraddr (struct socket *, struct sockaddr **) |
int | ng_btsocket_sco_send (struct socket *, int, struct mbuf *, struct sockaddr *, struct mbuf *, struct thread *) |
int | ng_btsocket_sco_sockaddr (struct socket *, struct sockaddr **) |
#define NG_BTSOCKET_SCO_CLIENT (1 << 0) /* socket is client */ |
Definition at line 79 of file ng_btsocket_sco.h.
#define NG_BTSOCKET_SCO_CLOSED 0 /* socket closed */ |
Definition at line 83 of file ng_btsocket_sco.h.
#define NG_BTSOCKET_SCO_CONNECTING 1 /* wait for connect */ |
Definition at line 84 of file ng_btsocket_sco.h.
#define NG_BTSOCKET_SCO_DISCONNECTING 3 /* wait for disconnect */ |
Definition at line 86 of file ng_btsocket_sco.h.
#define NG_BTSOCKET_SCO_OPEN 2 /* socket open */ |
Definition at line 85 of file ng_btsocket_sco.h.
#define NG_BTSOCKET_SCO_RECVSPACE (64 * 1024) |
Definition at line 64 of file ng_btsocket_sco.h.
#define NG_BTSOCKET_SCO_SENDSPACE 1024 |
Definition at line 63 of file ng_btsocket_sco.h.
#define NG_BTSOCKET_SCO_TIMO (1 << 1) /* timeout pending */ |
Definition at line 80 of file ng_btsocket_sco.h.
#define so2sco_pcb | ( | so | ) | ((struct ng_btsocket_sco_pcb *)((so)->so_pcb)) |
Definition at line 99 of file ng_btsocket_sco.h.
typedef struct ng_btsocket_sco_pcb* ng_btsocket_sco_pcb_p |
Definition at line 97 of file ng_btsocket_sco.h.
typedef struct ng_btsocket_sco_pcb ng_btsocket_sco_pcb_t |
Definition at line 96 of file ng_btsocket_sco.h.
typedef struct ng_btsocket_sco_rtentry* ng_btsocket_sco_rtentry_p |
Definition at line 55 of file ng_btsocket_sco.h.
typedef struct ng_btsocket_sco_rtentry ng_btsocket_sco_rtentry_t |
Definition at line 54 of file ng_btsocket_sco.h.
void ng_btsocket_sco_abort | ( | struct socket * | so | ) |
Definition at line 1167 of file ng_btsocket_sco.c.
References ng_btsocket_sco_disconnect().
int ng_btsocket_sco_accept | ( | struct socket * | so, |
struct sockaddr ** | nam | ||
) |
Definition at line 1186 of file ng_btsocket_sco.c.
References ng_btsocket_sco_node, and ng_btsocket_sco_peeraddr().
int ng_btsocket_sco_attach | ( | struct socket * | so, |
int | proto, | ||
struct thread * | td | ||
) |
Definition at line 1199 of file ng_btsocket_sco.c.
References BLUETOOTH_PROTO_SCO, M_NETGRAPH_BTSOCKET_SCO, NG_BTSOCKET_SCO_CLOSED, ng_btsocket_sco_node, NG_BTSOCKET_SCO_RECVSPACE, NG_BTSOCKET_SCO_SENDSPACE, ng_btsocket_sco_sockets_mtx, ng_btsocket_sco_pcb::pcb_mtx, ng_btsocket_sco_pcb::so, so2sco_pcb, ng_btsocket_sco_pcb::state, and ng_btsocket_sco_pcb::timo.
int ng_btsocket_sco_bind | ( | struct socket * | so, |
struct sockaddr * | nam, | ||
struct thread * | td | ||
) |
Definition at line 1287 of file ng_btsocket_sco.c.
References ng_btsocket_sco_node, ng_btsocket_sco_sockets_mtx, NG_HCI_BDADDR_ANY, ng_btsocket_sco_pcb::pcb_mtx, sockaddr_sco::sco_bdaddr, sockaddr_sco::sco_family, sockaddr_sco::sco_len, so2sco_pcb, and ng_btsocket_sco_pcb::src.
void ng_btsocket_sco_close | ( | struct socket * | so | ) |
Definition at line 1175 of file ng_btsocket_sco.c.
References ng_btsocket_sco_disconnect().
int ng_btsocket_sco_connect | ( | struct socket * | so, |
struct sockaddr * | nam, | ||
struct thread * | td | ||
) |
Definition at line 1346 of file ng_btsocket_sco.c.
References ng_btsocket_sco_pcb::dst, ng_btsocket_sco_pcb::flags, ng_btsocket_sco_rtentry::hook, NG_BTSOCKET_SCO_CLIENT, NG_BTSOCKET_SCO_CONNECTING, ng_btsocket_sco_node, ng_btsocket_sco_send_lp_con_req(), ng_btsocket_sco_timeout(), NG_HCI_BDADDR_ANY, NG_HOOK_NOT_VALID, ng_btsocket_sco_pcb::pcb_mtx, ng_btsocket_sco_pcb::rt, sockaddr_sco::sco_bdaddr, sockaddr_sco::sco_family, sockaddr_sco::sco_len, ng_btsocket_sco_pcb::so, so2sco_pcb, ng_btsocket_sco_rtentry::src, ng_btsocket_sco_pcb::src, and ng_btsocket_sco_pcb::state.
int ng_btsocket_sco_control | ( | struct socket * | so, |
u_long | cmd, | ||
caddr_t | data, | ||
struct ifnet * | ifp, | ||
struct thread * | td | ||
) |
Definition at line 1448 of file ng_btsocket_sco.c.
int ng_btsocket_sco_ctloutput | ( | struct socket * | so, |
struct sockopt * | sopt | ||
) |
Definition at line 1459 of file ng_btsocket_sco.c.
References ng_btsocket_sco_pcb::con_handle, ng_btsocket_sco_node, NG_BTSOCKET_SCO_OPEN, ng_btsocket_sco_pcb::pcb_mtx, ng_btsocket_sco_rtentry::pkt_size, ng_btsocket_sco_pcb::rt, so2sco_pcb, SO_SCO_CONNINFO, SO_SCO_MTU, SOL_SCO, and ng_btsocket_sco_pcb::state.
void ng_btsocket_sco_detach | ( | struct socket * | so | ) |
Definition at line 1517 of file ng_btsocket_sco.c.
References ng_btsocket_sco_pcb::flags, M_NETGRAPH_BTSOCKET_SCO, NG_BTSOCKET_SCO_CLOSED, ng_btsocket_sco_node, NG_BTSOCKET_SCO_OPEN, ng_btsocket_sco_send_lp_discon_req(), ng_btsocket_sco_sockets_mtx, NG_BTSOCKET_SCO_TIMO, ng_btsocket_sco_untimeout(), ng_btsocket_sco_pcb::pcb_mtx, so2sco_pcb, and ng_btsocket_sco_pcb::state.
int ng_btsocket_sco_disconnect | ( | struct socket * | so | ) |
Definition at line 1555 of file ng_btsocket_sco.c.
References ng_btsocket_sco_pcb::flags, NG_BTSOCKET_SCO_CLOSED, NG_BTSOCKET_SCO_DISCONNECTING, ng_btsocket_sco_node, NG_BTSOCKET_SCO_OPEN, ng_btsocket_sco_send_lp_discon_req(), ng_btsocket_sco_timeout(), NG_BTSOCKET_SCO_TIMO, ng_btsocket_sco_untimeout(), ng_btsocket_sco_pcb::pcb_mtx, so2sco_pcb, and ng_btsocket_sco_pcb::state.
Referenced by ng_btsocket_sco_abort(), and ng_btsocket_sco_close().
int ng_btsocket_sco_listen | ( | struct socket * | so, |
int | backlog, | ||
struct thread * | td | ||
) |
Definition at line 1597 of file ng_btsocket_sco.c.
References ng_btsocket_sco_node, NG_HCI_BDADDR_ANY, ng_btsocket_sco_pcb::pcb_mtx, so2sco_pcb, and ng_btsocket_sco_pcb::src.
int ng_btsocket_sco_peeraddr | ( | struct socket * | so, |
struct sockaddr ** | nam | ||
) |
Definition at line 1632 of file ng_btsocket_sco.c.
References ng_btsocket_sco_pcb::dst, ng_btsocket_sco_node, ng_btsocket_sco_pcb::pcb_mtx, sockaddr_sco::sco_bdaddr, sockaddr_sco::sco_family, sockaddr_sco::sco_len, and so2sco_pcb.
Referenced by ng_btsocket_sco_accept().
int ng_btsocket_sco_send | ( | struct socket * | so, |
int | flags, | ||
struct mbuf * | m, | ||
struct sockaddr * | nam, | ||
struct mbuf * | control, | ||
struct thread * | td | ||
) |
Definition at line 1659 of file ng_btsocket_sco.c.
References control, ng_btsocket_sco_pcb::flags, ng_btsocket_sco_rtentry::hook, NG_BTSOCKET_SCO_ERR, ng_btsocket_sco_node, NG_BTSOCKET_SCO_OPEN, ng_btsocket_sco_send2(), ng_btsocket_sco_timeout(), NG_BTSOCKET_SCO_TIMO, NG_FREE_M, NG_HOOK_NOT_VALID, ng_btsocket_sco_pcb::pcb_mtx, ng_btsocket_sco_rtentry::pkt_size, ng_btsocket_sco_pcb::rt, ng_btsocket_sco_pcb::so, so2sco_pcb, and ng_btsocket_sco_pcb::state.
int ng_btsocket_sco_sockaddr | ( | struct socket * | so, |
struct sockaddr ** | nam | ||
) |
Definition at line 1785 of file ng_btsocket_sco.c.
References ng_btsocket_sco_node, ng_btsocket_sco_pcb::pcb_mtx, sockaddr_sco::sco_bdaddr, sockaddr_sco::sco_family, sockaddr_sco::sco_len, so2sco_pcb, and ng_btsocket_sco_pcb::src.