mirror of
https://github.com/bluekitchen/btstack.git
synced 2025-04-10 15:44:32 +00:00
btstack_memory: fix de-init
This commit is contained in:
parent
642d8b89ed
commit
798bd46f26
@ -61,6 +61,11 @@ typedef struct btstack_memory_buffer {
|
|||||||
struct btstack_memory_buffer * prev;
|
struct btstack_memory_buffer * prev;
|
||||||
} btstack_memory_buffer_t;
|
} btstack_memory_buffer_t;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
btstack_memory_buffer_t tracking;
|
||||||
|
void * pointer;
|
||||||
|
} test_buffer_t;
|
||||||
|
|
||||||
static btstack_memory_buffer_t * btstack_memory_malloc_buffers;
|
static btstack_memory_buffer_t * btstack_memory_malloc_buffers;
|
||||||
static uint32_t btstack_memory_malloc_counter;
|
static uint32_t btstack_memory_malloc_counter;
|
||||||
|
|
||||||
@ -139,14 +144,14 @@ void btstack_memory_hci_connection_free(hci_connection_t *hci_connection){
|
|||||||
#elif defined(HAVE_MALLOC)
|
#elif defined(HAVE_MALLOC)
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
hci_connection_t data;
|
|
||||||
btstack_memory_buffer_t tracking;
|
btstack_memory_buffer_t tracking;
|
||||||
|
hci_connection_t data;
|
||||||
} btstack_memory_hci_connection_t;
|
} btstack_memory_hci_connection_t;
|
||||||
|
|
||||||
hci_connection_t * btstack_memory_hci_connection_get(void){
|
hci_connection_t * btstack_memory_hci_connection_get(void){
|
||||||
btstack_memory_hci_connection_t * buffer = (btstack_memory_hci_connection_t *) malloc(sizeof(btstack_memory_hci_connection_t));
|
btstack_memory_hci_connection_t * buffer = (btstack_memory_hci_connection_t *) malloc(sizeof(btstack_memory_hci_connection_t));
|
||||||
if (buffer){
|
if (buffer){
|
||||||
memset(buffer, 0, sizeof(hci_connection_t));
|
memset(buffer, 0, sizeof(btstack_memory_hci_connection_t));
|
||||||
btstack_memory_tracking_add(&buffer->tracking);
|
btstack_memory_tracking_add(&buffer->tracking);
|
||||||
return &buffer->data;
|
return &buffer->data;
|
||||||
} else {
|
} else {
|
||||||
@ -154,8 +159,9 @@ hci_connection_t * btstack_memory_hci_connection_get(void){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
void btstack_memory_hci_connection_free(hci_connection_t *hci_connection){
|
void btstack_memory_hci_connection_free(hci_connection_t *hci_connection){
|
||||||
btstack_memory_hci_connection_t * buffer = (btstack_memory_hci_connection_t *) hci_connection;
|
// reconstruct buffer start
|
||||||
btstack_memory_tracking_remove(&buffer->tracking);
|
btstack_memory_buffer_t * buffer = &((btstack_memory_buffer_t *) hci_connection)[-1];
|
||||||
|
btstack_memory_tracking_remove(buffer);
|
||||||
free(buffer);
|
free(buffer);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -196,14 +202,14 @@ void btstack_memory_l2cap_service_free(l2cap_service_t *l2cap_service){
|
|||||||
#elif defined(HAVE_MALLOC)
|
#elif defined(HAVE_MALLOC)
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
l2cap_service_t data;
|
|
||||||
btstack_memory_buffer_t tracking;
|
btstack_memory_buffer_t tracking;
|
||||||
|
l2cap_service_t data;
|
||||||
} btstack_memory_l2cap_service_t;
|
} btstack_memory_l2cap_service_t;
|
||||||
|
|
||||||
l2cap_service_t * btstack_memory_l2cap_service_get(void){
|
l2cap_service_t * btstack_memory_l2cap_service_get(void){
|
||||||
btstack_memory_l2cap_service_t * buffer = (btstack_memory_l2cap_service_t *) malloc(sizeof(btstack_memory_l2cap_service_t));
|
btstack_memory_l2cap_service_t * buffer = (btstack_memory_l2cap_service_t *) malloc(sizeof(btstack_memory_l2cap_service_t));
|
||||||
if (buffer){
|
if (buffer){
|
||||||
memset(buffer, 0, sizeof(l2cap_service_t));
|
memset(buffer, 0, sizeof(btstack_memory_l2cap_service_t));
|
||||||
btstack_memory_tracking_add(&buffer->tracking);
|
btstack_memory_tracking_add(&buffer->tracking);
|
||||||
return &buffer->data;
|
return &buffer->data;
|
||||||
} else {
|
} else {
|
||||||
@ -211,8 +217,9 @@ l2cap_service_t * btstack_memory_l2cap_service_get(void){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
void btstack_memory_l2cap_service_free(l2cap_service_t *l2cap_service){
|
void btstack_memory_l2cap_service_free(l2cap_service_t *l2cap_service){
|
||||||
btstack_memory_l2cap_service_t * buffer = (btstack_memory_l2cap_service_t *) l2cap_service;
|
// reconstruct buffer start
|
||||||
btstack_memory_tracking_remove(&buffer->tracking);
|
btstack_memory_buffer_t * buffer = &((btstack_memory_buffer_t *) l2cap_service)[-1];
|
||||||
|
btstack_memory_tracking_remove(buffer);
|
||||||
free(buffer);
|
free(buffer);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -252,14 +259,14 @@ void btstack_memory_l2cap_channel_free(l2cap_channel_t *l2cap_channel){
|
|||||||
#elif defined(HAVE_MALLOC)
|
#elif defined(HAVE_MALLOC)
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
l2cap_channel_t data;
|
|
||||||
btstack_memory_buffer_t tracking;
|
btstack_memory_buffer_t tracking;
|
||||||
|
l2cap_channel_t data;
|
||||||
} btstack_memory_l2cap_channel_t;
|
} btstack_memory_l2cap_channel_t;
|
||||||
|
|
||||||
l2cap_channel_t * btstack_memory_l2cap_channel_get(void){
|
l2cap_channel_t * btstack_memory_l2cap_channel_get(void){
|
||||||
btstack_memory_l2cap_channel_t * buffer = (btstack_memory_l2cap_channel_t *) malloc(sizeof(btstack_memory_l2cap_channel_t));
|
btstack_memory_l2cap_channel_t * buffer = (btstack_memory_l2cap_channel_t *) malloc(sizeof(btstack_memory_l2cap_channel_t));
|
||||||
if (buffer){
|
if (buffer){
|
||||||
memset(buffer, 0, sizeof(l2cap_channel_t));
|
memset(buffer, 0, sizeof(btstack_memory_l2cap_channel_t));
|
||||||
btstack_memory_tracking_add(&buffer->tracking);
|
btstack_memory_tracking_add(&buffer->tracking);
|
||||||
return &buffer->data;
|
return &buffer->data;
|
||||||
} else {
|
} else {
|
||||||
@ -267,8 +274,9 @@ l2cap_channel_t * btstack_memory_l2cap_channel_get(void){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
void btstack_memory_l2cap_channel_free(l2cap_channel_t *l2cap_channel){
|
void btstack_memory_l2cap_channel_free(l2cap_channel_t *l2cap_channel){
|
||||||
btstack_memory_l2cap_channel_t * buffer = (btstack_memory_l2cap_channel_t *) l2cap_channel;
|
// reconstruct buffer start
|
||||||
btstack_memory_tracking_remove(&buffer->tracking);
|
btstack_memory_buffer_t * buffer = &((btstack_memory_buffer_t *) l2cap_channel)[-1];
|
||||||
|
btstack_memory_tracking_remove(buffer);
|
||||||
free(buffer);
|
free(buffer);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -310,14 +318,14 @@ void btstack_memory_rfcomm_multiplexer_free(rfcomm_multiplexer_t *rfcomm_multipl
|
|||||||
#elif defined(HAVE_MALLOC)
|
#elif defined(HAVE_MALLOC)
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
rfcomm_multiplexer_t data;
|
|
||||||
btstack_memory_buffer_t tracking;
|
btstack_memory_buffer_t tracking;
|
||||||
|
rfcomm_multiplexer_t data;
|
||||||
} btstack_memory_rfcomm_multiplexer_t;
|
} btstack_memory_rfcomm_multiplexer_t;
|
||||||
|
|
||||||
rfcomm_multiplexer_t * btstack_memory_rfcomm_multiplexer_get(void){
|
rfcomm_multiplexer_t * btstack_memory_rfcomm_multiplexer_get(void){
|
||||||
btstack_memory_rfcomm_multiplexer_t * buffer = (btstack_memory_rfcomm_multiplexer_t *) malloc(sizeof(btstack_memory_rfcomm_multiplexer_t));
|
btstack_memory_rfcomm_multiplexer_t * buffer = (btstack_memory_rfcomm_multiplexer_t *) malloc(sizeof(btstack_memory_rfcomm_multiplexer_t));
|
||||||
if (buffer){
|
if (buffer){
|
||||||
memset(buffer, 0, sizeof(rfcomm_multiplexer_t));
|
memset(buffer, 0, sizeof(btstack_memory_rfcomm_multiplexer_t));
|
||||||
btstack_memory_tracking_add(&buffer->tracking);
|
btstack_memory_tracking_add(&buffer->tracking);
|
||||||
return &buffer->data;
|
return &buffer->data;
|
||||||
} else {
|
} else {
|
||||||
@ -325,8 +333,9 @@ rfcomm_multiplexer_t * btstack_memory_rfcomm_multiplexer_get(void){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
void btstack_memory_rfcomm_multiplexer_free(rfcomm_multiplexer_t *rfcomm_multiplexer){
|
void btstack_memory_rfcomm_multiplexer_free(rfcomm_multiplexer_t *rfcomm_multiplexer){
|
||||||
btstack_memory_rfcomm_multiplexer_t * buffer = (btstack_memory_rfcomm_multiplexer_t *) rfcomm_multiplexer;
|
// reconstruct buffer start
|
||||||
btstack_memory_tracking_remove(&buffer->tracking);
|
btstack_memory_buffer_t * buffer = &((btstack_memory_buffer_t *) rfcomm_multiplexer)[-1];
|
||||||
|
btstack_memory_tracking_remove(buffer);
|
||||||
free(buffer);
|
free(buffer);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -366,14 +375,14 @@ void btstack_memory_rfcomm_service_free(rfcomm_service_t *rfcomm_service){
|
|||||||
#elif defined(HAVE_MALLOC)
|
#elif defined(HAVE_MALLOC)
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
rfcomm_service_t data;
|
|
||||||
btstack_memory_buffer_t tracking;
|
btstack_memory_buffer_t tracking;
|
||||||
|
rfcomm_service_t data;
|
||||||
} btstack_memory_rfcomm_service_t;
|
} btstack_memory_rfcomm_service_t;
|
||||||
|
|
||||||
rfcomm_service_t * btstack_memory_rfcomm_service_get(void){
|
rfcomm_service_t * btstack_memory_rfcomm_service_get(void){
|
||||||
btstack_memory_rfcomm_service_t * buffer = (btstack_memory_rfcomm_service_t *) malloc(sizeof(btstack_memory_rfcomm_service_t));
|
btstack_memory_rfcomm_service_t * buffer = (btstack_memory_rfcomm_service_t *) malloc(sizeof(btstack_memory_rfcomm_service_t));
|
||||||
if (buffer){
|
if (buffer){
|
||||||
memset(buffer, 0, sizeof(rfcomm_service_t));
|
memset(buffer, 0, sizeof(btstack_memory_rfcomm_service_t));
|
||||||
btstack_memory_tracking_add(&buffer->tracking);
|
btstack_memory_tracking_add(&buffer->tracking);
|
||||||
return &buffer->data;
|
return &buffer->data;
|
||||||
} else {
|
} else {
|
||||||
@ -381,8 +390,9 @@ rfcomm_service_t * btstack_memory_rfcomm_service_get(void){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
void btstack_memory_rfcomm_service_free(rfcomm_service_t *rfcomm_service){
|
void btstack_memory_rfcomm_service_free(rfcomm_service_t *rfcomm_service){
|
||||||
btstack_memory_rfcomm_service_t * buffer = (btstack_memory_rfcomm_service_t *) rfcomm_service;
|
// reconstruct buffer start
|
||||||
btstack_memory_tracking_remove(&buffer->tracking);
|
btstack_memory_buffer_t * buffer = &((btstack_memory_buffer_t *) rfcomm_service)[-1];
|
||||||
|
btstack_memory_tracking_remove(buffer);
|
||||||
free(buffer);
|
free(buffer);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -422,14 +432,14 @@ void btstack_memory_rfcomm_channel_free(rfcomm_channel_t *rfcomm_channel){
|
|||||||
#elif defined(HAVE_MALLOC)
|
#elif defined(HAVE_MALLOC)
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
rfcomm_channel_t data;
|
|
||||||
btstack_memory_buffer_t tracking;
|
btstack_memory_buffer_t tracking;
|
||||||
|
rfcomm_channel_t data;
|
||||||
} btstack_memory_rfcomm_channel_t;
|
} btstack_memory_rfcomm_channel_t;
|
||||||
|
|
||||||
rfcomm_channel_t * btstack_memory_rfcomm_channel_get(void){
|
rfcomm_channel_t * btstack_memory_rfcomm_channel_get(void){
|
||||||
btstack_memory_rfcomm_channel_t * buffer = (btstack_memory_rfcomm_channel_t *) malloc(sizeof(btstack_memory_rfcomm_channel_t));
|
btstack_memory_rfcomm_channel_t * buffer = (btstack_memory_rfcomm_channel_t *) malloc(sizeof(btstack_memory_rfcomm_channel_t));
|
||||||
if (buffer){
|
if (buffer){
|
||||||
memset(buffer, 0, sizeof(rfcomm_channel_t));
|
memset(buffer, 0, sizeof(btstack_memory_rfcomm_channel_t));
|
||||||
btstack_memory_tracking_add(&buffer->tracking);
|
btstack_memory_tracking_add(&buffer->tracking);
|
||||||
return &buffer->data;
|
return &buffer->data;
|
||||||
} else {
|
} else {
|
||||||
@ -437,8 +447,9 @@ rfcomm_channel_t * btstack_memory_rfcomm_channel_get(void){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
void btstack_memory_rfcomm_channel_free(rfcomm_channel_t *rfcomm_channel){
|
void btstack_memory_rfcomm_channel_free(rfcomm_channel_t *rfcomm_channel){
|
||||||
btstack_memory_rfcomm_channel_t * buffer = (btstack_memory_rfcomm_channel_t *) rfcomm_channel;
|
// reconstruct buffer start
|
||||||
btstack_memory_tracking_remove(&buffer->tracking);
|
btstack_memory_buffer_t * buffer = &((btstack_memory_buffer_t *) rfcomm_channel)[-1];
|
||||||
|
btstack_memory_tracking_remove(buffer);
|
||||||
free(buffer);
|
free(buffer);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -479,14 +490,14 @@ void btstack_memory_btstack_link_key_db_memory_entry_free(btstack_link_key_db_me
|
|||||||
#elif defined(HAVE_MALLOC)
|
#elif defined(HAVE_MALLOC)
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
btstack_link_key_db_memory_entry_t data;
|
|
||||||
btstack_memory_buffer_t tracking;
|
btstack_memory_buffer_t tracking;
|
||||||
|
btstack_link_key_db_memory_entry_t data;
|
||||||
} btstack_memory_btstack_link_key_db_memory_entry_t;
|
} btstack_memory_btstack_link_key_db_memory_entry_t;
|
||||||
|
|
||||||
btstack_link_key_db_memory_entry_t * btstack_memory_btstack_link_key_db_memory_entry_get(void){
|
btstack_link_key_db_memory_entry_t * btstack_memory_btstack_link_key_db_memory_entry_get(void){
|
||||||
btstack_memory_btstack_link_key_db_memory_entry_t * buffer = (btstack_memory_btstack_link_key_db_memory_entry_t *) malloc(sizeof(btstack_memory_btstack_link_key_db_memory_entry_t));
|
btstack_memory_btstack_link_key_db_memory_entry_t * buffer = (btstack_memory_btstack_link_key_db_memory_entry_t *) malloc(sizeof(btstack_memory_btstack_link_key_db_memory_entry_t));
|
||||||
if (buffer){
|
if (buffer){
|
||||||
memset(buffer, 0, sizeof(btstack_link_key_db_memory_entry_t));
|
memset(buffer, 0, sizeof(btstack_memory_btstack_link_key_db_memory_entry_t));
|
||||||
btstack_memory_tracking_add(&buffer->tracking);
|
btstack_memory_tracking_add(&buffer->tracking);
|
||||||
return &buffer->data;
|
return &buffer->data;
|
||||||
} else {
|
} else {
|
||||||
@ -494,8 +505,9 @@ btstack_link_key_db_memory_entry_t * btstack_memory_btstack_link_key_db_memory_e
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
void btstack_memory_btstack_link_key_db_memory_entry_free(btstack_link_key_db_memory_entry_t *btstack_link_key_db_memory_entry){
|
void btstack_memory_btstack_link_key_db_memory_entry_free(btstack_link_key_db_memory_entry_t *btstack_link_key_db_memory_entry){
|
||||||
btstack_memory_btstack_link_key_db_memory_entry_t * buffer = (btstack_memory_btstack_link_key_db_memory_entry_t *) btstack_link_key_db_memory_entry;
|
// reconstruct buffer start
|
||||||
btstack_memory_tracking_remove(&buffer->tracking);
|
btstack_memory_buffer_t * buffer = &((btstack_memory_buffer_t *) btstack_link_key_db_memory_entry)[-1];
|
||||||
|
btstack_memory_tracking_remove(buffer);
|
||||||
free(buffer);
|
free(buffer);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -536,14 +548,14 @@ void btstack_memory_bnep_service_free(bnep_service_t *bnep_service){
|
|||||||
#elif defined(HAVE_MALLOC)
|
#elif defined(HAVE_MALLOC)
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
bnep_service_t data;
|
|
||||||
btstack_memory_buffer_t tracking;
|
btstack_memory_buffer_t tracking;
|
||||||
|
bnep_service_t data;
|
||||||
} btstack_memory_bnep_service_t;
|
} btstack_memory_bnep_service_t;
|
||||||
|
|
||||||
bnep_service_t * btstack_memory_bnep_service_get(void){
|
bnep_service_t * btstack_memory_bnep_service_get(void){
|
||||||
btstack_memory_bnep_service_t * buffer = (btstack_memory_bnep_service_t *) malloc(sizeof(btstack_memory_bnep_service_t));
|
btstack_memory_bnep_service_t * buffer = (btstack_memory_bnep_service_t *) malloc(sizeof(btstack_memory_bnep_service_t));
|
||||||
if (buffer){
|
if (buffer){
|
||||||
memset(buffer, 0, sizeof(bnep_service_t));
|
memset(buffer, 0, sizeof(btstack_memory_bnep_service_t));
|
||||||
btstack_memory_tracking_add(&buffer->tracking);
|
btstack_memory_tracking_add(&buffer->tracking);
|
||||||
return &buffer->data;
|
return &buffer->data;
|
||||||
} else {
|
} else {
|
||||||
@ -551,8 +563,9 @@ bnep_service_t * btstack_memory_bnep_service_get(void){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
void btstack_memory_bnep_service_free(bnep_service_t *bnep_service){
|
void btstack_memory_bnep_service_free(bnep_service_t *bnep_service){
|
||||||
btstack_memory_bnep_service_t * buffer = (btstack_memory_bnep_service_t *) bnep_service;
|
// reconstruct buffer start
|
||||||
btstack_memory_tracking_remove(&buffer->tracking);
|
btstack_memory_buffer_t * buffer = &((btstack_memory_buffer_t *) bnep_service)[-1];
|
||||||
|
btstack_memory_tracking_remove(buffer);
|
||||||
free(buffer);
|
free(buffer);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -592,14 +605,14 @@ void btstack_memory_bnep_channel_free(bnep_channel_t *bnep_channel){
|
|||||||
#elif defined(HAVE_MALLOC)
|
#elif defined(HAVE_MALLOC)
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
bnep_channel_t data;
|
|
||||||
btstack_memory_buffer_t tracking;
|
btstack_memory_buffer_t tracking;
|
||||||
|
bnep_channel_t data;
|
||||||
} btstack_memory_bnep_channel_t;
|
} btstack_memory_bnep_channel_t;
|
||||||
|
|
||||||
bnep_channel_t * btstack_memory_bnep_channel_get(void){
|
bnep_channel_t * btstack_memory_bnep_channel_get(void){
|
||||||
btstack_memory_bnep_channel_t * buffer = (btstack_memory_bnep_channel_t *) malloc(sizeof(btstack_memory_bnep_channel_t));
|
btstack_memory_bnep_channel_t * buffer = (btstack_memory_bnep_channel_t *) malloc(sizeof(btstack_memory_bnep_channel_t));
|
||||||
if (buffer){
|
if (buffer){
|
||||||
memset(buffer, 0, sizeof(bnep_channel_t));
|
memset(buffer, 0, sizeof(btstack_memory_bnep_channel_t));
|
||||||
btstack_memory_tracking_add(&buffer->tracking);
|
btstack_memory_tracking_add(&buffer->tracking);
|
||||||
return &buffer->data;
|
return &buffer->data;
|
||||||
} else {
|
} else {
|
||||||
@ -607,8 +620,9 @@ bnep_channel_t * btstack_memory_bnep_channel_get(void){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
void btstack_memory_bnep_channel_free(bnep_channel_t *bnep_channel){
|
void btstack_memory_bnep_channel_free(bnep_channel_t *bnep_channel){
|
||||||
btstack_memory_bnep_channel_t * buffer = (btstack_memory_bnep_channel_t *) bnep_channel;
|
// reconstruct buffer start
|
||||||
btstack_memory_tracking_remove(&buffer->tracking);
|
btstack_memory_buffer_t * buffer = &((btstack_memory_buffer_t *) bnep_channel)[-1];
|
||||||
|
btstack_memory_tracking_remove(buffer);
|
||||||
free(buffer);
|
free(buffer);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -649,14 +663,14 @@ void btstack_memory_hfp_connection_free(hfp_connection_t *hfp_connection){
|
|||||||
#elif defined(HAVE_MALLOC)
|
#elif defined(HAVE_MALLOC)
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
hfp_connection_t data;
|
|
||||||
btstack_memory_buffer_t tracking;
|
btstack_memory_buffer_t tracking;
|
||||||
|
hfp_connection_t data;
|
||||||
} btstack_memory_hfp_connection_t;
|
} btstack_memory_hfp_connection_t;
|
||||||
|
|
||||||
hfp_connection_t * btstack_memory_hfp_connection_get(void){
|
hfp_connection_t * btstack_memory_hfp_connection_get(void){
|
||||||
btstack_memory_hfp_connection_t * buffer = (btstack_memory_hfp_connection_t *) malloc(sizeof(btstack_memory_hfp_connection_t));
|
btstack_memory_hfp_connection_t * buffer = (btstack_memory_hfp_connection_t *) malloc(sizeof(btstack_memory_hfp_connection_t));
|
||||||
if (buffer){
|
if (buffer){
|
||||||
memset(buffer, 0, sizeof(hfp_connection_t));
|
memset(buffer, 0, sizeof(btstack_memory_hfp_connection_t));
|
||||||
btstack_memory_tracking_add(&buffer->tracking);
|
btstack_memory_tracking_add(&buffer->tracking);
|
||||||
return &buffer->data;
|
return &buffer->data;
|
||||||
} else {
|
} else {
|
||||||
@ -664,8 +678,9 @@ hfp_connection_t * btstack_memory_hfp_connection_get(void){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
void btstack_memory_hfp_connection_free(hfp_connection_t *hfp_connection){
|
void btstack_memory_hfp_connection_free(hfp_connection_t *hfp_connection){
|
||||||
btstack_memory_hfp_connection_t * buffer = (btstack_memory_hfp_connection_t *) hfp_connection;
|
// reconstruct buffer start
|
||||||
btstack_memory_tracking_remove(&buffer->tracking);
|
btstack_memory_buffer_t * buffer = &((btstack_memory_buffer_t *) hfp_connection)[-1];
|
||||||
|
btstack_memory_tracking_remove(buffer);
|
||||||
free(buffer);
|
free(buffer);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -706,14 +721,14 @@ void btstack_memory_service_record_item_free(service_record_item_t *service_reco
|
|||||||
#elif defined(HAVE_MALLOC)
|
#elif defined(HAVE_MALLOC)
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
service_record_item_t data;
|
|
||||||
btstack_memory_buffer_t tracking;
|
btstack_memory_buffer_t tracking;
|
||||||
|
service_record_item_t data;
|
||||||
} btstack_memory_service_record_item_t;
|
} btstack_memory_service_record_item_t;
|
||||||
|
|
||||||
service_record_item_t * btstack_memory_service_record_item_get(void){
|
service_record_item_t * btstack_memory_service_record_item_get(void){
|
||||||
btstack_memory_service_record_item_t * buffer = (btstack_memory_service_record_item_t *) malloc(sizeof(btstack_memory_service_record_item_t));
|
btstack_memory_service_record_item_t * buffer = (btstack_memory_service_record_item_t *) malloc(sizeof(btstack_memory_service_record_item_t));
|
||||||
if (buffer){
|
if (buffer){
|
||||||
memset(buffer, 0, sizeof(service_record_item_t));
|
memset(buffer, 0, sizeof(btstack_memory_service_record_item_t));
|
||||||
btstack_memory_tracking_add(&buffer->tracking);
|
btstack_memory_tracking_add(&buffer->tracking);
|
||||||
return &buffer->data;
|
return &buffer->data;
|
||||||
} else {
|
} else {
|
||||||
@ -721,8 +736,9 @@ service_record_item_t * btstack_memory_service_record_item_get(void){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
void btstack_memory_service_record_item_free(service_record_item_t *service_record_item){
|
void btstack_memory_service_record_item_free(service_record_item_t *service_record_item){
|
||||||
btstack_memory_service_record_item_t * buffer = (btstack_memory_service_record_item_t *) service_record_item;
|
// reconstruct buffer start
|
||||||
btstack_memory_tracking_remove(&buffer->tracking);
|
btstack_memory_buffer_t * buffer = &((btstack_memory_buffer_t *) service_record_item)[-1];
|
||||||
|
btstack_memory_tracking_remove(buffer);
|
||||||
free(buffer);
|
free(buffer);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -763,14 +779,14 @@ void btstack_memory_avdtp_stream_endpoint_free(avdtp_stream_endpoint_t *avdtp_st
|
|||||||
#elif defined(HAVE_MALLOC)
|
#elif defined(HAVE_MALLOC)
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
avdtp_stream_endpoint_t data;
|
|
||||||
btstack_memory_buffer_t tracking;
|
btstack_memory_buffer_t tracking;
|
||||||
|
avdtp_stream_endpoint_t data;
|
||||||
} btstack_memory_avdtp_stream_endpoint_t;
|
} btstack_memory_avdtp_stream_endpoint_t;
|
||||||
|
|
||||||
avdtp_stream_endpoint_t * btstack_memory_avdtp_stream_endpoint_get(void){
|
avdtp_stream_endpoint_t * btstack_memory_avdtp_stream_endpoint_get(void){
|
||||||
btstack_memory_avdtp_stream_endpoint_t * buffer = (btstack_memory_avdtp_stream_endpoint_t *) malloc(sizeof(btstack_memory_avdtp_stream_endpoint_t));
|
btstack_memory_avdtp_stream_endpoint_t * buffer = (btstack_memory_avdtp_stream_endpoint_t *) malloc(sizeof(btstack_memory_avdtp_stream_endpoint_t));
|
||||||
if (buffer){
|
if (buffer){
|
||||||
memset(buffer, 0, sizeof(avdtp_stream_endpoint_t));
|
memset(buffer, 0, sizeof(btstack_memory_avdtp_stream_endpoint_t));
|
||||||
btstack_memory_tracking_add(&buffer->tracking);
|
btstack_memory_tracking_add(&buffer->tracking);
|
||||||
return &buffer->data;
|
return &buffer->data;
|
||||||
} else {
|
} else {
|
||||||
@ -778,8 +794,9 @@ avdtp_stream_endpoint_t * btstack_memory_avdtp_stream_endpoint_get(void){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
void btstack_memory_avdtp_stream_endpoint_free(avdtp_stream_endpoint_t *avdtp_stream_endpoint){
|
void btstack_memory_avdtp_stream_endpoint_free(avdtp_stream_endpoint_t *avdtp_stream_endpoint){
|
||||||
btstack_memory_avdtp_stream_endpoint_t * buffer = (btstack_memory_avdtp_stream_endpoint_t *) avdtp_stream_endpoint;
|
// reconstruct buffer start
|
||||||
btstack_memory_tracking_remove(&buffer->tracking);
|
btstack_memory_buffer_t * buffer = &((btstack_memory_buffer_t *) avdtp_stream_endpoint)[-1];
|
||||||
|
btstack_memory_tracking_remove(buffer);
|
||||||
free(buffer);
|
free(buffer);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -820,14 +837,14 @@ void btstack_memory_avdtp_connection_free(avdtp_connection_t *avdtp_connection){
|
|||||||
#elif defined(HAVE_MALLOC)
|
#elif defined(HAVE_MALLOC)
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
avdtp_connection_t data;
|
|
||||||
btstack_memory_buffer_t tracking;
|
btstack_memory_buffer_t tracking;
|
||||||
|
avdtp_connection_t data;
|
||||||
} btstack_memory_avdtp_connection_t;
|
} btstack_memory_avdtp_connection_t;
|
||||||
|
|
||||||
avdtp_connection_t * btstack_memory_avdtp_connection_get(void){
|
avdtp_connection_t * btstack_memory_avdtp_connection_get(void){
|
||||||
btstack_memory_avdtp_connection_t * buffer = (btstack_memory_avdtp_connection_t *) malloc(sizeof(btstack_memory_avdtp_connection_t));
|
btstack_memory_avdtp_connection_t * buffer = (btstack_memory_avdtp_connection_t *) malloc(sizeof(btstack_memory_avdtp_connection_t));
|
||||||
if (buffer){
|
if (buffer){
|
||||||
memset(buffer, 0, sizeof(avdtp_connection_t));
|
memset(buffer, 0, sizeof(btstack_memory_avdtp_connection_t));
|
||||||
btstack_memory_tracking_add(&buffer->tracking);
|
btstack_memory_tracking_add(&buffer->tracking);
|
||||||
return &buffer->data;
|
return &buffer->data;
|
||||||
} else {
|
} else {
|
||||||
@ -835,8 +852,9 @@ avdtp_connection_t * btstack_memory_avdtp_connection_get(void){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
void btstack_memory_avdtp_connection_free(avdtp_connection_t *avdtp_connection){
|
void btstack_memory_avdtp_connection_free(avdtp_connection_t *avdtp_connection){
|
||||||
btstack_memory_avdtp_connection_t * buffer = (btstack_memory_avdtp_connection_t *) avdtp_connection;
|
// reconstruct buffer start
|
||||||
btstack_memory_tracking_remove(&buffer->tracking);
|
btstack_memory_buffer_t * buffer = &((btstack_memory_buffer_t *) avdtp_connection)[-1];
|
||||||
|
btstack_memory_tracking_remove(buffer);
|
||||||
free(buffer);
|
free(buffer);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -877,14 +895,14 @@ void btstack_memory_avrcp_connection_free(avrcp_connection_t *avrcp_connection){
|
|||||||
#elif defined(HAVE_MALLOC)
|
#elif defined(HAVE_MALLOC)
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
avrcp_connection_t data;
|
|
||||||
btstack_memory_buffer_t tracking;
|
btstack_memory_buffer_t tracking;
|
||||||
|
avrcp_connection_t data;
|
||||||
} btstack_memory_avrcp_connection_t;
|
} btstack_memory_avrcp_connection_t;
|
||||||
|
|
||||||
avrcp_connection_t * btstack_memory_avrcp_connection_get(void){
|
avrcp_connection_t * btstack_memory_avrcp_connection_get(void){
|
||||||
btstack_memory_avrcp_connection_t * buffer = (btstack_memory_avrcp_connection_t *) malloc(sizeof(btstack_memory_avrcp_connection_t));
|
btstack_memory_avrcp_connection_t * buffer = (btstack_memory_avrcp_connection_t *) malloc(sizeof(btstack_memory_avrcp_connection_t));
|
||||||
if (buffer){
|
if (buffer){
|
||||||
memset(buffer, 0, sizeof(avrcp_connection_t));
|
memset(buffer, 0, sizeof(btstack_memory_avrcp_connection_t));
|
||||||
btstack_memory_tracking_add(&buffer->tracking);
|
btstack_memory_tracking_add(&buffer->tracking);
|
||||||
return &buffer->data;
|
return &buffer->data;
|
||||||
} else {
|
} else {
|
||||||
@ -892,8 +910,9 @@ avrcp_connection_t * btstack_memory_avrcp_connection_get(void){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
void btstack_memory_avrcp_connection_free(avrcp_connection_t *avrcp_connection){
|
void btstack_memory_avrcp_connection_free(avrcp_connection_t *avrcp_connection){
|
||||||
btstack_memory_avrcp_connection_t * buffer = (btstack_memory_avrcp_connection_t *) avrcp_connection;
|
// reconstruct buffer start
|
||||||
btstack_memory_tracking_remove(&buffer->tracking);
|
btstack_memory_buffer_t * buffer = &((btstack_memory_buffer_t *) avrcp_connection)[-1];
|
||||||
|
btstack_memory_tracking_remove(buffer);
|
||||||
free(buffer);
|
free(buffer);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -934,14 +953,14 @@ void btstack_memory_avrcp_browsing_connection_free(avrcp_browsing_connection_t *
|
|||||||
#elif defined(HAVE_MALLOC)
|
#elif defined(HAVE_MALLOC)
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
avrcp_browsing_connection_t data;
|
|
||||||
btstack_memory_buffer_t tracking;
|
btstack_memory_buffer_t tracking;
|
||||||
|
avrcp_browsing_connection_t data;
|
||||||
} btstack_memory_avrcp_browsing_connection_t;
|
} btstack_memory_avrcp_browsing_connection_t;
|
||||||
|
|
||||||
avrcp_browsing_connection_t * btstack_memory_avrcp_browsing_connection_get(void){
|
avrcp_browsing_connection_t * btstack_memory_avrcp_browsing_connection_get(void){
|
||||||
btstack_memory_avrcp_browsing_connection_t * buffer = (btstack_memory_avrcp_browsing_connection_t *) malloc(sizeof(btstack_memory_avrcp_browsing_connection_t));
|
btstack_memory_avrcp_browsing_connection_t * buffer = (btstack_memory_avrcp_browsing_connection_t *) malloc(sizeof(btstack_memory_avrcp_browsing_connection_t));
|
||||||
if (buffer){
|
if (buffer){
|
||||||
memset(buffer, 0, sizeof(avrcp_browsing_connection_t));
|
memset(buffer, 0, sizeof(btstack_memory_avrcp_browsing_connection_t));
|
||||||
btstack_memory_tracking_add(&buffer->tracking);
|
btstack_memory_tracking_add(&buffer->tracking);
|
||||||
return &buffer->data;
|
return &buffer->data;
|
||||||
} else {
|
} else {
|
||||||
@ -949,8 +968,9 @@ avrcp_browsing_connection_t * btstack_memory_avrcp_browsing_connection_get(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
void btstack_memory_avrcp_browsing_connection_free(avrcp_browsing_connection_t *avrcp_browsing_connection){
|
void btstack_memory_avrcp_browsing_connection_free(avrcp_browsing_connection_t *avrcp_browsing_connection){
|
||||||
btstack_memory_avrcp_browsing_connection_t * buffer = (btstack_memory_avrcp_browsing_connection_t *) avrcp_browsing_connection;
|
// reconstruct buffer start
|
||||||
btstack_memory_tracking_remove(&buffer->tracking);
|
btstack_memory_buffer_t * buffer = &((btstack_memory_buffer_t *) avrcp_browsing_connection)[-1];
|
||||||
|
btstack_memory_tracking_remove(buffer);
|
||||||
free(buffer);
|
free(buffer);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -993,14 +1013,14 @@ void btstack_memory_gatt_client_free(gatt_client_t *gatt_client){
|
|||||||
#elif defined(HAVE_MALLOC)
|
#elif defined(HAVE_MALLOC)
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
gatt_client_t data;
|
|
||||||
btstack_memory_buffer_t tracking;
|
btstack_memory_buffer_t tracking;
|
||||||
|
gatt_client_t data;
|
||||||
} btstack_memory_gatt_client_t;
|
} btstack_memory_gatt_client_t;
|
||||||
|
|
||||||
gatt_client_t * btstack_memory_gatt_client_get(void){
|
gatt_client_t * btstack_memory_gatt_client_get(void){
|
||||||
btstack_memory_gatt_client_t * buffer = (btstack_memory_gatt_client_t *) malloc(sizeof(btstack_memory_gatt_client_t));
|
btstack_memory_gatt_client_t * buffer = (btstack_memory_gatt_client_t *) malloc(sizeof(btstack_memory_gatt_client_t));
|
||||||
if (buffer){
|
if (buffer){
|
||||||
memset(buffer, 0, sizeof(gatt_client_t));
|
memset(buffer, 0, sizeof(btstack_memory_gatt_client_t));
|
||||||
btstack_memory_tracking_add(&buffer->tracking);
|
btstack_memory_tracking_add(&buffer->tracking);
|
||||||
return &buffer->data;
|
return &buffer->data;
|
||||||
} else {
|
} else {
|
||||||
@ -1008,8 +1028,9 @@ gatt_client_t * btstack_memory_gatt_client_get(void){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
void btstack_memory_gatt_client_free(gatt_client_t *gatt_client){
|
void btstack_memory_gatt_client_free(gatt_client_t *gatt_client){
|
||||||
btstack_memory_gatt_client_t * buffer = (btstack_memory_gatt_client_t *) gatt_client;
|
// reconstruct buffer start
|
||||||
btstack_memory_tracking_remove(&buffer->tracking);
|
btstack_memory_buffer_t * buffer = &((btstack_memory_buffer_t *) gatt_client)[-1];
|
||||||
|
btstack_memory_tracking_remove(buffer);
|
||||||
free(buffer);
|
free(buffer);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -1049,14 +1070,14 @@ void btstack_memory_whitelist_entry_free(whitelist_entry_t *whitelist_entry){
|
|||||||
#elif defined(HAVE_MALLOC)
|
#elif defined(HAVE_MALLOC)
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
whitelist_entry_t data;
|
|
||||||
btstack_memory_buffer_t tracking;
|
btstack_memory_buffer_t tracking;
|
||||||
|
whitelist_entry_t data;
|
||||||
} btstack_memory_whitelist_entry_t;
|
} btstack_memory_whitelist_entry_t;
|
||||||
|
|
||||||
whitelist_entry_t * btstack_memory_whitelist_entry_get(void){
|
whitelist_entry_t * btstack_memory_whitelist_entry_get(void){
|
||||||
btstack_memory_whitelist_entry_t * buffer = (btstack_memory_whitelist_entry_t *) malloc(sizeof(btstack_memory_whitelist_entry_t));
|
btstack_memory_whitelist_entry_t * buffer = (btstack_memory_whitelist_entry_t *) malloc(sizeof(btstack_memory_whitelist_entry_t));
|
||||||
if (buffer){
|
if (buffer){
|
||||||
memset(buffer, 0, sizeof(whitelist_entry_t));
|
memset(buffer, 0, sizeof(btstack_memory_whitelist_entry_t));
|
||||||
btstack_memory_tracking_add(&buffer->tracking);
|
btstack_memory_tracking_add(&buffer->tracking);
|
||||||
return &buffer->data;
|
return &buffer->data;
|
||||||
} else {
|
} else {
|
||||||
@ -1064,8 +1085,9 @@ whitelist_entry_t * btstack_memory_whitelist_entry_get(void){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
void btstack_memory_whitelist_entry_free(whitelist_entry_t *whitelist_entry){
|
void btstack_memory_whitelist_entry_free(whitelist_entry_t *whitelist_entry){
|
||||||
btstack_memory_whitelist_entry_t * buffer = (btstack_memory_whitelist_entry_t *) whitelist_entry;
|
// reconstruct buffer start
|
||||||
btstack_memory_tracking_remove(&buffer->tracking);
|
btstack_memory_buffer_t * buffer = &((btstack_memory_buffer_t *) whitelist_entry)[-1];
|
||||||
|
btstack_memory_tracking_remove(buffer);
|
||||||
free(buffer);
|
free(buffer);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -1105,14 +1127,14 @@ void btstack_memory_sm_lookup_entry_free(sm_lookup_entry_t *sm_lookup_entry){
|
|||||||
#elif defined(HAVE_MALLOC)
|
#elif defined(HAVE_MALLOC)
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
sm_lookup_entry_t data;
|
|
||||||
btstack_memory_buffer_t tracking;
|
btstack_memory_buffer_t tracking;
|
||||||
|
sm_lookup_entry_t data;
|
||||||
} btstack_memory_sm_lookup_entry_t;
|
} btstack_memory_sm_lookup_entry_t;
|
||||||
|
|
||||||
sm_lookup_entry_t * btstack_memory_sm_lookup_entry_get(void){
|
sm_lookup_entry_t * btstack_memory_sm_lookup_entry_get(void){
|
||||||
btstack_memory_sm_lookup_entry_t * buffer = (btstack_memory_sm_lookup_entry_t *) malloc(sizeof(btstack_memory_sm_lookup_entry_t));
|
btstack_memory_sm_lookup_entry_t * buffer = (btstack_memory_sm_lookup_entry_t *) malloc(sizeof(btstack_memory_sm_lookup_entry_t));
|
||||||
if (buffer){
|
if (buffer){
|
||||||
memset(buffer, 0, sizeof(sm_lookup_entry_t));
|
memset(buffer, 0, sizeof(btstack_memory_sm_lookup_entry_t));
|
||||||
btstack_memory_tracking_add(&buffer->tracking);
|
btstack_memory_tracking_add(&buffer->tracking);
|
||||||
return &buffer->data;
|
return &buffer->data;
|
||||||
} else {
|
} else {
|
||||||
@ -1120,8 +1142,9 @@ sm_lookup_entry_t * btstack_memory_sm_lookup_entry_get(void){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
void btstack_memory_sm_lookup_entry_free(sm_lookup_entry_t *sm_lookup_entry){
|
void btstack_memory_sm_lookup_entry_free(sm_lookup_entry_t *sm_lookup_entry){
|
||||||
btstack_memory_sm_lookup_entry_t * buffer = (btstack_memory_sm_lookup_entry_t *) sm_lookup_entry;
|
// reconstruct buffer start
|
||||||
btstack_memory_tracking_remove(&buffer->tracking);
|
btstack_memory_buffer_t * buffer = &((btstack_memory_buffer_t *) sm_lookup_entry)[-1];
|
||||||
|
btstack_memory_tracking_remove(buffer);
|
||||||
free(buffer);
|
free(buffer);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -1164,14 +1187,14 @@ void btstack_memory_mesh_network_pdu_free(mesh_network_pdu_t *mesh_network_pdu){
|
|||||||
#elif defined(HAVE_MALLOC)
|
#elif defined(HAVE_MALLOC)
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
mesh_network_pdu_t data;
|
|
||||||
btstack_memory_buffer_t tracking;
|
btstack_memory_buffer_t tracking;
|
||||||
|
mesh_network_pdu_t data;
|
||||||
} btstack_memory_mesh_network_pdu_t;
|
} btstack_memory_mesh_network_pdu_t;
|
||||||
|
|
||||||
mesh_network_pdu_t * btstack_memory_mesh_network_pdu_get(void){
|
mesh_network_pdu_t * btstack_memory_mesh_network_pdu_get(void){
|
||||||
btstack_memory_mesh_network_pdu_t * buffer = (btstack_memory_mesh_network_pdu_t *) malloc(sizeof(btstack_memory_mesh_network_pdu_t));
|
btstack_memory_mesh_network_pdu_t * buffer = (btstack_memory_mesh_network_pdu_t *) malloc(sizeof(btstack_memory_mesh_network_pdu_t));
|
||||||
if (buffer){
|
if (buffer){
|
||||||
memset(buffer, 0, sizeof(mesh_network_pdu_t));
|
memset(buffer, 0, sizeof(btstack_memory_mesh_network_pdu_t));
|
||||||
btstack_memory_tracking_add(&buffer->tracking);
|
btstack_memory_tracking_add(&buffer->tracking);
|
||||||
return &buffer->data;
|
return &buffer->data;
|
||||||
} else {
|
} else {
|
||||||
@ -1179,8 +1202,9 @@ mesh_network_pdu_t * btstack_memory_mesh_network_pdu_get(void){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
void btstack_memory_mesh_network_pdu_free(mesh_network_pdu_t *mesh_network_pdu){
|
void btstack_memory_mesh_network_pdu_free(mesh_network_pdu_t *mesh_network_pdu){
|
||||||
btstack_memory_mesh_network_pdu_t * buffer = (btstack_memory_mesh_network_pdu_t *) mesh_network_pdu;
|
// reconstruct buffer start
|
||||||
btstack_memory_tracking_remove(&buffer->tracking);
|
btstack_memory_buffer_t * buffer = &((btstack_memory_buffer_t *) mesh_network_pdu)[-1];
|
||||||
|
btstack_memory_tracking_remove(buffer);
|
||||||
free(buffer);
|
free(buffer);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -1220,14 +1244,14 @@ void btstack_memory_mesh_segmented_pdu_free(mesh_segmented_pdu_t *mesh_segmented
|
|||||||
#elif defined(HAVE_MALLOC)
|
#elif defined(HAVE_MALLOC)
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
mesh_segmented_pdu_t data;
|
|
||||||
btstack_memory_buffer_t tracking;
|
btstack_memory_buffer_t tracking;
|
||||||
|
mesh_segmented_pdu_t data;
|
||||||
} btstack_memory_mesh_segmented_pdu_t;
|
} btstack_memory_mesh_segmented_pdu_t;
|
||||||
|
|
||||||
mesh_segmented_pdu_t * btstack_memory_mesh_segmented_pdu_get(void){
|
mesh_segmented_pdu_t * btstack_memory_mesh_segmented_pdu_get(void){
|
||||||
btstack_memory_mesh_segmented_pdu_t * buffer = (btstack_memory_mesh_segmented_pdu_t *) malloc(sizeof(btstack_memory_mesh_segmented_pdu_t));
|
btstack_memory_mesh_segmented_pdu_t * buffer = (btstack_memory_mesh_segmented_pdu_t *) malloc(sizeof(btstack_memory_mesh_segmented_pdu_t));
|
||||||
if (buffer){
|
if (buffer){
|
||||||
memset(buffer, 0, sizeof(mesh_segmented_pdu_t));
|
memset(buffer, 0, sizeof(btstack_memory_mesh_segmented_pdu_t));
|
||||||
btstack_memory_tracking_add(&buffer->tracking);
|
btstack_memory_tracking_add(&buffer->tracking);
|
||||||
return &buffer->data;
|
return &buffer->data;
|
||||||
} else {
|
} else {
|
||||||
@ -1235,8 +1259,9 @@ mesh_segmented_pdu_t * btstack_memory_mesh_segmented_pdu_get(void){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
void btstack_memory_mesh_segmented_pdu_free(mesh_segmented_pdu_t *mesh_segmented_pdu){
|
void btstack_memory_mesh_segmented_pdu_free(mesh_segmented_pdu_t *mesh_segmented_pdu){
|
||||||
btstack_memory_mesh_segmented_pdu_t * buffer = (btstack_memory_mesh_segmented_pdu_t *) mesh_segmented_pdu;
|
// reconstruct buffer start
|
||||||
btstack_memory_tracking_remove(&buffer->tracking);
|
btstack_memory_buffer_t * buffer = &((btstack_memory_buffer_t *) mesh_segmented_pdu)[-1];
|
||||||
|
btstack_memory_tracking_remove(buffer);
|
||||||
free(buffer);
|
free(buffer);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -1276,14 +1301,14 @@ void btstack_memory_mesh_upper_transport_pdu_free(mesh_upper_transport_pdu_t *me
|
|||||||
#elif defined(HAVE_MALLOC)
|
#elif defined(HAVE_MALLOC)
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
mesh_upper_transport_pdu_t data;
|
|
||||||
btstack_memory_buffer_t tracking;
|
btstack_memory_buffer_t tracking;
|
||||||
|
mesh_upper_transport_pdu_t data;
|
||||||
} btstack_memory_mesh_upper_transport_pdu_t;
|
} btstack_memory_mesh_upper_transport_pdu_t;
|
||||||
|
|
||||||
mesh_upper_transport_pdu_t * btstack_memory_mesh_upper_transport_pdu_get(void){
|
mesh_upper_transport_pdu_t * btstack_memory_mesh_upper_transport_pdu_get(void){
|
||||||
btstack_memory_mesh_upper_transport_pdu_t * buffer = (btstack_memory_mesh_upper_transport_pdu_t *) malloc(sizeof(btstack_memory_mesh_upper_transport_pdu_t));
|
btstack_memory_mesh_upper_transport_pdu_t * buffer = (btstack_memory_mesh_upper_transport_pdu_t *) malloc(sizeof(btstack_memory_mesh_upper_transport_pdu_t));
|
||||||
if (buffer){
|
if (buffer){
|
||||||
memset(buffer, 0, sizeof(mesh_upper_transport_pdu_t));
|
memset(buffer, 0, sizeof(btstack_memory_mesh_upper_transport_pdu_t));
|
||||||
btstack_memory_tracking_add(&buffer->tracking);
|
btstack_memory_tracking_add(&buffer->tracking);
|
||||||
return &buffer->data;
|
return &buffer->data;
|
||||||
} else {
|
} else {
|
||||||
@ -1291,8 +1316,9 @@ mesh_upper_transport_pdu_t * btstack_memory_mesh_upper_transport_pdu_get(void){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
void btstack_memory_mesh_upper_transport_pdu_free(mesh_upper_transport_pdu_t *mesh_upper_transport_pdu){
|
void btstack_memory_mesh_upper_transport_pdu_free(mesh_upper_transport_pdu_t *mesh_upper_transport_pdu){
|
||||||
btstack_memory_mesh_upper_transport_pdu_t * buffer = (btstack_memory_mesh_upper_transport_pdu_t *) mesh_upper_transport_pdu;
|
// reconstruct buffer start
|
||||||
btstack_memory_tracking_remove(&buffer->tracking);
|
btstack_memory_buffer_t * buffer = &((btstack_memory_buffer_t *) mesh_upper_transport_pdu)[-1];
|
||||||
|
btstack_memory_tracking_remove(buffer);
|
||||||
free(buffer);
|
free(buffer);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -1332,14 +1358,14 @@ void btstack_memory_mesh_network_key_free(mesh_network_key_t *mesh_network_key){
|
|||||||
#elif defined(HAVE_MALLOC)
|
#elif defined(HAVE_MALLOC)
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
mesh_network_key_t data;
|
|
||||||
btstack_memory_buffer_t tracking;
|
btstack_memory_buffer_t tracking;
|
||||||
|
mesh_network_key_t data;
|
||||||
} btstack_memory_mesh_network_key_t;
|
} btstack_memory_mesh_network_key_t;
|
||||||
|
|
||||||
mesh_network_key_t * btstack_memory_mesh_network_key_get(void){
|
mesh_network_key_t * btstack_memory_mesh_network_key_get(void){
|
||||||
btstack_memory_mesh_network_key_t * buffer = (btstack_memory_mesh_network_key_t *) malloc(sizeof(btstack_memory_mesh_network_key_t));
|
btstack_memory_mesh_network_key_t * buffer = (btstack_memory_mesh_network_key_t *) malloc(sizeof(btstack_memory_mesh_network_key_t));
|
||||||
if (buffer){
|
if (buffer){
|
||||||
memset(buffer, 0, sizeof(mesh_network_key_t));
|
memset(buffer, 0, sizeof(btstack_memory_mesh_network_key_t));
|
||||||
btstack_memory_tracking_add(&buffer->tracking);
|
btstack_memory_tracking_add(&buffer->tracking);
|
||||||
return &buffer->data;
|
return &buffer->data;
|
||||||
} else {
|
} else {
|
||||||
@ -1347,8 +1373,9 @@ mesh_network_key_t * btstack_memory_mesh_network_key_get(void){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
void btstack_memory_mesh_network_key_free(mesh_network_key_t *mesh_network_key){
|
void btstack_memory_mesh_network_key_free(mesh_network_key_t *mesh_network_key){
|
||||||
btstack_memory_mesh_network_key_t * buffer = (btstack_memory_mesh_network_key_t *) mesh_network_key;
|
// reconstruct buffer start
|
||||||
btstack_memory_tracking_remove(&buffer->tracking);
|
btstack_memory_buffer_t * buffer = &((btstack_memory_buffer_t *) mesh_network_key)[-1];
|
||||||
|
btstack_memory_tracking_remove(buffer);
|
||||||
free(buffer);
|
free(buffer);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -1388,14 +1415,14 @@ void btstack_memory_mesh_transport_key_free(mesh_transport_key_t *mesh_transport
|
|||||||
#elif defined(HAVE_MALLOC)
|
#elif defined(HAVE_MALLOC)
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
mesh_transport_key_t data;
|
|
||||||
btstack_memory_buffer_t tracking;
|
btstack_memory_buffer_t tracking;
|
||||||
|
mesh_transport_key_t data;
|
||||||
} btstack_memory_mesh_transport_key_t;
|
} btstack_memory_mesh_transport_key_t;
|
||||||
|
|
||||||
mesh_transport_key_t * btstack_memory_mesh_transport_key_get(void){
|
mesh_transport_key_t * btstack_memory_mesh_transport_key_get(void){
|
||||||
btstack_memory_mesh_transport_key_t * buffer = (btstack_memory_mesh_transport_key_t *) malloc(sizeof(btstack_memory_mesh_transport_key_t));
|
btstack_memory_mesh_transport_key_t * buffer = (btstack_memory_mesh_transport_key_t *) malloc(sizeof(btstack_memory_mesh_transport_key_t));
|
||||||
if (buffer){
|
if (buffer){
|
||||||
memset(buffer, 0, sizeof(mesh_transport_key_t));
|
memset(buffer, 0, sizeof(btstack_memory_mesh_transport_key_t));
|
||||||
btstack_memory_tracking_add(&buffer->tracking);
|
btstack_memory_tracking_add(&buffer->tracking);
|
||||||
return &buffer->data;
|
return &buffer->data;
|
||||||
} else {
|
} else {
|
||||||
@ -1403,8 +1430,9 @@ mesh_transport_key_t * btstack_memory_mesh_transport_key_get(void){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
void btstack_memory_mesh_transport_key_free(mesh_transport_key_t *mesh_transport_key){
|
void btstack_memory_mesh_transport_key_free(mesh_transport_key_t *mesh_transport_key){
|
||||||
btstack_memory_mesh_transport_key_t * buffer = (btstack_memory_mesh_transport_key_t *) mesh_transport_key;
|
// reconstruct buffer start
|
||||||
btstack_memory_tracking_remove(&buffer->tracking);
|
btstack_memory_buffer_t * buffer = &((btstack_memory_buffer_t *) mesh_transport_key)[-1];
|
||||||
|
btstack_memory_tracking_remove(buffer);
|
||||||
free(buffer);
|
free(buffer);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -1444,14 +1472,14 @@ void btstack_memory_mesh_virtual_address_free(mesh_virtual_address_t *mesh_virtu
|
|||||||
#elif defined(HAVE_MALLOC)
|
#elif defined(HAVE_MALLOC)
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
mesh_virtual_address_t data;
|
|
||||||
btstack_memory_buffer_t tracking;
|
btstack_memory_buffer_t tracking;
|
||||||
|
mesh_virtual_address_t data;
|
||||||
} btstack_memory_mesh_virtual_address_t;
|
} btstack_memory_mesh_virtual_address_t;
|
||||||
|
|
||||||
mesh_virtual_address_t * btstack_memory_mesh_virtual_address_get(void){
|
mesh_virtual_address_t * btstack_memory_mesh_virtual_address_get(void){
|
||||||
btstack_memory_mesh_virtual_address_t * buffer = (btstack_memory_mesh_virtual_address_t *) malloc(sizeof(btstack_memory_mesh_virtual_address_t));
|
btstack_memory_mesh_virtual_address_t * buffer = (btstack_memory_mesh_virtual_address_t *) malloc(sizeof(btstack_memory_mesh_virtual_address_t));
|
||||||
if (buffer){
|
if (buffer){
|
||||||
memset(buffer, 0, sizeof(mesh_virtual_address_t));
|
memset(buffer, 0, sizeof(btstack_memory_mesh_virtual_address_t));
|
||||||
btstack_memory_tracking_add(&buffer->tracking);
|
btstack_memory_tracking_add(&buffer->tracking);
|
||||||
return &buffer->data;
|
return &buffer->data;
|
||||||
} else {
|
} else {
|
||||||
@ -1459,8 +1487,9 @@ mesh_virtual_address_t * btstack_memory_mesh_virtual_address_get(void){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
void btstack_memory_mesh_virtual_address_free(mesh_virtual_address_t *mesh_virtual_address){
|
void btstack_memory_mesh_virtual_address_free(mesh_virtual_address_t *mesh_virtual_address){
|
||||||
btstack_memory_mesh_virtual_address_t * buffer = (btstack_memory_mesh_virtual_address_t *) mesh_virtual_address;
|
// reconstruct buffer start
|
||||||
btstack_memory_tracking_remove(&buffer->tracking);
|
btstack_memory_buffer_t * buffer = &((btstack_memory_buffer_t *) mesh_virtual_address)[-1];
|
||||||
|
btstack_memory_tracking_remove(buffer);
|
||||||
free(buffer);
|
free(buffer);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -1500,14 +1529,14 @@ void btstack_memory_mesh_subnet_free(mesh_subnet_t *mesh_subnet){
|
|||||||
#elif defined(HAVE_MALLOC)
|
#elif defined(HAVE_MALLOC)
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
mesh_subnet_t data;
|
|
||||||
btstack_memory_buffer_t tracking;
|
btstack_memory_buffer_t tracking;
|
||||||
|
mesh_subnet_t data;
|
||||||
} btstack_memory_mesh_subnet_t;
|
} btstack_memory_mesh_subnet_t;
|
||||||
|
|
||||||
mesh_subnet_t * btstack_memory_mesh_subnet_get(void){
|
mesh_subnet_t * btstack_memory_mesh_subnet_get(void){
|
||||||
btstack_memory_mesh_subnet_t * buffer = (btstack_memory_mesh_subnet_t *) malloc(sizeof(btstack_memory_mesh_subnet_t));
|
btstack_memory_mesh_subnet_t * buffer = (btstack_memory_mesh_subnet_t *) malloc(sizeof(btstack_memory_mesh_subnet_t));
|
||||||
if (buffer){
|
if (buffer){
|
||||||
memset(buffer, 0, sizeof(mesh_subnet_t));
|
memset(buffer, 0, sizeof(btstack_memory_mesh_subnet_t));
|
||||||
btstack_memory_tracking_add(&buffer->tracking);
|
btstack_memory_tracking_add(&buffer->tracking);
|
||||||
return &buffer->data;
|
return &buffer->data;
|
||||||
} else {
|
} else {
|
||||||
@ -1515,16 +1544,23 @@ mesh_subnet_t * btstack_memory_mesh_subnet_get(void){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
void btstack_memory_mesh_subnet_free(mesh_subnet_t *mesh_subnet){
|
void btstack_memory_mesh_subnet_free(mesh_subnet_t *mesh_subnet){
|
||||||
btstack_memory_mesh_subnet_t * buffer = (btstack_memory_mesh_subnet_t *) mesh_subnet;
|
// reconstruct buffer start
|
||||||
btstack_memory_tracking_remove(&buffer->tracking);
|
btstack_memory_buffer_t * buffer = &((btstack_memory_buffer_t *) mesh_subnet)[-1];
|
||||||
|
btstack_memory_tracking_remove(buffer);
|
||||||
free(buffer);
|
free(buffer);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// init
|
// init
|
||||||
void btstack_memory_init(void){
|
void btstack_memory_init(void){
|
||||||
|
#ifdef HAVE_MALLOC
|
||||||
|
// assert that there is no unexpected padding for combined buffer
|
||||||
|
btstack_assert(sizeof(test_buffer_t) == sizeof(btstack_memory_buffer_t) + sizeof(void *));
|
||||||
|
#endif
|
||||||
|
|
||||||
#if MAX_NR_HCI_CONNECTIONS > 0
|
#if MAX_NR_HCI_CONNECTIONS > 0
|
||||||
btstack_memory_pool_create(&hci_connection_pool, hci_connection_storage, MAX_NR_HCI_CONNECTIONS, sizeof(hci_connection_t));
|
btstack_memory_pool_create(&hci_connection_pool, hci_connection_storage, MAX_NR_HCI_CONNECTIONS, sizeof(hci_connection_t));
|
||||||
#endif
|
#endif
|
||||||
|
@ -138,6 +138,11 @@ typedef struct btstack_memory_buffer {
|
|||||||
struct btstack_memory_buffer * prev;
|
struct btstack_memory_buffer * prev;
|
||||||
} btstack_memory_buffer_t;
|
} btstack_memory_buffer_t;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
btstack_memory_buffer_t tracking;
|
||||||
|
void * pointer;
|
||||||
|
} test_buffer_t;
|
||||||
|
|
||||||
static btstack_memory_buffer_t * btstack_memory_malloc_buffers;
|
static btstack_memory_buffer_t * btstack_memory_malloc_buffers;
|
||||||
static uint32_t btstack_memory_malloc_counter;
|
static uint32_t btstack_memory_malloc_counter;
|
||||||
|
|
||||||
@ -220,14 +225,14 @@ void btstack_memory_STRUCT_NAME_free(STRUCT_NAME_t *STRUCT_NAME){
|
|||||||
#elif defined(HAVE_MALLOC)
|
#elif defined(HAVE_MALLOC)
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
STRUCT_NAME_t data;
|
|
||||||
btstack_memory_buffer_t tracking;
|
btstack_memory_buffer_t tracking;
|
||||||
|
STRUCT_NAME_t data;
|
||||||
} btstack_memory_STRUCT_NAME_t;
|
} btstack_memory_STRUCT_NAME_t;
|
||||||
|
|
||||||
STRUCT_NAME_t * btstack_memory_STRUCT_NAME_get(void){
|
STRUCT_NAME_t * btstack_memory_STRUCT_NAME_get(void){
|
||||||
btstack_memory_STRUCT_NAME_t * buffer = (btstack_memory_STRUCT_NAME_t *) malloc(sizeof(btstack_memory_STRUCT_NAME_t));
|
btstack_memory_STRUCT_NAME_t * buffer = (btstack_memory_STRUCT_NAME_t *) malloc(sizeof(btstack_memory_STRUCT_NAME_t));
|
||||||
if (buffer){
|
if (buffer){
|
||||||
memset(buffer, 0, sizeof(STRUCT_NAME_t));
|
memset(buffer, 0, sizeof(btstack_memory_STRUCT_NAME_t));
|
||||||
btstack_memory_tracking_add(&buffer->tracking);
|
btstack_memory_tracking_add(&buffer->tracking);
|
||||||
return &buffer->data;
|
return &buffer->data;
|
||||||
} else {
|
} else {
|
||||||
@ -235,12 +240,22 @@ STRUCT_NAME_t * btstack_memory_STRUCT_NAME_get(void){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
void btstack_memory_STRUCT_NAME_free(STRUCT_NAME_t *STRUCT_NAME){
|
void btstack_memory_STRUCT_NAME_free(STRUCT_NAME_t *STRUCT_NAME){
|
||||||
btstack_memory_STRUCT_NAME_t * buffer = (btstack_memory_STRUCT_NAME_t *) STRUCT_NAME;
|
// reconstruct buffer start
|
||||||
btstack_memory_tracking_remove(&buffer->tracking);
|
btstack_memory_buffer_t * buffer = &((btstack_memory_buffer_t *) STRUCT_NAME)[-1];
|
||||||
|
btstack_memory_tracking_remove(buffer);
|
||||||
free(buffer);
|
free(buffer);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
"""
|
"""
|
||||||
|
init_header = '''
|
||||||
|
// init
|
||||||
|
void btstack_memory_init(void){
|
||||||
|
#ifdef HAVE_MALLOC
|
||||||
|
// assert that there is no unexpected padding for combined buffer
|
||||||
|
btstack_assert(sizeof(test_buffer_t) == sizeof(btstack_memory_buffer_t) + sizeof(void *));
|
||||||
|
#endif
|
||||||
|
|
||||||
|
'''
|
||||||
|
|
||||||
init_template = """#if POOL_COUNT > 0
|
init_template = """#if POOL_COUNT > 0
|
||||||
btstack_memory_pool_create(&STRUCT_NAME_pool, STRUCT_NAME_storage, POOL_COUNT, sizeof(STRUCT_TYPE));
|
btstack_memory_pool_create(&STRUCT_NAME_pool, STRUCT_NAME_storage, POOL_COUNT, sizeof(STRUCT_TYPE));
|
||||||
@ -342,9 +357,7 @@ for struct_names in list_of_mesh_structs:
|
|||||||
writeln(f, "")
|
writeln(f, "")
|
||||||
writeln(f, "#endif")
|
writeln(f, "#endif")
|
||||||
|
|
||||||
|
f.write(init_header)
|
||||||
writeln(f, "// init")
|
|
||||||
writeln(f, "void btstack_memory_init(void){")
|
|
||||||
for struct_names in list_of_structs:
|
for struct_names in list_of_structs:
|
||||||
for struct_name in struct_names:
|
for struct_name in struct_names:
|
||||||
writeln(f, replacePlaceholder(init_template, struct_name))
|
writeln(f, replacePlaceholder(init_template, struct_name))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user