zoukankan      html  css  js  c++  java
  • Router_Cloud

    一: cwmp.c

    1: main

      (1) cmsLog_init();    //日志初始化

      (2) cmsMsg_init();   //消息初始化

          (3) cwmpInit();       //为variable cwmp赋初值。

      (4) getStaticValuesFromLocal();  //init cloudData about device.

      (5) retrieveCloudcStatusItmes();  //

          (6) while() 

                  {

                  a. 根据msg->type 和 msg->wordData执行 cwmp_handle_event。

                  b. CMSMEM_FREE_BUF_AND_NULL_PTR(msg);

                  c. if ( cloudState.unhandledEvent == 0)  continue;

                  d. if ( cloudGetWanInfo() == -1) break;  初始化cloudData的WAN口相关信息。

                  e. if ( cwmpInitAfterWanUp() == CWMP_ERR) continue; 在WanUp后为cwmp的parameter赋值。

                  f. if ( getChangeAbleValuesFromLocal() == -1) continue; 获取一些本地Cloud Object的信息, 并传到cloudData中。

                  g. cwmpPrepareParameters();   为gInformList和parList赋值。

                  h. if ( cwmp_inform() != CWMP_OK) break;                 //建立与acs之间连接, 发包, 传送cwmp相关信息。

                  i. while( !cwmp.sessionFlag)                                      //根据ACS response, 确定是否要再次发包, 及修改本地信息和修改连接状态。

                  j. do_finish();                  //free data for response parse result。

                 }

          (7) out:

                         cmsMdm_cleanup();

                         cmsMsg_cleanup();

                 return 0;

    2.  do_finish ()                  good

         //free data for response parse result.

    3. url_parse ()                  good

       对cwmp.url作分析, 填充cwmp.host, cwmp.port, cwmp.page.

    4. void cwmp_push_event(uint8_t code)               good

        根据code值, 对cloudState.unhandledEvents 进行赋值。

    5. int cwmp_connect_acs(void)                          good

        (1) cwmp.txFd = raw_connect( cwmp.addr, cwmp.port, cwmp.connectTimeOutMs)   

             返回socket 获取的File Descriptor.

    6. int cwmp_disconnect(void)                           good

           close(cwmp.txFd)                        //关闭txFd.

          cwmp.txFd = CWMP_INVALID_SOCKET.     -1

    7.  int cwmpInit( char *connUrl)      good  为variable cwmp赋初值。

         (1) strcpy(cwmp.url, connUrl);        对cwmp.url进行赋值

         .... 对 cwmp的parameter进行赋值。

    8. int cwmpInitAfterWanUp()         good                            在WanUp后为cwmp的parameter赋值。

        (1) url_parse( cwmp.url, cwmp.host, &cwmp.port, cwmp.http.page);

        (2)  对cwmp相关parameter进行赋值,

              return CWMP_OK;

    9. void mac_to_string(char *macstring, char *objstring)     这个函数没有用到?

        将macstring中的':' 去掉, 拷贝到objstring中。 

    10. 

         

  • 相关阅读:
    (MonoGame从入门到放弃2) 初识MonoGame
    C# 13行代码带你模拟登录QQ空间
    (MonoGame从入门到放弃1) MonoGame环境搭建
    Format 、FormatDateTime 与 FormatFloat
    HTML中的em为何物?
    ASP.NET日期格式函数
    解决windows2003不能上传大于200K的问题
    信用卡知识知多少?
    解决:Win7打开控制面板主页就重启
    ASP.NET生成随机密码
  • 原文地址:https://www.cnblogs.com/gavinwu/p/3668616.html
Copyright © 2011-2022 走看看