<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>MQX Software SolutionsのトピックMQX 4.1 HTTP Server question</title>
    <link>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-4-1-HTTP-Server-question/m-p/273705#M8463</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Everyone&lt;/P&gt;&lt;P&gt;I just downloaded and got MQX 4.1 up and running with our new board, however i have noticed something strange.&lt;/P&gt;&lt;P&gt;Before this, we used MQX 4.0 with the older HTTP server implementation, however mqx 4.0 had a function "httpd_get_varval" which allowed me to extract the key/value pairs submitted through the http web form.&lt;/P&gt;&lt;P&gt;I can't seem to find this or an alternative function in the MQX 4.1. Am i missing something? how can i achieve the same functionality so i can port the rest of the code we have?&lt;/P&gt;&lt;P&gt;We are using this for device configuration through the web screens.&lt;/P&gt;&lt;P&gt;Any help will be highly appreciated. I also paste the example code of how the old function was used.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PRIVATE INT CGI_resetFault(HTTPD_SESSION_STRUCT *session)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp; //Get the current configuration for this device&lt;/P&gt;&lt;P&gt;&amp;nbsp; UINT&amp;nbsp; uiLen&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0, i=0;&lt;/P&gt;&lt;P&gt;&amp;nbsp; CHAR&amp;nbsp; sClearFault[6][55]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = {0};&lt;/P&gt;&lt;P&gt;&amp;nbsp; CHAR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * ucpBuffer&amp;nbsp;&amp;nbsp; = NULL;&lt;/P&gt;&lt;P&gt;&amp;nbsp; INT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iError = SUCCESS;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; ucpBuffer = NG_MALLOC_ZERO(MAX_HTTP_BUFFER_SIZE);&lt;/P&gt;&lt;P&gt;&amp;nbsp; if(!ucpBuffer){iError = HTML_ERROR_INTERNAL; LRETURN;}&lt;/P&gt;&lt;P&gt;&amp;nbsp; if(!session-&amp;gt;request.content_len) {iError = HTML_ERROR_MISSING_OR_INVALID_PARAMS; LRETURN;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; uiLen = session-&amp;gt;request.content_len;&lt;/P&gt;&lt;P&gt;&amp;nbsp; uiLen = httpd_read(session, ucpBuffer, (INT)((uiLen &amp;gt; MAX_HTTP_BUFFER_SIZE) ? MAX_HTTP_BUFFER_SIZE : uiLen));&lt;/P&gt;&lt;P&gt;&amp;nbsp; ucpBuffer[uiLen] = 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp; session-&amp;gt;request.content_len -= uiLen;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if (&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; !(&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; httpd_get_varval(session, ucpBuffer, "Rf_d1", sClearFault[0], sizeof(sClearFault[0])) ||&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; httpd_get_varval(session, ucpBuffer, "Rf_d2", sClearFault[1], sizeof(sClearFault[1])) ||&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; httpd_get_varval(session, ucpBuffer, "Rf_d3", sClearFault[2], sizeof(sClearFault[2])) ||&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; httpd_get_varval(session, ucpBuffer, "Rf_d4", sClearFault[3], sizeof(sClearFault[3])) ||&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; httpd_get_varval(session, ucpBuffer, "Rf_d5", sClearFault[4], sizeof(sClearFault[4])) ||&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; httpd_get_varval(session, ucpBuffer, "Rf_d6", sClearFault[5], sizeof(sClearFault[5]))&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;/P&gt;&lt;P&gt;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; iError = HTML_ERROR_MISSING_OR_INVALID_PARAMS; LRETURN; //Missing or invalid params&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; for(i=0;i&amp;lt;6;i++)&lt;/P&gt;&lt;P&gt;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(atol(sClearFault[i]))&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gsaDevs[i].ucToFaultCnt = 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; END;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; CGI_sendHttpResultMessage(session,SUCCESS, DEVICE_STATUS_PAGE_PATH);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; iError = session-&amp;gt;request.content_len;&lt;/P&gt;&lt;P&gt;&amp;nbsp; return iError;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 04 Mar 2014 04:38:54 GMT</pubDate>
    <dc:creator>igor-imx</dc:creator>
    <dc:date>2014-03-04T04:38:54Z</dc:date>
    <item>
      <title>MQX 4.1 HTTP Server question</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-4-1-HTTP-Server-question/m-p/273705#M8463</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Everyone&lt;/P&gt;&lt;P&gt;I just downloaded and got MQX 4.1 up and running with our new board, however i have noticed something strange.&lt;/P&gt;&lt;P&gt;Before this, we used MQX 4.0 with the older HTTP server implementation, however mqx 4.0 had a function "httpd_get_varval" which allowed me to extract the key/value pairs submitted through the http web form.&lt;/P&gt;&lt;P&gt;I can't seem to find this or an alternative function in the MQX 4.1. Am i missing something? how can i achieve the same functionality so i can port the rest of the code we have?&lt;/P&gt;&lt;P&gt;We are using this for device configuration through the web screens.&lt;/P&gt;&lt;P&gt;Any help will be highly appreciated. I also paste the example code of how the old function was used.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PRIVATE INT CGI_resetFault(HTTPD_SESSION_STRUCT *session)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp; //Get the current configuration for this device&lt;/P&gt;&lt;P&gt;&amp;nbsp; UINT&amp;nbsp; uiLen&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0, i=0;&lt;/P&gt;&lt;P&gt;&amp;nbsp; CHAR&amp;nbsp; sClearFault[6][55]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = {0};&lt;/P&gt;&lt;P&gt;&amp;nbsp; CHAR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * ucpBuffer&amp;nbsp;&amp;nbsp; = NULL;&lt;/P&gt;&lt;P&gt;&amp;nbsp; INT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iError = SUCCESS;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; ucpBuffer = NG_MALLOC_ZERO(MAX_HTTP_BUFFER_SIZE);&lt;/P&gt;&lt;P&gt;&amp;nbsp; if(!ucpBuffer){iError = HTML_ERROR_INTERNAL; LRETURN;}&lt;/P&gt;&lt;P&gt;&amp;nbsp; if(!session-&amp;gt;request.content_len) {iError = HTML_ERROR_MISSING_OR_INVALID_PARAMS; LRETURN;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; uiLen = session-&amp;gt;request.content_len;&lt;/P&gt;&lt;P&gt;&amp;nbsp; uiLen = httpd_read(session, ucpBuffer, (INT)((uiLen &amp;gt; MAX_HTTP_BUFFER_SIZE) ? MAX_HTTP_BUFFER_SIZE : uiLen));&lt;/P&gt;&lt;P&gt;&amp;nbsp; ucpBuffer[uiLen] = 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp; session-&amp;gt;request.content_len -= uiLen;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if (&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; !(&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; httpd_get_varval(session, ucpBuffer, "Rf_d1", sClearFault[0], sizeof(sClearFault[0])) ||&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; httpd_get_varval(session, ucpBuffer, "Rf_d2", sClearFault[1], sizeof(sClearFault[1])) ||&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; httpd_get_varval(session, ucpBuffer, "Rf_d3", sClearFault[2], sizeof(sClearFault[2])) ||&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; httpd_get_varval(session, ucpBuffer, "Rf_d4", sClearFault[3], sizeof(sClearFault[3])) ||&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; httpd_get_varval(session, ucpBuffer, "Rf_d5", sClearFault[4], sizeof(sClearFault[4])) ||&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; httpd_get_varval(session, ucpBuffer, "Rf_d6", sClearFault[5], sizeof(sClearFault[5]))&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;/P&gt;&lt;P&gt;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; iError = HTML_ERROR_MISSING_OR_INVALID_PARAMS; LRETURN; //Missing or invalid params&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; for(i=0;i&amp;lt;6;i++)&lt;/P&gt;&lt;P&gt;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(atol(sClearFault[i]))&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gsaDevs[i].ucToFaultCnt = 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; END;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; CGI_sendHttpResultMessage(session,SUCCESS, DEVICE_STATUS_PAGE_PATH);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; iError = session-&amp;gt;request.content_len;&lt;/P&gt;&lt;P&gt;&amp;nbsp; return iError;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Mar 2014 04:38:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-4-1-HTTP-Server-question/m-p/273705#M8463</guid>
      <dc:creator>igor-imx</dc:creator>
      <dc:date>2014-03-04T04:38:54Z</dc:date>
    </item>
    <item>
      <title>Re: MQX 4.1 HTTP Server question</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-4-1-HTTP-Server-question/m-p/273706#M8464</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I found the answer to the question&lt;/P&gt;&lt;P&gt;In the hval_web demo this function is provided, it just was excluded from the BSP in the new web server implementation&lt;/P&gt;&lt;P&gt;thank you&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Mar 2014 16:32:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-4-1-HTTP-Server-question/m-p/273706#M8464</guid>
      <dc:creator>igor-imx</dc:creator>
      <dc:date>2014-03-05T16:32:43Z</dc:date>
    </item>
  </channel>
</rss>

