The Warning response-header field is used to carry additional information about the status of a response. More...
Defines | |
#define | MSG_WARNING_INIT() |
Initializer for an msg_warning_t structure. | |
Typedefs | |
typedef struct msg_warning_s | msg_warning_t |
The structure msg_warning_t contains representation of an Warning header. | |
Enumerations | |
enum | { msg_warning_hash } |
Functions | |
msg_warning_t * | msg_warning_init (msg_warning_t x[1]) |
Initialize an msg_warning_t structure. | |
int | msg_is_warning (msg_header_t const *header) |
Test if header object is an instance of msg_warning_t. | |
msg_warning_t * | msg_warning_dup (su_home_t *home, msg_warning_t const *header) |
Duplicate (deep copy) msg_warning_t. | |
msg_warning_t * | msg_warning_copy (su_home_t *home, msg_warning_t const *header) |
Copy an msg_warning_t header structure. | |
msg_warning_t * | msg_warning_make (su_home_t *home, char const *s) |
Make a header structure msg_warning_t. | |
msg_warning_t * | msg_warning_format (su_home_t *home, char const *fmt,...))) |
Make a Warning header from formatting result. | |
Variables | |
msg_parse_f | msg_warning_d |
Parse a Warning header. | |
msg_print_f | msg_warning_e |
Print a Warning header. | |
msg_hclass_t | msg_warning_class [] |
Header class for Warning header. |
The Warning response-header field is used to carry additional information about the status of a response.
Its syntax is defined in [S20.43] as follows:
Warning = "Warning" HCOLON warning-value *(COMMA warning-value) warning-value = warn-code SP warn-agent SP warn-text warn-code = 3DIGIT warn-agent = hostport / pseudonym ; the name or pseudonym of the server adding ; the Warning header, for use in debugging warn-text = quoted-string pseudonym = token
#define MSG_WARNING_INIT | ( | ) |
Initializer for an msg_warning_t structure.
A static msg_warning_t structure must be initialized with the MSG_WARNING_INIT() macro. For instance,
msg_warning_t msg_warning = MSG_WARNING_INIT;
struct msg_warning_s msg_warning_t |
The structure msg_warning_t contains representation of an Warning header.
The msg_warning_t is defined as follows:
typedef struct msg_warning_s { msg_common_t w_common[1]; // Common fragment info msg_warning_t *w_next; // Link to next Warning header unsigned w_code; // Warning code char const *w_host; // Hostname or pseudonym char const *w_port; // Port number char const *w_text; // Warning text } msg_warning_t;
int msg_is_warning | ( | msg_header_t const * | header | ) | [inline] |
Test if header object is an instance of msg_warning_t.
The function msg_is_warning() returns true (nonzero) if the header class is an instance of Warning header object and false (zero) otherwise.
header | pointer to the header structure to be tested |
msg_warning_t * msg_warning_copy | ( | su_home_t * | home, | |
msg_warning_t const * | header | |||
) | [inline] |
Copy an msg_warning_t header structure.
The function msg_warning_copy() copies a header structure header. If the header structure header contains a reference (header->h_next
) to a list of headers, all the headers in that list are copied, too. The function uses given memory home to allocate all the memory areas used to copy the header structure header.
home | memory home used to allocate new structure | |
header | pointer to the header structure to be duplicated |
When copying, only the header structure and parameter lists attached to it are duplicated. The new header structure retains all the references to the strings within the old header, including the encoding of the old header, if present.
warning = msg_warning_copy(home, msg->msg_warning);
msg_warning_t * msg_warning_dup | ( | su_home_t * | home, | |
msg_warning_t const * | header | |||
) | [inline] |
Duplicate (deep copy) msg_warning_t.
The function msg_warning_dup() duplicates a header structure header. If the header structure header contains a reference (header->x_next
) to a list of headers, all the headers in the list are duplicated, too.
home | memory home used to allocate new structure | |
header | header structure to be duplicated |
When duplicating, all parameter lists and non-constant strings attached to the header are copied, too. The function uses given memory home to allocate all the memory areas used to copy the header.
warning = msg_warning_dup(home, msg->msg_warning);
msg_warning_t * msg_warning_format | ( | su_home_t * | home, | |
char const * | fmt, | |||
... | ||||
) | [inline] |
Make a Warning header from formatting result.
The function msg_warning_format() makes a new Warning header object using snprintf-formatted result as its value. The function first prints the arguments according to the format fmt specified. Then it allocates a new header structure, and uses the formatting result as the header value.
home | memory home used to allocate new header structure. | |
fmt | string used as a printf()-style format | |
... | argument list for format |
msg_warning_t* msg_warning_init | ( | msg_warning_t | x[1] | ) | [inline] |
Initialize an msg_warning_t structure.
An msg_warning_t structure can be initialized with the msg_warning_init() function/macro. For instance,
msg_warning_t msg_warning; msg_warning_init(&msg_warning);
x | pointer to msg_warning_t structure |
msg_warning_t* msg_warning_make | ( | su_home_t * | home, | |
char const * | s | |||
) | [inline] |
Make a header structure msg_warning_t.
The function msg_warning_make() makes a new msg_warning_t header structure. It allocates a new header structure, and decodes the string s as the value of the structure.
home | memory home used to allocate new header structure. | |
s | string to be decoded as value of the new header structure |
Header class for Warning header.
The header class msg_warning_class defines how a Warning header header is parsed and printed. It also contains methods used by message parser and other functions to manipulate the msg_warning_t header structure.