亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? m2tcplib.c

?? vxworks的完整的源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* m2TcpLib.c - MIB-II TCP-group API for SNMP agents *//* Copyright 1984 - 2001 Wind River Systems, Inc. */#include "copyright_wrs.h"/*modification history--------------------01f,15oct01,rae  merge from truestack ver 01j, base 01e (VIRTUAL_STACK)01e,08mar97,vin  added changes to accomodate changes in pcb structure.01d,25jan95,jdi  doc cleanup.01c,11nov94,rhp  edit man pages01b,10nov94,rhp  fixed typo in m2TcpInit man page01a,08dec93,jag  written*//*DESCRIPTIONThis library provides MIB-II services for the TCP group.  It provides routinesto initialize the group, access the group global variables, read the tableof TCP connections, and change the state of a TCP connection.  For a broaderdescription of MIB-II services, see the manual entry for m2Lib.To use this feature, include the following component:INCLUDE_MIB2_TCPUSING THIS LIBRARYThis library can be initialized and deleted by calling m2TcpInit() andm2TcpDelete() respectively, if only the TCP group's services are needed.If full MIB-II support is used, this group and all other groups can beinitialized and deleted by calling m2Init() and m2Delete().The group global variables are accessed by callingm2TcpGroupInfoGet() as follows:.CS    M2_TCP   tcpVars;    if (m2TcpGroupInfoGet (&tcpVars) == OK)	/@ values in tcpVars are valid @/.CEThe TCP table of connections can be accessed in lexicographical order.  Thefirst entry in the table can be accessed by setting the table index tozero.  Every other entry thereafter can be accessed by passing tom2TcpConnTblEntryGet() the index retrieved in the previous invocationincremented to the next lexicographical value by givingM2_NEXT_VALUE as the search parameter.  For example:.CSM2_TCPCONNTBL  tcpEntry;    /@ Specify a zero index to get the first entry in the table @/    tcpEntry.tcpConnLocalAddress = 0; /@ Local IP address in host byte order @/    tcpEntry.tcpConnLocalPort    = 0; /@ Local TCP port                    @/    tcpEntry.tcpConnRemAddress   = 0; /@ remote IP address                 @/    tcpEntry.tcpConnRemPort      = 0; /@ remote TCP port in host byte order  @/    /@ get the first entry in the table @/    if ((m2TcpConnTblEntryGet (M2_NEXT_VALUE, &tcpEntry) == OK)	/@ values in tcpEntry in the first entry are valid  @/    /@ process first entry in the table @/    /@      * For the next call, increment the index returned in the previous call.     * The increment is to the next possible lexicographic entry; for     * example, if the returned index was 147.11.46.8.2000.147.11.46.158.1000     * the index passed in the next invocation should be      * 147.11.46.8.2000.147.11.46.158.1001.  If an entry in the table     * matches the specified index, then that entry is returned.       * Otherwise the closest entry following it, in lexicographic order,     * is returned.     @/    /@ get the second entry in the table @/    if ((m2TcpConnTblEntryGet (M2_NEXT_VALUE, &tcpEntry) == OK)	/@ values in tcpEntry in the second entry are valid  @/.CEThe TCP table of connections allows only for a connection to be deleted asspecified in the MIB-II.  For example: .CS    M2_TCPCONNTBL  tcpEntry;    /@ Fill in the index for the connection to be deleted in the table @/    /@ Local IP address in host byte order, and local port number @/    tcpEntry.tcpConnLocalAddress = 0x930b2e08;    tcpEntry.tcpConnLocalPort    = 3000;    /@ Remote IP address in host byte order, and remote port number @/    tcpEntry.tcpConnRemAddress   = 0x930b2e9e;    tcpEntry.tcpConnRemPort      = 3000;    tcpEntry.tcpConnState        = 12;	/@ MIB-II state value for delete @/    /@ set the entry in the table @/    if ((m2TcpConnTblEntrySet (&tcpEntry) == OK)	/@ tcpEntry deleted successfuly @/.CEINCLUDE FILES: m2Lib.h SEE ALSO:m2Lib, m2IfLib, m2IpLib, m2IcmpLib, m2UdpLib, m2SysLib*//* includes */#include "vxWorks.h"#include "m2Lib.h"#include <socket.h>#include <net/route.h>#include <netinet/in.h>#include <netinet/tcp.h>#include <netinet/tcp_timer.h>#include <netinet/tcp_fsm.h>#include <netinet/tcp_var.h>#include <netinet/tcp_timer.h>#include <netinet/in_pcb.h>#include <net/protosw.h>#include <private/iosLibP.h>#ifdef VIRTUAL_STACK#include "netinet/vsLib.h"#endif/* defines *//* MIB-II TCP state definitions */#define M2TCP_CLOSED        1#define M2TCP_LISTEN        2#define M2TCP_SYNSENT       3#define M2TCP_SYNRECEIVED   4#define M2TCP_ESTABLISHED   5#define M2TCP_FINWAIT1      6#define M2TCP_FINWAIT2      7#define M2TCP_CLOSEWAIT     8#define M2TCP_LASTACK       9#define M2TCP_CLOSING       10#define M2TCP_TIMEWAIT      11#define M2TCP_DELETETCB     12/* globals *//*  * This table maps the BSD TCP states to the MIB-II TCP specified states. The * table is indexed using the BSD TCP states. */LOCAL long m2TcpStates [TCP_NSTATES] =	{	M2TCP_CLOSED,            /* TCPS_CLOSED       -> M2TCP_CLOSED */	M2TCP_LISTEN,            /* TCPS_LISTEN       -> M2TCP_LISTEN */	M2TCP_SYNSENT,           /* TCPS_SYN_SENT     -> M2TCP_SYNSENT */	M2TCP_SYNRECEIVED,       /* TCPS_SYN_RECEIVED -> M2TCP_SYNRECEIVED */	M2TCP_ESTABLISHED,       /* TCPS_ESTABLISHED  -> M2TCP_ESTABLISHED */	M2TCP_CLOSEWAIT,         /* TCPS_CLOSE_WAIT   -> M2TCP_CLOSEWAIT */	M2TCP_FINWAIT1,          /* TCPS_FIN_WAIT_1   -> M2TCP_FINWAIT1  */	M2TCP_CLOSING,           /* TCPS_CLOSING      -> M2TCP_CLOSING */	M2TCP_LASTACK,           /* TCPS_LAST_ACK     -> M2TCP_LASTACK */	M2TCP_FINWAIT2,          /* TCPS_FIN_WAIT_2   -> M2TCP_FINWAIT2 */        M2TCP_TIMEWAIT,          /* TCPS_TIME_WAIT    -> M2TCP_TIMEWAIT */	};/********************************************************************************* m2TcpInit - initialize MIB-II TCP-group access** This routine allocates the resources needed to allow access to the TCP * MIB-II variables.  This routine must be called before any TCP variables* can be accessed.** RETURNS: OK, always.** SEE ALSO: * m2TcpGroupInfoGet(), m2TcpConnEntryGet(), m2TcpConnEntrySet(), m2TcpDelete()*/STATUS m2TcpInit (void)    {    return (OK);    }/******************************************************************************** m2TcpGroupInfoGet - get MIB-II TCP-group scalar variables** This routine fills in the TCP structure pointed to by <pTcpInfo> with the* values of MIB-II TCP-group scalar variables.** RETURNS: OK, or ERROR if <pTcpInfo> is not a valid pointer.** ERRNO:* S_m2Lib_INVALID_PARAMETER** SEE ALSO: * m2TcpInit(), m2TcpConnEntryGet(), m2TcpConnEntrySet(), m2TcpDelete()*/STATUS m2TcpGroupInfoGet    (    M2_TCPINFO * pTcpInfo 	/* pointer to the TCP group structure */    )    {    int            netLock;     /* Use to secure the Network Code Access */    struct inpcb * pInpCb;	/* Ptr to an internet control block */    struct tcpcb * pTcpCb;	/* Ptr to a TCP connection control block */     /* Validate Pointer to TCP structure */     if (pTcpInfo == NULL)	{	errnoSet (S_m2Lib_INVALID_PARAMETER);        return (ERROR);	}     netLock = splnet ();        /* Get exclusive access to Network Code */    /* Traverse the list of TCP control block and count the # of connections */#ifdef VIRTUAL_STACK    /*     * To avoid introducing a conflict with the "tcpcb" structure tag,     * virtual stacks do not alias the head of the pcb list.     */    for (pInpCb = tcb.lh_first, pTcpInfo->tcpCurrEstab = 0;#else    for (pInpCb = tcpcb.lh_first, pTcpInfo->tcpCurrEstab = 0;#endif /* VIRTUAL_STACK */         pInpCb != NULL; pInpCb = pInpCb->inp_list.le_next)        {        /* Get TCP Connection control structure */         pTcpCb = (struct tcpcb *) pInpCb->inp_ppcb;         if ((pTcpCb->t_state == TCPS_ESTABLISHED) ||            (pTcpCb->t_state == TCPS_CLOSE_WAIT))            pTcpInfo->tcpCurrEstab++;        }     splx (netLock);             /* Give up exclusive access to Network Code */     pTcpInfo->tcpRtoAlgorithm           = M2_tcpRtoAlgorithm_vanj;    pTcpInfo->tcpRtoMin                 = (TCPTV_MIN * 1000) / PR_SLOWHZ;    pTcpInfo->tcpRtoMax                 = (TCPTV_REXMTMAX * 1000) / PR_SLOWHZ;     /* The Maximum number of TCP connections is determined Dynamically == -1 */     pTcpInfo->tcpMaxConn                = -1;     pTcpInfo->tcpActiveOpens            = tcpstat.tcps_connattempt;    pTcpInfo->tcpPassiveOpens           = tcpstat.tcps_accepts;    pTcpInfo->tcpAttemptFails           = tcpstat.tcps_conndrops;    pTcpInfo->tcpEstabResets            = tcpstat.tcps_drops;    pTcpInfo->tcpInSegs                 = tcpstat.tcps_rcvtotal;     pTcpInfo->tcpOutSegs                = tcpstat.tcps_sndtotal -                                          tcpstat.tcps_sndrexmitpack -                                          tcpstat.tcps_persisttimeo;     pTcpInfo->tcpRetransSegs            = tcpstat.tcps_sndrexmitpack;     pTcpInfo->tcpInErrs                 = tcpstat.tcps_rcvbadsum +                                          tcpstat.tcps_rcvbadoff +                                          tcpstat.tcps_rcvshort;#ifdef VIRTUAL_STACK    /*     * (Former) tcpOutRsts global renamed for virtual stacks to prevent     * name conflict with existing structure element.     */    pTcpInfo->tcpOutRsts                = tcpOutResets;#else    pTcpInfo->tcpOutRsts                = tcpOutRsts;#endif    return (OK);    }/******************************************************************************** tcpConnCmp -  compare two TCP connections in lexicographical order** This routine compares two TCP connection control blocks.  It compares the* value 1 with value 2.  It returns equal, value 1 greater than * value 2, or value 1 less than value 2.  The comparison is done based on the* lexicographical order specified by MIB-II.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久99国内精品| 色诱亚洲精品久久久久久| 在线综合视频播放| 午夜精品福利在线| 在线成人免费观看| 麻豆高清免费国产一区| 亚洲va国产天堂va久久en| 欧美午夜宅男影院| 午夜免费欧美电影| wwwwww.欧美系列| 国产黄色91视频| 亚洲日本中文字幕区| 欧美午夜精品一区二区三区| 天天av天天翘天天综合网| 91精品欧美福利在线观看| 国内精品在线播放| 国产精品福利一区| 欧美日韩精品系列| 国产毛片一区二区| 一区二区三区在线观看欧美| 欧美另类videos死尸| 国产一区二区三区观看| 亚洲天堂精品在线观看| 9191精品国产综合久久久久久 | 中文字幕亚洲一区二区av在线 | 一卡二卡三卡日韩欧美| 日韩欧美亚洲国产精品字幕久久久| 国产一区二区三区免费在线观看| 国产视频911| 欧美在线短视频| 国内精品嫩模私拍在线| 自拍偷拍欧美精品| 日韩视频国产视频| 97se亚洲国产综合自在线| 日韩精品91亚洲二区在线观看| 久久久精品国产免大香伊| 色婷婷精品久久二区二区蜜臂av| 五月激情丁香一区二区三区| 国产欧美视频一区二区三区| 欧美日韩一区三区四区| 国产麻豆欧美日韩一区| 亚洲成人av中文| 国产精品视频麻豆| 欧美一区二区三区视频| 99热99精品| 狠狠色丁香久久婷婷综| 亚洲一二三区视频在线观看| 日本一区二区视频在线观看| 91精品一区二区三区久久久久久| 91丨porny丨蝌蚪视频| 韩国午夜理伦三级不卡影院| 亚欧色一区w666天堂| 国产精品久久久久久久裸模| 欧美一级欧美三级在线观看| 91在线视频网址| 国产美女一区二区三区| 日本视频免费一区| 亚洲电影在线播放| 国产欧美一区在线| 精品少妇一区二区三区在线视频| 在线观看免费视频综合| 99久久精品国产网站| 久久国产精品99久久久久久老狼| 一区二区三国产精华液| 中文字幕一区二区三中文字幕| 日韩三级视频在线看| 欧美三级资源在线| 日本电影亚洲天堂一区| 99精品欧美一区| 国产成人精品一区二区三区网站观看 | 欧美午夜精品久久久久久孕妇| 亚洲午夜久久久久久久久电影院| 91精品国产乱| 一本色道综合亚洲| 国产自产高清不卡| 亚洲亚洲人成综合网络| 日韩欧美第一区| 色综合亚洲欧洲| 91蜜桃在线免费视频| 一区二区三区色| 国产亚洲短视频| 制服.丝袜.亚洲.另类.中文| 国产精品一区在线| 亚洲午夜电影网| 国产精品水嫩水嫩| 久久网这里都是精品| 欧美军同video69gay| 欧美亚洲综合色| 国产精品三级av| 国产美女视频91| 首页国产丝袜综合| 亚洲曰韩产成在线| 国产河南妇女毛片精品久久久 | 国产一区二区三区日韩| 老司机一区二区| 国产露脸91国语对白| 国产99久久久国产精品免费看 | 国产成人综合亚洲91猫咪| 国产91高潮流白浆在线麻豆| 成人免费av网站| 中文字幕不卡在线播放| 精品国产露脸精彩对白| 欧美日韩国产另类一区| 精品欧美一区二区久久| 中文字幕一区日韩精品欧美| 亚洲欧洲日韩综合一区二区| 国产视频一区在线播放| 亚洲综合精品自拍| 日韩影院在线观看| 亚洲一区二区精品视频| 亚洲高清免费观看高清完整版在线观看| 亚洲成av人在线观看| 另类小说综合欧美亚洲| 不卡的av电影在线观看| 欧美日韩国产另类一区| 欧美成人精品福利| 亚洲视频一二三| 日韩影院免费视频| heyzo一本久久综合| 欧美日韩日本视频| 久久久久久久免费视频了| 国产精品久久久久影视| 亚洲午夜精品网| 国产综合色在线| 欧美亚洲综合网| 久久综合色天天久久综合图片| 国产精品久久久久久久浪潮网站| 午夜视频一区二区| 不卡欧美aaaaa| 欧美成人一区二区三区片免费 | 亚洲你懂的在线视频| 另类调教123区| 91日韩精品一区| 久久久五月婷婷| 亚洲1区2区3区视频| 大白屁股一区二区视频| 欧美高清视频在线高清观看mv色露露十八| 国产色综合久久| 美女视频网站久久| 91老师片黄在线观看| 2020国产精品| 日韩电影在线一区二区三区| 99久久国产综合精品色伊| 欧美电影免费提供在线观看| 亚洲精品自拍动漫在线| 国产制服丝袜一区| 一区二区免费视频| 亚洲欧美一区二区不卡| 国产一区二区在线视频| 国产精品国产三级国产普通话99| 日韩在线一区二区三区| 欧美日韩精品一区二区三区四区 | 欧美日韩午夜在线视频| 久久久亚洲午夜电影| 国产精品资源网| 亚洲一二三四在线观看| 国产亚洲一区二区三区| 欧美日韩中文一区| 精品影视av免费| 国产麻豆精品久久一二三| 69久久夜色精品国产69蝌蚪网| 国产精品色噜噜| 在线观看日韩高清av| 国产69精品久久久久777| 国产成a人亚洲| 国产高清不卡二三区| 5858s免费视频成人| 亚洲成人av福利| 欧美美女一区二区| 午夜影院久久久| 欧美日韩国产精品成人| 一个色在线综合| 欧美影院精品一区| 亚洲成人资源网| 在线一区二区三区四区五区| 亚洲嫩草精品久久| 在线观看国产精品网站| 夜夜精品视频一区二区 | 国产精一区二区三区| 精品精品欲导航| 国产一区二区在线观看免费| 久久―日本道色综合久久| 韩国av一区二区三区在线观看| 久久久国产精品午夜一区ai换脸| 国产一区二区三区免费播放| 国产欧美日韩视频在线观看| 北条麻妃国产九九精品视频| 日韩毛片一二三区| 欧美三级视频在线| 欧美aaa在线| 亚洲国产成人午夜在线一区| 成人高清视频在线| 亚洲一区在线看| 日韩午夜激情av| 国产盗摄女厕一区二区三区| 中文字幕一区二区三区四区| 欧美视频一二三区| 久久99精品国产.久久久久久| 国产精品欧美久久久久一区二区| 91高清在线观看|