30 lines
760 B
C
30 lines
760 B
C
#pragma once
|
|
|
|
struct osmocom_ms;
|
|
struct gsm_data_frame;
|
|
struct msgb;
|
|
|
|
struct tch_state {
|
|
bool rx_only; /* Rx TCH frames, but Tx nothing */
|
|
bool is_voice; /* voice (true) or data (false) */
|
|
union {
|
|
struct tch_voice_state {
|
|
enum tch_voice_io_handler handler;
|
|
struct gapk_io_state *gapk_io;
|
|
} voice;
|
|
struct tch_data_state {
|
|
enum tch_data_io_handler handler;
|
|
struct tch_csd_sock_state *sock;
|
|
struct osmo_v110_ta *v110_ta;
|
|
struct osmo_soft_uart *suart;
|
|
unsigned int num_tx;
|
|
uint8_t e1e2e3[3];
|
|
} data;
|
|
};
|
|
};
|
|
|
|
int tch_init(struct osmocom_ms *ms);
|
|
int tch_serve_ms(struct osmocom_ms *ms);
|
|
int tch_send_msg(struct osmocom_ms *ms, struct msgb *msg);
|
|
int tch_send_mncc_frame(struct osmocom_ms *ms, const struct gsm_data_frame *frame);
|