dlr.h
上传用户:gzpyjq
上传日期:2013-01-31
资源大小:1852k
文件大小:2k
源码类别:

手机WAP编程

开发平台:

WINDOWS

  1. /*
  2.  * gw/dlr.h
  3.  *
  4.  * Implementation of handling delivery reports (DLRs)
  5.  *
  6.  * Andreas Fink <andreas@fink.org>, 18.08.2001
  7.  * Stipe Tolj <tolj@wapme-systems.de>, 22.03.2002
  8.  */
  9. #ifndef DLR_H
  10. #define DLR_H 1
  11. #define DLR_SUCCESS         0x01
  12. #define DLR_FAIL            0x02
  13. #define DLR_BUFFERED        0x04
  14. #define DLR_SMSC_SUCCESS    0x08
  15. #define DLR_SMSC_FAIL       0x10
  16. #if defined(DLR_MYSQL) || defined(DLR_SDB)
  17. #define DLR_DB 1
  18. #endif
  19. Mutex *dlr_mutex;
  20. Octstr *dlr_type;
  21. /*
  22.  * DB specific global things
  23.  */
  24. #ifdef DLR_DB
  25. #ifdef DLR_MYSQL
  26. #include <mysql/mysql.h>
  27. MYSQL *connection;
  28. MYSQL mysql;
  29. #endif
  30. #ifdef DLR_SDB
  31. #include <sdb.h>
  32. char *connection;
  33. #endif
  34. Octstr *table;
  35. Octstr *field_smsc, *field_ts, *field_src, *field_dst, *field_serv;
  36. Octstr *field_url, *field_mask, *field_status;
  37. #endif
  38. /* macros */
  39. #define O_DELETE(a)  { if (a) octstr_destroy(a); a = NULL; }
  40. /* DLR initialization routine (abstracted) */
  41. void dlr_init(Cfg *cfg);
  42. /* DLR shutdown routine (abstracted) */
  43. void dlr_shutdown(void);
  44. /* 
  45.  * Add a new entry to the list 
  46.  */
  47. void dlr_add(char *smsc, char *ts, char *src, char *dst, 
  48.              char *keyword, char *id, int mask);
  49. /* 
  50.  * Find an entry in the list. If there is one a message is returned and 
  51.  * the entry is removed from the list otherwhise the message returned is NULL 
  52.  */
  53. Msg* dlr_find(char *smsc, char *ts, char *dst, int type);
  54. void dlr_save(const char *filename);
  55. void dlr_load(const char *filename);
  56. /* return the number of DLR messages in the current waiting queue */
  57. long dlr_messages(void);
  58. /* 
  59.  * Flush all DLR messages in the current waiting queue.
  60.  * Beware to take bearerbox to suspended state before doing this.
  61.  */
  62. void dlr_flush(void);
  63. #endif /* DLR_H */