mysql_mod.c 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  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_res", (cmd_function)my_res, 0, 0, 0},
  59. {"db_fld", (cmd_function)my_fld, 0, 0, 0},
  60. {"db_first", (cmd_function)my_cmd_next, 0, 0, 0},
  61. {"db_next", (cmd_function)my_cmd_next, 0, 0, 0},
  62. {0, 0, 0, 0, 0}
  63. };
  64. /*
  65. * Exported parameters
  66. */
  67. static param_export_t params[] = {
  68. {"ping_interval", PARAM_INT, &ping_interval},
  69. {"auto_reconnect", PARAM_INT, &auto_reconnect},
  70. {0, 0, 0}
  71. };
  72. struct module_exports exports = {
  73. "mysql",
  74. cmds,
  75. 0, /* RPC method */
  76. params, /* module parameters */
  77. mysql_mod_init, /* module initialization function */
  78. 0, /* response function*/
  79. 0, /* destroy function */
  80. 0, /* oncancel function */
  81. 0 /* per-child init function */
  82. };
  83. static int mysql_mod_init(void)
  84. {
  85. return 0;
  86. }