77 #define AT_DELIVER_SM   0    78 #define AT_SUBMIT_SM    1    79 #define AT_STATUS_REPORT_SM 2    84 #define PNT_NATIONAL    2    94 #define AT2_DEFAULT_SMS_POLL_INTERVAL   60   162 #define O_DESTROY(a) { if(a) octstr_destroy(a); a = NULL; }   237                            int greaterflag, 
int *output);
 
static Octstr * at2_convertpdu(Octstr *pdutext)
 
static int at2_numtext(int num)
 
static int at2_open_device(PrivAT2data *privdata)
 
static ModemDef * at2_read_modems(PrivAT2data *privdata, Octstr *file, Octstr *id, int idnumber)
 
gw_prioqueue_t * outgoing_queue
 
static int at2_write_line(PrivAT2data *privdata, char *line)
 
static Msg * at2_pdu_decode_report_sm(Octstr *data, PrivAT2data *privdata)
 
static int at2_test_speed(PrivAT2data *privdata, long speed)
 
static int at2_detect_modem_type(PrivAT2data *privdata)
 
int smsc_at2_create(SMSCConn *conn, CfgGroup *cfg)
 
static long at2_queued_cb(SMSCConn *conn)
 
static int at2_read_delete_message(PrivAT2data *privdata, int message_number)
 
static int at2_check_sms_memory(PrivAT2data *privdata)
 
int hardware_flow_control
 
static Octstr * at2_encode8bituncompressed(Octstr *input)
 
static int at2_read_sms_memory(PrivAT2data *privdata)
 
static Msg * at2_pdu_decode_deliver_sm(Octstr *data, PrivAT2data *privdata)
 
static void at2_flush_buffer(PrivAT2data *privdata)
 
int sms_memory_poll_interval
 
static int at2_init_device(PrivAT2data *privdata)
 
static int at2_shutdown_cb(SMSCConn *conn, int finish_sending)
 
static int at2_write(PrivAT2data *privdata, char *line)
 
static int swap_nibbles(unsigned char byte)
 
static const char * at2_error_string(int code)
 
static int at2_detect_speed(PrivAT2data *privdata)
 
static void at2_read_pending_incoming_messages(PrivAT2data *privdata)
 
static void at2_close_device(PrivAT2data *privdata)
 
static int at2_set_message_storage(PrivAT2data *privdata, Octstr *memory_name)
 
static Octstr * at2_wait_line(PrivAT2data *privdata, time_t timeout, int gt_flag)
 
static int at2_add_msg_cb(SMSCConn *conn, Msg *sms)
 
static void at2_send_one_message(PrivAT2data *privdata, Msg *msg)
 
static Octstr * at2_pdu_encode(Msg *msg, PrivAT2data *privdata)
 
static Octstr * at2_format_address_field(Octstr *msisdn)
 
static int at2_hexchar(int hexc)
 
static void at2_send_messages(PrivAT2data *privdata)
 
static int at2_send_modem_command(PrivAT2data *privdata, char *cmd, time_t timeout, int greaterflag)
 
static Octstr * at2_read_line(PrivAT2data *privdata, int gt_flag, double timeout)
 
List * pending_incoming_messages
 
static void at2_set_speed(PrivAT2data *privdata, int bps)
 
static int at2_wait_modem_command(PrivAT2data *privdata, time_t timeout, int greaterflag, int *output)
 
static Msg * at2_pdu_decode(Octstr *data, PrivAT2data *privdata)
 
static int at2_write_ctrlz(PrivAT2data *privdata)
 
static void at2_device_thread(void *arg)
 
static Octstr * at2_encode7bituncompressed(Octstr *input, int offset)
 
static void at2_destroy_modem(ModemDef *modem)
 
static void at2_read_buffer(PrivAT2data *privdata, double timeout)
 
struct PrivAT2data PrivAT2data
 
static int at2_pdu_extract(PrivAT2data *privdata, Octstr **pdu, Octstr *line, Octstr *smsc_number)
 
static void at2_start_cb(SMSCConn *conn)
 
static void at2_decode7bituncompressed(Octstr *input, int len, Octstr *decoded, int offset)
 
static XMLRPCDocument * msg