101 __attribute__((__malloc__)) __attribute__((__warn_unused_result__));
118 #define sip_route_empty(route) AST_LIST_EMPTY(&(route)->list)
void sip_route_process_header(struct sip_route *route, const char *header, int inserthead)
Add routes from header.
void sip_route_copy(struct sip_route *dst, const struct sip_route *src)
copy route-set
Structure to store route information.
String manipulation functions.
void sip_route_clear(struct sip_route *route)
Free all routes in the list.
struct ast_str * sip_route_list(const struct sip_route *route, int formatcli, int skip)
Make the comma separated list of route hops.
A set of macros to manage forward-linked lists.
AST_LIST_HEAD_NOLOCK(contactliststruct, contact)
Structure to save a route hop.
The descriptor of a dynamic string XXX storage will be optimized later if needed We use the ts field ...
static int len(struct ast_channel *chan, const char *cmd, char *data, char *buf, size_t buflen)
const char * sip_route_add(struct sip_route *route, const char *uri, size_t len, int inserthead)
Add a new hop to the route.
int sip_route_is_strict(struct sip_route *route)
Check if the route is strict.
void sip_route_dump(const struct sip_route *route)
Verbose dump of all hops for debugging.
struct sip_route::@165 list
const char * sip_route_first_uri(const struct sip_route *route)
Get the URI of the route's first hop.