X-Git-Url: http://git.eversberg.eu/gitweb.cgi?p=lcr.git;a=blobdiff_plain;f=gsm.h;h=5d126465e7f838b13cbc4419d5da20d1b57e9f05;hp=de4c02bea7b0c075ba8ac558a446fad0324d4c08;hb=0af1aa359f134b8a15b2a04670788eda4885f88e;hpb=3a8f58ec8946b7f1683208d1cc3b054486f12e6c diff --git a/gsm.h b/gsm.h index de4c02b..5d12646 100644 --- a/gsm.h +++ b/gsm.h @@ -1,3 +1,6 @@ + +#include + extern int new_callref; struct gsm_conf { @@ -12,9 +15,23 @@ struct gsm_conf { int reject_cause; /* reject cause for unsubcribed IMSIs */ }; +struct mncc_q_entry { + struct mncc_q_entry *next; + unsigned int len; + char data[0]; /* struct gsm_mncc */ +}; + struct lcr_gsm { void *network; /* OpenBSC network handle */ struct gsm_conf conf; /* gsm.conf options */ + int gsm_sock; /* loopback interface GSM side */ + int gsm_port; /* loopback interface port number */ + + struct lcr_fd mncc_lfd; /* Unix domain socket to OpenBSC MNCC */ + struct mncc_q_entry *mncc_q_hd; + struct mncc_q_entry *mncc_q_tail; + struct lcr_timer socket_retry; /* Timer to re-try connecting to BSC socket */ + struct sockaddr_un sun; /* Socket address of MNCC socket */ }; extern struct lcr_gsm *gsm; @@ -73,3 +90,6 @@ int gsm_conf(struct gsm_conf *gsm_conf, char *conf_error); int gsm_exit(int rc); int gsm_init(void); +extern "C" { +int mncc_send(struct gsm_network *instance, int msg_type, void *data); +};