FreeBSD kernel netgraph code
|
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/bitstring.h>
#include <sys/domain.h>
#include <sys/endian.h>
#include <sys/errno.h>
#include <sys/filedesc.h>
#include <sys/ioccom.h>
#include <sys/kernel.h>
#include <sys/lock.h>
#include <sys/malloc.h>
#include <sys/mbuf.h>
#include <sys/mutex.h>
#include <sys/priv.h>
#include <sys/protosw.h>
#include <sys/queue.h>
#include <sys/socket.h>
#include <sys/socketvar.h>
#include <sys/sysctl.h>
#include <sys/taskqueue.h>
#include <net/vnet.h>
#include <netgraph/ng_message.h>
#include <netgraph/netgraph.h>
#include <netgraph/bluetooth/include/ng_bluetooth.h>
#include <netgraph/bluetooth/include/ng_hci.h>
#include <netgraph/bluetooth/include/ng_l2cap.h>
#include <netgraph/bluetooth/include/ng_btsocket.h>
#include <netgraph/bluetooth/include/ng_btsocket_hci_raw.h>
Go to the source code of this file.
Data Structures | |
struct | ng_btsocket_hci_raw_sec_filter |
Macros | |
#define | M_NETGRAPH_BTSOCKET_HCI_RAW M_NETGRAPH |
#define | ng_btsocket_hci_raw_wakeup_input_task() taskqueue_enqueue(taskqueue_swi, &ng_btsocket_hci_raw_task) |
#define | NG_BTSOCKET_HCI_RAW_INFO |
#define | NG_BTSOCKET_HCI_RAW_WARN |
#define | NG_BTSOCKET_HCI_RAW_ERR |
#define | NG_BTSOCKET_HCI_RAW_ALERT |
Functions | |
static void | ng_btsocket_hci_raw_input (void *, int) |
static void | ng_btsocket_hci_raw_output (node_p, hook_p, void *, int) |
static void | ng_btsocket_hci_raw_savctl (ng_btsocket_hci_raw_pcb_p, struct mbuf **, struct mbuf *) |
static int | ng_btsocket_hci_raw_filter (ng_btsocket_hci_raw_pcb_p, struct mbuf *, int) |
static | LIST_HEAD (ng_btsocket_hci_raw_pcb) |
static int | ng_btsocket_hci_raw_node_shutdown (node_p node) |
static int | ng_btsocket_hci_raw_node_newhook (node_p node, hook_p hook, char const *name) |
static int | ng_btsocket_hci_raw_node_connect (hook_p hook) |
static int | ng_btsocket_hci_raw_node_disconnect (hook_p hook) |
static int | ng_btsocket_hci_raw_node_rcvmsg (node_p node, item_p item, hook_p lasthook) |
static int | ng_btsocket_hci_raw_node_rcvdata (hook_p hook, item_p item) |
static void | ng_btsocket_hci_raw_get_token (u_int32_t *token) |
static int | ng_btsocket_hci_raw_send_ngmsg (char *path, int cmd, void *arg, int arglen) |
static int | ng_btsocket_hci_raw_send_sync_ngmsg (ng_btsocket_hci_raw_pcb_p pcb, char *path, int cmd, void *rsp, int rsplen) |
static void | ng_btsocket_hci_raw_data_input (struct mbuf *nam) |
static void | ng_btsocket_hci_raw_msg_input (struct ng_mesg *msg) |
static void | ng_btsocket_hci_raw_init (void *arg __unused) |
SYSINIT (ng_btsocket_hci_raw_init, SI_SUB_PROTO_DOMAIN, SI_ORDER_THIRD, ng_btsocket_hci_raw_init, NULL) | |
void | ng_btsocket_hci_raw_abort (struct socket *so) |
void | ng_btsocket_hci_raw_close (struct socket *so) |
int | ng_btsocket_hci_raw_attach (struct socket *so, int proto, struct thread *td) |
int | ng_btsocket_hci_raw_bind (struct socket *so, struct sockaddr *nam, struct thread *td) |
int | ng_btsocket_hci_raw_connect (struct socket *so, struct sockaddr *nam, struct thread *td) |
int | ng_btsocket_hci_raw_control (struct socket *so, u_long cmd, caddr_t data, struct ifnet *ifp, struct thread *td) |
int | ng_btsocket_hci_raw_ctloutput (struct socket *so, struct sockopt *sopt) |
void | ng_btsocket_hci_raw_detach (struct socket *so) |
int | ng_btsocket_hci_raw_disconnect (struct socket *so) |
int | ng_btsocket_hci_raw_peeraddr (struct socket *so, struct sockaddr **nam) |
int | ng_btsocket_hci_raw_send (struct socket *so, int flags, struct mbuf *m, struct sockaddr *sa, struct mbuf *control, struct thread *td) |
int | ng_btsocket_hci_raw_sockaddr (struct socket *so, struct sockaddr **nam) |
Variables | |
static ng_constructor_t | ng_btsocket_hci_raw_node_constructor |
static ng_rcvmsg_t | ng_btsocket_hci_raw_node_rcvmsg |
static ng_shutdown_t | ng_btsocket_hci_raw_node_shutdown |
static ng_newhook_t | ng_btsocket_hci_raw_node_newhook |
static ng_connect_t | ng_btsocket_hci_raw_node_connect |
static ng_rcvdata_t | ng_btsocket_hci_raw_node_rcvdata |
static ng_disconnect_t | ng_btsocket_hci_raw_node_disconnect |
static struct ng_type | typestruct |
static u_int32_t | ng_btsocket_hci_raw_debug_level |
static u_int32_t | ng_btsocket_hci_raw_ioctl_timeout |
static node_p | ng_btsocket_hci_raw_node |
static struct ng_bt_itemq | ng_btsocket_hci_raw_queue |
static struct mtx | ng_btsocket_hci_raw_queue_mtx |
static struct task | ng_btsocket_hci_raw_task |
#define M_NETGRAPH_BTSOCKET_HCI_RAW M_NETGRAPH |
Definition at line 72 of file ng_btsocket_hci_raw.c.
#define NG_BTSOCKET_HCI_RAW_ALERT |
#define NG_BTSOCKET_HCI_RAW_ERR |
#define NG_BTSOCKET_HCI_RAW_INFO |
#define ng_btsocket_hci_raw_wakeup_input_task | ( | ) | taskqueue_enqueue(taskqueue_swi, &ng_btsocket_hci_raw_task) |
Definition at line 92 of file ng_btsocket_hci_raw.c.
#define NG_BTSOCKET_HCI_RAW_WARN |
|
static |
Definition at line 121 of file ng_btsocket_hci_raw.c.
void ng_btsocket_hci_raw_abort | ( | struct socket * | so | ) |
Definition at line 896 of file ng_btsocket_hci_raw.c.
int ng_btsocket_hci_raw_attach | ( | struct socket * | so, |
int | proto, | ||
struct thread * | td | ||
) |
Definition at line 910 of file ng_btsocket_hci_raw.c.
References BLUETOOTH_PROTO_HCI, ng_btsocket_hci_raw_pcb::filter, ng_btsocket_hci_raw_pcb::flags, M_NETGRAPH_BTSOCKET_HCI_RAW, ng_btsocket_hci_raw_node, NG_BTSOCKET_HCI_RAW_PRIVILEGED, NG_BTSOCKET_HCI_RAW_RECVSPACE, NG_BTSOCKET_HCI_RAW_SENDSPACE, NG_HCI_EVENT_COMMAND_COMPL, NG_HCI_EVENT_COMMAND_STATUS, ng_btsocket_hci_raw_pcb::pcb_mtx, ng_btsocket_hci_raw_pcb::so, and so2hci_raw_pcb.
int ng_btsocket_hci_raw_bind | ( | struct socket * | so, |
struct sockaddr * | nam, | ||
struct thread * | td | ||
) |
Definition at line 963 of file ng_btsocket_hci_raw.c.
References ng_btsocket_hci_raw_pcb::addr, sockaddr_hci::hci_family, sockaddr_hci::hci_len, sockaddr_hci::hci_node, ng_btsocket_hci_raw_node, ng_btsocket_hci_raw_pcb::pcb_mtx, and so2hci_raw_pcb.
void ng_btsocket_hci_raw_close | ( | struct socket * | so | ) |
Definition at line 901 of file ng_btsocket_hci_raw.c.
int ng_btsocket_hci_raw_connect | ( | struct socket * | so, |
struct sockaddr * | nam, | ||
struct thread * | td | ||
) |
Definition at line 995 of file ng_btsocket_hci_raw.c.
References ng_btsocket_hci_raw_pcb::addr, sockaddr_hci::hci_family, sockaddr_hci::hci_len, sockaddr_hci::hci_node, ng_btsocket_hci_raw_node, ng_btsocket_hci_raw_pcb::pcb_mtx, and so2hci_raw_pcb.
int ng_btsocket_hci_raw_control | ( | struct socket * | so, |
u_long | cmd, | ||
caddr_t | data, | ||
struct ifnet * | ifp, | ||
struct thread * | td | ||
) |
Definition at line 1034 of file ng_btsocket_hci_raw.c.
References ng_btsocket_hci_raw_pcb::addr, ng_btsocket_hci_raw_node_bdaddr::bdaddr, ng_btsocket_hci_raw_node_buffer::buffer, ng_mesg::ng_msghdr::cmd, ng_btsocket_hci_raw_con_list::connections, data, ng_mesg::data, ng_btsocket_hci_raw_node_debug::debug, ng_btsocket_hci_raw_node_neighbor_cache::entries, ng_btsocket_hci_raw_node_features::features, ng_btsocket_hci_raw_pcb::flags, sockaddr_hci::hci_node, ng_mesg::header, min, ng_btsocket_hci_raw_pcb::msg, ng_btsocket_hci_raw_node_list_names::names, ng_btsocket_hci_raw_get_token(), ng_btsocket_hci_raw_ioctl_timeout, ng_btsocket_hci_raw_node, NG_BTSOCKET_HCI_RAW_PRIVILEGED, ng_btsocket_hci_raw_send_ngmsg(), ng_btsocket_hci_raw_send_sync_ngmsg(), NG_FREE_MSG, NG_HCI_MAX_CON_NUM, NG_HCI_MAX_NEIGHBOR_NUM, NG_HCI_NODE_TYPE, NG_MKMESSAGE, NG_NODESIZ, NG_SEND_MSG_PATH, NGM_GENERIC_COOKIE, NGM_HCI_COOKIE, NGM_HCI_NODE_FLUSH_NEIGHBOR_CACHE, NGM_HCI_NODE_GET_BDADDR, NGM_HCI_NODE_GET_BUFFER, NGM_HCI_NODE_GET_CON_LIST, NGM_HCI_NODE_GET_DEBUG, NGM_HCI_NODE_GET_FEATURES, NGM_HCI_NODE_GET_LINK_POLICY_SETTINGS_MASK, NGM_HCI_NODE_GET_NEIGHBOR_CACHE, NGM_HCI_NODE_GET_PACKET_MASK, NGM_HCI_NODE_GET_ROLE_SWITCH, NGM_HCI_NODE_GET_STAT, NGM_HCI_NODE_GET_STATE, NGM_HCI_NODE_INIT, NGM_HCI_NODE_RESET_STAT, NGM_HCI_NODE_SET_DEBUG, NGM_HCI_NODE_SET_LINK_POLICY_SETTINGS_MASK, NGM_HCI_NODE_SET_PACKET_MASK, NGM_HCI_NODE_SET_ROLE_SWITCH, NGM_LISTNAMES, namelist::nodeinfo, ng_btsocket_hci_raw_con_list::num_connections, ng_hci_node_con_list_ep::num_connections, ng_btsocket_hci_raw_node_neighbor_cache::num_entries, ng_hci_node_get_neighbor_cache_ep::num_entries, ng_btsocket_hci_raw_node_list_names::num_names, namelist::numnames, ng_btsocket_hci_raw_node_packet_mask::packet_mask, ng_btsocket_hci_raw_pcb::pcb_mtx, ng_btsocket_hci_raw_node_link_policy_mask::policy_mask, ng_btsocket_hci_raw_node_role_switch::role_switch, SIOC_HCI_RAW_NODE_FLUSH_NEIGHBOR_CACHE, SIOC_HCI_RAW_NODE_GET_BDADDR, SIOC_HCI_RAW_NODE_GET_BUFFER, SIOC_HCI_RAW_NODE_GET_CON_LIST, SIOC_HCI_RAW_NODE_GET_DEBUG, SIOC_HCI_RAW_NODE_GET_FEATURES, SIOC_HCI_RAW_NODE_GET_LINK_POLICY_MASK, SIOC_HCI_RAW_NODE_GET_NEIGHBOR_CACHE, SIOC_HCI_RAW_NODE_GET_PACKET_MASK, SIOC_HCI_RAW_NODE_GET_ROLE_SWITCH, SIOC_HCI_RAW_NODE_GET_STAT, SIOC_HCI_RAW_NODE_GET_STATE, SIOC_HCI_RAW_NODE_INIT, SIOC_HCI_RAW_NODE_LIST_NAMES, SIOC_HCI_RAW_NODE_RESET_STAT, SIOC_HCI_RAW_NODE_SET_DEBUG, SIOC_HCI_RAW_NODE_SET_LINK_POLICY_MASK, SIOC_HCI_RAW_NODE_SET_PACKET_MASK, SIOC_HCI_RAW_NODE_SET_ROLE_SWITCH, so2hci_raw_pcb, ng_btsocket_hci_raw_node_stat::stat, ng_btsocket_hci_raw_node_state::state, ng_btsocket_hci_raw_pcb::token, and ng_mesg::ng_msghdr::token.
int ng_btsocket_hci_raw_ctloutput | ( | struct socket * | so, |
struct sockopt * | sopt | ||
) |
Definition at line 1436 of file ng_btsocket_hci_raw.c.
References ng_btsocket_hci_raw_pcb::filter, ng_btsocket_hci_raw_pcb::flags, NG_BTSOCKET_HCI_RAW_DIRECTION, ng_btsocket_hci_raw_node, ng_btsocket_hci_raw_pcb::pcb_mtx, so2hci_raw_pcb, SO_HCI_RAW_DIRECTION, SO_HCI_RAW_FILTER, and SOL_HCI_RAW.
|
static |
Definition at line 483 of file ng_btsocket_hci_raw.c.
References ng_btsocket_hci_raw_pcb::addr, sockaddr_hci::hci_node, ng_btsocket_hci_raw_filter(), NG_BTSOCKET_HCI_RAW_INFO, ng_btsocket_hci_raw_savctl(), NG_FREE_M, ng_btsocket_hci_raw_pcb::pcb_mtx, and ng_btsocket_hci_raw_pcb::so.
Referenced by ng_btsocket_hci_raw_input().
void ng_btsocket_hci_raw_detach | ( | struct socket * | so | ) |
Definition at line 1514 of file ng_btsocket_hci_raw.c.
References M_NETGRAPH_BTSOCKET_HCI_RAW, ng_btsocket_hci_raw_node, ng_btsocket_hci_raw_pcb::pcb_mtx, and so2hci_raw_pcb.
int ng_btsocket_hci_raw_disconnect | ( | struct socket * | so | ) |
Definition at line 1544 of file ng_btsocket_hci_raw.c.
References ng_btsocket_hci_raw_node, ng_btsocket_hci_raw_pcb::pcb_mtx, and so2hci_raw_pcb.
|
static |
Definition at line 677 of file ng_btsocket_hci_raw.c.
References event, ng_btsocket_hci_raw_pcb::filter, ng_btsocket_hci_raw_pcb::flags, NG_BTSOCKET_HCI_RAW_PRIVILEGED, NG_HCI_ACL_DATA_PKT, NG_HCI_CMD_PKT, NG_HCI_EVENT_PKT, NG_HCI_OCF, NG_HCI_OGF, NG_HCI_SCO_DATA_PKT, opcode, ng_btsocket_hci_raw_pcb::pcb_mtx, and type.
Referenced by ng_btsocket_hci_raw_data_input(), and ng_btsocket_hci_raw_send().
|
static |
Definition at line 370 of file ng_btsocket_hci_raw.c.
Referenced by ng_btsocket_hci_raw_control(), and ng_btsocket_hci_raw_send_sync_ngmsg().
|
static |
Definition at line 732 of file ng_btsocket_hci_raw.c.
References M_NETGRAPH_BTSOCKET_HCI_RAW, NG_BT_ITEMQ_INIT, NG_BTSOCKET_HCI_RAW_ALERT, ng_btsocket_hci_raw_debug_level, ng_btsocket_hci_raw_input(), ng_btsocket_hci_raw_ioctl_timeout, ng_btsocket_hci_raw_node, NG_BTSOCKET_HCI_RAW_NODE_TYPE, ng_btsocket_hci_raw_queue, ng_btsocket_hci_raw_queue_mtx, ng_btsocket_hci_raw_task, NG_BTSOCKET_WARN_LEVEL, NG_HCI_EVENT_LINK_KEY_NOTIFICATION, NG_HCI_EVENT_RETURN_LINK_KEYS, NG_HCI_EVENT_VENDOR, NG_HCI_OCF_EXIT_PERIODIC_INQUIRY, NG_HCI_OCF_GET_LINK_QUALITY, NG_HCI_OCF_INQUIRY, NG_HCI_OCF_INQUIRY_CANCEL, NG_HCI_OCF_LE_READ_BUFFER_SIZE, NG_HCI_OCF_LE_READ_LOCAL_SUPPORTED_FEATURES, NG_HCI_OCF_LE_READ_WHITE_LIST_SIZE, NG_HCI_OCF_LE_SET_SCAN_ENABLE, NG_HCI_OCF_LE_SET_SCAN_PARAMETERS, NG_HCI_OCF_PERIODIC_INQUIRY, NG_HCI_OCF_READ_AUTH_ENABLE, NG_HCI_OCF_READ_AUTO_FLUSH_TIMO, NG_HCI_OCF_READ_BDADDR, NG_HCI_OCF_READ_BUFFER_SIZE, NG_HCI_OCF_READ_CLOCK_OFFSET, NG_HCI_OCF_READ_CON_ACCEPT_TIMO, NG_HCI_OCF_READ_COUNTRY_CODE, NG_HCI_OCF_READ_ENCRYPTION_MODE, NG_HCI_OCF_READ_FAILED_CONTACT_CNTR, NG_HCI_OCF_READ_HOLD_MODE_ACTIVITY, NG_HCI_OCF_READ_IAC_LAP, NG_HCI_OCF_READ_INQUIRY_SCAN_ACTIVITY, NG_HCI_OCF_READ_LE_HOST_SUPPORTED, NG_HCI_OCF_READ_LINK_POLICY_SETTINGS, NG_HCI_OCF_READ_LINK_SUPERVISION_TIMO, NG_HCI_OCF_READ_LOCAL_FEATURES, NG_HCI_OCF_READ_LOCAL_NAME, NG_HCI_OCF_READ_LOCAL_VER, NG_HCI_OCF_READ_LOOPBACK_MODE, NG_HCI_OCF_READ_NUM_BROADCAST_RETRANS, NG_HCI_OCF_READ_PAGE_SCAN, NG_HCI_OCF_READ_PAGE_SCAN_ACTIVITY, NG_HCI_OCF_READ_PAGE_SCAN_PERIOD, NG_HCI_OCF_READ_PAGE_TIMO, NG_HCI_OCF_READ_PIN_TYPE, NG_HCI_OCF_READ_REMOTE_FEATURES, NG_HCI_OCF_READ_REMOTE_VER_INFO, NG_HCI_OCF_READ_RSSI, NG_HCI_OCF_READ_SCAN_ENABLE, NG_HCI_OCF_READ_SCO_FLOW_CONTROL, NG_HCI_OCF_READ_SUPPORTED_IAC_NUM, NG_HCI_OCF_READ_UNIT_CLASS, NG_HCI_OCF_READ_VOICE_SETTINGS, NG_HCI_OCF_READ_XMIT_LEVEL, NG_HCI_OCF_REMOTE_NAME_REQ, NG_HCI_OCF_ROLE_DISCOVERY, NG_HCI_OGF_HC_BASEBAND, NG_HCI_OGF_INFO, NG_HCI_OGF_LE, NG_HCI_OGF_LINK_CONTROL, NG_HCI_OGF_LINK_POLICY, NG_HCI_OGF_STATUS, NG_HCI_OGF_TESTING, ng_make_node_common(), ng_name_node(), ng_newtype(), NG_NODE_UNREF, and typestruct.
|
static |
Definition at line 592 of file ng_btsocket_hci_raw.c.
References ng_item::el_flags, NG_BT_ITEMQ_DEQUEUE, ng_btsocket_hci_raw_data_input(), ng_btsocket_hci_raw_msg_input(), ng_btsocket_hci_raw_queue, ng_btsocket_hci_raw_queue_mtx, NG_FREE_ITEM, NGI_GET_M, NGI_GET_MSG, NGQF_DATA, NGQF_MESG, and NGQF_TYPE.
Referenced by ng_btsocket_hci_raw_init().
|
static |
Definition at line 560 of file ng_btsocket_hci_raw.c.
References ng_mesg::header, ng_btsocket_hci_raw_pcb::msg, NG_FREE_MSG, ng_btsocket_hci_raw_pcb::pcb_mtx, ng_btsocket_hci_raw_pcb::token, and ng_mesg::ng_msghdr::token.
Referenced by ng_btsocket_hci_raw_input().
|
static |
Definition at line 238 of file ng_btsocket_hci_raw.c.
|
static |
Definition at line 248 of file ng_btsocket_hci_raw.c.
Definition at line 228 of file ng_btsocket_hci_raw.c.
Definition at line 308 of file ng_btsocket_hci_raw.c.
References sockaddr_hci::hci_family, sockaddr_hci::hci_len, sockaddr_hci::hci_node, NG_BT_ITEMQ_DROP, NG_BT_ITEMQ_ENQUEUE, NG_BT_ITEMQ_FULL, NG_BTSOCKET_HCI_RAW_ERR, ng_btsocket_hci_raw_queue, ng_btsocket_hci_raw_queue_mtx, ng_btsocket_hci_raw_wakeup_input_task, NG_FREE_ITEM, NG_PEER_NODE_NAME, NGI_GET_M, and NGI_M.
Definition at line 260 of file ng_btsocket_hci_raw.c.
References ng_mesg::ng_msghdr::flags, ng_mesg::header, NG_BT_ITEMQ_DROP, NG_BT_ITEMQ_ENQUEUE, NG_BT_ITEMQ_FULL, NG_BTSOCKET_HCI_RAW_ERR, ng_btsocket_hci_raw_queue, ng_btsocket_hci_raw_queue_mtx, ng_btsocket_hci_raw_wakeup_input_task, NG_FREE_ITEM, NGF_RESP, NGI_MSG, NGM_GENERIC_COOKIE, NGM_HCI_COOKIE, ng_mesg::ng_msghdr::token, and ng_mesg::ng_msghdr::typecookie.
|
static |
Definition at line 192 of file ng_btsocket_hci_raw.c.
References NG_BTSOCKET_HCI_RAW_ALERT, ng_btsocket_hci_raw_node, NG_BTSOCKET_HCI_RAW_NODE_TYPE, ng_make_node_common(), ng_name_node(), NG_NODE_UNREF, and typestruct.
Definition at line 634 of file ng_btsocket_hci_raw.c.
References sockaddr_hci::hci_node, NG_FREE_M, NG_HOOK_NOT_VALID, NG_NODE_NOT_VALID, NG_PEER_NODE, NG_PEER_NODE_NAME, and NG_SEND_DATA_ONLY.
Referenced by ng_btsocket_hci_raw_send().
int ng_btsocket_hci_raw_peeraddr | ( | struct socket * | so, |
struct sockaddr ** | nam | ||
) |
Definition at line 1565 of file ng_btsocket_hci_raw.c.
References ng_btsocket_hci_raw_sockaddr().
|
static |
Definition at line 453 of file ng_btsocket_hci_raw.c.
References ng_btsocket_hci_raw_pcb::flags, NG_BTSOCKET_HCI_RAW_DIRECTION, ng_btsocket_hci_raw_pcb::pcb_mtx, SCM_HCI_RAW_DIRECTION, ng_btsocket_hci_raw_pcb::so, and SOL_HCI_RAW.
Referenced by ng_btsocket_hci_raw_data_input().
int ng_btsocket_hci_raw_send | ( | struct socket * | so, |
int | flags, | ||
struct mbuf * | m, | ||
struct sockaddr * | sa, | ||
struct mbuf * | control, | ||
struct thread * | td | ||
) |
Definition at line 1575 of file ng_btsocket_hci_raw.c.
References ng_btsocket_hci_raw_pcb::addr, control, sockaddr_hci::hci_node, ng_btsocket_hci_raw_filter(), ng_btsocket_hci_raw_node, ng_btsocket_hci_raw_output(), NG_FREE_M, NG_HCI_CMD_PKT, NG_HCI_CMD_PKT_SIZE, ng_send_fn(), ng_btsocket_hci_raw_pcb::pcb_mtx, and so2hci_raw_pcb.
|
static |
Definition at line 387 of file ng_btsocket_hci_raw.c.
References ng_mesg::data, ng_btsocket_hci_raw_node, NG_MKMESSAGE, NG_SEND_MSG_PATH, and NGM_HCI_COOKIE.
Referenced by ng_btsocket_hci_raw_control().
|
static |
Definition at line 409 of file ng_btsocket_hci_raw.c.
References ng_mesg::ng_msghdr::cmd, ng_mesg::data, ng_mesg::header, ng_btsocket_hci_raw_pcb::msg, ng_btsocket_hci_raw_get_token(), ng_btsocket_hci_raw_ioctl_timeout, ng_btsocket_hci_raw_node, NG_FREE_MSG, NG_MKMESSAGE, NG_SEND_MSG_PATH, NGM_HCI_COOKIE, ng_btsocket_hci_raw_pcb::pcb_mtx, ng_btsocket_hci_raw_pcb::token, and ng_mesg::ng_msghdr::token.
Referenced by ng_btsocket_hci_raw_control().
int ng_btsocket_hci_raw_sockaddr | ( | struct socket * | so, |
struct sockaddr ** | nam | ||
) |
Definition at line 1660 of file ng_btsocket_hci_raw.c.
References ng_btsocket_hci_raw_pcb::addr, sockaddr_hci::hci_family, sockaddr_hci::hci_len, sockaddr_hci::hci_node, ng_btsocket_hci_raw_node, ng_btsocket_hci_raw_pcb::pcb_mtx, and so2hci_raw_pcb.
Referenced by ng_btsocket_hci_raw_peeraddr().
SYSINIT | ( | ng_btsocket_hci_raw_init | , |
SI_SUB_PROTO_DOMAIN | , | ||
SI_ORDER_THIRD | , | ||
ng_btsocket_hci_raw_init | , | ||
NULL | |||
) |
|
static |
Definition at line 115 of file ng_btsocket_hci_raw.c.
Referenced by ng_btsocket_hci_raw_init().
|
static |
Definition at line 116 of file ng_btsocket_hci_raw.c.
Referenced by ng_btsocket_hci_raw_control(), ng_btsocket_hci_raw_init(), and ng_btsocket_hci_raw_send_sync_ngmsg().
|
static |
Definition at line 117 of file ng_btsocket_hci_raw.c.
Referenced by ng_btsocket_hci_raw_attach(), ng_btsocket_hci_raw_bind(), ng_btsocket_hci_raw_connect(), ng_btsocket_hci_raw_control(), ng_btsocket_hci_raw_ctloutput(), ng_btsocket_hci_raw_detach(), ng_btsocket_hci_raw_disconnect(), ng_btsocket_hci_raw_init(), ng_btsocket_hci_raw_node_shutdown(), ng_btsocket_hci_raw_send(), ng_btsocket_hci_raw_send_ngmsg(), ng_btsocket_hci_raw_send_sync_ngmsg(), and ng_btsocket_hci_raw_sockaddr().
|
static |
Definition at line 80 of file ng_btsocket_hci_raw.c.
|
static |
Definition at line 76 of file ng_btsocket_hci_raw.c.
|
static |
Definition at line 82 of file ng_btsocket_hci_raw.c.
|
static |
Definition at line 79 of file ng_btsocket_hci_raw.c.
|
static |
Definition at line 81 of file ng_btsocket_hci_raw.c.
|
static |
Definition at line 77 of file ng_btsocket_hci_raw.c.
|
static |
Definition at line 78 of file ng_btsocket_hci_raw.c.
|
static |
Definition at line 118 of file ng_btsocket_hci_raw.c.
Referenced by ng_btsocket_hci_raw_init(), ng_btsocket_hci_raw_input(), ng_btsocket_hci_raw_node_rcvdata(), and ng_btsocket_hci_raw_node_rcvmsg().
|
static |
Definition at line 119 of file ng_btsocket_hci_raw.c.
Referenced by ng_btsocket_hci_raw_init(), ng_btsocket_hci_raw_input(), ng_btsocket_hci_raw_node_rcvdata(), and ng_btsocket_hci_raw_node_rcvmsg().
|
static |
Definition at line 120 of file ng_btsocket_hci_raw.c.
Referenced by ng_btsocket_hci_raw_init().
|
static |
Definition at line 102 of file ng_btsocket_hci_raw.c.
Referenced by ng_btsocket_hci_raw_init(), and ng_btsocket_hci_raw_node_shutdown().