aboutsummaryrefslogtreecommitdiffstats
path: root/src/mncc.h
blob: 5cbee4d731c4f9688c2aa8caca56cb660cb3c064 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#pragma once

#include <osmocom/core/select.h>
#include <osmocom/core/timer.h>

struct app_config;

enum {
	MNCC_DISCONNECTED,
	MNCC_WAIT_VERSION,
	MNCC_READY,
};

struct mncc_connection {
	int state;
	struct app_config *app;
	struct osmo_fd fd;

	struct osmo_timer_list reconnect;


	/* callback for application logic */
	void (*on_disconnect)(struct mncc_connection *);
};

void mncc_connection_init(struct mncc_connection *conn, struct app_config *cfg);
void mncc_connection_start(struct mncc_connection *conn);