kernel_linux.h
上传用户:wxp200602
上传日期:2007-10-30
资源大小:4028k
文件大小:3k
源码类别:

SNMP编程

开发平台:

Unix_Linux

  1. /*
  2.  *  MIB statistics gathering routines
  3.  *      for Linux architecture
  4.  */
  5. #ifndef _MIBGROUP_KERNEL_LINUX_H
  6. #define _MIBGROUP_KERNEL_LINUX_H
  7. struct ip_mib {
  8.     unsigned long   ipForwarding;
  9.     unsigned long   ipDefaultTTL;
  10.     unsigned long   ipInReceives;
  11.     unsigned long   ipInHdrErrors;
  12.     unsigned long   ipInAddrErrors;
  13.     unsigned long   ipForwDatagrams;
  14.     unsigned long   ipInUnknownProtos;
  15.     unsigned long   ipInDiscards;
  16.     unsigned long   ipInDelivers;
  17.     unsigned long   ipOutRequests;
  18.     unsigned long   ipOutDiscards;
  19.     unsigned long   ipOutNoRoutes;
  20.     unsigned long   ipReasmTimeout;
  21.     unsigned long   ipReasmReqds;
  22.     unsigned long   ipReasmOKs;
  23.     unsigned long   ipReasmFails;
  24.     unsigned long   ipFragOKs;
  25.     unsigned long   ipFragFails;
  26.     unsigned long   ipFragCreates;
  27.     unsigned long   ipRoutingDiscards;
  28. };
  29. struct icmp_mib {
  30.     unsigned long   icmpInMsgs;
  31.     unsigned long   icmpInErrors;
  32.     unsigned long   icmpInDestUnreachs;
  33.     unsigned long   icmpInTimeExcds;
  34.     unsigned long   icmpInParmProbs;
  35.     unsigned long   icmpInSrcQuenchs;
  36.     unsigned long   icmpInRedirects;
  37.     unsigned long   icmpInEchos;
  38.     unsigned long   icmpInEchoReps;
  39.     unsigned long   icmpInTimestamps;
  40.     unsigned long   icmpInTimestampReps;
  41.     unsigned long   icmpInAddrMasks;
  42.     unsigned long   icmpInAddrMaskReps;
  43.     unsigned long   icmpOutMsgs;
  44.     unsigned long   icmpOutErrors;
  45.     unsigned long   icmpOutDestUnreachs;
  46.     unsigned long   icmpOutTimeExcds;
  47.     unsigned long   icmpOutParmProbs;
  48.     unsigned long   icmpOutSrcQuenchs;
  49.     unsigned long   icmpOutRedirects;
  50.     unsigned long   icmpOutEchos;
  51.     unsigned long   icmpOutEchoReps;
  52.     unsigned long   icmpOutTimestamps;
  53.     unsigned long   icmpOutTimestampReps;
  54.     unsigned long   icmpOutAddrMasks;
  55.     unsigned long   icmpOutAddrMaskReps;
  56. };
  57. struct udp_mib {
  58.     unsigned long   udpInDatagrams;
  59.     unsigned long   udpNoPorts;
  60.     unsigned long   udpInErrors;
  61.     unsigned long   udpOutDatagrams;
  62. };
  63. struct tcp_mib {
  64.     unsigned long   tcpRtoAlgorithm;
  65.     unsigned long   tcpRtoMin;
  66.     unsigned long   tcpRtoMax;
  67.     unsigned long   tcpMaxConn;
  68.     unsigned long   tcpActiveOpens;
  69.     unsigned long   tcpPassiveOpens;
  70.     unsigned long   tcpAttemptFails;
  71.     unsigned long   tcpEstabResets;
  72.     unsigned long   tcpCurrEstab;
  73.     unsigned long   tcpInSegs;
  74.     unsigned long   tcpOutSegs;
  75.     unsigned long   tcpRetransSegs;
  76.     unsigned long   tcpInErrs;
  77.     unsigned long   tcpOutRsts;
  78.     short           tcpInErrsValid;
  79.     short           tcpOutRstsValid;
  80. };
  81. int             linux_read_ip_stat(struct ip_mib *);
  82. int             linux_read_icmp_stat(struct icmp_mib *);
  83. int             linux_read_udp_stat(struct udp_mib *);
  84. int             linux_read_tcp_stat(struct tcp_mib *);
  85. #endif                          /* _MIBGROUP_KERNEL_LINUX_H */