FreeBSD kernel netgraph code
|
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/kernel.h>
#include <sys/malloc.h>
#include <sys/mbuf.h>
#include <sys/queue.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/l2cap/ng_l2cap_var.h>
#include <netgraph/bluetooth/l2cap/ng_l2cap_cmds.h>
#include <netgraph/bluetooth/l2cap/ng_l2cap_evnt.h>
#include <netgraph/bluetooth/l2cap/ng_l2cap_llpi.h>
#include <netgraph/bluetooth/l2cap/ng_l2cap_ulpi.h>
#include <netgraph/bluetooth/l2cap/ng_l2cap_misc.h>
Go to the source code of this file.
ng_l2cap_chan_p ng_l2cap_chan_by_conhandle | ( | ng_l2cap_p | l2cap, |
uint16_t | scid, | ||
u_int16_t | con_handle | ||
) |
Definition at line 405 of file ng_l2cap_misc.c.
References ng_l2cap_chan::con, ng_l2cap_con::con_handle, scid, and ng_l2cap_chan::scid.
Referenced by ng_l2cap_l2ca_discon_req(), ng_l2cap_l2ca_receive(), and ng_l2cap_l2ca_write_req().
ng_l2cap_chan_p ng_l2cap_chan_by_scid | ( | ng_l2cap_p | l2cap, |
u_int16_t | scid, | ||
int | idtype | ||
) |
Definition at line 382 of file ng_l2cap_misc.c.
References ng_l2cap_chan::con, ng_l2cap_con::linktype, NG_HCI_LINK_ACL, NG_L2CAP_L2CA_IDTYPE_ATT, NG_L2CAP_L2CA_IDTYPE_BREDR, NG_L2CAP_L2CA_IDTYPE_LE, NG_L2CAP_L2CA_IDTYPE_SMP, scid, and ng_l2cap_chan::scid.
Referenced by ng_l2cap_get_cid(), ng_l2cap_l2ca_cfg_req(), ng_l2cap_l2ca_cfg_rsp_req(), ng_l2cap_l2ca_con_rsp_req(), ng_l2cap_l2ca_discon_req(), ng_l2cap_l2ca_receive(), ng_l2cap_l2ca_write_req(), ng_l2cap_process_cfg_req(), and ng_l2cap_process_discon_req().
ng_l2cap_cmd_p ng_l2cap_cmd_by_ident | ( | ng_l2cap_con_p | con, |
u_int8_t | ident | ||
) |
Definition at line 484 of file ng_l2cap_misc.c.
References ng_l2cap_con::l2cap, NG_L2CAP_CMD_PENDING, NG_NODE_NAME, and ng_l2cap::node.
Referenced by ng_l2cap_get_ident(), ng_l2cap_process_cfg_rsp(), ng_l2cap_process_cmd_rej(), ng_l2cap_process_command_timeout(), ng_l2cap_process_con_rsp(), ng_l2cap_process_discon_rsp(), ng_l2cap_process_echo_rsp(), and ng_l2cap_process_info_rsp().
int ng_l2cap_command_timeout | ( | ng_l2cap_cmd_p | cmd, |
int | timo | ||
) |
Definition at line 551 of file ng_l2cap_misc.c.
References ng_callout(), NG_L2CAP_CMD_PENDING, ng_l2cap_process_command_timeout(), and NG_NODE_NAME.
Referenced by ng_l2cap_con_wakeup(), ng_l2cap_process_cfg_rsp(), and ng_l2cap_process_con_rsp().
int ng_l2cap_command_untimeout | ( | ng_l2cap_cmd_p | cmd | ) |
Definition at line 574 of file ng_l2cap_misc.c.
References NG_L2CAP_CMD_PENDING, NG_NODE_NAME, and ng_uncallout().
Referenced by ng_l2cap_con_fail(), ng_l2cap_free_chan(), ng_l2cap_free_con(), ng_l2cap_process_cfg_rsp(), ng_l2cap_process_cmd_rej(), ng_l2cap_process_con_rsp(), ng_l2cap_process_discon_rsp(), ng_l2cap_process_echo_rsp(), and ng_l2cap_process_info_rsp().
ng_l2cap_con_p ng_l2cap_con_by_addr | ( | ng_l2cap_p | l2cap, |
bdaddr_p | bdaddr, | ||
unsigned int | type | ||
) |
Definition at line 301 of file ng_l2cap_misc.c.
References ng_l2cap_con::linktype, ng_l2cap_con::remote, and type.
Referenced by ng_l2cap_l2ca_con_req(), ng_l2cap_l2ca_get_info_req(), ng_l2cap_l2ca_ping_req(), ng_l2cap_lp_con_cfm(), ng_l2cap_lp_con_ind(), and ng_l2cap_lp_con_req().
ng_l2cap_con_p ng_l2cap_con_by_handle | ( | ng_l2cap_p | l2cap, |
u_int16_t | con_handle | ||
) |
Definition at line 318 of file ng_l2cap_misc.c.
References ng_l2cap_con::con_handle.
Referenced by ng_l2cap_lower_rcvmsg(), ng_l2cap_lp_discon_ind(), ng_l2cap_lp_enc_change(), ng_l2cap_lp_qos_ind(), ng_l2cap_lp_qos_req(), ng_l2cap_lp_receive(), ng_l2cap_process_command_timeout(), ng_l2cap_process_discon_timeout(), and ng_l2cap_process_lp_timeout().
void ng_l2cap_con_ref | ( | ng_l2cap_con_p | con | ) |
Definition at line 156 of file ng_l2cap_misc.c.
References ng_l2cap_con::flags, ng_l2cap_con::l2cap, NG_L2CAP_CON_AUTO_DISCON_TIMO, NG_L2CAP_CON_OPEN, NG_L2CAP_CON_OUTGOING, ng_l2cap_discon_untimeout(), NG_NODE_NAME, ng_l2cap::node, ng_l2cap_con::refcnt, and ng_l2cap_con::state.
Referenced by ng_l2cap_new_chan().
void ng_l2cap_con_unref | ( | ng_l2cap_con_p | con | ) |
Definition at line 177 of file ng_l2cap_misc.c.
References ng_l2cap::discon_timo, ng_l2cap_con::flags, ng_l2cap_con::l2cap, NG_L2CAP_CON_DYING, NG_L2CAP_CON_OPEN, NG_L2CAP_CON_OUTGOING, ng_l2cap_discon_timeout(), NG_NODE_NAME, ng_l2cap::node, ng_l2cap_con::refcnt, and ng_l2cap_con::state.
Referenced by ng_l2cap_free_chan().
ng_l2cap_flow_p ng_l2cap_default_flow | ( | void | ) |
Definition at line 609 of file ng_l2cap_misc.c.
References NG_HCI_SERVICE_TYPE_BEST_EFFORT.
Referenced by ng_l2cap_l2ca_cfg_req(), and ng_l2cap_new_chan().
int ng_l2cap_discon_timeout | ( | ng_l2cap_con_p | con | ) |
Definition at line 208 of file ng_l2cap_misc.c.
References ng_l2cap_con::con_handle, ng_l2cap_con::con_timo, ng_l2cap::discon_timo, ng_l2cap_con::flags, ng_l2cap_con::l2cap, ng_callout(), NG_L2CAP_CON_AUTO_DISCON_TIMO, NG_L2CAP_CON_LP_TIMO, ng_l2cap_process_discon_timeout(), NG_NODE_NAME, ng_l2cap::node, and ng_l2cap_con::state.
Referenced by ng_l2cap_con_unref().
int ng_l2cap_discon_untimeout | ( | ng_l2cap_con_p | con | ) |
Definition at line 230 of file ng_l2cap_misc.c.
References ng_l2cap_con::con_timo, ng_l2cap_con::flags, ng_l2cap_con::l2cap, NG_L2CAP_CON_AUTO_DISCON_TIMO, NG_NODE_NAME, ng_uncallout(), ng_l2cap::node, and ng_l2cap_con::state.
Referenced by ng_l2cap_cleanup(), ng_l2cap_con_ref(), and ng_l2cap_lp_discon_ind().
void ng_l2cap_free_chan | ( | ng_l2cap_chan_p | ch | ) |
Definition at line 423 of file ng_l2cap_misc.c.
References ng_l2cap_cmd::ch, ng_l2cap_chan::con, ng_l2cap_cmd::flags, M_NETGRAPH_L2CAP, NG_L2CAP_CMD_PENDING, ng_l2cap_command_untimeout(), ng_l2cap_con_unref(), ng_l2cap_free_cmd, and ng_l2cap_unlink_cmd.
Referenced by ng_l2cap_con_fail(), ng_l2cap_con_wakeup(), ng_l2cap_destroy_channels(), ng_l2cap_free_con(), ng_l2cap_l2ca_con_req(), ng_l2cap_l2ca_con_rsp_req(), ng_l2cap_l2ca_discon_req(), ng_l2cap_process_cfg_req(), ng_l2cap_process_cfg_rsp(), ng_l2cap_process_cmd_rej(), ng_l2cap_process_command_timeout(), ng_l2cap_process_con_req(), ng_l2cap_process_con_rsp(), ng_l2cap_process_discon_req(), and ng_l2cap_process_discon_rsp().
void ng_l2cap_free_con | ( | ng_l2cap_con_p | con | ) |
Definition at line 251 of file ng_l2cap_misc.c.
References ng_l2cap_chan::con, ng_l2cap_con::flags, ng_l2cap_con::l2cap, M_NETGRAPH_L2CAP, NG_FREE_M, NG_L2CAP_CMD_PENDING, ng_l2cap_command_untimeout(), NG_L2CAP_CON_AUTO_DISCON_TIMO, NG_L2CAP_CON_CLOSED, NG_L2CAP_CON_LP_TIMO, ng_l2cap_free_chan(), ng_l2cap_free_cmd, ng_l2cap_unlink_cmd, NG_NODE_NAME, ng_l2cap::node, ng_l2cap_con::rx_pkt, ng_l2cap_con::state, and ng_l2cap_con::tx_pkt.
Referenced by ng_l2cap_con_fail(), ng_l2cap_lp_con_ind(), and ng_l2cap_lp_con_req().
|
static |
Definition at line 630 of file ng_l2cap_misc.c.
References ng_l2cap::cid, ng_l2cap::lecid, ng_l2cap_chan_by_scid(), NG_L2CAP_FIRST_CID, NG_L2CAP_L2CA_IDTYPE_BREDR, NG_L2CAP_L2CA_IDTYPE_LE, NG_L2CAP_LAST_CID, NG_L2CAP_LELAST_CID, and NG_L2CAP_NULL_CID.
Referenced by ng_l2cap_new_chan().
u_int8_t ng_l2cap_get_ident | ( | ng_l2cap_con_p | con | ) |
Definition at line 677 of file ng_l2cap_misc.c.
References ng_l2cap_con::ident, ng_l2cap_cmd_by_ident(), NG_L2CAP_FIRST_IDENT, and NG_L2CAP_NULL_IDENT.
Referenced by ng_l2cap_l2ca_cfg_req(), ng_l2cap_l2ca_con_req(), ng_l2cap_l2ca_discon_req(), ng_l2cap_l2ca_get_info_req(), and ng_l2cap_l2ca_ping_req().
int ng_l2cap_lp_timeout | ( | ng_l2cap_con_p | con | ) |
Definition at line 507 of file ng_l2cap_misc.c.
References bluetooth_hci_connect_timeout(), ng_l2cap_con::con_handle, ng_l2cap_con::con_timo, ng_l2cap_con::flags, ng_l2cap_con::l2cap, ng_callout(), NG_L2CAP_CON_AUTO_DISCON_TIMO, NG_L2CAP_CON_LP_TIMO, ng_l2cap_process_lp_timeout(), NG_NODE_NAME, ng_l2cap::node, and ng_l2cap_con::state.
Referenced by ng_l2cap_lp_con_ind(), and ng_l2cap_lp_con_req().
int ng_l2cap_lp_untimeout | ( | ng_l2cap_con_p | con | ) |
Definition at line 529 of file ng_l2cap_misc.c.
References ng_l2cap_con::con_timo, ng_l2cap_con::flags, ng_l2cap_con::l2cap, NG_L2CAP_CON_LP_TIMO, NG_NODE_NAME, ng_uncallout(), ng_l2cap::node, and ng_l2cap_con::state.
Referenced by ng_l2cap_cleanup(), ng_l2cap_lp_con_cfm(), ng_l2cap_lp_con_ind(), and ng_l2cap_lp_con_req().
ng_l2cap_chan_p ng_l2cap_new_chan | ( | ng_l2cap_p | l2cap, |
ng_l2cap_con_p | con, | ||
u_int16_t | psm, | ||
int | idtype | ||
) |
Definition at line 335 of file ng_l2cap_misc.c.
References ng_l2cap_chan::con, ng_l2cap_chan::dcid, ng_l2cap_chan::flush_timo, ng_l2cap_chan::idtype, ng_l2cap_chan::iflow, ng_l2cap_chan::imtu, ng_l2cap_chan::link_timo, ng_l2cap_con::linktype, M_NETGRAPH_L2CAP, NG_HCI_LINK_ACL, NG_L2CAP_ATT_CID, NG_L2CAP_CLOSED, ng_l2cap_con_ref(), ng_l2cap_default_flow(), NG_L2CAP_FLUSH_TIMO_DEFAULT, ng_l2cap_get_cid(), NG_L2CAP_L2CA_IDTYPE_ATT, NG_L2CAP_L2CA_IDTYPE_SMP, NG_L2CAP_LINK_TIMO_DEFAULT, NG_L2CAP_MTU_DEFAULT, NG_L2CAP_NULL_CID, NG_L2CAP_SMP_CID, ng_l2cap_chan::oflow, ng_l2cap_chan::omtu, ng_l2cap_chan::psm, ng_l2cap_chan::scid, and ng_l2cap_chan::state.
Referenced by ng_l2cap_l2ca_con_req(), and ng_l2cap_process_con_req().
ng_l2cap_cmd_p ng_l2cap_new_cmd | ( | ng_l2cap_con_p | con, |
ng_l2cap_chan_p | ch, | ||
u_int8_t | ident, | ||
u_int8_t | code, | ||
u_int32_t | token | ||
) |
Definition at line 455 of file ng_l2cap_misc.c.
References ng_l2cap_chan::con, ng_l2cap_chan::ident, ng_l2cap_con::l2cap, M_NETGRAPH_L2CAP, ng_callout_init, NG_NODE_NAME, and ng_l2cap::node.
Referenced by ng_l2cap_l2ca_cfg_req(), ng_l2cap_l2ca_cfg_rsp_req(), ng_l2cap_l2ca_con_req(), ng_l2cap_l2ca_con_rsp_req(), ng_l2cap_l2ca_discon_req(), ng_l2cap_l2ca_get_info_req(), ng_l2cap_l2ca_ping_req(), ng_l2cap_l2ca_write_req(), ng_l2cap_process_discon_req(), ng_l2cap_process_echo_req(), ng_l2cap_process_info_req(), send_l2cap_cfg_rsp(), send_l2cap_con_rej(), send_l2cap_param_urs(), and send_l2cap_reject().
ng_l2cap_con_p ng_l2cap_new_con | ( | ng_l2cap_p | l2cap, |
bdaddr_p | bdaddr, | ||
int | type | ||
) |
Definition at line 106 of file ng_l2cap_misc.c.
References ng_l2cap_con::con_handle, ng_l2cap_con::con_timo, ng_l2cap_con::encryption, ng_l2cap_con::ident, ng_l2cap_con::l2cap, ng_l2cap_con::linktype, M_NETGRAPH_L2CAP, ng_callout_init, NG_L2CAP_CON_CLOSED, NG_L2CAP_FIRST_IDENT, ng_l2cap_con::remote, ng_l2cap_con::state, and type.
Referenced by ng_l2cap_lp_con_ind(), and ng_l2cap_lp_con_req().
struct mbuf * ng_l2cap_prepend | ( | struct mbuf * | m, |
int | size | ||
) |
Definition at line 595 of file ng_l2cap_misc.c.
Referenced by ng_l2cap_con_wakeup(), ng_l2cap_lp_send(), and ng_l2cap_process_echo_req().
Definition at line 67 of file ng_l2cap_misc.c.
References ng_l2cap_node_hook_info_ep::addr, ng_l2cap::bdaddr, ng_mesg::data, ng_l2cap::hci, NG_HCI_BDADDR_ANY, NG_HOOK_NAME, NG_HOOK_NOT_VALID, NG_L2CAP_INFO, NG_MKMESSAGE, NG_NODE_NAME, NG_NODE_NOT_VALID, NG_NODE_PRIVATE, NG_SEND_MSG_HOOK, NGM_L2CAP_COOKIE, NGM_L2CAP_NODE_HOOK_INFO, and ng_l2cap::node.
Referenced by ng_l2cap_connect(), and ng_l2cap_lower_rcvmsg().