mirror of
https://github.com/azure-rtos/netx.git
synced 2023-08-10 07:57:54 +08:00
Release 6.1.9
This commit is contained in:
parent
ddfb7fc423
commit
acbab7219b
@ -26,7 +26,7 @@
|
||||
/* APPLICATION INTERFACE DEFINITION RELEASE */
|
||||
/* */
|
||||
/* nx_auto_ip.h PORTABLE C */
|
||||
/* 6.1 */
|
||||
/* 6.1.9 */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
/* Yuxin Zhou, Microsoft Corporation */
|
||||
@ -44,6 +44,9 @@
|
||||
/* 05-19-2020 Yuxin Zhou Initial Version 6.0 */
|
||||
/* 09-30-2020 Yuxin Zhou Modified comment(s), */
|
||||
/* resulting in version 6.1 */
|
||||
/* 10-15-2021 Yuxin Zhou Modified comment(s), included */
|
||||
/* necessary header file, */
|
||||
/* resulting in version 6.1.9 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@ -60,6 +63,8 @@ extern "C" {
|
||||
|
||||
#endif
|
||||
|
||||
#include "nx_api.h"
|
||||
|
||||
|
||||
/* Define the AutoIP ID that is used to mark the AutoIP structure as created. */
|
||||
|
||||
|
@ -26,7 +26,7 @@
|
||||
/* APPLICATION INTERFACE DEFINITION RELEASE */
|
||||
/* */
|
||||
/* nx_dhcp_server.h PORTABLE C */
|
||||
/* 6.1 */
|
||||
/* 6.1.9 */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
/* Yuxin Zhou, Microsoft Corporation */
|
||||
@ -49,6 +49,9 @@
|
||||
/* improved buffer length */
|
||||
/* verification, */
|
||||
/* resulting in version 6.1 */
|
||||
/* 10-15-2021 Yuxin Zhou Modified comment(s), included */
|
||||
/* necessary header file, */
|
||||
/* resulting in version 6.1.9 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@ -65,6 +68,7 @@ extern "C" {
|
||||
|
||||
#endif
|
||||
|
||||
#include "nx_api.h"
|
||||
|
||||
/* Define the DHCP Server ID that is used to mark the DHCP Server structure as created. */
|
||||
|
||||
|
@ -9101,7 +9101,7 @@ ALIGN_TYPE *head;
|
||||
/* FUNCTION RELEASE */
|
||||
/* */
|
||||
/* _nx_dns_cache_delete_rr_string PORTABLE C */
|
||||
/* 6.1 */
|
||||
/* 6.1.9 */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
/* Yuxin Zhou, Microsoft Corporation */
|
||||
@ -9130,13 +9130,18 @@ ALIGN_TYPE *head;
|
||||
/* 05-19-2020 Yuxin Zhou Initial Version 6.0 */
|
||||
/* 09-30-2020 Yuxin Zhou Modified comment(s), */
|
||||
/* resulting in version 6.1 */
|
||||
/* 10-15-2021 Yuxin Zhou Modified comment(s), */
|
||||
/* fixed compiler warnings, */
|
||||
/* resulting in version 6.1.9 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
static UINT _nx_dns_cache_delete_rr_string(NX_DNS *dns_ptr, VOID *cache_ptr, UINT cache_size, NX_DNS_RR *record_ptr)
|
||||
{
|
||||
|
||||
#ifdef NX_DNS_ENABLE_EXTENDED_RR_TYPES
|
||||
UINT string_len;
|
||||
UINT size;
|
||||
#endif /* NX_DNS_ENABLE_EXTENDED_RR_TYPES */
|
||||
|
||||
|
||||
/* Check the cache. */
|
||||
|
@ -26,7 +26,7 @@
|
||||
/* APPLICATION INTERFACE DEFINITION RELEASE */
|
||||
/* */
|
||||
/* nx_ftp_client.h PORTABLE C */
|
||||
/* 6.1 */
|
||||
/* 6.1.9 */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
/* Yuxin Zhou, Microsoft Corporation */
|
||||
@ -45,6 +45,9 @@
|
||||
/* 05-19-2020 Yuxin Zhou Initial Version 6.0 */
|
||||
/* 09-30-2020 Yuxin Zhou Modified comment(s), */
|
||||
/* resulting in version 6.1 */
|
||||
/* 10-15-2021 Yuxin Zhou Modified comment(s), included */
|
||||
/* necessary header file, */
|
||||
/* resulting in version 6.1.9 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@ -61,6 +64,8 @@ extern "C" {
|
||||
|
||||
#endif
|
||||
|
||||
#include "nx_api.h"
|
||||
|
||||
|
||||
/* Define the FTP Client ID. */
|
||||
|
||||
|
@ -492,7 +492,7 @@ UINT status;
|
||||
/* FUNCTION RELEASE */
|
||||
/* */
|
||||
/* _nx_ftp_server_delete PORTABLE C */
|
||||
/* 6.1 */
|
||||
/* 6.1.9 */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
/* Yuxin Zhou, Microsoft Corporation */
|
||||
@ -514,7 +514,6 @@ UINT status;
|
||||
/* CALLS */
|
||||
/* */
|
||||
/* fx_file_close Close file */
|
||||
/* nx_tcp_client_socket_unbind Unbind client socket */
|
||||
/* nx_tcp_server_socket_unaccept Unaccept server socket */
|
||||
/* nx_tcp_server_socket_unlisten Unlisten on server */
|
||||
/* nx_tcp_socket_delete Delete socket */
|
||||
@ -525,6 +524,7 @@ UINT status;
|
||||
/* tx_thread_terminate Terminate thread */
|
||||
/* tx_timer_deactivate Deactivate timer */
|
||||
/* tx_timer_delete Delete timer */
|
||||
/* _nx_ftp_server_data_socket_cleanup Clean up data socket */
|
||||
/* */
|
||||
/* CALLED BY */
|
||||
/* */
|
||||
@ -537,6 +537,10 @@ UINT status;
|
||||
/* 05-19-2020 Yuxin Zhou Initial Version 6.0 */
|
||||
/* 09-30-2020 Yuxin Zhou Modified comment(s), */
|
||||
/* resulting in version 6.1 */
|
||||
/* 10-15-2021 Yuxin Zhou Modified comment(s), */
|
||||
/* fixed the issue of clearing */
|
||||
/* data socket, */
|
||||
/* resulting in version 6.1.9 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
UINT _nx_ftp_server_delete(NX_FTP_SERVER *ftp_server_ptr)
|
||||
@ -576,29 +580,9 @@ NX_FTP_CLIENT_REQUEST *client_request_ptr;
|
||||
if (client_request_ptr -> nx_ftp_client_request_data_socket.nx_tcp_socket_id)
|
||||
{
|
||||
|
||||
/* Disconnect data socket. */
|
||||
nx_tcp_socket_disconnect(&(client_request_ptr -> nx_ftp_client_request_data_socket), NX_NO_WAIT);
|
||||
|
||||
/* Unbind/unaccept the data socket. */
|
||||
if (client_request_ptr -> nx_ftp_client_request_passive_transfer_enabled == NX_TRUE)
|
||||
{
|
||||
nx_tcp_server_socket_unaccept(&(client_request_ptr -> nx_ftp_client_request_data_socket));
|
||||
nx_tcp_server_socket_unlisten(ftp_server_ptr -> nx_ftp_server_ip_ptr, client_request_ptr -> nx_ftp_client_request_data_socket.nx_tcp_socket_port);
|
||||
/* Clean up the data socket. */
|
||||
_nx_ftp_server_data_socket_cleanup(ftp_server_ptr, client_request_ptr);
|
||||
}
|
||||
else
|
||||
{
|
||||
nx_tcp_client_socket_unbind(&(client_request_ptr -> nx_ftp_client_request_data_socket));
|
||||
}
|
||||
|
||||
/* Delete data socket. */
|
||||
nx_tcp_socket_delete(&(client_request_ptr -> nx_ftp_client_request_data_socket));
|
||||
|
||||
/* Close file. */
|
||||
fx_file_close(&(client_request_ptr -> nx_ftp_client_request_file));
|
||||
}
|
||||
|
||||
/* Clear the passive transfer enabled flag. */
|
||||
client_request_ptr -> nx_ftp_client_request_passive_transfer_enabled = NX_FALSE;
|
||||
|
||||
/* Reset the transfer mode as stream mode. */
|
||||
client_request_ptr -> nx_ftp_client_request_transfer_mode = NX_FTP_TRANSFER_MODE_STREAM;
|
||||
@ -1355,7 +1339,7 @@ ULONG events;
|
||||
/* FUNCTION RELEASE */
|
||||
/* */
|
||||
/* _nx_ftp_server_command_process PORTABLE C */
|
||||
/* 6.1.8 */
|
||||
/* 6.1.9 */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
/* Yuxin Zhou, Microsoft Corporation */
|
||||
@ -1407,11 +1391,10 @@ ULONG events;
|
||||
/* nx_tcp_socket_disconnect Disconnect socket */
|
||||
/* nx_tcp_socket_receive Receive from command socket */
|
||||
/* nx_tcp_socket_send Send packet */
|
||||
/* nx_tcp_client_socket_unbind Unbind client socket */
|
||||
/* nx_tcp_socket_delete Delete socket */
|
||||
/* nx_tcp_socket_receive Receive packet */
|
||||
/* nx_tcp_socket_receive_notify Register notification routine */
|
||||
/* nx_tcp_socket_transmit_configure Configure data transer socket */
|
||||
/* _nx_utility_uint_to_string Convert number to string */
|
||||
/* _nx_ftp_server_data_socket_cleanup Clean up data socket */
|
||||
/* */
|
||||
/* CALLED BY */
|
||||
/* */
|
||||
@ -1432,6 +1415,16 @@ ULONG events;
|
||||
/* 08-02-2021 Yuxin Zhou Modified comment(s), */
|
||||
/* corrected the pad character,*/
|
||||
/* resulting in version 6.1.8 */
|
||||
/* 10-15-2021 Yuxin Zhou Modified comment(s), */
|
||||
/* fixed the issue of clearing */
|
||||
/* data socket and processing */
|
||||
/* disconnection event, */
|
||||
/* improved the PASV response, */
|
||||
/* fixed the bug of processing */
|
||||
/* STOR in passive mode, */
|
||||
/* reset the packet prepend */
|
||||
/* pointer for alignment, */
|
||||
/* resulting in version 6.1.9 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
VOID _nx_ftp_server_command_process(NX_FTP_SERVER *ftp_server_ptr)
|
||||
@ -1691,6 +1684,14 @@ ULONG block_size;
|
||||
_nx_ftp_server_response(&(client_req_ptr -> nx_ftp_client_request_control_socket), packet_ptr,
|
||||
NX_FTP_CODE_CLOSE, "Logging Off");
|
||||
|
||||
/* If create, cleanup the associated data socket. */
|
||||
if (client_req_ptr -> nx_ftp_client_request_data_socket.nx_tcp_socket_id)
|
||||
{
|
||||
|
||||
/* Clean up the client socket. */
|
||||
_nx_ftp_server_data_socket_cleanup(ftp_server_ptr, client_req_ptr);
|
||||
}
|
||||
|
||||
/* Now disconnect the command socket. */
|
||||
nx_tcp_socket_disconnect(&(client_req_ptr -> nx_ftp_client_request_control_socket), NX_FTP_SERVER_TIMEOUT);
|
||||
|
||||
@ -1790,16 +1791,6 @@ ULONG block_size;
|
||||
nx_tcp_socket_delete(&(client_req_ptr -> nx_ftp_client_request_data_socket));
|
||||
fx_file_close(&(client_req_ptr -> nx_ftp_client_request_file));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
/* Setup the data port with a specific packet transmit retry logic. */
|
||||
nx_tcp_socket_transmit_configure(&(client_req_ptr -> nx_ftp_client_request_data_socket),
|
||||
NX_FTP_SERVER_TRANSMIT_QUEUE_DEPTH,
|
||||
NX_FTP_SERVER_RETRY_SECONDS*NX_IP_PERIODIC_RATE,
|
||||
NX_FTP_SERVER_RETRY_MAX,
|
||||
NX_FTP_SERVER_RETRY_SHIFT);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1952,28 +1943,12 @@ ULONG block_size;
|
||||
_nx_ftp_server_block_header_send(ftp_server_ptr -> nx_ftp_server_packet_pool_ptr, client_req_ptr, 0);
|
||||
}
|
||||
|
||||
/* Disconnect the data socket. */
|
||||
nx_tcp_socket_disconnect(&(client_req_ptr -> nx_ftp_client_request_data_socket), NX_FTP_SERVER_TIMEOUT);
|
||||
|
||||
/* Tear down the client data socket. */
|
||||
if (client_req_ptr -> nx_ftp_client_request_passive_transfer_enabled == NX_TRUE)
|
||||
{
|
||||
nx_tcp_server_socket_unaccept(&(client_req_ptr -> nx_ftp_client_request_data_socket));
|
||||
nx_tcp_server_socket_unlisten(ftp_server_ptr -> nx_ftp_server_ip_ptr, client_req_ptr -> nx_ftp_client_request_data_socket.nx_tcp_socket_port);
|
||||
}
|
||||
else
|
||||
{
|
||||
nx_tcp_client_socket_unbind(&(client_req_ptr -> nx_ftp_client_request_data_socket));
|
||||
}
|
||||
nx_tcp_socket_delete(&(client_req_ptr -> nx_ftp_client_request_data_socket));
|
||||
fx_file_close(&(client_req_ptr -> nx_ftp_client_request_file));
|
||||
/* Clean up the data socket. */
|
||||
_nx_ftp_server_data_socket_cleanup(ftp_server_ptr, client_req_ptr);
|
||||
|
||||
/* Clear the open type in the client request structure. */
|
||||
client_req_ptr -> nx_ftp_client_request_open_type = 0;
|
||||
|
||||
/* Clear the passive transfer enabled flag. */
|
||||
client_req_ptr -> nx_ftp_client_request_passive_transfer_enabled = NX_FALSE;
|
||||
|
||||
/* Allocate a new packet. */
|
||||
_nx_ftp_packet_allocate(ftp_server_ptr -> nx_ftp_server_packet_pool_ptr, client_req_ptr, &packet_ptr, NX_TCP_PACKET, NX_WAIT_FOREVER);
|
||||
|
||||
@ -2084,45 +2059,7 @@ ULONG block_size;
|
||||
{
|
||||
|
||||
/* Check if passive transfer enabled. */
|
||||
if (client_req_ptr -> nx_ftp_client_request_passive_transfer_enabled == NX_TRUE)
|
||||
{
|
||||
|
||||
/* Set the disconnect callback. */
|
||||
client_req_ptr -> nx_ftp_client_request_data_socket.nx_tcp_disconnect_callback = _nx_ftp_server_data_disconnect;
|
||||
|
||||
/* Register the receive function. */
|
||||
nx_tcp_socket_receive_notify(&(client_req_ptr -> nx_ftp_client_request_data_socket), _nx_ftp_server_data_present);
|
||||
|
||||
/* Now wait for the data connection to connect. */
|
||||
status = nx_tcp_socket_state_wait(&(client_req_ptr -> nx_ftp_client_request_data_socket), NX_TCP_ESTABLISHED, NX_FTP_SERVER_TIMEOUT);
|
||||
|
||||
/* Check for connect error. */
|
||||
if (status)
|
||||
{
|
||||
|
||||
/* Yes, a connect error is present. Tear everything down. */
|
||||
nx_tcp_server_socket_unaccept(&(client_req_ptr -> nx_ftp_client_request_data_socket));
|
||||
nx_tcp_server_socket_unlisten(ftp_server_ptr -> nx_ftp_server_ip_ptr, client_req_ptr -> nx_ftp_client_request_data_socket.nx_tcp_socket_port);
|
||||
nx_tcp_socket_delete(&(client_req_ptr -> nx_ftp_client_request_data_socket));
|
||||
fx_file_close(&(client_req_ptr -> nx_ftp_client_request_file));
|
||||
#ifdef NX_FTP_FAULT_TOLERANT
|
||||
|
||||
/* Flush the media. */
|
||||
fx_media_flush(ftp_server_ptr -> nx_ftp_server_media_ptr);
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
/* Setup the data port with a specific packet transmit retry logic. */
|
||||
nx_tcp_socket_transmit_configure(&(client_req_ptr -> nx_ftp_client_request_data_socket),
|
||||
NX_FTP_SERVER_TRANSMIT_QUEUE_DEPTH,
|
||||
NX_FTP_SERVER_RETRY_SECONDS*NX_IP_PERIODIC_RATE,
|
||||
NX_FTP_SERVER_RETRY_MAX,
|
||||
NX_FTP_SERVER_RETRY_SHIFT);
|
||||
}
|
||||
}
|
||||
else
|
||||
if (client_req_ptr -> nx_ftp_client_request_passive_transfer_enabled == NX_FALSE)
|
||||
{
|
||||
|
||||
/* Create an FTP client data socket. */
|
||||
@ -2712,16 +2649,6 @@ ULONG block_size;
|
||||
nx_tcp_socket_delete(&(client_req_ptr -> nx_ftp_client_request_data_socket));
|
||||
fx_file_close(&(client_req_ptr -> nx_ftp_client_request_file));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
/* Setup the data port with a specific packet transmit retry logic. */
|
||||
nx_tcp_socket_transmit_configure(&(client_req_ptr -> nx_ftp_client_request_data_socket),
|
||||
NX_FTP_SERVER_TRANSMIT_QUEUE_DEPTH,
|
||||
NX_FTP_SERVER_RETRY_SECONDS*NX_IP_PERIODIC_RATE,
|
||||
NX_FTP_SERVER_RETRY_MAX,
|
||||
NX_FTP_SERVER_RETRY_SHIFT);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -2949,24 +2876,8 @@ ULONG block_size;
|
||||
_nx_ftp_server_block_header_send(ftp_server_ptr -> nx_ftp_server_packet_pool_ptr, client_req_ptr, 0);
|
||||
}
|
||||
|
||||
/* Disconnect the data socket. */
|
||||
nx_tcp_socket_disconnect(&(client_req_ptr -> nx_ftp_client_request_data_socket), NX_FTP_SERVER_TIMEOUT);
|
||||
|
||||
/* Tear down the client data socket. */
|
||||
if (client_req_ptr -> nx_ftp_client_request_passive_transfer_enabled == NX_TRUE)
|
||||
{
|
||||
nx_tcp_server_socket_unaccept(&(client_req_ptr -> nx_ftp_client_request_data_socket));
|
||||
nx_tcp_server_socket_unlisten(ftp_server_ptr -> nx_ftp_server_ip_ptr, client_req_ptr -> nx_ftp_client_request_data_socket.nx_tcp_socket_port);
|
||||
}
|
||||
else
|
||||
{
|
||||
nx_tcp_client_socket_unbind(&(client_req_ptr -> nx_ftp_client_request_data_socket));
|
||||
}
|
||||
nx_tcp_socket_delete(&(client_req_ptr -> nx_ftp_client_request_data_socket));
|
||||
fx_file_close(&(client_req_ptr -> nx_ftp_client_request_file));
|
||||
|
||||
/* Clear the passive transfer enabled flag. */
|
||||
client_req_ptr -> nx_ftp_client_request_passive_transfer_enabled = NX_FALSE;
|
||||
/* Clean up the data socket. */
|
||||
_nx_ftp_server_data_socket_cleanup(ftp_server_ptr, client_req_ptr);
|
||||
|
||||
/* Allocate a new packet. */
|
||||
_nx_ftp_packet_allocate(ftp_server_ptr -> nx_ftp_server_packet_pool_ptr, client_req_ptr, &packet_ptr, NX_TCP_PACKET, NX_WAIT_FOREVER);
|
||||
@ -3142,16 +3053,6 @@ ULONG block_size;
|
||||
nx_tcp_socket_delete(&(client_req_ptr -> nx_ftp_client_request_data_socket));
|
||||
fx_file_close(&(client_req_ptr -> nx_ftp_client_request_file));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
/* Setup the data port with a specific packet transmit retry logic. */
|
||||
nx_tcp_socket_transmit_configure(&(client_req_ptr -> nx_ftp_client_request_data_socket),
|
||||
NX_FTP_SERVER_TRANSMIT_QUEUE_DEPTH,
|
||||
NX_FTP_SERVER_RETRY_SECONDS*NX_IP_PERIODIC_RATE,
|
||||
NX_FTP_SERVER_RETRY_MAX,
|
||||
NX_FTP_SERVER_RETRY_SHIFT);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -3433,24 +3334,8 @@ ULONG block_size;
|
||||
_nx_ftp_server_block_header_send(ftp_server_ptr -> nx_ftp_server_packet_pool_ptr, client_req_ptr, 0);
|
||||
}
|
||||
|
||||
/* Disconnect the data socket. */
|
||||
nx_tcp_socket_disconnect(&(client_req_ptr -> nx_ftp_client_request_data_socket), NX_FTP_SERVER_TIMEOUT);
|
||||
|
||||
/* Tear down the client data socket. */
|
||||
if (client_req_ptr -> nx_ftp_client_request_passive_transfer_enabled == NX_TRUE)
|
||||
{
|
||||
nx_tcp_server_socket_unaccept(&(client_req_ptr -> nx_ftp_client_request_data_socket));
|
||||
nx_tcp_server_socket_unlisten(ftp_server_ptr -> nx_ftp_server_ip_ptr, client_req_ptr -> nx_ftp_client_request_data_socket.nx_tcp_socket_port);
|
||||
}
|
||||
else
|
||||
{
|
||||
nx_tcp_client_socket_unbind(&(client_req_ptr -> nx_ftp_client_request_data_socket));
|
||||
}
|
||||
nx_tcp_socket_delete(&(client_req_ptr -> nx_ftp_client_request_data_socket));
|
||||
fx_file_close(&(client_req_ptr -> nx_ftp_client_request_file));
|
||||
|
||||
/* Clear the passive transfer enabled flag. */
|
||||
client_req_ptr -> nx_ftp_client_request_passive_transfer_enabled = NX_FALSE;
|
||||
/* Clean up the data socket. */
|
||||
_nx_ftp_server_data_socket_cleanup(ftp_server_ptr, client_req_ptr);
|
||||
|
||||
/* Allocate a new packet. */
|
||||
_nx_ftp_packet_allocate(ftp_server_ptr -> nx_ftp_server_packet_pool_ptr, client_req_ptr, &packet_ptr, NX_TCP_PACKET, NX_WAIT_FOREVER);
|
||||
@ -3634,6 +3519,14 @@ ULONG block_size;
|
||||
case NX_FTP_PASV:
|
||||
{
|
||||
|
||||
/* If create, cleanup the data socket. */
|
||||
if (client_req_ptr -> nx_ftp_client_request_data_socket.nx_tcp_socket_id)
|
||||
{
|
||||
|
||||
/* Clean up the data socket. */
|
||||
_nx_ftp_server_data_socket_cleanup(ftp_server_ptr, client_req_ptr);
|
||||
}
|
||||
|
||||
/* Try to find the data port. */
|
||||
status = nx_tcp_free_port_find(ftp_server_ptr -> nx_ftp_server_ip_ptr,
|
||||
ftp_server_ptr -> nx_ftp_server_data_port++, &port);
|
||||
@ -3654,7 +3547,7 @@ ULONG block_size;
|
||||
|
||||
/* Create an FTP client data socket. */
|
||||
status = nx_tcp_socket_create(ftp_server_ptr -> nx_ftp_server_ip_ptr, &(client_req_ptr -> nx_ftp_client_request_data_socket), "FTP Server Data Socket",
|
||||
NX_FTP_DATA_TOS, NX_FTP_FRAGMENT_OPTION, NX_FTP_TIME_TO_LIVE, NX_FTP_DATA_WINDOW_SIZE, NX_NULL, NX_NULL);
|
||||
NX_FTP_DATA_TOS, NX_FTP_FRAGMENT_OPTION, NX_FTP_TIME_TO_LIVE, NX_FTP_DATA_WINDOW_SIZE, NX_NULL, _nx_ftp_server_data_disconnect);
|
||||
|
||||
/* Determine if the listen is successful. */
|
||||
if (status != NX_SUCCESS)
|
||||
@ -3670,6 +3563,16 @@ ULONG block_size;
|
||||
break;
|
||||
}
|
||||
|
||||
/* Register the receive function. */
|
||||
nx_tcp_socket_receive_notify(&(client_req_ptr -> nx_ftp_client_request_data_socket), _nx_ftp_server_data_present);
|
||||
|
||||
/* Setup the data port with a specific packet transmit retry logic. */
|
||||
nx_tcp_socket_transmit_configure(&(client_req_ptr -> nx_ftp_client_request_data_socket),
|
||||
NX_FTP_SERVER_TRANSMIT_QUEUE_DEPTH,
|
||||
NX_FTP_SERVER_RETRY_SECONDS*NX_IP_PERIODIC_RATE,
|
||||
NX_FTP_SERVER_RETRY_MAX,
|
||||
NX_FTP_SERVER_RETRY_SHIFT);
|
||||
|
||||
/* Make sure each socket points to the corresponding FTP server. */
|
||||
client_req_ptr -> nx_ftp_client_request_data_socket.nx_tcp_socket_reserved_ptr = ftp_server_ptr;
|
||||
|
||||
@ -3699,12 +3602,15 @@ ULONG block_size;
|
||||
/* Pickup the IPv4 address of this IP instance. */
|
||||
ip_address = client_req_ptr -> nx_ftp_client_request_control_socket.nx_tcp_socket_connect_interface -> nx_interface_ip_address;
|
||||
|
||||
/* Reset the packet prepend pointer for alignment. */
|
||||
packet_ptr -> nx_packet_prepend_ptr = packet_ptr -> nx_packet_data_start + NX_TCP_PACKET;
|
||||
|
||||
/* Setup pointer to packet buffer area. */
|
||||
buffer_ptr = packet_ptr -> nx_packet_prepend_ptr;
|
||||
|
||||
/* Now build PASV response. "227 Entering Passive Mode (h1,h2,h3,h4,p1,p2)." */
|
||||
|
||||
/* Verify packet payload. */
|
||||
/* Verify packet payload. The max size of this message is 54. */
|
||||
if ((packet_ptr -> nx_packet_data_end - packet_ptr -> nx_packet_prepend_ptr) < 54)
|
||||
{
|
||||
|
||||
@ -3721,46 +3627,28 @@ ULONG block_size;
|
||||
memcpy(buffer_ptr, "227 Entering Passive Mode ", 26); /* Use case of memcpy is verified. */
|
||||
|
||||
/* Build the IP address and port. */
|
||||
buffer_ptr[26] = '(';
|
||||
|
||||
buffer_ptr[27] = (UCHAR)('0' + (ip_address >> 24)/100);
|
||||
buffer_ptr[28] = (UCHAR)('0' + ((ip_address >> 24)/10)%10);
|
||||
buffer_ptr[29] = (UCHAR)('0' + (ip_address >> 24)%10);
|
||||
buffer_ptr[30] = ',';
|
||||
|
||||
buffer_ptr[31] = (UCHAR)('0' + ((ip_address >> 16) & 0xFF)/100);
|
||||
buffer_ptr[32] = (UCHAR)('0' + (((ip_address >> 16) & 0xFF)/10)%10);
|
||||
buffer_ptr[33] = (UCHAR)('0' + ((ip_address >> 16) & 0xFF)%10);
|
||||
buffer_ptr[34] = ',';
|
||||
|
||||
buffer_ptr[35] = (UCHAR)('0' + ((ip_address >> 8) & 0xFF)/100);
|
||||
buffer_ptr[36] = (UCHAR)('0' + (((ip_address >> 8) & 0xFF)/10)%10);
|
||||
buffer_ptr[37] = (UCHAR)('0' + ((ip_address >> 8) & 0xFF)%10);
|
||||
buffer_ptr[38] = ',';
|
||||
|
||||
buffer_ptr[39] = (UCHAR)('0' + (ip_address & 0xFF)/100);
|
||||
buffer_ptr[40] = (UCHAR)('0' + ((ip_address & 0xFF)/10)%10);
|
||||
buffer_ptr[41] = (UCHAR)('0' + (ip_address & 0xFF)%10);
|
||||
buffer_ptr[42] = ',';
|
||||
|
||||
buffer_ptr[43] = (UCHAR)('0' + (port >> 8)/100);
|
||||
buffer_ptr[44] = (UCHAR)('0' + ((port >> 8)/10)%10);
|
||||
buffer_ptr[45] = (UCHAR)('0' + ((port >> 8)%10));
|
||||
buffer_ptr[46] = ',';
|
||||
|
||||
buffer_ptr[47] = (UCHAR)('0' + (port & 255)/100);
|
||||
buffer_ptr[48] = (UCHAR)('0' + ((port & 255)/10)%10);
|
||||
buffer_ptr[49] = (UCHAR)('0' + ((port & 255)%10));
|
||||
|
||||
buffer_ptr[50] = ')';
|
||||
buffer_ptr[51] = '.';
|
||||
j = 26;
|
||||
buffer_ptr[j++] = '(';
|
||||
j += _nx_utility_uint_to_string((ip_address >> 24), 10, (CHAR *)(buffer_ptr + j), 54 - j);
|
||||
buffer_ptr[j++] = ',';
|
||||
j += _nx_utility_uint_to_string(((ip_address >> 16) & 0xFF), 10, (CHAR *)(buffer_ptr + j), 54 - j);
|
||||
buffer_ptr[j++] = ',';
|
||||
j += _nx_utility_uint_to_string(((ip_address >> 8) & 0xFF), 10, (CHAR *)(buffer_ptr + j), 54 - j);
|
||||
buffer_ptr[j++] = ',';
|
||||
j += _nx_utility_uint_to_string((ip_address & 0xFF), 10, (CHAR *)(buffer_ptr + j), 54 - j);
|
||||
buffer_ptr[j++] = ',';
|
||||
j += _nx_utility_uint_to_string((port >> 8), 10, (CHAR *)(buffer_ptr + j), 54 - j);
|
||||
buffer_ptr[j++] = ',';
|
||||
j += _nx_utility_uint_to_string((port & 0XFF), 10, (CHAR *)(buffer_ptr + j), 54 - j);
|
||||
buffer_ptr[j++] = ')';
|
||||
buffer_ptr[j++] = '.';
|
||||
|
||||
/* Set the CR/LF. */
|
||||
buffer_ptr[52] = 13;
|
||||
buffer_ptr[53] = 10;
|
||||
buffer_ptr[j++] = 13;
|
||||
buffer_ptr[j++] = 10;
|
||||
|
||||
/* Set the packet length. */
|
||||
packet_ptr -> nx_packet_length = 54;
|
||||
packet_ptr -> nx_packet_length = j;
|
||||
|
||||
/* Setup the packet append pointer. */
|
||||
packet_ptr -> nx_packet_append_ptr = packet_ptr -> nx_packet_prepend_ptr + packet_ptr -> nx_packet_length;
|
||||
@ -4327,7 +4215,7 @@ NX_FTP_SERVER *server_ptr;
|
||||
/* FUNCTION RELEASE */
|
||||
/* */
|
||||
/* _nx_ftp_server_data_disconnect_process PORTABLE C */
|
||||
/* 6.1 */
|
||||
/* 6.1.9 */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
/* Yuxin Zhou, Microsoft Corporation */
|
||||
@ -4350,9 +4238,7 @@ NX_FTP_SERVER *server_ptr;
|
||||
/* */
|
||||
/* fx_file_close Close file */
|
||||
/* nx_ftp_packet_allocate Allocate a packet */
|
||||
/* nx_tcp_client_socket_unbind Unbind client socket */
|
||||
/* nx_tcp_socket_delete Delete socket */
|
||||
/* nx_tcp_socket_disconnect Disconnect socket */
|
||||
/* _nx_ftp_server_data_socket_cleanup Clean up data socket */
|
||||
/* */
|
||||
/* CALLED BY */
|
||||
/* */
|
||||
@ -4365,13 +4251,16 @@ NX_FTP_SERVER *server_ptr;
|
||||
/* 05-19-2020 Yuxin Zhou Initial Version 6.0 */
|
||||
/* 09-30-2020 Yuxin Zhou Modified comment(s), */
|
||||
/* resulting in version 6.1 */
|
||||
/* 10-15-2021 Yuxin Zhou Modified comment(s), fixed */
|
||||
/* the issue of processing */
|
||||
/* disconnection event, */
|
||||
/* resulting in version 6.1.9 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
VOID _nx_ftp_server_data_disconnect_process(NX_FTP_SERVER *ftp_server_ptr)
|
||||
{
|
||||
|
||||
UINT i;
|
||||
UINT status;
|
||||
UINT block_status;
|
||||
ULONG length;
|
||||
NX_PACKET *packet_ptr;
|
||||
@ -4394,25 +4283,8 @@ NX_FTP_CLIENT_REQUEST *client_req_ptr;
|
||||
|
||||
/* Yes, a disconnect is present, which signals an end of file of a client FTP write request. */
|
||||
|
||||
/* First, cleanup this data socket. */
|
||||
nx_tcp_socket_disconnect(&(client_req_ptr -> nx_ftp_client_request_data_socket), NX_FTP_SERVER_TIMEOUT);
|
||||
|
||||
/* Unbind/unaccept the data socket. */
|
||||
if (client_req_ptr -> nx_ftp_client_request_passive_transfer_enabled == NX_TRUE)
|
||||
{
|
||||
nx_tcp_server_socket_unaccept(&(client_req_ptr -> nx_ftp_client_request_data_socket));
|
||||
nx_tcp_server_socket_unlisten(ftp_server_ptr -> nx_ftp_server_ip_ptr, client_req_ptr -> nx_ftp_client_request_data_socket.nx_tcp_socket_port);
|
||||
}
|
||||
else
|
||||
{
|
||||
nx_tcp_client_socket_unbind(&(client_req_ptr -> nx_ftp_client_request_data_socket));
|
||||
}
|
||||
|
||||
/* And finally delete the data socket. */
|
||||
nx_tcp_socket_delete(&(client_req_ptr -> nx_ftp_client_request_data_socket));
|
||||
|
||||
/* Clear the passive transfer enabled flag. */
|
||||
client_req_ptr -> nx_ftp_client_request_passive_transfer_enabled = NX_FALSE;
|
||||
/* Cleanup this data socket. */
|
||||
_nx_ftp_server_data_socket_cleanup(ftp_server_ptr, client_req_ptr);
|
||||
|
||||
/* Determine if the block mode is enabled. */
|
||||
if (client_req_ptr -> nx_ftp_client_request_transfer_mode == NX_FTP_TRANSFER_MODE_BLOCK)
|
||||
@ -4432,23 +4304,18 @@ NX_FTP_CLIENT_REQUEST *client_req_ptr;
|
||||
/* Reset the client request activity timeout. */
|
||||
client_req_ptr -> nx_ftp_client_request_activity_timeout = NX_FTP_ACTIVITY_TIMEOUT;
|
||||
|
||||
/* Check if file is open. */
|
||||
if (client_req_ptr -> nx_ftp_client_request_open_type == NX_FTP_OPEN_FOR_WRITE)
|
||||
{
|
||||
|
||||
/* Pickup the file length. */
|
||||
length = (ULONG)client_req_ptr -> nx_ftp_client_request_file.fx_file_current_file_size;
|
||||
|
||||
/* Close the file. */
|
||||
status = fx_file_close(&(client_req_ptr -> nx_ftp_client_request_file));
|
||||
|
||||
#ifdef NX_FTP_FAULT_TOLERANT
|
||||
|
||||
/* Flush the media. */
|
||||
fx_media_flush(ftp_server_ptr -> nx_ftp_server_media_ptr);
|
||||
#endif
|
||||
|
||||
/* Allocate a packet for sending the file write response. */
|
||||
_nx_ftp_packet_allocate(ftp_server_ptr -> nx_ftp_server_packet_pool_ptr, client_req_ptr, &packet_ptr, NX_TCP_PACKET, NX_WAIT_FOREVER);
|
||||
|
||||
/* Now determine if the operation was successful. */
|
||||
if ((status == FX_SUCCESS) && (length == client_req_ptr -> nx_ftp_client_request_total_bytes) && (block_status == NX_TRUE))
|
||||
if ((length == client_req_ptr -> nx_ftp_client_request_total_bytes) && (block_status == NX_TRUE))
|
||||
{
|
||||
|
||||
/* Successful client file write. */
|
||||
@ -4471,6 +4338,7 @@ NX_FTP_CLIENT_REQUEST *client_req_ptr;
|
||||
client_req_ptr -> nx_ftp_client_request_open_type = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**************************************************************************/
|
||||
@ -4964,7 +4832,7 @@ NX_FTP_SERVER *server_ptr;
|
||||
/* FUNCTION RELEASE */
|
||||
/* */
|
||||
/* _nx_ftp_server_timeout_processing PORTABLE C */
|
||||
/* 6.1 */
|
||||
/* 6.1.9 */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
/* Yuxin Zhou, Microsoft Corporation */
|
||||
@ -4990,10 +4858,9 @@ NX_FTP_SERVER *server_ptr;
|
||||
/* fx_file_close Close file */
|
||||
/* nx_packet_release Release saved packet */
|
||||
/* nx_tcp_server_socket_relisten Relisten for another connect */
|
||||
/* nx_tcp_client_socket_unbind Unbind data socket */
|
||||
/* nx_tcp_server_socket_unaccept Unaccept server connection */
|
||||
/* nx_tcp_socket_delete Delete data socket */
|
||||
/* nx_tcp_socket_disconnect Disconnect socket */
|
||||
/* _nx_ftp_server_data_socket_cleanup Clean up data socket */
|
||||
/* */
|
||||
/* CALLED BY */
|
||||
/* */
|
||||
@ -5006,6 +4873,10 @@ NX_FTP_SERVER *server_ptr;
|
||||
/* 05-19-2020 Yuxin Zhou Initial Version 6.0 */
|
||||
/* 09-30-2020 Yuxin Zhou Modified comment(s), */
|
||||
/* resulting in version 6.1 */
|
||||
/* 10-15-2021 Yuxin Zhou Modified comment(s), */
|
||||
/* fixed the issue of clearing */
|
||||
/* data socket, */
|
||||
/* resulting in version 6.1.9 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
VOID _nx_ftp_server_timeout_processing(NX_FTP_SERVER *ftp_server_ptr)
|
||||
@ -5046,35 +4917,9 @@ NX_FTP_CLIENT_REQUEST *client_req_ptr;
|
||||
if (client_req_ptr -> nx_ftp_client_request_data_socket.nx_tcp_socket_id)
|
||||
{
|
||||
|
||||
/* Disconnect client socket. */
|
||||
nx_tcp_socket_disconnect(&(client_req_ptr -> nx_ftp_client_request_data_socket), NX_NO_WAIT);
|
||||
|
||||
/* Unbind/unaccept the data socket. */
|
||||
if (client_req_ptr -> nx_ftp_client_request_passive_transfer_enabled == NX_TRUE)
|
||||
{
|
||||
nx_tcp_server_socket_unaccept(&(client_req_ptr -> nx_ftp_client_request_data_socket));
|
||||
nx_tcp_server_socket_unlisten(ftp_server_ptr -> nx_ftp_server_ip_ptr, client_req_ptr -> nx_ftp_client_request_data_socket.nx_tcp_socket_port);
|
||||
/* Clean up the client socket. */
|
||||
_nx_ftp_server_data_socket_cleanup(ftp_server_ptr, client_req_ptr);
|
||||
}
|
||||
else
|
||||
{
|
||||
nx_tcp_client_socket_unbind(&(client_req_ptr -> nx_ftp_client_request_data_socket));
|
||||
}
|
||||
|
||||
/* Delete the data socket. */
|
||||
nx_tcp_socket_delete(&(client_req_ptr -> nx_ftp_client_request_data_socket));
|
||||
|
||||
/* Ensure the file is closed. */
|
||||
fx_file_close(&(client_req_ptr -> nx_ftp_client_request_file));
|
||||
|
||||
#ifdef NX_FTP_FAULT_TOLERANT
|
||||
|
||||
/* Flush the media. */
|
||||
fx_media_flush(ftp_server_ptr -> nx_ftp_server_media_ptr);
|
||||
#endif
|
||||
}
|
||||
|
||||
/* Clear the passive transfer enabled flag. */
|
||||
client_req_ptr -> nx_ftp_client_request_passive_transfer_enabled = NX_FALSE;
|
||||
|
||||
/* Reset the transfer mode as stream mode. */
|
||||
client_req_ptr -> nx_ftp_client_request_transfer_mode = NX_FTP_TRANSFER_MODE_STREAM;
|
||||
@ -5166,7 +5011,7 @@ NX_FTP_SERVER *server_ptr;
|
||||
/* FUNCTION RELEASE */
|
||||
/* */
|
||||
/* _nx_ftp_server_control_disconnect_processing PORTABLE C */
|
||||
/* 6.1 */
|
||||
/* 6.1.9 */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
/* Yuxin Zhou, Microsoft Corporation */
|
||||
@ -5191,10 +5036,9 @@ NX_FTP_SERVER *server_ptr;
|
||||
/* fx_file_close Close file */
|
||||
/* nx_packet_release Release saved packet */
|
||||
/* nx_tcp_server_socket_relisten Relisten for another connect */
|
||||
/* nx_tcp_client_socket_unbind Unbind data socket */
|
||||
/* nx_tcp_server_socket_unaccept Unaccept server connection */
|
||||
/* nx_tcp_socket_delete Delete data socket */
|
||||
/* nx_tcp_socket_disconnect Disconnect socket */
|
||||
/* _nx_ftp_server_data_socket_cleanup Clean up data socket */
|
||||
/* */
|
||||
/* CALLED BY */
|
||||
/* */
|
||||
@ -5207,6 +5051,10 @@ NX_FTP_SERVER *server_ptr;
|
||||
/* 05-19-2020 Yuxin Zhou Initial Version 6.0 */
|
||||
/* 09-30-2020 Yuxin Zhou Modified comment(s), */
|
||||
/* resulting in version 6.1 */
|
||||
/* 10-15-2021 Yuxin Zhou Modified comment(s), */
|
||||
/* fixed the issue of clearing */
|
||||
/* data socket, */
|
||||
/* resulting in version 6.1.9 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
VOID _nx_ftp_server_control_disconnect_processing(NX_FTP_SERVER *ftp_server_ptr)
|
||||
@ -5245,35 +5093,9 @@ NX_FTP_CLIENT_REQUEST *client_req_ptr;
|
||||
if (client_req_ptr -> nx_ftp_client_request_data_socket.nx_tcp_socket_id)
|
||||
{
|
||||
|
||||
/* Disconnect client socket. */
|
||||
nx_tcp_socket_disconnect(&(client_req_ptr -> nx_ftp_client_request_data_socket), NX_NO_WAIT);
|
||||
|
||||
/* Unbind/unaccept the data socket. */
|
||||
if (client_req_ptr -> nx_ftp_client_request_passive_transfer_enabled == NX_TRUE)
|
||||
{
|
||||
nx_tcp_server_socket_unaccept(&(client_req_ptr -> nx_ftp_client_request_data_socket));
|
||||
nx_tcp_server_socket_unlisten(ftp_server_ptr -> nx_ftp_server_ip_ptr, client_req_ptr -> nx_ftp_client_request_data_socket.nx_tcp_socket_port);
|
||||
/* Clean up the client socket. */
|
||||
_nx_ftp_server_data_socket_cleanup(ftp_server_ptr, client_req_ptr);
|
||||
}
|
||||
else
|
||||
{
|
||||
nx_tcp_client_socket_unbind(&(client_req_ptr -> nx_ftp_client_request_data_socket));
|
||||
}
|
||||
|
||||
/* Delete the data socket. */
|
||||
nx_tcp_socket_delete(&(client_req_ptr -> nx_ftp_client_request_data_socket));
|
||||
|
||||
/* Ensure the file is closed. */
|
||||
fx_file_close(&(client_req_ptr -> nx_ftp_client_request_file));
|
||||
|
||||
#ifdef NX_FTP_FAULT_TOLERANT
|
||||
|
||||
/* Flush the media. */
|
||||
fx_media_flush(ftp_server_ptr -> nx_ftp_server_media_ptr);
|
||||
#endif
|
||||
}
|
||||
|
||||
/* Clear the passive transfer enabled flag. */
|
||||
client_req_ptr -> nx_ftp_client_request_passive_transfer_enabled = NX_FALSE;
|
||||
|
||||
/* Reset the transfer mode as stream mode. */
|
||||
client_req_ptr -> nx_ftp_client_request_transfer_mode = NX_FTP_TRANSFER_MODE_STREAM;
|
||||
@ -5870,3 +5692,81 @@ UINT size;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**************************************************************************/
|
||||
/* */
|
||||
/* FUNCTION RELEASE */
|
||||
/* */
|
||||
/* _nx_ftp_server_data_socket_cleanup PORTABLE C */
|
||||
/* 6.1.9 */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
/* Yuxin Zhou, Microsoft Corporation */
|
||||
/* */
|
||||
/* DESCRIPTION */
|
||||
/* */
|
||||
/* This function cleans up the data socket. */
|
||||
/* */
|
||||
/* INPUT */
|
||||
/* */
|
||||
/* ftp_server_ptr Pointer to FTP server */
|
||||
/* client_req_ptr Pointer to client request */
|
||||
/* */
|
||||
/* OUTPUT */
|
||||
/* */
|
||||
/* None */
|
||||
/* */
|
||||
/* CALLS */
|
||||
/* */
|
||||
/* fx_file_close Close file */
|
||||
/* nx_tcp_socket_disconnect Disconnect a socket */
|
||||
/* nx_tcp_client_socket_unbind Release the data socket port */
|
||||
/* nx_tcp_server_socket_unaccept Unaccept server connection */
|
||||
/* nx_tcp_server_socket_unlisten Unlisten on server socket */
|
||||
/* nx_tcp_socket_delete Delete socket */
|
||||
/* */
|
||||
/* CALLED BY */
|
||||
/* */
|
||||
/* _nx_ftp_server_command_process Process command */
|
||||
/* _nx_ftp_server_data_disconnect_process */
|
||||
/* Disconnect data socket */
|
||||
/* */
|
||||
/* RELEASE HISTORY */
|
||||
/* */
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 10-15-2021 Yuxin Zhou Initial Version 6.1.9 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
VOID _nx_ftp_server_data_socket_cleanup(NX_FTP_SERVER *ftp_server_ptr, NX_FTP_CLIENT_REQUEST *client_req_ptr)
|
||||
{
|
||||
|
||||
/* First, cleanup this data socket. */
|
||||
nx_tcp_socket_disconnect(&(client_req_ptr -> nx_ftp_client_request_data_socket), NX_FTP_SERVER_TIMEOUT);
|
||||
|
||||
/* Unbind/unaccept the data socket. */
|
||||
if (client_req_ptr -> nx_ftp_client_request_passive_transfer_enabled == NX_TRUE)
|
||||
{
|
||||
nx_tcp_server_socket_unaccept(&(client_req_ptr -> nx_ftp_client_request_data_socket));
|
||||
nx_tcp_server_socket_unlisten(ftp_server_ptr -> nx_ftp_server_ip_ptr, client_req_ptr -> nx_ftp_client_request_data_socket.nx_tcp_socket_port);
|
||||
}
|
||||
else
|
||||
{
|
||||
nx_tcp_client_socket_unbind(&(client_req_ptr -> nx_ftp_client_request_data_socket));
|
||||
}
|
||||
|
||||
/* And finally delete the data socket. */
|
||||
nx_tcp_socket_delete(&(client_req_ptr -> nx_ftp_client_request_data_socket));
|
||||
|
||||
fx_file_close(&(client_req_ptr -> nx_ftp_client_request_file));
|
||||
|
||||
#ifdef NX_FTP_FAULT_TOLERANT
|
||||
|
||||
/* Flush the media. */
|
||||
fx_media_flush(ftp_server_ptr -> nx_ftp_server_media_ptr);
|
||||
#endif
|
||||
|
||||
/* Clear the passive transfer enabled flag. */
|
||||
client_req_ptr -> nx_ftp_client_request_passive_transfer_enabled = NX_FALSE;
|
||||
}
|
@ -26,7 +26,7 @@
|
||||
/* APPLICATION INTERFACE DEFINITION RELEASE */
|
||||
/* */
|
||||
/* nx_ftp_server.h PORTABLE C */
|
||||
/* 6.1 */
|
||||
/* 6.1.9 */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
/* Yuxin Zhou, Microsoft Corporation */
|
||||
@ -45,6 +45,11 @@
|
||||
/* 05-19-2020 Yuxin Zhou Initial Version 6.0 */
|
||||
/* 09-30-2020 Yuxin Zhou Modified comment(s), */
|
||||
/* resulting in version 6.1 */
|
||||
/* 10-15-2021 Yuxin Zhou Modified comment(s), */
|
||||
/* fixed the issue of clearing */
|
||||
/* data socket, included */
|
||||
/* necessary header file, */
|
||||
/* resulting in version 6.1.9 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@ -61,6 +66,8 @@ extern "C" {
|
||||
|
||||
#endif
|
||||
|
||||
#include "nx_api.h"
|
||||
|
||||
|
||||
#ifndef NX_FTP_NO_FILEX
|
||||
#include "fx_api.h"
|
||||
@ -397,6 +404,7 @@ VOID _nx_ftp_server_timeout(ULONG ftp_server_address);
|
||||
VOID _nx_ftp_server_timeout_processing(NX_FTP_SERVER *ftp_server_ptr);
|
||||
VOID _nx_ftp_server_control_disconnect(NX_TCP_SOCKET *control_socket_ptr);
|
||||
VOID _nx_ftp_server_control_disconnect_processing(NX_FTP_SERVER *ftp_server_ptr);
|
||||
VOID _nx_ftp_server_data_socket_cleanup(NX_FTP_SERVER *ftp_server_ptr, NX_FTP_CLIENT_REQUEST *client_req_ptr);
|
||||
|
||||
#endif /* NX_FTP_SOURCE_CODE */
|
||||
|
||||
|
@ -26,7 +26,7 @@
|
||||
/* APPLICATION INTERFACE DEFINITION RELEASE */
|
||||
/* */
|
||||
/* nx_ppp.h PORTABLE C */
|
||||
/* 6.1.2 */
|
||||
/* 6.1.9 */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
/* Yuxin Zhou, Microsoft Corporation */
|
||||
@ -49,6 +49,9 @@
|
||||
/* improved packet length */
|
||||
/* verification, */
|
||||
/* resulting in version 6.1.2 */
|
||||
/* 10-15-2021 Yuxin Zhou Modified comment(s), included */
|
||||
/* necessary header file, */
|
||||
/* resulting in version 6.1.9 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@ -65,6 +68,8 @@ extern "C" {
|
||||
|
||||
#endif
|
||||
|
||||
#include "nx_api.h"
|
||||
|
||||
/* Define the PPP ID. */
|
||||
|
||||
#define NX_PPP_ID 0x50505020UL
|
||||
|
@ -26,7 +26,7 @@
|
||||
/* APPLICATION INTERFACE DEFINITION RELEASE */
|
||||
/* */
|
||||
/* nx_pppoe_client.h PORTABLE C */
|
||||
/* 6.1.3 */
|
||||
/* 6.1.9 */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
/* Yuxin Zhou, Microsoft Corporation */
|
||||
@ -47,6 +47,9 @@
|
||||
/* 12-31-2020 Yuxin Zhou Modified comment(s), improved */
|
||||
/* string length verification, */
|
||||
/* resulting in version 6.1.3 */
|
||||
/* 10-15-2021 Yuxin Zhou Modified comment(s), included */
|
||||
/* necessary header file, */
|
||||
/* resulting in version 6.1.9 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@ -63,6 +66,8 @@ extern "C" {
|
||||
|
||||
#endif
|
||||
|
||||
#include "nx_api.h"
|
||||
|
||||
/* Note: Prerequisite for using PPPoE.
|
||||
Redefine NX_PHYSICAL_HEADER to 24 to ensure enough space for filling in physical header.
|
||||
Physical header:14(Ethernet header) + 6(PPPoE header) + 2(PPP header) + 2(four-byte aligment). */
|
||||
|
@ -26,7 +26,7 @@
|
||||
/* APPLICATION INTERFACE DEFINITION RELEASE */
|
||||
/* */
|
||||
/* nx_pppoe_server.h PORTABLE C */
|
||||
/* 6.1.4 */
|
||||
/* 6.1.9 */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
/* Yuxin Zhou, Microsoft Corporation */
|
||||
@ -47,6 +47,9 @@
|
||||
/* 02-02-2021 Yuxin Zhou Modified comment(s), */
|
||||
/* fixed the compiler errors, */
|
||||
/* resulting in version 6.1.4 */
|
||||
/* 10-15-2021 Yuxin Zhou Modified comment(s), included */
|
||||
/* necessary header file, */
|
||||
/* resulting in version 6.1.9 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@ -63,6 +66,8 @@ extern "C" {
|
||||
|
||||
#endif
|
||||
|
||||
#include "nx_api.h"
|
||||
|
||||
/* Note: Prerequisite for using PPPoE.
|
||||
Redefine NX_PHYSICAL_HEADER to 24 to ensure enough space for filling in physical header.
|
||||
Physical header:14(Ethernet header) + 6(PPPoE header) + 2(PPP header) + 2(four-byte aligment). */
|
||||
|
@ -24,7 +24,7 @@
|
||||
/* APPLICATION INTERFACE DEFINITION RELEASE */
|
||||
/* */
|
||||
/* nx_smtp_client.h PORTABLE C */
|
||||
/* 6.1 */
|
||||
/* 6.1.9 */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
/* Yuxin Zhou, Microsoft Corporation */
|
||||
@ -43,6 +43,9 @@
|
||||
/* 05-19-2020 Yuxin Zhou Initial Version 6.0 */
|
||||
/* 09-30-2020 Yuxin Zhou Modified comment(s), */
|
||||
/* resulting in version 6.1 */
|
||||
/* 10-15-2021 Yuxin Zhou Modified comment(s), included */
|
||||
/* necessary header file, */
|
||||
/* resulting in version 6.1.9 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
#ifndef NX_SMTP_CLIENT_H
|
||||
@ -59,6 +62,8 @@ extern "C" {
|
||||
|
||||
#endif
|
||||
|
||||
#include "nx_api.h"
|
||||
|
||||
|
||||
/* NX SMTP Client configurable options. */
|
||||
|
||||
|
@ -26,7 +26,7 @@
|
||||
/* APPLICATION INTERFACE DEFINITION RELEASE */
|
||||
/* */
|
||||
/* nx_telnet_client.h PORTABLE C */
|
||||
/* 6.1 */
|
||||
/* 6.1.9 */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
/* Yuxin Zhou, Microsoft Corporation */
|
||||
@ -45,6 +45,9 @@
|
||||
/* 05-19-2020 Yuxin Zhou Initial Version 6.0 */
|
||||
/* 09-30-2020 Yuxin Zhou Modified comment(s), */
|
||||
/* resulting in version 6.1 */
|
||||
/* 10-15-2021 Yuxin Zhou Modified comment(s), included */
|
||||
/* necessary header file, */
|
||||
/* resulting in version 6.1.9 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@ -61,6 +64,8 @@ extern "C" {
|
||||
|
||||
#endif
|
||||
|
||||
#include "nx_api.h"
|
||||
|
||||
/* Define the TELNET ID. */
|
||||
|
||||
#define NX_TELNET_CLIENT_ID 0x54454C4DUL
|
||||
|
@ -26,7 +26,7 @@
|
||||
/* APPLICATION INTERFACE DEFINITION RELEASE */
|
||||
/* */
|
||||
/* nx_telnet_server.h PORTABLE C */
|
||||
/* 6.1 */
|
||||
/* 6.1.9 */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
/* Yuxin Zhou, Microsoft Corporation */
|
||||
@ -45,6 +45,9 @@
|
||||
/* 05-19-2020 Yuxin Zhou Initial Version 6.0 */
|
||||
/* 09-30-2020 Yuxin Zhou Modified comment(s), */
|
||||
/* resulting in version 6.1 */
|
||||
/* 10-15-2021 Yuxin Zhou Modified comment(s), included */
|
||||
/* necessary header file, */
|
||||
/* resulting in version 6.1.9 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@ -61,6 +64,8 @@ extern "C" {
|
||||
|
||||
#endif
|
||||
|
||||
#include "nx_api.h"
|
||||
|
||||
/* Define the Server TELNET ID. */
|
||||
|
||||
#define NX_TELNET_SERVER_ID 0x54454C4EUL
|
||||
|
@ -27,7 +27,7 @@
|
||||
/* APPLICATION INTERFACE DEFINITION RELEASE */
|
||||
/* */
|
||||
/* nx_tftp_client.h PORTABLE C */
|
||||
/* 6.1 */
|
||||
/* 6.1.9 */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
/* Yuxin Zhou, Microsoft Corporation */
|
||||
@ -46,6 +46,9 @@
|
||||
/* 05-19-2020 Yuxin Zhou Initial Version 6.0 */
|
||||
/* 09-30-2020 Yuxin Zhou Modified comment(s), */
|
||||
/* resulting in version 6.1 */
|
||||
/* 10-15-2021 Yuxin Zhou Modified comment(s), included */
|
||||
/* necessary header file, */
|
||||
/* resulting in version 6.1.9 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@ -62,6 +65,8 @@ extern "C" {
|
||||
|
||||
#endif
|
||||
|
||||
#include "nx_api.h"
|
||||
|
||||
/* Define the NetX TFTP CLIENT ID. */
|
||||
|
||||
#define NX_TFTP_CLIENT_ID 0x54465460UL
|
||||
|
@ -27,7 +27,7 @@
|
||||
/* APPLICATION INTERFACE DEFINITION RELEASE */
|
||||
/* */
|
||||
/* nx_tftp_server.h PORTABLE C */
|
||||
/* 6.1 */
|
||||
/* 6.1.9 */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
/* Yuxin Zhou, Microsoft Corporation */
|
||||
@ -46,6 +46,9 @@
|
||||
/* 05-19-2020 Yuxin Zhou Initial Version 6.0 */
|
||||
/* 09-30-2020 Yuxin Zhou Modified comment(s), */
|
||||
/* resulting in version 6.1 */
|
||||
/* 10-15-2021 Yuxin Zhou Modified comment(s), included */
|
||||
/* necessary header file, */
|
||||
/* resulting in version 6.1.9 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@ -62,6 +65,8 @@ extern "C" {
|
||||
|
||||
#endif
|
||||
|
||||
#include "nx_api.h"
|
||||
|
||||
/* Define the TFTP ID. */
|
||||
|
||||
#define NX_TFTP_SERVER_ID 0x54465461UL
|
||||
|
@ -26,7 +26,7 @@
|
||||
/* APPLICATION INTERFACE DEFINITION RELEASE */
|
||||
/* */
|
||||
/* nx_api.h PORTABLE C */
|
||||
/* 6.1.8 */
|
||||
/* 6.1.9 */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
/* Yuxin Zhou, Microsoft Corporation */
|
||||
@ -73,6 +73,9 @@
|
||||
/* added function to convert */
|
||||
/* unsigned integer to string, */
|
||||
/* resulting in version 6.1.8 */
|
||||
/* 10-15-2021 Yuxin Zhou Modified comment(s), and */
|
||||
/* updated product constants, */
|
||||
/* resulting in version 6.1.9 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@ -381,7 +384,7 @@ VOID _nx_trace_event_update(TX_TRACE_BUFFER_ENTRY *event, ULONG timestamp, ULONG
|
||||
#define AZURE_RTOS_NETX
|
||||
#define NETX_MAJOR_VERSION 6
|
||||
#define NETX_MINOR_VERSION 1
|
||||
#define NETX_PATCH_VERSION 8
|
||||
#define NETX_PATCH_VERSION 9
|
||||
|
||||
/* The following symbols are defined for backward compatibility reasons.*/
|
||||
#define EL_PRODUCT_NETX
|
||||
|
@ -26,7 +26,7 @@
|
||||
/* COMPONENT DEFINITION RELEASE */
|
||||
/* */
|
||||
/* nx_arp.h PORTABLE C */
|
||||
/* 6.1 */
|
||||
/* 6.1.9 */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
/* Yuxin Zhou, Microsoft Corporation */
|
||||
@ -44,12 +44,17 @@
|
||||
/* 05-19-2020 Yuxin Zhou Initial Version 6.0 */
|
||||
/* 09-30-2020 Yuxin Zhou Modified comment(s), */
|
||||
/* resulting in version 6.1 */
|
||||
/* 10-15-2021 Yuxin Zhou Modified comment(s), included */
|
||||
/* necessary header file, */
|
||||
/* resulting in version 6.1.9 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
#ifndef NX_ARP_H
|
||||
#define NX_ARP_H
|
||||
|
||||
#include "nx_api.h"
|
||||
|
||||
|
||||
/* Define ARP Message format. This will get encapsulated by an Ethernet frame
|
||||
as well. The Ethernet frame will typically have a 6-byte Ethernet destination
|
||||
|
@ -26,7 +26,7 @@
|
||||
/* COMPONENT DEFINITION RELEASE */
|
||||
/* */
|
||||
/* nx_icmp.h PORTABLE C */
|
||||
/* 6.1 */
|
||||
/* 6.1.9 */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
/* Yuxin Zhou, Microsoft Corporation */
|
||||
@ -44,12 +44,17 @@
|
||||
/* 05-19-2020 Yuxin Zhou Initial Version 6.0 */
|
||||
/* 09-30-2020 Yuxin Zhou Modified comment(s), */
|
||||
/* resulting in version 6.1 */
|
||||
/* 10-15-2021 Yuxin Zhou Modified comment(s), included */
|
||||
/* necessary header file, */
|
||||
/* resulting in version 6.1.9 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
#ifndef NX_ICMP_H
|
||||
#define NX_ICMP_H
|
||||
|
||||
#include "nx_api.h"
|
||||
|
||||
|
||||
/* Define ICMP types and codes. */
|
||||
|
||||
|
@ -26,7 +26,7 @@
|
||||
/* COMPONENT DEFINITION RELEASE */
|
||||
/* */
|
||||
/* nx_igmp.h PORTABLE C */
|
||||
/* 6.1 */
|
||||
/* 6.1.9 */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
/* Yuxin Zhou, Microsoft Corporation */
|
||||
@ -44,12 +44,17 @@
|
||||
/* 05-19-2020 Yuxin Zhou Initial Version 6.0 */
|
||||
/* 09-30-2020 Yuxin Zhou Modified comment(s), */
|
||||
/* resulting in version 6.1 */
|
||||
/* 10-15-2021 Yuxin Zhou Modified comment(s), included */
|
||||
/* necessary header file, */
|
||||
/* resulting in version 6.1.9 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
#ifndef NX_IGMP_H
|
||||
#define NX_IGMP_H
|
||||
|
||||
#include "nx_api.h"
|
||||
|
||||
|
||||
/* Define IGMP types and codes. */
|
||||
|
||||
|
@ -26,7 +26,7 @@
|
||||
/* COMPONENT DEFINITION RELEASE */
|
||||
/* */
|
||||
/* nx_ip.h PORTABLE C */
|
||||
/* 6.1 */
|
||||
/* 6.1.9 */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
/* Yuxin Zhou, Microsoft Corporation */
|
||||
@ -44,12 +44,17 @@
|
||||
/* 05-19-2020 Yuxin Zhou Initial Version 6.0 */
|
||||
/* 09-30-2020 Yuxin Zhou Modified comment(s), */
|
||||
/* resulting in version 6.1 */
|
||||
/* 10-15-2021 Yuxin Zhou Modified comment(s), included */
|
||||
/* necessary header file, */
|
||||
/* resulting in version 6.1.9 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
#ifndef NX_IP_H
|
||||
#define NX_IP_H
|
||||
|
||||
#include "nx_api.h"
|
||||
|
||||
|
||||
/* Define IP constants. */
|
||||
|
||||
|
@ -50,7 +50,7 @@
|
||||
/* COMPONENT DEFINITION RELEASE */
|
||||
/* */
|
||||
/* nx_md5.h PORTABLE C */
|
||||
/* 6.1 */
|
||||
/* 6.1.9 */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
/* Yuxin Zhou, Microsoft Corporation */
|
||||
@ -73,12 +73,17 @@
|
||||
/* 05-19-2020 Yuxin Zhou Initial Version 6.0 */
|
||||
/* 09-30-2020 Yuxin Zhou Modified comment(s), */
|
||||
/* resulting in version 6.1 */
|
||||
/* 10-15-2021 Yuxin Zhou Modified comment(s), included */
|
||||
/* necessary header file, */
|
||||
/* resulting in version 6.1.9 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
#ifndef NX_MD5_H
|
||||
#define NX_MD5_H
|
||||
|
||||
#include "nx_api.h"
|
||||
|
||||
|
||||
/* Define the MD5 context structure. */
|
||||
|
||||
|
@ -26,7 +26,7 @@
|
||||
/* COMPONENT DEFINITION RELEASE */
|
||||
/* */
|
||||
/* nx_packet.h PORTABLE C */
|
||||
/* 6.1 */
|
||||
/* 6.1.9 */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
/* Yuxin Zhou, Microsoft Corporation */
|
||||
@ -44,12 +44,17 @@
|
||||
/* 05-19-2020 Yuxin Zhou Initial Version 6.0 */
|
||||
/* 09-30-2020 Yuxin Zhou Modified comment(s), */
|
||||
/* resulting in version 6.1 */
|
||||
/* 10-15-2021 Yuxin Zhou Modified comment(s), included */
|
||||
/* necessary header file, */
|
||||
/* resulting in version 6.1.9 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
#ifndef NX_PAC_H
|
||||
#define NX_PAC_H
|
||||
|
||||
#include "nx_api.h"
|
||||
|
||||
|
||||
#define NX_PACKET_POOL_ID ((ULONG)0x5041434B)
|
||||
|
||||
|
@ -26,7 +26,7 @@
|
||||
/* COMPONENT DEFINITION RELEASE */
|
||||
/* */
|
||||
/* nx_rarp.h PORTABLE C */
|
||||
/* 6.1 */
|
||||
/* 6.1.9 */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
/* Yuxin Zhou, Microsoft Corporation */
|
||||
@ -44,12 +44,17 @@
|
||||
/* 05-19-2020 Yuxin Zhou Initial Version 6.0 */
|
||||
/* 09-30-2020 Yuxin Zhou Modified comment(s), */
|
||||
/* resulting in version 6.1 */
|
||||
/* 10-15-2021 Yuxin Zhou Modified comment(s), included */
|
||||
/* necessary header file, */
|
||||
/* resulting in version 6.1.9 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
#ifndef NX_RARP_H
|
||||
#define NX_RARP_H
|
||||
|
||||
#include "nx_api.h"
|
||||
|
||||
|
||||
/* Define RARP Message format. This will get encapsulated by an Ethernet frame
|
||||
as well. The Ethernet frame will typically have a 6-byte Ethernet destination
|
||||
|
@ -26,7 +26,7 @@
|
||||
/* COMPONENT DEFINITION RELEASE */
|
||||
/* */
|
||||
/* nx_tcp.h PORTABLE C */
|
||||
/* 6.1 */
|
||||
/* 6.1.9 */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
/* Yuxin Zhou, Microsoft Corporation */
|
||||
@ -44,12 +44,17 @@
|
||||
/* 05-19-2020 Yuxin Zhou Initial Version 6.0 */
|
||||
/* 09-30-2020 Yuxin Zhou Modified comment(s), */
|
||||
/* resulting in version 6.1 */
|
||||
/* 10-15-2021 Yuxin Zhou Modified comment(s), included */
|
||||
/* necessary header file, */
|
||||
/* resulting in version 6.1.9 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
#ifndef NX_TCP_H
|
||||
#define NX_TCP_H
|
||||
|
||||
#include "nx_api.h"
|
||||
|
||||
|
||||
/* Define TCP constants. */
|
||||
|
||||
|
@ -26,7 +26,7 @@
|
||||
/* COMPONENT DEFINITION RELEASE */
|
||||
/* */
|
||||
/* nx_udp.h PORTABLE C */
|
||||
/* 6.1 */
|
||||
/* 6.1.9 */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
/* Yuxin Zhou, Microsoft Corporation */
|
||||
@ -44,12 +44,17 @@
|
||||
/* 05-19-2020 Yuxin Zhou Initial Version 6.0 */
|
||||
/* 09-30-2020 Yuxin Zhou Modified comment(s), */
|
||||
/* resulting in version 6.1 */
|
||||
/* 10-15-2021 Yuxin Zhou Modified comment(s), included */
|
||||
/* necessary header file, */
|
||||
/* resulting in version 6.1.9 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
#ifndef NX_UDP_H
|
||||
#define NX_UDP_H
|
||||
|
||||
#include "nx_api.h"
|
||||
|
||||
|
||||
/* Define UDP constants. */
|
||||
|
||||
|
@ -35,7 +35,7 @@
|
||||
/* FUNCTION RELEASE */
|
||||
/* */
|
||||
/* _nx_tcp_socket_state_ack_check PORTABLE C */
|
||||
/* 6.1 */
|
||||
/* 6.1.9 */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
/* Yuxin Zhou, Microsoft Corporation */
|
||||
@ -73,11 +73,17 @@
|
||||
/* 05-19-2020 Yuxin Zhou Initial Version 6.0 */
|
||||
/* 09-30-2020 Yuxin Zhou Modified comment(s), */
|
||||
/* resulting in version 6.1 */
|
||||
/* 10-15-2021 Yuxin Zhou Modified comment(s), */
|
||||
/* fixed the bug of race */
|
||||
/* condition, */
|
||||
/* resulting in version 6.1.9 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
VOID _nx_tcp_socket_state_ack_check(NX_TCP_SOCKET *socket_ptr, NX_TCP_HEADER *tcp_header_ptr)
|
||||
{
|
||||
|
||||
TX_INTERRUPT_SAVE_AREA
|
||||
|
||||
NX_TCP_HEADER *search_header_ptr;
|
||||
NX_PACKET *search_ptr;
|
||||
NX_PACKET *previous_ptr;
|
||||
@ -619,6 +625,9 @@ UINT wrapped_flag = NX_FALSE;
|
||||
next pointer. */
|
||||
search_ptr = search_ptr -> nx_packet_tcp_queue_next;
|
||||
|
||||
/* Disable interrupts temporarily. */
|
||||
TX_DISABLE
|
||||
|
||||
/* Set the packet to allocated to indicate it is no longer part of the TCP queue. */
|
||||
previous_ptr -> nx_packet_tcp_queue_next = ((NX_PACKET *)NX_PACKET_ALLOCATED);
|
||||
|
||||
@ -630,6 +639,9 @@ UINT wrapped_flag = NX_FALSE;
|
||||
if (previous_ptr -> nx_packet_queue_next == ((NX_PACKET *)NX_DRIVER_TX_DONE))
|
||||
{
|
||||
|
||||
/* Restore interrupts. */
|
||||
TX_RESTORE
|
||||
|
||||
/* Yes, the driver has already released the packet. */
|
||||
|
||||
/* Open up the transmit window. */
|
||||
@ -656,8 +668,8 @@ UINT wrapped_flag = NX_FALSE;
|
||||
/* Simply reset the outstanding bytes. */
|
||||
socket_ptr -> nx_tcp_socket_tx_outstanding_bytes = 0;
|
||||
|
||||
/* Let driver release the packet. */
|
||||
previous_ptr -> nx_packet_tcp_queue_next = ((NX_PACKET *)NX_PACKET_ALLOCATED);
|
||||
/* Restore interrupts. */
|
||||
TX_RESTORE
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -207,7 +207,7 @@ UINT i;
|
||||
/* FUNCTION RELEASE */
|
||||
/* */
|
||||
/* _nx_utility_uint_to_string PORTABLE C */
|
||||
/* 6.1.8 */
|
||||
/* 6.1.9 */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
/* Yuxin Zhou, Microsoft Corporation */
|
||||
@ -243,6 +243,9 @@ UINT i;
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 08-02-2021 Yuxin Zhou Initial Version 6.1.8 */
|
||||
/* 10-15-2021 Yuxin Zhou Modified comment(s), */
|
||||
/* checked invalid input value,*/
|
||||
/* resulting in version 6.1.9 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
UINT _nx_utility_uint_to_string(UINT number, UINT base, CHAR *string_buffer, UINT string_buffer_size)
|
||||
@ -252,7 +255,7 @@ UINT digit;
|
||||
UINT size;
|
||||
|
||||
/* Check for invalid input pointers. */
|
||||
if ((string_buffer == NX_NULL) || (string_buffer_size == 0))
|
||||
if ((string_buffer == NX_NULL) || (string_buffer_size == 0) || (base == 0))
|
||||
{
|
||||
return(0);
|
||||
}
|
||||
|
@ -201,7 +201,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX ARCv2_EM/MetaWare Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX ARCv2_EM/MetaWare Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -201,7 +201,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX ARC_HS/MetaWare Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX ARC_HS/MetaWare Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -201,7 +201,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX ARM9/AC5 Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX ARM9/AC5 Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -201,7 +201,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX ARM9/GNU Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX ARM9/GNU Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -201,7 +201,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX ARM9/IAR Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX ARM9/IAR Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -201,7 +201,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX C667X/TI Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX C667X/TI Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -201,7 +201,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A15/GNU Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A15/GNU Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -201,7 +201,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A5/AC5 Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A5/AC5 Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -201,7 +201,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A7/GNU Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A7/GNU Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -201,7 +201,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A5/IAR Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A5/IAR Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -201,7 +201,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A5x/AC6 Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A5x/AC6 Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -201,7 +201,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A7/AC5 Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A7/AC5 Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -201,7 +201,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A7/GNU Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A7/GNU Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -201,7 +201,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A7/IAR Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A7/IAR Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -201,7 +201,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A8/AC5 Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A8/AC5 Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -201,7 +201,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A8/GNU Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A8/GNU Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -201,7 +201,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A8/IAR Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A8/IAR Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -201,7 +201,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A9/AC5 Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A9/AC5 Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -201,7 +201,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A9/GNU Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A9/GNU Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -201,7 +201,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A9/IAR Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A9/IAR Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -201,7 +201,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A9/AC5 Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A9/AC5 Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -201,7 +201,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M0/AC5 Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M0/AC5 Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -184,7 +184,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M0/GNU Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M0/GNU Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -181,7 +181,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M0/IAR Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M0/IAR Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -201,7 +201,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M23/AC5 Version 6.1.3 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M23/AC5 Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -182,7 +182,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M23/GNU Version 6.1.3 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M23/GNU Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -181,7 +181,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M23/IAR Version 6.1.3 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M23/IAR Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -201,7 +201,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M3/AC5 Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M3/AC5 Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -183,7 +183,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M3/GNU Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M3/GNU Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -181,7 +181,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M3/IAR Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M3/IAR Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -201,7 +201,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M3/Keil Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M3/Keil Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -201,7 +201,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M33/AC5 Version 6.1.3 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M33/AC5 Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -190,7 +190,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M33/GNU Version 6.1.3 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M33/GNU Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -181,7 +181,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M33/IAR Version 6.1.3 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M33/IAR Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -201,7 +201,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M4/AC5 Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M4/AC5 Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -184,7 +184,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M3/GNU Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M3/GNU Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -181,7 +181,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M4/IAR Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M4/IAR Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -201,7 +201,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M4/Keil Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M4/Keil Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -201,7 +201,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M7/AC5 Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M7/AC5 Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -184,7 +184,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M7/GNU Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M7/GNU Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -181,7 +181,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M7/IAR Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M7/IAR Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -201,7 +201,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-R4/AC5 Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-R4/AC5 Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -179,7 +179,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-R4/AC6 Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-R4/AC6 Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -180,7 +180,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-R4/GNU Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-R4/GNU Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -201,7 +201,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-R4/IAR Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-R4/IAR Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -201,7 +201,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-R5/AC5 Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-R5/AC5 Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -180,7 +180,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-R5/GNU Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-R5/GNU Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -201,7 +201,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-R5/IAR Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-R5/IAR Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -200,7 +200,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Linux/GNU Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Linux/GNU Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -212,7 +212,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX RXv2/CCRX Version 6.1.3 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX RXv2/CCRX Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -201,7 +201,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX RXv2/GNU Version 6.1.3 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX RXv2/GNU Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -201,7 +201,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX RXv2/IAR Version 6.1.3 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX RXv2/IAR Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
@ -201,7 +201,7 @@
|
||||
|
||||
#ifdef NX_SYSTEM_INIT
|
||||
CHAR _nx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Win32/VS2019 Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Win32/VS2019 Version 6.1.9 *";
|
||||
#else
|
||||
extern CHAR _nx_version_id[];
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user