84 #define MAX_READ_INTO_BUFFER    (1024)   104     static int next_id = 1;
   118     sprintf(smsc->
name, 
"Unknown SMSC");
   119     smsc->
id = next_id++;
   213     switch (smsc->
type) {
   257     switch (smsc->
type) {
   291     if (ret == 1 && 
msg_type(*
msg) == sms && (*msg)->sms.time == 0)
   292         time(&(*msg)->sms.time);
   308     switch (smsc->
type) {
   342     error(0, 
"smscenter_pending_smsmessage is failing");
   353     struct timeval tv, tvinit;
   357     tvinit.tv_usec = 1000;
   362         FD_SET(smsc->
socket, &read_fd);
   364         ret = select(smsc->
socket + 1, &read_fd, NULL, NULL, &tv);
   366             if (errno == EINTR) 
goto got_data;
   367             if (errno == EAGAIN) 
goto got_data;
   368             error(errno, 
"Error doing select for socket");
   383             error(errno, 
"Reading from `%s' port `%d' failed.",
   425         error(0, 
"smscenter_lock called on DELETED SMSC.");
   448     Octstr *preferred_prefix, *allowed_prefix, *denied_prefix;
   450     Octstr *sema_smscnua, *sema_homenua, *sema_report;
   463     error(0, 
"Required field 'smsc' missing for smsc group.");
   501     if (sema_report == NULL)
   518     if (sender_prefix == NULL)
   526             error(0, 
"Required field missing for CIMD center.");
   535         if (phone == NULL || device == NULL || 
username == NULL ||
   537             error(0, 
"Required field missing for EMI_X25 center.");
   546         if (device == NULL || sema_smscnua == NULL || sema_homenua == NULL)
   547             error(0, 
"Required field missing for SEMA center.");
   556         if (
host == NULL || 
port == 0 || receive_port == 0)
   557             error(0, 
"Required field missing for OIS center.");
   575         if (preferred_prefix == NULL)
   580         if (allowed_prefix == NULL)
   584         if (denied_prefix == NULL)
   619     switch (smsc->
type) {
   657     switch (smsc->
type) {
 int ois_pending_smsmessage(SMSCenter *smsc)
 
int sema_reopen(SMSCenter *smsc)
 
void error(int err, const char *fmt,...)
 
int cimd_submit_msg(SMSCenter *smsc, Msg *msg)
 
int sema_receive_msg(SMSCenter *smsc, Msg **msg)
 
int ois_receive_msg(SMSCenter *smsc, Msg **msg)
 
int cimd_receive_msg(SMSCenter *smsc, Msg **msg)
 
volatile sig_atomic_t killed
 
int ois_submit_msg(SMSCenter *smsc, const Msg *msg)
 
char * smsc_name(SMSCenter *smsc)
 
int smscenter_read_into_buffer(SMSCenter *smsc)
 
#define cfg_get(grp, varname)
 
int emi_submit_msg(SMSCenter *smsc, Msg *omsg)
 
SMSCenter * sema_open(char *smscnua, char *homenua, char *serialdevice, int waitreport)
 
int emi_pending_smsmessage(SMSCenter *smsc)
 
int smscenter_receive_msg(SMSCenter *smsc, Msg **msg)
 
#define octstr_get_cstr(ostr)
 
int ois_reopen(SMSCenter *smsc)
 
int cimd_reopen(SMSCenter *smsc)
 
int sema_submit_msg(SMSCenter *smsc, Msg *msg)
 
int sema_pending_smsmessage(SMSCenter *smsc)
 
SMSCenter * smsc_open(CfgGroup *grp)
 
SMSCenter * emi_open(char *phonenum, char *serialdevice, char *username, char *password)
 
Octstr * octstr_imm(const char *cstr)
 
int ois_close(SMSCenter *smsc)
 
SMSCenter * cimd_open(char *hostname, int port, char *username, char *password)
 
int smsc_reopen(SMSCenter *smsc)
 
int emi_receive_msg(SMSCenter *smsc, Msg **tmsg)
 
int smscenter_pending_smsmessage(SMSCenter *smsc)
 
SMSCenter * ois_open(int receiveport, const char *hostname, int port, int debug_level)
 
void smscenter_remove_from_buffer(SMSCenter *smsc, size_t n)
 
SMSCenter * smscenter_construct(void)
 
int sema_close(SMSCenter *smsc)
 
void smscenter_destruct(SMSCenter *smsc)
 
#define MAX_READ_INTO_BUFFER
 
void octstr_destroy(Octstr *ostr)
 
#define octstr_create(cstr)
 
void mutex_destroy(Mutex *mutex)
 
int smsc_close(SMSCenter *smsc)
 
static void smscenter_lock(SMSCenter *smsc)
 
int emi_reopen(SMSCenter *smsc)
 
int emi_close(SMSCenter *smsc)
 
int cimd_close(SMSCenter *smsc)
 
int cfg_get_integer(long *n, CfgGroup *grp, Octstr *varname)
 
void ois_delete_queue(SMSCenter *smsc)
 
long octstr_parse_long(long *nump, Octstr *ostr, long pos, int base)
 
int cimd_pending_smsmessage(SMSCenter *smsc)
 
static void smscenter_unlock(SMSCenter *smsc)
 
int smscenter_submit_msg(SMSCenter *smsc, Msg *msg)
 
static XMLRPCDocument * msg
 
int octstr_compare(const Octstr *ostr1, const Octstr *ostr2)