Its syntax is defined in [H14.1, S10.6] as follows:
Accept = "Accept" HCOLON
[ accept-range *(COMMA accept-range) ]
accept-range = media-range *(SEMI accept-param)
media-range = ( "*" "/" "*"
/ ( m-type SLASH "*" )
/ ( m-type SLASH m-subtype )
) *( SEMI m-parameter )
accept-param = ("q" EQUAL qvalue) / generic-param
qvalue = ( "0" [ "." 0*3DIGIT ] )
/ ( "1" [ "." 0*3("0") ] )
generic-param = token [ EQUAL gen-value ]
gen-value = token / host / quoted-string
The parsed Accept header is stored in sip_accept_t structure.
Data Structures | |
| struct | sip_accept_s |
| Structure for Accept header field. More... | |
Defines | |
| #define | sip_accept(sip) |
| Access a SIP Accept header structure sip_accept_t from sip_t. | |
| #define | SIP_ACCEPT_INIT() |
| Initializer for structure sip_accept_t. | |
| #define | SIPTAG_ACCEPT(x) |
| Tag list item for pointer to a Accept header structure sip_accept_t. | |
| #define | SIPTAG_ACCEPT_REF(x) |
| Tag list item for reference to a Accept header pointer. | |
| #define | SIPTAG_ACCEPT_STR(s) |
| Tag list item for string with Accept header value. | |
| #define | SIPTAG_ACCEPT_STR_REF(x) |
| Tag list item for reference to a Accept header string. | |
Typedefs | |
| typedef sip_accept_s | sip_accept_t |
| The structure sip_accept_t contains representation of SIP Accept header. | |
Functions | |
| issize_t | sip_accept_d (su_home_t *, msg_header_t *, char *s, isize_t slen) |
| Parse a SIP Accept header. | |
| issize_t | sip_accept_e (char b[], isize_t bsiz, msg_header_t const *h, int flags) |
| Print a SIP Accept header. | |
| sip_accept_t * | sip_accept_init (sip_accept_t x[1]) |
| Initialize a structure sip_accept_t. | |
| int | sip_is_accept (sip_header_t const *header) |
| Test if header object is instance of sip_accept_t. | |
| sip_accept_t * | sip_accept_dup (su_home_t *home, sip_accept_t const *hdr)) |
| Duplicate a list of Accept header header structures sip_accept_t. | |
| sip_accept_t * | sip_accept_copy (su_home_t *home, sip_accept_t const *hdr)) |
| Copy a list of Accept header header structures sip_accept_t. | |
| sip_accept_t * | sip_accept_make (su_home_t *home, char const *s)) |
| Make a Accept header structure sip_accept_t. | |
| sip_accept_t * | sip_accept_format (su_home_t *home, char const *fmt,...))) |
| Make a Accept header from formatting result. | |
Variables | |
| msg_hclass_t | sip_accept_class [] |
| Header class for Accept header. | |
| tag_typedef_t | siptag_accept |
| Tag for Accept header object. | |
| tag_typedef_t | siptag_accept_str |
| Tag for string with Accept header value. | |
|
|
Initializer for structure sip_accept_t. A static sip_accept_t structure for Accept header must be initialized with the SIP_ACCEPT_INIT() macro. For instance, |
|
|
Tag list item for pointer to a Accept header structure sip_accept_t. The SIPTAG_ACCEPT() macro is used to include a tag item with a pointer to a sip_accept_t structure in a tag list.
|
|
|
Tag list item for string with Accept header value. The SIPTAG_ACCEPT_STR() macro is used to include a tag item with a string containing value of a sip_accept_t header in a tag list.
The corresponding tag taking reference parameter is SIPTAG_ACCEPT_STR_REF(). |
|
|
The structure sip_accept_t contains representation of SIP Accept header. The sip_accept_t is defined as follows: typedef struct sip_accept_s { sip_common_t ac_common[1]; // Common fragment info sip_accept_t *ac_next; // Pointer to next @Acceptheader char const *ac_type; // Pointer to type/subtype char const *ac_subtype; // Points after first slash in type msg_param_t const *ac_params; // List of parameters char const *ac_q; // Value of q parameter } sip_accept_t; |
|
||||||||||||
|
Copy a list of Accept header header structures sip_accept_t.
The function sip_accept_copy() copies a header structure hdr. If the header structure hdr contains a reference (
|
|
||||||||||||
|
Duplicate a list of Accept header header structures sip_accept_t.
Duplicate a header structure hdr. If the header structure hdr contains a reference (
|
|
||||||||||||||||
|
Make a Accept header from formatting result. Make a new sip_accept_t object using formatting result as its value. The function first prints the arguments according to the format fmt specified. Then it allocates a new header structure, and parses the formatting result to the structure sip_accept_t.
|
|
|
Initialize a structure sip_accept_t. An sip_accept_t structure for Accept header can be initialized with the sip_accept_init() function/macro. For instance, |
|
||||||||||||
|
Make a Accept header structure sip_accept_t. The function sip_accept_make() makes a new sip_accept_t header structure. It allocates a new header structure, and decodes the string s as the value of the structure.
|
|
|
Test if header object is instance of sip_accept_t. Check if the header class is an instance of Accept header object and return true (nonzero), otherwise return false (zero).
|
|
|
Header class for Accept header. The header class sip_accept_class defines how a SIP Accept header is parsed and printed. It also contains methods used by SIP parser and other functions to manipulate the sip_accept_t header structure. |