41 #ifndef SU_TAG_CLASS_H
44 #ifndef SU_TAG_CLASS_H
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))
98 #if SU_INLINE_TAG_CAST
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
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
374 httptag_accept_charset_v(http_accept_charset_t
const *v)
377 httptag_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
426 httptag_accept_encoding_v(http_accept_encoding_t
const *v)
429 httptag_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
478 httptag_accept_language_v(http_accept_language_t
const *v)
481 httptag_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
634 httptag_authentication_info_v(http_authentication_info_t
const *v)
637 httptag_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
686 httptag_authorization_v(http_authorization_t
const *v)
689 httptag_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
738 httptag_age_v(http_age_t
const *v)
741 httptag_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
946 httptag_etag_v(http_etag_t
const *v)
949 httptag_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
998 httptag_expect_v(http_expect_t
const *v)
1001 httptag_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
1102 httptag_from_v(http_from_t
const *v)
1105 httptag_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
1674 httptag_proxy_authenticate_v(http_proxy_authenticate_t
const *v)
1677 httptag_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
1726 httptag_proxy_authorization_v(http_proxy_authorization_t
const *v)
1729 httptag_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
1934 httptag_server_v(http_server_t
const *v)
1937 httptag_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
2194 httptag_user_agent_v(http_user_agent_t
const *v)
2197 httptag_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
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
2402 httptag_www_authenticate_v(http_www_authenticate_t
const *v)
2405 httptag_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
2610 httptag_mime_version_v(http_mime_version_t
const *v)
2613 httptag_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
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
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
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
2818 httptag_content_location_v(http_content_location_t
const *v)
2821 httptag_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
2870 httptag_content_md5_v(http_content_md5_t
const *v)
2873 httptag_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
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)
struct tag_type_s const tag_typedef_t[1]
Via.
Definition: http.h:282
Location, Referer.
Definition: http.h:242
Range.
Definition: http.h:256
HTTP request line.
Definition: http.h:179
Cookie.
Definition: http.h:292
HTTP message object.
Definition: http.h:323
tag_typedef_t httptag_header_str
Tag for header string.
Definition: http_tag.c:55
Date, Expires, If-Modified-Since, If-Unmodified-Since, Last-Modified.
Definition: http.h:219
Retry-After.
Definition: http.h:265
HTTP message, methods, headers.
tag_typedef_t httptag_http
Tag for http_t.
Definition: http_tag.c:51
Host.
Definition: http.h:226
Set-Cookie.
Definition: http.h:303
If-Range.
Definition: http.h:234
struct tag_class_s const tag_class_t
HTTP status line.
Definition: http.h:189
tag_typedef_t httptag_header
Tag for header string.
Definition: http_tag.c:53
msg_generic_t http_unknown_t
Unknown header.
Definition: http.h:163
Content-Range.
Definition: http.h:210
TE.
Definition: http.h:273
Max-Forwards.
Definition: http.h:249