#include <openbsc/talloc.h>
#include <openbsc/gsm_data.h>

extern void *tall_msgb_ctx;
extern void *tall_fle_ctx;
extern void *tall_locop_ctx;
extern void *tall_gsms_ctx;
extern void *tall_subscr_ctx;
extern void *tall_sub_req_ctx;
extern void *tall_call_ctx;
extern void *tall_paging_ctx;
extern void *tall_sigh_ctx;
extern void *tall_tqe_ctx;
extern void *tall_trans_ctx;
extern void *tall_map_ctx;
extern void *tall_upq_ctx;
extern void *tall_ctr_ctx;

void talloc_ctx_init(void)
{
	tall_msgb_ctx = talloc_named_const(tall_bsc_ctx, 0, "msgb");
	tall_fle_ctx = talloc_named_const(tall_bsc_ctx, 0, 
					  "bs11_file_list_entry");
	tall_locop_ctx = talloc_named_const(tall_bsc_ctx, 0, "loc_updating_oper");
	tall_gsms_ctx = talloc_named_const(tall_bsc_ctx, 0, "sms");
	tall_subscr_ctx = talloc_named_const(tall_bsc_ctx, 0, "subscriber");
	tall_sub_req_ctx = talloc_named_const(tall_bsc_ctx, 0, "subscr_request");
	tall_call_ctx = talloc_named_const(tall_bsc_ctx, 0, "gsm_call");
	tall_paging_ctx = talloc_named_const(tall_bsc_ctx, 0, "paging_request");
	tall_sigh_ctx = talloc_named_const(tall_bsc_ctx, 0, "signal_handler");
	tall_tqe_ctx = talloc_named_const(tall_bsc_ctx, 0, "subch_txq_entry");
	tall_trans_ctx = talloc_named_const(tall_bsc_ctx, 0, "transaction");
	tall_map_ctx = talloc_named_const(tall_bsc_ctx, 0, "trau_map_entry");
	tall_upq_ctx = talloc_named_const(tall_bsc_ctx, 0, "trau_upq_entry");
	tall_ctr_ctx = talloc_named_const(tall_bsc_ctx, 0, "counter");
}
