diff options
author | Evgeny Grin (Karlson2k) <k2k@narod.ru> | 2021-06-21 13:39:37 +0300 |
---|---|---|
committer | Evgeny Grin (Karlson2k) <k2k@narod.ru> | 2021-06-21 13:39:37 +0300 |
commit | aec976ee2f2a8105caa8040e55c5d3bf8ed434a1 (patch) | |
tree | 6636a3ee8871a66808f7ba2adfd95c4519c762e5 | |
parent | 4cce973ea2ff3e4466ded5f66ecce2cfefec8b40 (diff) | |
download | libmicrohttpd-aec976ee2f2a8105caa8040e55c5d3bf8ed434a1.tar.gz libmicrohttpd-aec976ee2f2a8105caa8040e55c5d3bf8ed434a1.zip |
Added attributes for enums
-rw-r--r-- | src/include/microhttpd.h | 51 | ||||
-rw-r--r-- | src/microhttpd/daemon.c | 2 | ||||
-rw-r--r-- | src/microhttpd/internal.h | 16 |
3 files changed, 44 insertions, 25 deletions
diff --git a/src/include/microhttpd.h b/src/include/microhttpd.h index b9ea600d..6e266751 100644 --- a/src/include/microhttpd.h +++ b/src/include/microhttpd.h | |||
@@ -132,6 +132,25 @@ typedef intptr_t ssize_t; | |||
132 | */ | 132 | */ |
133 | #define MHD_VERSION 0x00097302 | 133 | #define MHD_VERSION 0x00097302 |
134 | 134 | ||
135 | |||
136 | #ifdef __has_attribute | ||
137 | #if __has_attribute (flag_enum) | ||
138 | #define _MHD_FLAGS_ENUM __attribute__((flag_enum)) | ||
139 | #endif /* flag_enum */ | ||
140 | #if __has_attribute (enum_extensibility) | ||
141 | #define _MHD_FIXED_ENUM __attribute__((enum_extensibility(closed))) | ||
142 | #endif /* enum_extensibility */ | ||
143 | #endif /* __has_attribute */ | ||
144 | |||
145 | #ifndef _MHD_FLAGS_ENUM | ||
146 | #define _MHD_FLAGS_ENUM | ||
147 | #endif /* _MHD_FLAGS_ENUM */ | ||
148 | #ifndef _MHD_FIXED_ENUM | ||
149 | #define _MHD_FIXED_ENUM | ||
150 | #endif /* _MHD_FIXED_ENUM */ | ||
151 | |||
152 | #define _MHD_FIXED_FLAGS_ENUM _MHD_FIXED_ENUM _MHD_FLAGS_ENUM | ||
153 | |||
135 | /** | 154 | /** |
136 | * Operational results from MHD calls. | 155 | * Operational results from MHD calls. |
137 | */ | 156 | */ |
@@ -147,7 +166,7 @@ enum MHD_Result | |||
147 | */ | 166 | */ |
148 | MHD_YES = 1 | 167 | MHD_YES = 1 |
149 | 168 | ||
150 | }; | 169 | } _MHD_FIXED_ENUM; |
151 | 170 | ||
152 | 171 | ||
153 | /** | 172 | /** |
@@ -1748,7 +1767,7 @@ enum MHD_OPTION | |||
1748 | * @note Available since #MHD_VERSION 0x00097207 | 1767 | * @note Available since #MHD_VERSION 0x00097207 |
1749 | */ | 1768 | */ |
1750 | MHD_OPTION_TLS_NO_ALPN = 34 | 1769 | MHD_OPTION_TLS_NO_ALPN = 34 |
1751 | }; | 1770 | } _MHD_FIXED_ENUM; |
1752 | 1771 | ||
1753 | 1772 | ||
1754 | /** | 1773 | /** |
@@ -1762,7 +1781,7 @@ enum MHD_DisableSanityCheck | |||
1762 | */ | 1781 | */ |
1763 | MHD_DSC_SANE = 0 | 1782 | MHD_DSC_SANE = 0 |
1764 | 1783 | ||
1765 | }; | 1784 | } _MHD_FIXED_FLAGS_ENUM; |
1766 | 1785 | ||
1767 | 1786 | ||
1768 | /** | 1787 | /** |
@@ -1839,7 +1858,7 @@ enum MHD_ValueKind | |||
1839 | * HTTP footer (only for HTTP 1.1 chunked encodings). | 1858 | * HTTP footer (only for HTTP 1.1 chunked encodings). |
1840 | */ | 1859 | */ |
1841 | MHD_FOOTER_KIND = 16 | 1860 | MHD_FOOTER_KIND = 16 |
1842 | }; | 1861 | } _MHD_FIXED_ENUM; |
1843 | 1862 | ||
1844 | 1863 | ||
1845 | /** | 1864 | /** |
@@ -1897,7 +1916,7 @@ enum MHD_RequestTerminationCode | |||
1897 | */ | 1916 | */ |
1898 | MHD_REQUEST_TERMINATED_CLIENT_ABORT = 5 | 1917 | MHD_REQUEST_TERMINATED_CLIENT_ABORT = 5 |
1899 | 1918 | ||
1900 | }; | 1919 | } _MHD_FIXED_ENUM; |
1901 | 1920 | ||
1902 | 1921 | ||
1903 | /** | 1922 | /** |
@@ -1920,7 +1939,7 @@ enum MHD_ConnectionNotificationCode | |||
1920 | */ | 1939 | */ |
1921 | MHD_CONNECTION_NOTIFY_CLOSED = 1 | 1940 | MHD_CONNECTION_NOTIFY_CLOSED = 1 |
1922 | 1941 | ||
1923 | }; | 1942 | } _MHD_FIXED_ENUM; |
1924 | 1943 | ||
1925 | 1944 | ||
1926 | /** | 1945 | /** |
@@ -2093,7 +2112,7 @@ enum MHD_ConnectionInfoType | |||
2093 | * @ingroup request | 2112 | * @ingroup request |
2094 | */ | 2113 | */ |
2095 | MHD_CONNECTION_INFO_REQUEST_HEADER_SIZE | 2114 | MHD_CONNECTION_INFO_REQUEST_HEADER_SIZE |
2096 | }; | 2115 | } _MHD_FIXED_ENUM; |
2097 | 2116 | ||
2098 | 2117 | ||
2099 | /** | 2118 | /** |
@@ -2156,7 +2175,7 @@ enum MHD_DaemonInfoType | |||
2156 | * value will be real port number. | 2175 | * value will be real port number. |
2157 | */ | 2176 | */ |
2158 | MHD_DAEMON_INFO_BIND_PORT | 2177 | MHD_DAEMON_INFO_BIND_PORT |
2159 | }; | 2178 | } _MHD_FIXED_ENUM; |
2160 | 2179 | ||
2161 | 2180 | ||
2162 | /** | 2181 | /** |
@@ -3096,7 +3115,7 @@ enum MHD_ResponseFlags | |||
3096 | MHD_RF_INSANITY_HEADER_CONTENT_LENGTH = 4 | 3115 | MHD_RF_INSANITY_HEADER_CONTENT_LENGTH = 4 |
3097 | 3116 | ||
3098 | 3117 | ||
3099 | }; | 3118 | } _MHD_FIXED_FLAGS_ENUM; |
3100 | 3119 | ||
3101 | 3120 | ||
3102 | /** | 3121 | /** |
@@ -3108,7 +3127,7 @@ enum MHD_ResponseOptions | |||
3108 | * End of the list of options. | 3127 | * End of the list of options. |
3109 | */ | 3128 | */ |
3110 | MHD_RO_END = 0 | 3129 | MHD_RO_END = 0 |
3111 | }; | 3130 | } _MHD_FIXED_ENUM; |
3112 | 3131 | ||
3113 | 3132 | ||
3114 | /** | 3133 | /** |
@@ -3204,7 +3223,7 @@ enum MHD_ResponseMemoryMode | |||
3204 | */ | 3223 | */ |
3205 | MHD_RESPMEM_MUST_COPY | 3224 | MHD_RESPMEM_MUST_COPY |
3206 | 3225 | ||
3207 | }; | 3226 | } _MHD_FIXED_ENUM; |
3208 | 3227 | ||
3209 | 3228 | ||
3210 | /** | 3229 | /** |
@@ -3476,7 +3495,7 @@ enum MHD_UpgradeAction | |||
3476 | */ | 3495 | */ |
3477 | MHD_UPGRADE_ACTION_CORK_OFF = 2 | 3496 | MHD_UPGRADE_ACTION_CORK_OFF = 2 |
3478 | 3497 | ||
3479 | }; | 3498 | } _MHD_FIXED_ENUM; |
3480 | 3499 | ||
3481 | 3500 | ||
3482 | /** | 3501 | /** |
@@ -3830,7 +3849,7 @@ enum MHD_DigestAuthAlgorithm | |||
3830 | */ | 3849 | */ |
3831 | MHD_DIGEST_ALG_SHA256 | 3850 | MHD_DIGEST_ALG_SHA256 |
3832 | 3851 | ||
3833 | }; | 3852 | } _MHD_FIXED_ENUM; |
3834 | 3853 | ||
3835 | 3854 | ||
3836 | /** | 3855 | /** |
@@ -4054,7 +4073,7 @@ enum MHD_CONNECTION_OPTION | |||
4054 | */ | 4073 | */ |
4055 | MHD_CONNECTION_OPTION_TIMEOUT | 4074 | MHD_CONNECTION_OPTION_TIMEOUT |
4056 | 4075 | ||
4057 | }; | 4076 | } _MHD_FIXED_ENUM; |
4058 | 4077 | ||
4059 | 4078 | ||
4060 | /** | 4079 | /** |
@@ -4317,7 +4336,7 @@ enum MHD_FEATURE | |||
4317 | * supported. | 4336 | * supported. |
4318 | */ | 4337 | */ |
4319 | MHD_FEATURE_HTTPS_CERT_CALLBACK2 = 23 | 4338 | MHD_FEATURE_HTTPS_CERT_CALLBACK2 = 23 |
4320 | }; | 4339 | } _MHD_FIXED_ENUM; |
4321 | 4340 | ||
4322 | 4341 | ||
4323 | /** | 4342 | /** |
@@ -4335,10 +4354,10 @@ _MHD_EXTERN enum MHD_Result | |||
4335 | MHD_is_feature_supported (enum MHD_FEATURE feature); | 4354 | MHD_is_feature_supported (enum MHD_FEATURE feature); |
4336 | 4355 | ||
4337 | 4356 | ||
4357 | #ifdef __cplusplus | ||
4338 | #if 0 /* keep Emacsens' auto-indent happy */ | 4358 | #if 0 /* keep Emacsens' auto-indent happy */ |
4339 | { | 4359 | { |
4340 | #endif | 4360 | #endif |
4341 | #ifdef __cplusplus | ||
4342 | } | 4361 | } |
4343 | #endif | 4362 | #endif |
4344 | 4363 | ||
diff --git a/src/microhttpd/daemon.c b/src/microhttpd/daemon.c index d6042356..26940bf9 100644 --- a/src/microhttpd/daemon.c +++ b/src/microhttpd/daemon.c | |||
@@ -6455,7 +6455,7 @@ MHD_start_daemon_va (unsigned int flags, | |||
6455 | *pflags |= MHD_USE_INTERNAL_POLLING_THREAD; | 6455 | *pflags |= MHD_USE_INTERNAL_POLLING_THREAD; |
6456 | } | 6456 | } |
6457 | if (0 == (*pflags & MHD_USE_INTERNAL_POLLING_THREAD)) | 6457 | if (0 == (*pflags & MHD_USE_INTERNAL_POLLING_THREAD)) |
6458 | *pflags &= ~MHD_USE_ITC; /* useless if we are using 'external' select */ | 6458 | *pflags = (*pflags & ~MHD_USE_ITC); /* useless if we are using 'external' select */ |
6459 | else | 6459 | else |
6460 | { | 6460 | { |
6461 | #ifdef HAVE_LISTEN_SHUTDOWN | 6461 | #ifdef HAVE_LISTEN_SHUTDOWN |
diff --git a/src/microhttpd/internal.h b/src/microhttpd/internal.h index 2338c0ee..5821011b 100644 --- a/src/microhttpd/internal.h +++ b/src/microhttpd/internal.h | |||
@@ -177,7 +177,7 @@ enum MHD_tristate | |||
177 | _MHD_NO = false, /**< State is "off" / "disabled" */ | 177 | _MHD_NO = false, /**< State is "off" / "disabled" */ |
178 | _MHD_ON = true, /**< State is "on" / "enabled" */ | 178 | _MHD_ON = true, /**< State is "on" / "enabled" */ |
179 | _MHD_YES = true /**< State is "on" / "enabled" */ | 179 | _MHD_YES = true /**< State is "on" / "enabled" */ |
180 | }; | 180 | } _MHD_FIXED_ENUM; |
181 | 181 | ||
182 | 182 | ||
183 | /** | 183 | /** |
@@ -223,7 +223,7 @@ enum MHD_EpollState | |||
223 | * Is this connection in some error state? | 223 | * Is this connection in some error state? |
224 | */ | 224 | */ |
225 | MHD_EPOLL_STATE_ERROR = 128 | 225 | MHD_EPOLL_STATE_ERROR = 128 |
226 | }; | 226 | } _MHD_FIXED_FLAGS_ENUM; |
227 | 227 | ||
228 | 228 | ||
229 | /** | 229 | /** |
@@ -250,7 +250,7 @@ enum MHD_ConnectionEventLoopInfo | |||
250 | * We are finished and are awaiting cleanup. | 250 | * We are finished and are awaiting cleanup. |
251 | */ | 251 | */ |
252 | MHD_EVENT_LOOP_INFO_CLEANUP = 3 | 252 | MHD_EVENT_LOOP_INFO_CLEANUP = 3 |
253 | }; | 253 | } _MHD_FIXED_ENUM; |
254 | 254 | ||
255 | 255 | ||
256 | /** | 256 | /** |
@@ -657,7 +657,7 @@ enum MHD_CONNECTION_STATE | |||
657 | MHD_CONNECTION_UPGRADE | 657 | MHD_CONNECTION_UPGRADE |
658 | #endif /* UPGRADE_SUPPORT */ | 658 | #endif /* UPGRADE_SUPPORT */ |
659 | 659 | ||
660 | }; | 660 | } _MHD_FIXED_ENUM; |
661 | 661 | ||
662 | 662 | ||
663 | /** | 663 | /** |
@@ -675,7 +675,7 @@ enum MHD_TLS_CONN_STATE | |||
675 | MHD_TLS_CONN_TLS_CLOSED, /**< TLS session is terminated. */ | 675 | MHD_TLS_CONN_TLS_CLOSED, /**< TLS session is terminated. */ |
676 | MHD_TLS_CONN_TLS_FAILED, /**< TLS session failed. */ | 676 | MHD_TLS_CONN_TLS_FAILED, /**< TLS session failed. */ |
677 | MHD_TLS_CONN_INVALID_STATE/**< Sentinel. Not a valid value. */ | 677 | MHD_TLS_CONN_INVALID_STATE/**< Sentinel. Not a valid value. */ |
678 | }; | 678 | } _MHD_FIXED_ENUM; |
679 | 679 | ||
680 | /** | 680 | /** |
681 | * Should all state transitions be printed to stderr? | 681 | * Should all state transitions be printed to stderr? |
@@ -738,7 +738,7 @@ enum MHD_ConnKeepAlive | |||
738 | * Connection can be used for serving next request | 738 | * Connection can be used for serving next request |
739 | */ | 739 | */ |
740 | MHD_CONN_USE_KEEPALIVE = 1 | 740 | MHD_CONN_USE_KEEPALIVE = 1 |
741 | }; | 741 | } _MHD_FIXED_ENUM; |
742 | 742 | ||
743 | enum MHD_HTTP_Version | 743 | enum MHD_HTTP_Version |
744 | { | 744 | { |
@@ -776,7 +776,7 @@ enum MHD_HTTP_Version | |||
776 | * HTTP future version. Unsupported. | 776 | * HTTP future version. Unsupported. |
777 | */ | 777 | */ |
778 | MHD_HTTP_VER_FUTURE = 100 | 778 | MHD_HTTP_VER_FUTURE = 100 |
779 | }; | 779 | } _MHD_FIXED_ENUM; |
780 | 780 | ||
781 | /** | 781 | /** |
782 | * Returns boolean 'true' if HTTP version is supported by MHD | 782 | * Returns boolean 'true' if HTTP version is supported by MHD |
@@ -840,7 +840,7 @@ enum MHD_HTTP_Method | |||
840 | * Other HTTP method. Check the string value. | 840 | * Other HTTP method. Check the string value. |
841 | */ | 841 | */ |
842 | MHD_HTTP_MTHD_OTHER = 1000 | 842 | MHD_HTTP_MTHD_OTHER = 1000 |
843 | }; | 843 | } _MHD_FIXED_ENUM; |
844 | 844 | ||
845 | /** | 845 | /** |
846 | * State kept for each HTTP request. | 846 | * State kept for each HTTP request. |