| 1527 | |
| 1528 | |
| 1529 | int dm_init_minimal(void) |
| 1530 | { |
| 1531 | /* these functions are not immediately available via the |
| 1532 | * libfdcore .h files, but who said we cannot use them? >:) */ |
| 1533 | extern int fd_conf_init(void); |
| 1534 | extern int fd_dict_base_protocol(struct dictionary * dict); |
| 1535 | |
| 1536 | static struct fd_config g_conf; |
| 1537 | static char min_init_done; |
| 1538 | |
| 1539 | if (min_init_done) |
| 1540 | return 0; |
| 1541 | |
| 1542 | if (!(osips_enumvals = hash_init(8))) { |
| 1543 | LM_ERR("oom\n"); |
| 1544 | return -1; |
| 1545 | } |
| 1546 | |
| 1547 | if (!(pending_replies = hash_init(64))) { |
| 1548 | LM_ERR("oom\n"); |
| 1549 | return -1; |
| 1550 | } |
| 1551 | |
| 1552 | LM_INFO("initializing the Diameter object dictionary...\n"); |
| 1553 | |
| 1554 | fd_g_config = &g_conf; |
| 1555 | |
| 1556 | FD_CHECK(fd_conf_init()); |
| 1557 | FD_CHECK(fd_dict_base_protocol(fd_g_config->cnf_dict)); |
| 1558 | FD_CHECK(dm_register_osips_avps()); |
| 1559 | FD_CHECK(dm_init_sip_application()); |
| 1560 | |
| 1561 | min_init_done = 1; |
| 1562 | return 0; |
| 1563 | } |
| 1564 | |
| 1565 | |
| 1566 | void dm_destroy(void) |
no test coverage detected