From c78e74e3d022400c66da05015e716ccb7fa18a63 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Thu, 21 Aug 2014 14:34:32 +0200 Subject: [PATCH] libctrl: remove 'struct gsm_network' references libctrl doesn't need any knowledge about the type of the user-private data that it gets passed upon setup time and includes on callbacks. --- include/osmocom/ctrl/control_if.h | 7 ++----- src/ctrl/control_if.c | 8 ++++---- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/include/osmocom/ctrl/control_if.h b/include/osmocom/ctrl/control_if.h index 76f825e5f..318e181ff 100644 --- a/include/osmocom/ctrl/control_if.h +++ b/include/osmocom/ctrl/control_if.h @@ -4,14 +4,11 @@ #include #include -/* FIXME: this must go */ -struct gsm_network; - typedef int (*ctrl_cmd_handler)(struct ctrl_cmd *, void *); struct ctrl_handle { struct osmo_fd listen_fd; - struct gsm_network *gsmnet; + void *data; ctrl_cmd_handler handler; @@ -21,7 +18,7 @@ struct ctrl_handle { int ctrl_cmd_send(struct osmo_wqueue *queue, struct ctrl_cmd *cmd); -struct ctrl_handle *controlif_setup(struct gsm_network *, uint16_t port, +struct ctrl_handle *controlif_setup(void *data, uint16_t port, ctrl_cmd_handler handler); int bsc_ctrl_cmd_handle(struct ctrl_cmd *cmd, void *data); diff --git a/src/ctrl/control_if.c b/src/ctrl/control_if.c index 325caff9e..5db2eeade 100644 --- a/src/ctrl/control_if.c +++ b/src/ctrl/control_if.c @@ -167,7 +167,7 @@ static int handle_control_read(struct osmo_fd * bfd) if (cmd) { cmd->ccon = ccon; - if (ctrl->handler(cmd, ctrl->gsmnet) != CTRL_CMD_HANDLED) { + if (ctrl->handler(cmd, ctrl->data) != CTRL_CMD_HANDLED) { ctrl_cmd_send(queue, cmd); talloc_free(cmd); } @@ -522,19 +522,19 @@ static int verify_counter(struct ctrl_cmd *cmd, const char *value, void *data) return 0; } -struct ctrl_handle *controlif_setup(struct gsm_network *gsmnet, uint16_t port, +struct ctrl_handle *controlif_setup(void *data, uint16_t port, ctrl_cmd_handler handler) { int ret; struct ctrl_handle *ctrl; - ctrl = talloc_zero(gsmnet, struct ctrl_handle); + ctrl = talloc_zero(data, struct ctrl_handle); if (!ctrl) return NULL; INIT_LLIST_HEAD(&ctrl->ccon_list); - ctrl->gsmnet = gsmnet; + ctrl->data = data; ctrl->handler = handler; ctrl_node_vec = vector_init(5);