diff options
Diffstat (limited to 'include/osmocom/ctrl/control_if.h')
-rw-r--r-- | include/osmocom/ctrl/control_if.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/include/osmocom/ctrl/control_if.h b/include/osmocom/ctrl/control_if.h new file mode 100644 index 00000000..d103332a --- /dev/null +++ b/include/osmocom/ctrl/control_if.h @@ -0,0 +1,29 @@ +#ifndef _CONTROL_IF_H +#define _CONTROL_IF_H + +#include <osmocom/core/write_queue.h> +#include <openbsc/control_cmd.h> +#include <openbsc/gsm_data.h> + +typedef int (*ctrl_cmd_handler)(struct ctrl_cmd *, void *); + +struct ctrl_handle { + struct osmo_fd listen_fd; + struct gsm_network *gsmnet; + + ctrl_cmd_handler handler; + + /* List of control connections */ + struct llist_head ccon_list; +}; + + +int ctrl_cmd_send(struct osmo_wqueue *queue, struct ctrl_cmd *cmd); +struct ctrl_handle *controlif_setup(struct gsm_network *, uint16_t port, + ctrl_cmd_handler handler); +struct ctrl_handle *bsc_controlif_setup(struct gsm_network *gsmnet, uint16_t port); + +int bsc_ctrl_cmd_handle(struct ctrl_cmd *cmd, void *data); + +#endif /* _CONTROL_IF_H */ + |