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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? pppsioadapter.c

?? 這是全套的PPP協(xié)議的源碼
?? C
?? 第 1 頁 / 共 5 頁
字號:
/* pppSioAdapter.c - PPP over raw serial *//* Copyright 2003 Wind River Systems, Inc. */#include "copyright_wrs.h"/*modification history--------------------02g,14may03,ijm fixed diab compiler warning02f,07apr03,ijm fix for SPR#71047, pppSioAdapterModemRead response input buffer                index not incremented; removed double free of pModemData in                sioStackDel; in sioAdptrChannelAvailable get buffer only if                receiveChain is NULL02e,03mar03,ijm SPR#86148, free packet if pfwReceive returns ERROR02d,09dec02,ijm fix for SPR#84845, cannot reconnect to Windows client/server 02c,14nov02,ijm add check for SIO_PEER_MODEM in ntSerialClientStringSetup,                fix for SPR#8416202b,01nov02,ijm removed redundant RFC2233 counter update in sioAdptrModemSend()02a,29oct02,ijm added WIN_SERVER AND WIN_CLIENT parameters01z,28may02,rvr fixed build warnings 01y,13feb02,ijm corrected unused variables compiler warning in lcpDownHandler01x,29oct01,ijm Fixed SPR#70122: after authentication failure, link                cannot re-establish serial connection to NT.01w,07mar01,ijm pComponent should be freed with pfwFree, if ERROR, in                sioAdapterCreate01v,02mar01,ijm added LCP_CLOSE_EVENT handler                deleted sioAdptrMutex when component is deleted01u,20feb01,ijm added check for NULL sendQHead in lcpDownHandler 01t,17dec00,ihw initialize mBlk Headers thoroughly upon netTupleGet + misc fixes01s,16nov00,sj  Queue packets on send path01r,26oct00,sj  on failure of SIO_GET_FIRST_RCV_BUF set stack->receiveMblk = NULL01q,29sep00,sj  Merging in and reorganizing RFC2233 instrumentation01p,29sep00,sj  merging with TOR2_0-WINDNET_PPP-CUM_PATCH_201o,08sep00,sj  free received frame if pfwDataJobAdd fails01n,10aug00,adb  fixed NT client dial-up01m,02aug00,adb  Merging in LAC modifications01l,01aug00,adb  Merging with openstack view except RFC 223301k,28jul00,md  sets ppp attributes to a default value01j,18jul00,bsn  Added Statistics and Port Interface01i,29jun00,md  subscribed COLLECT_PPP_ATTRIBUTES_EVENT01h,20apr00,cn  added support for PPP_MODEM_INTERFACE.01g,20mar00,sj  free held buffer on CHANNEL DOWN01f,02mar00,sj  always accept frames of size less than or equal to 2 x 150001e,29feb00,sj  set receiveChain nextMblk to NULL after dropping frame01d,16dec99,sj  call sioChannelAvailable in interrupt context01c,13dec99,sj  fixing NT client/server mode; listen for LCP OPEN/DOWN events01b,09nov99,sj  adding use of LCP interface to get MRU01a,02sep99,sj 	created*//*DESCRIPTIONThis component enables PPP sessions over serial devices using WRS SIO driverINCLUDE FILES:  sioLib.h SEE ALSO*//* includes */#include "vxWorks.h"#include "logLib.h"#include "stdio.h"#include "stdlib.h"#include "string.h"#include "ctype.h"#include "memLib.h"#include "semLib.h"#include "sysLib.h"#include "intLib.h"#include "net/mbuf.h"#include "netBufLib.h"#include "pfw/pfw.h"#include "pfw/pfwStack.h"#include "pfw/pfwLayer.h"#include "pfw/pfwEvent.h"#include "pfw/pfwInterface.h"#include "pfw/pfwMemory.h"#include "ppp/kppp.h"#include "ppp/pppLacStructures.h"#include "pfw/pfwComponent.h"#include "ppp/pppSioAdapter.h"#include "ppp/interfaces/lcpInterfaces.h"#include "ppp/interfaces/pppModemInterface.h"#include "ppp/interfaces/pppInterfacesGroupInterfaces.h"#include "ppp/interfaces/adapterComponentInterfaces.h"#include "limits.h"#include "tickLib.h"/* defines */#define MODEM_MAX_RX_STR_LEN    256     /* max rx string lenght */#define MODEM_MAX_TX_STR_LEN    256     /* max tx string lenght */#define SIO_FREE_PKT_CHAIN netMblkClChainFree#define SIO_FREE_PKT netMblkClFree#define SIO_CLUSTER_SIZE 2048#define SIO_DEFAULT_MAX_MRU 1500#define SIO_MIN_FRAME_LEN 5 /* 0x7E + compressed protocol + 2 byte CRC + 0x7E */#define SIO_CHANNEL_DOWN 0x0#define SIO_CHANNEL_UP 0x1#define SIO_PEER_REGULAR   0x0	/* other end is a regular(NON NT) machine */#define SIO_PEER_NT_SERVER 0x1	/* other end is a NT server */#define SIO_PEER_NT_CLIENT 0x2	/* other end is a NT client */#define SIO_PEER_MODEM	   0x4	/* other end is a modem */#define SIO_FRAME_FLAG 0x7e#define SIO_NT_CLIENT_STRING "CLIENT"#define SIO_NT_CLIENTSERVER_STRING "CLIENTSERVER"#define SIZEOF_CLIENT_STRING 6#define SIZEOF_CLIENTSERVER_STRING 12#define SIO_SEND_Q_DEFAULT_SIZE 15 /* arbitrarily chosen */#define SIO_SEND_Q_TWO_THIRDS_FULL(n) ((n << 1)/3)#define SIO_DROP_RCV_FRAME(stack) \	{\	/* drop the frame; free all mBufs except the first one in the chain */\	\	if (stack->receiveChain != NULL )\	    {\	    stack->receiveChain->mBlkHdr.mLen = 1;\	    stack->nextReceiveIndex = 1;\	    \	    if (stack->receiveChain->mBlkHdr.mNext != NULL) \		{\		SIO_FREE_PKT_CHAIN(stack->receiveChain->mBlkHdr.mNext);\		stack->receiveChain->mBlkHdr.mNext = NULL; \		stack->receiveChain->mBlkHdr.mFlags &= ~M_PKTHDR;\		stack->receiveChain->mBlkPktHdr.len = 0;\		}\	    }\	    stack->receiveMblk = stack->receiveChain;\	    stack->receiveMblk->mBlkHdr.mData[0] = SIO_FRAME_FLAG;\	}#define SIO_GET_FIRST_RCV_BUF(stack) \	{\	if ((stack->receiveChain = netTupleGet(stack->netPoolId,\					SIO_CLUSTER_SIZE,\					M_DONTWAIT, MT_DATA,TRUE)) == NULL)\	    {\	    stack->receiveMblk = NULL;\	    logMsg("sioAdptr:Failed to get receive buffer for channel Id %d\n",\		    stack->channelNum,2,3,4,5,6);\	    }\	else\	    {\	    stack->receiveMblk = stack->receiveChain;\	    stack->receiveMblk->mBlkHdr.mData[0] = SIO_FRAME_FLAG;\	    stack->receiveMblk->mBlkHdr.mLen = 1;\	    stack->receiveMblk->mBlkHdr.mFlags &= ~M_PKTHDR;\	    stack->receiveMblk->mBlkPktHdr.len = 1;\	    }\	}#define SIO_SEND_NT_CLIENTSERVER_STRING(stack)\	{\	/* setup the string to send */\	\	bzero (stack->channelBuf, sizeof(stack->channelBuf));\	strcpy(stack->channelBuf, SIO_NT_CLIENTSERVER_STRING);\	\	/* start transmission */\	\	stack->nextSendIndex = 0;\	sioTxStartup(stack->pSioChan);\	}#define MODEM_READ_SEM_CREATE                                           \    if ((pModemData->modemReadSyncSem = semBCreate (SEM_Q_FIFO, SEM_EMPTY))\        == NULL)                                                        \        return (ERROR) #define MODEM_READ_SEM_DELETE                                           \    if ((pModemData->modemReadSyncSem) != NULL)                         \        semDelete (pModemData->modemReadSyncSem) #define MODEM_READ_SEM_GIVE                                             \    (semGive (pModemData->modemReadSyncSem)) /* typedefs */typedef struct sioAdptrParams    {    char * name;    PFW_PARAMETER_HANDLER handler;    } SIO_ADPTR_PARAMS;typedef struct sioProfileData    {    UINT32 channelNum;	/* serial channel number */    UINT32 baudRate;	/* baud rate to use on this channel */    UINT32 maxSendQSize;/* max outbound packets that we will queue */    UINT32 peerType;    /* WIN_SERVER, WIN_CLIENT, REGULAR */    }SIO_ADPTR_PROFILE_DATA;typedef struct modemData    {    char                        inBuf [MODEM_MAX_RX_STR_LEN];    char                        rspBuf [MODEM_MAX_RX_STR_LEN];    UINT                        inBufCount;    UINT                        rspBufCount;    UINT                        rspBufOffset;    char                        outBuf [MODEM_MAX_TX_STR_LEN];    UINT                        outBufCount;    UINT                        outBufLen;    SEM_ID                      modemReadSyncSem;    int				modemFlags;    } MODEM_DATA;typedef struct sioStackData    {    UINT32 channelNum;	  /* serial channel number */    SEM_ID channelSem;    /* channel access control */     UINT32 channelState;  /* state of channel */    UINT32 localMru;      /* receive MRU */    UINT32 remoteMru;     /* MTU */    UINT32 nextSendIndex; /* index to next octet to send */    UINT32 nextReceiveIndex;/* index to next octet to receive */    UINT   inputOctets;    /* octets received */    UINT   outputOctets;   /* octets sent     */    UINT   inputPackets;   /* packets received */    UINT   outputPackets;  /* packets sent */    char   channelBuf[16]; /* buffer for WinNT CLIENTSERVER string */    NET_POOL_ID netPoolId; /* netPool from which to allocate frames */    M_BLK_ID sendQHead;    /* Head of send Queue */    M_BLK_ID sendQTail;    /* Tail of send Queue */    UINT32   sendQSize;    /* Number of packets on send Queue */    BOOL     sendQFull;    /* when TRUE no packets are queued */    M_BLK_ID sendMblk;    /* current Mblk that we are sending */    M_BLK_ID receiveChain;/* head mBuf of frame we are currently receiving */    M_BLK_ID receiveMblk; /* mbuf in to which we are currenty receiving */    SIO_CHAN * pSioChan;  /* channel control structure */	    PFW_EVENT_OBJ * lcpUpEvent;     PFW_EVENT_OBJ * lcpOpen;  /* PPP connection open initiated */    PFW_EVENT_OBJ * lcpDown; /* PPP connection closed */    PFW_EVENT_OBJ * lcpClose; /* PPP administrative close */    PFW_EVENT_OBJ * txBlockedEvent;     PFW_EVENT_OBJ * txUnblockedEvent;     PFW_INTERFACE_STATE_PAIR pppLinkStatusInterface;    PFW_PLUGIN_OBJ_CALLBACKS * callbacks;/* framework add and delete callbacks*/    PFW_EVENT_OBJ *collectPppAttributesEvent;    MODEM_DATA	* pModemData;	/* modem data */    BOOL    lcpIsOpen;    UINT32  reTransmitClientString;    /* auxiliary variables aiding RFC 2233 counters's implementation */    int      pfwAuxIfId;    PFW_INTERFACE_STATE_PAIR pfwRFC2233CountPair;    BOOL     pfwRFC2233CountTest;    }SIO_ADPTR_STACK_DATA;typedef struct sioComponent    {    PFW_COMPONENT_OBJ component;     	/* SIO framework component */    SEM_ID sioAdptrMutex;         	/* channel Map access control */    PFW_PLUGIN_OBJ_STATE ** channelMap;	/* map of available/used channels */    PPP_MODEM_INTERFACE                             pppModemInterface;    ADAPTER_COMPONENT_STATISTICS_INTERFACE statisticsInterface;    PHY_PORT_INTERFACE phyPortInterface;    }SIO_ADPTR_COMPONENT;typedef STATUS (*SIO_FUNCPTR) (void *,...); /* for sioLib */LOCAL STATUS sioAdptrModemSend (PFW_PLUGIN_OBJ_STATE * state,                                SIO_ADPTR_STACK_DATA * pStackData,				UINT8 * pOctet);LOCAL STATUS sioAdptrModemReceive (SIO_ADPTR_STACK_DATA	* pStackData,				   UINT8 octet);LOCAL STATUS pppSioAdapterModemIoctl (PFW_PLUGIN_OBJ_STATE * pSioState, 				      int cmd, 				      int arg);LOCAL STATUS pppSioAdapterModemClose (PFW_PLUGIN_OBJ_STATE * pSioState);LOCAL STATUS pppSioAdapterModemOpen (PFW_PLUGIN_OBJ_STATE * pSioState);LOCAL STATUS sioAdapterModemFlush (PFW_PLUGIN_OBJ_STATE	* pSioState);LOCAL STATUS sioAdapterModemBringDown (PFW_PLUGIN_OBJ_STATE * pSioState);LOCAL STATUS sioAdapterModemBringUp (PFW_PLUGIN_OBJ_STATE * pSioState);LOCAL STATUS pppSioAdapterModemRead (PFW_PLUGIN_OBJ_STATE * pSioState, 				     char * rsp, 				     UINT rspLen, 				     UINT timeout);LOCAL STATUS pppSioAdapterModemWrite (PFW_PLUGIN_OBJ_STATE * pSioState, 				      char * cmd, 				      UINT cmdLen);LOCAL void sioAdapterInterfacesInit (SIO_ADPTR_COMPONENT * sioComponent);LOCAL STATUS sioInterfaceBind (PFW_PLUGIN_OBJ * pluginObj);typedef struct sioReceiveJob    {    PFW_PLUGIN_OBJ_STATE * state;    M_BLK_ID pMblk;    }SIO_RECEIVE_JOB;/* forward declarations */    /* parameter handlers */LOCAL STATUS sio_channelNum (PFW_OBJ *, PFW_PARAMETER_OPERATION_TYPE,void *,									char *);LOCAL STATUS sio_baudRate (PFW_OBJ *, PFW_PARAMETER_OPERATION_TYPE,void *,									char *);LOCAL STATUS sio_maxSendQSize (PFW_OBJ *, PFW_PARAMETER_OPERATION_TYPE,void *,									char *);LOCAL STATUS sio_peerType (PFW_OBJ *, PFW_PARAMETER_OPERATION_TYPE,void *,									char *);    /* component interfaces */LOCAL STATUS sioAdptrProfileDataConstruct (PFW_OBJ * ,void *);LOCAL STATUS sioAdptrStackDataConstruct (PFW_OBJ * ,void *stackData,						    void * profileData);LOCAL STATUS sioAdptrStackDataDestruct  (PFW_OBJ * ,void *stackData,						    void * profileData);LOCAL STATUS sioAdptrStackAdd(PFW_PLUGIN_OBJ_STATE *,PFW_PLUGIN_OBJ_CALLBACKS*);LOCAL STATUS sioAdptrStackDel(PFW_PLUGIN_OBJ_STATE *);LOCAL STATUS sioAdptrSend (PFW_PLUGIN_OBJ_STATE *, M_BLK_ID *);LOCAL STATUS sioAdptrStackDataShow (PFW_PLUGIN_OBJ_STATE *);    /* SIO callbacks */LOCAL STATUS sioAdptrSendOctet (void * state, char * octetBuf);LOCAL STATUS sioAdptrReceiveOctet (void * state, UINT8 data);    /* Event handler */LOCAL STATUS lcpOpenHandler (PFW_PLUGIN_OBJ_STATE *, void *eventData); LOCAL STATUS lcpDownHandler (PFW_PLUGIN_OBJ_STATE *, void *eventData); LOCAL STATUS lcpCloseHandler (PFW_PLUGIN_OBJ_STATE *, void *eventData);LOCAL STATUS lcpUpEventHandler (PFW_PLUGIN_OBJ_STATE *, void *eventData); LOCAL STATUS sioChannelIDConnectSpeedEventHandler    (    PFW_PLUGIN_OBJ_STATE * state,    void *eventData    );    /* misc */LOCAL void sioAdptrChannelAvailable (PFW_PLUGIN_OBJ_STATE *);LOCAL void sioAdptrFrameReceive (void *);LOCAL void sioAdptrRaiseTxUnblockedEvent (void *);LOCAL void sioAdptrStatisticsGet (PFW_PLUGIN_OBJ_STATE *,                                  UINT *, UINT *, UINT *, UINT *);LOCAL UINT sioAdptrPortNumberGet (PFW_PLUGIN_OBJ_STATE *);LOCAL UINT sioAdptrPortTypeGet  (PFW_PLUGIN_OBJ_STATE *);LOCAL void flushSioTransmitQueue (PFW_PLUGIN_OBJ_STATE *, void *eventData);LOCAL STATUS ntSerialClientStringSetup (PFW_PLUGIN_OBJ_STATE *,                                        void *eventData);/* locals *//* component configuration parameters */LOCAL SIO_ADPTR_PARAMS sioAdptrParams[]={{"sio_channelNum",sio_channelNum},					 {"sio_baudRate", sio_baudRate},					 {"sio_maxSendQSize", sio_maxSendQSize},					 {"sio_peerType", sio_peerType}};LOCAL int numSioAdptrParams = NELEMENTS (sioAdptrParams);/******************************************************************************** sioAdapterCreate - initialize and add the SIO adapter to the framework** This component faciliates PPP over SIO model serial drivers. The parameter* numSioChannels specifies the number of serial channel IDs that may be * obtained using sysSerialChanGet().*/STATUS sioAdapterCreate    (    PFW_OBJ * pfw,        	/* framework */    UINT32 numSioChannels    	/* number of channels */    )    {    int i = 0;    SIO_ADPTR_COMPONENT *pComponent;    PFW_PLUGIN_OBJ * sioAdptrPluginObj = NULL;    if (pfw == NULL || numSioChannels <= 0)	{	return ERROR;	}    /* allocate the component object */    if ( (pComponent = pfwMalloc(pfw,sizeof(SIO_ADPTR_COMPONENT))) == NULL)	return ERROR;    bzero((void *)pComponent,sizeof(SIO_ADPTR_COMPONENT));    if ((pComponent->sioAdptrMutex = semMCreate(SEM_Q_PRIORITY)) == NULL)	{	pfwFree(pComponent);	}    sioAdptrPluginObj = (PFW_PLUGIN_OBJ *)&(pComponent->component);    /* initialize our component object */    bzero(sioAdptrPluginObj->name, PFW_MAX_NAME_LENGTH);    strncpy(sioAdptrPluginObj->name,"SIO_ADAPTER",	    (PFW_MAX_NAME_LENGTH -1));    sioAdptrPluginObj->pfwObj = pfw;    sioAdptrPluginObj->profileDataSize = sizeof (SIO_ADPTR_PROFILE_DATA);    sioAdptrPluginObj->stackDataSize = sizeof (SIO_ADPTR_STACK_DATA);    sioAdptrPluginObj->profileDataConstruct = sioAdptrProfileDataConstruct;    sioAdptrPluginObj->profileDataCopy = NULL;    sioAdptrPluginObj->profileDataDestruct = NULL;    sioAdptrPluginObj->stackDataConstruct = sioAdptrStackDataConstruct;    sioAdptrPluginObj->stackDataDestruct = sioAdptrStackDataDestruct;    sioAdptrPluginObj->receive = NULL;    sioAdptrPluginObj->send = sioAdptrSend;    sioAdptrPluginObj->stackAdd = sioAdptrStackAdd;    sioAdptrPluginObj->stackDelete = sioAdptrStackDel;    sioAdptrPluginObj->stackDataShow = sioAdptrStackDataShow;    sioAdptrPluginObj->interfaceBind = sioInterfaceBind;    pComponent->component.protocol = 0;    pComponent->component.layerObj = pfwLayerObjGet(pfw, "ADAPTER_LAYER");    /* register this component with the framework */    if (pfwComponentAdd (&pComponent->component) == ERROR)        {        logMsg ("sioAdpterCreate: Could not add SIO ADAPTER component\n",                 1,2,3,4,5,6);        semDelete (pComponent->sioAdptrMutex);        pfwFree (pComponent);        return (ERROR);        }    /* add our parameters to the framework */    for (i = 0; i < numSioAdptrParams ; i++)

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一级日韩免费不卡| 欧洲一区二区三区免费视频| 久久伊人蜜桃av一区二区| 久久国内精品视频| 精品国产91亚洲一区二区三区婷婷| 蜜桃视频一区二区三区在线观看| 日韩精品自拍偷拍| 国产精品99久久久久久久vr | 精品国产免费人成电影在线观看四季 | 日韩精品在线网站| 国产精品夜夜爽| 1024成人网色www| 在线免费av一区| 日韩高清不卡在线| 精品国产乱码久久久久久浪潮 | 欧美一区二区三区在线观看| 激情综合色综合久久综合| 国产日本一区二区| 色婷婷亚洲婷婷| 日韩中文欧美在线| 久久九九99视频| 91视频在线看| 日韩精品高清不卡| 国产欧美日韩不卡免费| 色综合久久久久久久久| 日本欧美加勒比视频| 久久久久久亚洲综合| 色综合天天视频在线观看| 日韩在线卡一卡二| 国产欧美精品在线观看| 欧美伊人久久大香线蕉综合69| 日本vs亚洲vs韩国一区三区二区| 亚洲精品一区二区三区在线观看| 99久久精品国产毛片| 日韩和欧美的一区| 国产精品无码永久免费888| 欧美少妇xxx| 国产一区福利在线| 一区二区国产视频| 亚洲精品在线观看视频| 91美女视频网站| 久久成人久久鬼色| 亚洲精品va在线观看| 精品国产乱码久久久久久1区2区 | 韩日精品视频一区| 国产精品美女久久久久久久久 | 国产麻豆精品一区二区| 亚洲一区视频在线| 久久久美女艺术照精彩视频福利播放| 91亚洲精华国产精华精华液| 日韩福利电影在线| 自拍偷拍欧美精品| 日韩久久久久久| 在线观看国产91| 国产精品1024| 日韩高清在线一区| 国产精品久久久久久久久晋中| 91精品国产乱码久久蜜臀| 成人av网站免费观看| 秋霞av亚洲一区二区三| 亚洲欧美福利一区二区| 久久久久久久久久美女| 欧美精品xxxxbbbb| 91香蕉视频mp4| 国产一区二区三区在线观看免费视频 | 久久国产婷婷国产香蕉| 一级日本不卡的影视| 2021中文字幕一区亚洲| 欧美在线播放高清精品| 精品在线观看免费| 五月婷婷激情综合| 亚洲精品视频观看| 国产午夜精品一区二区| 日韩一区二区三免费高清| 91麻豆蜜桃一区二区三区| 国产伦精品一区二区三区在线观看| 五月婷婷另类国产| 一区二区欧美精品| 国产精品久久久久精k8| 欧美不卡视频一区| 欧美精选一区二区| 欧美在线免费视屏| 成人激情开心网| 国产一区视频导航| 久色婷婷小香蕉久久| 亚洲一区二区av在线| **性色生活片久久毛片| 欧美草草影院在线视频| 欧美美女直播网站| 色欲综合视频天天天| www.色精品| 成人精品视频一区二区三区| 国产乱理伦片在线观看夜一区| 美女性感视频久久| 天堂久久一区二区三区| 亚洲一区二区黄色| 亚洲一区日韩精品中文字幕| 亚洲青青青在线视频| 亚洲欧洲精品成人久久奇米网| 久久久99久久| 久久久噜噜噜久噜久久综合| 久久免费视频色| 欧美成人vps| 精品国产伦一区二区三区免费| 日韩欧美国产三级电影视频| 欧美一区国产二区| 欧美一级生活片| 精品国产乱子伦一区| 久久久三级国产网站| 国产色91在线| 国产亚洲视频系列| 国产色产综合产在线视频| 欧美极品少妇xxxxⅹ高跟鞋| 精品国产乱码久久久久久久久| 日韩欧美中文字幕公布| 日韩女优毛片在线| 精品久久久久香蕉网| 久久奇米777| 国产午夜亚洲精品不卡| 欧美激情资源网| 国产日韩欧美a| 国产欧美日韩精品a在线观看| 国产欧美日韩一区二区三区在线观看| 久久精品视频免费| 中文字幕av一区二区三区免费看| 国产女主播一区| 中文字幕人成不卡一区| 亚洲激情网站免费观看| 亚洲精品美国一| 亚洲午夜激情av| 日韩电影在线观看电影| 六月婷婷色综合| 免费成人在线播放| 激情综合网最新| 北条麻妃一区二区三区| 91成人免费网站| 91精品国产综合久久久久| 精品日韩一区二区三区| 久久久国产午夜精品| 国产精品久久毛片a| 18成人在线观看| 午夜久久久影院| 狠狠色狠狠色综合| aaa亚洲精品| 欧美丝袜丝nylons| 欧美一区二区三区日韩| 久久亚洲免费视频| 亚洲欧美影音先锋| 亚洲第一成年网| 美女www一区二区| 国产真实乱子伦精品视频| www.欧美.com| 欧美日韩国产综合视频在线观看| 日韩三级av在线播放| 中文字幕av一区二区三区高| 亚洲大片在线观看| 狠狠色综合播放一区二区| 91蜜桃免费观看视频| 欧美一区二区福利在线| 国产亚洲精品7777| 亚洲精品久久久蜜桃| 日本欧美肥老太交大片| 成人免费看的视频| 欧美日韩久久久| 欧美va天堂va视频va在线| 国产精品二区一区二区aⅴ污介绍| 一卡二卡三卡日韩欧美| 久久超碰97中文字幕| 成人午夜视频网站| 欧美猛男男办公室激情| 国产精品色呦呦| 三级久久三级久久| 99亚偷拍自图区亚洲| 91精品国产欧美一区二区18| 中文字幕亚洲成人| 久久精品免费观看| 色哟哟国产精品| 日韩一区二区在线观看视频播放| 国产精品理伦片| 蜜桃av一区二区在线观看| aaa欧美色吧激情视频| 日韩精品一区在线| 曰韩精品一区二区| 国产综合色视频| 欧美视频三区在线播放| 欧美国产日韩精品免费观看| 亚洲国产aⅴ成人精品无吗| 国产·精品毛片| 欧美一区二区久久| 一区二区三区四区av| 国产精品一卡二| 91麻豆精品国产自产在线观看一区 | 色狠狠综合天天综合综合| xf在线a精品一区二区视频网站| 亚洲最大成人网4388xx| 国产成人aaa| 日韩精品一区二区三区中文精品| 亚洲一区二区三区在线看| 国产mv日韩mv欧美| 日韩精品一区二区三区在线播放|