#include "config.h"
#include <stdlib.h>
#include <string.h>
#include <stdarg.h>
#include <stdio.h>
#include <assert.h>
#include <sofia-sip/su_config.h>
#include <sofia-sip/su_tag.h>
#include <sofia-sip/su_tag_class.h>
#include <sofia-sip/su_tag_inline.h>
#include <sofia-sip/su_tagarg.h>
Include dependency graph for su_taglist.c:
Functions | |
int | t_snprintf (tagi_t const *t, char b[], size_t size) |
Convert tag item to a string. | |
tagi_t * | tl_next (tagi_t const *t) |
Get next tag item from list. | |
size_t | tl_tmove (tagi_t *dst, size_t size, tag_type_t t_tag, tag_value_t t_value,...) |
Move a tag list. | |
tagi_t * | tl_move (tagi_t *dst, tagi_t const src[]) |
Move a tag list. | |
size_t | tl_len (tagi_t const lst[]) |
Calculate effective length of a tag list. | |
size_t | tl_xtra (tagi_t const lst[], size_t offset) |
Calculate the size of extra memory areas associated with tag list. | |
tagi_t * | tl_dup (tagi_t dst[], tagi_t const src[], void **bb) |
Duplicate a tag list. | |
tagi_t * | tl_adup (su_home_t *home, tagi_t const lst[]) |
Allocate and duplicate a tag list. | |
tagi_t const * | tl_find (tagi_t const lst[], tag_type_t tt) |
Find a tag from given list. | |
int | tl_gets (tagi_t const lst[], tag_type_t tag, tag_value_t value,...) |
Find tags from given list. | |
int | tl_tgets (tagi_t lst[], tag_type_t tag, tag_value_t value,...) |
Find tags from given list. | |
tagi_t * | t_filter (tagi_t *dst, tagi_t const filter[], tagi_t const *src, void **bb) |
Filter an element in tag list. | |
tagi_t * | tl_afilter (su_home_t *home, tagi_t const filter[], tagi_t const src[]) |
Filter a tag list. | |
tagi_t * | tl_filtered_tlist (su_home_t *home, tagi_t const filter[], tag_type_t tag, tag_value_t value,...) |
Create a filtered tag list. | |
int | tl_tremove (tagi_t lst[], tag_type_t tag, tag_value_t value,...) |
Remove listed tags from the list lst. | |
size_t | tl_vlen (va_list ap) |
Calculate length of a tag list with a va_list . | |
tagi_t * | tl_vlist (va_list ap) |
Convert va_list to tag list. | |
tagi_t * | tl_list (tag_type_t tag, tag_value_t value,...) |
Make a tag list until TAG_NEXT() or TAG_END(). | |
size_t | tl_vllen (tag_type_t tag, tag_value_t value, va_list ap) |
Calculate length of a linear tag list. | |
tagi_t * | tl_vllist (tag_type_t tag, tag_value_t value, va_list ap) |
Make a linear tag list. | |
tagi_t * | tl_llist (tag_type_t tag, tag_value_t value,...) |
Make a linear tag list until TAG_END(). | |
void | tl_vfree (tagi_t *t) |
Free a tag list allocated by tl_list(), tl_llist() or tl_vlist(). | |
int | t_scan (tag_type_t tt, su_home_t *home, char const *s, tag_value_t *return_value) |
Convert string to a tag value. | |
Variables | |
tag_class_t | cstr_tag_class [1] |
Tag class for constant strings. |
Filter a tag list.
The function tl_afilter() will build a tag list containing tags specified in filter and extracted from src. It will allocate the memory used by tag list via the specified memory home, which may be also NULL
.
Duplicate a tag list.
The function tl_dup() deep copies the tag list src to the buffer dst. Memory areas associated with src are copied to buffer at **bb.
The size of the dst buffer must be at least tl_len(src)
bytes. The size of buffer **bb must be at least tl_dup_xtra(src)
bytes.
dst | pointer to the destination buffer | |
src | tag list to be duplicated | |
bb | pointer to pointer to buffer |
Move a tag list.
The function tl_move() copies the tag list src to the buffer dst. The size of the dst list must be at least tl_len(src)
bytes.
dst | pointer to the destination buffer | |
src | tag list to be moved |
int tl_tgets | ( | tagi_t | lst[], | |
tag_type_t | tag, | |||
tag_value_t | value, | |||
... | ||||
) |
Find tags from given list.
The function tl_tgets() copies values of argument tag list into the tag list lst.
size_t tl_tmove | ( | tagi_t * | dst, | |
size_t | size, | |||
tag_type_t | t_tag, | |||
tag_value_t | t_value, | |||
... | ||||
) |
Move a tag list.
The function tl_tmove() moves the tag list arguments to dst. The dst must have big enough for all arguments.
dst | pointer to the destination buffer | |
size | sizeof dst | |
t_tag,t_value,... | tag list |