void l2capServiceTx_ADK(uint16_t conn, uint16_t remChan, const uint8_t* data, uint32_t size){ //send data over L2CAP sg_buf* buf = sg_alloc(); if(!buf) return; if(sg_add_back(buf, data, size, SG_FLAG_MAKE_A_COPY)) l2capServiceTx(conn, remChan, buf); else sg_free(buf); }
static void l2capSendControlRawBuf(uint16_t conn, const uint8_t* data, uint16_t len){ sg_buf* buf; buf = sg_alloc(); if(buf){ if(sg_add_back(buf, data, len, SG_FLAG_MAKE_A_COPY)){ l2capServiceTx(conn, 1, buf); } else{ sg_free(buf); free(buf); } } }
static void btRfcommSend(uint16_t conn, uint16_t remChan, const uint8_t* data, uint16_t sz){ int i; #if UGLY_SCARY_DEBUGGING_CODE dbgPrintf("Sending RFCOMM packet:"); for(i = 0; i < sz; i++) dbgPrintf(" %02X", data[i]); dbgPrintf("\n\n"); #endif sg_buf* buf = sg_alloc(); if(!buf) return; if(sg_add_front(buf, data, sz, SG_FLAG_MAKE_A_COPY)){ l2capServiceTx(conn, remChan, buf); return; } sg_free(buf); free(buf); }
static void btRfcommSend(uint16_t conn, uint16_t remChan, const uint8_t* data, uint16_t sz){ int i; SIOPrintString("Sending RFCOMM packet:"); for(i = 0; i < sz; i++) { SIOPutHex(data[i]); SIOPutChar(' '); } SIOPrintString("\r\n"); sg_buf* buf = sg_alloc(); if(!buf) return; if(sg_add_front(buf, data, sz, SG_FLAG_MAKE_A_COPY)){ l2capServiceTx(conn, remChan, buf); return; } sg_free(buf); free(buf); }