]> git.sur5r.net Git - freertos/blobdiff - FreeRTOS-Plus/Demo/Common/FreeRTOS_Plus_CLI_Demos/UDP-Related-CLI-commands.c
Update to MIT licensed FreeRTOS V10.0.0 - see https://www.freertos.org/History.txt
[freertos] / FreeRTOS-Plus / Demo / Common / FreeRTOS_Plus_CLI_Demos / UDP-Related-CLI-commands.c
index 11fe1c41d8b71a2e76ff68e781f61a2706bb1c8f..d0d29d5ede9ccc5b2002f33c452717d721be6ff9 100644 (file)
@@ -1,67 +1,30 @@
 /*\r
-    FreeRTOS V7.6.0 - Copyright (C) 2013 Real Time Engineers Ltd.\r
-    All rights reserved\r
-\r
-    VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.\r
-\r
-    ***************************************************************************\r
-     *                                                                       *\r
-     *    FreeRTOS provides completely free yet professionally developed,    *\r
-     *    robust, strictly quality controlled, supported, and cross          *\r
-     *    platform software that has become a de facto standard.             *\r
-     *                                                                       *\r
-     *    Help yourself get started quickly and support the FreeRTOS         *\r
-     *    project by purchasing a FreeRTOS tutorial book, reference          *\r
-     *    manual, or both from: http://www.FreeRTOS.org/Documentation        *\r
-     *                                                                       *\r
-     *    Thank you!                                                         *\r
-     *                                                                       *\r
-    ***************************************************************************\r
-\r
-    This file is part of the FreeRTOS distribution.\r
-\r
-    FreeRTOS is free software; you can redistribute it and/or modify it under\r
-    the terms of the GNU General Public License (version 2) as published by the\r
-    Free Software Foundation >>!AND MODIFIED BY!<< the FreeRTOS exception.\r
-\r
-    >>! NOTE: The modification to the GPL is included to allow you to distribute\r
-    >>! a combined work that includes FreeRTOS without being obliged to provide\r
-    >>! the source code for proprietary components outside of the FreeRTOS\r
-    >>! kernel.\r
-\r
-    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY\r
-    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\r
-    FOR A PARTICULAR PURPOSE.  Full license text is available from the following\r
-    link: http://www.freertos.org/a00114.html\r
-\r
-    1 tab == 4 spaces!\r
-\r
-    ***************************************************************************\r
-     *                                                                       *\r
-     *    Having a problem?  Start by reading the FAQ "My application does   *\r
-     *    not run, what could be wrong?"                                     *\r
-     *                                                                       *\r
-     *    http://www.FreeRTOS.org/FAQHelp.html                               *\r
-     *                                                                       *\r
-    ***************************************************************************\r
-\r
-    http://www.FreeRTOS.org - Documentation, books, training, latest versions,\r
-    license and Real Time Engineers Ltd. contact details.\r
-\r
-    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,\r
-    including FreeRTOS+Trace - an indispensable productivity tool, a DOS\r
-    compatible FAT file system, and our tiny thread aware UDP/IP stack.\r
-\r
-    http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High\r
-    Integrity Systems to sell under the OpenRTOS brand.  Low cost OpenRTOS\r
-    licenses offer ticketed support, indemnification and middleware.\r
-\r
-    http://www.SafeRTOS.com - High Integrity Systems also provide a safety\r
-    engineered and independently SIL3 certified version for use in safety and\r
-    mission critical applications that require provable dependability.\r
-\r
-    1 tab == 4 spaces!\r
-*/\r
+ * FreeRTOS Kernel V10.0.0\r
+ * Copyright (C) 2017 Amazon.com, Inc. or its affiliates.  All Rights Reserved.\r
+ *\r
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of\r
+ * this software and associated documentation files (the "Software"), to deal in\r
+ * the Software without restriction, including without limitation the rights to\r
+ * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\r
+ * the Software, and to permit persons to whom the Software is furnished to do so,\r
+ * subject to the following conditions:\r
+ *\r
+ * The above copyright notice and this permission notice shall be included in all\r
+ * copies or substantial portions of the Software. If you wish to use our Amazon\r
+ * FreeRTOS name, please do so in a fair use way that does not cause confusion.\r
+ *\r
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\r
+ * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\r
+ * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\r
+ * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
+ *\r
+ * http://www.FreeRTOS.org\r
+ * http://aws.amazon.com/freertos\r
+ *\r
+ * 1 tab == 4 spaces!\r
+ */\r
 \r
  /******************************************************************************\r
  *\r
@@ -91,23 +54,23 @@ commands. */
 /*\r
  * Defines a command that prints out IP address information.\r
  */\r
-static portBASE_TYPE prvDisplayIPConfig( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );\r
+static BaseType_t prvDisplayIPConfig( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );\r
 \r
 /*\r
  * Defines a command that prints out the gathered demo debug stats.\r
  */\r
-static portBASE_TYPE prvDisplayIPDebugStats( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );\r
+static BaseType_t prvDisplayIPDebugStats( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );\r
 \r
 /*\r
  * Defines a command that sends an ICMP ping request to an IP address.\r
  */\r
-static portBASE_TYPE prvPingCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );\r
+static BaseType_t prvPingCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );\r
 \r
 /* Structure that defines the "ip-config" command line command. */\r
 static const CLI_Command_Definition_t xIPConfig =\r
 {\r
-       ( const int8_t * const ) "ip-config",\r
-       ( const int8_t * const ) "ip-config:\r\n Displays IP address configuration\r\n\r\n",\r
+       "ip-config",\r
+       "ip-config:\r\n Displays IP address configuration\r\n\r\n",\r
        prvDisplayIPConfig,\r
        0\r
 };\r
@@ -116,8 +79,8 @@ static const CLI_Command_Definition_t xIPConfig =
        /* Structure that defines the "ip-debug-stats" command line command. */\r
        static const CLI_Command_Definition_t xIPDebugStats =\r
        {\r
-               ( const int8_t * const ) "ip-debug-stats", /* The command string to type. */\r
-               ( const int8_t * const ) "ip-debug-stats:\r\n Shows some IP stack stats useful for debug - an example only.\r\n\r\n",\r
+               "ip-debug-stats", /* The command string to type. */\r
+               "ip-debug-stats:\r\n Shows some IP stack stats useful for debug - an example only.\r\n\r\n",\r
                prvDisplayIPDebugStats, /* The function to run. */\r
                0 /* No parameters are expected. */\r
        };\r
@@ -130,8 +93,8 @@ static const CLI_Command_Definition_t xIPConfig =
        parameters. */\r
        static const CLI_Command_Definition_t xPing =\r
        {\r
-               ( const int8_t * const ) "ping",\r
-               ( const int8_t * const ) "ping <ipaddress> <optional:bytes to send>:\r\n for example, ping 192.168.0.3 8, or ping www.example.com\r\n\r\n",\r
+               "ping",\r
+               "ping <ipaddress> <optional:bytes to send>:\r\n for example, ping 192.168.0.3 8, or ping www.example.com\r\n\r\n",\r
                prvPingCommand, /* The function to run. */\r
                -1 /* Ping can take either one or two parameter, so the number of parameters has to be determined by the ping command implementation. */\r
        };\r
@@ -162,13 +125,13 @@ void vRegisterUDPCLICommands( void )
 \r
 #if ipconfigSUPPORT_OUTGOING_PINGS == 1\r
 \r
-       static portBASE_TYPE prvPingCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )\r
+       static BaseType_t prvPingCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )\r
        {\r
-       int8_t * pcParameter;\r
-       portBASE_TYPE lParameterStringLength, xReturn;\r
+       char * pcParameter;\r
+       BaseType_t lParameterStringLength, xReturn;\r
        uint32_t ulIPAddress, ulBytesToPing;\r
        const uint32_t ulDefaultBytesToPing = 8UL;\r
-       int8_t cBuffer[ 16 ];\r
+       char cBuffer[ 16 ];\r
 \r
                /* Remove compile time warnings about unused parameters, and check the\r
                write buffer is not NULL.  NOTE - for simplicity, this example assumes the\r
@@ -181,12 +144,12 @@ void vRegisterUDPCLICommands( void )
                pcWriteBuffer[ 0 ] = 0x00;\r
 \r
                /* Obtain the number of bytes to ping. */\r
-               pcParameter = ( int8_t * ) FreeRTOS_CLIGetParameter\r
-                                                                       (\r
-                                                                               pcCommandString,                /* The command string itself. */\r
-                                                                               2,                                              /* Return the second parameter. */\r
-                                                                               &lParameterStringLength /* Store the parameter string length. */\r
-                                                                       );\r
+               pcParameter = ( char * ) FreeRTOS_CLIGetParameter\r
+                                                               (\r
+                                                                       pcCommandString,                /* The command string itself. */\r
+                                                                       2,                                              /* Return the second parameter. */\r
+                                                                       &lParameterStringLength /* Store the parameter string length. */\r
+                                                               );\r
 \r
                if( pcParameter == NULL )\r
                {\r
@@ -195,16 +158,16 @@ void vRegisterUDPCLICommands( void )
                }\r
                else\r
                {\r
-                       ulBytesToPing = atol( ( const char * ) pcParameter );\r
+                       ulBytesToPing = atol( pcParameter );\r
                }\r
 \r
                /* Obtain the IP address string. */\r
-               pcParameter = ( int8_t * ) FreeRTOS_CLIGetParameter\r
-                                                                       (\r
-                                                                               pcCommandString,                /* The command string itself. */\r
-                                                                               1,                                              /* Return the first parameter. */\r
-                                                                               &lParameterStringLength /* Store the parameter string length. */\r
-                                                                       );\r
+               pcParameter = ( char * ) FreeRTOS_CLIGetParameter\r
+                                                               (\r
+                                                                       pcCommandString,                /* The command string itself. */\r
+                                                                       1,                                              /* Return the first parameter. */\r
+                                                                       &lParameterStringLength /* Store the parameter string length. */\r
+                                                               );\r
 \r
                /* Sanity check something was returned. */\r
                configASSERT( pcParameter );\r
@@ -213,7 +176,7 @@ void vRegisterUDPCLICommands( void )
                digit, assume the host name has been passed in. */\r
                if( ( *pcParameter >= '0' ) && ( *pcParameter <= '9' ) )\r
                {\r
-                       ulIPAddress = FreeRTOS_inet_addr( ( const uint8_t * ) pcParameter );\r
+                       ulIPAddress = FreeRTOS_inet_addr( pcParameter );\r
                }\r
                else\r
                {\r
@@ -221,11 +184,11 @@ void vRegisterUDPCLICommands( void )
                        pcParameter[ lParameterStringLength ] = 0x00;\r
 \r
                        /* Attempt to resolve host. */\r
-                       ulIPAddress = FreeRTOS_gethostbyname( ( uint8_t * ) pcParameter );\r
+                       ulIPAddress = FreeRTOS_gethostbyname( pcParameter );\r
                }\r
 \r
                /* Convert IP address, which may have come from a DNS lookup, to string. */\r
-               FreeRTOS_inet_ntoa( ulIPAddress, ( char * ) cBuffer );\r
+               FreeRTOS_inet_ntoa( ulIPAddress, cBuffer );\r
 \r
                if( ulIPAddress != 0 )\r
                {\r
@@ -238,11 +201,11 @@ void vRegisterUDPCLICommands( void )
 \r
                if( xReturn == pdFALSE )\r
                {\r
-                       sprintf( ( char * ) pcWriteBuffer, "%s", "Could not send ping request\r\n" );\r
+                       sprintf( pcWriteBuffer, "%s", "Could not send ping request\r\n" );\r
                }\r
                else\r
                {\r
-                       sprintf( ( char * ) pcWriteBuffer, "Ping sent to %s with identifier %d\r\n", cBuffer, ( int ) xReturn );\r
+                       sprintf( pcWriteBuffer, "Ping sent to %s with identifier %d\r\n", cBuffer, ( int ) xReturn );\r
                }\r
 \r
                return pdFALSE;\r
@@ -253,11 +216,11 @@ void vRegisterUDPCLICommands( void )
 \r
 #if configINCLUDE_DEMO_DEBUG_STATS != 0\r
 \r
-       static portBASE_TYPE prvDisplayIPDebugStats( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )\r
+       static BaseType_t prvDisplayIPDebugStats( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )\r
        {\r
-       static portBASE_TYPE xIndex = -1;\r
+       static BaseType_t xIndex = -1;\r
        extern xExampleDebugStatEntry_t xIPTraceValues[];\r
-       portBASE_TYPE xReturn;\r
+       BaseType_t xReturn;\r
 \r
                /* Remove compile time warnings about unused parameters, and check the\r
                write buffer is not NULL.  NOTE - for simplicity, this example assumes the\r
@@ -270,7 +233,7 @@ void vRegisterUDPCLICommands( void )
 \r
                if( xIndex < xExampleDebugStatEntries() )\r
                {\r
-                       sprintf( ( char * ) pcWriteBuffer, "%s %d\r\n", ( char * ) xIPTraceValues[ xIndex ].pucDescription, ( int ) xIPTraceValues[ xIndex ].ulData );\r
+                       sprintf( pcWriteBuffer, "%s %d\r\n", ( char * ) xIPTraceValues[ xIndex ].pucDescription, ( int ) xIPTraceValues[ xIndex ].ulData );\r
                        xReturn = pdPASS;\r
                }\r
                else\r
@@ -289,10 +252,10 @@ void vRegisterUDPCLICommands( void )
 \r
 #endif /* configINCLUDE_DEMO_DEBUG_STATS */\r
 \r
-static portBASE_TYPE prvDisplayIPConfig( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )\r
+static BaseType_t prvDisplayIPConfig( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )\r
 {\r
-static portBASE_TYPE xIndex = 0;\r
-portBASE_TYPE xReturn;\r
+static BaseType_t xIndex = 0;\r
+BaseType_t xReturn;\r
 uint32_t ulAddress;\r
 \r
        /* Remove compile time warnings about unused parameters, and check the\r
@@ -306,35 +269,35 @@ uint32_t ulAddress;
        {\r
                case 0 :\r
                        FreeRTOS_GetAddressConfiguration( &ulAddress, NULL, NULL, NULL );\r
-                       sprintf( ( char * ) pcWriteBuffer, "\r\nIP address " );\r
+                       sprintf( pcWriteBuffer, "\r\nIP address " );\r
                        xReturn = pdTRUE;\r
                        xIndex++;\r
                        break;\r
 \r
                case 1 :\r
                        FreeRTOS_GetAddressConfiguration( NULL, &ulAddress, NULL, NULL );\r
-                       sprintf( ( char * ) pcWriteBuffer, "\r\nNet mask " );\r
+                       sprintf( pcWriteBuffer, "\r\nNet mask " );\r
                        xReturn = pdTRUE;\r
                        xIndex++;\r
                        break;\r
 \r
                case 2 :\r
                        FreeRTOS_GetAddressConfiguration( NULL, NULL, &ulAddress, NULL );\r
-                       sprintf( ( char * ) pcWriteBuffer, "\r\nGateway address " );\r
+                       sprintf( pcWriteBuffer, "\r\nGateway address " );\r
                        xReturn = pdTRUE;\r
                        xIndex++;\r
                        break;\r
 \r
                case 3 :\r
                        FreeRTOS_GetAddressConfiguration( NULL, NULL, NULL, &ulAddress );\r
-                       sprintf( ( char * ) pcWriteBuffer, "\r\nDNS server address " );\r
+                       sprintf( pcWriteBuffer, "\r\nDNS server address " );\r
                        xReturn = pdTRUE;\r
                        xIndex++;\r
                        break;\r
 \r
                default :\r
                        ulAddress = 0;\r
-                       sprintf( ( char * ) pcWriteBuffer, "\r\n\r\n" );\r
+                       sprintf( pcWriteBuffer, "\r\n\r\n" );\r
                        xReturn = pdFALSE;\r
                        xIndex = 0;\r
                        break;\r
@@ -342,7 +305,7 @@ uint32_t ulAddress;
 \r
        if( ulAddress != 0 )\r
        {\r
-               FreeRTOS_inet_ntoa( ulAddress, ( ( char * ) &( pcWriteBuffer[ strlen( ( char * ) pcWriteBuffer ) ] ) ) );\r
+               FreeRTOS_inet_ntoa( ulAddress, ( &( pcWriteBuffer[ strlen( pcWriteBuffer ) ] ) ) );\r
        }\r
 \r
        return xReturn;\r