RetroArch
|
Go to the source code of this file.
Classes | |
struct | l2cap_hdr |
struct | l2cap_sig_hdr |
struct | l2cap_cfgopt_hdr |
struct | l2cap_sig |
struct | l2cap_cfg |
struct | l2cap_seg |
struct | l2cap_pcb |
struct | l2cap_pcb_listen |
Macros | |
#define | HIDP_PSM 0x0011 |
#define | INTR_PSM 0x0013 |
#define | L2CAP_HDR_LEN 4 |
#define | L2CAP_SIGHDR_LEN 4 |
#define | L2CAP_CFGOPTHDR_LEN 2 |
#define | L2CAP_CONN_REQ_SIZE 4 |
#define | L2CAP_CONN_RSP_SIZE 8 |
#define | L2CAP_CFG_RSP_SIZE 6 |
#define | L2CAP_DISCONN_RSP_SIZE 4 |
#define | L2CAP_CFG_REQ_SIZE 4 |
#define | L2CAP_DISCONN_REQ_SIZE 4 |
#define | L2CAP_CMD_REJ_SIZE 2 |
#define | L2CAP_CMD_REJ 0x01 |
#define | L2CAP_CONN_REQ 0x02 |
#define | L2CAP_CONN_RSP 0x03 |
#define | L2CAP_CFG_REQ 0x04 |
#define | L2CAP_CFG_RSP 0x05 |
#define | L2CAP_DISCONN_REQ 0x06 |
#define | L2CAP_DISCONN_RSP 0x07 |
#define | L2CAP_ECHO_REQ 0x08 |
#define | L2CAP_ECHO_RSP 0x09 |
#define | L2CAP_INFO_REQ 0x0A |
#define | L2CAP_INFO_RSP 0x0B |
#define | L2CAP_NULL_CID 0x0000 |
#define | L2CAP_SIG_CID 0x0001 |
#define | L2CAP_CONNLESS_CID 0x0002 |
#define | L2CAP_MIN_CID 0x0040 |
#define | L2CAP_MAX_CID 0xFFFF |
#define | L2CAP_CFG_MTU 0x01 |
#define | L2CAP_FLUSHTO 0x02 |
#define | L2CAP_QOS 0x03 |
#define | L2CAP_MTU_LEN 2 |
#define | L2CAP_FLUSHTO_LEN 2 |
#define | L2CAP_QOS_LEN 22 |
#define | L2CAP_CFG_SUCCESS 0x0000 |
#define | L2CAP_CFG_UNACCEPT 0x0001 |
#define | L2CAP_CFG_REJ 0x0002 |
#define | L2CAP_CFG_UNKNOWN 0x0003 |
#define | L2CAP_CFG_TIMEOUT 0xEEEE |
#define | L2CAP_QOS_NO_TRAFFIC 0x00 |
#define | L2CAP_QOS_BEST_EFFORT 0x01 |
#define | L2CAP_QOS_GUARANTEED 0x02 |
#define | L2CAP_CMD_NOT_UNDERSTOOD 0x0000 |
#define | L2CAP_MTU_EXCEEDED 0x0001 |
#define | L2CAP_INVALID_CID 0x0002 |
#define | L2CAP_CONN_SUCCESS 0x0000 |
#define | L2CAP_CONN_PND 0x0001 |
#define | L2CAP_CONN_REF_PSM 0x0002 |
#define | L2CAP_CONN_REF_SEC 0x0003 |
#define | L2CAP_CONN_REF_RES 0x0004 |
#define | L2CAP_CONN_CFG_TO 0x0005 /* Implementation specific result */ |
#define | L2CAP_ECHO_RCVD 0x00 |
#define | L2CAP_ECHO_TO 0x01 |
#define | L2CAP_ACL_START 0x02 |
#define | L2CAP_ACL_CONT 0x01 |
#define | L2CAP_CFG_DEFAULT_INMTU |
#define | L2CAP_CFG_DEFAULT_OUTFLUSHTO 0xFFFF |
#define | L2CAP_CFG_IR 0x01 |
#define | L2CAP_CFG_IN_SUCCESS 0x02 |
#define | L2CAP_CFG_OUT_SUCCESS 0x04 |
#define | L2CAP_CFG_OUT_REQ 0x08 |
#define | l2cap_psm(pcb) ((pcb)->psm) |
#define | L2CA_ACTION_CONN_CFM(pcb, result, status, ret) if((pcb)->l2ca_connect_cfm != NULL) (ret = (pcb)->l2ca_connect_cfm((pcb)->callback_arg,(pcb),(result),(status))) |
#define | L2CA_ACTION_DISCONN_CFM(pcb, ret) if((pcb)->l2ca_disconnect_cfm != NULL) (ret = (pcb)->l2ca_disconnect_cfm((pcb)->callback_arg,(pcb))) |
#define | L2CA_ACTION_PING_CFM(pcb, result, ret) if((pcb)->l2ca_pong != NULL) (ret = (pcb)->l2ca_pong((pcb)->callback_arg,(pcb),(result))) |
#define | L2CA_ACTION_CONN_IND(pcb, err, ret) if((pcb)->l2ca_connect_ind != NULL) (ret = (pcb)->l2ca_connect_ind((pcb)->callback_arg,(pcb),(err))) |
#define | L2CA_ACTION_DISCONN_IND(pcb, err, ret) |
#define | L2CA_ACTION_TO_IND(pcb, err, ret) if((pcb)->l2ca_timeout_ind != NULL) (ret = (pcb)->l2ca_timeout_ind((pcb)->callback_arg,(pcb),(err))) |
#define | L2CA_ACTION_RECV(pcb, p, err, ret) |
#define | L2CAP_OPTH_TYPE(hdr) (((hdr)->type) & 0x7f) |
#define | L2CAP_OPTH_TOA(hdr) (((hdr)->type) >> 7) |
#define | L2CAP_REG(pcbs, npcb) |
#define | L2CAP_RMV(pcbs, npcb) |
#define | L2CAP_SIG_REG(ursp_sigs, nsig) |
#define | L2CAP_SIG_RMV(ursp_sigs, nsig) |
#define | L2CAP_SEG_REG(segs, nseg) |
#define | L2CAP_SEG_RMV(segs, nseg) |
Enumerations | |
enum | l2cap_state { L2CAP_CLOSED, L2CAP_LISTEN, W4_L2CAP_CONNECT_RSP, W4_L2CA_CONNECT_RSP, L2CAP_CONFIG, L2CAP_OPEN, W4_L2CAP_DISCONNECT_RSP, W4_L2CA_DISCONNECT_RSP } |
Functions | |
void | l2cap_init () |
struct l2cap_pcb * | l2cap_new (void) |
void | lp_connect_ind (struct bd_addr *bdaddr) |
void | lp_connect_cfm (struct bd_addr *bdaddr, u8_t encrypt_mode, err_t err) |
void | lp_disconnect_ind (struct bd_addr *bdaddr, u8_t reason) |
err_t | l2ca_config_req (struct l2cap_pcb *pcb) |
err_t | l2ca_disconnect_req (struct l2cap_pcb *pcb, err_t(*l2ca_disconnect_cfm)(void *arg, struct l2cap_pcb *pcb)) |
err_t | l2ca_datawrite (struct l2cap_pcb *pcb, struct pbuf *p) |
err_t | l2ca_ping (struct bd_addr *bdaddr, struct l2cap_pcb *tpcb, err_t(*l2ca_pong)(void *arg, struct l2cap_pcb *pcb, u8_t result)) |
err_t | l2ca_connect_req (struct l2cap_pcb *pcb, struct bd_addr *bdaddr, u16_t psm, u8_t role_switch, err_t(*l2ca_connect_cfm)(void *arg, struct l2cap_pcb *lpcb, u16_t result, u16_t status)) |
void | l2cap_tmr () |
void | l2cap_input (struct pbuf *p, struct bd_addr *bdaddr) |
err_t | l2cap_close (struct l2cap_pcb *pcb) |
void | l2cap_reset_all (void) |
u8_t | l2cap_next_sigid (void) |
err_t | l2cap_write (struct bd_addr *bdaddr, struct pbuf *p, u16_t len) |
void | l2cap_arg (struct l2cap_pcb *pcb, void *arg) |
void | l2cap_disconnect_ind (struct l2cap_pcb *pcb, err_t(*l2ca_disconnect_ind)(void *arg, struct l2cap_pcb *newpcb, err_t err)) |
void | l2cap_timeout_ind (struct l2cap_pcb *pcb, err_t(*l2ca_timeout_ind)(void *arg, struct l2cap_pcb *newpcb, err_t err)) |
void | l2cap_recv (struct l2cap_pcb *pcb, err_t(*l2ca_recv)(void *arg, struct l2cap_pcb *pcb, struct pbuf *p, err_t err)) |
err_t | l2cap_signal (struct l2cap_pcb *pcb, u8_t code, u16_t ursp_id, struct bd_addr *remote_bdaddr, struct pbuf *data) |
void | l2cap_process_sig (struct pbuf *q, struct l2cap_hdr *l2caphdr, struct bd_addr *bdaddr) |
err_t | l2cap_rexmit_signal (struct l2cap_pcb *pcb, struct l2cap_sig *sig) |
err_t | l2cap_connect_ind (struct l2cap_pcb *npcb, struct bd_addr *bdaddr, u16_t psm, err_t(*l2ca_connect_ind)(void *arg, struct l2cap_pcb *pcb, err_t err)) |
Variables | |
struct l2cap_hdr | ATTRIBUTE_PACKED |
void(*)(struct bd_addr *bdaddr, u8_t reason) | l2cap_disconnect_bb (void(*l2ca_disconnect_bb)(struct bd_addr *bdaddr, u8_t reason)) |
struct l2cap_pcb_listen * | l2cap_listen_pcbs |
struct l2cap_pcb * | l2cap_active_pcbs |
struct l2cap_pcb * | l2cap_tmp_pcb |
struct l2cap_sig * | l2cap_tmp_sig |
struct l2cap_seg * | l2cap_tmp_inseg |
#define HIDP_PSM 0x0011 |
#define INTR_PSM 0x0013 |
#define L2CA_ACTION_CONN_CFM | ( | pcb, | |
result, | |||
status, | |||
ret | |||
) | if((pcb)->l2ca_connect_cfm != NULL) (ret = (pcb)->l2ca_connect_cfm((pcb)->callback_arg,(pcb),(result),(status))) |
#define L2CA_ACTION_CONN_IND | ( | pcb, | |
err, | |||
ret | |||
) | if((pcb)->l2ca_connect_ind != NULL) (ret = (pcb)->l2ca_connect_ind((pcb)->callback_arg,(pcb),(err))) |
#define L2CA_ACTION_DISCONN_CFM | ( | pcb, | |
ret | |||
) | if((pcb)->l2ca_disconnect_cfm != NULL) (ret = (pcb)->l2ca_disconnect_cfm((pcb)->callback_arg,(pcb))) |
#define L2CA_ACTION_DISCONN_IND | ( | pcb, | |
err, | |||
ret | |||
) |
#define L2CA_ACTION_PING_CFM | ( | pcb, | |
result, | |||
ret | |||
) | if((pcb)->l2ca_pong != NULL) (ret = (pcb)->l2ca_pong((pcb)->callback_arg,(pcb),(result))) |
#define L2CA_ACTION_RECV | ( | pcb, | |
p, | |||
err, | |||
ret | |||
) |
#define L2CA_ACTION_TO_IND | ( | pcb, | |
err, | |||
ret | |||
) | if((pcb)->l2ca_timeout_ind != NULL) (ret = (pcb)->l2ca_timeout_ind((pcb)->callback_arg,(pcb),(err))) |
#define L2CAP_ACL_CONT 0x01 |
#define L2CAP_ACL_START 0x02 |
#define L2CAP_CFG_DEFAULT_INMTU |
#define L2CAP_CFG_DEFAULT_OUTFLUSHTO 0xFFFF |
#define L2CAP_CFG_IN_SUCCESS 0x02 |
#define L2CAP_CFG_IR 0x01 |
#define L2CAP_CFG_MTU 0x01 |
#define L2CAP_CFG_OUT_REQ 0x08 |
#define L2CAP_CFG_OUT_SUCCESS 0x04 |
#define L2CAP_CFG_REJ 0x0002 |
#define L2CAP_CFG_REQ 0x04 |
#define L2CAP_CFG_REQ_SIZE 4 |
#define L2CAP_CFG_RSP 0x05 |
#define L2CAP_CFG_RSP_SIZE 6 |
#define L2CAP_CFG_SUCCESS 0x0000 |
#define L2CAP_CFG_TIMEOUT 0xEEEE |
#define L2CAP_CFG_UNACCEPT 0x0001 |
#define L2CAP_CFG_UNKNOWN 0x0003 |
#define L2CAP_CFGOPTHDR_LEN 2 |
#define L2CAP_CMD_NOT_UNDERSTOOD 0x0000 |
#define L2CAP_CMD_REJ 0x01 |
#define L2CAP_CMD_REJ_SIZE 2 |
#define L2CAP_CONN_CFG_TO 0x0005 /* Implementation specific result */ |
#define L2CAP_CONN_PND 0x0001 |
#define L2CAP_CONN_REF_PSM 0x0002 |
#define L2CAP_CONN_REF_RES 0x0004 |
#define L2CAP_CONN_REF_SEC 0x0003 |
#define L2CAP_CONN_REQ 0x02 |
#define L2CAP_CONN_REQ_SIZE 4 |
#define L2CAP_CONN_RSP 0x03 |
#define L2CAP_CONN_RSP_SIZE 8 |
#define L2CAP_CONN_SUCCESS 0x0000 |
#define L2CAP_CONNLESS_CID 0x0002 |
#define L2CAP_DISCONN_REQ 0x06 |
#define L2CAP_DISCONN_REQ_SIZE 4 |
#define L2CAP_DISCONN_RSP 0x07 |
#define L2CAP_DISCONN_RSP_SIZE 4 |
#define L2CAP_ECHO_RCVD 0x00 |
#define L2CAP_ECHO_REQ 0x08 |
#define L2CAP_ECHO_RSP 0x09 |
#define L2CAP_ECHO_TO 0x01 |
#define L2CAP_FLUSHTO 0x02 |
#define L2CAP_FLUSHTO_LEN 2 |
#define L2CAP_HDR_LEN 4 |
#define L2CAP_INFO_REQ 0x0A |
#define L2CAP_INFO_RSP 0x0B |
#define L2CAP_INVALID_CID 0x0002 |
#define L2CAP_MAX_CID 0xFFFF |
#define L2CAP_MIN_CID 0x0040 |
#define L2CAP_MTU_EXCEEDED 0x0001 |
#define L2CAP_MTU_LEN 2 |
#define L2CAP_NULL_CID 0x0000 |
#define L2CAP_OPTH_TOA | ( | hdr | ) | (((hdr)->type) >> 7) |
#define L2CAP_OPTH_TYPE | ( | hdr | ) | (((hdr)->type) & 0x7f) |
#define l2cap_psm | ( | pcb | ) | ((pcb)->psm) |
#define L2CAP_QOS 0x03 |
#define L2CAP_QOS_BEST_EFFORT 0x01 |
#define L2CAP_QOS_GUARANTEED 0x02 |
#define L2CAP_QOS_LEN 22 |
#define L2CAP_QOS_NO_TRAFFIC 0x00 |
#define L2CAP_REG | ( | pcbs, | |
npcb | |||
) |
#define L2CAP_RMV | ( | pcbs, | |
npcb | |||
) |
#define L2CAP_SEG_REG | ( | segs, | |
nseg | |||
) |
#define L2CAP_SEG_RMV | ( | segs, | |
nseg | |||
) |
#define L2CAP_SIG_CID 0x0001 |
#define L2CAP_SIG_REG | ( | ursp_sigs, | |
nsig | |||
) |
#define L2CAP_SIG_RMV | ( | ursp_sigs, | |
nsig | |||
) |
#define L2CAP_SIGHDR_LEN 4 |
enum l2cap_state |
err_t l2ca_connect_req | ( | struct l2cap_pcb * | pcb, |
struct bd_addr * | bdaddr, | ||
u16_t | psm, | ||
u8_t | role_switch, | ||
err_t(*)(void *arg, struct l2cap_pcb *lpcb, u16_t result, u16_t status) | l2ca_connect_cfm | ||
) |
err_t l2ca_disconnect_req | ( | struct l2cap_pcb * | pcb, |
err_t(*)(void *arg, struct l2cap_pcb *pcb) | l2ca_disconnect_cfm | ||
) |
err_t l2ca_ping | ( | struct bd_addr * | bdaddr, |
struct l2cap_pcb * | tpcb, | ||
err_t(*)(void *arg, struct l2cap_pcb *pcb, u8_t result) | l2ca_pong | ||
) |
err_t l2cap_connect_ind | ( | struct l2cap_pcb * | npcb, |
struct bd_addr * | bdaddr, | ||
u16_t | psm, | ||
err_t(*)(void *arg, struct l2cap_pcb *pcb, err_t err) | l2ca_connect_ind | ||
) |
void l2cap_disconnect_ind | ( | struct l2cap_pcb * | pcb, |
err_t(*)(void *arg, struct l2cap_pcb *newpcb, err_t err) | l2ca_disconnect_ind | ||
) |
void l2cap_init | ( | ) |
void l2cap_recv | ( | struct l2cap_pcb * | pcb, |
err_t(*)(void *arg, struct l2cap_pcb *pcb, struct pbuf *p, err_t err) | l2ca_recv | ||
) |
err_t l2cap_signal | ( | struct l2cap_pcb * | pcb, |
u8_t | code, | ||
u16_t | ursp_id, | ||
struct bd_addr * | remote_bdaddr, | ||
struct pbuf * | data | ||
) |
void l2cap_timeout_ind | ( | struct l2cap_pcb * | pcb, |
err_t(*)(void *arg, struct l2cap_pcb *newpcb, err_t err) | l2ca_timeout_ind | ||
) |
void l2cap_tmr | ( | ) |
struct l2cap_cfgopt_hdr ATTRIBUTE_PACKED |
struct l2cap_pcb* l2cap_active_pcbs |
void(*)(struct bd_addr *bdaddr, u8_t reason) l2cap_disconnect_bb(void(*l2ca_disconnect_bb)(struct bd_addr *bdaddr, u8_t reason)) |
struct l2cap_pcb_listen* l2cap_listen_pcbs |
struct l2cap_seg* l2cap_tmp_inseg |
struct l2cap_pcb* l2cap_tmp_pcb |
struct l2cap_sig* l2cap_tmp_sig |