modules: several small doxygen bug fixes
[sip-router] / modules / db_mysql / my_cmd.h
1 /* 
2  * $Id$
3  *
4  * Copyright (C) 2001-2003 FhG Fokus
5  * Copyright (C) 2006-2007 iptelorg GmbH
6  *
7  * This file is part of ser, a free SIP server.
8  *
9  * ser is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License as published by
11  * the Free Software Foundation; either version 2 of the License, or
12  * (at your option) any later version
13  *
14  * For a license to use the ser software under conditions
15  * other than those described here, or to purchase support for this
16  * software, please contact iptel.org by e-mail at the following addresses:
17  *    info@iptel.org
18  *
19  * ser is distributed in the hope that it will be useful,
20  * but WITHOUT ANY WARRANTY; without even the implied warranty of
21  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
22  * GNU General Public License for more details.
23  *
24  * You should have received a copy of the GNU General Public License 
25  * along with this program; if not, write to the Free Software 
26  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
27  */
28
29 #ifndef _MY_CMD_H
30 #define _MY_CMD_H  1
31
32 #include "../../lib/srdb2/db_drv.h"
33 #include "../../lib/srdb2/db_cmd.h"
34 #include <mysql/mysql.h>
35 #include <stdarg.h>
36
37 typedef enum my_flags {
38         /** Fetch all data from the server to the client at once */
39         MY_FETCH_ALL = (1 << 0),
40 } my_flags_t;
41
42 struct my_cmd {
43         db_drv_t gen;
44
45         str sql_cmd; /**< Database command represented in SQL language */
46         int next_flag;
47         MYSQL_STMT* st; /**< MySQL pre-compiled statement handle */
48
49         /** This is the sequential number of the last
50          * connection reset last time the command was
51          * uploaded to the server. If the reset number
52          * in the corresponding my_con structure is higher
53          * than the number in this variable then we need
54          * to upload the command again, because the
55          * the connection was reconnected meanwhile.
56          */
57         unsigned int last_reset;
58         unsigned int flags; /**< Various flags, mainly used by setopt and getopt */
59 };
60
61 int my_cmd(db_cmd_t* cmd);
62
63 int my_cmd_exec(db_res_t* res, db_cmd_t* cmd);
64
65 int my_cmd_first(db_res_t* res);
66
67 int my_cmd_next(db_res_t* res);
68
69 int my_getopt(db_cmd_t* cmd, char* optname, va_list ap);
70
71 int my_setopt(db_cmd_t* cmd, char* optname, va_list ap);
72
73 #endif /* _MY_CMD_H */