/* * Function obex_response_request (self, opcode) * * Send a response to peer device * */ void obex_response_request(obex_t *self, uint8_t opcode) { GNetBuf *msg; obex_return_if_fail(self != NULL); msg = g_netbuf_recycle(self->tx_msg); g_netbuf_reserve(msg, sizeof(obex_common_hdr_t)); obex_data_request(self, msg, opcode | OBEX_FINAL); }
/* * Function g_netbuf_new (len) * * Allocate new network buffer * */ GNetBuf *g_netbuf_new(unsigned int len) { GNetBuf *msg; uint8_t *buf; msg = malloc(sizeof(GNetBuf)); if (msg == NULL) return NULL; memset(msg, 0, sizeof(GNetBuf)); buf = malloc(len); if (buf == NULL) { free(msg); return NULL; } /* Init */ msg->truesize = len; msg->head = buf; g_netbuf_recycle(msg); return msg; }