blob: 46d7e902edbae8d7138f177d71d6a28595d1ac3d [file] [log] [blame]
Philipp Maier3f4a4cb2021-07-26 13:20:05 +02001#pragma once
2
Oliver Smithcb922b62022-10-14 16:42:03 +02003#include <stdbool.h>
4
Philipp Maier3f4a4cb2021-07-26 13:20:05 +02005struct mgcp_client;
6struct mgcp_client_pool;
Pau Espin Pedrol5d8b5b02022-10-13 17:52:40 +02007struct mgcp_client_pool_member;
Philipp Maier3f4a4cb2021-07-26 13:20:05 +02008
9struct mgcp_client_pool *mgcp_client_pool_alloc(void *talloc_ctx);
Pau Espin Pedrol5d8b5b02022-10-13 17:52:40 +020010
Philipp Maier3f4a4cb2021-07-26 13:20:05 +020011void mgcp_client_pool_vty_init(int parent_node, int mgw_node, const char *indent, struct mgcp_client_pool *pool);
Pau Espin Pedrol7881f7d2022-10-18 14:13:04 +020012int mgcp_client_pool_config_write(struct vty *vty, const char *indent);
Philipp Maier3f4a4cb2021-07-26 13:20:05 +020013unsigned int mgcp_client_pool_connect(struct mgcp_client_pool *pool);
14void mgcp_client_pool_register_single(struct mgcp_client_pool *pool, struct mgcp_client *mgcp_client);
Pau Espin Pedrol5d8b5b02022-10-13 17:52:40 +020015
Philipp Maier3f4a4cb2021-07-26 13:20:05 +020016struct mgcp_client *mgcp_client_pool_get(struct mgcp_client_pool *pool);
17void mgcp_client_pool_put(struct mgcp_client *mgcp_client);
Pau Espin Pedrol5d8b5b02022-10-13 17:52:40 +020018
19struct mgcp_client_pool_member *mgcp_client_pool_find_member_by_nr(struct mgcp_client_pool *pool, unsigned int nr);
20struct mgcp_client *mgcp_client_pool_member_get(struct mgcp_client_pool_member *pool_member);
21bool mgcp_client_pool_member_is_blocked(const struct mgcp_client_pool_member *pool_member);