zoukankan      html  css  js  c++  java
  • tr69 错误调试

    1. main/informer.c

       handleSoapMessageCallBack()

      {

            handleSoapMessage();

      }

    2. handleSoapMessage()

       {

            status = parseGeneric(NULL, soapmsg, len, &parseReq);     

           ....

           if ( runRPC() == eRPCRunFail)

       }

    3. runRPC()       include in SOAPParser/RPCState.c

         ....

         case: rpcGetParameterValues:

                   doGetParameterValues(rpcAction);

                  breadk;

       ....

    4. doGetParameterValues 

       {

       ...

       const char *pp = pi ->name;

       n = findGWParameter(pp);      // *pp = Device.DeviceConfig.ConfigFIle

    }

    5. findGWParameter(const char * pstr)

       {

            nodeDepth = 0;

           instanceDepth = 0;

          return findParamter(rootDevice, pstr);

    6. 

    static findParameter(TRxObjNode *node, const char *pstr)

    {

        const char *e;

        int lth;

        TRxObjNode    *n = node;

        e = strchr(pstr, '.');

        if ( (n = searchNode(node, pstr, lth)))

        {

            if ( e && strlen(e) > 1)

            {

                 return findParameter(n->objDetail, e + 1);

            }

            else

           {

                return n;

           }

           return NULL;

        }  

    }

       

  • 相关阅读:
    Win7 on VirtualBox 看不到 usb device
    framebuffer line_length 參數
    booting logo & booting animation
    charing animation
    vim
    [筆記] Ubuntu Linux 使用 apt-get 指令移除軟體並清理遺留的垃圾
    git 指令
    adb devices 偵測不到 手機
    apt-get 相關設定
    Ubuntu 14 設定 遠端連線,讓別台電腦可以連線進來
  • 原文地址:https://www.cnblogs.com/gavinwu/p/3164797.html
Copyright © 2011-2022 走看看