Hi Arman, >>> 1. Change the bt_att_send signature: bt_att_send(struct bt_att *att, >>> void *pdu, uint16_t len, ...); No opcode is passed as it's contained >>> in the first byte of the PDU. >> >> Keep it as opcode + payload. I really want the opcode in the signature. >> > > Sounds good to me. But we still expect the passed in pdu to contain > the opcode as the first byte right? Or are we saying to pass in the > opcode + the rest of the PDU separately? I want opcode + payload. So the opcode is not part of the PDU we pass in. >>> 2. Change the misnamed bt_att_request_func_t to: typedef >>> (*bt_att_pdu_func_t)(const void *pdu, uint16_t len, void *user_data), >>> to be invoked upon a response to a request and for all incoming PDUs. >> >> Not sure why? I want the difference between bt_att_send and bt_att_register. >> > > No difference in the callback signatures if that's what you're asking. > My original intention was to have the (same type of) callback passed > to bt_att_send and bt_att_register take in a void pointer to a param > structure. Now the callback will just accept the raw PDU (or opcode + > the rest of the PDU in separate args). bt_att_request_func_t is a bit > misnamed (since it doesn't only apply to ATT protocol requests), so > changing that to bt_att_pdu_func_t. Also removing > bt_att_notify_func_t. Keep them separate for now. Even if they have the same signature. We can fix that later on if we see that it makes more sense. Regards Marcel -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html