22#define DEBUG_BUFFER_SIZE 4096
23extern void dbg_print(
const int* which,
int how, FILE* where,
24 const char* fmt, ... ) G_GNUC_PRINTF(4, 5);
30#define SCS_HUGE_SIZE 65535
32extern char* scs_subscribe(SCS_collection* collection,
const char* s);
33extern void scs_unsubscribe(SCS_collection* collection,
char* s);
34extern char* scs_subscribe_printf(SCS_collection* collection,
char* fmt, ...)
40#define AVP_OP_EQUAL '='
41#define AVP_OP_NOTEQUAL '!'
42#define AVP_OP_STARTS '^'
43#define AVP_OP_ENDS '$'
44#define AVP_OP_CONTAINS '~'
45#define AVP_OP_LOWER '<'
46#define AVP_OP_HIGHER '>'
47#define AVP_OP_EXISTS '?'
48#define AVP_OP_ONEOFF '|'
49#define AVP_OP_TRANSF '&'
76typedef enum _avpl_match_mode {
83typedef enum _avpl_replace_mode {
97 avpl_match_mode match_mode;
98 avpl_replace_mode replace_mode;
121extern void avp_init(
void);
125extern void setup_avp_debug(FILE* fp,
int* general,
int* avp,
int* avp_op,
int* avpl,
int* avpl_op);
133extern AVP* new_avp(
const char* name,
const char* value,
char op);
136extern AVP* avp_copy(
AVP* from);
139extern AVP* new_avp_from_finfo(
const char* name,
field_info* finfo);
144extern void delete_avp(
AVP* avp);
150#define avp_to_str(avp) (ws_strdup_printf("%s%c%s",avp->n,avp->o,avp->v))
161extern AVPL* new_avpl(
const char* name);
165extern AVPL* new_avpl_from_avpl(
const char* name,
AVPL* avpl,
bool copy_avps);
167extern AVPL* new_avpl_loose_match(
const char* name,
AVPL* src,
AVPL* op,
bool copy_avps);
169extern AVPL* new_avpl_pairs_match(
const char* name,
AVPL* src,
AVPL* op,
bool strict,
bool copy_avps);
172extern AVPL* new_avpl_from_match(avpl_match_mode mode,
const char* name,
AVPL* src,
AVPL* op,
bool copy_avps);
180extern bool insert_avp(
AVPL* avpl,
AVP* avp);
183extern void rename_avpl(
AVPL* avpl,
char* name);
186extern void merge_avpl(
AVPL* dest,
AVPL* src,
bool copy);
190extern AVP* get_avp_by_name(
AVPL* avpl,
char* name,
void** cookie);
193extern AVP* get_next_avp(
AVPL* avpl,
void** cookie);
196extern AVP* extract_first_avp(
AVPL* avpl);
199extern AVP* extract_last_avp(
AVPL* avpl);
203extern AVP* extract_avp_by_name(
AVPL* avpl,
char* name);
206extern char* avpl_to_str(
AVPL* avpl);
207extern char* avpl_to_dotstr(
AVPL*);
210extern void delete_avpl(
AVPL* avpl,
bool avps_too);
224extern LoAL* new_loal(
const char* name);
228extern LoAL* loal_from_file(
char* filename);
231extern void loal_append(
LoAL* loal,
AVPL* avpl);
234extern AVPL* extract_first_avpl(
LoAL* loal);
237extern AVPL* extract_last_avpl(
LoAL* loal);
240extern AVPL* get_next_avpl(
LoAL* loal,
void** cookie);
243extern void delete_loal(
LoAL* loal,
bool avpls_too,
bool avps_too);
Definition mate_util.h:67
Definition mate_util.h:60
Definition mate_util.h:53
Definition mate_util.h:91
Definition mate_util.h:105
Definition mate_util.h:113
Definition mate_util.c:71