FreeBSD kernel netgraph code
ng_btsocket_hci_raw.c File Reference
#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>
Include dependency graph for ng_btsocket_hci_raw.c:

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
 

Macro Definition Documentation

◆ M_NETGRAPH_BTSOCKET_HCI_RAW

#define M_NETGRAPH_BTSOCKET_HCI_RAW   M_NETGRAPH

Definition at line 72 of file ng_btsocket_hci_raw.c.

◆ NG_BTSOCKET_HCI_RAW_ALERT

#define NG_BTSOCKET_HCI_RAW_ALERT
Value:
ppsratecheck(&ng_btsocket_hci_raw_lasttime, &ng_btsocket_hci_raw_curpps, 1)) \
printf
#define NG_BTSOCKET_ALERT_LEVEL
Definition: ng_btsocket.h:370
static u_int32_t ng_btsocket_hci_raw_debug_level

◆ NG_BTSOCKET_HCI_RAW_ERR

#define NG_BTSOCKET_HCI_RAW_ERR
Value:
ppsratecheck(&ng_btsocket_hci_raw_lasttime, &ng_btsocket_hci_raw_curpps, 1)) \
printf
#define NG_BTSOCKET_ERR_LEVEL
Definition: ng_btsocket.h:371

◆ NG_BTSOCKET_HCI_RAW_INFO

#define NG_BTSOCKET_HCI_RAW_INFO
Value:
ppsratecheck(&ng_btsocket_hci_raw_lasttime, &ng_btsocket_hci_raw_curpps, 1)) \
printf
#define NG_BTSOCKET_INFO_LEVEL
Definition: ng_btsocket.h:373

◆ ng_btsocket_hci_raw_wakeup_input_task

#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.

◆ NG_BTSOCKET_HCI_RAW_WARN

#define NG_BTSOCKET_HCI_RAW_WARN
Value:
ppsratecheck(&ng_btsocket_hci_raw_lasttime, &ng_btsocket_hci_raw_curpps, 1)) \
printf
#define NG_BTSOCKET_WARN_LEVEL
Definition: ng_btsocket.h:372

Function Documentation

◆ LIST_HEAD()

static LIST_HEAD ( ng_btsocket_hci_raw_pcb  )
static

Definition at line 121 of file ng_btsocket_hci_raw.c.

◆ ng_btsocket_hci_raw_abort()

void ng_btsocket_hci_raw_abort ( struct socket *  so)

Definition at line 896 of file ng_btsocket_hci_raw.c.

◆ ng_btsocket_hci_raw_attach()

◆ ng_btsocket_hci_raw_bind()

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

◆ ng_btsocket_hci_raw_close()

void ng_btsocket_hci_raw_close ( struct socket *  so)

Definition at line 901 of file ng_btsocket_hci_raw.c.

◆ ng_btsocket_hci_raw_connect()

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

◆ ng_btsocket_hci_raw_control()

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.

Here is the call graph for this function:

◆ ng_btsocket_hci_raw_ctloutput()

◆ ng_btsocket_hci_raw_data_input()

static void ng_btsocket_hci_raw_data_input ( struct mbuf *  nam)
static

◆ ng_btsocket_hci_raw_detach()

void ng_btsocket_hci_raw_detach ( struct socket *  so)

◆ ng_btsocket_hci_raw_disconnect()

int ng_btsocket_hci_raw_disconnect ( struct socket *  so)

◆ ng_btsocket_hci_raw_filter()

◆ ng_btsocket_hci_raw_get_token()

static void ng_btsocket_hci_raw_get_token ( u_int32_t *  token)
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().

Here is the caller graph for this function:

◆ ng_btsocket_hci_raw_init()

static void ng_btsocket_hci_raw_init ( void *arg  __unused)
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.

Here is the call graph for this function:

◆ ng_btsocket_hci_raw_input()

static void ng_btsocket_hci_raw_input ( void *  context,
int  pending 
)
static

◆ ng_btsocket_hci_raw_msg_input()

static void ng_btsocket_hci_raw_msg_input ( struct ng_mesg msg)
static

◆ ng_btsocket_hci_raw_node_connect()

static int ng_btsocket_hci_raw_node_connect ( hook_p  hook)
static

Definition at line 238 of file ng_btsocket_hci_raw.c.

◆ ng_btsocket_hci_raw_node_disconnect()

static int ng_btsocket_hci_raw_node_disconnect ( hook_p  hook)
static

Definition at line 248 of file ng_btsocket_hci_raw.c.

◆ ng_btsocket_hci_raw_node_newhook()

static int ng_btsocket_hci_raw_node_newhook ( node_p  node,
hook_p  hook,
char const *  name 
)
static

Definition at line 228 of file ng_btsocket_hci_raw.c.

◆ ng_btsocket_hci_raw_node_rcvdata()

◆ ng_btsocket_hci_raw_node_rcvmsg()

◆ ng_btsocket_hci_raw_node_shutdown()

static int ng_btsocket_hci_raw_node_shutdown ( node_p  node)
static

◆ ng_btsocket_hci_raw_output()

static void ng_btsocket_hci_raw_output ( node_p  node,
hook_p  hook,
void *  arg1,
int  arg2 
)
static

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().

Here is the caller graph for this function:

◆ ng_btsocket_hci_raw_peeraddr()

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().

Here is the call graph for this function:

◆ ng_btsocket_hci_raw_savctl()

static void ng_btsocket_hci_raw_savctl ( ng_btsocket_hci_raw_pcb_p  pcb,
struct mbuf **  ctl,
struct mbuf *  m 
)
static

◆ ng_btsocket_hci_raw_send()

int ng_btsocket_hci_raw_send ( struct socket *  so,
int  flags,
struct mbuf *  m,
struct sockaddr *  sa,
struct mbuf *  control,
struct thread *  td 
)

◆ ng_btsocket_hci_raw_send_ngmsg()

static int ng_btsocket_hci_raw_send_ngmsg ( char *  path,
int  cmd,
void *  arg,
int  arglen 
)
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().

Here is the caller graph for this function:

◆ ng_btsocket_hci_raw_send_sync_ngmsg()

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

◆ ng_btsocket_hci_raw_sockaddr()

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

◆ SYSINIT()

SYSINIT ( ng_btsocket_hci_raw_init  ,
SI_SUB_PROTO_DOMAIN  ,
SI_ORDER_THIRD  ,
ng_btsocket_hci_raw_init  ,
NULL   
)

Variable Documentation

◆ ng_btsocket_hci_raw_debug_level

u_int32_t ng_btsocket_hci_raw_debug_level
static

Definition at line 115 of file ng_btsocket_hci_raw.c.

Referenced by ng_btsocket_hci_raw_init().

◆ ng_btsocket_hci_raw_ioctl_timeout

u_int32_t ng_btsocket_hci_raw_ioctl_timeout
static

◆ ng_btsocket_hci_raw_node

◆ ng_btsocket_hci_raw_node_connect

ng_connect_t ng_btsocket_hci_raw_node_connect
static

Definition at line 80 of file ng_btsocket_hci_raw.c.

◆ ng_btsocket_hci_raw_node_constructor

ng_constructor_t ng_btsocket_hci_raw_node_constructor
static

Definition at line 76 of file ng_btsocket_hci_raw.c.

◆ ng_btsocket_hci_raw_node_disconnect

ng_disconnect_t ng_btsocket_hci_raw_node_disconnect
static

Definition at line 82 of file ng_btsocket_hci_raw.c.

◆ ng_btsocket_hci_raw_node_newhook

ng_newhook_t ng_btsocket_hci_raw_node_newhook
static

Definition at line 79 of file ng_btsocket_hci_raw.c.

◆ ng_btsocket_hci_raw_node_rcvdata

ng_rcvdata_t ng_btsocket_hci_raw_node_rcvdata
static

Definition at line 81 of file ng_btsocket_hci_raw.c.

◆ ng_btsocket_hci_raw_node_rcvmsg

ng_rcvmsg_t ng_btsocket_hci_raw_node_rcvmsg
static

Definition at line 77 of file ng_btsocket_hci_raw.c.

◆ ng_btsocket_hci_raw_node_shutdown

ng_shutdown_t ng_btsocket_hci_raw_node_shutdown
static

Definition at line 78 of file ng_btsocket_hci_raw.c.

◆ ng_btsocket_hci_raw_queue

◆ ng_btsocket_hci_raw_queue_mtx

struct mtx ng_btsocket_hci_raw_queue_mtx
static

◆ ng_btsocket_hci_raw_task

struct task ng_btsocket_hci_raw_task
static

Definition at line 120 of file ng_btsocket_hci_raw.c.

Referenced by ng_btsocket_hci_raw_init().

◆ typestruct

struct ng_type typestruct
static
Initial value:
= {
.version = NG_ABI_VERSION,
}
#define NG_ABI_VERSION
Definition: netgraph.h:77
#define NG_BTSOCKET_HCI_RAW_NODE_TYPE
Definition: ng_btsocket.h:361
static ng_rcvdata_t ng_btsocket_hci_raw_node_rcvdata
static ng_disconnect_t ng_btsocket_hci_raw_node_disconnect
static ng_constructor_t ng_btsocket_hci_raw_node_constructor
static ng_connect_t ng_btsocket_hci_raw_node_connect
static ng_shutdown_t ng_btsocket_hci_raw_node_shutdown
static ng_newhook_t ng_btsocket_hci_raw_node_newhook
static ng_rcvmsg_t ng_btsocket_hci_raw_node_rcvmsg

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().