Alexander Huemer | 4376bcc | 2011-09-06 00:09:48 +0200 | [diff] [blame] | 1 | #ifndef _CONTROL_IF_H |
| 2 | #define _CONTROL_IF_H |
| 3 | |
| 4 | #include <osmocom/core/write_queue.h> |
| 5 | #include <openbsc/control_cmd.h> |
| 6 | #include <openbsc/gsm_data.h> |
| 7 | |
Holger Hans Peter Freyther | ea62a38 | 2014-03-23 16:25:16 +0100 | [diff] [blame] | 8 | typedef int (*ctrl_cmd_handler)(struct ctrl_cmd *, void *); |
| 9 | |
Daniel Willmann | 782974b | 2011-07-22 17:55:42 +0200 | [diff] [blame] | 10 | struct ctrl_handle { |
| 11 | struct osmo_fd listen_fd; |
| 12 | struct gsm_network *gsmnet; |
| 13 | |
Holger Hans Peter Freyther | ea62a38 | 2014-03-23 16:25:16 +0100 | [diff] [blame] | 14 | ctrl_cmd_handler handler; |
| 15 | |
Daniel Willmann | 782974b | 2011-07-22 17:55:42 +0200 | [diff] [blame] | 16 | /* List of control connections */ |
| 17 | struct llist_head ccon_list; |
| 18 | }; |
| 19 | |
Holger Hans Peter Freyther | ea62a38 | 2014-03-23 16:25:16 +0100 | [diff] [blame] | 20 | |
Alexander Huemer | 4376bcc | 2011-09-06 00:09:48 +0200 | [diff] [blame] | 21 | int ctrl_cmd_send(struct osmo_wqueue *queue, struct ctrl_cmd *cmd); |
Holger Hans Peter Freyther | ea62a38 | 2014-03-23 16:25:16 +0100 | [diff] [blame] | 22 | struct ctrl_handle *controlif_setup(struct gsm_network *, uint16_t port, |
| 23 | ctrl_cmd_handler handler); |
| 24 | struct ctrl_handle *bsc_controlif_setup(struct gsm_network *gsmnet, uint16_t port); |
| 25 | |
| 26 | int bsc_ctrl_cmd_handle(struct ctrl_cmd *cmd, void *data); |
Alexander Huemer | 4376bcc | 2011-09-06 00:09:48 +0200 | [diff] [blame] | 27 | |
| 28 | #endif /* _CONTROL_IF_H */ |
| 29 | |