1522 Octstr *modem_type_string;
1534 error(0,
"AT2[-]: 'device' missing in at2 configuration.");
1540 if (
privdata->rawtcp_host == NULL) {
1541 error(0,
"AT2[-]: 'host' missing in at2 rawtcp configuration.");
1545 error(0,
"AT2[-]: 'port' missing in at2 rawtcp configuration.");
1553 if (
privdata->rawtcp_host == NULL) {
1554 error(0,
"AT2[-]: 'host' missing in at2 telnet configuration.");
1558 error(0,
"AT2[-]: 'port' missing in at2 telnet configuration.");
1581 if (
privdata->sms_memory_poll_interval) {
1598 if (modem_type_string != NULL) {
1605 info(0,
"AT2[%s]: configuration doesn't show modemtype. will autodetect",
1608 info(0,
"AT2[%s]: configuration shows modemtype <%s>",
1612 modem_type_string, 0);
1614 info(0,
"AT2[%s]: modemtype not found, revert to autodetect",
1617 info(0,
"AT2[%s]: read modem definition for <%s>",
1657 error(0,
"AT2[%s]: Failed to create at2 smsc connection",
void error(int err, const char *fmt,...)
static void at2_device_thread(void *arg)
void info(int err, const char *fmt,...)
static long at2_queued_cb(SMSCConn *conn)
#define AT2_DEFAULT_SMS_POLL_INTERVAL
Octstr * cfg_get_configfile(CfgGroup *grp)
int load_add_interval(Load *load, int interval)
#define cfg_get(grp, varname)
Load * load_create_real(int heuristic)
#define octstr_get_cstr(ostr)
void(* start_conn)(SMSCConn *conn)
smscconn_killed_t why_killed
Octstr * octstr_imm(const char *cstr)
int sms_priority_compare(const void *a, const void *b)
static int at2_shutdown_cb(SMSCConn *conn, int finish_sending)
static ModemDef * at2_read_modems(PrivAT2data *privdata, Octstr *file, Octstr *id, int idnumber)
static int at2_add_msg_cb(SMSCConn *conn, Msg *sms)
#define octstr_duplicate(ostr)
Octstr * octstr_format(const char *fmt,...)
#define gwthread_create(func, arg)
#define octstr_create(cstr)
gw_prioqueue_t * gw_prioqueue_create(int(*cmp)(const void *, const void *))
long octstr_len(const Octstr *ostr)
int cfg_get_bool(int *n, CfgGroup *grp, Octstr *varname)
void gw_prioqueue_destroy(gw_prioqueue_t *queue, void(*item_destroy)(void *))
int(* shutdown)(SMSCConn *conn, int finish_sending)
int cfg_get_integer(long *n, CfgGroup *grp, Octstr *varname)
int octstr_str_compare(const Octstr *ostr, const char *str)
long(* queued)(SMSCConn *conn)
int(* send_msg)(SMSCConn *conn, Msg *msg)
static void at2_start_cb(SMSCConn *conn)
int octstr_compare(const Octstr *ostr1, const Octstr *ostr2)