Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00035 #ifndef PARSE_SUPPORTED_H
00036 #define PARSE_SUPPORTED_H
00037
00038 #include "../../parser/msg_parser.h"
00039 #include "../../parser/hf.h"
00040 #include "../../mem/mem.h"
00041
00042
00043 #define F_SUPPORTED_PATH (1 << 0)
00044 #define F_SUPPORTED_100REL (1 << 1)
00045 #define F_SUPPORTED_TIMER (1 << 2)
00046 #define F_SUPPORTED_EVENTLIST (1 << 3)
00047 #define F_SUPPORTED_GRUU (1 << 4)
00048 #define F_SUPPORTED_OUTBOUND (1 << 5)
00049
00050 #define SUPPORTED_PATH_STR "path"
00051 #define SUPPORTED_PATH_LEN (sizeof(SUPPORTED_PATH_STR)-1)
00052
00053
00054 #define SUPPORTED_100REL_STR "100rel"
00055 #define SUPPORTED_100REL_LEN (sizeof(SUPPORTED_100REL_STR)-1)
00056
00057
00058 #define SUPPORTED_TIMER_STR "timer"
00059 #define SUPPORTED_TIMER_LEN (sizeof(SUPPORTED_TIMER_STR)-1)
00060
00061
00062 #define SUPPORTED_EVENTLIST_STR "eventlist"
00063 #define SUPPORTED_EVENTLIST_LEN (sizeof(SUPPORTED_EVENTLIST_STR)-1)
00064
00065
00066 #define SUPPORTED_GRUU_STR "gruu"
00067 #define SUPPORTED_GRUU_LEN (sizeof(SUPPORTED_GRUU_STR)-1)
00068
00069
00070 #define SUPPORTED_OUTBOUND_STR "outbound"
00071 #define SUPPORTED_OUTBOUND_LEN (sizeof(SUPPORTED_OUTBOUND_STR)-1)
00072
00073 #define get_supported(p_msg) \
00074 ((p_msg)->supported ? ((struct supported_body*)(p_msg)->supported->parsed)->supported_all : 0)
00075
00076
00077 struct supported_body {
00078 hf_parsed_free_f hfree;
00079 unsigned int supported;
00080 unsigned int supported_all;
00081
00082
00083 };
00084
00085
00089 int parse_supported( struct sip_msg *msg);
00090
00091
00092 void free_supported(struct supported_body **sb);
00093
00094 #endif