54#define HTTPTAG(c, x) httptag_##c, httptag_##c##_v(x)
55#define HTTPTAG_REF(c, x) httptag_##c##_ref, httptag_##c##_vr(&(x))
56#define HTTPTAG_STR(c, s) httptag_##c##_str, tag_str_v(s)
57#define HTTPTAG_STR_REF(c, s) httptag_##c##_str_ref, tag_str_vr(&(s))
60#define HTTPTAG_P(tt) ((tt)->tt_class == httphdrtag_class)
62#define HTTPTAG_STR_P(tt) ((tt)->tt_class == httpstrtag_class)
64#define HTTPTAG_HTTP_P(tt) ((tt)->tt_class == httpmsgtag_class)
67#define HTTPTAGI_P(t) (HTTPTAG_P((t)->t_tag))
69#define HTTPTAGI_STR_P(t) (HTTPTAG_STR_P((t)->t_tag))
71#define HTTPTAGI_HTTP_P(t) (HTTPTAG_HTTP_P((t)->t_tag))
78#define HTTPTAG_ANY() httptag_any, ((tag_value_t)0)
90#define HTTPTAG_HTTP(x) httptag_http, httptag_http_v((x))
95#define HTTPTAG_HTTP_REF(x) httptag_http_ref, httptag_http_vr(&(x))
104#define httptag_http_v(v) (tag_value_t)(v)
105#define httptag_http_vr(vp) (tag_value_t)(vp)
115#define HTTPTAG_VERSION(x) httptag_http, (tag_value_t)x
120#define HTTPTAG_VERSION_REF(x) httptag_http_ref, (tag_value_t)&(x)
138#define HTTPTAG_HEADER(x) httptag_header, httptag_header_v((x))
143#define HTTPTAG_HEADER_REF(x) httptag_header_ref, httptag_header_vr(&(x))
146#if SU_INLINE_TAG_CAST
154#define httptag_header_v(v) (tag_value_t)(v)
155#define httptag_header_vr(vp) (tag_value_t)(vp)
167#define HTTPTAG_HEADER_STR(x) httptag_header_str, tag_str_v((x))
172#define HTTPTAG_HEADER_STR_REF(x) httptag_header_str_ref, tag_str_vr(&(x))
187#define HTTPTAG_REQUEST(x) HTTPTAG(request, x)
206#define HTTPTAG_REQUEST_STR(s) HTTPTAG_STR(request, s)
210#define HTTPTAG_REQUEST_REF(x) HTTPTAG_REF(request, x)
213#define HTTPTAG_REQUEST_STR_REF(x) HTTPTAG_STR_REF(request, x)
216#if SU_INLINE_TAG_CAST
224#define httptag_request_v(v) (tag_value_t)(v)
225#define httptag_request_vr(vp) (tag_value_t)(vp)
239#define HTTPTAG_STATUS(x) HTTPTAG(status, x)
258#define HTTPTAG_STATUS_STR(s) HTTPTAG_STR(status, s)
262#define HTTPTAG_STATUS_REF(x) HTTPTAG_REF(status, x)
265#define HTTPTAG_STATUS_STR_REF(x) HTTPTAG_STR_REF(status, x)
268#if SU_INLINE_TAG_CAST
276#define httptag_status_v(v) (tag_value_t)(v)
277#define httptag_status_vr(vp) (tag_value_t)(vp)
291#define HTTPTAG_ACCEPT(x) HTTPTAG(accept, x)
310#define HTTPTAG_ACCEPT_STR(s) HTTPTAG_STR(accept, s)
314#define HTTPTAG_ACCEPT_REF(x) HTTPTAG_REF(accept, x)
317#define HTTPTAG_ACCEPT_STR_REF(x) HTTPTAG_STR_REF(accept, x)
320#if SU_INLINE_TAG_CAST
322httptag_accept_v(http_accept_t
const *v)
325httptag_accept_vr(http_accept_t
const **vp)
328#define httptag_accept_v(v) (tag_value_t)(v)
329#define httptag_accept_vr(vp) (tag_value_t)(vp)
343#define HTTPTAG_ACCEPT_CHARSET(x) HTTPTAG(accept_charset, x)
362#define HTTPTAG_ACCEPT_CHARSET_STR(s) HTTPTAG_STR(accept_charset, s)
366#define HTTPTAG_ACCEPT_CHARSET_REF(x) HTTPTAG_REF(accept_charset, x)
369#define HTTPTAG_ACCEPT_CHARSET_STR_REF(x) HTTPTAG_STR_REF(accept_charset, x)
372#if SU_INLINE_TAG_CAST
374httptag_accept_charset_v(http_accept_charset_t
const *v)
377httptag_accept_charset_vr(http_accept_charset_t
const **vp)
380#define httptag_accept_charset_v(v) (tag_value_t)(v)
381#define httptag_accept_charset_vr(vp) (tag_value_t)(vp)
395#define HTTPTAG_ACCEPT_ENCODING(x) HTTPTAG(accept_encoding, x)
414#define HTTPTAG_ACCEPT_ENCODING_STR(s) HTTPTAG_STR(accept_encoding, s)
418#define HTTPTAG_ACCEPT_ENCODING_REF(x) HTTPTAG_REF(accept_encoding, x)
421#define HTTPTAG_ACCEPT_ENCODING_STR_REF(x) HTTPTAG_STR_REF(accept_encoding, x)
424#if SU_INLINE_TAG_CAST
426httptag_accept_encoding_v(http_accept_encoding_t
const *v)
429httptag_accept_encoding_vr(http_accept_encoding_t
const **vp)
432#define httptag_accept_encoding_v(v) (tag_value_t)(v)
433#define httptag_accept_encoding_vr(vp) (tag_value_t)(vp)
447#define HTTPTAG_ACCEPT_LANGUAGE(x) HTTPTAG(accept_language, x)
466#define HTTPTAG_ACCEPT_LANGUAGE_STR(s) HTTPTAG_STR(accept_language, s)
470#define HTTPTAG_ACCEPT_LANGUAGE_REF(x) HTTPTAG_REF(accept_language, x)
473#define HTTPTAG_ACCEPT_LANGUAGE_STR_REF(x) HTTPTAG_STR_REF(accept_language, x)
476#if SU_INLINE_TAG_CAST
478httptag_accept_language_v(http_accept_language_t
const *v)
481httptag_accept_language_vr(http_accept_language_t
const **vp)
484#define httptag_accept_language_v(v) (tag_value_t)(v)
485#define httptag_accept_language_vr(vp) (tag_value_t)(vp)
499#define HTTPTAG_ACCEPT_RANGES(x) HTTPTAG(accept_ranges, x)
518#define HTTPTAG_ACCEPT_RANGES_STR(s) HTTPTAG_STR(accept_ranges, s)
522#define HTTPTAG_ACCEPT_RANGES_REF(x) HTTPTAG_REF(accept_ranges, x)
525#define HTTPTAG_ACCEPT_RANGES_STR_REF(x) HTTPTAG_STR_REF(accept_ranges, x)
528#if SU_INLINE_TAG_CAST
536#define httptag_accept_ranges_v(v) (tag_value_t)(v)
537#define httptag_accept_ranges_vr(vp) (tag_value_t)(vp)
551#define HTTPTAG_ALLOW(x) HTTPTAG(allow, x)
570#define HTTPTAG_ALLOW_STR(s) HTTPTAG_STR(allow, s)
574#define HTTPTAG_ALLOW_REF(x) HTTPTAG_REF(allow, x)
577#define HTTPTAG_ALLOW_STR_REF(x) HTTPTAG_STR_REF(allow, x)
580#if SU_INLINE_TAG_CAST
588#define httptag_allow_v(v) (tag_value_t)(v)
589#define httptag_allow_vr(vp) (tag_value_t)(vp)
603#define HTTPTAG_AUTHENTICATION_INFO(x) HTTPTAG(authentication_info, x)
622#define HTTPTAG_AUTHENTICATION_INFO_STR(s) HTTPTAG_STR(authentication_info, s)
626#define HTTPTAG_AUTHENTICATION_INFO_REF(x) HTTPTAG_REF(authentication_info, x)
629#define HTTPTAG_AUTHENTICATION_INFO_STR_REF(x) HTTPTAG_STR_REF(authentication_info, x)
632#if SU_INLINE_TAG_CAST
634httptag_authentication_info_v(http_authentication_info_t
const *v)
637httptag_authentication_info_vr(http_authentication_info_t
const **vp)
640#define httptag_authentication_info_v(v) (tag_value_t)(v)
641#define httptag_authentication_info_vr(vp) (tag_value_t)(vp)
655#define HTTPTAG_AUTHORIZATION(x) HTTPTAG(authorization, x)
674#define HTTPTAG_AUTHORIZATION_STR(s) HTTPTAG_STR(authorization, s)
678#define HTTPTAG_AUTHORIZATION_REF(x) HTTPTAG_REF(authorization, x)
681#define HTTPTAG_AUTHORIZATION_STR_REF(x) HTTPTAG_STR_REF(authorization, x)
684#if SU_INLINE_TAG_CAST
686httptag_authorization_v(http_authorization_t
const *v)
689httptag_authorization_vr(http_authorization_t
const **vp)
692#define httptag_authorization_v(v) (tag_value_t)(v)
693#define httptag_authorization_vr(vp) (tag_value_t)(vp)
707#define HTTPTAG_AGE(x) HTTPTAG(age, x)
726#define HTTPTAG_AGE_STR(s) HTTPTAG_STR(age, s)
730#define HTTPTAG_AGE_REF(x) HTTPTAG_REF(age, x)
733#define HTTPTAG_AGE_STR_REF(x) HTTPTAG_STR_REF(age, x)
736#if SU_INLINE_TAG_CAST
738httptag_age_v(http_age_t
const *v)
741httptag_age_vr(http_age_t
const **vp)
744#define httptag_age_v(v) (tag_value_t)(v)
745#define httptag_age_vr(vp) (tag_value_t)(vp)
759#define HTTPTAG_CACHE_CONTROL(x) HTTPTAG(cache_control, x)
778#define HTTPTAG_CACHE_CONTROL_STR(s) HTTPTAG_STR(cache_control, s)
782#define HTTPTAG_CACHE_CONTROL_REF(x) HTTPTAG_REF(cache_control, x)
785#define HTTPTAG_CACHE_CONTROL_STR_REF(x) HTTPTAG_STR_REF(cache_control, x)
788#if SU_INLINE_TAG_CAST
796#define httptag_cache_control_v(v) (tag_value_t)(v)
797#define httptag_cache_control_vr(vp) (tag_value_t)(vp)
811#define HTTPTAG_CONNECTION(x) HTTPTAG(connection, x)
830#define HTTPTAG_CONNECTION_STR(s) HTTPTAG_STR(connection, s)
834#define HTTPTAG_CONNECTION_REF(x) HTTPTAG_REF(connection, x)
837#define HTTPTAG_CONNECTION_STR_REF(x) HTTPTAG_STR_REF(connection, x)
840#if SU_INLINE_TAG_CAST
848#define httptag_connection_v(v) (tag_value_t)(v)
849#define httptag_connection_vr(vp) (tag_value_t)(vp)
863#define HTTPTAG_DATE(x) HTTPTAG(date, x)
882#define HTTPTAG_DATE_STR(s) HTTPTAG_STR(date, s)
886#define HTTPTAG_DATE_REF(x) HTTPTAG_REF(date, x)
889#define HTTPTAG_DATE_STR_REF(x) HTTPTAG_STR_REF(date, x)
892#if SU_INLINE_TAG_CAST
900#define httptag_date_v(v) (tag_value_t)(v)
901#define httptag_date_vr(vp) (tag_value_t)(vp)
915#define HTTPTAG_ETAG(x) HTTPTAG(etag, x)
934#define HTTPTAG_ETAG_STR(s) HTTPTAG_STR(etag, s)
938#define HTTPTAG_ETAG_REF(x) HTTPTAG_REF(etag, x)
941#define HTTPTAG_ETAG_STR_REF(x) HTTPTAG_STR_REF(etag, x)
944#if SU_INLINE_TAG_CAST
946httptag_etag_v(http_etag_t
const *v)
949httptag_etag_vr(http_etag_t
const **vp)
952#define httptag_etag_v(v) (tag_value_t)(v)
953#define httptag_etag_vr(vp) (tag_value_t)(vp)
967#define HTTPTAG_EXPECT(x) HTTPTAG(expect, x)
986#define HTTPTAG_EXPECT_STR(s) HTTPTAG_STR(expect, s)
990#define HTTPTAG_EXPECT_REF(x) HTTPTAG_REF(expect, x)
993#define HTTPTAG_EXPECT_STR_REF(x) HTTPTAG_STR_REF(expect, x)
996#if SU_INLINE_TAG_CAST
998httptag_expect_v(http_expect_t
const *v)
1001httptag_expect_vr(http_expect_t
const **vp)
1004#define httptag_expect_v(v) (tag_value_t)(v)
1005#define httptag_expect_vr(vp) (tag_value_t)(vp)
1019#define HTTPTAG_EXPIRES(x) HTTPTAG(expires, x)
1038#define HTTPTAG_EXPIRES_STR(s) HTTPTAG_STR(expires, s)
1042#define HTTPTAG_EXPIRES_REF(x) HTTPTAG_REF(expires, x)
1045#define HTTPTAG_EXPIRES_STR_REF(x) HTTPTAG_STR_REF(expires, x)
1048#if SU_INLINE_TAG_CAST
1056#define httptag_expires_v(v) (tag_value_t)(v)
1057#define httptag_expires_vr(vp) (tag_value_t)(vp)
1071#define HTTPTAG_FROM(x) HTTPTAG(from, x)
1090#define HTTPTAG_FROM_STR(s) HTTPTAG_STR(from, s)
1094#define HTTPTAG_FROM_REF(x) HTTPTAG_REF(from, x)
1097#define HTTPTAG_FROM_STR_REF(x) HTTPTAG_STR_REF(from, x)
1100#if SU_INLINE_TAG_CAST
1102httptag_from_v(http_from_t
const *v)
1105httptag_from_vr(http_from_t
const **vp)
1108#define httptag_from_v(v) (tag_value_t)(v)
1109#define httptag_from_vr(vp) (tag_value_t)(vp)
1123#define HTTPTAG_HOST(x) HTTPTAG(host, x)
1142#define HTTPTAG_HOST_STR(s) HTTPTAG_STR(host, s)
1146#define HTTPTAG_HOST_REF(x) HTTPTAG_REF(host, x)
1149#define HTTPTAG_HOST_STR_REF(x) HTTPTAG_STR_REF(host, x)
1152#if SU_INLINE_TAG_CAST
1160#define httptag_host_v(v) (tag_value_t)(v)
1161#define httptag_host_vr(vp) (tag_value_t)(vp)
1175#define HTTPTAG_IF_MATCH(x) HTTPTAG(if_match, x)
1194#define HTTPTAG_IF_MATCH_STR(s) HTTPTAG_STR(if_match, s)
1198#define HTTPTAG_IF_MATCH_REF(x) HTTPTAG_REF(if_match, x)
1201#define HTTPTAG_IF_MATCH_STR_REF(x) HTTPTAG_STR_REF(if_match, x)
1204#if SU_INLINE_TAG_CAST
1212#define httptag_if_match_v(v) (tag_value_t)(v)
1213#define httptag_if_match_vr(vp) (tag_value_t)(vp)
1227#define HTTPTAG_IF_MODIFIED_SINCE(x) HTTPTAG(if_modified_since, x)
1246#define HTTPTAG_IF_MODIFIED_SINCE_STR(s) HTTPTAG_STR(if_modified_since, s)
1250#define HTTPTAG_IF_MODIFIED_SINCE_REF(x) HTTPTAG_REF(if_modified_since, x)
1253#define HTTPTAG_IF_MODIFIED_SINCE_STR_REF(x) HTTPTAG_STR_REF(if_modified_since, x)
1256#if SU_INLINE_TAG_CAST
1264#define httptag_if_modified_since_v(v) (tag_value_t)(v)
1265#define httptag_if_modified_since_vr(vp) (tag_value_t)(vp)
1279#define HTTPTAG_IF_NONE_MATCH(x) HTTPTAG(if_none_match, x)
1298#define HTTPTAG_IF_NONE_MATCH_STR(s) HTTPTAG_STR(if_none_match, s)
1302#define HTTPTAG_IF_NONE_MATCH_REF(x) HTTPTAG_REF(if_none_match, x)
1305#define HTTPTAG_IF_NONE_MATCH_STR_REF(x) HTTPTAG_STR_REF(if_none_match, x)
1308#if SU_INLINE_TAG_CAST
1316#define httptag_if_none_match_v(v) (tag_value_t)(v)
1317#define httptag_if_none_match_vr(vp) (tag_value_t)(vp)
1331#define HTTPTAG_IF_RANGE(x) HTTPTAG(if_range, x)
1350#define HTTPTAG_IF_RANGE_STR(s) HTTPTAG_STR(if_range, s)
1354#define HTTPTAG_IF_RANGE_REF(x) HTTPTAG_REF(if_range, x)
1357#define HTTPTAG_IF_RANGE_STR_REF(x) HTTPTAG_STR_REF(if_range, x)
1360#if SU_INLINE_TAG_CAST
1368#define httptag_if_range_v(v) (tag_value_t)(v)
1369#define httptag_if_range_vr(vp) (tag_value_t)(vp)
1383#define HTTPTAG_IF_UNMODIFIED_SINCE(x) HTTPTAG(if_unmodified_since, x)
1402#define HTTPTAG_IF_UNMODIFIED_SINCE_STR(s) HTTPTAG_STR(if_unmodified_since, s)
1406#define HTTPTAG_IF_UNMODIFIED_SINCE_REF(x) HTTPTAG_REF(if_unmodified_since, x)
1409#define HTTPTAG_IF_UNMODIFIED_SINCE_STR_REF(x) HTTPTAG_STR_REF(if_unmodified_since, x)
1412#if SU_INLINE_TAG_CAST
1420#define httptag_if_unmodified_since_v(v) (tag_value_t)(v)
1421#define httptag_if_unmodified_since_vr(vp) (tag_value_t)(vp)
1435#define HTTPTAG_LAST_MODIFIED(x) HTTPTAG(last_modified, x)
1454#define HTTPTAG_LAST_MODIFIED_STR(s) HTTPTAG_STR(last_modified, s)
1458#define HTTPTAG_LAST_MODIFIED_REF(x) HTTPTAG_REF(last_modified, x)
1461#define HTTPTAG_LAST_MODIFIED_STR_REF(x) HTTPTAG_STR_REF(last_modified, x)
1464#if SU_INLINE_TAG_CAST
1472#define httptag_last_modified_v(v) (tag_value_t)(v)
1473#define httptag_last_modified_vr(vp) (tag_value_t)(vp)
1487#define HTTPTAG_LOCATION(x) HTTPTAG(location, x)
1506#define HTTPTAG_LOCATION_STR(s) HTTPTAG_STR(location, s)
1510#define HTTPTAG_LOCATION_REF(x) HTTPTAG_REF(location, x)
1513#define HTTPTAG_LOCATION_STR_REF(x) HTTPTAG_STR_REF(location, x)
1516#if SU_INLINE_TAG_CAST
1524#define httptag_location_v(v) (tag_value_t)(v)
1525#define httptag_location_vr(vp) (tag_value_t)(vp)
1539#define HTTPTAG_MAX_FORWARDS(x) HTTPTAG(max_forwards, x)
1558#define HTTPTAG_MAX_FORWARDS_STR(s) HTTPTAG_STR(max_forwards, s)
1562#define HTTPTAG_MAX_FORWARDS_REF(x) HTTPTAG_REF(max_forwards, x)
1565#define HTTPTAG_MAX_FORWARDS_STR_REF(x) HTTPTAG_STR_REF(max_forwards, x)
1568#if SU_INLINE_TAG_CAST
1576#define httptag_max_forwards_v(v) (tag_value_t)(v)
1577#define httptag_max_forwards_vr(vp) (tag_value_t)(vp)
1591#define HTTPTAG_PRAGMA(x) HTTPTAG(pragma, x)
1610#define HTTPTAG_PRAGMA_STR(s) HTTPTAG_STR(pragma, s)
1614#define HTTPTAG_PRAGMA_REF(x) HTTPTAG_REF(pragma, x)
1617#define HTTPTAG_PRAGMA_STR_REF(x) HTTPTAG_STR_REF(pragma, x)
1620#if SU_INLINE_TAG_CAST
1628#define httptag_pragma_v(v) (tag_value_t)(v)
1629#define httptag_pragma_vr(vp) (tag_value_t)(vp)
1643#define HTTPTAG_PROXY_AUTHENTICATE(x) HTTPTAG(proxy_authenticate, x)
1662#define HTTPTAG_PROXY_AUTHENTICATE_STR(s) HTTPTAG_STR(proxy_authenticate, s)
1666#define HTTPTAG_PROXY_AUTHENTICATE_REF(x) HTTPTAG_REF(proxy_authenticate, x)
1669#define HTTPTAG_PROXY_AUTHENTICATE_STR_REF(x) HTTPTAG_STR_REF(proxy_authenticate, x)
1672#if SU_INLINE_TAG_CAST
1674httptag_proxy_authenticate_v(http_proxy_authenticate_t
const *v)
1677httptag_proxy_authenticate_vr(http_proxy_authenticate_t
const **vp)
1680#define httptag_proxy_authenticate_v(v) (tag_value_t)(v)
1681#define httptag_proxy_authenticate_vr(vp) (tag_value_t)(vp)
1695#define HTTPTAG_PROXY_AUTHORIZATION(x) HTTPTAG(proxy_authorization, x)
1714#define HTTPTAG_PROXY_AUTHORIZATION_STR(s) HTTPTAG_STR(proxy_authorization, s)
1718#define HTTPTAG_PROXY_AUTHORIZATION_REF(x) HTTPTAG_REF(proxy_authorization, x)
1721#define HTTPTAG_PROXY_AUTHORIZATION_STR_REF(x) HTTPTAG_STR_REF(proxy_authorization, x)
1724#if SU_INLINE_TAG_CAST
1726httptag_proxy_authorization_v(http_proxy_authorization_t
const *v)
1729httptag_proxy_authorization_vr(http_proxy_authorization_t
const **vp)
1732#define httptag_proxy_authorization_v(v) (tag_value_t)(v)
1733#define httptag_proxy_authorization_vr(vp) (tag_value_t)(vp)
1747#define HTTPTAG_RANGE(x) HTTPTAG(range, x)
1766#define HTTPTAG_RANGE_STR(s) HTTPTAG_STR(range, s)
1770#define HTTPTAG_RANGE_REF(x) HTTPTAG_REF(range, x)
1773#define HTTPTAG_RANGE_STR_REF(x) HTTPTAG_STR_REF(range, x)
1776#if SU_INLINE_TAG_CAST
1784#define httptag_range_v(v) (tag_value_t)(v)
1785#define httptag_range_vr(vp) (tag_value_t)(vp)
1799#define HTTPTAG_REFERER(x) HTTPTAG(referer, x)
1818#define HTTPTAG_REFERER_STR(s) HTTPTAG_STR(referer, s)
1822#define HTTPTAG_REFERER_REF(x) HTTPTAG_REF(referer, x)
1825#define HTTPTAG_REFERER_STR_REF(x) HTTPTAG_STR_REF(referer, x)
1828#if SU_INLINE_TAG_CAST
1836#define httptag_referer_v(v) (tag_value_t)(v)
1837#define httptag_referer_vr(vp) (tag_value_t)(vp)
1851#define HTTPTAG_RETRY_AFTER(x) HTTPTAG(retry_after, x)
1870#define HTTPTAG_RETRY_AFTER_STR(s) HTTPTAG_STR(retry_after, s)
1874#define HTTPTAG_RETRY_AFTER_REF(x) HTTPTAG_REF(retry_after, x)
1877#define HTTPTAG_RETRY_AFTER_STR_REF(x) HTTPTAG_STR_REF(retry_after, x)
1880#if SU_INLINE_TAG_CAST
1888#define httptag_retry_after_v(v) (tag_value_t)(v)
1889#define httptag_retry_after_vr(vp) (tag_value_t)(vp)
1903#define HTTPTAG_SERVER(x) HTTPTAG(server, x)
1922#define HTTPTAG_SERVER_STR(s) HTTPTAG_STR(server, s)
1926#define HTTPTAG_SERVER_REF(x) HTTPTAG_REF(server, x)
1929#define HTTPTAG_SERVER_STR_REF(x) HTTPTAG_STR_REF(server, x)
1932#if SU_INLINE_TAG_CAST
1934httptag_server_v(http_server_t
const *v)
1937httptag_server_vr(http_server_t
const **vp)
1940#define httptag_server_v(v) (tag_value_t)(v)
1941#define httptag_server_vr(vp) (tag_value_t)(vp)
1955#define HTTPTAG_TE(x) HTTPTAG(te, x)
1974#define HTTPTAG_TE_STR(s) HTTPTAG_STR(te, s)
1978#define HTTPTAG_TE_REF(x) HTTPTAG_REF(te, x)
1981#define HTTPTAG_TE_STR_REF(x) HTTPTAG_STR_REF(te, x)
1984#if SU_INLINE_TAG_CAST
1992#define httptag_te_v(v) (tag_value_t)(v)
1993#define httptag_te_vr(vp) (tag_value_t)(vp)
2007#define HTTPTAG_TRAILER(x) HTTPTAG(trailer, x)
2026#define HTTPTAG_TRAILER_STR(s) HTTPTAG_STR(trailer, s)
2030#define HTTPTAG_TRAILER_REF(x) HTTPTAG_REF(trailer, x)
2033#define HTTPTAG_TRAILER_STR_REF(x) HTTPTAG_STR_REF(trailer, x)
2036#if SU_INLINE_TAG_CAST
2044#define httptag_trailer_v(v) (tag_value_t)(v)
2045#define httptag_trailer_vr(vp) (tag_value_t)(vp)
2059#define HTTPTAG_TRANSFER_ENCODING(x) HTTPTAG(transfer_encoding, x)
2078#define HTTPTAG_TRANSFER_ENCODING_STR(s) HTTPTAG_STR(transfer_encoding, s)
2082#define HTTPTAG_TRANSFER_ENCODING_REF(x) HTTPTAG_REF(transfer_encoding, x)
2085#define HTTPTAG_TRANSFER_ENCODING_STR_REF(x) HTTPTAG_STR_REF(transfer_encoding, x)
2088#if SU_INLINE_TAG_CAST
2096#define httptag_transfer_encoding_v(v) (tag_value_t)(v)
2097#define httptag_transfer_encoding_vr(vp) (tag_value_t)(vp)
2111#define HTTPTAG_UPGRADE(x) HTTPTAG(upgrade, x)
2130#define HTTPTAG_UPGRADE_STR(s) HTTPTAG_STR(upgrade, s)
2134#define HTTPTAG_UPGRADE_REF(x) HTTPTAG_REF(upgrade, x)
2137#define HTTPTAG_UPGRADE_STR_REF(x) HTTPTAG_STR_REF(upgrade, x)
2140#if SU_INLINE_TAG_CAST
2148#define httptag_upgrade_v(v) (tag_value_t)(v)
2149#define httptag_upgrade_vr(vp) (tag_value_t)(vp)
2163#define HTTPTAG_USER_AGENT(x) HTTPTAG(user_agent, x)
2182#define HTTPTAG_USER_AGENT_STR(s) HTTPTAG_STR(user_agent, s)
2186#define HTTPTAG_USER_AGENT_REF(x) HTTPTAG_REF(user_agent, x)
2189#define HTTPTAG_USER_AGENT_STR_REF(x) HTTPTAG_STR_REF(user_agent, x)
2192#if SU_INLINE_TAG_CAST
2194httptag_user_agent_v(http_user_agent_t
const *v)
2197httptag_user_agent_vr(http_user_agent_t
const **vp)
2200#define httptag_user_agent_v(v) (tag_value_t)(v)
2201#define httptag_user_agent_vr(vp) (tag_value_t)(vp)
2215#define HTTPTAG_VARY(x) HTTPTAG(vary, x)
2234#define HTTPTAG_VARY_STR(s) HTTPTAG_STR(vary, s)
2238#define HTTPTAG_VARY_REF(x) HTTPTAG_REF(vary, x)
2241#define HTTPTAG_VARY_STR_REF(x) HTTPTAG_STR_REF(vary, x)
2244#if SU_INLINE_TAG_CAST
2252#define httptag_vary_v(v) (tag_value_t)(v)
2253#define httptag_vary_vr(vp) (tag_value_t)(vp)
2267#define HTTPTAG_VIA(x) HTTPTAG(via, x)
2286#define HTTPTAG_VIA_STR(s) HTTPTAG_STR(via, s)
2290#define HTTPTAG_VIA_REF(x) HTTPTAG_REF(via, x)
2293#define HTTPTAG_VIA_STR_REF(x) HTTPTAG_STR_REF(via, x)
2296#if SU_INLINE_TAG_CAST
2304#define httptag_via_v(v) (tag_value_t)(v)
2305#define httptag_via_vr(vp) (tag_value_t)(vp)
2319#define HTTPTAG_WARNING(x) HTTPTAG(warning, x)
2338#define HTTPTAG_WARNING_STR(s) HTTPTAG_STR(warning, s)
2342#define HTTPTAG_WARNING_REF(x) HTTPTAG_REF(warning, x)
2345#define HTTPTAG_WARNING_STR_REF(x) HTTPTAG_STR_REF(warning, x)
2348#if SU_INLINE_TAG_CAST
2350httptag_warning_v(http_warning_t
const *v)
2353httptag_warning_vr(http_warning_t
const **vp)
2356#define httptag_warning_v(v) (tag_value_t)(v)
2357#define httptag_warning_vr(vp) (tag_value_t)(vp)
2371#define HTTPTAG_WWW_AUTHENTICATE(x) HTTPTAG(www_authenticate, x)
2390#define HTTPTAG_WWW_AUTHENTICATE_STR(s) HTTPTAG_STR(www_authenticate, s)
2394#define HTTPTAG_WWW_AUTHENTICATE_REF(x) HTTPTAG_REF(www_authenticate, x)
2397#define HTTPTAG_WWW_AUTHENTICATE_STR_REF(x) HTTPTAG_STR_REF(www_authenticate, x)
2400#if SU_INLINE_TAG_CAST
2402httptag_www_authenticate_v(http_www_authenticate_t
const *v)
2405httptag_www_authenticate_vr(http_www_authenticate_t
const **vp)
2408#define httptag_www_authenticate_v(v) (tag_value_t)(v)
2409#define httptag_www_authenticate_vr(vp) (tag_value_t)(vp)
2423#define HTTPTAG_PROXY_CONNECTION(x) HTTPTAG(proxy_connection, x)
2442#define HTTPTAG_PROXY_CONNECTION_STR(s) HTTPTAG_STR(proxy_connection, s)
2446#define HTTPTAG_PROXY_CONNECTION_REF(x) HTTPTAG_REF(proxy_connection, x)
2449#define HTTPTAG_PROXY_CONNECTION_STR_REF(x) HTTPTAG_STR_REF(proxy_connection, x)
2452#if SU_INLINE_TAG_CAST
2460#define httptag_proxy_connection_v(v) (tag_value_t)(v)
2461#define httptag_proxy_connection_vr(vp) (tag_value_t)(vp)
2475#define HTTPTAG_SET_COOKIE(x) HTTPTAG(set_cookie, x)
2494#define HTTPTAG_SET_COOKIE_STR(s) HTTPTAG_STR(set_cookie, s)
2498#define HTTPTAG_SET_COOKIE_REF(x) HTTPTAG_REF(set_cookie, x)
2501#define HTTPTAG_SET_COOKIE_STR_REF(x) HTTPTAG_STR_REF(set_cookie, x)
2504#if SU_INLINE_TAG_CAST
2512#define httptag_set_cookie_v(v) (tag_value_t)(v)
2513#define httptag_set_cookie_vr(vp) (tag_value_t)(vp)
2527#define HTTPTAG_COOKIE(x) HTTPTAG(cookie, x)
2546#define HTTPTAG_COOKIE_STR(s) HTTPTAG_STR(cookie, s)
2550#define HTTPTAG_COOKIE_REF(x) HTTPTAG_REF(cookie, x)
2553#define HTTPTAG_COOKIE_STR_REF(x) HTTPTAG_STR_REF(cookie, x)
2556#if SU_INLINE_TAG_CAST
2564#define httptag_cookie_v(v) (tag_value_t)(v)
2565#define httptag_cookie_vr(vp) (tag_value_t)(vp)
2579#define HTTPTAG_MIME_VERSION(x) HTTPTAG(mime_version, x)
2598#define HTTPTAG_MIME_VERSION_STR(s) HTTPTAG_STR(mime_version, s)
2602#define HTTPTAG_MIME_VERSION_REF(x) HTTPTAG_REF(mime_version, x)
2605#define HTTPTAG_MIME_VERSION_STR_REF(x) HTTPTAG_STR_REF(mime_version, x)
2608#if SU_INLINE_TAG_CAST
2610httptag_mime_version_v(http_mime_version_t
const *v)
2613httptag_mime_version_vr(http_mime_version_t
const **vp)
2616#define httptag_mime_version_v(v) (tag_value_t)(v)
2617#define httptag_mime_version_vr(vp) (tag_value_t)(vp)
2631#define HTTPTAG_CONTENT_ENCODING(x) HTTPTAG(content_encoding, x)
2650#define HTTPTAG_CONTENT_ENCODING_STR(s) HTTPTAG_STR(content_encoding, s)
2654#define HTTPTAG_CONTENT_ENCODING_REF(x) HTTPTAG_REF(content_encoding, x)
2657#define HTTPTAG_CONTENT_ENCODING_STR_REF(x) HTTPTAG_STR_REF(content_encoding, x)
2660#if SU_INLINE_TAG_CAST
2662httptag_content_encoding_v(http_content_encoding_t
const *v)
2665httptag_content_encoding_vr(http_content_encoding_t
const **vp)
2668#define httptag_content_encoding_v(v) (tag_value_t)(v)
2669#define httptag_content_encoding_vr(vp) (tag_value_t)(vp)
2683#define HTTPTAG_CONTENT_LANGUAGE(x) HTTPTAG(content_language, x)
2702#define HTTPTAG_CONTENT_LANGUAGE_STR(s) HTTPTAG_STR(content_language, s)
2706#define HTTPTAG_CONTENT_LANGUAGE_REF(x) HTTPTAG_REF(content_language, x)
2709#define HTTPTAG_CONTENT_LANGUAGE_STR_REF(x) HTTPTAG_STR_REF(content_language, x)
2712#if SU_INLINE_TAG_CAST
2714httptag_content_language_v(http_content_language_t
const *v)
2717httptag_content_language_vr(http_content_language_t
const **vp)
2720#define httptag_content_language_v(v) (tag_value_t)(v)
2721#define httptag_content_language_vr(vp) (tag_value_t)(vp)
2735#define HTTPTAG_CONTENT_LENGTH(x) HTTPTAG(content_length, x)
2754#define HTTPTAG_CONTENT_LENGTH_STR(s) HTTPTAG_STR(content_length, s)
2758#define HTTPTAG_CONTENT_LENGTH_REF(x) HTTPTAG_REF(content_length, x)
2761#define HTTPTAG_CONTENT_LENGTH_STR_REF(x) HTTPTAG_STR_REF(content_length, x)
2764#if SU_INLINE_TAG_CAST
2766httptag_content_length_v(http_content_length_t
const *v)
2769httptag_content_length_vr(http_content_length_t
const **vp)
2772#define httptag_content_length_v(v) (tag_value_t)(v)
2773#define httptag_content_length_vr(vp) (tag_value_t)(vp)
2787#define HTTPTAG_CONTENT_LOCATION(x) HTTPTAG(content_location, x)
2806#define HTTPTAG_CONTENT_LOCATION_STR(s) HTTPTAG_STR(content_location, s)
2810#define HTTPTAG_CONTENT_LOCATION_REF(x) HTTPTAG_REF(content_location, x)
2813#define HTTPTAG_CONTENT_LOCATION_STR_REF(x) HTTPTAG_STR_REF(content_location, x)
2816#if SU_INLINE_TAG_CAST
2818httptag_content_location_v(http_content_location_t
const *v)
2821httptag_content_location_vr(http_content_location_t
const **vp)
2824#define httptag_content_location_v(v) (tag_value_t)(v)
2825#define httptag_content_location_vr(vp) (tag_value_t)(vp)
2839#define HTTPTAG_CONTENT_MD5(x) HTTPTAG(content_md5, x)
2858#define HTTPTAG_CONTENT_MD5_STR(s) HTTPTAG_STR(content_md5, s)
2862#define HTTPTAG_CONTENT_MD5_REF(x) HTTPTAG_REF(content_md5, x)
2865#define HTTPTAG_CONTENT_MD5_STR_REF(x) HTTPTAG_STR_REF(content_md5, x)
2868#if SU_INLINE_TAG_CAST
2870httptag_content_md5_v(http_content_md5_t
const *v)
2873httptag_content_md5_vr(http_content_md5_t
const **vp)
2876#define httptag_content_md5_v(v) (tag_value_t)(v)
2877#define httptag_content_md5_vr(vp) (tag_value_t)(vp)
2891#define HTTPTAG_CONTENT_RANGE(x) HTTPTAG(content_range, x)
2910#define HTTPTAG_CONTENT_RANGE_STR(s) HTTPTAG_STR(content_range, s)
2914#define HTTPTAG_CONTENT_RANGE_REF(x) HTTPTAG_REF(content_range, x)
2917#define HTTPTAG_CONTENT_RANGE_STR_REF(x) HTTPTAG_STR_REF(content_range, x)
2920#if SU_INLINE_TAG_CAST
2928#define httptag_content_range_v(v) (tag_value_t)(v)
2929#define httptag_content_range_vr(vp) (tag_value_t)(vp)
2943#define HTTPTAG_CONTENT_TYPE(x) HTTPTAG(content_type, x)
2962#define HTTPTAG_CONTENT_TYPE_STR(s) HTTPTAG_STR(content_type, s)
2966#define HTTPTAG_CONTENT_TYPE_REF(x) HTTPTAG_REF(content_type, x)
2969#define HTTPTAG_CONTENT_TYPE_STR_REF(x) HTTPTAG_STR_REF(content_type, x)
2972#if SU_INLINE_TAG_CAST
2974httptag_content_type_v(http_content_type_t
const *v)
2977httptag_content_type_vr(http_content_type_t
const **vp)
2980#define httptag_content_type_v(v) (tag_value_t)(v)
2981#define httptag_content_type_vr(vp) (tag_value_t)(vp)
2995#define HTTPTAG_UNKNOWN(x) HTTPTAG(unknown, x)
3014#define HTTPTAG_UNKNOWN_STR(s) HTTPTAG_STR(unknown, s)
3018#define HTTPTAG_UNKNOWN_REF(x) HTTPTAG_REF(unknown, x)
3021#define HTTPTAG_UNKNOWN_STR_REF(x) HTTPTAG_STR_REF(unknown, x)
3024#if SU_INLINE_TAG_CAST
3032#define httptag_unknown_v(v) (tag_value_t)(v)
3033#define httptag_unknown_vr(vp) (tag_value_t)(vp)
3047#define HTTPTAG_ERROR(x) HTTPTAG(error, x)
3066#define HTTPTAG_ERROR_STR(s) HTTPTAG_STR(error, s)
3070#define HTTPTAG_ERROR_REF(x) HTTPTAG_REF(error, x)
3073#define HTTPTAG_ERROR_STR_REF(x) HTTPTAG_STR_REF(error, x)
3076#if SU_INLINE_TAG_CAST
3084#define httptag_error_v(v) (tag_value_t)(v)
3085#define httptag_error_vr(vp) (tag_value_t)(vp)
3099#define HTTPTAG_SEPARATOR(x) HTTPTAG(separator, x)
3118#define HTTPTAG_SEPARATOR_STR(s) HTTPTAG_STR(separator, s)
3122#define HTTPTAG_SEPARATOR_REF(x) HTTPTAG_REF(separator, x)
3125#define HTTPTAG_SEPARATOR_STR_REF(x) HTTPTAG_STR_REF(separator, x)
3128#if SU_INLINE_TAG_CAST
3136#define httptag_separator_v(v) (tag_value_t)(v)
3137#define httptag_separator_vr(vp) (tag_value_t)(vp)
3151#define HTTPTAG_PAYLOAD(x) HTTPTAG(payload, x)
3170#define HTTPTAG_PAYLOAD_STR(s) HTTPTAG_STR(payload, s)
3174#define HTTPTAG_PAYLOAD_REF(x) HTTPTAG_REF(payload, x)
3177#define HTTPTAG_PAYLOAD_STR_REF(x) HTTPTAG_STR_REF(payload, x)
3180#if SU_INLINE_TAG_CAST
3188#define httptag_payload_v(v) (tag_value_t)(v)
3189#define httptag_payload_vr(vp) (tag_value_t)(vp)
HTTP message, methods, headers.
msg_error_t http_error_t
Erroneous header.
Definition http.h:161
msg_generic_t http_unknown_t
Unknown header.
Definition http.h:163
msg_payload_t http_payload_t
Entity-body.
Definition http.h:167
msg_separator_t http_separator_t
Separator line between headers and message contents.
Definition http.h:165
tag_typedef_t httptag_http
Tag for http_t.
Definition http_tag.c:51
tag_typedef_t httptag_header
Tag for header string.
Definition http_tag.c:53
tag_typedef_t httptag_header_str
Tag for header string.
Definition http_tag.c:55
Content-Range.
Definition http.h:210
Cookie.
Definition http.h:292
Date, Expires, If-Modified-Since, If-Unmodified-Since, Last-Modified.
Definition http.h:219
Host.
Definition http.h:226
If-Range.
Definition http.h:234
Location, Referer.
Definition http.h:242
Max-Forwards.
Definition http.h:249
Range.
Definition http.h:257
HTTP request line.
Definition http.h:179
Retry-After.
Definition http.h:265
HTTP message object.
Definition http.h:323
Set-Cookie.
Definition http.h:303
HTTP status line.
Definition http.h:189
Via.
Definition http.h:282
struct tag_type_s const tag_typedef_t[1]
struct tag_class_s const tag_class_t