00001 #ifndef __EUAC_INTERNALS_H
00002 #define __EUAC_INTERNALS_H
00003
00004
00005
00006 #include "events_uac.h"
00007 #include <cds/hash_table.h>
00008 #include <cds/ref_cntr.h>
00009 #include "../../modules/tm/tm_load.h"
00010 #include "trace.h"
00011
00012 typedef struct {
00013 events_uac_t *first_uac;
00014 events_uac_t *last_uac;
00015 cds_mutex_t mutex;
00016
00017
00018
00019
00020 hash_table_t ht_confirmed;
00021 hash_table_t ht_unconfirmed;
00022
00023 struct tm_binds tmb;
00024 dlg_func_t dlgb;
00025
00026
00027 int create_cnt;
00028 int destroy_cnt;
00029
00030 reference_counter_group_t *rc_grp;
00031 } events_uacs_internals_t;
00032
00033 extern events_uacs_internals_t *euac_internals;
00034
00035 int init_events_uac_internals();
00036 void destroy_events_uac_internals();
00037 void lock_events_uac();
00038 void unlock_events_uac();
00039
00040 #endif