The message body stored in the sip_payload_t structure has no internal structure, but it is accessed as a byte array. Use SDP parser to parse SDP content, for instance.
The message body is stored in a sip_payload_t structure.
Defines | |
| #define | SIP_PAYLOAD_INIT2(data, length) |
| Initialize a SIP payload structure with pointer to data and its length. | |
| #define | sip_payload(sip) |
| Access a SIP message payload structure sip_payload_t from sip_t. | |
| #define | SIP_PAYLOAD_INIT() |
| Initializer for structure sip_payload_t. | |
| #define | SIPTAG_PAYLOAD(x) |
| Tag list item for pointer to a message payload structure sip_payload_t. | |
| #define | SIPTAG_PAYLOAD_REF(x) |
| Tag list item for reference to a message payload pointer. | |
| #define | SIPTAG_PAYLOAD_STR(s) |
| Tag list item for string with message payload value. | |
| #define | SIPTAG_PAYLOAD_STR_REF(x) |
| Tag list item for reference to a message payload string. | |
Typedefs | |
| typedef msg_payload_t | sip_payload_t |
| The structure sip_payload_t contains representation of SIP message payload. | |
Functions | |
| issize_t | sip_payload_d (su_home_t *, msg_header_t *, char *s, isize_t slen) |
| Parse a SIP message payload. | |
| issize_t | sip_payload_e (char b[], isize_t bsiz, msg_header_t const *h, int flags) |
| Print a SIP message payload. | |
| sip_payload_t * | sip_payload_init (sip_payload_t x[1]) |
| Initialize a structure sip_payload_t. | |
| int | sip_is_payload (sip_header_t const *header) |
| Test if header object is instance of sip_payload_t. | |
| sip_payload_t * | sip_payload_dup (su_home_t *home, sip_payload_t const *hdr)) |
| Duplicate a list of message payload header structures sip_payload_t. | |
| sip_payload_t * | sip_payload_copy (su_home_t *home, sip_payload_t const *hdr)) |
| Copy a list of message payload header structures sip_payload_t. | |
| sip_payload_t * | sip_payload_make (su_home_t *home, char const *s)) |
| Make a message payload structure sip_payload_t. | |
| sip_payload_t * | sip_payload_format (su_home_t *home, char const *fmt,...))) |
| Make a message payload from formatting result. | |
| sip_payload_t * | sip_payload_create (su_home_t *home, void const *data, isize_t len) |
| Create a SIP payload structure. | |
Variables | |
| msg_hclass_t | sip_payload_class [] |
| Header class for message payload. | |
| tag_typedef_t | siptag_payload |
| Tag for message payload object. | |
| tag_typedef_t | siptag_payload_str |
| Tag for string with message payload value. | |
|
|
Initializer for structure sip_payload_t. A static sip_payload_t structure for message payload must be initialized with the SIP_PAYLOAD_INIT() macro. For instance, |
|
|
Initialize a SIP payload structure with pointer to data and its length. The SIP_PAYLOAD_INIT2() macro initializes a sip_payload_t header structure with a pointer to data and its length in octets. For instance, sip_payload_t txt_payload = SIP_PAYLOAD_INIT2(txt, strlen(txt)); The SIP_PAYLOAD_INIT2() macro can be used when creating a new payload from heap is not required, for instance, when the resulting payload structure is immediately copied. |
|
|
Tag list item for pointer to a message payload structure sip_payload_t. The SIPTAG_PAYLOAD() macro is used to include a tag item with a pointer to a sip_payload_t structure in a tag list.
|
|
|
Tag list item for string with message payload value. The SIPTAG_PAYLOAD_STR() macro is used to include a tag item with a string containing value of a sip_payload_t header in a tag list.
The corresponding tag taking reference parameter is SIPTAG_PAYLOAD_STR_REF(). |
|
|
The structure sip_payload_t contains representation of SIP message payload. The sip_payload_t is defined as follows: typedef struct sip_payload_s { msg_common_t pl_common[1]; // Common fragment info msg_header_t *pl_next; // Next payload (if multipart message) char *pl_data; // Data - may contain NUL unsigned pl_len; // Length of message payload } sip_payload_t; |
|
|
Test if header object is instance of sip_payload_t. Check if the header class is an instance of message payload object and return true (nonzero), otherwise return false (zero).
|
|
||||||||||||
|
Copy a list of message payload header structures sip_payload_t.
The function sip_payload_copy() copies a header structure hdr. If the header structure hdr contains a reference (
|
|
||||||||||||||||
|
Create a SIP payload structure. Create a new SIP payload structure. it copies the given data to the the payload data, and NUL terminates it (it allocates one extra byte for NUL). If a NULL pointer is given as data, sip_payload_create() allocates and zeroes a data buffer of len bytes.
|
|
||||||||||||
|
Duplicate a list of message payload header structures sip_payload_t.
Duplicate a header structure hdr. If the header structure hdr contains a reference (
|
|
||||||||||||||||
|
Make a message payload from formatting result. Make a new sip_payload_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_payload_t.
|
|
|
Initialize a structure sip_payload_t. An sip_payload_t structure for message payload can be initialized with the sip_payload_init() function/macro. For instance, |
|
||||||||||||
|
Make a message payload structure sip_payload_t. The function sip_payload_make() makes a new sip_payload_t header structure. It allocates a new header structure, and decodes the string s as the value of the structure.
|
|
|
Header class for message payload. The header class sip_payload_class defines how a SIP message payload is parsed and printed. It also contains methods used by SIP parser and other functions to manipulate the sip_payload_t header structure. |