File: ul_db_layer.h

package info (click to toggle)
kamailio 4.2.0-2%2Bdeb8u3
  • links: PTS, VCS
  • area: main
  • in suites: jessie
  • size: 56,276 kB
  • sloc: ansic: 552,836; xml: 166,484; sh: 8,659; makefile: 7,676; sql: 6,235; perl: 3,487; yacc: 3,428; python: 1,457; cpp: 1,219; php: 1,047; java: 449; pascal: 194; cs: 40; awk: 27
file content (61 lines) | stat: -rw-r--r-- 1,710 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#ifndef  UL_DB_LAYER_H
#define UL_DB_LAYER_H

#include "../../lib/srdb1/db.h"
#include "../usrloc/usrloc.h"
#include "udomain.h"
#include "ucontact.h"

#define DB_TYPE_CLUSTER 0
#define DB_TYPE_CLUSTER_STR "cluster"
#define DB_TYPE_SINGLE 1
#define DB_TYPE_SINGLE_STR "single"

typedef struct ul_domain_db {
	str name;
	str url;
	int dbt;
	struct ul_domain_db_list * next;
} ul_domain_db_t;

typedef struct ul_domain_db_list {
	ul_domain_db_t domain;
	struct ul_domain_db_list * next;
} ul_domain_db_list_t;

int ul_db_layer_init();

void ul_db_layer_destroy();

int ul_db_layer_single_connect(udomain_t * domain, str * url);

int ul_db_layer_insert(udomain_t * domain, str * user, str * sipdomain, 
				 db_key_t* _k, db_val_t* _v, int _n);

int ul_db_layer_update(udomain_t * domain, str * user, str * sipdomain, db_key_t* _k, db_op_t* _o, db_val_t* _v,
	         db_key_t* _uk, db_val_t* _uv, int _n, int _un);

int ul_db_layer_replace(udomain_t * domain, str * user, str * sipdomain, 
						db_key_t* _k,	db_val_t* _v, int _n, int _un);

int ul_db_layer_delete(udomain_t * domain, str * user, str * sipdomain, 
				 db_key_t* _k, db_op_t* _o, db_val_t* _v, int _n);

int ul_db_layer_query(udomain_t * domain, str * user, str * sipdomain,
				db_key_t* _k, db_op_t* _op, db_val_t* _v, db_key_t* _c, 
				int _n, int _nc, db_key_t _o, db1_res_t** _r);

int ul_db_layer_raw_query(udomain_t * domain, str* _s, db1_res_t** _r);

int ul_db_layer_fetch_result(udomain_t * domain, db1_res_t** _r, int _n);

int ul_db_layer_free_result(udomain_t * domain, db1_res_t * res);

int ul_add_domain_db(str * d, int t, str * url);

ul_domain_db_t * ul_find_domain(const char * s);

int parse_domain_db(str * _d);

#endif