From 528134b01cd731d861b8e3c00554fdedf1e0b58f Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Thu, 21 Aug 2014 15:13:08 +0200 Subject: libctrl: Move bulk of control node lookup inti libosmoctrl The control interface user now only has to register a very short node lookup function callback. This function is optional, and only required if hierarchical command lookup should be supported. --- include/osmocom/ctrl/control_if.h | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'include/osmocom/ctrl') diff --git a/include/osmocom/ctrl/control_if.h b/include/osmocom/ctrl/control_if.h index 318e181f..5e10a039 100644 --- a/include/osmocom/ctrl/control_if.h +++ b/include/osmocom/ctrl/control_if.h @@ -4,13 +4,16 @@ #include #include -typedef int (*ctrl_cmd_handler)(struct ctrl_cmd *, void *); +int ctrl_parse_get_num(vector vline, int i, long *num); + +typedef int (*ctrl_cmd_lookup)(void *data, vector vline, int *node_type, + void **node_data, int *i); struct ctrl_handle { struct osmo_fd listen_fd; void *data; - ctrl_cmd_handler handler; + ctrl_cmd_lookup lookup; /* List of control connections */ struct llist_head ccon_list; @@ -19,9 +22,9 @@ struct ctrl_handle { int ctrl_cmd_send(struct osmo_wqueue *queue, struct ctrl_cmd *cmd); struct ctrl_handle *controlif_setup(void *data, uint16_t port, - ctrl_cmd_handler handler); + ctrl_cmd_lookup lookup); -int bsc_ctrl_cmd_handle(struct ctrl_cmd *cmd, void *data); +int ctrl_cmd_handle(struct ctrl_handle *ctrl, struct ctrl_cmd *cmd, void *data); #endif /* _CONTROL_IF_H */ -- cgit v1.2.3