63 #include "gw-config.h"    83                void *pack_func, 
void *unpack_func)
    96         ret = store_redis_init(
cfg);
    99         error(0, 
"Unknown 'store-type' defined.");
   121 #if LOG_TIMESTAMP_LOCALTIME   131         (
msg->sms.sms_type == 
mo ? 
"MO" :
   136         tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday,
   137         tm.tm_hour, tm.tm_min, tm.tm_sec,
   142         msg->sms.mclass, 
msg->sms.coding, 
msg->sms.mwi, 
msg->sms.compress,
   161             "<tr><td>SMS ID</td><td>Type</td><td>Time</td><td>Sender</td><td>Receiver</td>"   162             "<td>SMSC ID</td><td>BOX ID</td><td>Flags</td>"   163             "<td>UDH</td><td>Message</td>"   166         format = 
"<tr><td>%s</td><td>%s</td>"   167                 "<td>%04d-%02d-%02d %02d:%02d:%02d</td>"   168                 "<td>%s</td><td>%s</td><td>%s</td>"   169                 "<td>%s</td><td>%ld:%ld:%ld:%ld:%ld</td><td>%E</td><td>%E</td></tr>\n";
   171         format = 
"\t<message>\n\t<id>%s</id>\n\t<type>%s</type>\n\t"   172                 "<time>%04d-%02d-%02d %02d:%02d:%02d</time>\n\t"   173                 "<sender>%s</sender>\n\t"   174                 "<receiver>%s</receiver>\n\t<smsc-id>%s</smsc-id>\n\t"   175                 "<box-id>%s</box-id>\n\t"   176                 "<flags>%ld:%ld:%ld:%ld:%ld</flags>\n\t"   177                 "<udh-data>%E</udh-data>\n\t<msg-data>%E</msg-data>\n\t"   180         octstr_append_cstr(ret, 
"[SMS ID] [Type] [Time] [Sender] [Receiver] [SMSC ID] [BOX ID] [Flags] [UDH] [Message]\n");
   181         format = 
"[%s] [%s] [%04d-%02d-%02d %02d:%02d:%02d] [%s] [%s] [%s] [%s] [%ld:%ld:%ld:%ld:%ld] [%E] [%E]\n";
 void error(int err, const char *fmt,...)
 
struct tm gw_gmtime(time_t t)
 
int(* store_save_ack)(Msg *msg, ack_status_t status)
 
long(* store_messages)(void)
 
void uuid_unparse(const uuid_t uu, char *out)
 
Octstr * store_status(int status_type)
 
Msg *(* store_msg_unpack)(Octstr *os)
 
static void format(char *buf, const char *fmt)
 
void octstr_append_cstr(Octstr *ostr, const char *cstr)
 
#define octstr_get_cstr(ostr)
 
void(* store_for_each_message)(void(*callback_fn)(Msg *msg, void *data), void *data)
 
Octstr * octstr_imm(const char *cstr)
 
int store_init(Cfg *cfg, const Octstr *type, const Octstr *fname, long dump_freq, void *pack_func, void *unpack_func)
 
#define octstr_create(cstr)
 
Octstr *(* store_msg_pack)(Msg *msg)
 
void(* store_shutdown)(void)
 
struct tm gw_localtime(time_t t)
 
int(* store_load)(void(*receive_msg)(Msg *))
 
int octstr_str_compare(const Octstr *ostr, const char *str)
 
void octstr_format_append(Octstr *os, const char *fmt,...)
 
static void status_cb(Msg *msg, void *d)
 
int(* store_save)(Msg *msg)
 
int store_spool_init(const Octstr *fname)
 
int store_file_init(const Octstr *fname, long dump_freq)
 
static XMLRPCDocument * msg