tw_cli_show.c.svn-base
上传用户:hujq123
上传日期:2016-04-10
资源大小:153k
文件大小:5k
源码类别:

Telnet服务器

开发平台:

Unix_Linux

  1. /* 
  2.  * Copyright (C) 2002 Koninklijke Philips Electronics N.V., 
  3.  * All Rights Reserved. 
  4.  *
  5.  * This source code and any compilation or derivative thereof is the 
  6.  * proprietary information of Koninklijke Philips Electronics N.V. 
  7.  * and is confidential in nature. 
  8.  * Under no circumstances is this software to be exposed to or placed 
  9.  * under an Open Source License of any type without the expressed 
  10.  * written permission of Koninklijke Philips Electronics N.V. 
  11.  * 
  12.  *###########################################################
  13.  */ 
  14. /*! 
  15.  *      file           tw_cli_show.c 
  16.  * 
  17.  *      brief          - 
  18.  * 
  19.  */ 
  20. /*-----------------------------------------------------------*
  21.  * 
  22.  *      %version:       4 % 
  23.  *      instance:       DS_6 
  24.  *      %date_created:  Fri Feb 21 08:04:42 2003 % 
  25.  *
  26.  *###########################################################
  27.  */ 
  28. /****************************************************************************
  29. *
  30. * Filename   : tw_cli_octopus.c
  31. * Purpose    : Cli command objects and functions to support SHOW commands.
  32. *
  33. *
  34. *****************************************************************************/
  35. #include <stdio.h>
  36. #include <stdlib.h>
  37. #include <stdarg.h>
  38. #include <string.h>
  39. #include <tmtypes.h>
  40. #include <tw_cli.h>
  41. #include <sys_conf.h>
  42. static int CliCoProc_Unavailable(Cli_cmdSession_t *pSess, 
  43.                                   char *CmdStr, int Ptr);
  44. /**************** *** Definition of CLI Command Objects *** ***************/
  45. /*** 2nd level CLI Command Option - show "system"
  46. ***/
  47. static int   CliCoProc_ShowSystem(Cli_cmdSession_t *pSess, char *CmdStr, int Ptr);
  48. Cli_CmdStruct_t  CliCo_ShowSystem = 
  49.     "system",
  50.     ALL_ACCESS_MODE | ALL_PRODUCT_TYPE,
  51.     NULL,
  52.     "display system info",
  53.     NULL,
  54.     CliCoProc_ShowSystem,
  55.     NULL
  56. };
  57. /*** 2nd level CLI Command Option - show "sock"
  58. ***/
  59. extern int CliCoProc_ShowSock(Cli_cmdSession_t *pSess, char *CmdStr, int Ptr);
  60. Cli_CmdStruct_t  CliCo_ShowSock = 
  61.     "sock",
  62.     ALL_ACCESS_MODE | ALL_PRODUCT_TYPE,
  63.     NULL,
  64.     "display socket list from fusion",
  65.     NULL,
  66. #if defined(FUSION_TCPIP)
  67.     CliCoProc_ShowSock,
  68. #else
  69.     CliCoProc_Unavailable,
  70. #endif
  71.     NULL
  72. };
  73. /*** Externally defined 2nd level CLI "show" commands
  74. ***/
  75. extern Cli_CmdStruct_t CliCo_ShowIp;
  76. /*** 1st level CLI Command Option - show
  77. ***/
  78. Cli_CmdStruct_t *CliRcoOptionList_Show[] = 
  79. {
  80.     &CliCo_ShowIp,
  81.     &CliCo_ShowSock,
  82.     &CliCo_ShowSystem,
  83.     NULL
  84. };
  85. Cli_CmdStruct_t  CliRco_Show = 
  86.     "show",
  87.     ALL_ACCESS_MODE | ALL_PRODUCT_TYPE,
  88.     CliRcoOptionList_Show,
  89.     "display selective info",
  90.     NULL,
  91.     NULL,
  92.     NULL
  93. };
  94. /***************************************************************************** 
  95. * int CliCoProc_ShowSystem(Cli_cmdSession_t *pSess, char *cmdStr, int ptr)
  96. *
  97. * Description :
  98. * This is the command processing handler for
  99. *     "show system"
  100. * Arguments :
  101. * Standard prarameters.
  102. *
  103. * Returns :
  104. * 0 if OK, -1 if bad.
  105. *
  106. * History
  107. * who   when        why
  108. * KBL   7/7/99      created
  109. *
  110. *****************************************************************************/
  111. extern UInt32 Fns_GetSysUpTimeInSecond( void );
  112. extern UInt32 Fns_GetTTimeInMiniSec( void );
  113. extern UInt32 Fns_GetClockTick( void );
  114. int CliCoProc_ShowSystem(Cli_cmdSession_t *pSess, char *cmdStr, int ptr)
  115. {
  116.     char uptime[128];
  117.     
  118.     Cli_Printf(pSess, "Version %s built on %s %s by %sn",
  119.                TwVersion_GetName(),
  120.                TwVersion_GetDate(),
  121.                TwVersion_GetTime(),
  122.                TwBuild_GetUser());
  123.     Cli_Printf(pSess, "%sn", TwVersion_GetCopyright()) ;
  124.     TwFlash_PrintHeader((Cli_Printf_t) Cli_Printf, pSess) ;
  125. #if defined(FUSION_TCPIP)
  126. //FIXTHIS for non-Fusion
  127.     if (Cli_Printf(pSess, "Router SysUptime(s) = %-10dn",
  128.                    Fns_GetSysUpTimeInSecond()) < 0 )
  129.     {
  130.         return -1;
  131.     }
  132. #endif /* defined(FUSION_TCPIP) */
  133.     SysUpTime(uptime);
  134.     Cli_Printf(pSess, "%s", uptime);
  135.     return 0;
  136. }
  137. /***************************************************************************** 
  138. * int CliCoProc_Unavailable(Cli_cmdSession_t *pSess, char *CmdStr, int Ptr)
  139. *
  140. * Description :
  141. * Stub for unavailable feature.
  142. * Arguments :
  143. * Standard prarameters.
  144. *
  145. * Returns :
  146. * 0 if OK, -1 if bad.
  147. *
  148. * History
  149. * who   when        why
  150. * KBL   2/31/00     created
  151. *
  152. *****************************************************************************/
  153. static int CliCoProc_Unavailable(Cli_cmdSession_t *pSess, 
  154.                                   char *CmdStr, int Ptr)
  155. {
  156.     Cli_Printf(pSess, "FIXTHIS: Temporarily disabled because it's stack specific...n");
  157.     return 0;
  158. }