Functions

modules_k/p_usrloc/urecord.h File Reference

USRLOC - Usrloc record structure. More...

#include <stdio.h>
#include <time.h>
#include "hslot.h"
#include "../../str.h"
#include "../../qvalue.h"
#include "ucontact.h"
#include "../usrloc/usrloc.h"
#include "hslot.h"
#include "ucontact.h"
Include dependency graph for modules_k/p_usrloc/urecord.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions


Detailed Description

Definition in file modules_k/p_usrloc/urecord.h.


Function Documentation

int db_delete_urecord ( udomain_t _d,
urecord_t _r 
)
Parameters:
_r deleted record
Returns:
0 on success, -1 on failure

Definition at line 398 of file modules_k/p_usrloc/urecord.c.

References urecord::aor, domain_col, _str::len, db_val_t::nul, _str::s, db_val_t::str_val, db_val_t::type, use_domain, user_col, and db_val_t::val.

Referenced by delete_urecord().

Here is the caller graph for this function:

int delete_ucontact ( urecord_t _r,
struct ucontact _c 
)
Parameters:
_r record where the contact belongs to
_c deleted contact
Returns:
0 on success, -1 on failure

Definition at line 486 of file modules_k/p_usrloc/urecord.c.

void free_urecord ( urecord_t _r  ) 

Free all memory used by the given structure. The structure must be removed from all linked lists first

Parameters:
_r freed record list

Definition at line 94 of file modules_k/p_usrloc/urecord.c.

int get_ucontact ( urecord_t _r,
str _c,
str _callid,
str _path,
int  _cseq,
struct ucontact **  _co 
)
Parameters:
_r record where to search the contacts
_c contact string
_callid callid
_path path
_cseq CSEQ number
_co found contact
Returns:
0 - found, 1 - not found, -1 - invalid found, -2 - found, but to be skipped (same cseq)
Parameters:
_r record where to search the contacts
_c contact string
_callid callid
_cseq CSEQ number
_co found contact
Returns:
0 - found, 1 - not found, -1 - invalid found, -2 - found, but to be skipped (same cseq)

Definition at line 588 of file modules_k/p_usrloc/urecord.c.

int insert_ucontact ( urecord_t _r,
str _contact,
ucontact_info_t _ci,
ucontact_t **  _c 
)
Parameters:
_r record into the new contact should be inserted
_contact contact string
_ci contact information
_c new created contact
Returns:
0 on success, -1 on failure

Definition at line 455 of file modules_k/p_usrloc/urecord.c.

void mem_delete_ucontact ( urecord_t _r,
ucontact_t _c 
)
Parameters:
_r record this contact belongs to
_c deleted contact

Definition at line 218 of file modules_k/p_usrloc/urecord.c.

ucontact_t* mem_insert_ucontact ( urecord_t _r,
str _c,
ucontact_info_t _ci 
)

Add a new contact in memory, contacts are ordered by: 1) q value, 2) descending modification time

Parameters:
_r record this contact belongs to
_c contact
_ci contact information
Returns:
pointer to new created contact on success, 0 on failure

Definition at line 149 of file modules_k/p_usrloc/urecord.c.

void mem_remove_ucontact ( urecord_t _r,
ucontact_t _c 
)
Parameters:
_r record this contact belongs to
_c removed contact

Definition at line 197 of file modules_k/p_usrloc/urecord.c.

int new_urecord ( str _dom,
str _aor,
urecord_t **  _r 
)
Parameters:
_dom domain name
_aor address of record
_r pointer to the new record
Returns:
0 on success, negative on failure

Definition at line 62 of file modules_k/p_usrloc/urecord.c.

void print_urecord ( FILE *  _f,
urecord_t _r 
)
Parameters:
_f print output
_r printed record

Definition at line 117 of file modules_k/p_usrloc/urecord.c.

void release_urecord ( urecord_t _r  ) 
Warning:
Failing to calls this function after get_urecord will result in a memory leak when the DB_ONLY mode is used. When the records is later deleted, e.g. with delete_urecord, then its not necessary, as this function already releases the record.
Parameters:
_r released record

Definition at line 437 of file modules_k/p_usrloc/urecord.c.

void timer_urecord ( urecord_t _r  ) 

Helper function that run the appropriate timer function, depending on the db_mode setting.

Parameters:
_r processed record

Definition at line 378 of file modules_k/p_usrloc/urecord.c.