X-Git-Url: http://git.eversberg.eu/gitweb.cgi?p=lcr.git;a=blobdiff_plain;f=gsm.h;h=5080a8a5f734bf75b8198a01751e93e56832cf9e;hp=71ed759e85d0fb2695e028b40ba9c214c2581ee4;hb=2f9f37a9110e3c8fe7a317894c8aec5ed602b39c;hpb=8a4387be03a34632a6c0cc1d997c74d98f2fb1ae diff --git a/gsm.h b/gsm.h index 71ed759..5080a8a 100644 --- a/gsm.h +++ b/gsm.h @@ -2,8 +2,6 @@ extern int new_callref; struct gsm_conf { char debug[128]; /* debug info */ - char interface_bsc[64]; /* loopback interface BSC side */ - char interface_lcr[64]; /* loopback interface LCR side */ char openbsc_cfg[128]; /* openbsc config file */ char short_name[64]; /* short network name */ char long_name[64]; /* long network name */ @@ -14,11 +12,21 @@ 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; }; extern struct lcr_gsm *gsm; @@ -77,3 +85,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); +};