Its syntax is defined in RFC 3261 and RFC 2616 section 14.18 as follows:
Date = "Date" HCOLON SIP-date SIP-date = rfc1123-date rfc1123-date = wkday "," SP date1 SP time SP "GMT" date1 = 2DIGIT SP month SP 4DIGIT ; day month year (e.g., 02 Jun 1982) time = 2DIGIT ":" 2DIGIT ":" 2DIGIT ; 00:00:00 - 23:59:59 wkday = "Mon" / "Tue" / "Wed" / "Thu" / "Fri" / "Sat" / "Sun" month = "Jan" / "Feb" / "Mar" / "Apr" / "May" / "Jun" / "Jul" / "Aug" / "Sep" / "Oct" / "Nov" / "Dec"
The parsed Date header is stored in sip_date_t structure.
Data Structures | |
| struct | sip_date_s |
| Structure for Date header. More... | |
Defines | |
| #define | sip_date(sip) |
| Access a SIP Date header structure sip_date_t from sip_t. | |
| #define | SIP_DATE_INIT() |
| Initializer for structure sip_date_t. | |
| #define | SIPTAG_DATE(x) |
| Tag list item for pointer to a Date header structure sip_date_t. | |
| #define | SIPTAG_DATE_REF(x) |
| Tag list item for reference to a Date header pointer. | |
| #define | SIPTAG_DATE_STR(s) |
| Tag list item for string with Date header value. | |
| #define | SIPTAG_DATE_STR_REF(x) |
| Tag list item for reference to a Date header string. | |
Typedefs | |
| typedef sip_date_s | sip_date_t |
| The structure sip_date_t contains representation of SIP Date header. | |
Functions | |
| issize_t | sip_date_d (su_home_t *, msg_header_t *, char *s, isize_t slen) |
| Parse a SIP Date header. | |
| issize_t | sip_date_e (char b[], isize_t bsiz, msg_header_t const *h, int flags) |
| Print a SIP Date header. | |
| sip_date_t * | sip_date_init (sip_date_t x[1]) |
| Initialize a structure sip_date_t. | |
| int | sip_is_date (sip_header_t const *header) |
| Test if header object is instance of sip_date_t. | |
| sip_date_t * | sip_date_dup (su_home_t *home, sip_date_t const *hdr)) |
| Duplicate a list of Date header header structures sip_date_t. | |
| sip_date_t * | sip_date_copy (su_home_t *home, sip_date_t const *hdr)) |
| Copy a list of Date header header structures sip_date_t. | |
| sip_date_t * | sip_date_make (su_home_t *home, char const *s)) |
| Make a Date header structure sip_date_t. | |
| sip_date_t * | sip_date_format (su_home_t *home, char const *fmt,...))) |
| Make a Date header from formatting result. | |
| sip_date_t * | sip_date_create (su_home_t *home, sip_time_t date) |
| Create an Date header object. | |
Variables | |
| msg_hclass_t | sip_date_class [] |
| Header class for Date header. | |
| tag_typedef_t | siptag_date |
| Tag for Date header object. | |
| tag_typedef_t | siptag_date_str |
| Tag for string with Date header value. | |
|
|
Initializer for structure sip_date_t. A static sip_date_t structure for Date header must be initialized with the SIP_DATE_INIT() macro. For instance, |
|
|
Tag list item for pointer to a Date header structure sip_date_t. The SIPTAG_DATE() macro is used to include a tag item with a pointer to a sip_date_t structure in a tag list.
|
|
|
Tag list item for string with Date header value. The SIPTAG_DATE_STR() macro is used to include a tag item with a string containing value of a sip_date_t header in a tag list.
The corresponding tag taking reference parameter is SIPTAG_DATE_STR_REF(). |
|
|
The structure sip_date_t contains representation of SIP Date header. The sip_date_t is defined as follows: typedef struct sip_date_s { sip_common_t d_common[1]; // Common fragment info sip_date_t *d_next; // Link to next (dummy) sip_time_t d_time; // Seconds since Jan 1, 1900 } sip_date_t; |
|
||||||||||||
|
Copy a list of Date header header structures sip_date_t.
The function sip_date_copy() copies a header structure hdr. If the header structure hdr contains a reference (
|
|
||||||||||||
|
Create an Date header object. Create a Date header object with the date date. If
|
|
||||||||||||
|
Duplicate a list of Date header header structures sip_date_t.
Duplicate a header structure hdr. If the header structure hdr contains a reference (
|
|
||||||||||||||||
|
Make a Date header from formatting result. Make a new sip_date_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_date_t.
|
|
|
Initialize a structure sip_date_t. An sip_date_t structure for Date header can be initialized with the sip_date_init() function/macro. For instance, |
|
||||||||||||
|
Make a Date header structure sip_date_t. The function sip_date_make() makes a new sip_date_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_date_t. Check if the header class is an instance of Date header object and return true (nonzero), otherwise return false (zero).
|
|
|
Header class for Date header. The header class sip_date_class defines how a SIP Date header is parsed and printed. It also contains methods used by SIP parser and other functions to manipulate the sip_date_t header structure. |