#include <string.h>#include <unistd.h>#include <stdio.h>#include "../../mem/mem.h"#include "../../mem/shm_mem.h"#include "../../dprint.h"#include "imc_mng.h"

Go to the source code of this file.
Defines | |
| #define | imc_get_hentry(_hid, _size) ((_hid)&(_size-1)) |
Functions | |
| imc_member_p | imc_add_member (imc_room_p room, str *user, str *domain, int flags) |
| imc_room_p | imc_add_room (str *name, str *domain, int flags) |
| int | imc_del_member (imc_room_p room, str *user, str *domain) |
| int | imc_del_room (str *name, str *domain) |
| imc_member_p | imc_get_member (imc_room_p room, str *user, str *domain) |
| imc_room_p | imc_get_room (str *name, str *domain) |
| int | imc_htable_destroy (void) |
| int | imc_htable_init (void) |
| int | imc_release_room (imc_room_p room) |
Variables | |
| imc_hentry_p | _imc_htable |
| char | imc_cmd_start_char |
| int | imc_hash_size |
| #define imc_get_hentry | ( | _hid, | |||
| _size | ) | ((_hid)&(_size-1)) |
Definition at line 43 of file imc_mng.c.
Referenced by imc_add_room(), imc_del_room(), imc_get_room(), and imc_release_room().
| imc_member_p imc_add_member | ( | imc_room_p | room, | |
| str * | user, | |||
| str * | domain, | |||
| int | flags | |||
| ) |
add member
Definition at line 291 of file imc_mng.c.
References core_case_hash(), _str::len, LM_DBG, LM_ERR, _imc_room::members, _imc_member::next, _imc_room::nr_of_members, NULL, _imc_member::prev, _str::s, shm_malloc(), and _imc_member::uri.
Referenced by add_from_db(), imc_handle_create(), imc_handle_invite(), and imc_handle_join().
| imc_room_p imc_add_room | ( | str * | name, | |
| str * | domain, | |||
| int | flags | |||
| ) |
add room
Definition at line 115 of file imc_mng.c.
References core_case_hash(), imc_get_hentry, imc_hash_size, _str::len, LM_ERR, lock, NULL, _imc_room::prev, _imc_hentry::rooms, _str::s, shm_malloc(), and _imc_room::uri.
Referenced by add_from_db(), imc_handle_create(), and imc_handle_join().
| int imc_del_member | ( | imc_room_p | room, | |
| str * | user, | |||
| str * | domain | |||
| ) |
delete member
Definition at line 384 of file imc_mng.c.
References core_case_hash(), _imc_member::domain, _imc_member::hashid, _str::len, LM_ERR, _imc_room::members, _imc_member::next, _imc_room::nr_of_members, NULL, _imc_member::prev, _str::s, shm_free, and _imc_member::user.
Referenced by imc_handle_deny(), imc_handle_exit(), imc_handle_remove(), and imc_inv_callback().
delete room
Definition at line 233 of file imc_mng.c.
References core_case_hash(), _imc_room::domain, _imc_room::hashid, imc_get_hentry, imc_hash_size, _str::len, LM_ERR, lock, _imc_room::members, _imc_room::name, _imc_member::next, _imc_room::next, NULL, _imc_room::prev, _imc_hentry::rooms, _str::s, and shm_free.
Referenced by imc_handle_destroy(), imc_handle_exit(), and imc_htable_destroy().
| imc_member_p imc_get_member | ( | imc_room_p | room, | |
| str * | user, | |||
| str * | domain | |||
| ) |
search memeber
Definition at line 351 of file imc_mng.c.
References core_case_hash(), _imc_member::domain, _imc_member::hashid, _str::len, LM_DBG, LM_ERR, _imc_room::members, _imc_member::next, NULL, _str::s, and _imc_member::user.
Referenced by imc_handle_accept(), imc_handle_create(), imc_handle_deny(), imc_handle_destroy(), imc_handle_exit(), imc_handle_invite(), imc_handle_join(), imc_handle_list(), imc_handle_message(), imc_handle_remove(), and imc_inv_callback().
| imc_room_p imc_get_room | ( | str * | name, | |
| str * | domain | |||
| ) |
search room
Definition at line 192 of file imc_mng.c.
References core_case_hash(), _imc_room::domain, _imc_room::hashid, imc_get_hentry, imc_hash_size, _str::len, LM_ERR, lock, _imc_room::name, _imc_room::next, NULL, _imc_hentry::rooms, and _str::s.
Referenced by imc_handle_accept(), imc_handle_create(), imc_handle_deny(), imc_handle_destroy(), imc_handle_exit(), imc_handle_invite(), imc_handle_join(), imc_handle_list(), imc_handle_message(), imc_handle_remove(), imc_inv_callback(), and imc_mi_list_members().
| int imc_htable_destroy | ( | void | ) |
destroy hash table
Definition at line 88 of file imc_mng.c.
References _imc_room::domain, imc_del_room(), imc_hash_size, lock, _imc_room::name, _imc_room::next, NULL, _imc_hentry::rooms, and shm_free.
Referenced by destroy().
| int imc_htable_init | ( | void | ) |
hash thable init
Definition at line 48 of file imc_mng.c.
References imc_hash_size, LM_CRIT, LM_ERR, lock, NULL, shm_free, and shm_malloc().
Referenced by mod_init().
| int imc_release_room | ( | imc_room_p | room | ) |
release room
Definition at line 173 of file imc_mng.c.
References _imc_room::hashid, imc_get_hentry, imc_hash_size, LM_ERR, lock, and NULL.
Referenced by add_from_db(), imc_handle_accept(), imc_handle_create(), imc_handle_deny(), imc_handle_destroy(), imc_handle_exit(), imc_handle_invite(), imc_handle_join(), imc_handle_list(), imc_handle_message(), imc_handle_remove(), imc_inv_callback(), and imc_mi_list_members().
| char imc_cmd_start_char |
| int imc_hash_size |
Definition at line 78 of file imc.c.
Referenced by destroy(), imc_add_room(), imc_del_room(), imc_get_room(), imc_htable_destroy(), imc_htable_init(), imc_mi_list_rooms(), imc_release_room(), and mod_init().
1.5.6