ed1fcd30d7e4bff4682e414d59b9b49a4b5ab684
[sip-router] / db / db_res.h
1 /* 
2  * $Id$ 
3  */
4
5 #ifndef DB_RES_H
6 #define DB_RES_H
7
8 #include "db_row.h"
9 #include "db_key.h"
10 #include "db_val.h"
11 #include "db_con.h"
12
13
14 struct db_row;
15
16
17 typedef struct db_res {
18         struct {
19                 db_key_t* names;   /* Column names */
20                 db_type_t* types;  /* Column types */
21                 int n;             /* Number of columns */
22         } col;
23         struct db_row* rows;       /* Rows */
24         int n;                     /* Number of rows */
25 } db_res_t;
26
27
28 #define RES_NAMES(re) ((re)->col.names)
29 #define RES_TYPES(re) ((re)->col.types)
30 #define RES_COL_N(re) ((re)->col.n)
31 #define RES_ROWS(re)  ((re)->rows)
32 #define RES_ROW_N(re) ((re)->n)
33
34
35 /*
36  * Create a new result structure 
37  */
38 db_res_t* new_result(void);
39
40
41 /*
42  * Fill the structure with data from database
43  */
44 int convert_result(db_con_t* _h, db_res_t* _r);
45
46
47 /*
48  * Free all memory allocated by the structure
49  */
50 int free_result(db_res_t* _r);
51
52
53 #endif /* DB_RES_H */