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)