sofia-sip/msg_date.h File Reference


Detailed Description

Types and functions for handling dates and times.

Author:
Pekka Pessi <Pekka.Pessi@nokia-email.address.hidden>
Date:
Created: Thu Jun 8 19:28:55 2000 ppessi

#include <sofia-sip/su_config.h>

Include dependency graph for msg_date.h:

Go to the source code of this file.

Defines

#define MSG_TIME_MAX
 Latest time that can be expressed with msg_time_t.

Functions

SOFIAPUBFUN msg_time_t msg_now (void)
 Return current time as seconds since Mon, 01 Jan 1900 00:00:00 GMT.
SOFIAPUBFUN int msg_date_delta_d (char const **inout_string, msg_time_t *return_date, msg_time_t *return_delta)
 Decode a date or delta.
SOFIAPUBFUN int msg_delta_d (char const **ss, msg_time_t *return_delta)
 Decode a http-delta.
SOFIAPUBFUN int msg_delta_e (char b[], int bsiz, msg_time_t delta)
 Encode http-delta.
SOFIAPUBFUN int msg_date_d (char const **ss, msg_time_t *date)
 Decode RFC1123-date, RFC822-date or asctime-date.
SOFIAPUBFUN int msg_date_e (char b[], int bsiz, msg_time_t date)
 Encode RFC1123-date.

Variables

SOFIA_BEGIN_DECLS typedef
unsigned long 
msg_time_t
 Time in seconds since epoch (1900-Jan-01 00:00:00).


Function Documentation

SOFIAPUBFUN int msg_date_d ( char const **  ss,
msg_time_t date 
)

Decode RFC1123-date, RFC822-date or asctime-date.

The function msg_date_d() decodes HTTP-date, which may have different formats.

 * HTTP-date    = rfc1123-date | rfc850-date | asctime-date
 * rfc1123-date = wkday "," SP date1 SP time SP "GMT"
 * rfc850-date  = weekday "," SP date2 SP time SP "GMT"
 * asctime-date = wkday SP date3 SP time SP 4DIGIT
 * date1        = 2DIGIT SP month SP 4DIGIT
 *                ; day month year (e.g., 02 Jun 1982)
 * date2        = 2DIGIT "-" month "-" 2DIGIT
 *                ; day-month-year (e.g., 02-Jun-82)
 * date3        = month SP ( 2DIGIT | ( SP 1DIGIT ))
 *                ; month day (e.g., Jun  2)
 * time         = 2DIGIT ":" 2DIGIT ":" 2DIGIT
 *                ; 00:00:00 - 23:59:59
 * wkday        = "Mon" | "Tue" | "Wed"
 *              | "Thu" | "Fri" | "Sat" | "Sun"
 * weekday      = "Monday" | "Tuesday" | "Wednesday"
 *              | "Thursday" | "Friday" | "Saturday" | "Sunday"
 * month        = "Jan" | "Feb" | "Mar" | "Apr"
 *              | "May" | "Jun" | "Jul" | "Aug"
 *              | "Sep" | "Oct" | "Nov" | "Dec"
 * 

SOFIAPUBFUN int msg_date_delta_d ( char const **  ss,
msg_time_t date,
msg_time_t delta 
)

Decode a date or delta.

The function msg_date_delta_d() decodes a http-date or http-delta field.

SOFIAPUBFUN int msg_date_e ( char  b[],
int  bsiz,
msg_time_t  http_date 
)

Encode RFC1123-date.

The function msg_date_e() prints http-date in the rfc1123-date format. The format is as follows:

 *     rfc1123-date = wkday "," SP date SP time SP "GMT"
 *     wkday        = "Mon" | "Tue" | "Wed"
 *                  | "Thu" | "Fri" | "Sat" | "Sun"
 *     date         = 2DIGIT SP month SP 4DIGIT
 *                    ; day month year (e.g., 02 Jun 1982)
 *     month        = "Jan" | "Feb" | "Mar" | "Apr"
 *                  | "May" | "Jun" | "Jul" | "Aug"
 *                  | "Sep" | "Oct" | "Nov" | "Dec"
 *     time         = 2DIGIT ":" 2DIGIT ":" 2DIGIT
 *                    ; 00:00:00 - 23:59:59
 * 

Parameters:
b buffer to print the date
bsiz size of the buffer
http_date seconds since 01 Jan 1900.
Returns:
The function msg_date_e() returns the size of the formatted date.

SOFIAPUBFUN int msg_delta_d ( char const **  ss,
msg_time_t delta 
)

Decode a http-delta.

The function msg_delta_d() decodes a http-delta field.


Sofia-SIP 1.12.1 - Copyright (C) 2006 Nokia Corporation. All rights reserved. Licensed under the terms of the GNU Lesser General Public License.