mysql_mod.c 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. /*
  2. * $Id$
  3. *
  4. * MySQL module interface
  5. *
  6. * Copyright (C) 2001-2003 FhG Fokus
  7. *
  8. * This file is part of ser, a free SIP server.
  9. *
  10. * ser is free software; you can redistribute it and/or modify
  11. * it under the terms of the GNU General Public License as published by
  12. * the Free Software Foundation; either version 2 of the License, or
  13. * (at your option) any later version
  14. *
  15. * For a license to use the ser software under conditions
  16. * other than those described here, or to purchase support for this
  17. * software, please contact iptel.org by e-mail at the following addresses:
  18. * [email protected]
  19. *
  20. * ser is distributed in the hope that it will be useful,
  21. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  22. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  23. * GNU General Public License for more details.
  24. *
  25. * You should have received a copy of the GNU General Public License
  26. * along with this program; if not, write to the Free Software
  27. * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  28. */
  29. /*
  30. * History:
  31. * --------
  32. * 2003-03-11 updated to the new module exports interface (andrei)
  33. * 2003-03-16 flags export parameter added (janakj)
  34. */
  35. #include "../../sr_module.h"
  36. #include "../../db/db.h"
  37. #include "my_uri.h"
  38. #include "my_con.h"
  39. #include "my_cmd.h"
  40. #include "my_fld.h"
  41. #include "my_res.h"
  42. #include "mysql_mod.h"
  43. int ping_interval = 5 * 60; /* Default is 5 minutes */
  44. int auto_reconnect = 1; /* Default is enabled */
  45. static int mysql_mod_init(void);
  46. MODULE_VERSION
  47. /*
  48. * MySQL database module interface
  49. */
  50. static cmd_export_t cmds[] = {
  51. {"db_ctx", (cmd_function)NULL, 0, 0, 0},
  52. {"db_con", (cmd_function)my_con, 0, 0, 0},
  53. {"db_uri", (cmd_function)my_uri, 0, 0, 0},
  54. {"db_cmd", (cmd_function)my_cmd, 0, 0, 0},
  55. {"db_put", (cmd_function)my_cmd_write, 0, 0, 0},
  56. {"db_del", (cmd_function)my_cmd_write, 0, 0, 0},
  57. {"db_get", (cmd_function)my_cmd_read, 0, 0, 0},
  58. {"db_sql", (cmd_function)my_cmd_sql, 0, 0, 0},
  59. {"db_res", (cmd_function)my_res, 0, 0, 0},
  60. {"db_fld", (cmd_function)my_fld, 0, 0, 0},
  61. {"db_first", (cmd_function)my_cmd_next, 0, 0, 0},
  62. {"db_next", (cmd_function)my_cmd_next, 0, 0, 0},
  63. {0, 0, 0, 0, 0}
  64. };
  65. /*
  66. * Exported parameters
  67. */
  68. static param_export_t params[] = {
  69. {"ping_interval", PARAM_INT, &ping_interval},
  70. {"auto_reconnect", PARAM_INT, &auto_reconnect},
  71. {0, 0, 0}
  72. };
  73. struct module_exports exports = {
  74. "mysql",
  75. cmds,
  76. 0, /* RPC method */
  77. params, /* module parameters */
  78. mysql_mod_init, /* module initialization function */
  79. 0, /* response function*/
  80. 0, /* destroy function */
  81. 0, /* oncancel function */
  82. 0 /* per-child init function */
  83. };
  84. static int mysql_mod_init(void)
  85. {
  86. return 0;
  87. }