1 /**************************************************************************/ 2 /* */ 3 /* Copyright (c) Microsoft Corporation. All rights reserved. */ 4 /* */ 5 /* This software is licensed under the Microsoft Software License */ 6 /* Terms for Microsoft Azure RTOS. Full text of the license can be */ 7 /* found in the LICENSE file at https://aka.ms/AzureRTOS_EULA */ 8 /* and in the root directory of this software. */ 9 /* */ 10 /**************************************************************************/ 11 12 13 /**************************************************************************/ 14 /**************************************************************************/ 15 /** */ 16 /** NetX Web Component */ 17 /** */ 18 /** Hypertext Transfer Protocol (HTTP) */ 19 /** Hypertext Transfer Protocol Secure (HTTPS using TLS) */ 20 /** */ 21 /**************************************************************************/ 22 /**************************************************************************/ 23 24 25 /**************************************************************************/ 26 /* */ 27 /* APPLICATION INTERFACE DEFINITION RELEASE */ 28 /* */ 29 /* nx_web_http_client.h PORTABLE C */ 30 /* 6.1.6 */ 31 /* AUTHOR */ 32 /* */ 33 /* Yuxin Zhou, Microsoft Corporation */ 34 /* */ 35 /* DESCRIPTION */ 36 /* */ 37 /* This file defines the NetX Web Hypertext Transfer Protocol (HTTP) */ 38 /* component, including all data types and external references. */ 39 /* It is assumed that nx_api.h and nx_port.h have already been */ 40 /* included, along with fx_api.h and fx_port.h. */ 41 /* */ 42 /* RELEASE HISTORY */ 43 /* */ 44 /* DATE NAME DESCRIPTION */ 45 /* */ 46 /* 05-19-2020 Yuxin Zhou Initial Version 6.0 */ 47 /* 09-30-2020 Yuxin Zhou Modified comment(s), */ 48 /* resulting in version 6.1 */ 49 /* 04-02-2021 Yuxin Zhou Modified comment(s), and */ 50 /* improved the logic of */ 51 /* parsing base64, */ 52 /* resulting in version 6.1.6 */ 53 /* */ 54 /**************************************************************************/ 55 56 #ifndef NX_WEB_HTTP_CLIENT_H 57 #define NX_WEB_HTTP_CLIENT_H 58 59 /* Determine if a C++ compiler is being used. If so, ensure that standard 60 C is used to process the API information. */ 61 62 63 #ifdef __cplusplus 64 65 /* Yes, C++ compiler is present. Use standard C. */ 66 extern "C" { 67 68 #endif 69 70 #include "nx_api.h" 71 72 /* Include common HTTP definitions. */ 73 #include "nx_web_http_common.h" 74 75 /* Define the HTTP ID. */ 76 #define NX_WEB_HTTP_CLIENT_ID 0x48545450UL 77 78 #ifndef NX_WEB_HTTP_CLIENT_TIMEOUT 79 #define NX_WEB_HTTP_CLIENT_TIMEOUT (10 * NX_IP_PERIODIC_RATE) 80 #endif 81 82 #ifndef NX_WEB_HTTP_CLIENT_MIN_PACKET_SIZE 83 #define NX_WEB_HTTP_CLIENT_MIN_PACKET_SIZE 600 84 #endif 85 86 /* Define HTTP Client states. */ 87 88 #define NX_WEB_HTTP_CLIENT_STATE_READY 1 89 #define NX_WEB_HTTP_CLIENT_STATE_GET 2 90 #define NX_WEB_HTTP_CLIENT_STATE_PUT 3 91 #define NX_WEB_HTTP_CLIENT_STATE_POST 4 92 #define NX_WEB_HTTP_CLIENT_STATE_HEAD 5 93 #define NX_WEB_HTTP_CLIENT_STATE_DELETE 6 94 95 #ifdef NX_WEB_HTTP_DIGEST_ENABLE 96 97 /* Include the MD5 digest header file. */ 98 99 #include "nx_md5.h" 100 101 #endif 102 103 104 #ifdef NX_WEB_HTTPS_ENABLE 105 #include "nx_secure_tls_api.h" 106 #endif 107 108 /* Define the */ 109 typedef struct NX_WEB_HTTP_CLIENT_STATUS_MAP_STRUCT 110 { 111 CHAR *nx_web_http_client_status_string; /* String of status */ 112 UINT nx_web_http_client_status_code; /* Status code */ 113 } NX_WEB_HTTP_CLIENT_STATUS_MAP; 114 115 /* Define the HTTP Client data structure. */ 116 117 typedef struct NX_WEB_HTTP_CLIENT_STRUCT 118 { 119 ULONG nx_web_http_client_id; /* HTTP Server ID */ 120 CHAR *nx_web_http_client_name; /* Name of this HTTP Client */ 121 UINT nx_web_http_client_state; /* Current state of HTTP Client */ 122 UINT nx_web_http_client_connect_port; /* Client port to connect to the server */ 123 NX_IP *nx_web_http_client_ip_ptr; /* Pointer to associated IP structure */ 124 NX_PACKET_POOL *nx_web_http_client_packet_pool_ptr; /* Pointer to HTTP Client packet pool */ 125 ULONG nx_web_http_client_total_transfer_bytes; /* Total number of bytes to transfer */ 126 ULONG nx_web_http_client_actual_bytes_transferred; /* Number of bytes actually transferred */ 127 ULONG nx_web_http_client_total_receive_bytes; /* Total number of bytes to receive */ 128 ULONG nx_web_http_client_actual_bytes_received; /* Number of bytes actually received */ 129 NX_TCP_SOCKET nx_web_http_client_socket; /* HTTP Client TCP socket */ 130 NXD_ADDRESS nx_web_http_client_server_address; /* IP address of remote server */ 131 NX_PACKET *nx_web_http_client_request_packet_ptr; /* Pointer to current request packet */ 132 UINT nx_web_http_client_method; /* Current method (e.g. GET, PUT) */ 133 #ifndef NX_WEB_HTTP_KEEPALIVE_DISABLE 134 UCHAR nx_web_http_client_keep_alive; /* Flag of keep alive */ 135 #else 136 UCHAR nx_web_http_client_reserved; /* Reserved */ 137 #endif /* NX_WEB_HTTP_KEEPALIVE_DISABLE */ 138 UCHAR nx_web_http_client_response_header_received; /* Flag of response header received */ 139 UCHAR nx_web_http_client_request_chunked; /* Flag for chunked request */ 140 UCHAR nx_web_http_client_response_chunked; /* Flag for chunked response */ 141 UINT nx_web_http_client_chunked_response_remaining_size; /* Remaining size of the response */ 142 NX_PACKET *nx_web_http_client_response_packet; /* Pointer to the received response */ 143 /* Pointer to application callback invoked for each field in the response header. */ 144 VOID (*nx_web_http_client_response_callback)(struct NX_WEB_HTTP_CLIENT_STRUCT *client_ptr, 145 CHAR *field_name, UINT field_name_length, 146 CHAR *field_value, UINT field_value_length); 147 #ifdef NX_WEB_HTTPS_ENABLE 148 UINT nx_web_http_client_is_https; /* If using TLS for HTTPS, set to true. */ 149 NX_SECURE_TLS_SESSION nx_web_http_client_tls_session; /* TLS session for HTTPS. */ 150 #endif 151 #ifdef NX_WEB_HTTP_DIGEST_ENABLE 152 NX_MD5 nx_web_http_client_md5data; /* HTTP Client MD5 work area */ 153 #endif 154 } NX_WEB_HTTP_CLIENT; 155 156 157 158 #ifndef NX_WEB_HTTP_CLIENT_SOURCE_CODE 159 160 /* Application caller is present, perform API mapping. */ 161 162 /* Determine if error checking is desired. If so, map API functions 163 to the appropriate error checking front-ends. Otherwise, map API 164 functions to the core functions that actually perform the work. 165 Note: error checking is enabled by default. */ 166 167 #ifdef NX_DISABLE_ERROR_CHECKING 168 169 /* Services without error checking. */ 170 171 #define nx_web_http_client_create _nx_web_http_client_create 172 #define nx_web_http_client_delete _nx_web_http_client_delete 173 #define nx_web_http_client_get_start _nx_web_http_client_get_start 174 #define nx_web_http_client_get_start_extended _nx_web_http_client_get_start_extended 175 #define nx_web_http_client_put_start _nx_web_http_client_put_start 176 #define nx_web_http_client_put_start_extended _nx_web_http_client_put_start_extended 177 #define nx_web_http_client_post_start _nx_web_http_client_post_start 178 #define nx_web_http_client_post_start_extended _nx_web_http_client_post_start_extended 179 #define nx_web_http_client_head_start _nx_web_http_client_head_start 180 #define nx_web_http_client_head_start_extended _nx_web_http_client_head_start_extended 181 #define nx_web_http_client_delete_start _nx_web_http_client_delete_start 182 #define nx_web_http_client_delete_start_extended _nx_web_http_client_delete_start_extended 183 #define nx_web_http_client_get_secure_start _nx_web_http_client_get_secure_start 184 #define nx_web_http_client_get_secure_start_extended _nx_web_http_client_get_secure_start_extended 185 #define nx_web_http_client_put_secure_start _nx_web_http_client_put_secure_start 186 #define nx_web_http_client_put_secure_start_extended _nx_web_http_client_put_secure_start_extended 187 #define nx_web_http_client_post_secure_start _nx_web_http_client_post_secure_start 188 #define nx_web_http_client_post_secure_start_extended _nx_web_http_client_post_secure_start_extended 189 #define nx_web_http_client_head_secure_start _nx_web_http_client_head_secure_start 190 #define nx_web_http_client_head_secure_start_extended _nx_web_http_client_head_secure_start_extended 191 #define nx_web_http_client_delete_secure_start _nx_web_http_client_delete_secure_start 192 #define nx_web_http_client_delete_secure_start_extended _nx_web_http_client_delete_secure_start_extended 193 #define nx_web_http_client_response_body_get _nx_web_http_client_response_body_get 194 #define nx_web_http_client_put_packet _nx_web_http_client_put_packet 195 #define nx_web_http_client_response_header_callback_set _nx_web_http_client_response_header_callback_set 196 #define nx_web_http_client_request_initialize _nx_web_http_client_request_initialize 197 #define nx_web_http_client_request_initialize_extended _nx_web_http_client_request_initialize_extended 198 #define nx_web_http_client_request_send _nx_web_http_client_request_send 199 #define nx_web_http_client_request_header_add _nx_web_http_client_request_header_add 200 #define nx_web_http_client_connect _nx_web_http_client_connect 201 #define nx_web_http_client_secure_connect _nx_web_http_client_secure_connect 202 #define nx_web_http_client_request_packet_allocate _nx_web_http_client_request_packet_allocate 203 #define nx_web_http_client_request_packet_send _nx_web_http_client_request_packet_send 204 #define nx_web_http_client_request_chunked_set _nx_web_http_client_request_chunked_set 205 206 #else 207 208 /* Services with error checking. */ 209 210 #define nx_web_http_client_create(p,n,i,pp,w) _nxe_web_http_client_create(p,n,i,pp,w, sizeof(NX_WEB_HTTP_CLIENT)) 211 #define nx_web_http_client_delete _nxe_web_http_client_delete 212 #define nx_web_http_client_get_start _nxe_web_http_client_get_start 213 #define nx_web_http_client_get_start_extended _nxe_web_http_client_get_start_extended 214 #define nx_web_http_client_put_start _nxe_web_http_client_put_start 215 #define nx_web_http_client_put_start_extended _nxe_web_http_client_put_start_extended 216 #define nx_web_http_client_post_start _nxe_web_http_client_post_start 217 #define nx_web_http_client_post_start_extended _nx_web_http_client_post_start_extended 218 #define nx_web_http_client_head_start _nxe_web_http_client_head_start 219 #define nx_web_http_client_head_start_extended _nxe_web_http_client_head_start_extended 220 #define nx_web_http_client_delete_start _nxe_web_http_client_delete_start 221 #define nx_web_http_client_delete_start_extended _nxe_web_http_client_delete_start_extended 222 #define nx_web_http_client_get_secure_start _nxe_web_http_client_get_secure_start 223 #define nx_web_http_client_get_secure_start_extended _nxe_web_http_client_get_secure_start_extended 224 #define nx_web_http_client_put_secure_start _nxe_web_http_client_put_secure_start 225 #define nx_web_http_client_put_secure_start_extended _nxe_web_http_client_put_secure_start_extended 226 #define nx_web_http_client_post_secure_start _nxe_web_http_client_post_secure_start 227 #define nx_web_http_client_post_secure_start_extended _nxe_web_http_client_post_secure_start_extended 228 #define nx_web_http_client_head_secure_start _nxe_web_http_client_head_secure_start 229 #define nx_web_http_client_head_secure_start_extended _nxe_web_http_client_head_secure_start_extended 230 #define nx_web_http_client_delete_secure_start _nxe_web_http_client_delete_secure_start 231 #define nx_web_http_client_delete_secure_start_extended _nxe_web_http_client_delete_secure_start_extended 232 #define nx_web_http_client_response_body_get _nxe_web_http_client_response_body_get 233 #define nx_web_http_client_put_packet _nxe_web_http_client_put_packet 234 #define nx_web_http_client_response_header_callback_set _nxe_web_http_client_response_header_callback_set 235 #define nx_web_http_client_request_initialize _nxe_web_http_client_request_initialize 236 #define nx_web_http_client_request_initialize_extended _nxe_web_http_client_request_initialize_extended 237 #define nx_web_http_client_request_send _nxe_web_http_client_request_send 238 #define nx_web_http_client_request_header_add _nxe_web_http_client_request_header_add 239 #define nx_web_http_client_connect _nxe_web_http_client_connect 240 #define nx_web_http_client_secure_connect _nxe_web_http_client_secure_connect 241 #define nx_web_http_client_request_packet_allocate _nxe_web_http_client_request_packet_allocate 242 #define nx_web_http_client_request_packet_send _nxe_web_http_client_request_packet_send 243 #define nx_web_http_client_request_chunked_set _nxe_web_http_client_request_chunked_set 244 245 #endif /* NX_DISABLE_ERROR_CHECKING */ 246 247 /* Define the prototypes accessible to the application software. */ 248 249 250 #ifdef NX_DISABLE_ERROR_CHECKING 251 UINT _nx_web_http_client_create(NX_WEB_HTTP_CLIENT *client_ptr, CHAR *client_name, NX_IP *ip_ptr, NX_PACKET_POOL *pool_ptr, ULONG window_size); 252 #else 253 UINT _nxe_web_http_client_create(NX_WEB_HTTP_CLIENT *client_ptr, CHAR *client_name, NX_IP *ip_ptr, NX_PACKET_POOL *pool_ptr, ULONG window_size, UINT http_client_size); 254 #endif /* NX_DISABLE_ERROR_CHECKING */ 255 256 257 UINT nx_web_http_client_delete(NX_WEB_HTTP_CLIENT *client_ptr); 258 UINT nx_web_http_client_response_body_get(NX_WEB_HTTP_CLIENT *client_ptr, NX_PACKET **packet_ptr, ULONG wait_option); 259 UINT nx_web_http_client_put_packet(NX_WEB_HTTP_CLIENT *client_ptr, NX_PACKET *packet_ptr, ULONG wait_option); 260 UINT nx_web_http_client_get_start(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, CHAR *resource, CHAR *host, CHAR *username, CHAR *password, ULONG wait_option); 261 UINT nx_web_http_client_get_start_extended(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, CHAR *resource, UINT resource_length, CHAR *host, UINT host_length, 262 CHAR *username, UINT username_length, CHAR *password, UINT password_length, ULONG wait_option); 263 UINT nx_web_http_client_put_start(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, CHAR *resource, CHAR *host, CHAR *username, CHAR *password, ULONG total_bytes, ULONG wait_option); 264 UINT nx_web_http_client_put_start_extended(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, CHAR *resource, UINT resource_length, CHAR *host, UINT host_length, 265 CHAR *username, UINT username_length, CHAR *password, UINT password_length, ULONG total_bytes, ULONG wait_option); 266 UINT nx_web_http_client_post_start(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, CHAR *resource, CHAR *host, CHAR *username, CHAR *password, ULONG total_bytes, ULONG wait_option); 267 UINT nx_web_http_client_post_start_extended(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, CHAR *resource, UINT resource_length, CHAR *host, UINT host_length, 268 CHAR *username, UINT username_length, CHAR *password, UINT password_length, ULONG total_bytes, ULONG wait_option); 269 UINT nx_web_http_client_head_start(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, CHAR *resource, CHAR *host, CHAR *username, CHAR *password, ULONG wait_option); 270 UINT nx_web_http_client_head_start_extended(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, CHAR *resource, UINT resource_length, CHAR *host, UINT host_length, 271 CHAR *username, UINT username_length, CHAR *password, UINT password_length, ULONG wait_option); 272 UINT nx_web_http_client_delete_start(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, CHAR *resource, CHAR *host, CHAR *username, CHAR *password, ULONG wait_option); 273 UINT nx_web_http_client_delete_start_extended(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, CHAR *resource, UINT resource_length, CHAR *host, UINT host_length, 274 CHAR *username, UINT username_length, CHAR *password, UINT password_length, ULONG wait_option); 275 276 UINT nx_web_http_client_response_header_callback_set(NX_WEB_HTTP_CLIENT *client_ptr, 277 VOID (*callback_function)(NX_WEB_HTTP_CLIENT *client_ptr, 278 CHAR *field_name, 279 UINT field_name_length, 280 CHAR *field_value, 281 UINT field_value_length)); 282 283 UINT nx_web_http_client_connect(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, ULONG wait_option); 284 285 UINT nx_web_http_client_request_initialize(NX_WEB_HTTP_CLIENT *client_ptr, 286 UINT method, 287 CHAR *resource, 288 CHAR *host, 289 UINT input_size, 290 UINT transfer_encoding_chunked, 291 CHAR *username, 292 CHAR *password, 293 UINT wait_option); 294 295 UINT nx_web_http_client_request_initialize_extended(NX_WEB_HTTP_CLIENT *client_ptr, 296 UINT method, 297 CHAR *resource, 298 UINT resource_length, 299 CHAR *host, 300 UINT host_length, 301 UINT input_size, 302 UINT transfer_encoding_chunked, 303 CHAR *username, 304 UINT username_length, 305 CHAR *password, 306 UINT password_length, 307 UINT wait_option); 308 309 UINT nx_web_http_client_request_packet_allocate(NX_WEB_HTTP_CLIENT *client_ptr, NX_PACKET **packet_ptr, 310 UINT wait_option); 311 312 UINT nx_web_http_client_request_header_add(NX_WEB_HTTP_CLIENT *client_ptr, CHAR *field_name, UINT name_length, 313 CHAR *field_value, UINT value_length, UINT wait_option); 314 315 UINT nx_web_http_client_request_send(NX_WEB_HTTP_CLIENT *client_ptr, ULONG wait_option); 316 317 UINT nx_web_http_client_request_packet_send(NX_WEB_HTTP_CLIENT *client_ptr, NX_PACKET *packet_ptr, UINT more_data, ULONG wait_option); 318 319 UINT nx_web_http_client_request_chunked_set(NX_WEB_HTTP_CLIENT *client_ptr, UINT chunk_size, NX_PACKET *packet_ptr); 320 321 #ifdef NX_WEB_HTTPS_ENABLE 322 323 UINT nx_web_http_client_secure_connect(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, 324 UINT (*tls_setup)(NX_WEB_HTTP_CLIENT *client_ptr, NX_SECURE_TLS_SESSION *), 325 ULONG wait_option); 326 327 UINT nx_web_http_client_get_secure_start(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, CHAR *resource, 328 CHAR *host, CHAR *username, CHAR *password, 329 UINT (*tls_setup)(NX_WEB_HTTP_CLIENT *client_ptr, NX_SECURE_TLS_SESSION *), 330 ULONG wait_option); 331 UINT nx_web_http_client_get_secure_start_extended(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, 332 CHAR *resource, UINT resource_length, CHAR *host, UINT host_length, 333 CHAR *username, UINT username_length, CHAR *password, UINT password_length, 334 UINT (*tls_setup)(NX_WEB_HTTP_CLIENT *client_ptr, NX_SECURE_TLS_SESSION *), 335 ULONG wait_option); 336 UINT nx_web_http_client_put_secure_start(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, CHAR *resource, 337 CHAR *host, CHAR *username, CHAR *password, ULONG total_bytes, 338 UINT (*tls_setup)(NX_WEB_HTTP_CLIENT *client_ptr, NX_SECURE_TLS_SESSION *), 339 ULONG wait_option); 340 UINT nx_web_http_client_put_secure_start_extended(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, 341 CHAR *resource, UINT resource_length, CHAR *host, UINT host_length, 342 CHAR *username, UINT username_length, CHAR *password, UINT password_length, ULONG total_bytes, 343 UINT (*tls_setup)(NX_WEB_HTTP_CLIENT *client_ptr, NX_SECURE_TLS_SESSION *), 344 ULONG wait_option); 345 UINT nx_web_http_client_post_secure_start(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, CHAR *resource, 346 CHAR *host, CHAR *username, CHAR *password, ULONG total_bytes, 347 UINT (*tls_setup)(NX_WEB_HTTP_CLIENT *client_ptr, NX_SECURE_TLS_SESSION *), 348 ULONG wait_option); 349 UINT nx_web_http_client_post_secure_start_extended(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, 350 CHAR *resource, UINT resource_length, CHAR *host, UINT host_length, 351 CHAR *username, UINT username_length, CHAR *password, UINT password_length, ULONG total_bytes, 352 UINT (*tls_setup)(NX_WEB_HTTP_CLIENT *client_ptr, NX_SECURE_TLS_SESSION *), 353 ULONG wait_option); 354 UINT nx_web_http_client_head_secure_start(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, CHAR *resource, 355 CHAR *host, CHAR *username, CHAR *password, 356 UINT (*tls_setup)(NX_WEB_HTTP_CLIENT *client_ptr, NX_SECURE_TLS_SESSION *), 357 ULONG wait_option); 358 UINT nx_web_http_client_head_secure_start_extended(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, 359 CHAR *resource, UINT resource_length, CHAR *host, UINT host_length, 360 CHAR *username, UINT username_length, CHAR *password, UINT password_length, 361 UINT (*tls_setup)(NX_WEB_HTTP_CLIENT *client_ptr, NX_SECURE_TLS_SESSION *), 362 ULONG wait_option); 363 UINT nx_web_http_client_delete_secure_start(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, CHAR *resource, 364 CHAR *host, CHAR *username, CHAR *password, 365 UINT (*tls_setup)(NX_WEB_HTTP_CLIENT *client_ptr, NX_SECURE_TLS_SESSION *), 366 ULONG wait_option); 367 UINT nx_web_http_client_delete_secure_start_extended(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, 368 CHAR *resource, UINT resource_length, CHAR *host, UINT host_length, 369 CHAR *username, UINT username_length, CHAR *password, UINT password_length, 370 UINT (*tls_setup)(NX_WEB_HTTP_CLIENT *client_ptr, NX_SECURE_TLS_SESSION *), 371 ULONG wait_option); 372 373 #endif 374 #else 375 376 /* HTTP source code is being compiled, do not perform any API mapping. */ 377 378 UINT _nxe_web_http_client_create(NX_WEB_HTTP_CLIENT *client_ptr, CHAR *client_name, NX_IP *ip_ptr, NX_PACKET_POOL *pool_ptr, ULONG window_size, UINT http_client_size); 379 UINT _nx_web_http_client_create(NX_WEB_HTTP_CLIENT *client_ptr, CHAR *client_name, NX_IP *ip_ptr, NX_PACKET_POOL *pool_ptr, ULONG window_size); 380 UINT _nxe_web_http_client_delete(NX_WEB_HTTP_CLIENT *client_ptr); 381 UINT _nx_web_http_client_delete(NX_WEB_HTTP_CLIENT *client_ptr); 382 UINT _nxe_web_http_client_response_body_get(NX_WEB_HTTP_CLIENT *client_ptr, NX_PACKET **packet_ptr, ULONG wait_option); 383 UINT _nx_web_http_client_response_body_get(NX_WEB_HTTP_CLIENT *client_ptr, NX_PACKET **packet_ptr, ULONG wait_option); 384 UINT _nxe_web_http_client_put_packet(NX_WEB_HTTP_CLIENT *client_ptr, NX_PACKET *packet_ptr, ULONG wait_option); 385 UINT _nx_web_http_client_put_packet(NX_WEB_HTTP_CLIENT *client_ptr, NX_PACKET *packet_ptr, ULONG wait_option); 386 UINT _nxe_web_http_client_get_start(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, CHAR *resource, CHAR *host, CHAR *username, CHAR *password, ULONG wait_option); 387 UINT _nx_web_http_client_get_start(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, CHAR *resource, CHAR *host, CHAR *username, CHAR *password, ULONG wait_option); 388 UINT _nxe_web_http_client_get_start_extended(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, 389 UINT server_port, CHAR *resource, UINT resource_length, 390 CHAR *host, UINT host_length, CHAR *username, 391 UINT username_length, CHAR *password, 392 UINT password_length, ULONG wait_option); 393 UINT _nx_web_http_client_get_start_extended(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, 394 UINT server_port, CHAR *resource, UINT resource_length, 395 CHAR *host, UINT host_length, CHAR *username, 396 UINT username_length, CHAR *password, 397 UINT password_length, ULONG wait_option); 398 UINT _nxe_web_http_client_put_start(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, CHAR *resource, CHAR *host, CHAR *username, CHAR *password, ULONG total_bytes, ULONG wait_option); 399 UINT _nx_web_http_client_put_start(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, CHAR *resource, CHAR *host, CHAR *username, CHAR *password, ULONG total_bytes, ULONG wait_option); 400 UINT _nxe_web_http_client_put_start_extended(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, 401 UINT server_port, CHAR *resource, UINT resource_length, 402 CHAR *host, UINT host_length, CHAR *username, 403 UINT username_length, CHAR *password, 404 UINT password_length, ULONG total_bytes, 405 ULONG wait_option); 406 UINT _nx_web_http_client_put_start_extended(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, 407 UINT server_port, CHAR *resource, UINT resource_length, 408 CHAR *host, UINT host_length, CHAR *username, 409 UINT username_length, CHAR *password, 410 UINT password_length, ULONG total_bytes, 411 ULONG wait_option); 412 UINT _nxe_web_http_client_post_start(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, CHAR *resource, CHAR *host, CHAR *username, CHAR *password, ULONG total_bytes, ULONG wait_option); 413 UINT _nx_web_http_client_post_start(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, CHAR *resource, CHAR *host, CHAR *username, CHAR *password, ULONG total_bytes, ULONG wait_option); 414 UINT _nxe_web_http_client_post_start_extended(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, 415 UINT server_port, CHAR *resource, UINT resource_length, 416 CHAR *host, UINT host_length, CHAR *username, 417 UINT username_length, CHAR *password, 418 UINT password_length, ULONG total_bytes, 419 ULONG wait_option); 420 UINT _nx_web_http_client_post_start_extended(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, 421 UINT server_port, CHAR *resource, UINT resource_length, 422 CHAR *host, UINT host_length, CHAR *username, 423 UINT username_length, CHAR *password, 424 UINT password_length, ULONG total_bytes, 425 ULONG wait_option); 426 UINT _nxe_web_http_client_head_start(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, CHAR *resource, CHAR *host, CHAR *username, CHAR *password, ULONG wait_option); 427 UINT _nx_web_http_client_head_start(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, CHAR *resource, CHAR *host, CHAR *username, CHAR *password, ULONG wait_option); 428 UINT _nxe_web_http_client_head_start_extended(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, 429 UINT server_port, CHAR *resource, UINT resource_length, 430 CHAR *host, UINT host_length, CHAR *username, 431 UINT username_length, CHAR *password, 432 UINT password_length, ULONG wait_option); 433 UINT _nx_web_http_client_head_start_extended(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, 434 UINT server_port, CHAR *resource, UINT resource_length, 435 CHAR *host, UINT host_length, CHAR *username, 436 UINT username_length, CHAR *password, 437 UINT password_length, ULONG wait_option); 438 UINT _nxe_web_http_client_delete_start(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, CHAR *resource, CHAR *host, CHAR *username, CHAR *password, ULONG wait_option); 439 UINT _nx_web_http_client_delete_start(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, CHAR *resource, CHAR *host, CHAR *username, CHAR *password, ULONG wait_option); 440 UINT _nxe_web_http_client_delete_start_extended(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, 441 UINT server_port, CHAR *resource, UINT resource_length, 442 CHAR *host, UINT host_length, CHAR *username, 443 UINT username_length, CHAR *password, 444 UINT password_length, ULONG wait_option); 445 UINT _nx_web_http_client_delete_start_extended(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, 446 UINT server_port, CHAR *resource, UINT resource_length, 447 CHAR *host, UINT host_length, CHAR *username, 448 UINT username_length, CHAR *password, 449 UINT password_length, ULONG wait_option); 450 451 452 UINT _nxe_web_http_client_response_header_callback_set(NX_WEB_HTTP_CLIENT *client_ptr, 453 VOID (*callback_function)(NX_WEB_HTTP_CLIENT *client_ptr, 454 CHAR *field_name, 455 UINT field_name_length, 456 CHAR *field_value, 457 UINT field_value_length)); 458 UINT _nx_web_http_client_response_header_callback_set(NX_WEB_HTTP_CLIENT *client_ptr, 459 VOID (*callback_function)(NX_WEB_HTTP_CLIENT *client_ptr, 460 CHAR *field_name, 461 UINT field_name_length, 462 CHAR *field_value, 463 UINT field_value_length)); 464 UINT _nx_web_http_client_connect(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, ULONG wait_option); 465 UINT _nxe_web_http_client_connect(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, ULONG wait_option); 466 UINT _nx_web_http_client_request_initialize(NX_WEB_HTTP_CLIENT *client_ptr, 467 UINT method, 468 CHAR *resource, 469 CHAR *host, 470 UINT input_size, 471 UINT transfer_encoding_chunked, 472 CHAR *username, 473 CHAR *password, 474 UINT wait_option); 475 UINT _nxe_web_http_client_request_initialize(NX_WEB_HTTP_CLIENT *client_ptr, 476 UINT method, 477 CHAR *resource, 478 CHAR *host, 479 UINT input_size, 480 UINT transfer_encoding_chunked, 481 CHAR *username, 482 CHAR *password, 483 UINT wait_option); 484 UINT _nx_web_http_client_request_initialize_extended(NX_WEB_HTTP_CLIENT *client_ptr, 485 UINT method, 486 CHAR *resource, 487 UINT resource_length, 488 CHAR *host, 489 UINT host_length, 490 UINT input_size, 491 UINT transfer_encoding_chunked, 492 CHAR *username, 493 UINT username_length, 494 CHAR *password, 495 UINT password_length, 496 UINT wait_option); 497 UINT _nxe_web_http_client_request_initialize_extended(NX_WEB_HTTP_CLIENT *client_ptr, 498 UINT method, 499 CHAR *resource, 500 UINT resource_length, 501 CHAR *host, 502 UINT host_length, 503 UINT input_size, 504 UINT transfer_encoding_chunked, 505 CHAR *username, 506 UINT username_length, 507 CHAR *password, 508 UINT password_length, 509 UINT wait_option); 510 511 512 UINT _nx_web_http_client_request_send(NX_WEB_HTTP_CLIENT *client_ptr, ULONG wait_option); 513 UINT _nxe_web_http_client_request_send(NX_WEB_HTTP_CLIENT *client_ptr, ULONG wait_option); 514 UINT _nx_web_http_client_request_packet_allocate(NX_WEB_HTTP_CLIENT *client_ptr, NX_PACKET **packet_ptr, 515 UINT wait_option); 516 UINT _nxe_web_http_client_request_packet_allocate(NX_WEB_HTTP_CLIENT *client_ptr, NX_PACKET **packet_ptr, 517 UINT wait_option); 518 519 UINT _nx_web_http_client_request_header_add(NX_WEB_HTTP_CLIENT *client_ptr, CHAR *field_name, UINT name_length, 520 CHAR *field_value, UINT value_length, UINT wait_option); 521 UINT _nxe_web_http_client_request_header_add(NX_WEB_HTTP_CLIENT *client_ptr, CHAR *field_name, UINT name_length, 522 CHAR *field_value, UINT value_length, UINT wait_option); 523 524 UINT _nx_web_http_client_request_packet_send(NX_WEB_HTTP_CLIENT *client_ptr, NX_PACKET *packet_ptr, UINT more_data, ULONG wait_option); 525 UINT _nxe_web_http_client_request_packet_send(NX_WEB_HTTP_CLIENT *client_ptr, NX_PACKET *packet_ptr, UINT more_data, ULONG wait_option); 526 527 UINT _nx_web_http_client_request_chunked_set(NX_WEB_HTTP_CLIENT *client_ptr, UINT chunk_size, NX_PACKET *packet_ptr); 528 UINT _nxe_web_http_client_request_chunked_set(NX_WEB_HTTP_CLIENT *client_ptr, UINT chunk_size, NX_PACKET *packet_ptr); 529 530 #ifdef NX_WEB_HTTPS_ENABLE 531 UINT _nx_web_http_client_secure_connect(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, 532 UINT (*tls_setup)(NX_WEB_HTTP_CLIENT *client_ptr, NX_SECURE_TLS_SESSION *), 533 ULONG wait_option); 534 UINT _nxe_web_http_client_secure_connect(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, 535 UINT (*tls_setup)(NX_WEB_HTTP_CLIENT *client_ptr, NX_SECURE_TLS_SESSION *), 536 ULONG wait_option); 537 UINT _nxe_web_http_client_get_secure_start(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, CHAR *resource, 538 CHAR *host, CHAR *username, CHAR *password, 539 UINT (*tls_setup)(NX_WEB_HTTP_CLIENT *client_ptr, NX_SECURE_TLS_SESSION *), 540 ULONG wait_option); 541 UINT _nx_web_http_client_get_secure_start(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, CHAR *resource, 542 CHAR *host, CHAR *username, CHAR *password, 543 UINT (*tls_setup)(NX_WEB_HTTP_CLIENT *client_ptr, NX_SECURE_TLS_SESSION *), 544 ULONG wait_option); 545 UINT _nxe_web_http_client_get_secure_start_extended(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, 546 CHAR *resource, UINT resource_length, CHAR *host, UINT host_length, 547 CHAR *username, UINT username_length, CHAR *password, UINT password_length, 548 UINT (*tls_setup)(NX_WEB_HTTP_CLIENT *client_ptr, NX_SECURE_TLS_SESSION *), 549 ULONG wait_option); 550 UINT _nx_web_http_client_get_secure_start_extended(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, 551 CHAR *resource, UINT resource_length, CHAR *host, UINT host_length, 552 CHAR *username, UINT username_length, CHAR *password, UINT password_length, 553 UINT (*tls_setup)(NX_WEB_HTTP_CLIENT *client_ptr, NX_SECURE_TLS_SESSION *), 554 ULONG wait_option); 555 UINT _nxe_web_http_client_put_secure_start(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, CHAR *resource, 556 CHAR *host, CHAR *username, CHAR *password, ULONG total_bytes, 557 UINT (*tls_setup)(NX_WEB_HTTP_CLIENT *client_ptr, NX_SECURE_TLS_SESSION *), 558 ULONG wait_option); 559 UINT _nx_web_http_client_put_secure_start(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, CHAR *resource, 560 CHAR *host, CHAR *username, CHAR *password, ULONG total_bytes, 561 UINT (*tls_setup)(NX_WEB_HTTP_CLIENT *client_ptr, NX_SECURE_TLS_SESSION *), 562 ULONG wait_option); 563 UINT _nxe_web_http_client_put_secure_start_extended(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, 564 CHAR *resource, UINT resource_length, CHAR *host, UINT host_length, 565 CHAR *username, UINT username_length, CHAR *password, UINT password_length, ULONG total_bytes, 566 UINT (*tls_setup)(NX_WEB_HTTP_CLIENT *client_ptr, NX_SECURE_TLS_SESSION *), 567 ULONG wait_option); 568 UINT _nx_web_http_client_put_secure_start_extended(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, 569 CHAR *resource, UINT resource_length, CHAR *host, UINT host_length, 570 CHAR *username, UINT username_length, CHAR *password, UINT password_length, ULONG total_bytes, 571 UINT (*tls_setup)(NX_WEB_HTTP_CLIENT *client_ptr, NX_SECURE_TLS_SESSION *), 572 ULONG wait_option); 573 UINT _nxe_web_http_client_post_secure_start(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, CHAR *resource, 574 CHAR *host, CHAR *username, CHAR *password, ULONG total_bytes, 575 UINT (*tls_setup)(NX_WEB_HTTP_CLIENT *client_ptr, NX_SECURE_TLS_SESSION *), 576 ULONG wait_option); 577 UINT _nx_web_http_client_post_secure_start(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, CHAR *resource, 578 CHAR *host, CHAR *username, CHAR *password, ULONG total_bytes, 579 UINT (*tls_setup)(NX_WEB_HTTP_CLIENT *client_ptr, NX_SECURE_TLS_SESSION *), 580 ULONG wait_option); 581 UINT _nxe_web_http_client_post_secure_start_extended(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, 582 CHAR *resource, UINT resource_length, CHAR *host, UINT host_length, 583 CHAR *username, UINT username_length, CHAR *password, UINT password_length, ULONG total_bytes, 584 UINT (*tls_setup)(NX_WEB_HTTP_CLIENT *client_ptr, NX_SECURE_TLS_SESSION *), 585 ULONG wait_option); 586 UINT _nx_web_http_client_post_secure_start_extended(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, 587 CHAR *resource, UINT resource_length, CHAR *host, UINT host_length, 588 CHAR *username, UINT username_length, CHAR *password, UINT password_length, ULONG total_bytes, 589 UINT (*tls_setup)(NX_WEB_HTTP_CLIENT *client_ptr, NX_SECURE_TLS_SESSION *), 590 ULONG wait_option); 591 592 UINT _nxe_web_http_client_head_secure_start(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, CHAR *resource, 593 CHAR *host, CHAR *username, CHAR *password, 594 UINT (*tls_setup)(NX_WEB_HTTP_CLIENT *client_ptr, NX_SECURE_TLS_SESSION *), 595 ULONG wait_option); 596 UINT _nx_web_http_client_head_secure_start(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, CHAR *resource, 597 CHAR *host, CHAR *username, CHAR *password, 598 UINT (*tls_setup)(NX_WEB_HTTP_CLIENT *client_ptr, NX_SECURE_TLS_SESSION *), 599 ULONG wait_option); 600 UINT _nxe_web_http_client_head_secure_start_extended(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, 601 CHAR *resource, UINT resource_length, CHAR *host, UINT host_length, 602 CHAR *username, UINT username_length, CHAR *password, UINT password_length, 603 UINT (*tls_setup)(NX_WEB_HTTP_CLIENT *client_ptr, NX_SECURE_TLS_SESSION *), 604 ULONG wait_option); 605 UINT _nx_web_http_client_head_secure_start_extended(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, 606 CHAR *resource, UINT resource_length, CHAR *host, UINT host_length, 607 CHAR *username, UINT username_length, CHAR *password, UINT password_length, 608 UINT (*tls_setup)(NX_WEB_HTTP_CLIENT *client_ptr, NX_SECURE_TLS_SESSION *), 609 ULONG wait_option); 610 UINT _nxe_web_http_client_delete_secure_start(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, CHAR *resource, 611 CHAR *host, CHAR *username, CHAR *password, 612 UINT (*tls_setup)(NX_WEB_HTTP_CLIENT *client_ptr, NX_SECURE_TLS_SESSION *), 613 ULONG wait_option); 614 UINT _nx_web_http_client_delete_secure_start(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, CHAR *resource, 615 CHAR *host, CHAR *username, CHAR *password, 616 UINT (*tls_setup)(NX_WEB_HTTP_CLIENT *client_ptr, NX_SECURE_TLS_SESSION *), 617 ULONG wait_option); 618 UINT _nxe_web_http_client_delete_secure_start_extended(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, 619 CHAR *resource, UINT resource_length, CHAR *host, UINT host_length, 620 CHAR *username, UINT username_length, CHAR *password, UINT password_length, 621 UINT (*tls_setup)(NX_WEB_HTTP_CLIENT *client_ptr, NX_SECURE_TLS_SESSION *), 622 ULONG wait_option); 623 UINT _nx_web_http_client_delete_secure_start_extended(NX_WEB_HTTP_CLIENT *client_ptr, NXD_ADDRESS *server_ip, UINT server_port, 624 CHAR *resource, UINT resource_length, CHAR *host, UINT host_length, 625 CHAR *username, UINT username_length, CHAR *password, UINT password_length, 626 UINT (*tls_setup)(NX_WEB_HTTP_CLIENT *client_ptr, NX_SECURE_TLS_SESSION *), 627 ULONG wait_option); 628 629 630 631 #endif 632 633 /* Define internal HTTP functions. */ 634 635 UINT _nx_web_http_client_type_get(CHAR *name, CHAR *http_type_string); 636 UINT _nx_web_http_client_content_length_get(NX_WEB_HTTP_CLIENT *client_ptr, NX_PACKET *packet_ptr); 637 UINT _nx_web_http_client_process_header_fields(NX_WEB_HTTP_CLIENT *client_ptr, NX_PACKET *packet_ptr); 638 UINT _nx_web_http_client_number_convert(UINT number, CHAR *string); 639 UINT _nx_web_http_client_content_type_header_add(NX_WEB_HTTP_CLIENT *client_ptr, CHAR *resource, ULONG wait_option); 640 UINT _nx_web_http_client_content_length_header_add(NX_WEB_HTTP_CLIENT *client_ptr, ULONG total_bytes, ULONG wait_option); 641 VOID _nx_web_http_client_error_exit(NX_WEB_HTTP_CLIENT *client_ptr, UINT wait_option); 642 UINT _nx_web_http_client_receive(NX_WEB_HTTP_CLIENT *client_ptr, NX_PACKET **packet_ptr, ULONG wait_option); 643 UINT _nx_web_http_client_send(NX_WEB_HTTP_CLIENT *client_ptr, NX_PACKET *packet_ptr, ULONG wait_option); 644 UINT _nx_web_http_client_get_server_response(NX_WEB_HTTP_CLIENT *client_ptr, NX_PACKET **packet_ptr, ULONG wait_option); 645 VOID _nx_web_http_client_cleanup(NX_WEB_HTTP_CLIENT *client_ptr); 646 UINT _nx_web_http_client_memicmp(UCHAR *src, ULONG src_length, UCHAR *dest, ULONG dest_length); 647 UINT _nx_web_http_client_response_read(NX_WEB_HTTP_CLIENT *client_ptr, UCHAR *data, ULONG wait_option, NX_PACKET **current_packet_pptr, UCHAR **current_data_pptr); 648 UINT _nx_web_http_client_response_byte_expect(NX_WEB_HTTP_CLIENT *client_ptr, UCHAR data, ULONG wait_option, NX_PACKET **current_packet_pptr, UCHAR **current_data_pptr); 649 UINT _nx_web_http_client_chunked_size_get(NX_WEB_HTTP_CLIENT *client_ptr, UINT *chunk_size, ULONG wait_option, NX_PACKET **current_packet_pptr, UCHAR **current_data_pptr); 650 UINT _nx_web_http_client_response_chunked_get(NX_WEB_HTTP_CLIENT *client_ptr, NX_PACKET **packet_pptr, ULONG wait_option); 651 652 #endif /* NX_WEB_HTTP_CLIENT_SOURCE_CODE */ 653 654 /* Determine if a C++ compiler is being used. If so, complete the standard 655 C conditional started above. */ 656 #ifdef __cplusplus 657 } 658 #endif 659 660 #endif /* NX_WEB_HTTP_CLIENT_H */ 661